some updates

This commit is contained in:
Robin Appelman 2024-01-16 22:14:51 +01:00
commit 93a015e163
13 changed files with 1072 additions and 606 deletions

View file

@ -0,0 +1,64 @@
{
"db_name": "PostgreSQL",
"query": "SELECT\n max(players.id) as \"id!\", max(players.name) as \"name!\", max(team) as \"team!: Team\", max(class) as \"class!: Class\",\n max(kills) as \"kills\", max(deaths) as \"deaths\", max(assists) as \"assists\", max(steamid) as \"steam_id!: SteamId\"\n FROM players\n INNER JOIN users ON user_id = users.id \n WHERE demo_id = $1\n GROUP BY user_id",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id!",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name!",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "team!: Team",
"type_info": "Text"
},
{
"ordinal": 3,
"name": "class!: Class",
"type_info": "Text"
},
{
"ordinal": 4,
"name": "kills",
"type_info": "Int4"
},
{
"ordinal": 5,
"name": "deaths",
"type_info": "Int4"
},
{
"ordinal": 6,
"name": "assists",
"type_info": "Int4"
},
{
"ordinal": 7,
"name": "steam_id!: SteamId",
"type_info": "Text"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
null,
null,
null,
null,
null,
null,
null,
null
]
},
"hash": "047f7ac22872178be671d3994baec9116658520f0ff83d09ae8321ac096b28de"
}

View file

@ -0,0 +1,68 @@
{
"db_name": "PostgreSQL",
"query": "SELECT\n id, name, map, red, blu, duration, created_at, server, \"playerCount\" as player_count\n FROM demos WHERE deleted_at IS NULL ORDER BY id DESC LIMIT 50",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Varchar"
},
{
"ordinal": 2,
"name": "map",
"type_info": "Varchar"
},
{
"ordinal": 3,
"name": "red",
"type_info": "Varchar"
},
{
"ordinal": 4,
"name": "blu",
"type_info": "Varchar"
},
{
"ordinal": 5,
"name": "duration",
"type_info": "Int4"
},
{
"ordinal": 6,
"name": "created_at",
"type_info": "Timestamp"
},
{
"ordinal": 7,
"name": "server",
"type_info": "Varchar"
},
{
"ordinal": 8,
"name": "player_count",
"type_info": "Int4"
}
],
"parameters": {
"Left": []
},
"nullable": [
false,
false,
false,
false,
false,
false,
false,
false,
false
]
},
"hash": "05e9dfee9d5ee8ea3bd13d7433ba0ba39ed00ab0ffb0c3fc9021921382be00bd"
}

View file

@ -0,0 +1,28 @@
{
"db_name": "PostgreSQL",
"query": "SELECT\n token as \"token!\", name as \"name!\"\n FROM users WHERE steamid = $1",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token!",
"type_info": "Varchar"
},
{
"ordinal": 1,
"name": "name!",
"type_info": "Varchar"
}
],
"parameters": {
"Left": [
"Text"
]
},
"nullable": [
false,
false
]
},
"hash": "44fdd79c15ce83bff64db5558711a40d097ff41c029e096f29138a1d5bbc8762"
}

View file

@ -0,0 +1,34 @@
{
"db_name": "PostgreSQL",
"query": "SELECT\n \"from\", text, time\n FROM chat\n WHERE demo_id = $1\n ORDER BY time ASC",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "from",
"type_info": "Varchar"
},
{
"ordinal": 1,
"name": "text",
"type_info": "Varchar"
},
{
"ordinal": 2,
"name": "time",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false
]
},
"hash": "4c62efff159fa311007f71db061e4eeb040c79977f0c452065d5361fb134b0d3"
}

View file

@ -0,0 +1,17 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO users(steamid, name, avatar, token)\n VALUES($1, $2, $3, $4)",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Varchar",
"Varchar",
"Varchar",
"Varchar"
]
},
"nullable": []
},
"hash": "4d5444cde6681e6f5a537445c7c132bd3da6ee374fe9dcbaf478668a6f08214b"
}

View file

@ -0,0 +1,28 @@
{
"db_name": "PostgreSQL",
"query": "SELECT\n token as \"token!\", name as \"name!\"\n FROM users_named WHERE steamid = $1",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token!",
"type_info": "Text"
},
{
"ordinal": 1,
"name": "name!",
"type_info": "Text"
}
],
"parameters": {
"Left": [
"Text"
]
},
"nullable": [
true,
true
]
},
"hash": "5073fab60c719e464b592393d94372067be0ea36e4a1d138646f496b8cad56c7"
}

