mirror of
https://github.com/Xevion/xevion.dev.git
synced 2026-01-31 06:26:44 -06:00
- Remove priority field and sorting, switch to updated_at DESC - Add icon field to tags table - Split project description into name and short_description - Implement full CRUD for projects (create, update, delete) - Add admin stats endpoint (project counts by status)
113 lines
2.4 KiB
JSON
113 lines
2.4 KiB
JSON
{
|
|
"db_name": "PostgreSQL",
|
|
"query": "\n INSERT INTO projects (slug, name, short_description, description, status, github_repo, demo_url)\n VALUES ($1, $2, $3, $4, $5, $6, $7)\n RETURNING id, slug, name, short_description, description, status as \"status: ProjectStatus\", \n github_repo, demo_url, last_github_activity, created_at, updated_at\n ",
|
|
"describe": {
|
|
"columns": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "id",
|
|
"type_info": "Uuid"
|
|
},
|
|
{
|
|
"ordinal": 1,
|
|
"name": "slug",
|
|
"type_info": "Text"
|
|
},
|
|
{
|
|
"ordinal": 2,
|
|
"name": "name",
|
|
"type_info": "Text"
|
|
},
|
|
{
|
|
"ordinal": 3,
|
|
"name": "short_description",
|
|
"type_info": "Text"
|
|
},
|
|
{
|
|
"ordinal": 4,
|
|
"name": "description",
|
|
"type_info": "Text"
|
|
},
|
|
{
|
|
"ordinal": 5,
|
|
"name": "status: ProjectStatus",
|
|
"type_info": {
|
|
"Custom": {
|
|
"name": "project_status",
|
|
"kind": {
|
|
"Enum": [
|
|
"active",
|
|
"maintained",
|
|
"archived",
|
|
"hidden"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 6,
|
|
"name": "github_repo",
|
|
"type_info": "Text"
|
|
},
|
|
{
|
|
"ordinal": 7,
|
|
"name": "demo_url",
|
|
"type_info": "Text"
|
|
},
|
|
{
|
|
"ordinal": 8,
|
|
"name": "last_github_activity",
|
|
"type_info": "Timestamptz"
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "created_at",
|
|
"type_info": "Timestamptz"
|
|
},
|
|
{
|
|
"ordinal": 10,
|
|
"name": "updated_at",
|
|
"type_info": "Timestamptz"
|
|
}
|
|
],
|
|
"parameters": {
|
|
"Left": [
|
|
"Text",
|
|
"Text",
|
|
"Text",
|
|
"Text",
|
|
{
|
|
"Custom": {
|
|
"name": "project_status",
|
|
"kind": {
|
|
"Enum": [
|
|
"active",
|
|
"maintained",
|
|
"archived",
|
|
"hidden"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"Text",
|
|
"Text"
|
|
]
|
|
},
|
|
"nullable": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
true,
|
|
true,
|
|
true,
|
|
false,
|
|
false
|
|
]
|
|
},
|
|
"hash": "ad86ca2613973d89e49b3bea1b3f0c8cf0885e431aea0cd349998de717c5e776"
|
|
}
|