mirror of
https://github.com/Xevion/xevion.dev.git
synced 2026-01-31 00:26:31 -06:00
- Add project_media table with image/video variants, ordering, and metadata - Implement multipart upload handlers with 50MB limit - Generate blurhash placeholders and resize images to thumb/medium/full variants - Update ProjectCard to use media carousel instead of mock gradients - Add MediaManager component for drag-drop upload and reordering
106 lines
2.3 KiB
JSON
106 lines
2.3 KiB
JSON
{
|
|
"db_name": "PostgreSQL",
|
|
"query": "\n UPDATE project_media\n SET metadata = $2\n WHERE id = $1\n RETURNING \n id,\n project_id,\n display_order,\n media_type as \"media_type: MediaType\",\n original_filename,\n r2_base_path,\n variants,\n width,\n height,\n size_bytes,\n blurhash,\n metadata,\n created_at\n ",
|
|
"describe": {
|
|
"columns": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "id",
|
|
"type_info": "Uuid"
|
|
},
|
|
{
|
|
"ordinal": 1,
|
|
"name": "project_id",
|
|
"type_info": "Uuid"
|
|
},
|
|
{
|
|
"ordinal": 2,
|
|
"name": "display_order",
|
|
"type_info": "Int4"
|
|
},
|
|
{
|
|
"ordinal": 3,
|
|
"name": "media_type: MediaType",
|
|
"type_info": {
|
|
"Custom": {
|
|
"name": "media_type",
|
|
"kind": {
|
|
"Enum": [
|
|
"image",
|
|
"video"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 4,
|
|
"name": "original_filename",
|
|
"type_info": "Text"
|
|
},
|
|
{
|
|
"ordinal": 5,
|
|
"name": "r2_base_path",
|
|
"type_info": "Text"
|
|
},
|
|
{
|
|
"ordinal": 6,
|
|
"name": "variants",
|
|
"type_info": "Jsonb"
|
|
},
|
|
{
|
|
"ordinal": 7,
|
|
"name": "width",
|
|
"type_info": "Int4"
|
|
},
|
|
{
|
|
"ordinal": 8,
|
|
"name": "height",
|
|
"type_info": "Int4"
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "size_bytes",
|
|
"type_info": "Int8"
|
|
},
|
|
{
|
|
"ordinal": 10,
|
|
"name": "blurhash",
|
|
"type_info": "Text"
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "metadata",
|
|
"type_info": "Jsonb"
|
|
},
|
|
{
|
|
"ordinal": 12,
|
|
"name": "created_at",
|
|
"type_info": "Timestamptz"
|
|
}
|
|
],
|
|
"parameters": {
|
|
"Left": [
|
|
"Uuid",
|
|
"Jsonb"
|
|
]
|
|
},
|
|
"nullable": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
true,
|
|
true,
|
|
false,
|
|
true,
|
|
true,
|
|
false
|
|
]
|
|
},
|
|
"hash": "2697c981355b4a1d46699aa5fe0f2dad6a07e7b46d7c546fa10e2568a35e710d"
|
|
}
|