View file

@ -0,0 +1,118 @@
{
"db_name": "PostgreSQL",
"query": "SELECT\n demos.id, demos.name, url, map, red, blu, uploader, duration, demos.created_at,\n \"scoreRed\" as score_red, \"scoreBlue\" as score_blue, server, nick,\n \"playerCount\" as player_count,\n users_named.name as uploader_name_preferred,\n users.steamid as \"uploader_steam_id?: SteamId\",\n users.name as \"uploader_name?\"\n FROM demos\n LEFT JOIN users_named ON uploader = users_named.id\n LEFT JOIN users ON uploader = users.id\n WHERE deleted_at IS NULL AND demos.id = $1",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
},
{
"ordinal": 1,
"name": "name",
"type_info": "Varchar"
},
{
"ordinal": 2,
"name": "url",
"type_info": "Varchar"
},
{
"ordinal": 3,
"name": "map",
"type_info": "Varchar"
},
{
"ordinal": 4,
"name": "red",
"type_info": "Varchar"
},
{
"ordinal": 5,
"name": "blu",
"type_info": "Varchar"
},
{
"ordinal": 6,
"name": "uploader",
"type_info": "Int4"
},
{
"ordinal": 7,
"name": "duration",
"type_info": "Int4"
},
{
"ordinal": 8,
"name": "created_at",
"type_info": "Timestamp"
},
{
"ordinal": 9,
"name": "score_red",
"type_info": "Int4"
},
{
"ordinal": 10,
"name": "score_blue",
"type_info": "Int4"
},
{
"ordinal": 11,
"name": "server",
"type_info": "Varchar"
},
{
"ordinal": 12,
"name": "nick",
"type_info": "Varchar"
},
{
"ordinal": 13,
"name": "player_count",
"type_info": "Int4"
},
{
"ordinal": 14,
"name": "uploader_name_preferred",
"type_info": "Text"
},
{
"ordinal": 15,
"name": "uploader_steam_id?: SteamId",
"type_info": "Varchar"
},
{
"ordinal": 16,
"name": "uploader_name?",
"type_info": "Varchar"
}
],
"parameters": {
"Left": [
"Int4"
]
},
"nullable": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
true,
false,
false
]
},
"hash": "68e8265e13596ad6de3e3d346b6d2fb62a68eda3e98f690e7e8d954627d8025c"
}

View file

@ -0,0 +1,20 @@
{
"db_name": "PostgreSQL",
"query": "SELECT\n map as \"map!\"\n FROM map_list\n ORDER BY count DESC LIMIT 50",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "map!",
"type_info": "Text"
}
],
"parameters": {
"Left": []
},
"nullable": [
true
]
},
"hash": "af217d7d86c606e4d76bd0c79a2551ed5d423b3900cb1d6d8b0fe3789414eb27"
}

849
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -7,10 +7,10 @@ edition = "2021"
tracing = "0.1.37" tracing = "0.1.37"
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] } tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }
serde = { version = "1.0.159", features = ["derive"] } serde = { version = "1.0.159", features = ["derive"] }
toml = "0.7.3" toml = "0.8.8"
sqlx = { version = "0.6.3", features = ["postgres", "time", "runtime-tokio-rustls", "offline"] } sqlx = { version = "0.7.3", features = ["postgres", "time", "runtime-tokio-rustls"] }
sea-query = { version = "0.28.4", features = ["backend-postgres", "with-time", "derive"] } sea-query = { version = "0.30.7", features = ["backend-postgres", "with-time", "derive"] }
sea-query-binder = { version = "0.3.0", features = ["with-time", "sqlx-postgres"] } sea-query-binder = { version = "0.5.0", features = ["with-time", "sqlx-postgres"] }
thiserror = "1.0.40" thiserror = "1.0.40"
tokio = { version = "1.27.0", features = ["full"] } tokio = { version = "1.27.0", features = ["full"] }
config = { version = "0.13.3", features = ["toml"] } config = { version = "0.13.3", features = ["toml"] }
@ -21,13 +21,13 @@ hyper = "0.14.25"
hyperlocal = "0.8.0" hyperlocal = "0.8.0"
tower-http = { version = "0.4.0", features = ["trace", "fs"] } tower-http = { version = "0.4.0", features = ["trace", "fs"] }
steamid-ng = "1.0.0" steamid-ng = "1.0.0"
itertools = "0.10.5" itertools = "0.12.0"
const-fnv1a-hash = "1.1.0" const-fnv1a-hash = "1.1.0"
const_base = "0.2.0" const_base = "0.2.0"
const-str = "0.5.4" const-str = "0.5.4"
steam-openid = "0.2.0" steam-openid = "0.2.0"
async-session = "3.0.0" async-session = "3.0.0"
quick-xml = { version = "0.28.1", features = ["serialize"] } quick-xml = { version = "0.31.0", features = ["serialize"] }
reqwest = "0.11.16" reqwest = "0.11.16"
rand = "0.8.5" rand = "0.8.5"
demostf-build = { path = "./build", version = "*" } demostf-build = { path = "./build", version = "*" }

