gauntlets
This commit is contained in:
parent
6285395adb
commit
d99741d10d
|
@ -0,0 +1,14 @@
|
|||
-- +migrate up
|
||||
CREATE TABLE gauntlets (
|
||||
id SERIAL PRIMARY KEY
|
||||
);
|
||||
|
||||
CREATE TABLE gauntlet_links (
|
||||
idx INTEGER NOT NULL DEFAULT 0, -- solely for ordering purposes
|
||||
gauntlet_id INTEGER NOT NULL REFERENCES gauntlets(id),
|
||||
level_id INTEGER NOT NULL REFERENCES levels(id)
|
||||
);
|
||||
|
||||
-- +migrate down
|
||||
DROP TABLE gauntlets;
|
||||
DROP TABLE gauntlet_links;
|
|
@ -75,7 +75,9 @@ CrystalGauntlet.endpoints["/getGJLevels21.php"] = ->(context : HTTP::Server::Con
|
|||
queryParams << "levels.stars is null"
|
||||
end
|
||||
if params["gauntlet"]?
|
||||
# todo
|
||||
order = "gauntlet_links.idx asc"
|
||||
joins << "left join gauntlet_links on gauntlet_links.level_id = levels.id"
|
||||
queryParams << "gauntlet_id = #{params["gauntlet"].to_i}"
|
||||
end
|
||||
if params["len"]?
|
||||
# todo
|
||||
|
@ -108,7 +110,7 @@ CrystalGauntlet.endpoints["/getGJLevels21.php"] = ->(context : HTTP::Server::Con
|
|||
end
|
||||
|
||||
# level search type
|
||||
case params["type"]
|
||||
case params["type"]?
|
||||
when "0", "15", nil # default sort (gdw is 15)
|
||||
order = "likes desc"
|
||||
when "1" # most downloaded
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
require "uri"
|
||||
|
||||
include CrystalGauntlet
|
||||
|
||||
mappacks_per_page = 10
|
||||
|
||||
CrystalGauntlet.endpoints["/getGJGauntlets21.php"] = ->(context : HTTP::Server::Context): String {
|
||||
params = URI::Params.parse(context.request.body.not_nil!.gets_to_end)
|
||||
LOG.debug { params.inspect }
|
||||
|
||||
gauntlets = [] of String
|
||||
checksum_str = [] of String
|
||||
|
||||
DATABASE.query_all("select id from gauntlets", as: {Int32}).each() do |id|
|
||||
levels = DATABASE.query_all("select level_id from gauntlet_links where gauntlet_id = ? order by idx", id, as: {Int32}).join(",")
|
||||
gauntlets << Format.fmt_hash({
|
||||
1 => id,
|
||||
3 => levels
|
||||
})
|
||||
checksum_str << (id.to_s + levels)
|
||||
end
|
||||
|
||||
return gauntlets.join("|") + "#" + Hashes.gen_solo_2(checksum_str.join(""))
|
||||
}
|
Loading…
Reference in New Issue