ignore command (#59)
Some checks are pending
Build and Test / Format check (push) Waiting to run
Build and Test / Lint (push) Waiting to run
Build and Test / Test (push) Waiting to run
Build and Test / Build (push) Waiting to run

* New table `ignored_users` and queries

* Update sqlx to 0.8

* Implement `ignore` command and add needed hooks
This commit is contained in:
Natsu Kagami 2025-03-27 15:13:00 +01:00 committed by GitHub
parent a36fa87964
commit 7c0cbea716
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
30 changed files with 580 additions and 383 deletions

View file

@ -0,0 +1,12 @@
{
"db_name": "SQLite",
"query": "DELETE FROM ignored_users WHERE id = ?",
"describe": {
"columns": [],
"parameters": {
"Right": 1
},
"nullable": []
},
"hash": "1619aac8983ad68177bd698393b24eefd77bada44bec1043972493146c09bb73"
}

View file

@ -6,7 +6,7 @@
{
"name": "channel_id: i64",
"ordinal": 0,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "beatmap",
@ -16,7 +16,7 @@
{
"name": "mode: u8",
"ordinal": 2,
"type_info": "Int64"
"type_info": "Integer"
}
],
"parameters": {
@ -25,7 +25,7 @@
"nullable": [
false,
false,
false
true
]
},
"hash": "1bf34dddbe994d6124c9382c75e70e1347329e945de2eefad4bfcab5f81b73ce"

View file

@ -6,22 +6,22 @@
{
"name": "beatmap_id: i64",
"ordinal": 0,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "mode: u8",
"ordinal": 1,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "user_id: i64",
"ordinal": 2,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "mods: i64",
"ordinal": 3,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "cached_at: DateTime",

View file

@ -6,7 +6,7 @@
{
"name": "user_id: i64",
"ordinal": 0,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "username",
@ -16,17 +16,17 @@
{
"name": "id: i64",
"ordinal": 2,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "preferred_mode: u8",
"ordinal": 3,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "failures: u8",
"ordinal": 4,
"type_info": "Int64"
"type_info": "Integer"
}
],
"parameters": {

View file

@ -6,7 +6,7 @@
{
"name": "beatmap_id: i64",
"ordinal": 0,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "cached_at: DateTime",

View file

@ -6,12 +6,12 @@
{
"name": "beatmap_id: i64",
"ordinal": 0,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "mode: u8",
"ordinal": 1,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "cached_at: DateTime",

View file

@ -6,7 +6,7 @@
{
"name": "user_id: i64",
"ordinal": 0,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "username",
@ -16,17 +16,17 @@
{
"name": "id: i64",
"ordinal": 2,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "preferred_mode: u8",
"ordinal": 3,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "failures: u8",
"ordinal": 4,
"type_info": "Int64"
"type_info": "Integer"
}
],
"parameters": {

View file

@ -6,22 +6,22 @@
{
"name": "beatmap_id: i64",
"ordinal": 0,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "mode: u8",
"ordinal": 1,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "user_id: i64",
"ordinal": 2,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "mods: i64",
"ordinal": 3,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "cached_at: DateTime",

View file

@ -6,7 +6,7 @@
{
"name": "id: i64",
"ordinal": 0,
"type_info": "Int64"
"type_info": "Integer"
}
],
"parameters": {

View file

@ -6,7 +6,7 @@
{
"name": "mode: u8",
"ordinal": 0,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "pp",
@ -21,12 +21,12 @@
{
"name": "map_age",
"ordinal": 3,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "last_update: DateTime",
"ordinal": 4,
"type_info": "Int64"
"type_info": "Integer"
}
],
"parameters": {

View file

@ -6,12 +6,12 @@
{
"name": "user_id: i64",
"ordinal": 0,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "mode: u8",
"ordinal": 1,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "pp",
@ -26,12 +26,12 @@
{
"name": "map_age",
"ordinal": 4,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "last_update: DateTime",
"ordinal": 5,
"type_info": "Int64"
"type_info": "Integer"
}
],
"parameters": {

View file

@ -6,12 +6,12 @@
{
"name": "beatmap_id: i64",
"ordinal": 0,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "mode: u8",
"ordinal": 1,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "cached_at: DateTime",

View file

@ -0,0 +1,32 @@
{
"db_name": "SQLite",
"query": "SELECT\n id,\n username,\n ignored_since as \"ignored_since: DateTime\"\n FROM ignored_users\n ORDER BY id ASC",
"describe": {
"columns": [
{
"name": "id",
"ordinal": 0,
"type_info": "Integer"
},
{
"name": "username",
"ordinal": 1,
"type_info": "Text"
},
{
"name": "ignored_since: DateTime",
"ordinal": 2,
"type_info": "Datetime"
}
],
"parameters": {
"Right": 0
},
"nullable": [
false,
false,
false
]
},
"hash": "db5960586bc418d2a6a31c18b4a63f4efcfe4685c0561e07a2c954538be4789b"
}

View file

@ -0,0 +1,32 @@
{
"db_name": "SQLite",
"query": "INSERT INTO ignored_users(id, username) VALUES (?, ?)\n ON CONFLICT (id) DO UPDATE SET username = excluded.username\n RETURNING id,\n username,\n ignored_since as \"ignored_since: DateTime\"",
"describe": {
"columns": [
{
"name": "id",
"ordinal": 0,
"type_info": "Integer"
},
{
"name": "username",
"ordinal": 1,
"type_info": "Text"
},
{
"name": "ignored_since: DateTime",
"ordinal": 2,
"type_info": "Datetime"
}
],
"parameters": {
"Right": 2
},
"nullable": [
false,
false,
false
]
},
"hash": "dbb948ade9139445faf17c1c6bece242a241d3499a6b973ecf5f6c6588b077ad"
}

View file

@ -6,7 +6,7 @@
{
"name": "user_id: i64",
"ordinal": 0,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "username",
@ -16,17 +16,17 @@
{
"name": "id: i64",
"ordinal": 2,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "preferred_mode: u8",
"ordinal": 3,
"type_info": "Int64"
"type_info": "Integer"
},
{
"name": "failures: u8",
"ordinal": 4,
"type_info": "Int64"
"type_info": "Integer"
}
],
"parameters": {