refactor: store deletion sources as smallints

pull/394/head
zijiren233 2 months ago
parent a88ec58dd5
commit 4e61c266f3
No known key found for this signature in database
GPG Key ID: 534E082AAA9B39DC

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT m.id AS \"id!\",\n m.room_id AS \"room_id!: RoomId\",\n m.user_id AS \"user_id?: UserId\",\n m.client_message_id,\n m.content AS \"content!\",\n m.message_type AS \"message_type!: ChatMessageType\",\n m.status AS \"status!: ChatMessageStatus\",\n m.version AS \"version!\",\n m.reply_to_message_id,\n m.reply_to_message_created_at,\n m.metadata AS \"metadata?: ChatMetadata\",\n m.edited_at,\n m.deleted_at,\n m.deleted_by AS \"deleted_by?: UserId\",\n m.delete_reason,\n m.created_at AS \"created_at!\"\n FROM chat_messages m\n JOIN unnest($2::bigint[], $3::timestamptz[]) AS wanted(id, created_at)\n ON m.id = wanted.id AND m.created_at = wanted.created_at\n WHERE m.room_id = $1\n AND m.status <> $4\n AND m.deletion_source IS DISTINCT FROM 'account'\n ",
"query": "\n SELECT m.id AS \"id!\",\n m.room_id AS \"room_id!: RoomId\",\n m.user_id AS \"user_id?: UserId\",\n m.client_message_id,\n m.content AS \"content!\",\n m.message_type AS \"message_type!: ChatMessageType\",\n m.status AS \"status!: ChatMessageStatus\",\n m.version AS \"version!\",\n m.reply_to_message_id,\n m.reply_to_message_created_at,\n m.metadata AS \"metadata?: ChatMetadata\",\n m.edited_at,\n m.deleted_at,\n m.deleted_by AS \"deleted_by?: UserId\",\n m.delete_reason,\n m.created_at AS \"created_at!\"\n FROM chat_messages m\n JOIN unnest($2::bigint[], $3::timestamptz[]) AS wanted(id, created_at)\n ON m.id = wanted.id AND m.created_at = wanted.created_at\n WHERE m.room_id = $1\n AND m.status <> $4\n AND m.deletion_source IS DISTINCT FROM $5\n ",
"describe": {
"columns": [
{
@ -185,6 +185,7 @@
"Int8",
"Int8Array",
"TimestamptzArray",
"Int2",
"Int2"
]
},
@ -207,5 +208,5 @@
false
]
},
"hash": "d1368c7b093ab32612530248f47357cb2fd6cfe071ddac8a7787d07134a32fec"
"hash": "006c357b649175b19f61a8cb6c8b19c4e20b0ffec9ef80fdf36eb307a0d1c1bc"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "\n UPDATE media\n SET deleted_at = CURRENT_TIMESTAMP,\n deletion_source = 'user',\n version = version + 1\n WHERE room_id = $1 AND deleted_at IS NULL\n AND playlist_id IS NULL\n ",
"query": "\n UPDATE media\n SET deleted_at = CURRENT_TIMESTAMP,\n deletion_source = $2,\n version = version + 1\n WHERE room_id = $1 AND deleted_at IS NULL\n AND playlist_id IS NULL\n ",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8"
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "48e1a373be1a82308939da5c2d866826923541bc0d8d97ae0ebee05926e082a1"
"hash": "041574e8a0aff9f44058fffd6571ff95797a04c58e1770b90b8922016c88bd4f"
}

@ -0,0 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE auth_email_identities SET deleted_at = CURRENT_TIMESTAMP, deletion_source = $2, updated_at = CURRENT_TIMESTAMP WHERE user_id = $1 AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "05365780201a50a5ba64bc54d8f4449f2b53c8635811c03352c5c60430f21669"
}

@ -1,15 +1,16 @@
{
"db_name": "PostgreSQL",
"query": "WITH RECURSIVE target AS (SELECT id FROM playlists WHERE id = ANY($1) AND deleted_at IS NULL UNION ALL SELECT p.id FROM playlists p JOIN target t ON p.parent_id = t.id WHERE p.deleted_at IS NULL) UPDATE playlists SET deleted_at = COALESCE(deleted_at, CURRENT_TIMESTAMP), deletion_source = COALESCE(deletion_source, 'account'), deleted_owner_id = COALESCE(deleted_owner_id, $2), version = version + 1 WHERE id IN (SELECT id FROM target) AND deleted_at IS NULL",
"query": "WITH RECURSIVE target AS (SELECT id FROM playlists WHERE id = ANY($1) AND deleted_at IS NULL UNION ALL SELECT p.id FROM playlists p JOIN target t ON p.parent_id = t.id WHERE p.deleted_at IS NULL) UPDATE playlists SET deleted_at = COALESCE(deleted_at, CURRENT_TIMESTAMP), deletion_source = COALESCE(deletion_source, $3), deleted_owner_id = COALESCE(deleted_owner_id, $2), version = version + 1 WHERE id IN (SELECT id FROM target) AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array",
"Int8"
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "bf1653c32dc751185372ae8e273141fe40b661e3fb2c5f1a7c14c6dbf1d31515"
"hash": "0578fb0239e07563573ee769185699734f41471a0828d4d128d2e10f06a08abb"
}

