mirror of
https://codeberg.org/demostf/frontend.git
synced 2026-06-03 18:24:12 +02:00
flake build
This commit is contained in:
parent
189788a1b6
commit
30edb6c71a
5 changed files with 449 additions and 6 deletions
6
Cargo.lock
generated
6
Cargo.lock
generated
|
|
@ -926,6 +926,9 @@ name = "either"
|
|||
version = "1.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encoding_rs"
|
||||
|
|
@ -3332,9 +3335,12 @@ dependencies = [
|
|||
"dotenvy",
|
||||
"either",
|
||||
"heck",
|
||||
"hex",
|
||||
"once_cell",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"sha2 0.10.6",
|
||||
"sqlx-core",
|
||||
"sqlx-rt",
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ tracing = "0.1.37"
|
|||
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }
|
||||
serde = { version = "1.0.159", features = ["derive"] }
|
||||
toml = "0.7.3"
|
||||
sqlx = { version = "0.6.3", features = ["postgres", "time", "runtime-tokio-rustls"] }
|
||||
sqlx = { version = "0.6.3", features = ["postgres", "time", "runtime-tokio-rustls", "offline"] }
|
||||
sea-query = { version = "0.28.4", features = ["backend-postgres", "with-time", "derive"] }
|
||||
sea-query-binder = { version = "0.3.0", features = ["with-time", "sqlx-postgres"] }
|
||||
thiserror = "1.0.40"
|
||||
|
|
|
|||
38
flake.lock
generated
38
flake.lock
generated
|
|
@ -15,6 +15,26 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1698420672,
|
||||
"narHash": "sha256-/TdeHMPRjjdJub7p7+w55vyABrsJlt5QkznPYy55vKA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"rev": "aeb58d5e8faead8980a807c840232697982d47b9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1680702941,
|
||||
|
|
@ -46,9 +66,27 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"npmlock2nix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673447413,
|
||||
"narHash": "sha256-sJM82Sj8yfQYs9axEmGZ9Evzdv/kDcI9sddqJ45frrU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "npmlock2nix",
|
||||
"rev": "9197bbf397d76059a76310523d45df10d2e4ca81",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "npmlock2nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"naersk": "naersk",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"npmlock2nix": "npmlock2nix",
|
||||
"rust-overlay": "rust-overlay",
|
||||
"utils": "utils"
|
||||
}
|
||||
|
|
|
|||
43
flake.nix
43
flake.nix
|
|
@ -3,6 +3,10 @@
|
|||
utils.url = "github:numtide/flake-utils";
|
||||
nixpkgs.url = "nixpkgs/release-22.11";
|
||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||
naersk.url = "github:nix-community/naersk";
|
||||
naersk.inputs.nixpkgs.follows = "nixpkgs";
|
||||
npmlock2nix.url = "github:nix-community/npmlock2nix";
|
||||
npmlock2nix.flake = false;
|
||||
};
|
||||
|
||||
outputs = {
|
||||
|
|
@ -10,19 +14,49 @@
|
|||
nixpkgs,
|
||||
utils,
|
||||
rust-overlay,
|
||||
naersk,
|
||||
npmlock2nix,
|
||||
}:
|
||||
utils.lib.eachDefaultSystem (system: let
|
||||
overlays = [ (import rust-overlay) ];
|
||||
overlays = [
|
||||
(import rust-overlay)
|
||||
(final: prev: {
|
||||
npmlock2nix = import npmlock2nix {pkgs = final;};
|
||||
})
|
||||
];
|
||||
pkgs = (import nixpkgs) {
|
||||
inherit system overlays;
|
||||
};
|
||||
inherit (pkgs) lib callPackage;
|
||||
|
||||
src = lib.sources.sourceByRegex ./. ["Cargo.*" "(src|build|images|script|style)(/.*)?" "sqlx-data.json"];
|
||||
nodeSrc = lib.sources.sourceByRegex ./. ["package.*"];
|
||||
toolchain = pkgs.rust-bin.nightly."2023-03-31".default;
|
||||
|
||||
naersk' = callPackage naersk {
|
||||
rustc = toolchain;
|
||||
cargo = toolchain;
|
||||
};
|
||||
in rec {
|
||||
# `nix develop`
|
||||
devShell = pkgs.mkShell {
|
||||
packages = rec {
|
||||
node_modules = pkgs.npmlock2nix.v2.node_modules {
|
||||
src = nodeSrc;
|
||||
};
|
||||
frontend = naersk'.buildPackage {
|
||||
pname = "demostf-frontend";
|
||||
root = src;
|
||||
|
||||
preBuild = ''
|
||||
ln -s ${node_modules}/node_modules .
|
||||
'';
|
||||
nativeBuildInputs = with pkgs; [pkg-config openssl];
|
||||
};
|
||||
};
|
||||
devShells.default = pkgs.mkShell {
|
||||
OPENSSL_NO_VENDOR = 1;
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
rust-bin.nightly."2023-03-31".default
|
||||
toolchain
|
||||
bacon
|
||||
cargo-edit
|
||||
cargo-outdated
|
||||
|
|
@ -34,6 +68,7 @@
|
|||
nodejs
|
||||
nodePackages.svgo
|
||||
typescript
|
||||
sqlx-cli
|
||||
];
|
||||
};
|
||||
});
|
||||
|
|
|
|||
364
sqlx-data.json
Normal file
364
sqlx-data.json
Normal file
|
|
@ -0,0 +1,364 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue