feat(portal): add app metadata and variables management

This commit is contained in:
JiriUhlir
2026-06-01 13:13:17 +02:00
parent 1ade865df4
commit 994171be1a
4 changed files with 650 additions and 6 deletions
+58
View File
@@ -66,5 +66,63 @@ def run_migrations():
except Exception:
pass
for statement in (
"ALTER TABLE apps ADD COLUMN description TEXT",
"ALTER TABLE apps ADD COLUMN owner TEXT",
"ALTER TABLE apps ADD COLUMN template TEXT",
"ALTER TABLE apps ADD COLUMN runtime TEXT",
"ALTER TABLE apps ADD COLUMN repository_url TEXT",
"ALTER TABLE apps ADD COLUMN repository_name TEXT",
"ALTER TABLE apps ADD COLUMN default_branch TEXT",
"ALTER TABLE apps ADD COLUMN domain TEXT",
"ALTER TABLE apps ADD COLUMN health_url TEXT",
"ALTER TABLE apps ADD COLUMN container_port INTEGER",
"ALTER TABLE apps ADD COLUMN is_public INTEGER NOT NULL DEFAULT 0",
"ALTER TABLE apps ADD COLUMN is_enabled INTEGER NOT NULL DEFAULT 1",
):
try:
con.execute(statement)
except Exception:
pass
con.execute(
"""
CREATE TABLE IF NOT EXISTS app_templates (
name TEXT PRIMARY KEY,
runtime TEXT,
description TEXT,
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
)
"""
)
con.execute(
"""
CREATE TABLE IF NOT EXISTS app_variables (
id INTEGER PRIMARY KEY AUTOINCREMENT,
app_id TEXT NOT NULL,
"key" TEXT NOT NULL,
value TEXT,
is_secret INTEGER NOT NULL DEFAULT 0,
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY(app_id) REFERENCES apps(id)
)
"""
)
for statement in (
"ALTER TABLE app_templates ADD COLUMN runtime TEXT",
"ALTER TABLE app_templates ADD COLUMN description TEXT",
"ALTER TABLE app_templates ADD COLUMN created_at TEXT",
"ALTER TABLE app_templates ADD COLUMN updated_at TEXT",
"ALTER TABLE app_variables ADD COLUMN created_at TEXT",
"ALTER TABLE app_variables ADD COLUMN updated_at TEXT",
):
try:
con.execute(statement)
except Exception:
pass
con.execute("CREATE INDEX IF NOT EXISTS idx_app_variables_app_id ON app_variables(app_id)")
con.commit()
con.close()