@ -7,7 +7,7 @@
"Left": [
"Int8",
"Timestamptz",
"Text"
"Int2"
]
},
"nullable": []

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "SELECT deleted_at, deletion_source, deleted_owner_id AS \"deleted_owner_id: UserId\" FROM media WHERE id = $1",
"query": "SELECT deleted_at,\n deletion_source AS \"deletion_source?: DeletionSource\",\n deleted_owner_id AS \"deleted_owner_id: UserId\"\n FROM media WHERE id = $1",
"describe": {
"columns": [
{
@ -16,8 +16,8 @@
},
{
"ordinal": 1,
"name": "deletion_source",
"type_info": "Text",
"name": "deletion_source?: DeletionSource",
"type_info": "Int2",
"origin": {
"Table": {
"table": "media",
@ -48,5 +48,5 @@
true
]
},
"hash": "b6d93203a1163b4d9f14ee313e355c14f04af26f01f41d0e38b34fc9b5f6c49a"
"hash": "0857bf3b0f9a3e3b5c04aef43f2e66a67ecada100d9e8dda11e22e7061c711d0"
}

@ -0,0 +1,17 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE auth_oauth2_identities SET deleted_at = CURRENT_TIMESTAMP, deletion_source = $4, updated_at = CURRENT_TIMESTAMP WHERE user_id = $1 AND provider_instance_name = $2 AND provider_user_id = $3 AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Text",
"Text",
"Int2"
]
},
"nullable": []
},
"hash": "09cd7f97577e4bcd61b057b3652689f4e53feb7e3283befd3f5b9ab7f7b37959"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO playlists (\n room_id, creator_id, name, position, deleted_at,\n deletion_source, deleted_owner_id\n )\n VALUES ($1, $2, 'account-delete', 3.0, $3, 'account', $2)\n RETURNING id",
"query": "INSERT INTO playlists (\n room_id, creator_id, name, position, deleted_at,\n deletion_source, deleted_owner_id\n )\n VALUES ($1, $2, 'account-delete', 3.0, $3, $4, $2)\n RETURNING id",
"describe": {
"columns": [
{
@ -19,12 +19,13 @@
"Left": [
"Int8",
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "1f6d478b1801be515478651cd6d99fafd1875e5fd4d86f624025a545f6377c7e"
"hash": "0c3c33a7c12a27e3780f6690b73a824cecee73db33ba1cbe5b943acfc8ef241d"
}

@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE auth_email_identities SET deleted_at = CURRENT_TIMESTAMP, deletion_source = 'account', updated_at = CURRENT_TIMESTAMP WHERE user_id = $1 AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8"
]
},
"nullable": []
},
"hash": "0ce043d5ce36b5e7acc6d82491919923972103169610860dfa64f5385d6a10b5"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id AS \"id: crate::models::RoomId\"\n FROM rooms\n WHERE id = $1\n AND deleted_at IS NOT NULL\n AND deletion_source = 'account'\n AND deleted_owner_id = $2\n FOR UPDATE\n ",
"query": "\n SELECT id AS \"id: crate::models::RoomId\"\n FROM rooms\n WHERE id = $1\n AND deleted_at IS NOT NULL\n AND deletion_source = $3\n AND deleted_owner_id = $2\n FOR UPDATE\n ",
"describe": {
"columns": [
{
@ -18,12 +18,13 @@
"parameters": {
"Left": [
"Int8",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "a41ab27b5b22457c67fc070602d3b184b9e867de668926a357942b90b6d70a7b"
"hash": "0e589e136bad660334e8731e91b913d83aa0604acb30251838e01cb53f7f198f"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id\n FROM auth_oauth2_identities\n WHERE deletion_source = 'user'\n AND deleted_at <= NOW() - make_interval(days => $1)\n ORDER BY deleted_at ASC, id ASC\n LIMIT $2\n FOR UPDATE SKIP LOCKED\n ",
"query": "\n SELECT id\n FROM auth_oauth2_identities\n WHERE deletion_source = $3\n AND deleted_at <= NOW() - make_interval(days => $1)\n ORDER BY deleted_at ASC, id ASC\n LIMIT $2\n FOR UPDATE SKIP LOCKED\n ",
"describe": {
"columns": [
{
@ -18,12 +18,13 @@
"parameters": {
"Left": [
"Int4",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "23f36d9bfe00dcd8f9ca5b8d7685550e5becc992e82b692dc4ecd9871eea5980"
"hash": "133937f1cceaeeae64e2d508e4115f35a3e46de1a5e85a7b43b5e4a8087f7c13"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT event_id, sequence\n FROM room_resource_events e\n WHERE e.room_id = $1\n AND e.resource_type = ANY($2::TEXT[])\n AND NOT (\n (e.resource_type = 'chat_pins'\n AND e.aggregate_type = 'chat_message'\n AND EXISTS (\n SELECT 1\n FROM chat_messages m\n WHERE m.room_id = e.room_id\n AND e.aggregate_id = m.id::TEXT\n AND m.deletion_source = 'account'\n ))\n OR (e.resource_type = 'media'\n AND EXISTS (\n SELECT 1\n FROM media m\n WHERE m.room_id = e.room_id\n AND e.resource_id = m.id::TEXT\n AND m.deletion_source = 'account'\n ))\n OR (e.resource_type = 'playlist'\n AND EXISTS (\n SELECT 1\n FROM playlists p\n WHERE p.room_id = e.room_id\n AND e.resource_id = p.id::TEXT\n AND p.deletion_source = 'account'\n ))\n )\n ORDER BY sequence DESC\n LIMIT 1\n ",
"query": "\n SELECT event_id, sequence\n FROM room_resource_events e\n WHERE e.room_id = $1\n AND e.resource_type = ANY($2::TEXT[])\n AND NOT (\n (e.resource_type = 'chat_pins'\n AND e.aggregate_type = 'chat_message'\n AND EXISTS (\n SELECT 1\n FROM chat_messages m\n WHERE m.room_id = e.room_id\n AND e.aggregate_id = m.id::TEXT\n AND m.deletion_source = $3\n ))\n OR (e.resource_type = 'media'\n AND EXISTS (\n SELECT 1\n FROM media m\n WHERE m.room_id = e.room_id\n AND e.resource_id = m.id::TEXT\n AND m.deletion_source = $3\n ))\n OR (e.resource_type = 'playlist'\n AND EXISTS (\n SELECT 1\n FROM playlists p\n WHERE p.room_id = e.room_id\n AND e.resource_id = p.id::TEXT\n AND p.deletion_source = $3\n ))\n )\n ORDER BY sequence DESC\n LIMIT 1\n ",
"describe": {
"columns": [
{
@ -29,7 +29,8 @@
"parameters": {
"Left": [
"Int8",
"TextArray"
"TextArray",
"Int2"
]
},
"nullable": [
@ -37,5 +38,5 @@
false
]
},
"hash": "53f995070b540554e246500aaf7df27e365e97af3573d726c889ee9ea4dae183"
"hash": "13833d662b23c1e94aac481609edca89d176e096bbf5d0de0862d2eb8c866155"
}

@ -1,16 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE auth_oauth2_identities SET deleted_at = CURRENT_TIMESTAMP, deletion_source = 'user', updated_at = CURRENT_TIMESTAMP WHERE user_id = $1 AND provider_instance_name = $2 AND provider_user_id = $3 AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Text",
"Text"
]
},
"nullable": []
},
"hash": "190e44c0aab676594a2772ba003dd6b5a32541d6bea783d94468f03bcc515315"
}

@ -1,16 +1,17 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE rooms\n SET deleted_at = $2, updated_at = $2,\n deletion_source = 'account', deleted_owner_id = $3\n WHERE id = $1",
"query": "UPDATE rooms\n SET deleted_at = $2, updated_at = $2,\n deletion_source = $4, deleted_owner_id = $3\n WHERE id = $1",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Timestamptz",
"Int8"
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "58ec6e32a37af6ef971c410b18adff46a1d5fb0b6e33d264bab25b2de94ef9a2"
"hash": "1941f6974bea11860bb8bccc5226a258a1b8061e3a1548641298158975bfedcc"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM 'account'\n AND ($2 OR status <> $3)\n AND created_at >= NOW() - INTERVAL '90 days'\n AND message_type = ANY($5::smallint[])\n ORDER BY created_at DESC, id DESC\n LIMIT $4\n ",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM $6\n AND ($2 OR status <> $3)\n AND created_at >= NOW() - INTERVAL '90 days'\n AND message_type = ANY($5::smallint[])\n ORDER BY created_at DESC, id DESC\n LIMIT $4\n ",
"describe": {
"columns": [
{
@ -186,7 +186,8 @@
"Bool",
"Int2",
"Int8",
"Int2Array"
"Int2Array",
"Int2"
]
},
"nullable": [
@ -208,5 +209,5 @@
false
]
},
"hash": "1c15c2ea2b878c9236d61cdee2349d67af6780ba719b44d035060d19e1e94d68"
"hash": "1f0885abb44aa0d2886957a27c29a0d3aa9dd070bd5724062a03e56ceb314bdc"
}

@ -1,15 +1,16 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE media SET deleted_at = $2, deletion_source = COALESCE(deletion_source, 'room'), version = version + 1 WHERE id = ANY($1) AND deleted_at IS NULL",
"query": "UPDATE media SET deleted_at = $2, deletion_source = COALESCE(deletion_source, $3), version = version + 1 WHERE id = ANY($1) AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": []
},
"hash": "02f88c0657be16a9ec46667c1f7348770c50e2aef701412094becaed13f649cc"
"hash": "223dcf71e84db1647e51fb76b44605ae3f27a5e5b3416a74840296956cb97fca"
}

@ -0,0 +1,16 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE rooms SET deletion_source = $3, deleted_owner_id = $2 WHERE id = $1",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "27042baee83358a3b5a191683e65882c500eacc29b0d296cf980da524be50f45"
}

@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE auth_oauth2_identities SET deleted_at = CURRENT_TIMESTAMP, deletion_source = 'user', updated_at = CURRENT_TIMESTAMP WHERE user_id = $1 AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8"
]
},
"nullable": []
},
"hash": "2ff542e4b23abc96dc0046df3ee4e105de3b75d4749988bfccbfffcc835de867"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE auth_oauth2_identities SET deleted_at = NULL, deletion_source = NULL, updated_at = CURRENT_TIMESTAMP WHERE id = $1 AND deletion_source = 'account'",
"query": "UPDATE auth_oauth2_identities SET deleted_at = NULL, deletion_source = NULL, updated_at = CURRENT_TIMESTAMP WHERE id = $1 AND deletion_source = $2",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8"
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "f5a16bc5d29ee531a010ebceffb6bf619fec5923bd48bd215308a017398cdaab"
"hash": "31b79255f574ce5d1fed858ce789f3f5e62b152c390a6394921eb7642540942c"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO media (\n playlist_id, room_id, creator_id, name, position,\n source_provider, source_config, cover_file_reference_id,\n deleted_at, deletion_source\n )\n VALUES ($1, $2, $3, 'expired-media', 1.0, 1, '{}'::JSONB, $4, $5, 'user')\n RETURNING id",
"query": "INSERT INTO media (\n playlist_id, room_id, creator_id, name, position,\n source_provider, source_config, cover_file_reference_id,\n deleted_at, deletion_source\n )\n VALUES ($1, $2, $3, 'expired-media', 1.0, 1, '{}'::JSONB, $4, $5, $6)\n RETURNING id",
"describe": {
"columns": [
{
@ -21,12 +21,13 @@
"Int8",
"Int8",
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "6621dfd1df429630c999369ba4d6815ef0ba7241239a7c00a46ec1ac08911530"
"hash": "338cabedeeff3cee6a6a4b82d7b7f3e561b3d16ebcbe1f83ca771180ab1a79fe"
}

@ -1,15 +1,16 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE chat_messages SET deleted_at = $2, deletion_source = COALESCE(deletion_source, 'room') WHERE room_id = $1 AND deleted_at IS NULL",
"query": "UPDATE chat_messages SET deleted_at = $2, deletion_source = COALESCE(deletion_source, $3) WHERE room_id = $1 AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": []
},
"hash": "fe012af8ab82e5e7ea670041f286de1d58f1885eb711fed766bacb9e050a65f4"
"hash": "33b93d28982b988436bde43d4e0cf759de6188a74a97d91991c8151cf5ed5d96"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM playlists WHERE id = ANY($1) AND deletion_source = 'user'",
"query": "DELETE FROM playlists WHERE id = ANY($1) AND deletion_source = $2",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array"
"Int8Array",
"Int2"
]
},
"nullable": []
},
"hash": "eb4984b62ac0e9835151f98b5630b4a025f27a601828c0d17900c99dac813a9b"
"hash": "3712806aaa504338d9b8245dfc3ab7ffcc53738bf1e16cd91ebe0a0cf793d257"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT aei.email\n FROM auth_email_identities aei\n JOIN users u ON u.id = aei.user_id\n WHERE u.id = $1\n AND (\n (u.deleted_at IS NULL AND aei.deleted_at IS NULL)\n OR (\n u.deleted_at IS NOT NULL\n AND aei.deleted_at IS NOT NULL\n AND aei.deletion_source = 'account'\n )\n )\n ",
"query": "\n SELECT aei.email\n FROM auth_email_identities aei\n JOIN users u ON u.id = aei.user_id\n WHERE u.id = $1\n AND (\n (u.deleted_at IS NULL AND aei.deleted_at IS NULL)\n OR (\n u.deleted_at IS NOT NULL\n AND aei.deleted_at IS NOT NULL\n AND aei.deletion_source = $2\n )\n )\n ",
"describe": {
"columns": [
{
@ -17,12 +17,13 @@
],
"parameters": {
"Left": [
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "316ef140d7b352aefbb5f2a382736fb848b3c02dadf882647bc9a488affb3db0"
"hash": "37d5305bf0821dc82ab3fe81792aa4ceb8cfb42c47e3294515999928f2b694d2"
}

@ -1,15 +1,16 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE auth_email_identities SET deleted_at = NULL, deletion_source = NULL, updated_at = CURRENT_TIMESTAMP WHERE user_id = $1 AND LOWER(email) = LOWER($2) AND deletion_source = 'account'",
"query": "UPDATE auth_email_identities SET deleted_at = NULL, deletion_source = NULL, updated_at = CURRENT_TIMESTAMP WHERE user_id = $1 AND LOWER(email) = LOWER($2) AND deletion_source = $3",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Text"
"Text",
"Int2"
]
},
"nullable": []
},
"hash": "d710f6f4e14dfffbd73ec22a384506638e809e663e1e5b35893a3ad72b2536f0"
"hash": "38fbc48567c9e2928ef237e12db41e52ea9011b291800e972b453c540b1f5ca9"
}

@ -1,12 +1,12 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT deletion_source,\n deleted_owner_id AS \"deleted_owner_id?: crate::models::UserId\"\n FROM rooms\n WHERE id = $1\n ",
"query": "\n SELECT deletion_source AS \"deletion_source?: DeletionSource\",\n deleted_owner_id AS \"deleted_owner_id?: crate::models::UserId\"\n FROM rooms\n WHERE id = $1\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "deletion_source",
"type_info": "Text",
"name": "deletion_source?: DeletionSource",
"type_info": "Int2",
"origin": {
"Table": {
"table": "rooms",
@ -36,5 +36,5 @@
true
]
},
"hash": "499434947e960ce6bd9ed7e3e3c0e3be1cbb7b079d9c6be715590e9fe0c66ead"
"hash": "39bb90985bff4d866832022c83157eaae8edab1d933a4c764c5dc097b6aaed8c"
}

@ -1,15 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE playlists SET deletion_source = 'account', deleted_owner_id = $2 WHERE id = ANY($1) AND deleted_at IS NOT NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array",
"Int8"
]
},
"nullable": []
},
"hash": "39cbb70af94a3730aabf1df6c9305fd60e2818a505afa59e8d1b7f78947db2a5"
}

@ -0,0 +1,16 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE media SET deletion_source = $3, deleted_owner_id = $2 WHERE id = ANY($1) AND deleted_at IS NOT NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array",
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "39f1ad8834c902ebc11d1e3680815be9c38515e50e83738231afec1526e97676"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE playlists SET deleted_at = NULL, deletion_source = NULL, deleted_owner_id = NULL, updated_at = CURRENT_TIMESTAMP, version = version + 1 WHERE deleted_owner_id = $1 AND deletion_source = 'account'",
"query": "UPDATE playlists SET deleted_at = NULL, deletion_source = NULL, deleted_owner_id = NULL, updated_at = CURRENT_TIMESTAMP, version = version + 1 WHERE deleted_owner_id = $1 AND deletion_source = $2",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8"
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "d8e3c37503a2934ab7e6a06a2aecc11a7682d1e1d1380b1f6f6c0f81408ff3c6"
"hash": "3d6da35d6820ad5a94f8a8e3945fa1e72d3a8eb59276104e3a924e1f937db78c"
}

@ -0,0 +1,16 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE playlists SET deletion_source = $3, deleted_owner_id = $2 WHERE id = ANY($1) AND deleted_at IS NOT NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array",
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "402725084638d288edd012a9ff26c79860d25c4abd0ea0ad410d9371c387c560"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "\n UPDATE media\n SET deleted_at = CURRENT_TIMESTAMP,\n deletion_source = 'user',\n version = version + 1\n WHERE id = $1 AND deleted_at IS NULL\n ",
"query": "\n UPDATE media\n SET deleted_at = CURRENT_TIMESTAMP,\n deletion_source = $2,\n version = version + 1\n WHERE playlist_id = $1 AND deleted_at IS NULL\n ",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8"
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "e45511aa1e3fe00e808739570075d5282b390cb49830592f7409935305602030"
"hash": "40c88728aef49462472c91c34e9657e0cdde262bdc0d6074ecf4f76a19f636de"
}