70
flake.lock generated
View file

@ -1,12 +1,15 @@
{ {
"nodes": { "nodes": {
"flake-utils": { "flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": { "locked": {
"lastModified": 1659877975, "lastModified": 1681202837,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "rev": "cfacdce06f30d2b68473a46042957675eebb3401",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -37,26 +40,26 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1680702941, "lastModified": 1705433086,
"narHash": "sha256-PoAyluKZLK4ijnZlLVNRZXALybhM9fi0XBHNa3zUTmU=", "narHash": "sha256-adW6rAZilF2FfwAJeDF57MkTwyL0IqE2vErwWVhPo7o=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7acbf73b4759c9b8891f8710a36a1e3a93021e33", "rev": "2dfede2029cd112f93ab1a354237fa1758e75c83",
"type": "github" "type": "github"
}, },
"original": { "original": {
"id": "nixpkgs", "id": "nixpkgs",
"ref": "release-22.11", "ref": "release-23.11",
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1665296151, "lastModified": 1681358109,
"narHash": "sha256-uOB0oxqxN9K7XGF1hcnY+PQnlQJ+3bP2vCn/+Ru/bbc=", "narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "14ccaaedd95a488dd7ae142757884d8e125b3363", "rev": "96ba1c52e54e74c3197f4d43026b3f3d92e83ff9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -97,11 +100,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1680660688, "lastModified": 1705371439,
"narHash": "sha256-XeQTCxWBR0Ai1VMzI5ZXYpA2lu1F8FzZKjw8RtByZOg=", "narHash": "sha256-P1kulUXpYWkcrjiX3sV4j8ACJZh9XXSaaD+jDLBDLKo=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "2f40052be98347b479c820c00fb2fc1d87b3aa28", "rev": "b21f3c0d5bf0f0179f5f0140e8e0cd099618bd04",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -110,13 +113,46 @@
"type": "github" "type": "github"
} }
}, },
"utils": { "systems": {
"locked": { "locked": {
"lastModified": 1678901627, "lastModified": 1681028828,
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -1,7 +1,7 @@
{ {
inputs = { inputs = {
utils.url = "github:numtide/flake-utils"; utils.url = "github:numtide/flake-utils";
nixpkgs.url = "nixpkgs/release-22.11"; nixpkgs.url = "nixpkgs/release-23.11";
rust-overlay.url = "github:oxalica/rust-overlay"; rust-overlay.url = "github:oxalica/rust-overlay";
naersk.url = "github:nix-community/naersk"; naersk.url = "github:nix-community/naersk";
naersk.inputs.nixpkgs.follows = "nixpkgs"; naersk.inputs.nixpkgs.follows = "nixpkgs";
@ -21,17 +21,18 @@
overlays = [ overlays = [
(import rust-overlay) (import rust-overlay)
(final: prev: { (final: prev: {
npmlock2nix = import npmlock2nix {pkgs = final;}; npmlock2nix = final.callPackage npmlock2nix {};
}) })
]; ];
pkgs = (import nixpkgs) { pkgs = (import nixpkgs) {
inherit system overlays; inherit system overlays;
}; };
inherit (pkgs) lib callPackage dockerTools; inherit (pkgs) lib callPackage dockerTools;
inherit (lib.sources) sourceByRegex;
src = lib.sources.sourceByRegex ./. ["Cargo.*" "(src|build|images|script|style)(/.*)?" "sqlx-data.json"]; src = sourceByRegex ./. ["Cargo.*" "(src|build|images|script|style|.sqlx)(/.*)?"];
nodeSrc = lib.sources.sourceByRegex ./. ["package.*"]; nodeSrc = sourceByRegex ./. ["package.*"];
toolchain = pkgs.rust-bin.nightly."2023-03-31".default; toolchain = pkgs.rust-bin.nightly."2024-01-16".default;
naersk' = callPackage naersk { naersk' = callPackage naersk {
rustc = toolchain; rustc = toolchain;
@ -41,6 +42,7 @@
packages = rec { packages = rec {
node_modules = pkgs.npmlock2nix.v2.node_modules { node_modules = pkgs.npmlock2nix.v2.node_modules {
src = nodeSrc; src = nodeSrc;
nodejs = pkgs.nodejs_20;
}; };
frontend = naersk'.buildPackage { frontend = naersk'.buildPackage {
pname = "demostf-frontend"; pname = "demostf-frontend";

View file

@ -1,364 +0,0 @@
{
"db": "PostgreSQL",
"047f7ac22872178be671d3994baec9116658520f0ff83d09ae8321ac096b28de": {
"describe": {
"columns": [
{
"name": "id!",
"ordinal": 0,
"type_info": "Int4"
},
{
"name": "name!",
"ordinal": 1,
"type_info": "Text"
},
{
"name": "team!: Team",
"ordinal": 2,
"type_info": "Text"
},
{
"name": "class!: Class",
"ordinal": 3,
"type_info": "Text"
},
{
"name": "kills",
"ordinal": 4,
"type_info": "Int4"
},
{
"name": "deaths",
"ordinal": 5,
"type_info": "Int4"
},
{
"name": "assists",
"ordinal": 6,
"type_info": "Int4"
},
{
"name": "steam_id!: SteamId",
"ordinal": 7,
"type_info": "Text"
}
],
"nullable": [
null,
null,
null,
null,
null,
null,
null,
null
],
"parameters": {
"Left": [
"Int4"
]
}
},
"query": "SELECT\n max(players.id) as \"id!\", max(players.name) as \"name!\", max(team) as \"team!: Team\", max(class) as \"class!: Class\",\n max(kills) as \"kills\", max(deaths) as \"deaths\", max(assists) as \"assists\", max(steamid) as \"steam_id!: SteamId\"\n FROM players\n INNER JOIN users ON user_id = users.id \n WHERE demo_id = $1\n GROUP BY user_id"
},
"05e9dfee9d5ee8ea3bd13d7433ba0ba39ed00ab0ffb0c3fc9021921382be00bd": {
"describe": {
"columns": [
{
"name": "id",
"ordinal": 0,
"type_info": "Int4"
},
{
"name": "name",
"ordinal": 1,
"type_info": "Varchar"
},
{
"name": "map",
"ordinal": 2,
"type_info": "Varchar"
},
{
"name": "red",
"ordinal": 3,
"type_info": "Varchar"
},
{
"name": "blu",
"ordinal": 4,
"type_info": "Varchar"
},
{
"name": "duration",
"ordinal": 5,
"type_info": "Int4"
},
{
"name": "created_at",
"ordinal": 6,
"type_info": "Timestamp"
},
{
"name": "server",
"ordinal": 7,
"type_info": "Varchar"
},
{
"name": "player_count",
"ordinal": 8,
"type_info": "Int4"
}
],
"nullable": [
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"parameters": {
"Left": []
}
},
"query": "SELECT\n id, name, map, red, blu, duration, created_at, server, \"playerCount\" as player_count\n FROM demos WHERE deleted_at IS NULL ORDER BY id DESC LIMIT 50"
},
"44fdd79c15ce83bff64db5558711a40d097ff41c029e096f29138a1d5bbc8762": {
"describe": {
"columns": [
{
"name": "token!",
"ordinal": 0,
"type_info": "Varchar"
},
{
"name": "name!",
"ordinal": 1,
"type_info": "Varchar"
}
],
"nullable": [
false,
false
],
"parameters": {
"Left": [
"Text"
]
}
},
"query": "SELECT\n token as \"token!\", name as \"name!\"\n FROM users WHERE steamid = $1"
},
"4c62efff159fa311007f71db061e4eeb040c79977f0c452065d5361fb134b0d3": {
"describe": {
"columns": [
{
"name": "from",
"ordinal": 0,
"type_info": "Varchar"
},
{
"name": "text",
"ordinal": 1,
"type_info": "Varchar"
},
{
"name": "time",
"ordinal": 2,
"type_info": "Int4"
}
],
"nullable": [
false,
false,
false
],
"parameters": {
"Left": [
"Int4"
]
}
},
"query": "SELECT\n \"from\", text, time\n FROM chat\n WHERE demo_id = $1\n ORDER BY time ASC"
},
"4d5444cde6681e6f5a537445c7c132bd3da6ee374fe9dcbaf478668a6f08214b": {
"describe": {
"columns": [],
"nullable": [],
"parameters": {
"Left": [
"Varchar",
"Varchar",
"Varchar",
"Varchar"
]
}
},
"query": "INSERT INTO users(steamid, name, avatar, token)\n VALUES($1, $2, $3, $4)"
},
"5073fab60c719e464b592393d94372067be0ea36e4a1d138646f496b8cad56c7": {
"describe": {
"columns": [
{
"name": "token!",
"ordinal": 0,
"type_info": "Text"
},
{
"name": "name!",
"ordinal": 1,
"type_info": "Text"
}
],
"nullable": [
true,
true
],
"parameters": {
"Left": [
"Text"
]
}
},
"query": "SELECT\n token as \"token!\", name as \"name!\"\n FROM users_named WHERE steamid = $1"
},
"68e8265e13596ad6de3e3d346b6d2fb62a68eda3e98f690e7e8d954627d8025c": {
"describe": {
"columns": [
{
"name": "id",
"ordinal": 0,
"type_info": "Int4"
},
{
"name": "name",
"ordinal": 1,
"type_info": "Varchar"
},
{
"name": "url",
"ordinal": 2,
"type_info": "Varchar"
},
{
"name": "map",
"ordinal": 3,
"type_info": "Varchar"
},
{
"name": "red",
"ordinal": 4,
"type_info": "Varchar"
},
{
"name": "blu",
"ordinal": 5,
"type_info": "Varchar"
},
{
"name": "uploader",
"ordinal": 6,
"type_info": "Int4"
},
{
"name": "duration",
"ordinal": 7,
"type_info": "Int4"
},
{
"name": "created_at",
"ordinal": 8,
"type_info": "Timestamp"
},
{
"name": "score_red",
"ordinal": 9,
"type_info": "Int4"
},
{
"name": "score_blue",
"ordinal": 10,
"type_info": "Int4"
},
{
"name": "server",
"ordinal": 11,
"type_info": "Varchar"
},
{
"name": "nick",
"ordinal": 12,
"type_info": "Varchar"
},
{
"name": "player_count",
"ordinal": 13,
"type_info": "Int4"
},
{
"name": "uploader_name_preferred",
"ordinal": 14,
"type_info": "Text"
},
{
"name": "uploader_steam_id?: SteamId",
"ordinal": 15,
"type_info": "Varchar"
},
{
"name": "uploader_name?",
"ordinal": 16,
"type_info": "Varchar"
}
],
"nullable": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
true,
false,
false
],
"parameters": {
"Left": [
"Int4"
]
}
},
"query": "SELECT\n demos.id, demos.name, url, map, red, blu, uploader, duration, demos.created_at,\n \"scoreRed\" as score_red, \"scoreBlue\" as score_blue, server, nick,\n \"playerCount\" as player_count,\n users_named.name as uploader_name_preferred,\n users.steamid as \"uploader_steam_id?: SteamId\",\n users.name as \"uploader_name?\"\n FROM demos\n LEFT JOIN users_named ON uploader = users_named.id\n LEFT JOIN users ON uploader = users.id\n WHERE deleted_at IS NULL AND demos.id = $1"
},
"af217d7d86c606e4d76bd0c79a2551ed5d423b3900cb1d6d8b0fe3789414eb27": {
"describe": {
"columns": [
{
"name": "map!",
"ordinal": 0,
"type_info": "Text"
}
],
"nullable": [
true
],
"parameters": {
"Left": []
}
},
"query": "SELECT\n map as \"map!\"\n FROM map_list\n ORDER BY count DESC LIMIT 50"
}
}