mirror of https://github.com/synctv-org/synctv
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
265 lines
7.3 KiB
JSON
265 lines
7.3 KiB
JSON
{
|
|
"db_name": "PostgreSQL",
|
|
"query": "\n WITH updated AS (\n UPDATE rooms\n SET closed_at = $1, updated_at = CURRENT_TIMESTAMP, version = version + 1\n WHERE id = $2 AND deleted_at IS NULL\n RETURNING id,\n name,\n description,\n cover_file_reference_id,\n category_id,\n created_by,\n closed_at,\n created_at,\n updated_at,\n deleted_at,\n version,\n last_activity_at,\n is_public\n )\n SELECT u.id AS \"id!: RoomId\",\n u.name,\n u.description,\n u.cover_file_reference_id,\n rc.id AS \"category_id?: RoomCategoryId\",\n rc.key AS \"category_key?\",\n rc.name AS \"category_name?\",\n rc.description AS \"category_description?\",\n rc.sort_order AS \"category_sort_order?\",\n rc.is_enabled AS \"category_is_enabled?\",\n rc.created_at AS \"category_created_at?\",\n rc.updated_at AS \"category_updated_at?\",\n u.created_by AS \"created_by!: UserId\",\n u.closed_at,\n EXISTS (\n SELECT 1 FROM room_bans rb\n WHERE rb.room_id = u.id\n AND rb.revoked_at IS NULL\n AND (rb.ends_at IS NULL OR rb.ends_at > CURRENT_TIMESTAMP)\n ) AS \"is_banned!\",\n u.created_at,\n u.updated_at,\n u.deleted_at,\n u.version,\n u.last_activity_at,\n u.is_public\n FROM updated u\n LEFT JOIN room_categories rc ON rc.id = u.category_id\n ",
|
|
"describe": {
|
|
"columns": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "id!: RoomId",
|
|
"type_info": "Int8",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "rooms",
|
|
"name": "id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 1,
|
|
"name": "name",
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "rooms",
|
|
"name": "name"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 2,
|
|
"name": "description",
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "rooms",
|
|
"name": "description"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 3,
|
|
"name": "cover_file_reference_id",
|
|
"type_info": "Int8",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "rooms",
|
|
"name": "cover_file_reference_id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 4,
|
|
"name": "category_id?: RoomCategoryId",
|
|
"type_info": "Int8",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "room_categories",
|
|
"name": "id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 5,
|
|
"name": "category_key?",
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "room_categories",
|
|
"name": "key"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 6,
|
|
"name": "category_name?",
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "room_categories",
|
|
"name": "name"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 7,
|
|
"name": "category_description?",
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "room_categories",
|
|
"name": "description"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 8,
|
|
"name": "category_sort_order?",
|
|
"type_info": "Int4",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "room_categories",
|
|
"name": "sort_order"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "category_is_enabled?",
|
|
"type_info": "Bool",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "room_categories",
|
|
"name": "is_enabled"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 10,
|
|
"name": "category_created_at?",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "room_categories",
|
|
"name": "created_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "category_updated_at?",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "room_categories",
|
|
"name": "updated_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 12,
|
|
"name": "created_by!: UserId",
|
|
"type_info": "Int8",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "rooms",
|
|
"name": "created_by"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 13,
|
|
"name": "closed_at",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "rooms",
|
|
"name": "closed_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 14,
|
|
"name": "is_banned!",
|
|
"type_info": "Bool",
|
|
"origin": "Expression"
|
|
},
|
|
{
|
|
"ordinal": 15,
|
|
"name": "created_at",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "rooms",
|
|
"name": "created_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 16,
|
|
"name": "updated_at",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "rooms",
|
|
"name": "updated_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 17,
|
|
"name": "deleted_at",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "rooms",
|
|
"name": "deleted_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 18,
|
|
"name": "version",
|
|
"type_info": "Int4",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "rooms",
|
|
"name": "version"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 19,
|
|
"name": "last_activity_at",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "rooms",
|
|
"name": "last_activity_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 20,
|
|
"name": "is_public",
|
|
"type_info": "Bool",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "rooms",
|
|
"name": "is_public"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"parameters": {
|
|
"Left": [
|
|
"Timestamptz",
|
|
"Int8"
|
|
]
|
|
},
|
|
"nullable": [
|
|
false,
|
|
false,
|
|
false,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
false,
|
|
true,
|
|
null,
|
|
false,
|
|
false,
|
|
true,
|
|
false,
|
|
false,
|
|
false
|
|
]
|
|
},
|
|
"hash": "91f682e63a04469c42f77ed2740ff92a9767a9535e0a4f980e95ee64fa451c93"
|
|
}
|