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.
193 lines
5.4 KiB
JSON
193 lines
5.4 KiB
JSON
{
|
|
"db_name": "PostgreSQL",
|
|
"query": "\n SELECT id as \"id: MediaId\",\n playlist_id as \"playlist_id: PlaylistId\",\n room_id as \"room_id: RoomId\",\n creator_id as \"creator_id: UserId\",\n name,\n description,\n position,\n source_provider as \"source_provider: ProviderTypeName\",\n source_config as \"source_config: crate::models::MediaSourceConfig\",\n NULLIF(provider_instance_name, '') AS \"provider_instance_name?\",\n cover_file_reference_id,\n thumbnail_file_reference_id,\n added_at, updated_at, version\n FROM media m\n WHERE m.room_id = $1\n AND m.id = $2\n AND m.deleted_at IS NULL\n AND EXISTS (\n SELECT 1 FROM rooms r\n WHERE r.id = m.room_id AND r.deleted_at IS NULL\n )\n AND (m.creator_id IS NULL OR EXISTS (\n SELECT 1 FROM users u\n WHERE u.id = m.creator_id AND u.deleted_at IS NULL\n ))\n AND (m.playlist_id IS NULL OR EXISTS (\n SELECT 1\n FROM playlists p\n WHERE p.id = m.playlist_id\n AND p.deleted_at IS NULL\n AND (p.creator_id IS NULL OR EXISTS (\n SELECT 1 FROM users u\n WHERE u.id = p.creator_id AND u.deleted_at IS NULL\n ))\n ))\n FOR UPDATE\n ",
|
|
"describe": {
|
|
"columns": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "id: MediaId",
|
|
"type_info": "Int8",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 1,
|
|
"name": "playlist_id: PlaylistId",
|
|
"type_info": "Int8",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "playlist_id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 2,
|
|
"name": "room_id: RoomId",
|
|
"type_info": "Int8",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "room_id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 3,
|
|
"name": "creator_id: UserId",
|
|
"type_info": "Int8",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "creator_id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 4,
|
|
"name": "name",
|
|
"type_info": "Varchar",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "name"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 5,
|
|
"name": "description",
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "description"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 6,
|
|
"name": "position",
|
|
"type_info": "Float8",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "position"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 7,
|
|
"name": "source_provider: ProviderTypeName",
|
|
"type_info": "Int2",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "source_provider"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 8,
|
|
"name": "source_config: crate::models::MediaSourceConfig",
|
|
"type_info": "Jsonb",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "source_config"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "provider_instance_name?",
|
|
"type_info": "Text",
|
|
"origin": "Expression"
|
|
},
|
|
{
|
|
"ordinal": 10,
|
|
"name": "cover_file_reference_id",
|
|
"type_info": "Int8",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "cover_file_reference_id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "thumbnail_file_reference_id",
|
|
"type_info": "Int8",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "thumbnail_file_reference_id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 12,
|
|
"name": "added_at",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "added_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 13,
|
|
"name": "updated_at",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "updated_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 14,
|
|
"name": "version",
|
|
"type_info": "Int4",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "media",
|
|
"name": "version"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"parameters": {
|
|
"Left": [
|
|
"Int8",
|
|
"Int8"
|
|
]
|
|
},
|
|
"nullable": [
|
|
false,
|
|
true,
|
|
false,
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
null,
|
|
true,
|
|
true,
|
|
false,
|
|
false,
|
|
false
|
|
]
|
|
},
|
|
"hash": "95d36a9d84391414abeac465e9a0c29862a814594cf7214ed671e2cd8c676ed9"
|
|
}
|