@ -1,16 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE chat_messages SET deletion_source = 'account', deleted_owner_id = $2 WHERE room_id = $1 AND deleted_at = $3 AND deletion_source = 'room' AND deleted_owner_id IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Int8",
"Timestamptz"
]
},
"nullable": []
},
"hash": "42869da45366f4f87b7d5767d1d0fec79ec17b58e6f4cc5d7d0c1b1c3802dd66"
}

@ -0,0 +1,16 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE media SET deleted_at = COALESCE(deleted_at, CURRENT_TIMESTAMP), deletion_source = COALESCE(deletion_source, $3), deleted_owner_id = COALESCE(deleted_owner_id, $2), version = version + 1 WHERE id = ANY($1) AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array",
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "45c31347c935dea83fa8e85b9b0559bd14e86f950ca9dd6bcbde4115b7f13a4f"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n WITH search_terms AS (\n SELECT websearch_to_tsquery('simple', $2) AS tsquery\n )\n SELECT m.id AS \"id!\",\n m.room_id AS \"room_id!: RoomId\",\n m.user_id AS \"user_id?: UserId\",\n m.client_message_id,\n m.content AS \"content!\",\n m.message_type AS \"message_type!: ChatMessageType\",\n m.status AS \"status!: ChatMessageStatus\",\n m.version AS \"version!\",\n m.reply_to_message_id,\n m.reply_to_message_created_at,\n m.metadata AS \"metadata?: ChatMetadata\",\n m.edited_at,\n m.deleted_at,\n m.deleted_by AS \"deleted_by?: UserId\",\n m.delete_reason,\n m.created_at AS \"created_at!\"\n FROM chat_messages m\n CROSS JOIN search_terms st\n WHERE m.room_id = $1\n AND m.deletion_source IS DISTINCT FROM 'account'\n AND (m.content_search @@ st.tsquery OR m.content ILIKE $3 ESCAPE '\\')\n AND ($4 OR m.status <> $5)\n AND ($6::bigint IS NULL OR m.user_id = $6)\n AND (m.created_at, m.id) < ($7, $8)\n ORDER BY m.created_at DESC, m.id DESC\n LIMIT $9\n ",
"query": "\n WITH search_terms AS (\n SELECT websearch_to_tsquery('simple', $2) AS tsquery\n )\n SELECT m.id AS \"id!\",\n m.room_id AS \"room_id!: RoomId\",\n m.user_id AS \"user_id?: UserId\",\n m.client_message_id,\n m.content AS \"content!\",\n m.message_type AS \"message_type!: ChatMessageType\",\n m.status AS \"status!: ChatMessageStatus\",\n m.version AS \"version!\",\n m.reply_to_message_id,\n m.reply_to_message_created_at,\n m.metadata AS \"metadata?: ChatMetadata\",\n m.edited_at,\n m.deleted_at,\n m.deleted_by AS \"deleted_by?: UserId\",\n m.delete_reason,\n m.created_at AS \"created_at!\"\n FROM chat_messages m\n CROSS JOIN search_terms st\n WHERE m.room_id = $1\n AND m.deletion_source IS DISTINCT FROM $10\n AND (m.content_search @@ st.tsquery OR m.content ILIKE $3 ESCAPE '\\')\n AND ($4 OR m.status <> $5)\n AND ($6::bigint IS NULL OR m.user_id = $6)\n AND (m.created_at, m.id) < ($7, $8)\n ORDER BY m.created_at DESC, m.id DESC\n LIMIT $9\n ",
"describe": {
"columns": [
{
@ -190,7 +190,8 @@
"Int8",
"Timestamptz",
"Int8",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
@ -212,5 +213,5 @@
false
]
},
"hash": "787dfc672def6a259b333e97cf618d7b34ae2252c0eeccca0fa91677538f8504"
"hash": "4ff5fa022f22d915a9e5b0a8a0779b5cba054363719b751f2942bfa7b36a9690"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT COUNT(*) AS \"count!\"\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM 'account'\n AND status <> $2\n AND (user_id IS NULL OR user_id <> $3)\n AND created_at >= NOW() - INTERVAL '90 days'\n ",
"query": "\n SELECT COUNT(*) AS \"count!\"\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM $4\n AND status <> $2\n AND (user_id IS NULL OR user_id <> $3)\n AND created_at >= NOW() - INTERVAL '90 days'\n ",
"describe": {
"columns": [
{
@ -14,12 +14,13 @@
"Left": [
"Int8",
"Int2",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
null
]
},
"hash": "7561186702456fb9886a6b224d1466d2beb74e81280fec5686e89edb6c8eb3f1"
"hash": "54313833a6cee855e8de7b0c6dad45c278b6cf13481bcdf608016a46e08079f6"
}

@ -1,31 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "SELECT deletion_source, deleted_owner_id AS \"deleted_owner_id: UserId\"\n FROM playlists\n WHERE id = ANY($1)\n UNION ALL\n SELECT deletion_source, deleted_owner_id AS \"deleted_owner_id: UserId\"\n FROM media\n WHERE id = ANY($2)",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "deletion_source",
"type_info": "Text",
"origin": "Expression"
},
{
"ordinal": 1,
"name": "deleted_owner_id: UserId",
"type_info": "Int8",
"origin": "Expression"
}
],
"parameters": {
"Left": [
"Int8Array",
"Int8Array"
]
},
"nullable": [
null,
null
]
},
"hash": "550db6e1d4e55125df37f0fcb3cb7528cc13055c3080ef5702981911058a6eee"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "\n UPDATE media\n SET deleted_at = CURRENT_TIMESTAMP,\n deletion_source = 'user',\n version = version + 1\n WHERE id = ANY($1) AND deleted_at IS NULL\n ",
"query": "\n UPDATE media\n SET deleted_at = CURRENT_TIMESTAMP,\n deletion_source = $2,\n version = version + 1\n WHERE id = $1 AND deleted_at IS NULL\n ",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array"
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "97405243984b25d1133581fa9242c3750f3bfeb9584db7086a860f071172bd47"
"hash": "5600661453309777113995d3064644655db437327cc18852eae8607b1ad3c796"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT e.sequence AS \"sequence!\",\n e.event_id AS \"event_id!\",\n e.room_id AS \"room_id?\",\n e.actor_user_id AS \"actor_user_id?\",\n e.payload AS \"event_payload?: sqlx::types::Json<ChatMessageEvent>\",\n e.occurred_at AS \"occurred_at!\"\n FROM chat_message_events e\n JOIN chat_messages m\n ON m.room_id = e.room_id\n AND m.id = e.message_id\n AND m.created_at = e.message_created_at\n AND m.deletion_source IS DISTINCT FROM 'account'\n WHERE e.room_id = $1\n AND e.event_type = ANY($2::text[])\n AND e.message_id = $3\n AND e.message_created_at = $4\n ORDER BY sequence DESC\n LIMIT 1\n ",
"query": "\n SELECT e.sequence AS \"sequence!\",\n e.event_id AS \"event_id!\",\n e.room_id AS \"room_id?\",\n e.actor_user_id AS \"actor_user_id?\",\n e.payload AS \"event_payload?: sqlx::types::Json<ChatMessageEvent>\",\n e.occurred_at AS \"occurred_at!\"\n FROM chat_message_events e\n JOIN chat_messages m\n ON m.room_id = e.room_id\n AND m.id = e.message_id\n AND m.created_at = e.message_created_at\n AND m.deletion_source IS DISTINCT FROM $5\n WHERE e.room_id = $1\n AND e.event_type = ANY($2::text[])\n AND e.message_id = $3\n AND e.message_created_at = $4\n ORDER BY sequence DESC\n LIMIT 1\n ",
"describe": {
"columns": [
{
@ -75,7 +75,8 @@
"Int8",
"TextArray",
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": [
@ -87,5 +88,5 @@
false
]
},
"hash": "b77c5345d314c7b96e2db7782717e41c807b82c44df14ead9a574cc0b56bf0bf"
"hash": "565ee0913874b50d05ea625bf4443eab2e28b5b58e188d960c2e52046a742f0e"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "SELECT deleted_at, deletion_source FROM media WHERE id = $1",
"query": "SELECT deleted_at,\n deletion_source AS \"deletion_source?: DeletionSource\"\n FROM media WHERE id = $1",
"describe": {
"columns": [
{
@ -16,8 +16,8 @@
},
{
"ordinal": 1,
"name": "deletion_source",
"type_info": "Text",
"name": "deletion_source?: DeletionSource",
"type_info": "Int2",
"origin": {
"Table": {
"table": "media",
@ -36,5 +36,5 @@
true
]
},
"hash": "9c430c4cb5fd8fb903580f90c8bdd045d87f2e7c49ec0134e3a5f434e4470267"
"hash": "5dcc1931221eaac6001584d14334dd80825223cc48176442307581862abad86b"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO playlists (\n room_id, creator_id, name, parent_id, position,\n deleted_at, deletion_source\n )\n VALUES ($1, $2, 'retained-other-user-child', $3, 1.0, $4, 'user')\n RETURNING id",
"query": "INSERT INTO playlists (\n room_id, creator_id, name, parent_id, position,\n deleted_at, deletion_source\n )\n VALUES ($1, $2, 'expired-child', $3, 1.0, $4, $5)\n RETURNING id",
"describe": {
"columns": [
{
@ -20,12 +20,13 @@
"Int8",
"Int8",
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "2a2786a35b1aead69e0914bccb12784f3ed3323f7564388246492f4b5d1d7e6f"
"hash": "5e64d3186df37b2e4fdc367318040b54a9131a32242750681e2259a0db97ba2a"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "SELECT deleted_at, deletion_source FROM auth_oauth2_identities WHERE user_id = $1",
"query": "SELECT deleted_at,\n deletion_source AS \"deletion_source?: DeletionSource\"\n FROM auth_oauth2_identities WHERE user_id = $1",
"describe": {
"columns": [
{
@ -16,8 +16,8 @@
},
{
"ordinal": 1,
"name": "deletion_source",
"type_info": "Text",
"name": "deletion_source?: DeletionSource",
"type_info": "Int2",
"origin": {
"Table": {
"table": "auth_oauth2_identities",
@ -36,5 +36,5 @@
true
]
},
"hash": "f57b0b56bb2a76ba1d0e4767e48d975e1088067316724a2dc15e9d7062d393af"
"hash": "5e93e3eabc027a4e3a6ad250cf5c53f6e14e17bfa47b6754d4c832ffe4fb96e0"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM auth_email_identities WHERE id = ANY($1) AND deletion_source = 'user'",
"query": "DELETE FROM auth_email_identities WHERE id = ANY($1) AND deletion_source = $2",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array"
"Int8Array",
"Int2"
]
},
"nullable": []
},
"hash": "7d2e33b1b78eaec7a9bc9297d96738916b304e48efbdaad503df4cf0484c6fbc"
"hash": "5ee4d290817b42e61d97a4844e58fa3dc498a08b9a45269e480addecabdafa90"
}

@ -1,12 +1,12 @@
{
"db_name": "PostgreSQL",
"query": "SELECT deletion_source FROM auth_email_identities WHERE user_id = $1",
"query": "SELECT deletion_source AS \"deletion_source?: DeletionSource\"\n FROM auth_email_identities WHERE user_id = $1",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "deletion_source",
"type_info": "Text",
"name": "deletion_source?: DeletionSource",
"type_info": "Int2",
"origin": {
"Table": {
"table": "auth_email_identities",
@ -24,5 +24,5 @@
true
]
},
"hash": "1e98756a4a648583eb3df442dc496a2917f2b302ee9c2e61587c8439bfa2f226"
"hash": "64df33ec837e28728702879f32e422580ddcf30df46000393098ff1e99a13eac"
}

@ -0,0 +1,18 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE chat_messages SET deletion_source = $4, deleted_owner_id = $2 WHERE room_id = $1 AND deleted_at = $3 AND deletion_source = $5 AND deleted_owner_id IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Int8",
"Timestamptz",
"Int2",
"Int2"
]
},
"nullable": []
},
"hash": "6a191d04a7c7ca618aed997c9789725ebf580566e6781e6ac082a6d797af4a71"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "SELECT id AS \"id: RoomId\"\n FROM rooms\n WHERE deleted_owner_id = $1\n AND deletion_source = 'account'\n ORDER BY id\n FOR UPDATE",
"query": "SELECT id AS \"id: RoomId\"\n FROM rooms\n WHERE deleted_owner_id = $1\n AND deletion_source = $2\n ORDER BY id\n FOR UPDATE",
"describe": {
"columns": [
{
@ -17,12 +17,13 @@
],
"parameters": {
"Left": [
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "d7b6b7f53e4b3e081c0732fe3c2dd4c9ca7322cdd9ac4e08c9168b0655eac8ca"
"hash": "6a79f393465ca458b446353cbfb90a464207aab57ac1a403230c895b5cbeaaef"
}

@ -1,15 +1,16 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE users\n SET deleted_at = $2, updated_at = $2, deletion_source = 'account'\n WHERE id = $1",
"query": "UPDATE users\n SET deleted_at = $2, updated_at = $2, deletion_source = $3\n WHERE id = $1",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": []
},
"hash": "a4cbbdbd2154d47b6f70975d6796c31d86429a9b45af044754d92416d053f6e8"
"hash": "6b2b1a6a443394f92d720e61dbbc2ce5cf71ae7e39bbc9f3020af3483d424c78"
}

@ -6,7 +6,7 @@
"parameters": {
"Left": [
"Int8",
"Text",
"Int2",
"Text",
"Int8"
]

@ -1,14 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n UPDATE chat_messages\n SET deleted_at = CURRENT_TIMESTAMP,\n deletion_source = 'account',\n deleted_owner_id = $1,\n version = version + 1\n WHERE user_id = $1\n AND deleted_at IS NULL\n ",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8"
]
},
"nullable": []
},
"hash": "6dea9846f586c9e05dff692c1cde65ae6f7e7c870cb9c2951b4370c5abbd3730"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1 AND id = $2\n AND deletion_source IS DISTINCT FROM 'account'\n ",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1 AND id = $2\n AND deletion_source IS DISTINCT FROM $3\n ",
"describe": {
"columns": [
{
@ -183,7 +183,8 @@
"parameters": {
"Left": [
"Int8",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
@ -205,5 +206,5 @@
false
]
},
"hash": "a39ae0eacda654a006e3f07e1908688f56e8010227bb28dc0388a29690adc186"
"hash": "6eb23a29af2a778ab562fc389ffcbb89f6c77718cfdc5a6f67ed0d408dab107f"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n WITH search_terms AS (\n SELECT websearch_to_tsquery('simple', $2) AS tsquery\n )\n SELECT m.id AS \"id!\",\n m.room_id AS \"room_id!: RoomId\",\n m.user_id AS \"user_id?: UserId\",\n m.client_message_id,\n m.content AS \"content!\",\n m.message_type AS \"message_type!: ChatMessageType\",\n m.status AS \"status!: ChatMessageStatus\",\n m.version AS \"version!\",\n m.reply_to_message_id,\n m.reply_to_message_created_at,\n m.metadata AS \"metadata?: ChatMetadata\",\n m.edited_at,\n m.deleted_at,\n m.deleted_by AS \"deleted_by?: UserId\",\n m.delete_reason,\n m.created_at AS \"created_at!\"\n FROM chat_messages m\n CROSS JOIN search_terms st\n WHERE m.room_id = $1\n AND m.deletion_source IS DISTINCT FROM 'account'\n AND (m.content_search @@ st.tsquery OR m.content ILIKE $3 ESCAPE '\\')\n AND ($4 OR m.status <> $5)\n AND ($6::bigint IS NULL OR m.user_id = $6)\n ORDER BY m.created_at DESC, m.id DESC\n LIMIT $7\n ",
"query": "\n WITH search_terms AS (\n SELECT websearch_to_tsquery('simple', $2) AS tsquery\n )\n SELECT m.id AS \"id!\",\n m.room_id AS \"room_id!: RoomId\",\n m.user_id AS \"user_id?: UserId\",\n m.client_message_id,\n m.content AS \"content!\",\n m.message_type AS \"message_type!: ChatMessageType\",\n m.status AS \"status!: ChatMessageStatus\",\n m.version AS \"version!\",\n m.reply_to_message_id,\n m.reply_to_message_created_at,\n m.metadata AS \"metadata?: ChatMetadata\",\n m.edited_at,\n m.deleted_at,\n m.deleted_by AS \"deleted_by?: UserId\",\n m.delete_reason,\n m.created_at AS \"created_at!\"\n FROM chat_messages m\n CROSS JOIN search_terms st\n WHERE m.room_id = $1\n AND m.deletion_source IS DISTINCT FROM $8\n AND (m.content_search @@ st.tsquery OR m.content ILIKE $3 ESCAPE '\\')\n AND ($4 OR m.status <> $5)\n AND ($6::bigint IS NULL OR m.user_id = $6)\n ORDER BY m.created_at DESC, m.id DESC\n LIMIT $7\n ",
"describe": {
"columns": [
{
@ -188,7 +188,8 @@
"Bool",
"Int2",
"Int8",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
@ -210,5 +211,5 @@
false
]
},
"hash": "b34aff665e90a2754b82448da1e083032f40f11322aca94926186af90b086397"
"hash": "70d766384a03de012c33b406e9f9b7715a01132bc138cb5ad37e510c30ed543b"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO media (\n room_id, creator_id, name, position, source_provider, source_config,\n deleted_at, deletion_source\n )\n VALUES ($1, $2, 'recent-media', 2.0, 1, '{}'::JSONB, $3, 'user')\n RETURNING id",
"query": "INSERT INTO media (\n room_id, creator_id, name, position, source_provider, source_config,\n deleted_at, deletion_source\n )\n VALUES ($1, $2, 'recent-media', 2.0, 1, '{}'::JSONB, $3, $4)\n RETURNING id",
"describe": {
"columns": [
{
@ -19,12 +19,13 @@
"Left": [
"Int8",
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "c8d1064801ecacd9f0e86e218dfbe80e3dcae9fa69b89afebdd40e0cd340c1ba"
"hash": "72131d066a1b6ab6caad963e75f90ad8cd167eb6257faf7346f24a0a9c7e51d3"
}

@ -1,15 +1,16 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE playlists SET deleted_at = $2, deletion_source = COALESCE(deletion_source, 'room'), version = version + 1 WHERE id = ANY($1) AND deleted_at IS NULL",
"query": "UPDATE playlists SET deleted_at = $2, deletion_source = COALESCE(deletion_source, $3), version = version + 1 WHERE id = ANY($1) AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": []
},
"hash": "8c4a7c5ee5e786fbc180032cb528d11dd2ccc58c8c54da3d79a8374e796775d3"
"hash": "75b397a4c143b461fdd9c7f6e8fc7a2fb7d384cec7637946492ae29db442a944"
}

@ -1,15 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE media SET deleted_at = COALESCE(deleted_at, CURRENT_TIMESTAMP), deletion_source = COALESCE(deletion_source, 'account'), deleted_owner_id = COALESCE(deleted_owner_id, $2), version = version + 1 WHERE id = ANY($1) AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array",
"Int8"
]
},
"nullable": []
},
"hash": "75e7484d768a7b1a0d97ffe624ad054cf1c3b4638889e10ae84f8ff07fe191b7"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM auth_oauth2_identities WHERE id = ANY($1) AND deletion_source = 'user'",
"query": "DELETE FROM auth_oauth2_identities WHERE id = ANY($1) AND deletion_source = $2",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array"
"Int8Array",
"Int2"
]
},
"nullable": []
},
"hash": "eb4f45f823dc9895f89e3513f95213e9df3745bbeb8d9aac980f54d8a9ca9a1d"
"hash": "78aff25b51e3b6961ae016df9aac143aad89c410cdb98cc0930310274ec46f48"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO playlists (\n room_id, creator_id, name, position, deleted_at, deletion_source\n )\n VALUES ($1, $2, 'retained-user-parent', 1.0, $3, 'user')\n RETURNING id",
"query": "INSERT INTO playlists (\n room_id, creator_id, name, position, deleted_at, deletion_source\n )\n VALUES ($1, $2, 'retained-user-parent', 1.0, $3, $4)\n RETURNING id",
"describe": {
"columns": [
{
@ -19,12 +19,13 @@
"Left": [
"Int8",
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "182d24681524f648eeb0b4e7795dcd7db945381416ffacdc65f26b9d2580ea52"
"hash": "78e8473ad517877a39a58de3cc96a488c82d477e5e29975e7f3f2e4ccb10e29c"
}

@ -0,0 +1,30 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT p.id\n FROM playlists p\n WHERE p.deletion_source = $3\n AND p.deleted_at <= NOW() - make_interval(days => $1)\n AND NOT EXISTS (SELECT 1 FROM media m WHERE m.playlist_id = p.id)\n AND NOT EXISTS (SELECT 1 FROM playlists child WHERE child.parent_id = p.id)\n ORDER BY p.deleted_at ASC, p.id ASC\n LIMIT $2\n FOR UPDATE OF p SKIP LOCKED\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int8",
"origin": {
"Table": {
"table": "playlists",
"name": "id"
}
}
}
],
"parameters": {
"Left": [
"Int4",
"Int8",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "7929ab3dec6f9c0f1ebf140e7c9fd43632f2069180747fa2b41480a8e4c37473"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "\n UPDATE media\n SET deleted_at = CURRENT_TIMESTAMP,\n deletion_source = 'user',\n version = version + 1\n WHERE playlist_id = $1 AND deleted_at IS NULL\n ",
"query": "\n UPDATE media\n SET deleted_at = CURRENT_TIMESTAMP,\n deletion_source = $2,\n version = version + 1\n WHERE id = ANY($1) AND deleted_at IS NULL\n ",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8"
"Int8Array",
"Int2"
]
},
"nullable": []
},
"hash": "45c81cde874df8cc413eef9d236ea6010842e8a5ad7cb40a920daf891afc0aa8"
"hash": "7c17e55babd0d5e1650a7f56ae4ec7f60843d585f5740ec2cbdad1989300dcde"
}

