You've already forked AstralRinth
forked from didirus/AstralRinth
911d442340
* Version ordering * cargo sqlx prepare * Use version ordering for maven * Use version ordering when sorting versions in Rust (not just SQL) * Thanks clippy
125 lines
4.1 KiB
JSON
125 lines
4.1 KiB
JSON
{
|
|
"db_name": "PostgreSQL",
|
|
"query": "\n SELECT v.id id, v.mod_id mod_id, v.author_id author_id, v.name version_name, v.version_number version_number,\n v.changelog changelog, v.date_published date_published, v.downloads downloads,\n v.version_type version_type, v.featured featured, v.status status, v.requested_status requested_status, v.ordering ordering,\n JSONB_AGG(DISTINCT jsonb_build_object('version', gv.version, 'created', gv.created)) filter (where gv.version is not null) game_versions,\n ARRAY_AGG(DISTINCT l.loader) filter (where l.loader is not null) loaders,\n JSONB_AGG(DISTINCT jsonb_build_object('id', f.id, 'url', f.url, 'filename', f.filename, 'primary', f.is_primary, 'size', f.size, 'file_type', f.file_type)) filter (where f.id is not null) files,\n JSONB_AGG(DISTINCT jsonb_build_object('algorithm', h.algorithm, 'hash', encode(h.hash, 'escape'), 'file_id', h.file_id)) filter (where h.hash is not null) hashes,\n JSONB_AGG(DISTINCT jsonb_build_object('project_id', d.mod_dependency_id, 'version_id', d.dependency_id, 'dependency_type', d.dependency_type,'file_name', dependency_file_name)) filter (where d.dependency_type is not null) dependencies\n FROM versions v\n LEFT OUTER JOIN game_versions_versions gvv on v.id = gvv.joining_version_id\n LEFT OUTER JOIN game_versions gv on gvv.game_version_id = gv.id\n LEFT OUTER JOIN loaders_versions lv on v.id = lv.version_id\n LEFT OUTER JOIN loaders l on lv.loader_id = l.id\n LEFT OUTER JOIN files f on v.id = f.version_id\n LEFT OUTER JOIN hashes h on f.id = h.file_id\n LEFT OUTER JOIN dependencies d on v.id = d.dependent_id\n WHERE v.id = ANY($1)\n GROUP BY v.id\n ORDER BY v.ordering ASC NULLS LAST, v.date_published ASC;\n ",
|
|
"describe": {
|
|
"columns": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "id",
|
|
"type_info": "Int8"
|
|
},
|
|
{
|
|
"ordinal": 1,
|
|
"name": "mod_id",
|
|
"type_info": "Int8"
|
|
},
|
|
{
|
|
"ordinal": 2,
|
|
"name": "author_id",
|
|
"type_info": "Int8"
|
|
},
|
|
{
|
|
"ordinal": 3,
|
|
"name": "version_name",
|
|
"type_info": "Varchar"
|
|
},
|
|
{
|
|
"ordinal": 4,
|
|
"name": "version_number",
|
|
"type_info": "Varchar"
|
|
},
|
|
{
|
|
"ordinal": 5,
|
|
"name": "changelog",
|
|
"type_info": "Varchar"
|
|
},
|
|
{
|
|
"ordinal": 6,
|
|
"name": "date_published",
|
|
"type_info": "Timestamptz"
|
|
},
|
|
{
|
|
"ordinal": 7,
|
|
"name": "downloads",
|
|
"type_info": "Int4"
|
|
},
|
|
{
|
|
"ordinal": 8,
|
|
"name": "version_type",
|
|
"type_info": "Varchar"
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "featured",
|
|
"type_info": "Bool"
|
|
},
|
|
{
|
|
"ordinal": 10,
|
|
"name": "status",
|
|
"type_info": "Varchar"
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "requested_status",
|
|
"type_info": "Varchar"
|
|
},
|
|
{
|
|
"ordinal": 12,
|
|
"name": "ordering",
|
|
"type_info": "Int4"
|
|
},
|
|
{
|
|
"ordinal": 13,
|
|
"name": "game_versions",
|
|
"type_info": "Jsonb"
|
|
},
|
|
{
|
|
"ordinal": 14,
|
|
"name": "loaders",
|
|
"type_info": "VarcharArray"
|
|
},
|
|
{
|
|
"ordinal": 15,
|
|
"name": "files",
|
|
"type_info": "Jsonb"
|
|
},
|
|
{
|
|
"ordinal": 16,
|
|
"name": "hashes",
|
|
"type_info": "Jsonb"
|
|
},
|
|
{
|
|
"ordinal": 17,
|
|
"name": "dependencies",
|
|
"type_info": "Jsonb"
|
|
}
|
|
],
|
|
"parameters": {
|
|
"Left": [
|
|
"Int8Array"
|
|
]
|
|
},
|
|
"nullable": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
true,
|
|
true,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
},
|
|
"hash": "1e735a003ce305624ce8bbf181c99e41fbe8fcd836e926daf3e73aa3bb5552a6"
|
|
}
|