diff --git a/.sqlx/query-093ef8f673217d6f2c839df726aa141746caf4e5ed64de30c5db59db7605ac20.json b/.sqlx/query-093ef8f673217d6f2c839df726aa141746caf4e5ed64de30c5db59db7605ac20.json new file mode 100644 index 0000000..1489b7f --- /dev/null +++ b/.sqlx/query-093ef8f673217d6f2c839df726aa141746caf4e5ed64de30c5db59db7605ac20.json @@ -0,0 +1,15 @@ +{ + "db_name": "PostgreSQL", + "query": "\n DELETE FROM apikeys \n WHERE id = $1 AND user_id = $2\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Uuid", + "Uuid" + ] + }, + "nullable": [] + }, + "hash": "093ef8f673217d6f2c839df726aa141746caf4e5ed64de30c5db59db7605ac20" +} diff --git a/.sqlx/query-2887e61a6dad039d695a6f757dffa2ebe55412d9e68f13d9eaad2de85b02ea18.json b/.sqlx/query-2887e61a6dad039d695a6f757dffa2ebe55412d9e68f13d9eaad2de85b02ea18.json new file mode 100644 index 0000000..cc94cb1 --- /dev/null +++ b/.sqlx/query-2887e61a6dad039d695a6f757dffa2ebe55412d9e68f13d9eaad2de85b02ea18.json @@ -0,0 +1,64 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT id, username, email, password_hash, totp_secret, \n role_level, tier_level, creation_date\n FROM users WHERE email = $1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "username", + "type_info": "Varchar" + }, + { + "ordinal": 2, + "name": "email", + "type_info": "Varchar" + }, + { + "ordinal": 3, + "name": "password_hash", + "type_info": "Varchar" + }, + { + "ordinal": 4, + "name": "totp_secret", + "type_info": "Varchar" + }, + { + "ordinal": 5, + "name": "role_level", + "type_info": "Int4" + }, + { + "ordinal": 6, + "name": "tier_level", + "type_info": "Int4" + }, + { + "ordinal": 7, + "name": "creation_date", + "type_info": "Date" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + true, + false, + false, + false + ] + }, + "hash": "2887e61a6dad039d695a6f757dffa2ebe55412d9e68f13d9eaad2de85b02ea18" +} diff --git a/.sqlx/query-2cf3ce39a384a0e3adc9fc8079e57e244857c19ba3dbbebe5bdefc1a7d69ae0e.json b/.sqlx/query-2cf3ce39a384a0e3adc9fc8079e57e244857c19ba3dbbebe5bdefc1a7d69ae0e.json new file mode 100644 index 0000000..cfbbd66 --- /dev/null +++ b/.sqlx/query-2cf3ce39a384a0e3adc9fc8079e57e244857c19ba3dbbebe5bdefc1a7d69ae0e.json @@ -0,0 +1,59 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT id, user_id, task, description, creation_date, completion_date, completed \n FROM todos WHERE id = $1 AND user_id = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "user_id", + "type_info": "Uuid" + }, + { + "ordinal": 2, + "name": "task", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "description", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "creation_date", + "type_info": "Date" + }, + { + "ordinal": 5, + "name": "completion_date", + "type_info": "Date" + }, + { + "ordinal": 6, + "name": "completed", + "type_info": "Bool" + } + ], + "parameters": { + "Left": [ + "Uuid", + "Uuid" + ] + }, + "nullable": [ + false, + false, + false, + true, + false, + true, + true + ] + }, + "hash": "2cf3ce39a384a0e3adc9fc8079e57e244857c19ba3dbbebe5bdefc1a7d69ae0e" +} diff --git a/.sqlx/query-2e465c3f5f3b3fb29f51cefabfab678ae2f60db0bfdbd437fb00618618b0ab5e.json b/.sqlx/query-2e465c3f5f3b3fb29f51cefabfab678ae2f60db0bfdbd437fb00618618b0ab5e.json new file mode 100644 index 0000000..5b63fbe --- /dev/null +++ b/.sqlx/query-2e465c3f5f3b3fb29f51cefabfab678ae2f60db0bfdbd437fb00618618b0ab5e.json @@ -0,0 +1,15 @@ +{ + "db_name": "PostgreSQL", + "query": "DELETE FROM todos WHERE id = $1 AND user_id = $2", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Uuid", + "Uuid" + ] + }, + "nullable": [] + }, + "hash": "2e465c3f5f3b3fb29f51cefabfab678ae2f60db0bfdbd437fb00618618b0ab5e" +} diff --git a/.sqlx/query-373ee57acc82e12f107320490023c8a42c8d62a06abc6d9514e65a1251e6db5e.json b/.sqlx/query-373ee57acc82e12f107320490023c8a42c8d62a06abc6d9514e65a1251e6db5e.json new file mode 100644 index 0000000..d10690c --- /dev/null +++ b/.sqlx/query-373ee57acc82e12f107320490023c8a42c8d62a06abc6d9514e65a1251e6db5e.json @@ -0,0 +1,41 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT id, description, expiration_date, creation_date \n FROM apikeys \n WHERE id = $1 AND user_id = $2\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "description", + "type_info": "Varchar" + }, + { + "ordinal": 2, + "name": "expiration_date", + "type_info": "Date" + }, + { + "ordinal": 3, + "name": "creation_date", + "type_info": "Date" + } + ], + "parameters": { + "Left": [ + "Uuid", + "Uuid" + ] + }, + "nullable": [ + false, + true, + true, + false + ] + }, + "hash": "373ee57acc82e12f107320490023c8a42c8d62a06abc6d9514e65a1251e6db5e" +} diff --git a/.sqlx/query-4c70d4136a90fa3de1657436935b87ee52c4378d06980f1550b02bb6157fb3dd.json b/.sqlx/query-4c70d4136a90fa3de1657436935b87ee52c4378d06980f1550b02bb6157fb3dd.json new file mode 100644 index 0000000..75488aa --- /dev/null +++ b/.sqlx/query-4c70d4136a90fa3de1657436935b87ee52c4378d06980f1550b02bb6157fb3dd.json @@ -0,0 +1,15 @@ +{ + "db_name": "PostgreSQL", + "query": "\n UPDATE apikeys \n SET \n disabled = TRUE,\n expiration_date = CURRENT_DATE + INTERVAL '1 day'\n WHERE id = $1 AND user_id = $2\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Uuid", + "Uuid" + ] + }, + "nullable": [] + }, + "hash": "4c70d4136a90fa3de1657436935b87ee52c4378d06980f1550b02bb6157fb3dd" +} diff --git a/.sqlx/query-50293c2e54af11d4c2a553e29b671cef087a159c6ee7182d8ca929ecb748f3b7.json b/.sqlx/query-50293c2e54af11d4c2a553e29b671cef087a159c6ee7182d8ca929ecb748f3b7.json new file mode 100644 index 0000000..f62678a --- /dev/null +++ b/.sqlx/query-50293c2e54af11d4c2a553e29b671cef087a159c6ee7182d8ca929ecb748f3b7.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "DELETE FROM users WHERE id = $1", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Uuid" + ] + }, + "nullable": [] + }, + "hash": "50293c2e54af11d4c2a553e29b671cef087a159c6ee7182d8ca929ecb748f3b7" +} diff --git a/.sqlx/query-716385f5c21997ac3cc0d6c3c05b06b568399a6516217ef423bcb3a6487988c4.json b/.sqlx/query-716385f5c21997ac3cc0d6c3c05b06b568399a6516217ef423bcb3a6487988c4.json new file mode 100644 index 0000000..98a4961 --- /dev/null +++ b/.sqlx/query-716385f5c21997ac3cc0d6c3c05b06b568399a6516217ef423bcb3a6487988c4.json @@ -0,0 +1,46 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT id, user_id, description, expiration_date, creation_date \n FROM apikeys \n WHERE user_id = $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "user_id", + "type_info": "Uuid" + }, + { + "ordinal": 2, + "name": "description", + "type_info": "Varchar" + }, + { + "ordinal": 3, + "name": "expiration_date", + "type_info": "Date" + }, + { + "ordinal": 4, + "name": "creation_date", + "type_info": "Date" + } + ], + "parameters": { + "Left": [ + "Uuid" + ] + }, + "nullable": [ + false, + false, + true, + true, + false + ] + }, + "hash": "716385f5c21997ac3cc0d6c3c05b06b568399a6516217ef423bcb3a6487988c4" +} diff --git a/.sqlx/query-77a3bd5df3cc1e7956f2fd2110ccd8d329aac6b4e07811fed175360835d5b4e3.json b/.sqlx/query-77a3bd5df3cc1e7956f2fd2110ccd8d329aac6b4e07811fed175360835d5b4e3.json new file mode 100644 index 0000000..c32fd59 --- /dev/null +++ b/.sqlx/query-77a3bd5df3cc1e7956f2fd2110ccd8d329aac6b4e07811fed175360835d5b4e3.json @@ -0,0 +1,63 @@ +{ + "db_name": "PostgreSQL", + "query": "INSERT INTO users \n (username, email, password_hash, totp_secret, role_level, tier_level, creation_date)\n VALUES ($1, $2, $3, $4, $5, $6, NOW()::timestamp)\n RETURNING id, username, email, totp_secret, role_level, tier_level, creation_date", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "username", + "type_info": "Varchar" + }, + { + "ordinal": 2, + "name": "email", + "type_info": "Varchar" + }, + { + "ordinal": 3, + "name": "totp_secret", + "type_info": "Varchar" + }, + { + "ordinal": 4, + "name": "role_level", + "type_info": "Int4" + }, + { + "ordinal": 5, + "name": "tier_level", + "type_info": "Int4" + }, + { + "ordinal": 6, + "name": "creation_date", + "type_info": "Date" + } + ], + "parameters": { + "Left": [ + "Varchar", + "Varchar", + "Varchar", + "Varchar", + "Int4", + "Int4" + ] + }, + "nullable": [ + false, + false, + false, + true, + false, + false, + false + ] + }, + "hash": "77a3bd5df3cc1e7956f2fd2110ccd8d329aac6b4e07811fed175360835d5b4e3" +} diff --git a/.sqlx/query-7db352de269933f182b8428370b30bc309a8594bcaf70da6654e9621175fd36f.json b/.sqlx/query-7db352de269933f182b8428370b30bc309a8594bcaf70da6654e9621175fd36f.json new file mode 100644 index 0000000..01317ac --- /dev/null +++ b/.sqlx/query-7db352de269933f182b8428370b30bc309a8594bcaf70da6654e9621175fd36f.json @@ -0,0 +1,22 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT COUNT(*) as count\n FROM apikeys\n WHERE \n user_id = $1 \n AND disabled = FALSE \n AND (expiration_date IS NULL OR expiration_date >= CURRENT_DATE)\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "count", + "type_info": "Int8" + } + ], + "parameters": { + "Left": [ + "Uuid" + ] + }, + "nullable": [ + null + ] + }, + "hash": "7db352de269933f182b8428370b30bc309a8594bcaf70da6654e9621175fd36f" +} diff --git a/.sqlx/query-85aa2f2074192dbff8cb91b7990f92295368b4a197f66558b5a2837f449e21cc.json b/.sqlx/query-85aa2f2074192dbff8cb91b7990f92295368b4a197f66558b5a2837f449e21cc.json new file mode 100644 index 0000000..8e52953 --- /dev/null +++ b/.sqlx/query-85aa2f2074192dbff8cb91b7990f92295368b4a197f66558b5a2837f449e21cc.json @@ -0,0 +1,29 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT id, description \n FROM apikeys \n WHERE user_id = $1 AND id = $2 AND disabled = FALSE\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "description", + "type_info": "Varchar" + } + ], + "parameters": { + "Left": [ + "Uuid", + "Uuid" + ] + }, + "nullable": [ + false, + true + ] + }, + "hash": "85aa2f2074192dbff8cb91b7990f92295368b4a197f66558b5a2837f449e21cc" +} diff --git a/.sqlx/query-9abb5a5815bc898509da6e0138feab8d1a9f7ff944fa03c03d618bc2cb2436c2.json b/.sqlx/query-9abb5a5815bc898509da6e0138feab8d1a9f7ff944fa03c03d618bc2cb2436c2.json new file mode 100644 index 0000000..617cdfc --- /dev/null +++ b/.sqlx/query-9abb5a5815bc898509da6e0138feab8d1a9f7ff944fa03c03d618bc2cb2436c2.json @@ -0,0 +1,34 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT id, key_hash, expiration_date\n FROM apikeys\n WHERE \n user_id = $1 \n AND disabled = FALSE \n AND (expiration_date IS NULL OR expiration_date > CURRENT_DATE)\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "key_hash", + "type_info": "Varchar" + }, + { + "ordinal": 2, + "name": "expiration_date", + "type_info": "Date" + } + ], + "parameters": { + "Left": [ + "Uuid" + ] + }, + "nullable": [ + false, + false, + true + ] + }, + "hash": "9abb5a5815bc898509da6e0138feab8d1a9f7ff944fa03c03d618bc2cb2436c2" +} diff --git a/.sqlx/query-bfe67961d2ea262c27e871ad79b3fc38d68656efa70ef6107ce74d76f2bfa60c.json b/.sqlx/query-bfe67961d2ea262c27e871ad79b3fc38d68656efa70ef6107ce74d76f2bfa60c.json new file mode 100644 index 0000000..d526899 --- /dev/null +++ b/.sqlx/query-bfe67961d2ea262c27e871ad79b3fc38d68656efa70ef6107ce74d76f2bfa60c.json @@ -0,0 +1,60 @@ +{ + "db_name": "PostgreSQL", + "query": "INSERT INTO todos (task, description, user_id) \n VALUES ($1, $2, $3) \n RETURNING id, user_id, task, description, creation_date, completion_date, completed", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "user_id", + "type_info": "Uuid" + }, + { + "ordinal": 2, + "name": "task", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "description", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "creation_date", + "type_info": "Date" + }, + { + "ordinal": 5, + "name": "completion_date", + "type_info": "Date" + }, + { + "ordinal": 6, + "name": "completed", + "type_info": "Bool" + } + ], + "parameters": { + "Left": [ + "Text", + "Text", + "Uuid" + ] + }, + "nullable": [ + false, + false, + false, + true, + false, + true, + true + ] + }, + "hash": "bfe67961d2ea262c27e871ad79b3fc38d68656efa70ef6107ce74d76f2bfa60c" +} diff --git a/.sqlx/query-d81a4a1dcb0541991bc174fecdaaf1d56ed4cabf74f5a0d3149baa423ce364c4.json b/.sqlx/query-d81a4a1dcb0541991bc174fecdaaf1d56ed4cabf74f5a0d3149baa423ce364c4.json new file mode 100644 index 0000000..0bee667 --- /dev/null +++ b/.sqlx/query-d81a4a1dcb0541991bc174fecdaaf1d56ed4cabf74f5a0d3149baa423ce364c4.json @@ -0,0 +1,50 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT id, username, email, role_level, tier_level, creation_date \n FROM users", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "username", + "type_info": "Varchar" + }, + { + "ordinal": 2, + "name": "email", + "type_info": "Varchar" + }, + { + "ordinal": 3, + "name": "role_level", + "type_info": "Int4" + }, + { + "ordinal": 4, + "name": "tier_level", + "type_info": "Int4" + }, + { + "ordinal": 5, + "name": "creation_date", + "type_info": "Date" + } + ], + "parameters": { + "Left": [] + }, + "nullable": [ + false, + false, + false, + false, + false, + false + ] + }, + "hash": "d81a4a1dcb0541991bc174fecdaaf1d56ed4cabf74f5a0d3149baa423ce364c4" +} diff --git a/.sqlx/query-db296994cbe5a9effe21df8cc7df8b304780a8a1b9ff461d00c58dea99850ace.json b/.sqlx/query-db296994cbe5a9effe21df8cc7df8b304780a8a1b9ff461d00c58dea99850ace.json new file mode 100644 index 0000000..a1b7f39 --- /dev/null +++ b/.sqlx/query-db296994cbe5a9effe21df8cc7df8b304780a8a1b9ff461d00c58dea99850ace.json @@ -0,0 +1,22 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT COUNT(*) as count FROM usage WHERE user_id = $1 AND creation_date > NOW() - INTERVAL '24 hours'", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "count", + "type_info": "Int8" + } + ], + "parameters": { + "Left": [ + "Uuid" + ] + }, + "nullable": [ + null + ] + }, + "hash": "db296994cbe5a9effe21df8cc7df8b304780a8a1b9ff461d00c58dea99850ace" +} diff --git a/.sqlx/query-e53700772078f1819fb514563f64153a71b1405917790d89d33f0397507c1c60.json b/.sqlx/query-e53700772078f1819fb514563f64153a71b1405917790d89d33f0397507c1c60.json new file mode 100644 index 0000000..772b145 --- /dev/null +++ b/.sqlx/query-e53700772078f1819fb514563f64153a71b1405917790d89d33f0397507c1c60.json @@ -0,0 +1,22 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT requests_per_day FROM tiers WHERE level = $1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "requests_per_day", + "type_info": "Int4" + } + ], + "parameters": { + "Left": [ + "Int4" + ] + }, + "nullable": [ + false + ] + }, + "hash": "e53700772078f1819fb514563f64153a71b1405917790d89d33f0397507c1c60" +} diff --git a/.sqlx/query-f148d6cd5407b8f4fd3306e16293404331e69dea6a735b81b95e825bf3f9ff16.json b/.sqlx/query-f148d6cd5407b8f4fd3306e16293404331e69dea6a735b81b95e825bf3f9ff16.json new file mode 100644 index 0000000..b87feee --- /dev/null +++ b/.sqlx/query-f148d6cd5407b8f4fd3306e16293404331e69dea6a735b81b95e825bf3f9ff16.json @@ -0,0 +1,58 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT id, user_id, task, description, creation_date, completion_date, completed \n FROM todos WHERE user_id = $1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "user_id", + "type_info": "Uuid" + }, + { + "ordinal": 2, + "name": "task", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "description", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "creation_date", + "type_info": "Date" + }, + { + "ordinal": 5, + "name": "completion_date", + "type_info": "Date" + }, + { + "ordinal": 6, + "name": "completed", + "type_info": "Bool" + } + ], + "parameters": { + "Left": [ + "Uuid" + ] + }, + "nullable": [ + false, + false, + false, + true, + false, + true, + true + ] + }, + "hash": "f148d6cd5407b8f4fd3306e16293404331e69dea6a735b81b95e825bf3f9ff16" +} diff --git a/.sqlx/query-f3654562dce962a55cddfaf8522f67cfa234572488f521d7b96106adde48651c.json b/.sqlx/query-f3654562dce962a55cddfaf8522f67cfa234572488f521d7b96106adde48651c.json new file mode 100644 index 0000000..179b6ae --- /dev/null +++ b/.sqlx/query-f3654562dce962a55cddfaf8522f67cfa234572488f521d7b96106adde48651c.json @@ -0,0 +1,37 @@ +{ + "db_name": "PostgreSQL", + "query": "\n INSERT INTO apikeys (key_hash, description, expiration_date, user_id) \n VALUES ($1, $2, $3, $4)\n RETURNING id, description, expiration_date\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "description", + "type_info": "Varchar" + }, + { + "ordinal": 2, + "name": "expiration_date", + "type_info": "Date" + } + ], + "parameters": { + "Left": [ + "Varchar", + "Varchar", + "Date", + "Uuid" + ] + }, + "nullable": [ + false, + true, + true + ] + }, + "hash": "f3654562dce962a55cddfaf8522f67cfa234572488f521d7b96106adde48651c" +}