@ -1,29 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT p.id\n FROM playlists p\n WHERE p.deletion_source = 'user'\n AND p.deleted_at <= NOW() - make_interval(days => $1)\n AND NOT EXISTS (SELECT 1 FROM media m WHERE m.playlist_id = p.id)\n AND NOT EXISTS (SELECT 1 FROM playlists child WHERE child.parent_id = p.id)\n ORDER BY p.deleted_at ASC, p.id ASC\n LIMIT $2\n FOR UPDATE OF p SKIP LOCKED\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int8",
"origin": {
"Table": {
"table": "playlists",
"name": "id"
}
}
}
],
"parameters": {
"Left": [
"Int4",
"Int8"
]
},
"nullable": [
false
]
},
"hash": "7fccaa1d155211a5dce41f0fefd1b9f4a705aab24883f53ffa3646c72b214fb3"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id\n FROM auth_email_identities\n WHERE deletion_source = 'user'\n AND deleted_at <= NOW() - make_interval(days => $1)\n ORDER BY deleted_at ASC, id ASC\n LIMIT $2\n FOR UPDATE SKIP LOCKED\n ",
"query": "\n SELECT id\n FROM auth_email_identities\n WHERE deletion_source = $3\n AND deleted_at <= NOW() - make_interval(days => $1)\n ORDER BY deleted_at ASC, id ASC\n LIMIT $2\n FOR UPDATE SKIP LOCKED\n ",
"describe": {
"columns": [
{
@ -18,12 +18,13 @@
"parameters": {
"Left": [
"Int4",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "9ddf2080421c615ff9fe7080bec060814d216d289b9182800baea3209f000935"
"hash": "801489793c34385e1ddc0468160e8f7bda1b750d27b2c0d7c956193fca0cb4f0"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM 'account'\n AND ($2 OR status <> $3)\n AND (created_at, id) < ($4, $5)\n ORDER BY created_at DESC, id DESC\n LIMIT $6\n ",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM $7\n AND ($2 OR status <> $3)\n AND (created_at, id) < ($4, $5)\n ORDER BY created_at DESC, id DESC\n LIMIT $6\n ",
"describe": {
"columns": [
{
@ -187,7 +187,8 @@
"Int2",
"Timestamptz",
"Int8",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
@ -209,5 +210,5 @@
false
]
},
"hash": "c64dcca5021ec625d22d5c5d8e900d58cd80782b04c5ca9780256effe641d763"
"hash": "81a1e2c3230e42a42679934f5ec9a481d65e5f04e3310196af2975fc4566515f"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id AS \"user_id!: UserId\",\n deletion_source,\n deletion_reason,\n deleted_by AS \"deleted_by?: UserId\",\n restored_at,\n restored_by AS \"restored_by?: UserId\"\n FROM users\n WHERE id = ANY($1)\n ",
"query": "\n SELECT id AS \"user_id!: UserId\",\n deletion_source AS \"deletion_source?: DeletionSource\",\n deletion_reason,\n deleted_by AS \"deleted_by?: UserId\",\n restored_at,\n restored_by AS \"restored_by?: UserId\"\n FROM users\n WHERE id = ANY($1)\n ",
"describe": {
"columns": [
{
@ -16,8 +16,8 @@
},
{
"ordinal": 1,
"name": "deletion_source",
"type_info": "Text",
"name": "deletion_source?: DeletionSource",
"type_info": "Int2",
"origin": {
"Table": {
"table": "users",
@ -84,5 +84,5 @@
true
]
},
"hash": "0e2d7ba9a31d338c1e27df00c2b49128b39d5d1efdb8855a8a03444b174945a9"
"hash": "850e03b34b50be878b6c5ace71c510266c8e2be81a3979016285cbe06432005e"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "SELECT deleted_at, deletion_source, deleted_owner_id AS \"deleted_owner_id: UserId\" FROM chat_messages WHERE room_id = $1",
"query": "SELECT deleted_at,\n deletion_source AS \"deletion_source?: DeletionSource\",\n deleted_owner_id AS \"deleted_owner_id: UserId\"\n FROM chat_messages WHERE room_id = $1",
"describe": {
"columns": [
{
@ -16,8 +16,8 @@
},
{
"ordinal": 1,
"name": "deletion_source",
"type_info": "Text",
"name": "deletion_source?: DeletionSource",
"type_info": "Int2",
"origin": {
"Table": {
"table": "chat_messages",
@ -48,5 +48,5 @@
true
]
},
"hash": "a8369af70cac41f43ecbb3ecaa953fcbdb8202b59340ad25703462be5a8300bb"
"hash": "85e58a79068e59e3107333d23b60d611e911505e0022355f66324abf70ab4a50"
}

@ -1,16 +1,18 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO auth_oauth2_identities (\n provider_type, provider_instance_name, provider_user_id,\n user_id, username, deleted_at, deletion_source\n )\n VALUES\n (2, 'github', 'expired-unbound', $1, 'expired', $2, 'user'),\n (2, 'github', 'recent-unbound', $1, 'recent', $3, 'user'),\n (2, 'github', 'account-retained', $1, 'account', $2, 'account')",
"query": "INSERT INTO auth_oauth2_identities (\n provider_type, provider_instance_name, provider_user_id,\n user_id, username, deleted_at, deletion_source\n )\n VALUES\n (2, 'github', 'expired-unbound', $1, 'expired', $2, $4),\n (2, 'github', 'recent-unbound', $1, 'recent', $3, $4),\n (2, 'github', 'account-retained', $1, 'account', $2, $5)",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Timestamptz",
"Timestamptz"
"Timestamptz",
"Int2",
"Int2"
]
},
"nullable": []
},
"hash": "61a24054b1808d7dcc54787240d245bf221c74a3677c6b57c02fcacbc62513af"
"hash": "8a45101fba476921897c8db4b37525d0f2bf1bfb78371356127b4c47af23293f"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n WITH candidates AS (\n SELECT id,\n room_id,\n user_id,\n client_message_id,\n content,\n message_type,\n status,\n version,\n reply_to_message_id,\n reply_to_message_created_at,\n metadata,\n edited_at,\n deleted_at,\n deleted_by,\n delete_reason,\n created_at,\n CASE\n WHEN jsonb_typeof(metadata #> '{playback,positionSeconds}') = 'number'\n THEN (metadata #>> '{playback,positionSeconds}')::double precision\n ELSE NULL\n END AS playback_position\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM 'account'\n AND ($2 OR status <> $3)\n AND ($4::text IS NULL OR metadata #>> '{playback,mediaId}' = $4)\n AND ($5::text IS NULL OR metadata #>> '{playback,playlistId}' = $5)\n AND ($6::text IS NULL OR metadata #>> '{playback,targetHash}' = $6)\n AND message_type = ANY($7::smallint[])\n )\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM candidates\n WHERE playback_position BETWEEN $8 AND $9\n ORDER BY playback_position ASC, created_at ASC, id ASC\n LIMIT $10\n ",
"query": "\n WITH candidates AS (\n SELECT id,\n room_id,\n user_id,\n client_message_id,\n content,\n message_type,\n status,\n version,\n reply_to_message_id,\n reply_to_message_created_at,\n metadata,\n edited_at,\n deleted_at,\n deleted_by,\n delete_reason,\n created_at,\n CASE\n WHEN jsonb_typeof(metadata #> '{playback,positionSeconds}') = 'number'\n THEN (metadata #>> '{playback,positionSeconds}')::double precision\n ELSE NULL\n END AS playback_position\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM $11\n AND ($2 OR status <> $3)\n AND ($4::text IS NULL OR metadata #>> '{playback,mediaId}' = $4)\n AND ($5::text IS NULL OR metadata #>> '{playback,playlistId}' = $5)\n AND ($6::text IS NULL OR metadata #>> '{playback,targetHash}' = $6)\n AND message_type = ANY($7::smallint[])\n )\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM candidates\n WHERE playback_position BETWEEN $8 AND $9\n ORDER BY playback_position ASC, created_at ASC, id ASC\n LIMIT $10\n ",
"describe": {
"columns": [
{
@ -191,7 +191,8 @@
"Int2Array",
"Float8",
"Float8",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
@ -213,5 +214,5 @@
false
]
},
"hash": "2e3df69588c24c225474f23f4d19028fe04b24e2b75c2e62860cb7941bce560f"
"hash": "8d4a4914427075127768d878a628470d8ae24168f9ac340ca3be9a30cadecc11"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO playlists (\n room_id, creator_id, name, parent_id, position,\n deleted_at, deletion_source\n )\n VALUES ($1, $2, 'expired-child', $3, 1.0, $4, 'user')\n RETURNING id",
"query": "INSERT INTO playlists (\n room_id, creator_id, name, parent_id, position,\n deleted_at, deletion_source\n )\n VALUES ($1, $2, 'retained-other-user-child', $3, 1.0, $4, $5)\n RETURNING id",
"describe": {
"columns": [
{
@ -20,12 +20,13 @@
"Int8",
"Int8",
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "a7642501eed21b261c3f6e9c7805d0f5c6e71d2eda2db11e31014c60934534a6"
"hash": "975bc97ad98730d63ef06dfa793c14cb0ae65f95937af05ea2bdf0e272edae68"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1\n AND id = $2\n AND deletion_source IS DISTINCT FROM 'account'\n FOR UPDATE\n ",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1\n AND id = $2\n AND deletion_source IS DISTINCT FROM $3\n FOR UPDATE\n ",
"describe": {
"columns": [
{
@ -183,7 +183,8 @@
"parameters": {
"Left": [
"Int8",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
@ -205,5 +206,5 @@
false
]
},
"hash": "af3cd795fc7ddcee9cf3721a670425077ec4faf8450ef3c72d722a7eb84fa5fb"
"hash": "9d17f87cf916eb522d7b53dd1212ef396e8733df3e353f42601673efec3add26"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM 'account'\n AND ($2 OR status <> $3)\n AND (created_at, id) > ($4, $5)\n ORDER BY created_at ASC, id ASC\n LIMIT $6\n ",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM $7\n AND ($2 OR status <> $3)\n AND (created_at, id) > ($4, $5)\n ORDER BY created_at ASC, id ASC\n LIMIT $6\n ",
"describe": {
"columns": [
{
@ -187,7 +187,8 @@
"Int2",
"Timestamptz",
"Int8",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
@ -209,5 +210,5 @@
false
]
},
"hash": "54833a98810c9d8f48c0a57121346d256cce55c49d1be623ab7d0336be3317af"
"hash": "9f1b41e87c6a136f880ff89356befe073e9c994a370a63b5a44402f596847283"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE auth_oauth2_identities SET deleted_at = CURRENT_TIMESTAMP, deletion_source = 'user', updated_at = CURRENT_TIMESTAMP WHERE user_id = $1 AND provider_type = $2 AND deleted_at IS NULL",
"query": "UPDATE auth_oauth2_identities SET deleted_at = CURRENT_TIMESTAMP, deletion_source = $2, updated_at = CURRENT_TIMESTAMP WHERE user_id = $1 AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
@ -11,5 +11,5 @@
},
"nullable": []
},
"hash": "d620960cfb742737471e5e0a38e5a850bbd8bdb4de6a4a79bbf446ba4065343e"
"hash": "9f5de1c1b9d973a7a6583a234327911db4b169a90a6c69c83f53ae491d1d1075"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE auth_oauth2_identities SET deleted_at = CURRENT_TIMESTAMP, deletion_source = 'account' WHERE user_id = $1 AND deleted_at IS NULL",
"query": "UPDATE auth_oauth2_identities SET deleted_at = CURRENT_TIMESTAMP, deletion_source = $2 WHERE user_id = $1 AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8"
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "0e06b792f51d3fea6c21ed913e090b4e0fa8f5f7e80af91a9142930a1855d209"
"hash": "9fdaedea93b6f7c648aee7db19a19958f5619cd09b44ff526e1a991c73167788"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT COUNT(*) AS \"count!\"\n FROM chat_message_events e\n JOIN chat_messages m\n ON m.room_id = e.room_id\n AND m.id = e.message_id\n AND m.created_at = e.message_created_at\n WHERE e.room_id = $1\n AND e.sequence > $2\n AND e.event_type = $3\n AND m.status <> $4\n AND m.deletion_source IS DISTINCT FROM 'account'\n AND (m.user_id IS NULL OR m.user_id <> $5)\n ",
"query": "\n SELECT COUNT(*) AS \"count!\"\n FROM chat_message_events e\n JOIN chat_messages m\n ON m.room_id = e.room_id\n AND m.id = e.message_id\n AND m.created_at = e.message_created_at\n WHERE e.room_id = $1\n AND e.sequence > $2\n AND e.event_type = $3\n AND m.status <> $4\n AND m.deletion_source IS DISTINCT FROM $6\n AND (m.user_id IS NULL OR m.user_id <> $5)\n ",
"describe": {
"columns": [
{
@ -16,12 +16,13 @@
"Int8",
"Text",
"Int2",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
null
]
},
"hash": "4891bbba39b18c96b2f6695f98367a4dbd080053602dd0260127841624e6046f"
"hash": "a5209a475ad100c1d7348d9a6a9d9e5b9ad22fe88c407c16390c3c50325ac59a"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT e.sequence AS \"sequence!\",\n e.event_id AS \"event_id!\",\n e.room_id AS \"room_id?\",\n e.actor_user_id AS \"actor_user_id?\",\n e.payload AS \"event_payload?: sqlx::types::Json<ChatMessageEvent>\",\n e.occurred_at AS \"occurred_at!\"\n FROM chat_message_events e\n JOIN chat_messages m\n ON m.room_id = e.room_id\n AND m.id = e.message_id\n AND m.created_at = e.message_created_at\n AND m.deletion_source IS DISTINCT FROM 'account'\n WHERE e.room_id = $1\n AND e.sequence > $2\n AND e.event_type = ANY($3::text[])\n AND (e.payload #>> '{message,message,messageType}') = ANY($5::text[])\n ORDER BY sequence ASC\n LIMIT $4\n ",
"query": "\n SELECT e.sequence AS \"sequence!\",\n e.event_id AS \"event_id!\",\n e.room_id AS \"room_id?\",\n e.actor_user_id AS \"actor_user_id?\",\n e.payload AS \"event_payload?: sqlx::types::Json<ChatMessageEvent>\",\n e.occurred_at AS \"occurred_at!\"\n FROM chat_message_events e\n JOIN chat_messages m\n ON m.room_id = e.room_id\n AND m.id = e.message_id\n AND m.created_at = e.message_created_at\n AND m.deletion_source IS DISTINCT FROM $6\n WHERE e.room_id = $1\n AND e.sequence > $2\n AND e.event_type = ANY($3::text[])\n AND (e.payload #>> '{message,message,messageType}') = ANY($5::text[])\n ORDER BY sequence ASC\n LIMIT $4\n ",
"describe": {
"columns": [
{
@ -76,7 +76,8 @@
"Int8",
"TextArray",
"Int8",
"TextArray"
"TextArray",
"Int2"
]
},
"nullable": [
@ -88,5 +89,5 @@
false
]
},
"hash": "b85073e85e9ab0ed1aee14edd206eb1f0fe978ad74ce00a40e6e9d2b6fc0a773"
"hash": "a5e9dca4afbc8698f2d853cf8d20e724c3e513e3561f188760f6bebf03446da9"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT event_id AS \"event_id!\",\n sequence,\n resource_type AS \"resource_type!\",\n event_type AS \"event_type!\",\n payload AS \"payload?: sqlx::types::Json<RoomResourceEventPayload>\"\n FROM room_resource_events e\n WHERE e.room_id = $1\n AND e.sequence > $2\n AND e.resource_type = ANY($3::TEXT[])\n AND NOT (\n (e.resource_type = 'chat_pins'\n AND e.aggregate_type = 'chat_message'\n AND EXISTS (\n SELECT 1\n FROM chat_messages m\n WHERE m.room_id = e.room_id\n AND e.aggregate_id = m.id::TEXT\n AND m.deletion_source = 'account'\n ))\n OR (e.resource_type = 'media'\n AND EXISTS (\n SELECT 1\n FROM media m\n WHERE m.room_id = e.room_id\n AND e.resource_id = m.id::TEXT\n AND m.deletion_source = 'account'\n ))\n OR (e.resource_type = 'playlist'\n AND EXISTS (\n SELECT 1\n FROM playlists p\n WHERE p.room_id = e.room_id\n AND e.resource_id = p.id::TEXT\n AND p.deletion_source = 'account'\n ))\n )\n ORDER BY sequence ASC\n LIMIT $4\n ",
"query": "\n SELECT event_id AS \"event_id!\",\n sequence,\n resource_type AS \"resource_type!\",\n event_type AS \"event_type!\",\n payload AS \"payload?: sqlx::types::Json<RoomResourceEventPayload>\"\n FROM room_resource_events e\n WHERE e.room_id = $1\n AND e.sequence > $2\n AND e.resource_type = ANY($3::TEXT[])\n AND NOT (\n (e.resource_type = 'chat_pins'\n AND e.aggregate_type = 'chat_message'\n AND EXISTS (\n SELECT 1\n FROM chat_messages m\n WHERE m.room_id = e.room_id\n AND e.aggregate_id = m.id::TEXT\n AND m.deletion_source = $5\n ))\n OR (e.resource_type = 'media'\n AND EXISTS (\n SELECT 1\n FROM media m\n WHERE m.room_id = e.room_id\n AND e.resource_id = m.id::TEXT\n AND m.deletion_source = $5\n ))\n OR (e.resource_type = 'playlist'\n AND EXISTS (\n SELECT 1\n FROM playlists p\n WHERE p.room_id = e.room_id\n AND e.resource_id = p.id::TEXT\n AND p.deletion_source = $5\n ))\n )\n ORDER BY sequence ASC\n LIMIT $4\n ",
"describe": {
"columns": [
{
@ -64,7 +64,8 @@
"Int8",
"Int8",
"TextArray",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
@ -75,5 +76,5 @@
true
]
},
"hash": "99b5489abb69c8e1fbe991d6fca4f0e7752cfd5b716efe695f8bb99f6ac6516b"
"hash": "a7b78b24b782ed6d90602a26b7a901e4109ee382d4b62807ce747bd7c3186c88"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE media SET deleted_at = NULL, deletion_source = NULL, deleted_owner_id = NULL, updated_at = CURRENT_TIMESTAMP, version = version + 1 WHERE deleted_owner_id = $1 AND deletion_source = 'account'",
"query": "UPDATE media SET deleted_at = NULL, deletion_source = NULL, deleted_owner_id = NULL, updated_at = CURRENT_TIMESTAMP, version = version + 1 WHERE deleted_owner_id = $1 AND deletion_source = $2",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8"
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "2efaf94474693dce6d413ab6835a4a604b2d6f755f879c718915459cbd472ee0"
"hash": "a984111b0cfde4698b6e36456a7f1a199c1bc34b538b946fa79efd04cb1e125c"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "SELECT deleted_at, deletion_source, deleted_owner_id AS \"deleted_owner_id: UserId\" FROM chat_messages WHERE id = $1",
"query": "SELECT deleted_at,\n deletion_source AS \"deletion_source?: DeletionSource\",\n deleted_owner_id AS \"deleted_owner_id: UserId\"\n FROM chat_messages WHERE id = $1",
"describe": {
"columns": [
{
@ -16,8 +16,8 @@
},
{
"ordinal": 1,
"name": "deletion_source",
"type_info": "Text",
"name": "deletion_source?: DeletionSource",
"type_info": "Int2",
"origin": {
"Table": {
"table": "chat_messages",
@ -48,5 +48,5 @@
true
]
},
"hash": "c3d2613d33ace5ab133d0bd41cfdf4bb94f92f6e3607685a75010284b91ab3e3"
"hash": "ac8705d2ecc6d76f2601c07c1005997d426ba4c19c56def607b2363f03bb6053"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id\n FROM media\n WHERE deletion_source = 'user'\n AND deleted_at <= NOW() - make_interval(days => $1)\n ORDER BY deleted_at ASC, id ASC\n LIMIT $2\n FOR UPDATE SKIP LOCKED\n ",
"query": "\n SELECT id\n FROM media\n WHERE deletion_source = $3\n AND deleted_at <= NOW() - make_interval(days => $1)\n ORDER BY deleted_at ASC, id ASC\n LIMIT $2\n FOR UPDATE SKIP LOCKED\n ",
"describe": {
"columns": [
{
@ -18,12 +18,13 @@
"parameters": {
"Left": [
"Int4",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "12c0f3d8df26cfa4088a0fb2bc70379649f2793ad66cc672b36189bc2caced9b"
"hash": "ae1ee546bf987fca6961ef335e1888a155e8524ab0030946ba31691bf0637df1"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE rooms SET deleted_at = NULL, deletion_source = NULL, deleted_owner_id = NULL, updated_at = CURRENT_TIMESTAMP, version = version + 1 WHERE deleted_owner_id = $1 AND deletion_source = 'account'",
"query": "UPDATE rooms SET deleted_at = NULL, deletion_source = NULL, deleted_owner_id = NULL, updated_at = CURRENT_TIMESTAMP, version = version + 1 WHERE deleted_owner_id = $1 AND deletion_source = $2",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8"
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "a48e93914e7da1b54e4e3bda821cd5378c1aa78d6fcdc594e53e48d616bbac1d"
"hash": "aefce15f16b15769555782462796a3b3051e2282908c5842d99c168e066d3d3b"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "DELETE FROM media WHERE id = ANY($1) AND deletion_source = 'user'",
"query": "DELETE FROM media WHERE id = ANY($1) AND deletion_source = $2",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array"
"Int8Array",
"Int2"
]
},
"nullable": []
},
"hash": "eef6d749a326f257725d1d80e2b59eda5e298ef184295478d38d4dc7fa0d2c2f"
"hash": "b20075762e6c3eb2863edf72b07e669806bf688831a3d8b67f022539e2705c75"
}

@ -1,15 +1,16 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE users SET deleted_at = $2, deletion_source = 'account' WHERE id = $1",
"query": "UPDATE users SET deleted_at = $2, deletion_source = $3 WHERE id = $1",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": []
},
"hash": "4d9903c5f769ec59389f09d20fa213de19b9c2cbd81e3a55a9fd9a0173b294b0"
"hash": "b51ea6efdf6ccb7f7ec928292cdfd04ed177c3d26047e5cf77bb33959d560590"
}

@ -1,15 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE media SET deletion_source = 'account', deleted_owner_id = $2 WHERE id = ANY($1) AND deleted_at IS NOT NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array",
"Int8"
]
},
"nullable": []
},
"hash": "bc8dd45684c9666ee0923b15143eb4bd7e1ab855897ab02b2a28c1c57c92780c"
}

@ -0,0 +1,16 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE auth_oauth2_identities SET deleted_at = CURRENT_TIMESTAMP, deletion_source = $3, updated_at = CURRENT_TIMESTAMP WHERE user_id = $1 AND provider_type = $2 AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Int2",
"Int2"
]
},
"nullable": []
},
"hash": "bdb06a95f63ee0e5ce3443b79d54fa0816e283e0049ec872e428ddee1fed4bce"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id AS \"user_id!: UserId\",\n deletion_source,\n deletion_reason,\n deleted_by AS \"deleted_by?: UserId\",\n restored_at,\n restored_by AS \"restored_by?: UserId\"\n FROM users\n WHERE id = $1\n ",
"query": "\n SELECT id AS \"user_id!: UserId\",\n deletion_source AS \"deletion_source?: DeletionSource\",\n deletion_reason,\n deleted_by AS \"deleted_by?: UserId\",\n restored_at,\n restored_by AS \"restored_by?: UserId\"\n FROM users\n WHERE id = $1\n ",
"describe": {
"columns": [
{
@ -16,8 +16,8 @@
},
{
"ordinal": 1,
"name": "deletion_source",
"type_info": "Text",
"name": "deletion_source?: DeletionSource",
"type_info": "Int2",
"origin": {
"Table": {
"table": "users",
@ -84,5 +84,5 @@
true
]
},
"hash": "1e79e516d2cdaa2665466c987d073ae5df059d85d929c9574120452e59353297"
"hash": "bf1f616bd6121edeabd535be131e13debfb83852f9b10a59fb5c707af0e9034c"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO media (\n playlist_id, room_id, creator_id, name, position,\n source_provider, source_config, deleted_at, deletion_source\n )\n VALUES ($1, $2, $3, 'retained-child-media', 1.0,\n 1, '{}'::JSONB, $4, 'user')\n RETURNING id",
"query": "INSERT INTO media (\n playlist_id, room_id, creator_id, name, position,\n source_provider, source_config, deleted_at, deletion_source\n )\n VALUES ($1, $2, $3, 'retained-child-media', 1.0,\n 1, '{}'::JSONB, $4, $5)\n RETURNING id",
"describe": {
"columns": [
{
@ -20,12 +20,13 @@
"Int8",
"Int8",
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "aa359894297c22c4ae9ef5be503e2ecf040f3567a70a77cf57194581dd0d6cc8"
"hash": "c14e0dd76034347a0d93741d46daceea60321ca9b594548c70fd502b030c8b0e"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO auth_email_identities (\n user_id, email, deleted_at, deletion_source\n )\n VALUES\n ($1, 'expired-unbound@example.com', $4, 'user'),\n ($2, 'recent-unbound@example.com', $5, 'user'),\n ($3, 'account-retained@example.com', $4, 'account')",
"query": "INSERT INTO auth_email_identities (\n user_id, email, deleted_at, deletion_source\n )\n VALUES\n ($1, 'expired-unbound@example.com', $4, $6),\n ($2, 'recent-unbound@example.com', $5, $6),\n ($3, 'account-retained@example.com', $4, $7)",
"describe": {
"columns": [],
"parameters": {
@ -9,10 +9,12 @@
"Int8",
"Int8",
"Timestamptz",
"Timestamptz"
"Timestamptz",
"Int2",
"Int2"
]
},
"nullable": []
},
"hash": "686f16b50f165abdc476b09b3ff3fc7488370e6e038998e5ab9b6fbb3d537e24"
"hash": "c29ca718297fe912a9f9a2fd31f9931c0796c5954a8d48e1e2e4ed454d22157d"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM 'account'\n AND ($2 OR status <> $3)\n AND (created_at, id) < ($4, $5)\n AND message_type = ANY($7::smallint[])\n ORDER BY created_at DESC, id DESC\n LIMIT $6\n ",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM $8\n AND ($2 OR status <> $3)\n AND (created_at, id) < ($4, $5)\n AND message_type = ANY($7::smallint[])\n ORDER BY created_at DESC, id DESC\n LIMIT $6\n ",
"describe": {
"columns": [
{
@ -188,7 +188,8 @@
"Timestamptz",
"Int8",
"Int8",
"Int2Array"
"Int2Array",
"Int2"
]
},
"nullable": [
@ -210,5 +211,5 @@
false
]
},
"hash": "2267c85c54547cb9d753b0027792b0543b9b6849ef82927593d513976065ec2a"
"hash": "c37c8b961170e850d399cb2acd8b1443dd6131c58ea1bf063427cea5d32ac713"
}

@ -7,7 +7,7 @@
"Left": [
"Int8",
"Timestamptz",
"Text",
"Int2",
"Int8",
"Timestamptz"
]

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id, created_at\n FROM chat_messages\n WHERE deletion_source = 'user'\n AND deleted_at <= NOW() - make_interval(days => $1)\n ORDER BY deleted_at ASC, created_at ASC, id ASC\n LIMIT $2\n FOR UPDATE SKIP LOCKED\n ",
"query": "\n SELECT id, created_at\n FROM chat_messages\n WHERE deletion_source = $3\n AND deleted_at <= NOW() - make_interval(days => $1)\n ORDER BY deleted_at ASC, created_at ASC, id ASC\n LIMIT $2\n FOR UPDATE SKIP LOCKED\n ",
"describe": {
"columns": [
{
@ -29,7 +29,8 @@
"parameters": {
"Left": [
"Int4",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
@ -37,5 +38,5 @@
false
]
},
"hash": "c4a567aefe592a2ce0b97e54766d32255237a966851993ffcab6dc4d0be07c72"
"hash": "c8e14f5b2b2128eca3a2bf9b66a73edbd10b35bc7c14140a54cbd828459420d3"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT e.sequence AS \"sequence!\",\n e.event_id AS \"event_id!\",\n e.room_id AS \"room_id?\",\n e.actor_user_id AS \"actor_user_id?\",\n e.payload AS \"event_payload?: sqlx::types::Json<ChatMessageEvent>\",\n e.occurred_at AS \"occurred_at!\"\n FROM chat_message_events e\n JOIN chat_messages m\n ON m.room_id = e.room_id\n AND m.id = e.message_id\n AND m.created_at = e.message_created_at\n AND m.deletion_source IS DISTINCT FROM 'account'\n WHERE e.event_type = $1\n AND e.room_id = $2\n AND e.message_id = $3\n AND e.message_created_at = $4\n ORDER BY sequence ASC\n LIMIT 1\n ",
"query": "\n SELECT e.sequence AS \"sequence!\",\n e.event_id AS \"event_id!\",\n e.room_id AS \"room_id?\",\n e.actor_user_id AS \"actor_user_id?\",\n e.payload AS \"event_payload?: sqlx::types::Json<ChatMessageEvent>\",\n e.occurred_at AS \"occurred_at!\"\n FROM chat_message_events e\n JOIN chat_messages m\n ON m.room_id = e.room_id\n AND m.id = e.message_id\n AND m.created_at = e.message_created_at\n AND m.deletion_source IS DISTINCT FROM $5\n WHERE e.event_type = $1\n AND e.room_id = $2\n AND e.message_id = $3\n AND e.message_created_at = $4\n ORDER BY sequence ASC\n LIMIT 1\n ",
"describe": {
"columns": [
{
@ -75,7 +75,8 @@
"Text",
"Int8",
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": [
@ -87,5 +88,5 @@
false
]
},
"hash": "6c1976761371e9d770038cc35ce7f5b27ae9cc6471eeed1511183a8d4f39fea4"
"hash": "cb5e880fb39d40ef76f8aa7106b7786dc0203758ef5f1eef25e90849c5cd0859"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO playlists (\n room_id, creator_id, name, cover_file_reference_id, position,\n deleted_at, deletion_source\n )\n VALUES ($1, $2, 'expired-parent', $3, 1.0, $4, 'user')\n RETURNING id",
"query": "INSERT INTO playlists (\n room_id, creator_id, name, cover_file_reference_id, position,\n deleted_at, deletion_source\n )\n VALUES ($1, $2, 'expired-parent', $3, 1.0, $4, $5)\n RETURNING id",
"describe": {
"columns": [
{
@ -20,12 +20,13 @@
"Int8",
"Int8",
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "a97a2e35e6c6112c3b6a808adf63dfb211c4cf01440e3fc82b4b235d06fc2e9b"
"hash": "cb7d1e5485554355d574768b83f600497ba6e871a04efe1633c804a9ba0a27f1"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT COUNT(*) AS \"count!\"\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM 'account'\n AND status <> $2\n AND (user_id IS NULL OR user_id <> $3)\n AND (created_at, id) > ($4, $5)\n ",
"query": "\n SELECT COUNT(*) AS \"count!\"\n FROM chat_messages\n WHERE room_id = $1\n AND deletion_source IS DISTINCT FROM $6\n AND status <> $2\n AND (user_id IS NULL OR user_id <> $3)\n AND (created_at, id) > ($4, $5)\n ",
"describe": {
"columns": [
{
@ -16,12 +16,13 @@
"Int2",
"Int8",
"Timestamptz",
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
null
]
},
"hash": "b8b6ba69c802cd10ce3288b2e885982ead7d34749dd6fb9fac441ccebd5df387"
"hash": "cc1770204bc4418886bfffea97a54c3d7e2de4ed3aa0a06941aad7fde4e97689"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT e.sequence AS \"sequence!\",\n e.event_id AS \"event_id!\",\n e.room_id AS \"room_id?\",\n e.actor_user_id AS \"actor_user_id?\",\n e.payload AS \"event_payload?: sqlx::types::Json<ChatMessageEvent>\",\n e.occurred_at AS \"occurred_at!\"\n FROM chat_message_events e\n JOIN chat_messages m\n ON m.room_id = e.room_id\n AND m.id = e.message_id\n AND m.created_at = e.message_created_at\n AND m.deletion_source IS DISTINCT FROM 'account'\n WHERE e.room_id = $1\n AND e.event_id = $2\n AND e.event_type = ANY($3::text[])\n ",
"query": "\n SELECT e.sequence AS \"sequence!\",\n e.event_id AS \"event_id!\",\n e.room_id AS \"room_id?\",\n e.actor_user_id AS \"actor_user_id?\",\n e.payload AS \"event_payload?: sqlx::types::Json<ChatMessageEvent>\",\n e.occurred_at AS \"occurred_at!\"\n FROM chat_message_events e\n JOIN chat_messages m\n ON m.room_id = e.room_id\n AND m.id = e.message_id\n AND m.created_at = e.message_created_at\n AND m.deletion_source IS DISTINCT FROM $4\n WHERE e.room_id = $1\n AND e.event_id = $2\n AND e.event_type = ANY($3::text[])\n ",
"describe": {
"columns": [
{
@ -74,7 +74,8 @@
"Left": [
"Int8",
"Text",
"TextArray"
"TextArray",
"Int2"
]
},
"nullable": [
@ -86,5 +87,5 @@
false
]
},
"hash": "f019088abddb82d5543e79c31c8b1c6a8825c75820f334a81734c6225b7bda98"
"hash": "d23209162da8e8d4c641451628549493fef6145f85ed98a7e8980019588fd35e"
}

@ -1,14 +1,15 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE media SET deleted_at = CURRENT_TIMESTAMP, deletion_source = 'user', version = version + 1 WHERE id = ANY($1) AND deleted_at IS NULL",
"query": "UPDATE media SET deleted_at = CURRENT_TIMESTAMP, deletion_source = $2, version = version + 1 WHERE id = ANY($1) AND deleted_at IS NULL",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8Array"
"Int8Array",
"Int2"
]
},
"nullable": []
},
"hash": "d1233d6be2c74539044190bba38a4eb335ba5074216e053d1294a8ec587d089c"
"hash": "d5c0f74e4e294da8af9aee0a3521b2bdfdba9752f3e4fe5559d24d8cc4c132c1"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1\n AND id = $2\n AND created_at = $3\n AND deletion_source IS DISTINCT FROM 'account'\n ",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE room_id = $1\n AND id = $2\n AND created_at = $3\n AND deletion_source IS DISTINCT FROM $4\n ",
"describe": {
"columns": [
{
@ -184,7 +184,8 @@
"Left": [
"Int8",
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": [
@ -206,5 +207,5 @@
false
]
},
"hash": "55f721d0f7d54c3c35813890dd8d1eb83504ee94a27dc84ff216936e2f6f7baa"
"hash": "dbcdecd03e020ac5b53eb2039a436cb01dff04151c599a183ef374bcb53c10c9"
}

@ -0,0 +1,31 @@
{
"db_name": "PostgreSQL",
"query": "SELECT deletion_source AS \"deletion_source?: DeletionSource\",\n deleted_owner_id AS \"deleted_owner_id: UserId\"\n FROM playlists\n WHERE id = ANY($1)\n UNION ALL\n SELECT deletion_source, deleted_owner_id\n FROM media\n WHERE id = ANY($2)",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "deletion_source?: DeletionSource",
"type_info": "Int2",
"origin": "Expression"
},
{
"ordinal": 1,
"name": "deleted_owner_id: UserId",
"type_info": "Int8",
"origin": "Expression"
}
],
"parameters": {
"Left": [
"Int8Array",
"Int8Array"
]
},
"nullable": [
null,
null
]
},
"hash": "dc17744ebe91863fddb9451cd478c65b246bd3a47ffb033196f550b05d105b91"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE id = $1\n AND deletion_source IS DISTINCT FROM 'account'\n ",
"query": "\n SELECT id AS \"id!\",\n room_id AS \"room_id!: RoomId\",\n user_id AS \"user_id?: UserId\",\n client_message_id,\n content AS \"content!\",\n message_type AS \"message_type!: ChatMessageType\",\n status AS \"status!: ChatMessageStatus\",\n version AS \"version!\",\n reply_to_message_id,\n reply_to_message_created_at,\n metadata AS \"metadata?: ChatMetadata\",\n edited_at,\n deleted_at,\n deleted_by AS \"deleted_by?: UserId\",\n delete_reason,\n created_at AS \"created_at!\"\n FROM chat_messages\n WHERE id = $1\n AND deletion_source IS DISTINCT FROM $2\n ",
"describe": {
"columns": [
{
@ -182,7 +182,8 @@
],
"parameters": {
"Left": [
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
@ -204,5 +205,5 @@
false
]
},
"hash": "09fa0580514eeea7c4a8225bb57f6b1ab1649bcdbc453cb60bc8aa850aa10efe"
"hash": "e001208682bfd3a73359448673a167bfa1bc536e8316872683d929e72a352a3e"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "SELECT id, provider_instance_name, provider_user_id FROM auth_oauth2_identities WHERE user_id = $1 AND deleted_at IS NOT NULL AND deletion_source = 'account' FOR UPDATE",
"query": "SELECT id, provider_instance_name, provider_user_id FROM auth_oauth2_identities WHERE user_id = $1 AND deleted_at IS NOT NULL AND deletion_source = $2 FOR UPDATE",
"describe": {
"columns": [
{
@ -39,7 +39,8 @@
],
"parameters": {
"Left": [
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
@ -48,5 +49,5 @@
false
]
},
"hash": "0912dea60960f3f341cd73365d98b005fe5cb918afbb63eb680e747e62d71999"
"hash": "e23d8488c751166834d6609b9d5aa910ef9f2661fda135a539091580600abf1f"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT e.sequence AS \"sequence!\",\n e.event_id AS \"event_id!\",\n e.room_id AS \"room_id?\",\n e.actor_user_id AS \"actor_user_id?\",\n e.payload AS \"event_payload?: sqlx::types::Json<ChatMessageEvent>\",\n e.occurred_at AS \"occurred_at!\"\n FROM chat_message_events e\n JOIN chat_messages m\n ON m.room_id = e.room_id\n AND m.id = e.message_id\n AND m.created_at = e.message_created_at\n AND m.deletion_source IS DISTINCT FROM 'account'\n WHERE e.room_id = $1\n AND e.event_type = ANY($2::text[])\n AND (e.payload #>> '{message,message,messageType}') = ANY($4::text[])\n ORDER BY sequence ASC\n LIMIT $3\n ",
"query": "\n SELECT e.sequence AS \"sequence!\",\n e.event_id AS \"event_id!\",\n e.room_id AS \"room_id?\",\n e.actor_user_id AS \"actor_user_id?\",\n e.payload AS \"event_payload?: sqlx::types::Json<ChatMessageEvent>\",\n e.occurred_at AS \"occurred_at!\"\n FROM chat_message_events e\n JOIN chat_messages m\n ON m.room_id = e.room_id\n AND m.id = e.message_id\n AND m.created_at = e.message_created_at\n AND m.deletion_source IS DISTINCT FROM $5\n WHERE e.room_id = $1\n AND e.event_type = ANY($2::text[])\n AND (e.payload #>> '{message,message,messageType}') = ANY($4::text[])\n ORDER BY sequence ASC\n LIMIT $3\n ",
"describe": {
"columns": [
{
@ -75,7 +75,8 @@
"Int8",
"TextArray",
"Int8",
"TextArray"
"TextArray",
"Int2"
]
},
"nullable": [
@ -87,5 +88,5 @@
false
]
},
"hash": "86750e5e5c071925cc8384b7431921cc93393312acb095055ee8e0618ac01111"
"hash": "e24401b52f480524d7cb087b991002c84b1f076c7d26157777f0d9820ab5b878"
}

@ -1,16 +1,17 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE rooms SET deleted_at = $2, deletion_source = 'account', deleted_owner_id = $1 WHERE id = $3",
"query": "UPDATE rooms SET deleted_at = $2, deletion_source = $4, deleted_owner_id = $1 WHERE id = $3",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Timestamptz",
"Int8"
"Int8",
"Int2"
]
},
"nullable": []
},
"hash": "116e567d2c0aaa7f854d17d1684a80de963702afd90e9b45ddad0cc3f5abaa10"
"hash": "e38d7f27787aa416c1f5182f7f5f0c016b8ee2ec830c8f5bd7213e1b833b9388"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "SELECT email FROM auth_email_identities WHERE user_id = $1 AND deleted_at IS NOT NULL AND deletion_source = 'account' FOR UPDATE",
"query": "SELECT email FROM auth_email_identities WHERE user_id = $1 AND deleted_at IS NOT NULL AND deletion_source = $2 FOR UPDATE",
"describe": {
"columns": [
{
@ -17,12 +17,13 @@
],
"parameters": {
"Left": [
"Int8"
"Int8",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "9d7f6821997d50a6a52bbe068d4f24d744b586389da976eada9103576d436d77"
"hash": "ee0ea9b0155d8ce137603283d6440dee3c7cd926bcacf9acbc08cc8790853439"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO media (\n room_id, creator_id, name, position, source_provider, source_config,\n deleted_at, deletion_source\n )\n VALUES ($1, $2, 'room-media', 3.0, 1, '{}'::JSONB, $3, 'room')\n RETURNING id",
"query": "INSERT INTO media (\n room_id, creator_id, name, position, source_provider, source_config,\n deleted_at, deletion_source\n )\n VALUES ($1, $2, 'room-media', 3.0, 1, '{}'::JSONB, $3, $4)\n RETURNING id",
"describe": {
"columns": [
{
@ -19,12 +19,13 @@
"Left": [
"Int8",
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": [
false
]
},
"hash": "b25120b032bf972b826c63434bb0836ada2f4b397531a36620460a3adc0f921f"
"hash": "f035ac6f41e074663f9c3699d9d8f46e4813f53caf92482497c94f1c9ea649a8"
}

@ -1,15 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "UPDATE rooms SET deletion_source = 'account', deleted_owner_id = $2 WHERE id = $1",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Int8",
"Int8"
]
},
"nullable": []
},
"hash": "f05a2ec292897cafda722cbd9c4afe652371c8ce9c419816bb25a4fad0105ca7"
}

@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n WITH updated_user AS (\n UPDATE users\n SET updated_at = $2, version = version + 1\n WHERE id = $1 AND deleted_at IS NULL\n RETURNING id, username, signup_method, role,\n avatar_file_reference_id,\n created_at, updated_at,\n version, deleted_at\n ),\n deleted_email AS (\n UPDATE auth_email_identities identity\n SET deleted_at = $2,\n deletion_source = 'user',\n updated_at = $2\n FROM updated_user\n WHERE identity.user_id = updated_user.id\n AND identity.deleted_at IS NULL\n )\n SELECT u.id AS \"id!: UserId\",\n u.username AS \"username!\",\n u.signup_method AS \"signup_method!: SignupMethod\",\n u.role AS \"role!: UserRole\",\n u.avatar_file_reference_id,\n CASE\n WHEN active_ban.user_id IS NULL THEN 1::SMALLINT\n ELSE 2::SMALLINT\n END AS \"status!: UserStatus\",\n (active_ban.user_id IS NOT NULL) AS \"is_banned!\",\n active_ban.starts_at AS banned_at,\n active_ban.banned_by AS \"banned_by?: UserId\",\n active_ban.reason AS banned_reason,\n u.created_at AS \"created_at!\",\n u.updated_at AS \"updated_at!\",\n u.version AS \"version!\",\n u.deleted_at\n FROM updated_user u\n LEFT JOIN LATERAL (\n SELECT ub.user_id,\n ub.starts_at,\n ub.banned_by,\n ub.reason\n FROM user_bans ub\n WHERE ub.user_id = u.id\n AND ub.revoked_at IS NULL\n AND (ub.ends_at IS NULL OR ub.ends_at > CURRENT_TIMESTAMP)\n ORDER BY ub.starts_at DESC\n LIMIT 1\n ) active_ban ON TRUE\n ",
"query": "\n WITH updated_user AS (\n UPDATE users\n SET updated_at = $2, version = version + 1\n WHERE id = $1 AND deleted_at IS NULL\n RETURNING id, username, signup_method, role,\n avatar_file_reference_id,\n created_at, updated_at,\n version, deleted_at\n ),\n deleted_email AS (\n UPDATE auth_email_identities identity\n SET deleted_at = $2,\n deletion_source = $3,\n updated_at = $2\n FROM updated_user\n WHERE identity.user_id = updated_user.id\n AND identity.deleted_at IS NULL\n )\n SELECT u.id AS \"id!: UserId\",\n u.username AS \"username!\",\n u.signup_method AS \"signup_method!: SignupMethod\",\n u.role AS \"role!: UserRole\",\n u.avatar_file_reference_id,\n CASE\n WHEN active_ban.user_id IS NULL THEN 1::SMALLINT\n ELSE 2::SMALLINT\n END AS \"status!: UserStatus\",\n (active_ban.user_id IS NOT NULL) AS \"is_banned!\",\n active_ban.starts_at AS banned_at,\n active_ban.banned_by AS \"banned_by?: UserId\",\n active_ban.reason AS banned_reason,\n u.created_at AS \"created_at!\",\n u.updated_at AS \"updated_at!\",\n u.version AS \"version!\",\n u.deleted_at\n FROM updated_user u\n LEFT JOIN LATERAL (\n SELECT ub.user_id,\n ub.starts_at,\n ub.banned_by,\n ub.reason\n FROM user_bans ub\n WHERE ub.user_id = u.id\n AND ub.revoked_at IS NULL\n AND (ub.ends_at IS NULL OR ub.ends_at > CURRENT_TIMESTAMP)\n ORDER BY ub.starts_at DESC\n LIMIT 1\n ) active_ban ON TRUE\n ",
"describe": {
"columns": [
{
@ -151,7 +151,8 @@
"parameters": {
"Left": [
"Int8",
"Timestamptz"
"Timestamptz",
"Int2"
]
},
"nullable": [
@ -171,5 +172,5 @@
true
]
},
"hash": "56c4c2099b11f896373004c4c9b4de57a8011c670d969150d5f6f81066a38fca"
"hash": "f0f09d46c0aa153736e07720cbd1389f723c7fd9958ccc060fcb36b6bdddab0a"
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save