From 8a2f3b0611f9cc95d68b5bc75bcd9189b89f72c3 Mon Sep 17 00:00:00 2001 From: Glubus Date: Thu, 18 Sep 2025 23:24:53 +0200 Subject: [PATCH 1/8] fix: sqlx prepared --- ...2342d54727f56b92c03605c1e93e349b0699.json} | 8 +- ...18539ddef141159274a310dee4e3589d72d5d.json | 20 --- ...daf4d7102d54ee5e120bf34fa50bb9cc5705b.json | 97 ----------- ...8ec426618e0ca6ed5519530252833be91a3da.json | 22 --- ...8a8d05193971ff4f944aa84e015cf7607aa37.json | 40 ----- ...b567b7892e7dfeb944767a4c433391789b486.json | 26 --- ...5fc4b1d0ebe5b89d4230627c113d4ac9c0ea7.json | 86 --------- ...48336188e8f25b1662d07368674f884b0a8c.json} | 62 ++----- ...4ba734f30832242874b9df9b0ea7464e80ef.json} | 10 +- ...954dba76ea1d196f4ab081017146b1d6c1f95.json | 32 ---- ...0c6c7664ed247f2c05954b6954b14de8cf93a.json | 46 +++++ ...06c8474cec2a1e163fa3edfd42067d19e6657.json | 40 +++++ ...0a32c791471c8b334945f7857de6d56396be.json} | 4 +- ...05a0134aaefddfb33e25d6488542ab31880f7.json | 126 -------------- ...51588b84123aa7064a3537e9f0e2304744290.json | 22 --- ...cb896192f2a5b7f142194b15e47cd291f207.json} | 4 +- ...ad78a77af32c30b271aa36745a8dc5ddf75a.json} | 65 ++----- ...a98a7f75c11f93c5aba9fe736d225f47358e2.json | 46 +++++ ...9139002200679a78187785363859bfc9166a5.json | 22 --- ...4d7a40a7518afe9d54ecca92bc1887a425641.json | 46 +++++ ...885c176f8604230e6dbc35b325412f900746b.json | 52 ++++++ ...ef99f0af6aa5433f9db7234824880d64b76e2.json | 88 ---------- ...2fa7a9105d3f2dade4fa1e103bf8b048be4c9.json | 100 ----------- ...83b2aca6a79f55b5d3ac1f211ff13213a5ef.json} | 44 ++--- ...7d843e1de3df2f2aeca637f68185b303169e4.json | 22 --- ...0c9f035281dd88e3205f2a43cc859bf0e7d7d.json | 14 -- ...c0604718a1408ff76c150cc544626409e11e.json} | 8 +- ...ddec22e62915a71ade179eb7fcdfce31d904.json} | 26 +-- ...3e71753ecd95e21b2ef47196e8e53bc25fc96.json | 64 +++++++ ...0a85a273beb8dcbb6a78e4e1d8573ecae162b.json | 125 ------------- ...230e86d0a23d2d43e5e3b0863f93b4ac64a4f.json | 40 +++++ ...bd3aa10498184fef63f6d730d12e05e529a66.json | 23 --- ...f60b489d7cd988264f703fd7a32c03a7a7eab.json | 15 -- ...d98354d2b31a05f65ffafac493214dedc9d04.json | 20 --- ...cddbdb1e2da5a56fd9654b6676ddd53d803e4.json | 40 +++++ ...b9bfe29d011f0abd0f0534262d98afb2f8a83.json | 40 +++++ ...dfc2cc59ab3e570d29436a18f82bf7c01803.json} | 40 ++--- ...4636365c3e5467696009445c0ecd5b71e9b40.json | 46 +++++ ...4aeedf0d06612e473b5d8a9e4280ca1923de.json} | 6 +- ...3a3c704a2999b54868360d7f097f17fca7ab6.json | 88 ---------- ...3fbb5753a04eba653f036206f7fa93aa47381.json | 15 -- ...68cf9d5f0bd6e321267ea67bf88c5ccfe5b2.json} | 4 +- ...ad8a9a8eed3c269b85960bde2a73f32c03c1f.json | 36 ---- ...5cd0d5979e35e1607001a6b08e6320eff92c2.json | 101 ----------- ...c5d2dbfadb9879a4965d3b1ed5a22e73869c1.json | 40 +++++ ...a47de9e8cbae03a128a5566cdcbc991138720.json | 22 --- ...11b98eb9820a1da2d5586b5a5d2eb225a35e.json} | 26 +-- ...1d220b940336e9aee8d4a505f5879a0868cee.json | 38 ---- ...de17455504e1b47f36ecd30f2d38df59509be.json | 36 ---- ANALYSE_RAPPORT.md | 164 ++++++++++++++++++ Cargo.toml | 10 +- 51 files changed, 771 insertions(+), 1446 deletions(-) rename .sqlx/{query-707473c5a3a1656ac1dd81abd05a22d1f5d46d991b478c3b033402146fefc83e.json => query-045a2fa47f272bfe56ee35ab805c2342d54727f56b92c03605c1e93e349b0699.json} (86%) delete mode 100644 .sqlx/query-0a1310ca009eb197b2cf6fb9b7c18539ddef141159274a310dee4e3589d72d5d.json delete mode 100644 .sqlx/query-0c81890c6e3563a5d8066572561daf4d7102d54ee5e120bf34fa50bb9cc5705b.json delete mode 100644 .sqlx/query-0c8b899ac80c6a835880b644e2e8ec426618e0ca6ed5519530252833be91a3da.json delete mode 100644 .sqlx/query-0e49f3f090a27cca4798f8a1a2f8a8d05193971ff4f944aa84e015cf7607aa37.json delete mode 100644 .sqlx/query-15ec9fe4e76d6fd7872ecd0fa5fb567b7892e7dfeb944767a4c433391789b486.json delete mode 100644 .sqlx/query-176c3b6a0d4ba4d16b5ca737c9e5fc4b1d0ebe5b89d4230627c113d4ac9c0ea7.json rename .sqlx/{query-1ac057ca6c9d8606be406e3474eafccd1aed69af38d996b1ee4236ca98fa944e.json => query-2028b966626553661fb693feee3748336188e8f25b1662d07368674f884b0a8c.json} (71%) rename .sqlx/{query-874a1cf9945cc61d0a04c1272e288a0bfe6e0b42c94358cad55402a309cb3388.json => query-21c2c423ee6e8e0bd5f86c03e7d84ba734f30832242874b9df9b0ea7464e80ef.json} (65%) delete mode 100644 .sqlx/query-318a1d16f2cf7df66269c99a71a954dba76ea1d196f4ab081017146b1d6c1f95.json create mode 100644 .sqlx/query-351f698c67e869ed4d6a14e4ecc0c6c7664ed247f2c05954b6954b14de8cf93a.json create mode 100644 .sqlx/query-3ab13cdb6b50613efe12549ca8806c8474cec2a1e163fa3edfd42067d19e6657.json rename .sqlx/{query-1f308c15f6f59fe9ee84dcf99ae8d8e55a951706d356d7c99b2f59f3e2aab5df.json => query-3fc88aed64b92830a1461ade2b5d0a32c791471c8b334945f7857de6d56396be.json} (85%) delete mode 100644 .sqlx/query-4239f00ec1694971de5e37d6d7a05a0134aaefddfb33e25d6488542ab31880f7.json delete mode 100644 .sqlx/query-4595383da33da1daebc154acd3751588b84123aa7064a3537e9f0e2304744290.json rename .sqlx/{query-04b72f5e388730984e1bc835471f561a02d3099d66beaee2bf115b3e9c174cb7.json => query-4ae7def8cc0c7693389a770fe300cb896192f2a5b7f142194b15e47cd291f207.json} (83%) rename .sqlx/{query-8dc087a2525fc891de1aef83e6286944a705f5100f26d0bd54074e9680336866.json => query-4d505776a91ca5d58a8f6740bbf1ad78a77af32c30b271aa36745a8dc5ddf75a.json} (70%) create mode 100644 .sqlx/query-4f190bdff70e28ad45e309520c3a98a7f75c11f93c5aba9fe736d225f47358e2.json delete mode 100644 .sqlx/query-507318abde7312bff1515c57bed9139002200679a78187785363859bfc9166a5.json create mode 100644 .sqlx/query-5793c558aca6813aaf825384c2b4d7a40a7518afe9d54ecca92bc1887a425641.json create mode 100644 .sqlx/query-6385feca2b4475cb643bf75100f885c176f8604230e6dbc35b325412f900746b.json delete mode 100644 .sqlx/query-6b312e9b9aab2c87dd758212c0bef99f0af6aa5433f9db7234824880d64b76e2.json delete mode 100644 .sqlx/query-74fda583a5d913c0328ee9cecbe2fa7a9105d3f2dade4fa1e103bf8b048be4c9.json rename .sqlx/{query-8ca618329a51e2ffe8f381e505ed6e1fee315dee53721e29e79488f094777b00.json => query-8ea9a64fb15801b3bd7c5ae2539d83b2aca6a79f55b5d3ac1f211ff13213a5ef.json} (66%) delete mode 100644 .sqlx/query-9174c5b52bb4af61314eced24a67d843e1de3df2f2aeca637f68185b303169e4.json delete mode 100644 .sqlx/query-aba4ec05be950c66178c06d1c600c9f035281dd88e3205f2a43cc859bf0e7d7d.json rename .sqlx/{query-35f2ebf73b08e65893400a4a8cb422ba9d7fc13d1b613cb224d0046bad449b56.json => query-ad8130178714657de07eba9d7585c0604718a1408ff76c150cc544626409e11e.json} (69%) rename .sqlx/{query-773d68c3aefdf4ce57050e9acbc9f056f2db5bd435b0468d2bd2c72eb1d10e64.json => query-aff008a31c4fc43b26bd531de1d7ddec22e62915a71ade179eb7fcdfce31d904.json} (59%) create mode 100644 .sqlx/query-b3cbc14f62420c6f903015f20703e71753ecd95e21b2ef47196e8e53bc25fc96.json delete mode 100644 .sqlx/query-b3f0d3b9ddf92777600f8dfedbf0a85a273beb8dcbb6a78e4e1d8573ecae162b.json create mode 100644 .sqlx/query-bfc416c65222ed75850c1b04fb8230e86d0a23d2d43e5e3b0863f93b4ac64a4f.json delete mode 100644 .sqlx/query-c4fcedbf41ce1a27668d73cc033bd3aa10498184fef63f6d730d12e05e529a66.json delete mode 100644 .sqlx/query-c777954b11e4b2642e23ee7573af60b489d7cd988264f703fd7a32c03a7a7eab.json delete mode 100644 .sqlx/query-cc9d13ba6338f10ec3e784496f4d98354d2b31a05f65ffafac493214dedc9d04.json create mode 100644 .sqlx/query-d1f94cf1669498dee26fc3f5645cddbdb1e2da5a56fd9654b6676ddd53d803e4.json create mode 100644 .sqlx/query-d363c819661973d96d9bce08abfb9bfe29d011f0abd0f0534262d98afb2f8a83.json rename .sqlx/{query-7de267084316a0b1c58cc2616f97fd8a6acc10897dad82a6fccc101220d7c705.json => query-d579c47976661f8eef7ea7ab6a08dfc2cc59ab3e570d29436a18f82bf7c01803.json} (72%) create mode 100644 .sqlx/query-d821195ea7661821da2c69b8f294636365c3e5467696009445c0ecd5b71e9b40.json rename .sqlx/{query-5cf879703f36cf898b2c5c01a2ac921064225d8c8cbcc4d5c11f25cf342b0df8.json => query-df4864c8b7d1f336bd5c8e73c9544aeedf0d06612e473b5d8a9e4280ca1923de.json} (73%) delete mode 100644 .sqlx/query-e2ba1540d14307e325d92c6de503a3c704a2999b54868360d7f097f17fca7ab6.json delete mode 100644 .sqlx/query-e3b38f799b8492fb7d6ad3f7a1a3fbb5753a04eba653f036206f7fa93aa47381.json rename .sqlx/{query-a5c2f5f58c28161df666d14059ff6f1b30d46c462e7a563c7f05873b39d6ff2e.json => query-e4081c423023f1ec416be2be946f68cf9d5f0bd6e321267ea67bf88c5ccfe5b2.json} (85%) delete mode 100644 .sqlx/query-e4e1c49de1f8a54ec7a8799e658ad8a9a8eed3c269b85960bde2a73f32c03c1f.json delete mode 100644 .sqlx/query-e721679b2bb4b45ef70ad37c8bd5cd0d5979e35e1607001a6b08e6320eff92c2.json create mode 100644 .sqlx/query-ed8d6b8145eaa4723dd967deb26c5d2dbfadb9879a4965d3b1ed5a22e73869c1.json delete mode 100644 .sqlx/query-f2de62bdb17e1d6ca408f328971a47de9e8cbae03a128a5566cdcbc991138720.json rename .sqlx/{query-88b963ba27adab1800cabbb2fbee2d2359ab9b249c36a6da8504467ad237b8f8.json => query-f43c5ffe964fa1645c76662eb79011b98eb9820a1da2d5586b5a5d2eb225a35e.json} (69%) delete mode 100644 .sqlx/query-fa67e36e29049905a2f75f80b641d220b940336e9aee8d4a505f5879a0868cee.json delete mode 100644 .sqlx/query-fd1c3b0c2c1858530e7e8f6de4ede17455504e1b47f36ecd30f2d38df59509be.json create mode 100644 ANALYSE_RAPPORT.md diff --git a/.sqlx/query-707473c5a3a1656ac1dd81abd05a22d1f5d46d991b478c3b033402146fefc83e.json b/.sqlx/query-045a2fa47f272bfe56ee35ab805c2342d54727f56b92c03605c1e93e349b0699.json similarity index 86% rename from .sqlx/query-707473c5a3a1656ac1dd81abd05a22d1f5d46d991b478c3b033402146fefc83e.json rename to .sqlx/query-045a2fa47f272bfe56ee35ab805c2342d54727f56b92c03605c1e93e349b0699.json index 7ee00db..1931d7f 100644 --- a/.sqlx/query-707473c5a3a1656ac1dd81abd05a22d1f5d46d991b478c3b033402146fefc83e.json +++ b/.sqlx/query-045a2fa47f272bfe56ee35ab805c2342d54727f56b92c03605c1e93e349b0699.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT id, skin, pause_count, started_at, ended_at, time_paused, score, accuracy, \n max_combo, perfect, count_300, count_100, count_50, \n count_miss, count_katu, count_geki, created_at\n FROM score_metadata\n WHERE id = $1\n ", + "query": "\n SELECT id, skin, pause_count, started_at, ended_at, time_paused, score, accuracy, max_combo, perfect, count_300, count_100, count_50, count_miss, count_geki, count_katu, created_at\n FROM score_metadata\n WHERE id = $1\n ", "describe": { "columns": [ { @@ -75,12 +75,12 @@ }, { "ordinal": 14, - "name": "count_katu", + "name": "count_geki", "type_info": "Int4" }, { "ordinal": 15, - "name": "count_geki", + "name": "count_katu", "type_info": "Int4" }, { @@ -114,5 +114,5 @@ true ] }, - "hash": "707473c5a3a1656ac1dd81abd05a22d1f5d46d991b478c3b033402146fefc83e" + "hash": "045a2fa47f272bfe56ee35ab805c2342d54727f56b92c03605c1e93e349b0699" } diff --git a/.sqlx/query-0a1310ca009eb197b2cf6fb9b7c18539ddef141159274a310dee4e3589d72d5d.json b/.sqlx/query-0a1310ca009eb197b2cf6fb9b7c18539ddef141159274a310dee4e3589d72d5d.json deleted file mode 100644 index 7e5caba..0000000 --- a/.sqlx/query-0a1310ca009eb197b2cf6fb9b7c18539ddef141159274a310dee4e3589d72d5d.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n SELECT COALESCE(\n (SELECT reltuples::bigint FROM pg_class WHERE relname = 'beatmapset'),\n (SELECT COUNT(*) FROM beatmapset)\n ) as count\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "count", - "type_info": "Int8" - } - ], - "parameters": { - "Left": [] - }, - "nullable": [ - null - ] - }, - "hash": "0a1310ca009eb197b2cf6fb9b7c18539ddef141159274a310dee4e3589d72d5d" -} diff --git a/.sqlx/query-0c81890c6e3563a5d8066572561daf4d7102d54ee5e120bf34fa50bb9cc5705b.json b/.sqlx/query-0c81890c6e3563a5d8066572561daf4d7102d54ee5e120bf34fa50bb9cc5705b.json deleted file mode 100644 index f04c828..0000000 --- a/.sqlx/query-0c81890c6e3563a5d8066572561daf4d7102d54ee5e120bf34fa50bb9cc5705b.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n INSERT INTO score (\n user_id, beatmap_id, score_metadata_id, replay_id, rate, \n hwid, mods, hash, rank, status, created_at\n )\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, NOW())\n RETURNING id, user_id, beatmap_id, score_metadata_id, replay_id, rate, \n hwid, mods, hash, rank, status, created_at\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - }, - { - "ordinal": 1, - "name": "user_id", - "type_info": "Int8" - }, - { - "ordinal": 2, - "name": "beatmap_id", - "type_info": "Int4" - }, - { - "ordinal": 3, - "name": "score_metadata_id", - "type_info": "Int4" - }, - { - "ordinal": 4, - "name": "replay_id", - "type_info": "Int4" - }, - { - "ordinal": 5, - "name": "rate", - "type_info": "Numeric" - }, - { - "ordinal": 6, - "name": "hwid", - "type_info": "Text" - }, - { - "ordinal": 7, - "name": "mods", - "type_info": "Int8" - }, - { - "ordinal": 8, - "name": "hash", - "type_info": "Bpchar" - }, - { - "ordinal": 9, - "name": "rank", - "type_info": "Varchar" - }, - { - "ordinal": 10, - "name": "status", - "type_info": "Varchar" - }, - { - "ordinal": 11, - "name": "created_at", - "type_info": "Timestamp" - } - ], - "parameters": { - "Left": [ - "Int8", - "Int4", - "Int4", - "Int4", - "Numeric", - "Text", - "Int8", - "Bpchar", - "Varchar", - "Varchar" - ] - }, - "nullable": [ - false, - false, - false, - false, - true, - false, - true, - false, - false, - false, - false, - true - ] - }, - "hash": "0c81890c6e3563a5d8066572561daf4d7102d54ee5e120bf34fa50bb9cc5705b" -} diff --git a/.sqlx/query-0c8b899ac80c6a835880b644e2e8ec426618e0ca6ed5519530252833be91a3da.json b/.sqlx/query-0c8b899ac80c6a835880b644e2e8ec426618e0ca6ed5519530252833be91a3da.json deleted file mode 100644 index 754b4c5..0000000 --- a/.sqlx/query-0c8b899ac80c6a835880b644e2e8ec426618e0ca6ed5519530252833be91a3da.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT beatmapset_id FROM beatmap WHERE id = $1", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "beatmapset_id", - "type_info": "Int4" - } - ], - "parameters": { - "Left": [ - "Int4" - ] - }, - "nullable": [ - true - ] - }, - "hash": "0c8b899ac80c6a835880b644e2e8ec426618e0ca6ed5519530252833be91a3da" -} diff --git a/.sqlx/query-0e49f3f090a27cca4798f8a1a2f8a8d05193971ff4f944aa84e015cf7607aa37.json b/.sqlx/query-0e49f3f090a27cca4798f8a1a2f8a8d05193971ff4f944aa84e015cf7607aa37.json deleted file mode 100644 index 6e743b5..0000000 --- a/.sqlx/query-0e49f3f090a27cca4798f8a1a2f8a8d05193971ff4f944aa84e015cf7607aa37.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n INSERT INTO beatmap (\n osu_id, beatmapset_id, difficulty, difficulty_rating,\n count_circles, count_sliders, count_spinners, max_combo,\n drain_time, total_time, bpm, cs, ar, od, hp, mode,\n status, file_md5, file_path\n ) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19)\n RETURNING id\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - } - ], - "parameters": { - "Left": [ - "Int4", - "Int4", - "Varchar", - "Numeric", - "Int4", - "Int4", - "Int4", - "Int4", - "Int4", - "Int4", - "Numeric", - "Numeric", - "Numeric", - "Numeric", - "Numeric", - "Int4", - "Varchar", - "Varchar", - "Varchar" - ] - }, - "nullable": [ - false - ] - }, - "hash": "0e49f3f090a27cca4798f8a1a2f8a8d05193971ff4f944aa84e015cf7607aa37" -} diff --git a/.sqlx/query-15ec9fe4e76d6fd7872ecd0fa5fb567b7892e7dfeb944767a4c433391789b486.json b/.sqlx/query-15ec9fe4e76d6fd7872ecd0fa5fb567b7892e7dfeb944767a4c433391789b486.json deleted file mode 100644 index 775b2af..0000000 --- a/.sqlx/query-15ec9fe4e76d6fd7872ecd0fa5fb567b7892e7dfeb944767a4c433391789b486.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n SELECT main_pattern, COUNT(*) as count\n FROM msd\n WHERE rate = 1.0 AND main_pattern IS NOT NULL\n GROUP BY main_pattern\n ORDER BY count DESC\n LIMIT 20\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "main_pattern", - "type_info": "Varchar" - }, - { - "ordinal": 1, - "name": "count", - "type_info": "Int8" - } - ], - "parameters": { - "Left": [] - }, - "nullable": [ - true, - null - ] - }, - "hash": "15ec9fe4e76d6fd7872ecd0fa5fb567b7892e7dfeb944767a4c433391789b486" -} diff --git a/.sqlx/query-176c3b6a0d4ba4d16b5ca737c9e5fc4b1d0ebe5b89d4230627c113d4ac9c0ea7.json b/.sqlx/query-176c3b6a0d4ba4d16b5ca737c9e5fc4b1d0ebe5b89d4230627c113d4ac9c0ea7.json deleted file mode 100644 index 896849f..0000000 --- a/.sqlx/query-176c3b6a0d4ba4d16b5ca737c9e5fc4b1d0ebe5b89d4230627c113d4ac9c0ea7.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n SELECT id, user_id, beatmap_id, score_metadata_id, replay_id, rate, \n hwid, mods, hash, rank, status, created_at\n FROM score \n WHERE status = 'pending' \n ORDER BY created_at ASC \n LIMIT 1\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - }, - { - "ordinal": 1, - "name": "user_id", - "type_info": "Int8" - }, - { - "ordinal": 2, - "name": "beatmap_id", - "type_info": "Int4" - }, - { - "ordinal": 3, - "name": "score_metadata_id", - "type_info": "Int4" - }, - { - "ordinal": 4, - "name": "replay_id", - "type_info": "Int4" - }, - { - "ordinal": 5, - "name": "rate", - "type_info": "Numeric" - }, - { - "ordinal": 6, - "name": "hwid", - "type_info": "Text" - }, - { - "ordinal": 7, - "name": "mods", - "type_info": "Int8" - }, - { - "ordinal": 8, - "name": "hash", - "type_info": "Bpchar" - }, - { - "ordinal": 9, - "name": "rank", - "type_info": "Varchar" - }, - { - "ordinal": 10, - "name": "status", - "type_info": "Varchar" - }, - { - "ordinal": 11, - "name": "created_at", - "type_info": "Timestamp" - } - ], - "parameters": { - "Left": [] - }, - "nullable": [ - false, - false, - false, - false, - true, - false, - true, - false, - false, - false, - false, - true - ] - }, - "hash": "176c3b6a0d4ba4d16b5ca737c9e5fc4b1d0ebe5b89d4230627c113d4ac9c0ea7" -} diff --git a/.sqlx/query-1ac057ca6c9d8606be406e3474eafccd1aed69af38d996b1ee4236ca98fa944e.json b/.sqlx/query-2028b966626553661fb693feee3748336188e8f25b1662d07368674f884b0a8c.json similarity index 71% rename from .sqlx/query-1ac057ca6c9d8606be406e3474eafccd1aed69af38d996b1ee4236ca98fa944e.json rename to .sqlx/query-2028b966626553661fb693feee3748336188e8f25b1662d07368674f884b0a8c.json index 5be0cfc..c263539 100644 --- a/.sqlx/query-1ac057ca6c9d8606be406e3474eafccd1aed69af38d996b1ee4236ca98fa944e.json +++ b/.sqlx/query-2028b966626553661fb693feee3748336188e8f25b1662d07368674f884b0a8c.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT * FROM beatmap WHERE id = $1\n ", + "query": "\n SELECT id, osu_id, beatmapset_id, difficulty, count_circles, count_sliders, count_spinners, max_combo, main_pattern, cs, ar, od, hp, mode, status, created_at, updated_at\n FROM beatmap\n WHERE id = $1\n ", "describe": { "columns": [ { @@ -25,91 +25,66 @@ }, { "ordinal": 4, - "name": "difficulty_rating", - "type_info": "Numeric" - }, - { - "ordinal": 5, "name": "count_circles", "type_info": "Int4" }, { - "ordinal": 6, + "ordinal": 5, "name": "count_sliders", "type_info": "Int4" }, { - "ordinal": 7, + "ordinal": 6, "name": "count_spinners", "type_info": "Int4" }, { - "ordinal": 8, + "ordinal": 7, "name": "max_combo", "type_info": "Int4" }, { - "ordinal": 9, - "name": "drain_time", - "type_info": "Int4" - }, - { - "ordinal": 10, - "name": "total_time", - "type_info": "Int4" - }, - { - "ordinal": 11, - "name": "bpm", - "type_info": "Numeric" + "ordinal": 8, + "name": "main_pattern", + "type_info": "Jsonb" }, { - "ordinal": 12, + "ordinal": 9, "name": "cs", "type_info": "Numeric" }, { - "ordinal": 13, + "ordinal": 10, "name": "ar", "type_info": "Numeric" }, { - "ordinal": 14, + "ordinal": 11, "name": "od", "type_info": "Numeric" }, { - "ordinal": 15, + "ordinal": 12, "name": "hp", "type_info": "Numeric" }, { - "ordinal": 16, + "ordinal": 13, "name": "mode", "type_info": "Int4" }, { - "ordinal": 17, + "ordinal": 14, "name": "status", "type_info": "Varchar" }, { - "ordinal": 18, - "name": "file_md5", - "type_info": "Varchar" - }, - { - "ordinal": 19, - "name": "file_path", - "type_info": "Varchar" - }, - { - "ordinal": 20, + "ordinal": 15, "name": "created_at", "type_info": "Timestamp" }, { - "ordinal": 21, + "ordinal": 16, "name": "updated_at", "type_info": "Timestamp" } @@ -135,14 +110,9 @@ false, false, false, - false, - false, - false, - false, - false, true, true ] }, - "hash": "1ac057ca6c9d8606be406e3474eafccd1aed69af38d996b1ee4236ca98fa944e" + "hash": "2028b966626553661fb693feee3748336188e8f25b1662d07368674f884b0a8c" } diff --git a/.sqlx/query-874a1cf9945cc61d0a04c1272e288a0bfe6e0b42c94358cad55402a309cb3388.json b/.sqlx/query-21c2c423ee6e8e0bd5f86c03e7d84ba734f30832242874b9df9b0ea7464e80ef.json similarity index 65% rename from .sqlx/query-874a1cf9945cc61d0a04c1272e288a0bfe6e0b42c94358cad55402a309cb3388.json rename to .sqlx/query-21c2c423ee6e8e0bd5f86c03e7d84ba734f30832242874b9df9b0ea7464e80ef.json index e6c465e..de5b382 100644 --- a/.sqlx/query-874a1cf9945cc61d0a04c1272e288a0bfe6e0b42c94358cad55402a309cb3388.json +++ b/.sqlx/query-21c2c423ee6e8e0bd5f86c03e7d84ba734f30832242874b9df9b0ea7464e80ef.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT id, hash, osu_id, created_at\n FROM pending_beatmap\n ORDER BY created_at ASC, id ASC\n LIMIT 1\n ", + "query": "\n SELECT id, osu_hash, osu_id, created_at\n FROM pending_beatmap\n WHERE id = $1\n ", "describe": { "columns": [ { @@ -10,7 +10,7 @@ }, { "ordinal": 1, - "name": "hash", + "name": "osu_hash", "type_info": "Text" }, { @@ -25,7 +25,9 @@ } ], "parameters": { - "Left": [] + "Left": [ + "Int4" + ] }, "nullable": [ false, @@ -34,5 +36,5 @@ true ] }, - "hash": "874a1cf9945cc61d0a04c1272e288a0bfe6e0b42c94358cad55402a309cb3388" + "hash": "21c2c423ee6e8e0bd5f86c03e7d84ba734f30832242874b9df9b0ea7464e80ef" } diff --git a/.sqlx/query-318a1d16f2cf7df66269c99a71a954dba76ea1d196f4ab081017146b1d6c1f95.json b/.sqlx/query-318a1d16f2cf7df66269c99a71a954dba76ea1d196f4ab081017146b1d6c1f95.json deleted file mode 100644 index dd815c0..0000000 --- a/.sqlx/query-318a1d16f2cf7df66269c99a71a954dba76ea1d196f4ab081017146b1d6c1f95.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n INSERT INTO msd (\n beatmap_id, overall, stream, jumpstream, handstream,\n stamina, jackspeed, chordjack, technical, rate, main_pattern\n ) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)\n RETURNING id\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - } - ], - "parameters": { - "Left": [ - "Int4", - "Numeric", - "Numeric", - "Numeric", - "Numeric", - "Numeric", - "Numeric", - "Numeric", - "Numeric", - "Numeric", - "Varchar" - ] - }, - "nullable": [ - false - ] - }, - "hash": "318a1d16f2cf7df66269c99a71a954dba76ea1d196f4ab081017146b1d6c1f95" -} diff --git a/.sqlx/query-351f698c67e869ed4d6a14e4ecc0c6c7664ed247f2c05954b6954b14de8cf93a.json b/.sqlx/query-351f698c67e869ed4d6a14e4ecc0c6c7664ed247f2c05954b6954b14de8cf93a.json new file mode 100644 index 0000000..b3553f3 --- /dev/null +++ b/.sqlx/query-351f698c67e869ed4d6a14e4ecc0c6c7664ed247f2c05954b6954b14de8cf93a.json @@ -0,0 +1,46 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT token, discord_id, device_name, hwid, created_at\n FROM device_tokens\n WHERE token = $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "token", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "discord_id", + "type_info": "Int8" + }, + { + "ordinal": 2, + "name": "device_name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "hwid", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "created_at", + "type_info": "Timestamp" + } + ], + "parameters": { + "Left": [ + "Uuid" + ] + }, + "nullable": [ + false, + true, + true, + true, + false + ] + }, + "hash": "351f698c67e869ed4d6a14e4ecc0c6c7664ed247f2c05954b6954b14de8cf93a" +} diff --git a/.sqlx/query-3ab13cdb6b50613efe12549ca8806c8474cec2a1e163fa3edfd42067d19e6657.json b/.sqlx/query-3ab13cdb6b50613efe12549ca8806c8474cec2a1e163fa3edfd42067d19e6657.json new file mode 100644 index 0000000..4f881af --- /dev/null +++ b/.sqlx/query-3ab13cdb6b50613efe12549ca8806c8474cec2a1e163fa3edfd42067d19e6657.json @@ -0,0 +1,40 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT discord_id, username, created_at, roles\n FROM users\n WHERE discord_id = $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "discord_id", + "type_info": "Int8" + }, + { + "ordinal": 1, + "name": "username", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "created_at", + "type_info": "Timestamp" + }, + { + "ordinal": 3, + "name": "roles", + "type_info": "Jsonb" + } + ], + "parameters": { + "Left": [ + "Int8" + ] + }, + "nullable": [ + false, + true, + false, + false + ] + }, + "hash": "3ab13cdb6b50613efe12549ca8806c8474cec2a1e163fa3edfd42067d19e6657" +} diff --git a/.sqlx/query-1f308c15f6f59fe9ee84dcf99ae8d8e55a951706d356d7c99b2f59f3e2aab5df.json b/.sqlx/query-3fc88aed64b92830a1461ade2b5d0a32c791471c8b334945f7857de6d56396be.json similarity index 85% rename from .sqlx/query-1f308c15f6f59fe9ee84dcf99ae8d8e55a951706d356d7c99b2f59f3e2aab5df.json rename to .sqlx/query-3fc88aed64b92830a1461ade2b5d0a32c791471c8b334945f7857de6d56396be.json index c532b52..1633d1f 100644 --- a/.sqlx/query-1f308c15f6f59fe9ee84dcf99ae8d8e55a951706d356d7c99b2f59f3e2aab5df.json +++ b/.sqlx/query-3fc88aed64b92830a1461ade2b5d0a32c791471c8b334945f7857de6d56396be.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "SELECT * FROM beatmapset WHERE id = $1", + "query": "\n SELECT id, osu_id, artist, artist_unicode, title, title_unicode, creator, source, tags, has_video, has_storyboard, is_explicit, is_featured, cover_url, preview_url, osu_file_url, created_at, updated_at\n FROM beatmapset\n WHERE osu_id = $1\n ", "describe": { "columns": [ { @@ -120,5 +120,5 @@ true ] }, - "hash": "1f308c15f6f59fe9ee84dcf99ae8d8e55a951706d356d7c99b2f59f3e2aab5df" + "hash": "3fc88aed64b92830a1461ade2b5d0a32c791471c8b334945f7857de6d56396be" } diff --git a/.sqlx/query-4239f00ec1694971de5e37d6d7a05a0134aaefddfb33e25d6488542ab31880f7.json b/.sqlx/query-4239f00ec1694971de5e37d6d7a05a0134aaefddfb33e25d6488542ab31880f7.json deleted file mode 100644 index 52040f0..0000000 --- a/.sqlx/query-4239f00ec1694971de5e37d6d7a05a0134aaefddfb33e25d6488542ab31880f7.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n SELECT * FROM beatmapset\n WHERE artist ILIKE $1 OR artist_unicode ILIKE $1 OR title ILIKE $1 OR title_unicode ILIKE $1 OR creator ILIKE $1\n ORDER BY created_at DESC\n LIMIT $2 OFFSET $3\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - }, - { - "ordinal": 1, - "name": "osu_id", - "type_info": "Int4" - }, - { - "ordinal": 2, - "name": "artist", - "type_info": "Varchar" - }, - { - "ordinal": 3, - "name": "artist_unicode", - "type_info": "Varchar" - }, - { - "ordinal": 4, - "name": "title", - "type_info": "Varchar" - }, - { - "ordinal": 5, - "name": "title_unicode", - "type_info": "Varchar" - }, - { - "ordinal": 6, - "name": "creator", - "type_info": "Varchar" - }, - { - "ordinal": 7, - "name": "source", - "type_info": "Varchar" - }, - { - "ordinal": 8, - "name": "tags", - "type_info": "TextArray" - }, - { - "ordinal": 9, - "name": "has_video", - "type_info": "Bool" - }, - { - "ordinal": 10, - "name": "has_storyboard", - "type_info": "Bool" - }, - { - "ordinal": 11, - "name": "is_explicit", - "type_info": "Bool" - }, - { - "ordinal": 12, - "name": "is_featured", - "type_info": "Bool" - }, - { - "ordinal": 13, - "name": "cover_url", - "type_info": "Varchar" - }, - { - "ordinal": 14, - "name": "preview_url", - "type_info": "Varchar" - }, - { - "ordinal": 15, - "name": "osu_file_url", - "type_info": "Varchar" - }, - { - "ordinal": 16, - "name": "created_at", - "type_info": "Timestamp" - }, - { - "ordinal": 17, - "name": "updated_at", - "type_info": "Timestamp" - } - ], - "parameters": { - "Left": [ - "Text", - "Int8", - "Int8" - ] - }, - "nullable": [ - false, - true, - false, - true, - false, - true, - false, - true, - true, - false, - false, - false, - false, - true, - true, - true, - true, - true - ] - }, - "hash": "4239f00ec1694971de5e37d6d7a05a0134aaefddfb33e25d6488542ab31880f7" -} diff --git a/.sqlx/query-4595383da33da1daebc154acd3751588b84123aa7064a3537e9f0e2304744290.json b/.sqlx/query-4595383da33da1daebc154acd3751588b84123aa7064a3537e9f0e2304744290.json deleted file mode 100644 index a8676e0..0000000 --- a/.sqlx/query-4595383da33da1daebc154acd3751588b84123aa7064a3537e9f0e2304744290.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT EXISTS(SELECT 1 FROM beatmap WHERE file_md5 = $1) as exists", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "exists", - "type_info": "Bool" - } - ], - "parameters": { - "Left": [ - "Text" - ] - }, - "nullable": [ - null - ] - }, - "hash": "4595383da33da1daebc154acd3751588b84123aa7064a3537e9f0e2304744290" -} diff --git a/.sqlx/query-04b72f5e388730984e1bc835471f561a02d3099d66beaee2bf115b3e9c174cb7.json b/.sqlx/query-4ae7def8cc0c7693389a770fe300cb896192f2a5b7f142194b15e47cd291f207.json similarity index 83% rename from .sqlx/query-04b72f5e388730984e1bc835471f561a02d3099d66beaee2bf115b3e9c174cb7.json rename to .sqlx/query-4ae7def8cc0c7693389a770fe300cb896192f2a5b7f142194b15e47cd291f207.json index 86f5602..d33bbe3 100644 --- a/.sqlx/query-04b72f5e388730984e1bc835471f561a02d3099d66beaee2bf115b3e9c174cb7.json +++ b/.sqlx/query-4ae7def8cc0c7693389a770fe300cb896192f2a5b7f142194b15e47cd291f207.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT id, score_id, rating, rating_type, created_at\n FROM score_rating \n WHERE id = $1\n ", + "query": "\n SELECT id, score_id, rating, rating_type, created_at\n FROM score_rating\n WHERE id = $1\n ", "describe": { "columns": [ { @@ -42,5 +42,5 @@ true ] }, - "hash": "04b72f5e388730984e1bc835471f561a02d3099d66beaee2bf115b3e9c174cb7" + "hash": "4ae7def8cc0c7693389a770fe300cb896192f2a5b7f142194b15e47cd291f207" } diff --git a/.sqlx/query-8dc087a2525fc891de1aef83e6286944a705f5100f26d0bd54074e9680336866.json b/.sqlx/query-4d505776a91ca5d58a8f6740bbf1ad78a77af32c30b271aa36745a8dc5ddf75a.json similarity index 70% rename from .sqlx/query-8dc087a2525fc891de1aef83e6286944a705f5100f26d0bd54074e9680336866.json rename to .sqlx/query-4d505776a91ca5d58a8f6740bbf1ad78a77af32c30b271aa36745a8dc5ddf75a.json index c07b54e..309e172 100644 --- a/.sqlx/query-8dc087a2525fc891de1aef83e6286944a705f5100f26d0bd54074e9680336866.json +++ b/.sqlx/query-4d505776a91ca5d58a8f6740bbf1ad78a77af32c30b271aa36745a8dc5ddf75a.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "SELECT * FROM beatmap ORDER BY created_at DESC LIMIT $1 OFFSET $2", + "query": "\n SELECT id, osu_id, beatmapset_id, difficulty, count_circles, count_sliders, count_spinners, max_combo, main_pattern, cs, ar, od, hp, mode, status, created_at, updated_at\n FROM beatmap\n WHERE osu_id = $1\n ", "describe": { "columns": [ { @@ -25,99 +25,73 @@ }, { "ordinal": 4, - "name": "difficulty_rating", - "type_info": "Numeric" - }, - { - "ordinal": 5, "name": "count_circles", "type_info": "Int4" }, { - "ordinal": 6, + "ordinal": 5, "name": "count_sliders", "type_info": "Int4" }, { - "ordinal": 7, + "ordinal": 6, "name": "count_spinners", "type_info": "Int4" }, { - "ordinal": 8, + "ordinal": 7, "name": "max_combo", "type_info": "Int4" }, { - "ordinal": 9, - "name": "drain_time", - "type_info": "Int4" - }, - { - "ordinal": 10, - "name": "total_time", - "type_info": "Int4" - }, - { - "ordinal": 11, - "name": "bpm", - "type_info": "Numeric" + "ordinal": 8, + "name": "main_pattern", + "type_info": "Jsonb" }, { - "ordinal": 12, + "ordinal": 9, "name": "cs", "type_info": "Numeric" }, { - "ordinal": 13, + "ordinal": 10, "name": "ar", "type_info": "Numeric" }, { - "ordinal": 14, + "ordinal": 11, "name": "od", "type_info": "Numeric" }, { - "ordinal": 15, + "ordinal": 12, "name": "hp", "type_info": "Numeric" }, { - "ordinal": 16, + "ordinal": 13, "name": "mode", "type_info": "Int4" }, { - "ordinal": 17, + "ordinal": 14, "name": "status", "type_info": "Varchar" }, { - "ordinal": 18, - "name": "file_md5", - "type_info": "Varchar" - }, - { - "ordinal": 19, - "name": "file_path", - "type_info": "Varchar" - }, - { - "ordinal": 20, + "ordinal": 15, "name": "created_at", "type_info": "Timestamp" }, { - "ordinal": 21, + "ordinal": 16, "name": "updated_at", "type_info": "Timestamp" } ], "parameters": { "Left": [ - "Int8", - "Int8" + "Int4" ] }, "nullable": [ @@ -136,14 +110,9 @@ false, false, false, - false, - false, - false, - false, - false, true, true ] }, - "hash": "8dc087a2525fc891de1aef83e6286944a705f5100f26d0bd54074e9680336866" + "hash": "4d505776a91ca5d58a8f6740bbf1ad78a77af32c30b271aa36745a8dc5ddf75a" } diff --git a/.sqlx/query-4f190bdff70e28ad45e309520c3a98a7f75c11f93c5aba9fe736d225f47358e2.json b/.sqlx/query-4f190bdff70e28ad45e309520c3a98a7f75c11f93c5aba9fe736d225f47358e2.json new file mode 100644 index 0000000..ea33540 --- /dev/null +++ b/.sqlx/query-4f190bdff70e28ad45e309520c3a98a7f75c11f93c5aba9fe736d225f47358e2.json @@ -0,0 +1,46 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT id, beatmap_id, weekly_id, vote_count, created_at\n FROM weekly_pool\n WHERE id = $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Int4" + }, + { + "ordinal": 1, + "name": "beatmap_id", + "type_info": "Int4" + }, + { + "ordinal": 2, + "name": "weekly_id", + "type_info": "Int4" + }, + { + "ordinal": 3, + "name": "vote_count", + "type_info": "Int4" + }, + { + "ordinal": 4, + "name": "created_at", + "type_info": "Timestamp" + } + ], + "parameters": { + "Left": [ + "Int4" + ] + }, + "nullable": [ + false, + false, + false, + false, + true + ] + }, + "hash": "4f190bdff70e28ad45e309520c3a98a7f75c11f93c5aba9fe736d225f47358e2" +} diff --git a/.sqlx/query-507318abde7312bff1515c57bed9139002200679a78187785363859bfc9166a5.json b/.sqlx/query-507318abde7312bff1515c57bed9139002200679a78187785363859bfc9166a5.json deleted file mode 100644 index 2fc6d67..0000000 --- a/.sqlx/query-507318abde7312bff1515c57bed9139002200679a78187785363859bfc9166a5.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n INSERT INTO failed_query (hash)\n VALUES ($1)\n RETURNING id\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - } - ], - "parameters": { - "Left": [ - "Text" - ] - }, - "nullable": [ - false - ] - }, - "hash": "507318abde7312bff1515c57bed9139002200679a78187785363859bfc9166a5" -} diff --git a/.sqlx/query-5793c558aca6813aaf825384c2b4d7a40a7518afe9d54ecca92bc1887a425641.json b/.sqlx/query-5793c558aca6813aaf825384c2b4d7a40a7518afe9d54ecca92bc1887a425641.json new file mode 100644 index 0000000..4660d4c --- /dev/null +++ b/.sqlx/query-5793c558aca6813aaf825384c2b4d7a40a7518afe9d54ecca92bc1887a425641.json @@ -0,0 +1,46 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT id, beatmap_id, weekly_id, max_rate, created_at\n FROM weekly_maps\n WHERE id = $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Int4" + }, + { + "ordinal": 1, + "name": "beatmap_id", + "type_info": "Int4" + }, + { + "ordinal": 2, + "name": "weekly_id", + "type_info": "Int4" + }, + { + "ordinal": 3, + "name": "max_rate", + "type_info": "Numeric" + }, + { + "ordinal": 4, + "name": "created_at", + "type_info": "Timestamp" + } + ], + "parameters": { + "Left": [ + "Int4" + ] + }, + "nullable": [ + false, + false, + false, + false, + true + ] + }, + "hash": "5793c558aca6813aaf825384c2b4d7a40a7518afe9d54ecca92bc1887a425641" +} diff --git a/.sqlx/query-6385feca2b4475cb643bf75100f885c176f8604230e6dbc35b325412f900746b.json b/.sqlx/query-6385feca2b4475cb643bf75100f885c176f8604230e6dbc35b325412f900746b.json new file mode 100644 index 0000000..9d95307 --- /dev/null +++ b/.sqlx/query-6385feca2b4475cb643bf75100f885c176f8604230e6dbc35b325412f900746b.json @@ -0,0 +1,52 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT id, user_id, weekly_id, op, final_rank, created_at\n FROM weekly_participants\n WHERE id = $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Int4" + }, + { + "ordinal": 1, + "name": "user_id", + "type_info": "Int8" + }, + { + "ordinal": 2, + "name": "weekly_id", + "type_info": "Int4" + }, + { + "ordinal": 3, + "name": "op", + "type_info": "Numeric" + }, + { + "ordinal": 4, + "name": "final_rank", + "type_info": "Int4" + }, + { + "ordinal": 5, + "name": "created_at", + "type_info": "Timestamp" + } + ], + "parameters": { + "Left": [ + "Int4" + ] + }, + "nullable": [ + false, + false, + false, + false, + true, + true + ] + }, + "hash": "6385feca2b4475cb643bf75100f885c176f8604230e6dbc35b325412f900746b" +} diff --git a/.sqlx/query-6b312e9b9aab2c87dd758212c0bef99f0af6aa5433f9db7234824880d64b76e2.json b/.sqlx/query-6b312e9b9aab2c87dd758212c0bef99f0af6aa5433f9db7234824880d64b76e2.json deleted file mode 100644 index 1224b33..0000000 --- a/.sqlx/query-6b312e9b9aab2c87dd758212c0bef99f0af6aa5433f9db7234824880d64b76e2.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n SELECT id, user_id, beatmap_id, score_metadata_id, replay_id, rate, \n hwid, mods, hash, rank, status, created_at\n FROM score \n WHERE beatmap_id = $1\n ORDER BY created_at DESC\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - }, - { - "ordinal": 1, - "name": "user_id", - "type_info": "Int8" - }, - { - "ordinal": 2, - "name": "beatmap_id", - "type_info": "Int4" - }, - { - "ordinal": 3, - "name": "score_metadata_id", - "type_info": "Int4" - }, - { - "ordinal": 4, - "name": "replay_id", - "type_info": "Int4" - }, - { - "ordinal": 5, - "name": "rate", - "type_info": "Numeric" - }, - { - "ordinal": 6, - "name": "hwid", - "type_info": "Text" - }, - { - "ordinal": 7, - "name": "mods", - "type_info": "Int8" - }, - { - "ordinal": 8, - "name": "hash", - "type_info": "Bpchar" - }, - { - "ordinal": 9, - "name": "rank", - "type_info": "Varchar" - }, - { - "ordinal": 10, - "name": "status", - "type_info": "Varchar" - }, - { - "ordinal": 11, - "name": "created_at", - "type_info": "Timestamp" - } - ], - "parameters": { - "Left": [ - "Int4" - ] - }, - "nullable": [ - false, - false, - false, - false, - true, - false, - true, - false, - false, - false, - false, - true - ] - }, - "hash": "6b312e9b9aab2c87dd758212c0bef99f0af6aa5433f9db7234824880d64b76e2" -} diff --git a/.sqlx/query-74fda583a5d913c0328ee9cecbe2fa7a9105d3f2dade4fa1e103bf8b048be4c9.json b/.sqlx/query-74fda583a5d913c0328ee9cecbe2fa7a9105d3f2dade4fa1e103bf8b048be4c9.json deleted file mode 100644 index 5d5d897..0000000 --- a/.sqlx/query-74fda583a5d913c0328ee9cecbe2fa7a9105d3f2dade4fa1e103bf8b048be4c9.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n SELECT * FROM msd WHERE beatmap_id = $1 ORDER BY created_at DESC LIMIT 1\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - }, - { - "ordinal": 1, - "name": "beatmap_id", - "type_info": "Int4" - }, - { - "ordinal": 2, - "name": "overall", - "type_info": "Numeric" - }, - { - "ordinal": 3, - "name": "stream", - "type_info": "Numeric" - }, - { - "ordinal": 4, - "name": "jumpstream", - "type_info": "Numeric" - }, - { - "ordinal": 5, - "name": "handstream", - "type_info": "Numeric" - }, - { - "ordinal": 6, - "name": "stamina", - "type_info": "Numeric" - }, - { - "ordinal": 7, - "name": "jackspeed", - "type_info": "Numeric" - }, - { - "ordinal": 8, - "name": "chordjack", - "type_info": "Numeric" - }, - { - "ordinal": 9, - "name": "technical", - "type_info": "Numeric" - }, - { - "ordinal": 10, - "name": "rate", - "type_info": "Numeric" - }, - { - "ordinal": 11, - "name": "main_pattern", - "type_info": "Varchar" - }, - { - "ordinal": 12, - "name": "created_at", - "type_info": "Timestamp" - }, - { - "ordinal": 13, - "name": "updated_at", - "type_info": "Timestamp" - } - ], - "parameters": { - "Left": [ - "Int4" - ] - }, - "nullable": [ - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true - ] - }, - "hash": "74fda583a5d913c0328ee9cecbe2fa7a9105d3f2dade4fa1e103bf8b048be4c9" -} diff --git a/.sqlx/query-8ca618329a51e2ffe8f381e505ed6e1fee315dee53721e29e79488f094777b00.json b/.sqlx/query-8ea9a64fb15801b3bd7c5ae2539d83b2aca6a79f55b5d3ac1f211ff13213a5ef.json similarity index 66% rename from .sqlx/query-8ca618329a51e2ffe8f381e505ed6e1fee315dee53721e29e79488f094777b00.json rename to .sqlx/query-8ea9a64fb15801b3bd7c5ae2539d83b2aca6a79f55b5d3ac1f211ff13213a5ef.json index 437afad..12f63cb 100644 --- a/.sqlx/query-8ca618329a51e2ffe8f381e505ed6e1fee315dee53721e29e79488f094777b00.json +++ b/.sqlx/query-8ea9a64fb15801b3bd7c5ae2539d83b2aca6a79f55b5d3ac1f211ff13213a5ef.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "SELECT * FROM msd WHERE beatmap_id = $1 ORDER BY created_at DESC", + "query": "\n SELECT id, rating_id, stream, jumpstream, handstream, stamina, jackspeed, chordjack, technical, created_at\n FROM score_mania_rating\n WHERE id = $1\n ", "describe": { "columns": [ { @@ -10,68 +10,48 @@ }, { "ordinal": 1, - "name": "beatmap_id", + "name": "rating_id", "type_info": "Int4" }, { "ordinal": 2, - "name": "overall", - "type_info": "Numeric" - }, - { - "ordinal": 3, "name": "stream", "type_info": "Numeric" }, { - "ordinal": 4, + "ordinal": 3, "name": "jumpstream", "type_info": "Numeric" }, { - "ordinal": 5, + "ordinal": 4, "name": "handstream", "type_info": "Numeric" }, { - "ordinal": 6, + "ordinal": 5, "name": "stamina", "type_info": "Numeric" }, { - "ordinal": 7, + "ordinal": 6, "name": "jackspeed", "type_info": "Numeric" }, { - "ordinal": 8, + "ordinal": 7, "name": "chordjack", "type_info": "Numeric" }, { - "ordinal": 9, + "ordinal": 8, "name": "technical", "type_info": "Numeric" }, { - "ordinal": 10, - "name": "rate", - "type_info": "Numeric" - }, - { - "ordinal": 11, - "name": "main_pattern", - "type_info": "Varchar" - }, - { - "ordinal": 12, + "ordinal": 9, "name": "created_at", "type_info": "Timestamp" - }, - { - "ordinal": 13, - "name": "updated_at", - "type_info": "Timestamp" } ], "parameters": { @@ -89,12 +69,8 @@ true, true, true, - true, - true, - true, - true, true ] }, - "hash": "8ca618329a51e2ffe8f381e505ed6e1fee315dee53721e29e79488f094777b00" + "hash": "8ea9a64fb15801b3bd7c5ae2539d83b2aca6a79f55b5d3ac1f211ff13213a5ef" } diff --git a/.sqlx/query-9174c5b52bb4af61314eced24a67d843e1de3df2f2aeca637f68185b303169e4.json b/.sqlx/query-9174c5b52bb4af61314eced24a67d843e1de3df2f2aeca637f68185b303169e4.json deleted file mode 100644 index 212636f..0000000 --- a/.sqlx/query-9174c5b52bb4af61314eced24a67d843e1de3df2f2aeca637f68185b303169e4.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT EXISTS(SELECT 1 FROM beatmapset WHERE osu_id = $1) as exists", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "exists", - "type_info": "Bool" - } - ], - "parameters": { - "Left": [ - "Int4" - ] - }, - "nullable": [ - null - ] - }, - "hash": "9174c5b52bb4af61314eced24a67d843e1de3df2f2aeca637f68185b303169e4" -} diff --git a/.sqlx/query-aba4ec05be950c66178c06d1c600c9f035281dd88e3205f2a43cc859bf0e7d7d.json b/.sqlx/query-aba4ec05be950c66178c06d1c600c9f035281dd88e3205f2a43cc859bf0e7d7d.json deleted file mode 100644 index 8377309..0000000 --- a/.sqlx/query-aba4ec05be950c66178c06d1c600c9f035281dd88e3205f2a43cc859bf0e7d7d.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n DELETE FROM failed_query\n WHERE hash = $1\n ", - "describe": { - "columns": [], - "parameters": { - "Left": [ - "Text" - ] - }, - "nullable": [] - }, - "hash": "aba4ec05be950c66178c06d1c600c9f035281dd88e3205f2a43cc859bf0e7d7d" -} diff --git a/.sqlx/query-35f2ebf73b08e65893400a4a8cb422ba9d7fc13d1b613cb224d0046bad449b56.json b/.sqlx/query-ad8130178714657de07eba9d7585c0604718a1408ff76c150cc544626409e11e.json similarity index 69% rename from .sqlx/query-35f2ebf73b08e65893400a4a8cb422ba9d7fc13d1b613cb224d0046bad449b56.json rename to .sqlx/query-ad8130178714657de07eba9d7585c0604718a1408ff76c150cc544626409e11e.json index 5144e30..047d116 100644 --- a/.sqlx/query-35f2ebf73b08e65893400a4a8cb422ba9d7fc13d1b613cb224d0046bad449b56.json +++ b/.sqlx/query-ad8130178714657de07eba9d7585c0604718a1408ff76c150cc544626409e11e.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT id, score_id, rating, rating_type, created_at\n FROM score_rating \n WHERE score_id = $1\n ORDER BY created_at DESC\n ", + "query": "\n SELECT id, rates_id, rating, rating_type, created_at\n FROM beatmap_rating\n WHERE id = $1\n ", "describe": { "columns": [ { @@ -10,7 +10,7 @@ }, { "ordinal": 1, - "name": "score_id", + "name": "rates_id", "type_info": "Int4" }, { @@ -36,11 +36,11 @@ }, "nullable": [ false, - false, + true, false, false, true ] }, - "hash": "35f2ebf73b08e65893400a4a8cb422ba9d7fc13d1b613cb224d0046bad449b56" + "hash": "ad8130178714657de07eba9d7585c0604718a1408ff76c150cc544626409e11e" } diff --git a/.sqlx/query-773d68c3aefdf4ce57050e9acbc9f056f2db5bd435b0468d2bd2c72eb1d10e64.json b/.sqlx/query-aff008a31c4fc43b26bd531de1d7ddec22e62915a71ade179eb7fcdfce31d904.json similarity index 59% rename from .sqlx/query-773d68c3aefdf4ce57050e9acbc9f056f2db5bd435b0468d2bd2c72eb1d10e64.json rename to .sqlx/query-aff008a31c4fc43b26bd531de1d7ddec22e62915a71ade179eb7fcdfce31d904.json index 6facaad..7dcb934 100644 --- a/.sqlx/query-773d68c3aefdf4ce57050e9acbc9f056f2db5bd435b0468d2bd2c72eb1d10e64.json +++ b/.sqlx/query-aff008a31c4fc43b26bd531de1d7ddec22e62915a71ade179eb7fcdfce31d904.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n INSERT INTO score_rating (score_id, rating, rating_type, created_at)\n VALUES ($1, $2, $3, NOW())\n RETURNING id, score_id, rating, rating_type, created_at\n ", + "query": "\n SELECT id, user_id, weekly_id, score_id, op, created_at\n FROM weekly_scores\n WHERE id = $1\n ", "describe": { "columns": [ { @@ -10,30 +10,33 @@ }, { "ordinal": 1, - "name": "score_id", - "type_info": "Int4" + "name": "user_id", + "type_info": "Int8" }, { "ordinal": 2, - "name": "rating", - "type_info": "Numeric" + "name": "weekly_id", + "type_info": "Int4" }, { "ordinal": 3, - "name": "rating_type", - "type_info": "Varchar" + "name": "score_id", + "type_info": "Int4" }, { "ordinal": 4, + "name": "op", + "type_info": "Numeric" + }, + { + "ordinal": 5, "name": "created_at", "type_info": "Timestamp" } ], "parameters": { "Left": [ - "Int4", - "Numeric", - "Varchar" + "Int4" ] }, "nullable": [ @@ -41,8 +44,9 @@ false, false, false, + false, true ] }, - "hash": "773d68c3aefdf4ce57050e9acbc9f056f2db5bd435b0468d2bd2c72eb1d10e64" + "hash": "aff008a31c4fc43b26bd531de1d7ddec22e62915a71ade179eb7fcdfce31d904" } diff --git a/.sqlx/query-b3cbc14f62420c6f903015f20703e71753ecd95e21b2ef47196e8e53bc25fc96.json b/.sqlx/query-b3cbc14f62420c6f903015f20703e71753ecd95e21b2ef47196e8e53bc25fc96.json new file mode 100644 index 0000000..2283a16 --- /dev/null +++ b/.sqlx/query-b3cbc14f62420c6f903015f20703e71753ecd95e21b2ef47196e8e53bc25fc96.json @@ -0,0 +1,64 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT id, beatmap_id, osu_hash, centirate, drain_time, total_time, bpm, created_at\n FROM rates\n WHERE id = $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Int4" + }, + { + "ordinal": 1, + "name": "beatmap_id", + "type_info": "Int4" + }, + { + "ordinal": 2, + "name": "osu_hash", + "type_info": "Varchar" + }, + { + "ordinal": 3, + "name": "centirate", + "type_info": "Int4" + }, + { + "ordinal": 4, + "name": "drain_time", + "type_info": "Int4" + }, + { + "ordinal": 5, + "name": "total_time", + "type_info": "Int4" + }, + { + "ordinal": 6, + "name": "bpm", + "type_info": "Numeric" + }, + { + "ordinal": 7, + "name": "created_at", + "type_info": "Timestamp" + } + ], + "parameters": { + "Left": [ + "Int4" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + true + ] + }, + "hash": "b3cbc14f62420c6f903015f20703e71753ecd95e21b2ef47196e8e53bc25fc96" +} diff --git a/.sqlx/query-b3f0d3b9ddf92777600f8dfedbf0a85a273beb8dcbb6a78e4e1d8573ecae162b.json b/.sqlx/query-b3f0d3b9ddf92777600f8dfedbf0a85a273beb8dcbb6a78e4e1d8573ecae162b.json deleted file mode 100644 index bdc48fb..0000000 --- a/.sqlx/query-b3f0d3b9ddf92777600f8dfedbf0a85a273beb8dcbb6a78e4e1d8573ecae162b.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT * FROM beatmapset ORDER BY created_at DESC LIMIT $1 OFFSET $2", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - }, - { - "ordinal": 1, - "name": "osu_id", - "type_info": "Int4" - }, - { - "ordinal": 2, - "name": "artist", - "type_info": "Varchar" - }, - { - "ordinal": 3, - "name": "artist_unicode", - "type_info": "Varchar" - }, - { - "ordinal": 4, - "name": "title", - "type_info": "Varchar" - }, - { - "ordinal": 5, - "name": "title_unicode", - "type_info": "Varchar" - }, - { - "ordinal": 6, - "name": "creator", - "type_info": "Varchar" - }, - { - "ordinal": 7, - "name": "source", - "type_info": "Varchar" - }, - { - "ordinal": 8, - "name": "tags", - "type_info": "TextArray" - }, - { - "ordinal": 9, - "name": "has_video", - "type_info": "Bool" - }, - { - "ordinal": 10, - "name": "has_storyboard", - "type_info": "Bool" - }, - { - "ordinal": 11, - "name": "is_explicit", - "type_info": "Bool" - }, - { - "ordinal": 12, - "name": "is_featured", - "type_info": "Bool" - }, - { - "ordinal": 13, - "name": "cover_url", - "type_info": "Varchar" - }, - { - "ordinal": 14, - "name": "preview_url", - "type_info": "Varchar" - }, - { - "ordinal": 15, - "name": "osu_file_url", - "type_info": "Varchar" - }, - { - "ordinal": 16, - "name": "created_at", - "type_info": "Timestamp" - }, - { - "ordinal": 17, - "name": "updated_at", - "type_info": "Timestamp" - } - ], - "parameters": { - "Left": [ - "Int8", - "Int8" - ] - }, - "nullable": [ - false, - true, - false, - true, - false, - true, - false, - true, - true, - false, - false, - false, - false, - true, - true, - true, - true, - true - ] - }, - "hash": "b3f0d3b9ddf92777600f8dfedbf0a85a273beb8dcbb6a78e4e1d8573ecae162b" -} diff --git a/.sqlx/query-bfc416c65222ed75850c1b04fb8230e86d0a23d2d43e5e3b0863f93b4ac64a4f.json b/.sqlx/query-bfc416c65222ed75850c1b04fb8230e86d0a23d2d43e5e3b0863f93b4ac64a4f.json new file mode 100644 index 0000000..a07a8c6 --- /dev/null +++ b/.sqlx/query-bfc416c65222ed75850c1b04fb8230e86d0a23d2d43e5e3b0863f93b4ac64a4f.json @@ -0,0 +1,40 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT id, discord_id, reason, banned_at\n FROM bans\n WHERE id = $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Int4" + }, + { + "ordinal": 1, + "name": "discord_id", + "type_info": "Int8" + }, + { + "ordinal": 2, + "name": "reason", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "banned_at", + "type_info": "Timestamp" + } + ], + "parameters": { + "Left": [ + "Int4" + ] + }, + "nullable": [ + false, + true, + true, + false + ] + }, + "hash": "bfc416c65222ed75850c1b04fb8230e86d0a23d2d43e5e3b0863f93b4ac64a4f" +} diff --git a/.sqlx/query-c4fcedbf41ce1a27668d73cc033bd3aa10498184fef63f6d730d12e05e529a66.json b/.sqlx/query-c4fcedbf41ce1a27668d73cc033bd3aa10498184fef63f6d730d12e05e529a66.json deleted file mode 100644 index c9a0d64..0000000 --- a/.sqlx/query-c4fcedbf41ce1a27668d73cc033bd3aa10498184fef63f6d730d12e05e529a66.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n INSERT INTO replays (hash, replay_available, replay_path, created_at)\n VALUES ($1, true, $2, NOW())\n RETURNING id\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - } - ], - "parameters": { - "Left": [ - "Bpchar", - "Text" - ] - }, - "nullable": [ - false - ] - }, - "hash": "c4fcedbf41ce1a27668d73cc033bd3aa10498184fef63f6d730d12e05e529a66" -} diff --git a/.sqlx/query-c777954b11e4b2642e23ee7573af60b489d7cd988264f703fd7a32c03a7a7eab.json b/.sqlx/query-c777954b11e4b2642e23ee7573af60b489d7cd988264f703fd7a32c03a7a7eab.json deleted file mode 100644 index 28fa50d..0000000 --- a/.sqlx/query-c777954b11e4b2642e23ee7573af60b489d7cd988264f703fd7a32c03a7a7eab.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n UPDATE score \n SET status = $1\n WHERE hash = $2\n ", - "describe": { - "columns": [], - "parameters": { - "Left": [ - "Varchar", - "Bpchar" - ] - }, - "nullable": [] - }, - "hash": "c777954b11e4b2642e23ee7573af60b489d7cd988264f703fd7a32c03a7a7eab" -} diff --git a/.sqlx/query-cc9d13ba6338f10ec3e784496f4d98354d2b31a05f65ffafac493214dedc9d04.json b/.sqlx/query-cc9d13ba6338f10ec3e784496f4d98354d2b31a05f65ffafac493214dedc9d04.json deleted file mode 100644 index 2245b7f..0000000 --- a/.sqlx/query-cc9d13ba6338f10ec3e784496f4d98354d2b31a05f65ffafac493214dedc9d04.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n SELECT COALESCE(\n (SELECT reltuples::bigint FROM pg_class WHERE relname = 'beatmap'),\n (SELECT COUNT(*) FROM beatmap)\n ) as count\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "count", - "type_info": "Int8" - } - ], - "parameters": { - "Left": [] - }, - "nullable": [ - null - ] - }, - "hash": "cc9d13ba6338f10ec3e784496f4d98354d2b31a05f65ffafac493214dedc9d04" -} diff --git a/.sqlx/query-d1f94cf1669498dee26fc3f5645cddbdb1e2da5a56fd9654b6676ddd53d803e4.json b/.sqlx/query-d1f94cf1669498dee26fc3f5645cddbdb1e2da5a56fd9654b6676ddd53d803e4.json new file mode 100644 index 0000000..bcaf2e1 --- /dev/null +++ b/.sqlx/query-d1f94cf1669498dee26fc3f5645cddbdb1e2da5a56fd9654b6676ddd53d803e4.json @@ -0,0 +1,40 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT discord_id, username, token, created_at\n FROM new_users\n WHERE token = $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "discord_id", + "type_info": "Int8" + }, + { + "ordinal": 1, + "name": "username", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "token", + "type_info": "Uuid" + }, + { + "ordinal": 3, + "name": "created_at", + "type_info": "Timestamp" + } + ], + "parameters": { + "Left": [ + "Uuid" + ] + }, + "nullable": [ + false, + true, + false, + false + ] + }, + "hash": "d1f94cf1669498dee26fc3f5645cddbdb1e2da5a56fd9654b6676ddd53d803e4" +} diff --git a/.sqlx/query-d363c819661973d96d9bce08abfb9bfe29d011f0abd0f0534262d98afb2f8a83.json b/.sqlx/query-d363c819661973d96d9bce08abfb9bfe29d011f0abd0f0534262d98afb2f8a83.json new file mode 100644 index 0000000..e9f52b7 --- /dev/null +++ b/.sqlx/query-d363c819661973d96d9bce08abfb9bfe29d011f0abd0f0534262d98afb2f8a83.json @@ -0,0 +1,40 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT discord_id, username, token, created_at\n FROM new_users\n WHERE discord_id = $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "discord_id", + "type_info": "Int8" + }, + { + "ordinal": 1, + "name": "username", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "token", + "type_info": "Uuid" + }, + { + "ordinal": 3, + "name": "created_at", + "type_info": "Timestamp" + } + ], + "parameters": { + "Left": [ + "Int8" + ] + }, + "nullable": [ + false, + true, + false, + false + ] + }, + "hash": "d363c819661973d96d9bce08abfb9bfe29d011f0abd0f0534262d98afb2f8a83" +} diff --git a/.sqlx/query-7de267084316a0b1c58cc2616f97fd8a6acc10897dad82a6fccc101220d7c705.json b/.sqlx/query-d579c47976661f8eef7ea7ab6a08dfc2cc59ab3e570d29436a18f82bf7c01803.json similarity index 72% rename from .sqlx/query-7de267084316a0b1c58cc2616f97fd8a6acc10897dad82a6fccc101220d7c705.json rename to .sqlx/query-d579c47976661f8eef7ea7ab6a08dfc2cc59ab3e570d29436a18f82bf7c01803.json index 9e96849..a2f8d98 100644 --- a/.sqlx/query-7de267084316a0b1c58cc2616f97fd8a6acc10897dad82a6fccc101220d7c705.json +++ b/.sqlx/query-d579c47976661f8eef7ea7ab6a08dfc2cc59ab3e570d29436a18f82bf7c01803.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT * FROM msd WHERE id = $1\n ", + "query": "\n SELECT id, rating_id, stream, jumpstream, handstream, stamina, jackspeed, chordjack, technical, created_at, updated_at\n FROM beatmap_mania_rating\n WHERE id = $1\n ", "describe": { "columns": [ { @@ -10,66 +10,51 @@ }, { "ordinal": 1, - "name": "beatmap_id", + "name": "rating_id", "type_info": "Int4" }, { "ordinal": 2, - "name": "overall", - "type_info": "Numeric" - }, - { - "ordinal": 3, "name": "stream", "type_info": "Numeric" }, { - "ordinal": 4, + "ordinal": 3, "name": "jumpstream", "type_info": "Numeric" }, { - "ordinal": 5, + "ordinal": 4, "name": "handstream", "type_info": "Numeric" }, { - "ordinal": 6, + "ordinal": 5, "name": "stamina", "type_info": "Numeric" }, { - "ordinal": 7, + "ordinal": 6, "name": "jackspeed", "type_info": "Numeric" }, { - "ordinal": 8, + "ordinal": 7, "name": "chordjack", "type_info": "Numeric" }, { - "ordinal": 9, + "ordinal": 8, "name": "technical", "type_info": "Numeric" }, { - "ordinal": 10, - "name": "rate", - "type_info": "Numeric" - }, - { - "ordinal": 11, - "name": "main_pattern", - "type_info": "Varchar" - }, - { - "ordinal": 12, + "ordinal": 9, "name": "created_at", "type_info": "Timestamp" }, { - "ordinal": 13, + "ordinal": 10, "name": "updated_at", "type_info": "Timestamp" } @@ -90,11 +75,8 @@ true, true, true, - true, - true, - true, true ] }, - "hash": "7de267084316a0b1c58cc2616f97fd8a6acc10897dad82a6fccc101220d7c705" + "hash": "d579c47976661f8eef7ea7ab6a08dfc2cc59ab3e570d29436a18f82bf7c01803" } diff --git a/.sqlx/query-d821195ea7661821da2c69b8f294636365c3e5467696009445c0ecd5b71e9b40.json b/.sqlx/query-d821195ea7661821da2c69b8f294636365c3e5467696009445c0ecd5b71e9b40.json new file mode 100644 index 0000000..fabeb54 --- /dev/null +++ b/.sqlx/query-d821195ea7661821da2c69b8f294636365c3e5467696009445c0ecd5b71e9b40.json @@ -0,0 +1,46 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT id, name, end_at, start_at, created_at\n FROM weekly\n WHERE id = $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Int4" + }, + { + "ordinal": 1, + "name": "name", + "type_info": "Varchar" + }, + { + "ordinal": 2, + "name": "end_at", + "type_info": "Timestamp" + }, + { + "ordinal": 3, + "name": "start_at", + "type_info": "Timestamp" + }, + { + "ordinal": 4, + "name": "created_at", + "type_info": "Timestamp" + } + ], + "parameters": { + "Left": [ + "Int4" + ] + }, + "nullable": [ + false, + false, + true, + true, + true + ] + }, + "hash": "d821195ea7661821da2c69b8f294636365c3e5467696009445c0ecd5b71e9b40" +} diff --git a/.sqlx/query-5cf879703f36cf898b2c5c01a2ac921064225d8c8cbcc4d5c11f25cf342b0df8.json b/.sqlx/query-df4864c8b7d1f336bd5c8e73c9544aeedf0d06612e473b5d8a9e4280ca1923de.json similarity index 73% rename from .sqlx/query-5cf879703f36cf898b2c5c01a2ac921064225d8c8cbcc4d5c11f25cf342b0df8.json rename to .sqlx/query-df4864c8b7d1f336bd5c8e73c9544aeedf0d06612e473b5d8a9e4280ca1923de.json index 894ac3d..2162cd3 100644 --- a/.sqlx/query-5cf879703f36cf898b2c5c01a2ac921064225d8c8cbcc4d5c11f25cf342b0df8.json +++ b/.sqlx/query-df4864c8b7d1f336bd5c8e73c9544aeedf0d06612e473b5d8a9e4280ca1923de.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT id, hash, replay_available, replay_path, created_at\n FROM replays\n WHERE id = $1\n ", + "query": "\n SELECT id, replay_hash, replay_available, replay_path, created_at\n FROM replay\n WHERE id = $1\n ", "describe": { "columns": [ { @@ -10,7 +10,7 @@ }, { "ordinal": 1, - "name": "hash", + "name": "replay_hash", "type_info": "Bpchar" }, { @@ -42,5 +42,5 @@ true ] }, - "hash": "5cf879703f36cf898b2c5c01a2ac921064225d8c8cbcc4d5c11f25cf342b0df8" + "hash": "df4864c8b7d1f336bd5c8e73c9544aeedf0d06612e473b5d8a9e4280ca1923de" } diff --git a/.sqlx/query-e2ba1540d14307e325d92c6de503a3c704a2999b54868360d7f097f17fca7ab6.json b/.sqlx/query-e2ba1540d14307e325d92c6de503a3c704a2999b54868360d7f097f17fca7ab6.json deleted file mode 100644 index 06607eb..0000000 --- a/.sqlx/query-e2ba1540d14307e325d92c6de503a3c704a2999b54868360d7f097f17fca7ab6.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n SELECT id, user_id, beatmap_id, score_metadata_id, replay_id, rate, \n hwid, mods, hash, rank, status, created_at\n FROM score \n WHERE user_id = $1\n ORDER BY created_at DESC\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - }, - { - "ordinal": 1, - "name": "user_id", - "type_info": "Int8" - }, - { - "ordinal": 2, - "name": "beatmap_id", - "type_info": "Int4" - }, - { - "ordinal": 3, - "name": "score_metadata_id", - "type_info": "Int4" - }, - { - "ordinal": 4, - "name": "replay_id", - "type_info": "Int4" - }, - { - "ordinal": 5, - "name": "rate", - "type_info": "Numeric" - }, - { - "ordinal": 6, - "name": "hwid", - "type_info": "Text" - }, - { - "ordinal": 7, - "name": "mods", - "type_info": "Int8" - }, - { - "ordinal": 8, - "name": "hash", - "type_info": "Bpchar" - }, - { - "ordinal": 9, - "name": "rank", - "type_info": "Varchar" - }, - { - "ordinal": 10, - "name": "status", - "type_info": "Varchar" - }, - { - "ordinal": 11, - "name": "created_at", - "type_info": "Timestamp" - } - ], - "parameters": { - "Left": [ - "Int8" - ] - }, - "nullable": [ - false, - false, - false, - false, - true, - false, - true, - false, - false, - false, - false, - true - ] - }, - "hash": "e2ba1540d14307e325d92c6de503a3c704a2999b54868360d7f097f17fca7ab6" -} diff --git a/.sqlx/query-e3b38f799b8492fb7d6ad3f7a1a3fbb5753a04eba653f036206f7fa93aa47381.json b/.sqlx/query-e3b38f799b8492fb7d6ad3f7a1a3fbb5753a04eba653f036206f7fa93aa47381.json deleted file mode 100644 index e6d8d20..0000000 --- a/.sqlx/query-e3b38f799b8492fb7d6ad3f7a1a3fbb5753a04eba653f036206f7fa93aa47381.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n UPDATE score \n SET status = $1\n WHERE id = $2\n ", - "describe": { - "columns": [], - "parameters": { - "Left": [ - "Varchar", - "Int4" - ] - }, - "nullable": [] - }, - "hash": "e3b38f799b8492fb7d6ad3f7a1a3fbb5753a04eba653f036206f7fa93aa47381" -} diff --git a/.sqlx/query-a5c2f5f58c28161df666d14059ff6f1b30d46c462e7a563c7f05873b39d6ff2e.json b/.sqlx/query-e4081c423023f1ec416be2be946f68cf9d5f0bd6e321267ea67bf88c5ccfe5b2.json similarity index 85% rename from .sqlx/query-a5c2f5f58c28161df666d14059ff6f1b30d46c462e7a563c7f05873b39d6ff2e.json rename to .sqlx/query-e4081c423023f1ec416be2be946f68cf9d5f0bd6e321267ea67bf88c5ccfe5b2.json index 24b1296..2412693 100644 --- a/.sqlx/query-a5c2f5f58c28161df666d14059ff6f1b30d46c462e7a563c7f05873b39d6ff2e.json +++ b/.sqlx/query-e4081c423023f1ec416be2be946f68cf9d5f0bd6e321267ea67bf88c5ccfe5b2.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "SELECT * FROM beatmapset WHERE osu_id = $1", + "query": "\n SELECT id, osu_id, artist, artist_unicode, title, title_unicode, creator, source, tags, has_video, has_storyboard, is_explicit, is_featured, cover_url, preview_url, osu_file_url, created_at, updated_at\n FROM beatmapset\n WHERE id = $1\n ", "describe": { "columns": [ { @@ -120,5 +120,5 @@ true ] }, - "hash": "a5c2f5f58c28161df666d14059ff6f1b30d46c462e7a563c7f05873b39d6ff2e" + "hash": "e4081c423023f1ec416be2be946f68cf9d5f0bd6e321267ea67bf88c5ccfe5b2" } diff --git a/.sqlx/query-e4e1c49de1f8a54ec7a8799e658ad8a9a8eed3c269b85960bde2a73f32c03c1f.json b/.sqlx/query-e4e1c49de1f8a54ec7a8799e658ad8a9a8eed3c269b85960bde2a73f32c03c1f.json deleted file mode 100644 index 02adf9c..0000000 --- a/.sqlx/query-e4e1c49de1f8a54ec7a8799e658ad8a9a8eed3c269b85960bde2a73f32c03c1f.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n INSERT INTO score_metadata (\n skin, pause_count, started_at, ended_at, time_paused, score, accuracy, \n max_combo, perfect, count_300, count_100, count_50, \n count_miss, count_katu, count_geki, created_at\n )\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, NOW())\n RETURNING id\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - } - ], - "parameters": { - "Left": [ - "Varchar", - "Int4", - "Timestamp", - "Timestamp", - "Int4", - "Int4", - "Numeric", - "Int4", - "Bool", - "Int4", - "Int4", - "Int4", - "Int4", - "Int4", - "Int4" - ] - }, - "nullable": [ - false - ] - }, - "hash": "e4e1c49de1f8a54ec7a8799e658ad8a9a8eed3c269b85960bde2a73f32c03c1f" -} diff --git a/.sqlx/query-e721679b2bb4b45ef70ad37c8bd5cd0d5979e35e1607001a6b08e6320eff92c2.json b/.sqlx/query-e721679b2bb4b45ef70ad37c8bd5cd0d5979e35e1607001a6b08e6320eff92c2.json deleted file mode 100644 index d7d408b..0000000 --- a/.sqlx/query-e721679b2bb4b45ef70ad37c8bd5cd0d5979e35e1607001a6b08e6320eff92c2.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT * FROM msd WHERE beatmap_id = $1 AND rate = $2", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - }, - { - "ordinal": 1, - "name": "beatmap_id", - "type_info": "Int4" - }, - { - "ordinal": 2, - "name": "overall", - "type_info": "Numeric" - }, - { - "ordinal": 3, - "name": "stream", - "type_info": "Numeric" - }, - { - "ordinal": 4, - "name": "jumpstream", - "type_info": "Numeric" - }, - { - "ordinal": 5, - "name": "handstream", - "type_info": "Numeric" - }, - { - "ordinal": 6, - "name": "stamina", - "type_info": "Numeric" - }, - { - "ordinal": 7, - "name": "jackspeed", - "type_info": "Numeric" - }, - { - "ordinal": 8, - "name": "chordjack", - "type_info": "Numeric" - }, - { - "ordinal": 9, - "name": "technical", - "type_info": "Numeric" - }, - { - "ordinal": 10, - "name": "rate", - "type_info": "Numeric" - }, - { - "ordinal": 11, - "name": "main_pattern", - "type_info": "Varchar" - }, - { - "ordinal": 12, - "name": "created_at", - "type_info": "Timestamp" - }, - { - "ordinal": 13, - "name": "updated_at", - "type_info": "Timestamp" - } - ], - "parameters": { - "Left": [ - "Int4", - "Numeric" - ] - }, - "nullable": [ - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true - ] - }, - "hash": "e721679b2bb4b45ef70ad37c8bd5cd0d5979e35e1607001a6b08e6320eff92c2" -} diff --git a/.sqlx/query-ed8d6b8145eaa4723dd967deb26c5d2dbfadb9879a4965d3b1ed5a22e73869c1.json b/.sqlx/query-ed8d6b8145eaa4723dd967deb26c5d2dbfadb9879a4965d3b1ed5a22e73869c1.json new file mode 100644 index 0000000..df24780 --- /dev/null +++ b/.sqlx/query-ed8d6b8145eaa4723dd967deb26c5d2dbfadb9879a4965d3b1ed5a22e73869c1.json @@ -0,0 +1,40 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT id, osu_hash, osu_id, created_at\n FROM pending_beatmap\n WHERE osu_hash = $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Int4" + }, + { + "ordinal": 1, + "name": "osu_hash", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "osu_id", + "type_info": "Int4" + }, + { + "ordinal": 3, + "name": "created_at", + "type_info": "Timestamp" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + true, + true + ] + }, + "hash": "ed8d6b8145eaa4723dd967deb26c5d2dbfadb9879a4965d3b1ed5a22e73869c1" +} diff --git a/.sqlx/query-f2de62bdb17e1d6ca408f328971a47de9e8cbae03a128a5566cdcbc991138720.json b/.sqlx/query-f2de62bdb17e1d6ca408f328971a47de9e8cbae03a128a5566cdcbc991138720.json deleted file mode 100644 index 9773136..0000000 --- a/.sqlx/query-f2de62bdb17e1d6ca408f328971a47de9e8cbae03a128a5566cdcbc991138720.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n SELECT EXISTS(\n SELECT 1 FROM failed_query WHERE hash = $1\n ) as exists\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "exists", - "type_info": "Bool" - } - ], - "parameters": { - "Left": [ - "Text" - ] - }, - "nullable": [ - null - ] - }, - "hash": "f2de62bdb17e1d6ca408f328971a47de9e8cbae03a128a5566cdcbc991138720" -} diff --git a/.sqlx/query-88b963ba27adab1800cabbb2fbee2d2359ab9b249c36a6da8504467ad237b8f8.json b/.sqlx/query-f43c5ffe964fa1645c76662eb79011b98eb9820a1da2d5586b5a5d2eb225a35e.json similarity index 69% rename from .sqlx/query-88b963ba27adab1800cabbb2fbee2d2359ab9b249c36a6da8504467ad237b8f8.json rename to .sqlx/query-f43c5ffe964fa1645c76662eb79011b98eb9820a1da2d5586b5a5d2eb225a35e.json index f2af9dd..3672a59 100644 --- a/.sqlx/query-88b963ba27adab1800cabbb2fbee2d2359ab9b249c36a6da8504467ad237b8f8.json +++ b/.sqlx/query-f43c5ffe964fa1645c76662eb79011b98eb9820a1da2d5586b5a5d2eb225a35e.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT id, user_id, beatmap_id, score_metadata_id, replay_id, rate, \n hwid, mods, hash, rank, status, created_at\n FROM score \n WHERE id = $1\n ", + "query": "\n SELECT id, user_id, rates_id, score_metadata_id, replay_id, hwid, mods, rank, status, created_at\n FROM score\n WHERE id = $1\n ", "describe": { "columns": [ { @@ -15,7 +15,7 @@ }, { "ordinal": 2, - "name": "beatmap_id", + "name": "rates_id", "type_info": "Int4" }, { @@ -30,36 +30,26 @@ }, { "ordinal": 5, - "name": "rate", - "type_info": "Numeric" - }, - { - "ordinal": 6, "name": "hwid", "type_info": "Text" }, { - "ordinal": 7, + "ordinal": 6, "name": "mods", "type_info": "Int8" }, { - "ordinal": 8, - "name": "hash", - "type_info": "Bpchar" - }, - { - "ordinal": 9, + "ordinal": 7, "name": "rank", "type_info": "Varchar" }, { - "ordinal": 10, + "ordinal": 8, "name": "status", "type_info": "Varchar" }, { - "ordinal": 11, + "ordinal": 9, "name": "created_at", "type_info": "Timestamp" } @@ -75,14 +65,12 @@ false, false, true, - false, true, false, false, false, - false, true ] }, - "hash": "88b963ba27adab1800cabbb2fbee2d2359ab9b249c36a6da8504467ad237b8f8" + "hash": "f43c5ffe964fa1645c76662eb79011b98eb9820a1da2d5586b5a5d2eb225a35e" } diff --git a/.sqlx/query-fa67e36e29049905a2f75f80b641d220b940336e9aee8d4a505f5879a0868cee.json b/.sqlx/query-fa67e36e29049905a2f75f80b641d220b940336e9aee8d4a505f5879a0868cee.json deleted file mode 100644 index ac8b4e4..0000000 --- a/.sqlx/query-fa67e36e29049905a2f75f80b641d220b940336e9aee8d4a505f5879a0868cee.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n WITH stats AS (\n SELECT \n (SELECT COALESCE(reltuples::bigint, 0) FROM pg_class WHERE relname = 'beatmap') as beatmap_count,\n (SELECT COALESCE(reltuples::bigint, 0) FROM pg_class WHERE relname = 'beatmapset') as beatmapset_count\n ),\n pattern_stats AS (\n SELECT main_pattern, COUNT(*) as count\n FROM msd\n WHERE rate = 1.0 AND main_pattern IS NOT NULL\n GROUP BY main_pattern\n ORDER BY count DESC\n )\n SELECT \n s.beatmap_count,\n s.beatmapset_count,\n p.main_pattern,\n p.count as pattern_count\n FROM stats s\n CROSS JOIN pattern_stats p\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "beatmap_count", - "type_info": "Int8" - }, - { - "ordinal": 1, - "name": "beatmapset_count", - "type_info": "Int8" - }, - { - "ordinal": 2, - "name": "main_pattern", - "type_info": "Varchar" - }, - { - "ordinal": 3, - "name": "pattern_count", - "type_info": "Int8" - } - ], - "parameters": { - "Left": [] - }, - "nullable": [ - null, - null, - true, - null - ] - }, - "hash": "fa67e36e29049905a2f75f80b641d220b940336e9aee8d4a505f5879a0868cee" -} diff --git a/.sqlx/query-fd1c3b0c2c1858530e7e8f6de4ede17455504e1b47f36ecd30f2d38df59509be.json b/.sqlx/query-fd1c3b0c2c1858530e7e8f6de4ede17455504e1b47f36ecd30f2d38df59509be.json deleted file mode 100644 index 6723b26..0000000 --- a/.sqlx/query-fd1c3b0c2c1858530e7e8f6de4ede17455504e1b47f36ecd30f2d38df59509be.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n INSERT INTO beatmapset (\n osu_id, artist, artist_unicode, title, title_unicode, creator, source,\n tags, has_video, has_storyboard, is_explicit, is_featured,\n cover_url, preview_url, osu_file_url\n ) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15)\n ON CONFLICT (osu_id) DO UPDATE SET\n artist = EXCLUDED.artist,\n artist_unicode = EXCLUDED.artist_unicode,\n title = EXCLUDED.title,\n title_unicode = EXCLUDED.title_unicode,\n creator = EXCLUDED.creator,\n source = EXCLUDED.source,\n tags = EXCLUDED.tags,\n has_video = EXCLUDED.has_video,\n has_storyboard = EXCLUDED.has_storyboard,\n is_explicit = EXCLUDED.is_explicit,\n is_featured = EXCLUDED.is_featured,\n cover_url = EXCLUDED.cover_url,\n preview_url = EXCLUDED.preview_url,\n osu_file_url = EXCLUDED.osu_file_url,\n updated_at = now()\n RETURNING id\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - } - ], - "parameters": { - "Left": [ - "Int4", - "Varchar", - "Varchar", - "Varchar", - "Varchar", - "Varchar", - "Varchar", - "TextArray", - "Bool", - "Bool", - "Bool", - "Bool", - "Varchar", - "Varchar", - "Varchar" - ] - }, - "nullable": [ - false - ] - }, - "hash": "fd1c3b0c2c1858530e7e8f6de4ede17455504e1b47f36ecd30f2d38df59509be" -} diff --git a/ANALYSE_RAPPORT.md b/ANALYSE_RAPPORT.md new file mode 100644 index 0000000..95842c7 --- /dev/null +++ b/ANALYSE_RAPPORT.md @@ -0,0 +1,164 @@ +# Rapport d'Analyse - Module DB + +## 📋 Vue d'ensemble + +Le module `db/` est une bibliothèque Rust bien structurée pour l'accès aux données PostgreSQL avec SQLx. Il suit une architecture modulaire claire avec des patterns cohérents. + +## ✅ Points Forts + +### 🏗️ Architecture et Organisation +- **Structure modulaire excellente** : Séparation claire entre types, validations, requêtes et implémentations +- **Pattern cohérent** : Chaque modèle suit la même structure (`types.rs`, `validators.rs`, `impl.rs`, `query/`, `tests/`) +- **Macros intelligentes** : Réduction significative du boilerplate SQL avec `define_by_id!`, `define_insert_returning_id!`, etc. +- **Documentation complète** : README détaillé avec exemples d'utilisation + +### 🔧 Qualité Technique +- **Type safety** : Utilisation appropriée de `sqlx::FromRow` et validation avec `validator` +- **Gestion d'erreurs** : Propagation correcte des erreurs SQLx +- **Validation robuste** : Validateurs personnalisés pour les contraintes métier +- **Regex centralisées** : Patterns réutilisables dans `utils.rs` avec `lazy_static` + +### 📦 Dépendances Appropriées +- **SQLx 0.8** : Version stable avec support PostgreSQL complet +- **Chrono + Serde** : Sérialisation/désérialisation des dates et JSON +- **BigDecimal** : Précision pour les calculs financiers/ratings +- **Validator** : Validation des données d'entrée + +## ⚠️ Points d'Amélioration + +### 🔄 Modernisation des Dépendances + +#### 1. **Migration vers SQLx 0.8+ (Recommandé)** +```toml +# Actuel +sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "postgres", "chrono", "json", "bigdecimal", "macros", "uuid"] } + +# Suggéré - SQLx 0.8 est déjà à jour, mais vérifier les features +sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "postgres", "chrono", "json", "bigdecimal", "macros", "uuid", "migrate"] } +``` + +#### 2. **Remplacement de lazy_static par once_cell** +```toml +# Remplacer +lazy_static = "1.4" + +# Par +once_cell = "1.19" +``` + +**Code à modifier dans `utils.rs` :** +```rust +// Remplacer +use lazy_static::lazy_static; +lazy_static! { + pub static ref HASH_REGEX: Regex = Regex::new(r"^[a-zA-Z0-9]+$").unwrap(); +} + +// Par +use once_cell::sync::Lazy; +pub static HASH_REGEX: Lazy = Lazy::new(|| Regex::new(r"^[a-zA-Z0-9]+$").unwrap()); +``` + +### 🧪 Tests et Qualité + +#### 3. **Tests Manquants** +- **Problème** : Le fichier `tests/mod.rs` est vide dans la plupart des modèles +- **Solution** : Ajouter des tests unitaires pour : + - Validation des types + - Requêtes de base (insert, find_by_id) + - Gestion d'erreurs + +**Exemple de test à ajouter :** +```rust +#[cfg(test)] +mod tests { + use super::*; + use validator::Validate; + + #[test] + fn test_beatmap_validation() { + let valid_beatmap = BeatmapRow { + id: 1, + osu_id: Some(123), + difficulty: "Normal".to_string(), + // ... autres champs + }; + assert!(valid_beatmap.validate().is_ok()); + } +} +``` + +#### 4. **Gestion d'Erreurs Améliorée** +```rust +// Dans impl.rs, remplacer +.ok_or(SqlxError::RowNotFound) + +// Par des erreurs plus spécifiques +.ok_or_else(|| SqlxError::RowNotFound) +``` + +### 🚀 Optimisations + +#### 5. **Requêtes Optimisées** +- **Problème** : Requêtes `query_as!` répétitives avec colonnes complètes +- **Solution** : Utiliser les macros existantes plus systématiquement + +#### 6. **Validation des Données** +- **Ajouter** : Validation des contraintes de clés étrangères +- **Exemple** : Vérifier que `beatmapset_id` existe avant insertion + +### 📚 Documentation + +#### 7. **Documentation des Types** +```rust +/// Représente une beatmap dans la base de données +/// +/// # Exemple +/// ```rust +/// let beatmap = BeatmapRow { +/// id: 1, +/// osu_id: Some(123), +/// difficulty: "Normal".to_string(), +/// // ... +/// }; +/// ``` +#[derive(Debug, Clone, sqlx::FromRow, Validate)] +pub struct BeatmapRow { + // ... +} +``` + +## 🎯 Recommandations Prioritaires + +### 🔥 Critique (À faire immédiatement) +1. **Ajouter des tests unitaires** - Actuellement manquants +2. **Migrer de lazy_static vers once_cell** - Plus moderne et performant + +### 📈 Important (À faire bientôt) +3. **Améliorer la gestion d'erreurs** - Messages plus spécifiques +4. **Ajouter la validation des clés étrangères** - Intégrité des données +5. **Documenter les types complexes** - Meilleure maintenabilité + +### 💡 Nice-to-have (À faire plus tard) +6. **Ajouter des migrations SQL** - Avec la feature `migrate` de SQLx +7. **Optimiser les requêtes** - Utiliser plus les macros +8. **Ajouter des benchmarks** - Performance des requêtes + +## 🏆 Verdict Global + +**Score : 8.5/10** + +Le module `db/` est **très bien conçu** avec une architecture solide et des patterns cohérents. Les points d'amélioration sont principalement des optimisations et des bonnes pratiques plutôt que des problèmes critiques. + +### Points Exceptionnels : +- Architecture modulaire exemplaire +- Macros intelligentes pour réduire le boilerplate +- Validation robuste des données +- Documentation utilisateur complète + +### Actions Recommandées : +1. **Immédiat** : Ajouter des tests unitaires +2. **Court terme** : Migrer vers once_cell +3. **Moyen terme** : Améliorer la gestion d'erreurs et la validation + +Le code est **prêt pour la production** avec ces améliorations mineures. diff --git a/Cargo.toml b/Cargo.toml index 0d0abb5..488cab2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,19 +4,25 @@ version = "0.3.0" edition = "2021" [dependencies] +# type chrono = { version = "0.4", features = ["serde"] } bigdecimal = { version = "0.4.8", features = ["serde"] } +uuid = "1.18.1" +# serde for jsonb serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" +# logging tracing = "0.1" tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } +# sql sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "postgres", "chrono", "json", "bigdecimal", "macros", "uuid"] } +# validator validator = { version = "0.20.0", features = ["derive"] } regex = "1.0" -lazy_static = "1.4" -uuid = "1.18.1" +# lazy_static for shared regexes +lazy_static = "1.4" \ No newline at end of file From 91888d41758f78dc452826f8c20530ea6a8e5a17 Mon Sep 17 00:00:00 2001 From: Glubus Date: Thu, 18 Sep 2025 23:25:20 +0200 Subject: [PATCH 2/8] fix: sqlx prepared --- ANALYSE_RAPPORT.md | 164 --------------------------------------------- 1 file changed, 164 deletions(-) delete mode 100644 ANALYSE_RAPPORT.md diff --git a/ANALYSE_RAPPORT.md b/ANALYSE_RAPPORT.md deleted file mode 100644 index 95842c7..0000000 --- a/ANALYSE_RAPPORT.md +++ /dev/null @@ -1,164 +0,0 @@ -# Rapport d'Analyse - Module DB - -## 📋 Vue d'ensemble - -Le module `db/` est une bibliothèque Rust bien structurée pour l'accès aux données PostgreSQL avec SQLx. Il suit une architecture modulaire claire avec des patterns cohérents. - -## ✅ Points Forts - -### 🏗️ Architecture et Organisation -- **Structure modulaire excellente** : Séparation claire entre types, validations, requêtes et implémentations -- **Pattern cohérent** : Chaque modèle suit la même structure (`types.rs`, `validators.rs`, `impl.rs`, `query/`, `tests/`) -- **Macros intelligentes** : Réduction significative du boilerplate SQL avec `define_by_id!`, `define_insert_returning_id!`, etc. -- **Documentation complète** : README détaillé avec exemples d'utilisation - -### 🔧 Qualité Technique -- **Type safety** : Utilisation appropriée de `sqlx::FromRow` et validation avec `validator` -- **Gestion d'erreurs** : Propagation correcte des erreurs SQLx -- **Validation robuste** : Validateurs personnalisés pour les contraintes métier -- **Regex centralisées** : Patterns réutilisables dans `utils.rs` avec `lazy_static` - -### 📦 Dépendances Appropriées -- **SQLx 0.8** : Version stable avec support PostgreSQL complet -- **Chrono + Serde** : Sérialisation/désérialisation des dates et JSON -- **BigDecimal** : Précision pour les calculs financiers/ratings -- **Validator** : Validation des données d'entrée - -## ⚠️ Points d'Amélioration - -### 🔄 Modernisation des Dépendances - -#### 1. **Migration vers SQLx 0.8+ (Recommandé)** -```toml -# Actuel -sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "postgres", "chrono", "json", "bigdecimal", "macros", "uuid"] } - -# Suggéré - SQLx 0.8 est déjà à jour, mais vérifier les features -sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "postgres", "chrono", "json", "bigdecimal", "macros", "uuid", "migrate"] } -``` - -#### 2. **Remplacement de lazy_static par once_cell** -```toml -# Remplacer -lazy_static = "1.4" - -# Par -once_cell = "1.19" -``` - -**Code à modifier dans `utils.rs` :** -```rust -// Remplacer -use lazy_static::lazy_static; -lazy_static! { - pub static ref HASH_REGEX: Regex = Regex::new(r"^[a-zA-Z0-9]+$").unwrap(); -} - -// Par -use once_cell::sync::Lazy; -pub static HASH_REGEX: Lazy = Lazy::new(|| Regex::new(r"^[a-zA-Z0-9]+$").unwrap()); -``` - -### 🧪 Tests et Qualité - -#### 3. **Tests Manquants** -- **Problème** : Le fichier `tests/mod.rs` est vide dans la plupart des modèles -- **Solution** : Ajouter des tests unitaires pour : - - Validation des types - - Requêtes de base (insert, find_by_id) - - Gestion d'erreurs - -**Exemple de test à ajouter :** -```rust -#[cfg(test)] -mod tests { - use super::*; - use validator::Validate; - - #[test] - fn test_beatmap_validation() { - let valid_beatmap = BeatmapRow { - id: 1, - osu_id: Some(123), - difficulty: "Normal".to_string(), - // ... autres champs - }; - assert!(valid_beatmap.validate().is_ok()); - } -} -``` - -#### 4. **Gestion d'Erreurs Améliorée** -```rust -// Dans impl.rs, remplacer -.ok_or(SqlxError::RowNotFound) - -// Par des erreurs plus spécifiques -.ok_or_else(|| SqlxError::RowNotFound) -``` - -### 🚀 Optimisations - -#### 5. **Requêtes Optimisées** -- **Problème** : Requêtes `query_as!` répétitives avec colonnes complètes -- **Solution** : Utiliser les macros existantes plus systématiquement - -#### 6. **Validation des Données** -- **Ajouter** : Validation des contraintes de clés étrangères -- **Exemple** : Vérifier que `beatmapset_id` existe avant insertion - -### 📚 Documentation - -#### 7. **Documentation des Types** -```rust -/// Représente une beatmap dans la base de données -/// -/// # Exemple -/// ```rust -/// let beatmap = BeatmapRow { -/// id: 1, -/// osu_id: Some(123), -/// difficulty: "Normal".to_string(), -/// // ... -/// }; -/// ``` -#[derive(Debug, Clone, sqlx::FromRow, Validate)] -pub struct BeatmapRow { - // ... -} -``` - -## 🎯 Recommandations Prioritaires - -### 🔥 Critique (À faire immédiatement) -1. **Ajouter des tests unitaires** - Actuellement manquants -2. **Migrer de lazy_static vers once_cell** - Plus moderne et performant - -### 📈 Important (À faire bientôt) -3. **Améliorer la gestion d'erreurs** - Messages plus spécifiques -4. **Ajouter la validation des clés étrangères** - Intégrité des données -5. **Documenter les types complexes** - Meilleure maintenabilité - -### 💡 Nice-to-have (À faire plus tard) -6. **Ajouter des migrations SQL** - Avec la feature `migrate` de SQLx -7. **Optimiser les requêtes** - Utiliser plus les macros -8. **Ajouter des benchmarks** - Performance des requêtes - -## 🏆 Verdict Global - -**Score : 8.5/10** - -Le module `db/` est **très bien conçu** avec une architecture solide et des patterns cohérents. Les points d'amélioration sont principalement des optimisations et des bonnes pratiques plutôt que des problèmes critiques. - -### Points Exceptionnels : -- Architecture modulaire exemplaire -- Macros intelligentes pour réduire le boilerplate -- Validation robuste des données -- Documentation utilisateur complète - -### Actions Recommandées : -1. **Immédiat** : Ajouter des tests unitaires -2. **Court terme** : Migrer vers once_cell -3. **Moyen terme** : Améliorer la gestion d'erreurs et la validation - -Le code est **prêt pour la production** avec ces améliorations mineures. From 641d27ffa5743f853e877248d962d366784c7e54 Mon Sep 17 00:00:00 2001 From: Glubus Date: Thu, 18 Sep 2025 23:27:22 +0200 Subject: [PATCH 3/8] chores: from lazy static to once cell --- Cargo.toml | 2 +- src/utils.rs | 20 +++++++++----------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 488cab2..f70a9d7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,4 +25,4 @@ validator = { version = "0.20.0", features = ["derive"] } regex = "1.0" # lazy_static for shared regexes -lazy_static = "1.4" \ No newline at end of file +once_cell = "1.20.0" \ No newline at end of file diff --git a/src/utils.rs b/src/utils.rs index 40d1193..ada0578 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,23 +1,21 @@ -use lazy_static::lazy_static; +use once_cell::sync::Lazy; use regex::Regex; -lazy_static! { /// Regex pour valider les hash alphanumériques - pub static ref HASH_REGEX: Regex = Regex::new(r"^[a-zA-Z0-9]+$").unwrap(); - + pub static HASH_REGEX: Lazy = Lazy::new(|| Regex::new(r"^[a-zA-Z0-9]+$").unwrap()); /// Regex pour valider les emails - pub static ref EMAIL_REGEX: Regex = Regex::new(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$").unwrap(); + pub static EMAIL_REGEX: Lazy = Lazy::new(|| Regex::new(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$").unwrap()); /// Regex pour valider les noms d'utilisateur (alphanumériques + underscore) - pub static ref USERNAME_REGEX: Regex = Regex::new(r"^[a-zA-Z0-9_]+$").unwrap(); + pub static USERNAME_REGEX: Lazy = Lazy::new(|| Regex::new(r"^[a-zA-Z0-9_]+$").unwrap()); /// Regex pour valider les UUIDs - pub static ref UUID_REGEX: Regex = Regex::new(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$").unwrap(); + pub static UUID_REGEX: Lazy = Lazy::new(|| Regex::new(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$").unwrap()); /// Regex pour valider les types de rating (etterna, osu, quaver, malody) - pub static ref RATING_TYPE_REGEX: Regex = Regex::new(r"^(etterna|osu|quaver|malody)$").unwrap(); + pub static RATING_TYPE_REGEX: Lazy = Lazy::new(|| Regex::new(r"^(etterna|osu|quaver|malody)$").unwrap()); + + pub static RANK_REGEX: Lazy = Lazy::new(|| Regex::new(r"^(SS|S|A|B|C|D|F|FAILED)$").unwrap()); - pub static ref RANK_REGEX: Regex = Regex::new(r"^(SS|S|A|B|C|D|F|FAILED)$").unwrap(); + pub static SCORE_STATUS_REGEX: Lazy = Lazy::new(|| Regex::new(r"^(pending|processing|validated|cheated|unsubmitted)$").unwrap()); - pub static ref SCORE_STATUS_REGEX: Regex = Regex::new(r"^(pending|processing|validated|cheated|unsubmitted)$").unwrap(); -} From 5cbb7136c0bdc9795d8e2fe5eb37f2b22506da26 Mon Sep 17 00:00:00 2001 From: Glubus Date: Thu, 18 Sep 2025 23:27:41 +0200 Subject: [PATCH 4/8] forgot to fmt --- src/utils.rs | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/utils.rs b/src/utils.rs index ada0578..c0a0803 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,21 +1,26 @@ use once_cell::sync::Lazy; use regex::Regex; - /// Regex pour valider les hash alphanumériques - pub static HASH_REGEX: Lazy = Lazy::new(|| Regex::new(r"^[a-zA-Z0-9]+$").unwrap()); - /// Regex pour valider les emails - pub static EMAIL_REGEX: Lazy = Lazy::new(|| Regex::new(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$").unwrap()); +/// Regex pour valider les hash alphanumériques +pub static HASH_REGEX: Lazy = Lazy::new(|| Regex::new(r"^[a-zA-Z0-9]+$").unwrap()); +/// Regex pour valider les emails +pub static EMAIL_REGEX: Lazy = + Lazy::new(|| Regex::new(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$").unwrap()); - /// Regex pour valider les noms d'utilisateur (alphanumériques + underscore) - pub static USERNAME_REGEX: Lazy = Lazy::new(|| Regex::new(r"^[a-zA-Z0-9_]+$").unwrap()); +/// Regex pour valider les noms d'utilisateur (alphanumériques + underscore) +pub static USERNAME_REGEX: Lazy = Lazy::new(|| Regex::new(r"^[a-zA-Z0-9_]+$").unwrap()); - /// Regex pour valider les UUIDs - pub static UUID_REGEX: Lazy = Lazy::new(|| Regex::new(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$").unwrap()); +/// Regex pour valider les UUIDs +pub static UUID_REGEX: Lazy = Lazy::new(|| { + Regex::new(r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$").unwrap() +}); - /// Regex pour valider les types de rating (etterna, osu, quaver, malody) - pub static RATING_TYPE_REGEX: Lazy = Lazy::new(|| Regex::new(r"^(etterna|osu|quaver|malody)$").unwrap()); +/// Regex pour valider les types de rating (etterna, osu, quaver, malody) +pub static RATING_TYPE_REGEX: Lazy = + Lazy::new(|| Regex::new(r"^(etterna|osu|quaver|malody)$").unwrap()); - pub static RANK_REGEX: Lazy = Lazy::new(|| Regex::new(r"^(SS|S|A|B|C|D|F|FAILED)$").unwrap()); - - pub static SCORE_STATUS_REGEX: Lazy = Lazy::new(|| Regex::new(r"^(pending|processing|validated|cheated|unsubmitted)$").unwrap()); +pub static RANK_REGEX: Lazy = + Lazy::new(|| Regex::new(r"^(SS|S|A|B|C|D|F|FAILED)$").unwrap()); +pub static SCORE_STATUS_REGEX: Lazy = + Lazy::new(|| Regex::new(r"^(pending|processing|validated|cheated|unsubmitted)$").unwrap()); From 5739231efcc1ce6ad2b10b57023151cfbd767481 Mon Sep 17 00:00:00 2001 From: Glubus Date: Thu, 18 Sep 2025 23:29:51 +0200 Subject: [PATCH 5/8] fix: making clippy happy:) --- src/models/{beatmap => beatmaps}/beatmap/impl.rs | 0 src/models/{beatmap => beatmaps}/beatmap/mod.rs | 0 src/models/{beatmap => beatmaps}/beatmap/query/by_id.rs | 0 src/models/{beatmap => beatmaps}/beatmap/query/insert.rs | 0 src/models/{beatmap => beatmaps}/beatmap/query/mod.rs | 0 src/models/{beatmap => beatmaps}/beatmap/tests/mod.rs | 0 src/models/{beatmap => beatmaps}/beatmap/types.rs | 0 src/models/{beatmap => beatmaps}/beatmap/validators.rs | 0 src/models/{beatmap => beatmaps}/beatmapset/impl.rs | 0 src/models/{beatmap => beatmaps}/beatmapset/mod.rs | 0 src/models/{beatmap => beatmaps}/beatmapset/query/by_id.rs | 0 src/models/{beatmap => beatmaps}/beatmapset/query/insert.rs | 0 src/models/{beatmap => beatmaps}/beatmapset/query/mod.rs | 0 src/models/{beatmap => beatmaps}/beatmapset/tests/mod.rs | 0 src/models/{beatmap => beatmaps}/beatmapset/types.rs | 0 src/models/{beatmap => beatmaps}/mod.rs | 0 src/models/{beatmap => beatmaps}/pending_beatmap/impl.rs | 0 src/models/{beatmap => beatmaps}/pending_beatmap/mod.rs | 0 src/models/{beatmap => beatmaps}/pending_beatmap/query/by_id.rs | 0 src/models/{beatmap => beatmaps}/pending_beatmap/query/insert.rs | 0 src/models/{beatmap => beatmaps}/pending_beatmap/query/mod.rs | 0 src/models/{beatmap => beatmaps}/pending_beatmap/tests/mod.rs | 0 src/models/{beatmap => beatmaps}/pending_beatmap/types.rs | 0 src/models/{beatmap => beatmaps}/rates/impl.rs | 0 src/models/{beatmap => beatmaps}/rates/mod.rs | 0 src/models/{beatmap => beatmaps}/rates/query/by_id.rs | 0 src/models/{beatmap => beatmaps}/rates/query/insert.rs | 0 src/models/{beatmap => beatmaps}/rates/query/mod.rs | 0 src/models/{beatmap => beatmaps}/rates/tests/mod.rs | 0 src/models/{beatmap => beatmaps}/rates/types.rs | 0 30 files changed, 0 insertions(+), 0 deletions(-) rename src/models/{beatmap => beatmaps}/beatmap/impl.rs (100%) rename src/models/{beatmap => beatmaps}/beatmap/mod.rs (100%) rename src/models/{beatmap => beatmaps}/beatmap/query/by_id.rs (100%) rename src/models/{beatmap => beatmaps}/beatmap/query/insert.rs (100%) rename src/models/{beatmap => beatmaps}/beatmap/query/mod.rs (100%) rename src/models/{beatmap => beatmaps}/beatmap/tests/mod.rs (100%) rename src/models/{beatmap => beatmaps}/beatmap/types.rs (100%) rename src/models/{beatmap => beatmaps}/beatmap/validators.rs (100%) rename src/models/{beatmap => beatmaps}/beatmapset/impl.rs (100%) rename src/models/{beatmap => beatmaps}/beatmapset/mod.rs (100%) rename src/models/{beatmap => beatmaps}/beatmapset/query/by_id.rs (100%) rename src/models/{beatmap => beatmaps}/beatmapset/query/insert.rs (100%) rename src/models/{beatmap => beatmaps}/beatmapset/query/mod.rs (100%) rename src/models/{beatmap => beatmaps}/beatmapset/tests/mod.rs (100%) rename src/models/{beatmap => beatmaps}/beatmapset/types.rs (100%) rename src/models/{beatmap => beatmaps}/mod.rs (100%) rename src/models/{beatmap => beatmaps}/pending_beatmap/impl.rs (100%) rename src/models/{beatmap => beatmaps}/pending_beatmap/mod.rs (100%) rename src/models/{beatmap => beatmaps}/pending_beatmap/query/by_id.rs (100%) rename src/models/{beatmap => beatmaps}/pending_beatmap/query/insert.rs (100%) rename src/models/{beatmap => beatmaps}/pending_beatmap/query/mod.rs (100%) rename src/models/{beatmap => beatmaps}/pending_beatmap/tests/mod.rs (100%) rename src/models/{beatmap => beatmaps}/pending_beatmap/types.rs (100%) rename src/models/{beatmap => beatmaps}/rates/impl.rs (100%) rename src/models/{beatmap => beatmaps}/rates/mod.rs (100%) rename src/models/{beatmap => beatmaps}/rates/query/by_id.rs (100%) rename src/models/{beatmap => beatmaps}/rates/query/insert.rs (100%) rename src/models/{beatmap => beatmaps}/rates/query/mod.rs (100%) rename src/models/{beatmap => beatmaps}/rates/tests/mod.rs (100%) rename src/models/{beatmap => beatmaps}/rates/types.rs (100%) diff --git a/src/models/beatmap/beatmap/impl.rs b/src/models/beatmaps/beatmap/impl.rs similarity index 100% rename from src/models/beatmap/beatmap/impl.rs rename to src/models/beatmaps/beatmap/impl.rs diff --git a/src/models/beatmap/beatmap/mod.rs b/src/models/beatmaps/beatmap/mod.rs similarity index 100% rename from src/models/beatmap/beatmap/mod.rs rename to src/models/beatmaps/beatmap/mod.rs diff --git a/src/models/beatmap/beatmap/query/by_id.rs b/src/models/beatmaps/beatmap/query/by_id.rs similarity index 100% rename from src/models/beatmap/beatmap/query/by_id.rs rename to src/models/beatmaps/beatmap/query/by_id.rs diff --git a/src/models/beatmap/beatmap/query/insert.rs b/src/models/beatmaps/beatmap/query/insert.rs similarity index 100% rename from src/models/beatmap/beatmap/query/insert.rs rename to src/models/beatmaps/beatmap/query/insert.rs diff --git a/src/models/beatmap/beatmap/query/mod.rs b/src/models/beatmaps/beatmap/query/mod.rs similarity index 100% rename from src/models/beatmap/beatmap/query/mod.rs rename to src/models/beatmaps/beatmap/query/mod.rs diff --git a/src/models/beatmap/beatmap/tests/mod.rs b/src/models/beatmaps/beatmap/tests/mod.rs similarity index 100% rename from src/models/beatmap/beatmap/tests/mod.rs rename to src/models/beatmaps/beatmap/tests/mod.rs diff --git a/src/models/beatmap/beatmap/types.rs b/src/models/beatmaps/beatmap/types.rs similarity index 100% rename from src/models/beatmap/beatmap/types.rs rename to src/models/beatmaps/beatmap/types.rs diff --git a/src/models/beatmap/beatmap/validators.rs b/src/models/beatmaps/beatmap/validators.rs similarity index 100% rename from src/models/beatmap/beatmap/validators.rs rename to src/models/beatmaps/beatmap/validators.rs diff --git a/src/models/beatmap/beatmapset/impl.rs b/src/models/beatmaps/beatmapset/impl.rs similarity index 100% rename from src/models/beatmap/beatmapset/impl.rs rename to src/models/beatmaps/beatmapset/impl.rs diff --git a/src/models/beatmap/beatmapset/mod.rs b/src/models/beatmaps/beatmapset/mod.rs similarity index 100% rename from src/models/beatmap/beatmapset/mod.rs rename to src/models/beatmaps/beatmapset/mod.rs diff --git a/src/models/beatmap/beatmapset/query/by_id.rs b/src/models/beatmaps/beatmapset/query/by_id.rs similarity index 100% rename from src/models/beatmap/beatmapset/query/by_id.rs rename to src/models/beatmaps/beatmapset/query/by_id.rs diff --git a/src/models/beatmap/beatmapset/query/insert.rs b/src/models/beatmaps/beatmapset/query/insert.rs similarity index 100% rename from src/models/beatmap/beatmapset/query/insert.rs rename to src/models/beatmaps/beatmapset/query/insert.rs diff --git a/src/models/beatmap/beatmapset/query/mod.rs b/src/models/beatmaps/beatmapset/query/mod.rs similarity index 100% rename from src/models/beatmap/beatmapset/query/mod.rs rename to src/models/beatmaps/beatmapset/query/mod.rs diff --git a/src/models/beatmap/beatmapset/tests/mod.rs b/src/models/beatmaps/beatmapset/tests/mod.rs similarity index 100% rename from src/models/beatmap/beatmapset/tests/mod.rs rename to src/models/beatmaps/beatmapset/tests/mod.rs diff --git a/src/models/beatmap/beatmapset/types.rs b/src/models/beatmaps/beatmapset/types.rs similarity index 100% rename from src/models/beatmap/beatmapset/types.rs rename to src/models/beatmaps/beatmapset/types.rs diff --git a/src/models/beatmap/mod.rs b/src/models/beatmaps/mod.rs similarity index 100% rename from src/models/beatmap/mod.rs rename to src/models/beatmaps/mod.rs diff --git a/src/models/beatmap/pending_beatmap/impl.rs b/src/models/beatmaps/pending_beatmap/impl.rs similarity index 100% rename from src/models/beatmap/pending_beatmap/impl.rs rename to src/models/beatmaps/pending_beatmap/impl.rs diff --git a/src/models/beatmap/pending_beatmap/mod.rs b/src/models/beatmaps/pending_beatmap/mod.rs similarity index 100% rename from src/models/beatmap/pending_beatmap/mod.rs rename to src/models/beatmaps/pending_beatmap/mod.rs diff --git a/src/models/beatmap/pending_beatmap/query/by_id.rs b/src/models/beatmaps/pending_beatmap/query/by_id.rs similarity index 100% rename from src/models/beatmap/pending_beatmap/query/by_id.rs rename to src/models/beatmaps/pending_beatmap/query/by_id.rs diff --git a/src/models/beatmap/pending_beatmap/query/insert.rs b/src/models/beatmaps/pending_beatmap/query/insert.rs similarity index 100% rename from src/models/beatmap/pending_beatmap/query/insert.rs rename to src/models/beatmaps/pending_beatmap/query/insert.rs diff --git a/src/models/beatmap/pending_beatmap/query/mod.rs b/src/models/beatmaps/pending_beatmap/query/mod.rs similarity index 100% rename from src/models/beatmap/pending_beatmap/query/mod.rs rename to src/models/beatmaps/pending_beatmap/query/mod.rs diff --git a/src/models/beatmap/pending_beatmap/tests/mod.rs b/src/models/beatmaps/pending_beatmap/tests/mod.rs similarity index 100% rename from src/models/beatmap/pending_beatmap/tests/mod.rs rename to src/models/beatmaps/pending_beatmap/tests/mod.rs diff --git a/src/models/beatmap/pending_beatmap/types.rs b/src/models/beatmaps/pending_beatmap/types.rs similarity index 100% rename from src/models/beatmap/pending_beatmap/types.rs rename to src/models/beatmaps/pending_beatmap/types.rs diff --git a/src/models/beatmap/rates/impl.rs b/src/models/beatmaps/rates/impl.rs similarity index 100% rename from src/models/beatmap/rates/impl.rs rename to src/models/beatmaps/rates/impl.rs diff --git a/src/models/beatmap/rates/mod.rs b/src/models/beatmaps/rates/mod.rs similarity index 100% rename from src/models/beatmap/rates/mod.rs rename to src/models/beatmaps/rates/mod.rs diff --git a/src/models/beatmap/rates/query/by_id.rs b/src/models/beatmaps/rates/query/by_id.rs similarity index 100% rename from src/models/beatmap/rates/query/by_id.rs rename to src/models/beatmaps/rates/query/by_id.rs diff --git a/src/models/beatmap/rates/query/insert.rs b/src/models/beatmaps/rates/query/insert.rs similarity index 100% rename from src/models/beatmap/rates/query/insert.rs rename to src/models/beatmaps/rates/query/insert.rs diff --git a/src/models/beatmap/rates/query/mod.rs b/src/models/beatmaps/rates/query/mod.rs similarity index 100% rename from src/models/beatmap/rates/query/mod.rs rename to src/models/beatmaps/rates/query/mod.rs diff --git a/src/models/beatmap/rates/tests/mod.rs b/src/models/beatmaps/rates/tests/mod.rs similarity index 100% rename from src/models/beatmap/rates/tests/mod.rs rename to src/models/beatmaps/rates/tests/mod.rs diff --git a/src/models/beatmap/rates/types.rs b/src/models/beatmaps/rates/types.rs similarity index 100% rename from src/models/beatmap/rates/types.rs rename to src/models/beatmaps/rates/types.rs From 8178ed13a64e1a8478d3a514924e1b0717c2c03f Mon Sep 17 00:00:00 2001 From: Glubus Date: Thu, 18 Sep 2025 23:34:16 +0200 Subject: [PATCH 6/8] fix: making clippy happy :) --- src/models/beatmaps/beatmap/query/by_id.rs | 2 +- src/models/beatmaps/beatmap/query/insert.rs | 2 +- src/models/beatmaps/beatmapset/query/by_id.rs | 2 +- src/models/beatmaps/beatmapset/query/insert.rs | 2 +- .../beatmaps/pending_beatmap/query/by_id.rs | 2 +- .../beatmaps/pending_beatmap/query/insert.rs | 2 +- src/models/beatmaps/rates/query/by_id.rs | 2 +- src/models/beatmaps/rates/query/insert.rs | 2 +- src/models/mod.rs | 15 ++++----------- src/models/{users => user}/bans/impl.rs | 0 src/models/{users => user}/bans/mod.rs | 0 src/models/{users => user}/bans/query/by_id.rs | 2 +- src/models/{users => user}/bans/query/insert.rs | 2 +- src/models/{users => user}/bans/query/mod.rs | 0 src/models/{users => user}/bans/tests/mod.rs | 0 src/models/{users => user}/bans/types.rs | 0 src/models/{users => user}/device_tokens/impl.rs | 0 src/models/{users => user}/device_tokens/mod.rs | 0 .../{users => user}/device_tokens/query/by_id.rs | 2 +- .../{users => user}/device_tokens/query/insert.rs | 2 +- .../{users => user}/device_tokens/query/mod.rs | 0 .../{users => user}/device_tokens/tests/mod.rs | 0 src/models/{users => user}/device_tokens/types.rs | 0 src/models/{users => user}/mod.rs | 0 src/models/{users => user}/new_users/impl.rs | 0 src/models/{users => user}/new_users/mod.rs | 0 .../{users => user}/new_users/query/by_id.rs | 2 +- .../{users => user}/new_users/query/insert.rs | 2 +- src/models/{users => user}/new_users/query/mod.rs | 0 src/models/{users => user}/new_users/tests/mod.rs | 0 src/models/{users => user}/new_users/types.rs | 0 src/models/{users => user}/users/impl.rs | 0 src/models/{users => user}/users/mod.rs | 0 src/models/{users => user}/users/query/by_id.rs | 2 +- src/models/{users => user}/users/query/insert.rs | 2 +- src/models/{users => user}/users/query/mod.rs | 0 src/models/{users => user}/users/tests/mod.rs | 0 src/models/{users => user}/users/types.rs | 0 src/models/{weekly => weeklys}/mod.rs | 0 src/models/{weekly => weeklys}/weekly/impl.rs | 0 src/models/{weekly => weeklys}/weekly/mod.rs | 0 .../{weekly => weeklys}/weekly/query/by_id.rs | 2 +- .../{weekly => weeklys}/weekly/query/insert.rs | 2 +- .../{weekly => weeklys}/weekly/query/mod.rs | 0 .../{weekly => weeklys}/weekly/tests/mod.rs | 0 src/models/{weekly => weeklys}/weekly/types.rs | 0 .../{weekly => weeklys}/weekly_maps/impl.rs | 0 src/models/{weekly => weeklys}/weekly_maps/mod.rs | 0 .../weekly_maps/query/by_id.rs | 2 +- .../weekly_maps/query/insert.rs | 2 +- .../{weekly => weeklys}/weekly_maps/query/mod.rs | 0 .../{weekly => weeklys}/weekly_maps/tests/mod.rs | 0 .../{weekly => weeklys}/weekly_maps/types.rs | 0 .../weekly_participants/impl.rs | 0 .../weekly_participants/mod.rs | 0 .../weekly_participants/query/by_id.rs | 2 +- .../weekly_participants/query/insert.rs | 2 +- .../weekly_participants/query/mod.rs | 0 .../weekly_participants/tests/mod.rs | 0 .../weekly_participants/types.rs | 0 .../{weekly => weeklys}/weekly_pool/impl.rs | 0 src/models/{weekly => weeklys}/weekly_pool/mod.rs | 0 .../weekly_pool/query/by_id.rs | 2 +- .../weekly_pool/query/insert.rs | 2 +- .../{weekly => weeklys}/weekly_pool/query/mod.rs | 0 .../{weekly => weeklys}/weekly_pool/tests/mod.rs | 0 .../{weekly => weeklys}/weekly_pool/types.rs | 0 .../{weekly => weeklys}/weekly_scores/impl.rs | 0 .../{weekly => weeklys}/weekly_scores/mod.rs | 0 .../weekly_scores/query/by_id.rs | 2 +- .../weekly_scores/query/insert.rs | 2 +- .../weekly_scores/query/mod.rs | 0 .../weekly_scores/tests/mod.rs | 0 .../{weekly => weeklys}/weekly_scores/types.rs | 0 74 files changed, 30 insertions(+), 37 deletions(-) rename src/models/{users => user}/bans/impl.rs (100%) rename src/models/{users => user}/bans/mod.rs (100%) rename src/models/{users => user}/bans/query/by_id.rs (87%) rename src/models/{users => user}/bans/query/insert.rs (76%) rename src/models/{users => user}/bans/query/mod.rs (100%) rename src/models/{users => user}/bans/tests/mod.rs (100%) rename src/models/{users => user}/bans/types.rs (100%) rename src/models/{users => user}/device_tokens/impl.rs (100%) rename src/models/{users => user}/device_tokens/mod.rs (100%) rename src/models/{users => user}/device_tokens/query/by_id.rs (86%) rename src/models/{users => user}/device_tokens/query/insert.rs (76%) rename src/models/{users => user}/device_tokens/query/mod.rs (100%) rename src/models/{users => user}/device_tokens/tests/mod.rs (100%) rename src/models/{users => user}/device_tokens/types.rs (100%) rename src/models/{users => user}/mod.rs (100%) rename src/models/{users => user}/new_users/impl.rs (100%) rename src/models/{users => user}/new_users/mod.rs (100%) rename src/models/{users => user}/new_users/query/by_id.rs (92%) rename src/models/{users => user}/new_users/query/insert.rs (76%) rename src/models/{users => user}/new_users/query/mod.rs (100%) rename src/models/{users => user}/new_users/tests/mod.rs (100%) rename src/models/{users => user}/new_users/types.rs (100%) rename src/models/{users => user}/users/impl.rs (100%) rename src/models/{users => user}/users/mod.rs (100%) rename src/models/{users => user}/users/query/by_id.rs (88%) rename src/models/{users => user}/users/query/insert.rs (75%) rename src/models/{users => user}/users/query/mod.rs (100%) rename src/models/{users => user}/users/tests/mod.rs (100%) rename src/models/{users => user}/users/types.rs (100%) rename src/models/{weekly => weeklys}/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly/impl.rs (100%) rename src/models/{weekly => weeklys}/weekly/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly/query/by_id.rs (86%) rename src/models/{weekly => weeklys}/weekly/query/insert.rs (73%) rename src/models/{weekly => weeklys}/weekly/query/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly/tests/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly/types.rs (100%) rename src/models/{weekly => weeklys}/weekly_maps/impl.rs (100%) rename src/models/{weekly => weeklys}/weekly_maps/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly_maps/query/by_id.rs (85%) rename src/models/{weekly => weeklys}/weekly_maps/query/insert.rs (75%) rename src/models/{weekly => weeklys}/weekly_maps/query/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly_maps/tests/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly_maps/types.rs (100%) rename src/models/{weekly => weeklys}/weekly_participants/impl.rs (100%) rename src/models/{weekly => weeklys}/weekly_participants/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly_participants/query/by_id.rs (83%) rename src/models/{weekly => weeklys}/weekly_participants/query/insert.rs (73%) rename src/models/{weekly => weeklys}/weekly_participants/query/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly_participants/tests/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly_participants/types.rs (100%) rename src/models/{weekly => weeklys}/weekly_pool/impl.rs (100%) rename src/models/{weekly => weeklys}/weekly_pool/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly_pool/query/by_id.rs (85%) rename src/models/{weekly => weeklys}/weekly_pool/query/insert.rs (75%) rename src/models/{weekly => weeklys}/weekly_pool/query/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly_pool/tests/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly_pool/types.rs (100%) rename src/models/{weekly => weeklys}/weekly_scores/impl.rs (100%) rename src/models/{weekly => weeklys}/weekly_scores/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly_scores/query/by_id.rs (84%) rename src/models/{weekly => weeklys}/weekly_scores/query/insert.rs (75%) rename src/models/{weekly => weeklys}/weekly_scores/query/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly_scores/tests/mod.rs (100%) rename src/models/{weekly => weeklys}/weekly_scores/types.rs (100%) diff --git a/src/models/beatmaps/beatmap/query/by_id.rs b/src/models/beatmaps/beatmap/query/by_id.rs index fa66e38..52cfa5f 100644 --- a/src/models/beatmaps/beatmap/query/by_id.rs +++ b/src/models/beatmaps/beatmap/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::beatmap::beatmap::types::BeatmapRow; +use crate::models::beatmaps::beatmap::types::BeatmapRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_id(pool: &PgPool, id: i32) -> Result, SqlxError> { diff --git a/src/models/beatmaps/beatmap/query/insert.rs b/src/models/beatmaps/beatmap/query/insert.rs index 825129d..ac0f5df 100644 --- a/src/models/beatmaps/beatmap/query/insert.rs +++ b/src/models/beatmaps/beatmap/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::beatmap::beatmap::types::BeatmapRow; +use crate::models::beatmaps::beatmap::types::BeatmapRow; // no extra imports needed define_insert_returning_id!( diff --git a/src/models/beatmaps/beatmapset/query/by_id.rs b/src/models/beatmaps/beatmapset/query/by_id.rs index 2ff8757..bd61b27 100644 --- a/src/models/beatmaps/beatmapset/query/by_id.rs +++ b/src/models/beatmaps/beatmapset/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::beatmap::beatmapset::types::BeatmapsetRow; +use crate::models::beatmaps::beatmapset::types::BeatmapsetRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_id(pool: &PgPool, id: i32) -> Result, SqlxError> { diff --git a/src/models/beatmaps/beatmapset/query/insert.rs b/src/models/beatmaps/beatmapset/query/insert.rs index d7b6863..d39f637 100644 --- a/src/models/beatmaps/beatmapset/query/insert.rs +++ b/src/models/beatmaps/beatmapset/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::beatmap::beatmapset::types::BeatmapsetRow; +use crate::models::beatmaps::beatmapset::types::BeatmapsetRow; // no extra imports needed define_insert_returning_id!( diff --git a/src/models/beatmaps/pending_beatmap/query/by_id.rs b/src/models/beatmaps/pending_beatmap/query/by_id.rs index 895b66e..daa131b 100644 --- a/src/models/beatmaps/pending_beatmap/query/by_id.rs +++ b/src/models/beatmaps/pending_beatmap/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::beatmap::pending_beatmap::types::PendingBeatmapRow; +use crate::models::beatmaps::pending_beatmap::types::PendingBeatmapRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_id(pool: &PgPool, id: i32) -> Result, SqlxError> { diff --git a/src/models/beatmaps/pending_beatmap/query/insert.rs b/src/models/beatmaps/pending_beatmap/query/insert.rs index 1a8c41d..a601225 100644 --- a/src/models/beatmaps/pending_beatmap/query/insert.rs +++ b/src/models/beatmaps/pending_beatmap/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::beatmap::pending_beatmap::types::PendingBeatmapRow; +use crate::models::beatmaps::pending_beatmap::types::PendingBeatmapRow; // no extra imports needed define_insert_returning_id!( diff --git a/src/models/beatmaps/rates/query/by_id.rs b/src/models/beatmaps/rates/query/by_id.rs index e327595..924237e 100644 --- a/src/models/beatmaps/rates/query/by_id.rs +++ b/src/models/beatmaps/rates/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::beatmap::rates::types::RatesRow; +use crate::models::beatmaps::rates::types::RatesRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_id(pool: &PgPool, id: i32) -> Result, SqlxError> { diff --git a/src/models/beatmaps/rates/query/insert.rs b/src/models/beatmaps/rates/query/insert.rs index b264a93..893331c 100644 --- a/src/models/beatmaps/rates/query/insert.rs +++ b/src/models/beatmaps/rates/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::beatmap::rates::types::RatesRow; +use crate::models::beatmaps::rates::types::RatesRow; // no extra imports needed define_insert_returning_id!( diff --git a/src/models/mod.rs b/src/models/mod.rs index d2086ab..0a0c495 100644 --- a/src/models/mod.rs +++ b/src/models/mod.rs @@ -1,14 +1,7 @@ -pub mod beatmap; + +pub mod beatmaps; pub mod other; pub mod rating; pub mod score; -pub mod users; -pub mod weekly; - -// Re-exports for easy access -pub use beatmap::*; -pub use other::*; -pub use rating::*; -pub use score::*; -pub use users::*; -pub use weekly::*; +pub mod user; +pub mod weeklys; diff --git a/src/models/users/bans/impl.rs b/src/models/user/bans/impl.rs similarity index 100% rename from src/models/users/bans/impl.rs rename to src/models/user/bans/impl.rs diff --git a/src/models/users/bans/mod.rs b/src/models/user/bans/mod.rs similarity index 100% rename from src/models/users/bans/mod.rs rename to src/models/user/bans/mod.rs diff --git a/src/models/users/bans/query/by_id.rs b/src/models/user/bans/query/by_id.rs similarity index 87% rename from src/models/users/bans/query/by_id.rs rename to src/models/user/bans/query/by_id.rs index 63343a8..9770990 100644 --- a/src/models/users/bans/query/by_id.rs +++ b/src/models/user/bans/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::users::bans::types::BansRow; +use crate::models::user::bans::types::BansRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_id(pool: &PgPool, id: i32) -> Result, SqlxError> { diff --git a/src/models/users/bans/query/insert.rs b/src/models/user/bans/query/insert.rs similarity index 76% rename from src/models/users/bans/query/insert.rs rename to src/models/user/bans/query/insert.rs index 5d5641b..d4e1bb5 100644 --- a/src/models/users/bans/query/insert.rs +++ b/src/models/user/bans/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::users::bans::types::BansRow; +use crate::models::user::bans::types::BansRow; // no extra imports needed define_insert_returning_id!(insert, "bans", BansRow, discord_id, reason, banned_at); diff --git a/src/models/users/bans/query/mod.rs b/src/models/user/bans/query/mod.rs similarity index 100% rename from src/models/users/bans/query/mod.rs rename to src/models/user/bans/query/mod.rs diff --git a/src/models/users/bans/tests/mod.rs b/src/models/user/bans/tests/mod.rs similarity index 100% rename from src/models/users/bans/tests/mod.rs rename to src/models/user/bans/tests/mod.rs diff --git a/src/models/users/bans/types.rs b/src/models/user/bans/types.rs similarity index 100% rename from src/models/users/bans/types.rs rename to src/models/user/bans/types.rs diff --git a/src/models/users/device_tokens/impl.rs b/src/models/user/device_tokens/impl.rs similarity index 100% rename from src/models/users/device_tokens/impl.rs rename to src/models/user/device_tokens/impl.rs diff --git a/src/models/users/device_tokens/mod.rs b/src/models/user/device_tokens/mod.rs similarity index 100% rename from src/models/users/device_tokens/mod.rs rename to src/models/user/device_tokens/mod.rs diff --git a/src/models/users/device_tokens/query/by_id.rs b/src/models/user/device_tokens/query/by_id.rs similarity index 86% rename from src/models/users/device_tokens/query/by_id.rs rename to src/models/user/device_tokens/query/by_id.rs index e5a9a87..e4d994c 100644 --- a/src/models/users/device_tokens/query/by_id.rs +++ b/src/models/user/device_tokens/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::users::device_tokens::types::DeviceTokensRow; +use crate::models::user::device_tokens::types::DeviceTokensRow; use sqlx::{Error as SqlxError, PgPool}; use uuid::Uuid; diff --git a/src/models/users/device_tokens/query/insert.rs b/src/models/user/device_tokens/query/insert.rs similarity index 76% rename from src/models/users/device_tokens/query/insert.rs rename to src/models/user/device_tokens/query/insert.rs index 9941217..b8ce50f 100644 --- a/src/models/users/device_tokens/query/insert.rs +++ b/src/models/user/device_tokens/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::users::device_tokens::types::DeviceTokensRow; +use crate::models::user::device_tokens::types::DeviceTokensRow; // no extra imports needed define_insert_returning_id!( diff --git a/src/models/users/device_tokens/query/mod.rs b/src/models/user/device_tokens/query/mod.rs similarity index 100% rename from src/models/users/device_tokens/query/mod.rs rename to src/models/user/device_tokens/query/mod.rs diff --git a/src/models/users/device_tokens/tests/mod.rs b/src/models/user/device_tokens/tests/mod.rs similarity index 100% rename from src/models/users/device_tokens/tests/mod.rs rename to src/models/user/device_tokens/tests/mod.rs diff --git a/src/models/users/device_tokens/types.rs b/src/models/user/device_tokens/types.rs similarity index 100% rename from src/models/users/device_tokens/types.rs rename to src/models/user/device_tokens/types.rs diff --git a/src/models/users/mod.rs b/src/models/user/mod.rs similarity index 100% rename from src/models/users/mod.rs rename to src/models/user/mod.rs diff --git a/src/models/users/new_users/impl.rs b/src/models/user/new_users/impl.rs similarity index 100% rename from src/models/users/new_users/impl.rs rename to src/models/user/new_users/impl.rs diff --git a/src/models/users/new_users/mod.rs b/src/models/user/new_users/mod.rs similarity index 100% rename from src/models/users/new_users/mod.rs rename to src/models/user/new_users/mod.rs diff --git a/src/models/users/new_users/query/by_id.rs b/src/models/user/new_users/query/by_id.rs similarity index 92% rename from src/models/users/new_users/query/by_id.rs rename to src/models/user/new_users/query/by_id.rs index 6ebbf25..3dbc92a 100644 --- a/src/models/users/new_users/query/by_id.rs +++ b/src/models/user/new_users/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::users::new_users::types::NewUsersRow; +use crate::models::user::new_users::types::NewUsersRow; use sqlx::{Error as SqlxError, PgPool}; use uuid::Uuid; diff --git a/src/models/users/new_users/query/insert.rs b/src/models/user/new_users/query/insert.rs similarity index 76% rename from src/models/users/new_users/query/insert.rs rename to src/models/user/new_users/query/insert.rs index b79669a..3d6744b 100644 --- a/src/models/users/new_users/query/insert.rs +++ b/src/models/user/new_users/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::users::new_users::types::NewUsersRow; +use crate::models::user::new_users::types::NewUsersRow; // no extra imports needed define_insert_returning_id!( diff --git a/src/models/users/new_users/query/mod.rs b/src/models/user/new_users/query/mod.rs similarity index 100% rename from src/models/users/new_users/query/mod.rs rename to src/models/user/new_users/query/mod.rs diff --git a/src/models/users/new_users/tests/mod.rs b/src/models/user/new_users/tests/mod.rs similarity index 100% rename from src/models/users/new_users/tests/mod.rs rename to src/models/user/new_users/tests/mod.rs diff --git a/src/models/users/new_users/types.rs b/src/models/user/new_users/types.rs similarity index 100% rename from src/models/users/new_users/types.rs rename to src/models/user/new_users/types.rs diff --git a/src/models/users/users/impl.rs b/src/models/user/users/impl.rs similarity index 100% rename from src/models/users/users/impl.rs rename to src/models/user/users/impl.rs diff --git a/src/models/users/users/mod.rs b/src/models/user/users/mod.rs similarity index 100% rename from src/models/users/users/mod.rs rename to src/models/user/users/mod.rs diff --git a/src/models/users/users/query/by_id.rs b/src/models/user/users/query/by_id.rs similarity index 88% rename from src/models/users/users/query/by_id.rs rename to src/models/user/users/query/by_id.rs index 6b2566c..0ddcf01 100644 --- a/src/models/users/users/query/by_id.rs +++ b/src/models/user/users/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::users::users::types::UsersRow; +use crate::models::user::users::types::UsersRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_discord_id( diff --git a/src/models/users/users/query/insert.rs b/src/models/user/users/query/insert.rs similarity index 75% rename from src/models/users/users/query/insert.rs rename to src/models/user/users/query/insert.rs index a1e08cb..9f6a215 100644 --- a/src/models/users/users/query/insert.rs +++ b/src/models/user/users/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::users::users::types::UsersRow; +use crate::models::user::users::types::UsersRow; // no extra imports needed define_insert_returning_id!(insert, "users", UsersRow, discord_id, username, roles); diff --git a/src/models/users/users/query/mod.rs b/src/models/user/users/query/mod.rs similarity index 100% rename from src/models/users/users/query/mod.rs rename to src/models/user/users/query/mod.rs diff --git a/src/models/users/users/tests/mod.rs b/src/models/user/users/tests/mod.rs similarity index 100% rename from src/models/users/users/tests/mod.rs rename to src/models/user/users/tests/mod.rs diff --git a/src/models/users/users/types.rs b/src/models/user/users/types.rs similarity index 100% rename from src/models/users/users/types.rs rename to src/models/user/users/types.rs diff --git a/src/models/weekly/mod.rs b/src/models/weeklys/mod.rs similarity index 100% rename from src/models/weekly/mod.rs rename to src/models/weeklys/mod.rs diff --git a/src/models/weekly/weekly/impl.rs b/src/models/weeklys/weekly/impl.rs similarity index 100% rename from src/models/weekly/weekly/impl.rs rename to src/models/weeklys/weekly/impl.rs diff --git a/src/models/weekly/weekly/mod.rs b/src/models/weeklys/weekly/mod.rs similarity index 100% rename from src/models/weekly/weekly/mod.rs rename to src/models/weeklys/weekly/mod.rs diff --git a/src/models/weekly/weekly/query/by_id.rs b/src/models/weeklys/weekly/query/by_id.rs similarity index 86% rename from src/models/weekly/weekly/query/by_id.rs rename to src/models/weeklys/weekly/query/by_id.rs index 9b38e1f..cd7c236 100644 --- a/src/models/weekly/weekly/query/by_id.rs +++ b/src/models/weeklys/weekly/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::weekly::weekly::types::WeeklyRow; +use crate::models::weeklys::weekly::types::WeeklyRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_id(pool: &PgPool, id: i32) -> Result, SqlxError> { diff --git a/src/models/weekly/weekly/query/insert.rs b/src/models/weeklys/weekly/query/insert.rs similarity index 73% rename from src/models/weekly/weekly/query/insert.rs rename to src/models/weeklys/weekly/query/insert.rs index 8e64f2f..aff69d4 100644 --- a/src/models/weekly/weekly/query/insert.rs +++ b/src/models/weeklys/weekly/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::weekly::weekly::types::WeeklyRow; +use crate::models::weeklys::weekly::types::WeeklyRow; // no extra imports needed define_insert_returning_id!(insert, "weekly", WeeklyRow, name, end_at, start_at); diff --git a/src/models/weekly/weekly/query/mod.rs b/src/models/weeklys/weekly/query/mod.rs similarity index 100% rename from src/models/weekly/weekly/query/mod.rs rename to src/models/weeklys/weekly/query/mod.rs diff --git a/src/models/weekly/weekly/tests/mod.rs b/src/models/weeklys/weekly/tests/mod.rs similarity index 100% rename from src/models/weekly/weekly/tests/mod.rs rename to src/models/weeklys/weekly/tests/mod.rs diff --git a/src/models/weekly/weekly/types.rs b/src/models/weeklys/weekly/types.rs similarity index 100% rename from src/models/weekly/weekly/types.rs rename to src/models/weeklys/weekly/types.rs diff --git a/src/models/weekly/weekly_maps/impl.rs b/src/models/weeklys/weekly_maps/impl.rs similarity index 100% rename from src/models/weekly/weekly_maps/impl.rs rename to src/models/weeklys/weekly_maps/impl.rs diff --git a/src/models/weekly/weekly_maps/mod.rs b/src/models/weeklys/weekly_maps/mod.rs similarity index 100% rename from src/models/weekly/weekly_maps/mod.rs rename to src/models/weeklys/weekly_maps/mod.rs diff --git a/src/models/weekly/weekly_maps/query/by_id.rs b/src/models/weeklys/weekly_maps/query/by_id.rs similarity index 85% rename from src/models/weekly/weekly_maps/query/by_id.rs rename to src/models/weeklys/weekly_maps/query/by_id.rs index 627542f..f8721bc 100644 --- a/src/models/weekly/weekly_maps/query/by_id.rs +++ b/src/models/weeklys/weekly_maps/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::weekly::weekly_maps::types::WeeklyMapsRow; +use crate::models::weeklys::weekly_maps::types::WeeklyMapsRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_id(pool: &PgPool, id: i32) -> Result, SqlxError> { diff --git a/src/models/weekly/weekly_maps/query/insert.rs b/src/models/weeklys/weekly_maps/query/insert.rs similarity index 75% rename from src/models/weekly/weekly_maps/query/insert.rs rename to src/models/weeklys/weekly_maps/query/insert.rs index 1c30e1a..31d371d 100644 --- a/src/models/weekly/weekly_maps/query/insert.rs +++ b/src/models/weeklys/weekly_maps/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::weekly::weekly_maps::types::WeeklyMapsRow; +use crate::models::weeklys::weekly_maps::types::WeeklyMapsRow; // no extra imports needed define_insert_returning_id!( diff --git a/src/models/weekly/weekly_maps/query/mod.rs b/src/models/weeklys/weekly_maps/query/mod.rs similarity index 100% rename from src/models/weekly/weekly_maps/query/mod.rs rename to src/models/weeklys/weekly_maps/query/mod.rs diff --git a/src/models/weekly/weekly_maps/tests/mod.rs b/src/models/weeklys/weekly_maps/tests/mod.rs similarity index 100% rename from src/models/weekly/weekly_maps/tests/mod.rs rename to src/models/weeklys/weekly_maps/tests/mod.rs diff --git a/src/models/weekly/weekly_maps/types.rs b/src/models/weeklys/weekly_maps/types.rs similarity index 100% rename from src/models/weekly/weekly_maps/types.rs rename to src/models/weeklys/weekly_maps/types.rs diff --git a/src/models/weekly/weekly_participants/impl.rs b/src/models/weeklys/weekly_participants/impl.rs similarity index 100% rename from src/models/weekly/weekly_participants/impl.rs rename to src/models/weeklys/weekly_participants/impl.rs diff --git a/src/models/weekly/weekly_participants/mod.rs b/src/models/weeklys/weekly_participants/mod.rs similarity index 100% rename from src/models/weekly/weekly_participants/mod.rs rename to src/models/weeklys/weekly_participants/mod.rs diff --git a/src/models/weekly/weekly_participants/query/by_id.rs b/src/models/weeklys/weekly_participants/query/by_id.rs similarity index 83% rename from src/models/weekly/weekly_participants/query/by_id.rs rename to src/models/weeklys/weekly_participants/query/by_id.rs index 0f7e75d..53dc8a2 100644 --- a/src/models/weekly/weekly_participants/query/by_id.rs +++ b/src/models/weeklys/weekly_participants/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::weekly::weekly_participants::types::WeeklyParticipantsRow; +use crate::models::weeklys::weekly_participants::types::WeeklyParticipantsRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_id( diff --git a/src/models/weekly/weekly_participants/query/insert.rs b/src/models/weeklys/weekly_participants/query/insert.rs similarity index 73% rename from src/models/weekly/weekly_participants/query/insert.rs rename to src/models/weeklys/weekly_participants/query/insert.rs index 0238ce6..a6be2d3 100644 --- a/src/models/weekly/weekly_participants/query/insert.rs +++ b/src/models/weeklys/weekly_participants/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::weekly::weekly_participants::types::WeeklyParticipantsRow; +use crate::models::weeklys::weekly_participants::types::WeeklyParticipantsRow; // no extra imports needed define_insert_returning_id!( diff --git a/src/models/weekly/weekly_participants/query/mod.rs b/src/models/weeklys/weekly_participants/query/mod.rs similarity index 100% rename from src/models/weekly/weekly_participants/query/mod.rs rename to src/models/weeklys/weekly_participants/query/mod.rs diff --git a/src/models/weekly/weekly_participants/tests/mod.rs b/src/models/weeklys/weekly_participants/tests/mod.rs similarity index 100% rename from src/models/weekly/weekly_participants/tests/mod.rs rename to src/models/weeklys/weekly_participants/tests/mod.rs diff --git a/src/models/weekly/weekly_participants/types.rs b/src/models/weeklys/weekly_participants/types.rs similarity index 100% rename from src/models/weekly/weekly_participants/types.rs rename to src/models/weeklys/weekly_participants/types.rs diff --git a/src/models/weekly/weekly_pool/impl.rs b/src/models/weeklys/weekly_pool/impl.rs similarity index 100% rename from src/models/weekly/weekly_pool/impl.rs rename to src/models/weeklys/weekly_pool/impl.rs diff --git a/src/models/weekly/weekly_pool/mod.rs b/src/models/weeklys/weekly_pool/mod.rs similarity index 100% rename from src/models/weekly/weekly_pool/mod.rs rename to src/models/weeklys/weekly_pool/mod.rs diff --git a/src/models/weekly/weekly_pool/query/by_id.rs b/src/models/weeklys/weekly_pool/query/by_id.rs similarity index 85% rename from src/models/weekly/weekly_pool/query/by_id.rs rename to src/models/weeklys/weekly_pool/query/by_id.rs index b3099b5..a5e3145 100644 --- a/src/models/weekly/weekly_pool/query/by_id.rs +++ b/src/models/weeklys/weekly_pool/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::weekly::weekly_pool::types::WeeklyPoolRow; +use crate::models::weeklys::weekly_pool::types::WeeklyPoolRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_id(pool: &PgPool, id: i32) -> Result, SqlxError> { diff --git a/src/models/weekly/weekly_pool/query/insert.rs b/src/models/weeklys/weekly_pool/query/insert.rs similarity index 75% rename from src/models/weekly/weekly_pool/query/insert.rs rename to src/models/weeklys/weekly_pool/query/insert.rs index 8f6f6ef..37c9d0a 100644 --- a/src/models/weekly/weekly_pool/query/insert.rs +++ b/src/models/weeklys/weekly_pool/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::weekly::weekly_pool::types::WeeklyPoolRow; +use crate::models::weeklys::weekly_pool::types::WeeklyPoolRow; // no extra imports needed define_insert_returning_id!( diff --git a/src/models/weekly/weekly_pool/query/mod.rs b/src/models/weeklys/weekly_pool/query/mod.rs similarity index 100% rename from src/models/weekly/weekly_pool/query/mod.rs rename to src/models/weeklys/weekly_pool/query/mod.rs diff --git a/src/models/weekly/weekly_pool/tests/mod.rs b/src/models/weeklys/weekly_pool/tests/mod.rs similarity index 100% rename from src/models/weekly/weekly_pool/tests/mod.rs rename to src/models/weeklys/weekly_pool/tests/mod.rs diff --git a/src/models/weekly/weekly_pool/types.rs b/src/models/weeklys/weekly_pool/types.rs similarity index 100% rename from src/models/weekly/weekly_pool/types.rs rename to src/models/weeklys/weekly_pool/types.rs diff --git a/src/models/weekly/weekly_scores/impl.rs b/src/models/weeklys/weekly_scores/impl.rs similarity index 100% rename from src/models/weekly/weekly_scores/impl.rs rename to src/models/weeklys/weekly_scores/impl.rs diff --git a/src/models/weekly/weekly_scores/mod.rs b/src/models/weeklys/weekly_scores/mod.rs similarity index 100% rename from src/models/weekly/weekly_scores/mod.rs rename to src/models/weeklys/weekly_scores/mod.rs diff --git a/src/models/weekly/weekly_scores/query/by_id.rs b/src/models/weeklys/weekly_scores/query/by_id.rs similarity index 84% rename from src/models/weekly/weekly_scores/query/by_id.rs rename to src/models/weeklys/weekly_scores/query/by_id.rs index fbd57c3..d499bc1 100644 --- a/src/models/weekly/weekly_scores/query/by_id.rs +++ b/src/models/weeklys/weekly_scores/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::weekly::weekly_scores::types::WeeklyScoresRow; +use crate::models::weeklys::weekly_scores::types::WeeklyScoresRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_id(pool: &PgPool, id: i32) -> Result, SqlxError> { diff --git a/src/models/weekly/weekly_scores/query/insert.rs b/src/models/weeklys/weekly_scores/query/insert.rs similarity index 75% rename from src/models/weekly/weekly_scores/query/insert.rs rename to src/models/weeklys/weekly_scores/query/insert.rs index bf438f7..b48f5aa 100644 --- a/src/models/weekly/weekly_scores/query/insert.rs +++ b/src/models/weeklys/weekly_scores/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::weekly::weekly_scores::types::WeeklyScoresRow; +use crate::models::weeklys::weekly_scores::types::WeeklyScoresRow; // no extra imports needed define_insert_returning_id!( diff --git a/src/models/weekly/weekly_scores/query/mod.rs b/src/models/weeklys/weekly_scores/query/mod.rs similarity index 100% rename from src/models/weekly/weekly_scores/query/mod.rs rename to src/models/weeklys/weekly_scores/query/mod.rs diff --git a/src/models/weekly/weekly_scores/tests/mod.rs b/src/models/weeklys/weekly_scores/tests/mod.rs similarity index 100% rename from src/models/weekly/weekly_scores/tests/mod.rs rename to src/models/weeklys/weekly_scores/tests/mod.rs diff --git a/src/models/weekly/weekly_scores/types.rs b/src/models/weeklys/weekly_scores/types.rs similarity index 100% rename from src/models/weekly/weekly_scores/types.rs rename to src/models/weeklys/weekly_scores/types.rs From ff2639c0f68087c9ff524823c957b15494fb1366 Mon Sep 17 00:00:00 2001 From: Glubus Date: Thu, 18 Sep 2025 23:35:08 +0200 Subject: [PATCH 7/8] fix: fuck fmt --- src/models/mod.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/models/mod.rs b/src/models/mod.rs index 0a0c495..b3d1e23 100644 --- a/src/models/mod.rs +++ b/src/models/mod.rs @@ -1,4 +1,3 @@ - pub mod beatmaps; pub mod other; pub mod rating; From b0e55af1f29a07058fd16aa65ed37a51e73aadf2 Mon Sep 17 00:00:00 2001 From: Glubus Date: Thu, 18 Sep 2025 23:36:55 +0200 Subject: [PATCH 8/8] fix: one more time clippy and i will be mad --- src/models/mod.rs | 2 +- src/models/{score => scores}/mod.rs | 0 src/models/{score => scores}/replay/impl.rs | 0 src/models/{score => scores}/replay/mod.rs | 0 src/models/{score => scores}/replay/query/by_id.rs | 2 +- src/models/{score => scores}/replay/query/insert.rs | 2 +- src/models/{score => scores}/replay/query/mod.rs | 0 src/models/{score => scores}/replay/tests/mod.rs | 0 src/models/{score => scores}/replay/types.rs | 0 src/models/{score => scores}/score/impl.rs | 0 src/models/{score => scores}/score/mod.rs | 0 src/models/{score => scores}/score/query/by_id.rs | 2 +- src/models/{score => scores}/score/query/insert.rs | 2 +- src/models/{score => scores}/score/query/mod.rs | 0 src/models/{score => scores}/score/tests/mod.rs | 0 src/models/{score => scores}/score/types.rs | 0 src/models/{score => scores}/score_metadata/impl.rs | 0 src/models/{score => scores}/score_metadata/mod.rs | 0 src/models/{score => scores}/score_metadata/query/by_id.rs | 2 +- src/models/{score => scores}/score_metadata/query/insert.rs | 2 +- src/models/{score => scores}/score_metadata/query/mod.rs | 0 src/models/{score => scores}/score_metadata/tests/mod.rs | 0 src/models/{score => scores}/score_metadata/types.rs | 0 23 files changed, 7 insertions(+), 7 deletions(-) rename src/models/{score => scores}/mod.rs (100%) rename src/models/{score => scores}/replay/impl.rs (100%) rename src/models/{score => scores}/replay/mod.rs (100%) rename src/models/{score => scores}/replay/query/by_id.rs (87%) rename src/models/{score => scores}/replay/query/insert.rs (78%) rename src/models/{score => scores}/replay/query/mod.rs (100%) rename src/models/{score => scores}/replay/tests/mod.rs (100%) rename src/models/{score => scores}/replay/types.rs (100%) rename src/models/{score => scores}/score/impl.rs (100%) rename src/models/{score => scores}/score/mod.rs (100%) rename src/models/{score => scores}/score/query/by_id.rs (88%) rename src/models/{score => scores}/score/query/insert.rs (82%) rename src/models/{score => scores}/score/query/mod.rs (100%) rename src/models/{score => scores}/score/tests/mod.rs (100%) rename src/models/{score => scores}/score/types.rs (100%) rename src/models/{score => scores}/score_metadata/impl.rs (100%) rename src/models/{score => scores}/score_metadata/mod.rs (100%) rename src/models/{score => scores}/score_metadata/query/by_id.rs (88%) rename src/models/{score => scores}/score_metadata/query/insert.rs (84%) rename src/models/{score => scores}/score_metadata/query/mod.rs (100%) rename src/models/{score => scores}/score_metadata/tests/mod.rs (100%) rename src/models/{score => scores}/score_metadata/types.rs (100%) diff --git a/src/models/mod.rs b/src/models/mod.rs index b3d1e23..454202a 100644 --- a/src/models/mod.rs +++ b/src/models/mod.rs @@ -1,6 +1,6 @@ pub mod beatmaps; pub mod other; pub mod rating; -pub mod score; +pub mod scores; pub mod user; pub mod weeklys; diff --git a/src/models/score/mod.rs b/src/models/scores/mod.rs similarity index 100% rename from src/models/score/mod.rs rename to src/models/scores/mod.rs diff --git a/src/models/score/replay/impl.rs b/src/models/scores/replay/impl.rs similarity index 100% rename from src/models/score/replay/impl.rs rename to src/models/scores/replay/impl.rs diff --git a/src/models/score/replay/mod.rs b/src/models/scores/replay/mod.rs similarity index 100% rename from src/models/score/replay/mod.rs rename to src/models/scores/replay/mod.rs diff --git a/src/models/score/replay/query/by_id.rs b/src/models/scores/replay/query/by_id.rs similarity index 87% rename from src/models/score/replay/query/by_id.rs rename to src/models/scores/replay/query/by_id.rs index e2be88f..7bd9ef5 100644 --- a/src/models/score/replay/query/by_id.rs +++ b/src/models/scores/replay/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::score::replay::types::ReplayRow; +use crate::models::scores::replay::types::ReplayRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_id(pool: &PgPool, id: i32) -> Result, SqlxError> { diff --git a/src/models/score/replay/query/insert.rs b/src/models/scores/replay/query/insert.rs similarity index 78% rename from src/models/score/replay/query/insert.rs rename to src/models/scores/replay/query/insert.rs index 9655e2f..6b394eb 100644 --- a/src/models/score/replay/query/insert.rs +++ b/src/models/scores/replay/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::score::replay::types::ReplayRow; +use crate::models::scores::replay::types::ReplayRow; // no extra imports needed define_insert_returning_id!( diff --git a/src/models/score/replay/query/mod.rs b/src/models/scores/replay/query/mod.rs similarity index 100% rename from src/models/score/replay/query/mod.rs rename to src/models/scores/replay/query/mod.rs diff --git a/src/models/score/replay/tests/mod.rs b/src/models/scores/replay/tests/mod.rs similarity index 100% rename from src/models/score/replay/tests/mod.rs rename to src/models/scores/replay/tests/mod.rs diff --git a/src/models/score/replay/types.rs b/src/models/scores/replay/types.rs similarity index 100% rename from src/models/score/replay/types.rs rename to src/models/scores/replay/types.rs diff --git a/src/models/score/score/impl.rs b/src/models/scores/score/impl.rs similarity index 100% rename from src/models/score/score/impl.rs rename to src/models/scores/score/impl.rs diff --git a/src/models/score/score/mod.rs b/src/models/scores/score/mod.rs similarity index 100% rename from src/models/score/score/mod.rs rename to src/models/scores/score/mod.rs diff --git a/src/models/score/score/query/by_id.rs b/src/models/scores/score/query/by_id.rs similarity index 88% rename from src/models/score/score/query/by_id.rs rename to src/models/scores/score/query/by_id.rs index e94775f..797ca44 100644 --- a/src/models/score/score/query/by_id.rs +++ b/src/models/scores/score/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::score::score::types::ScoreRow; +use crate::models::scores::score::types::ScoreRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_id(pool: &PgPool, id: i32) -> Result, SqlxError> { diff --git a/src/models/score/score/query/insert.rs b/src/models/scores/score/query/insert.rs similarity index 82% rename from src/models/score/score/query/insert.rs rename to src/models/scores/score/query/insert.rs index 6f49bae..6366325 100644 --- a/src/models/score/score/query/insert.rs +++ b/src/models/scores/score/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::score::score::types::ScoreRow; +use crate::models::scores::score::types::ScoreRow; // no extra imports needed define_insert_returning_id!( diff --git a/src/models/score/score/query/mod.rs b/src/models/scores/score/query/mod.rs similarity index 100% rename from src/models/score/score/query/mod.rs rename to src/models/scores/score/query/mod.rs diff --git a/src/models/score/score/tests/mod.rs b/src/models/scores/score/tests/mod.rs similarity index 100% rename from src/models/score/score/tests/mod.rs rename to src/models/scores/score/tests/mod.rs diff --git a/src/models/score/score/types.rs b/src/models/scores/score/types.rs similarity index 100% rename from src/models/score/score/types.rs rename to src/models/scores/score/types.rs diff --git a/src/models/score/score_metadata/impl.rs b/src/models/scores/score_metadata/impl.rs similarity index 100% rename from src/models/score/score_metadata/impl.rs rename to src/models/scores/score_metadata/impl.rs diff --git a/src/models/score/score_metadata/mod.rs b/src/models/scores/score_metadata/mod.rs similarity index 100% rename from src/models/score/score_metadata/mod.rs rename to src/models/scores/score_metadata/mod.rs diff --git a/src/models/score/score_metadata/query/by_id.rs b/src/models/scores/score_metadata/query/by_id.rs similarity index 88% rename from src/models/score/score_metadata/query/by_id.rs rename to src/models/scores/score_metadata/query/by_id.rs index 0d8d4f2..082aba1 100644 --- a/src/models/score/score_metadata/query/by_id.rs +++ b/src/models/scores/score_metadata/query/by_id.rs @@ -1,4 +1,4 @@ -use crate::models::score::score_metadata::types::ScoreMetadataRow; +use crate::models::scores::score_metadata::types::ScoreMetadataRow; use sqlx::{Error as SqlxError, PgPool}; pub async fn find_by_id(pool: &PgPool, id: i32) -> Result, SqlxError> { diff --git a/src/models/score/score_metadata/query/insert.rs b/src/models/scores/score_metadata/query/insert.rs similarity index 84% rename from src/models/score/score_metadata/query/insert.rs rename to src/models/scores/score_metadata/query/insert.rs index ce06720..f64b971 100644 --- a/src/models/score/score_metadata/query/insert.rs +++ b/src/models/scores/score_metadata/query/insert.rs @@ -1,5 +1,5 @@ use crate::define_insert_returning_id; -use crate::models::score::score_metadata::types::ScoreMetadataRow; +use crate::models::scores::score_metadata::types::ScoreMetadataRow; // no extra imports needed define_insert_returning_id!( diff --git a/src/models/score/score_metadata/query/mod.rs b/src/models/scores/score_metadata/query/mod.rs similarity index 100% rename from src/models/score/score_metadata/query/mod.rs rename to src/models/scores/score_metadata/query/mod.rs diff --git a/src/models/score/score_metadata/tests/mod.rs b/src/models/scores/score_metadata/tests/mod.rs similarity index 100% rename from src/models/score/score_metadata/tests/mod.rs rename to src/models/scores/score_metadata/tests/mod.rs diff --git a/src/models/score/score_metadata/types.rs b/src/models/scores/score_metadata/types.rs similarity index 100% rename from src/models/score/score_metadata/types.rs rename to src/models/scores/score_metadata/types.rs