feat: integrate platform backend and application interfaces

This commit is contained in:
Qiufeng
2026-09-02 21:09:47 +08:00
parent cd9ac1af70
commit b16390dd41
648 changed files with 102488 additions and 17737 deletions
@@ -0,0 +1,26 @@
-- Nullable organization/team scope columns are schema reservations only. V1
-- keeps every object user-scoped and exposes no organization API.
ALTER TABLE balance_accounts ADD COLUMN IF NOT EXISTS organization_id UUID;
ALTER TABLE balance_accounts ADD COLUMN IF NOT EXISTS object_scope TEXT NOT NULL DEFAULT 'user';
ALTER TABLE generation_tasks ADD COLUMN IF NOT EXISTS organization_id UUID;
ALTER TABLE generation_tasks ADD COLUMN IF NOT EXISTS workspace_owner_id UUID;
ALTER TABLE generation_tasks ADD COLUMN IF NOT EXISTS object_scope TEXT NOT NULL DEFAULT 'user';
ALTER TABLE upload_objects ADD COLUMN IF NOT EXISTS organization_id UUID;
ALTER TABLE upload_objects ADD COLUMN IF NOT EXISTS workspace_owner_id UUID;
ALTER TABLE upload_objects ADD COLUMN IF NOT EXISTS object_scope TEXT NOT NULL DEFAULT 'user';
ALTER TABLE assets ADD COLUMN IF NOT EXISTS organization_id UUID;
ALTER TABLE assets ADD COLUMN IF NOT EXISTS workspace_owner_id UUID;
ALTER TABLE assets ADD COLUMN IF NOT EXISTS object_scope TEXT NOT NULL DEFAULT 'user';
ALTER TABLE stored_objects ADD COLUMN IF NOT EXISTS organization_id TEXT;
ALTER TABLE stored_objects ADD COLUMN IF NOT EXISTS workspace_owner_id TEXT;
ALTER TABLE stored_objects ADD COLUMN IF NOT EXISTS object_scope TEXT NOT NULL DEFAULT 'user';
DO $$
DECLARE
table_name TEXT;
BEGIN
FOR table_name IN SELECT unnest(ARRAY['balance_accounts', 'generation_tasks', 'upload_objects', 'assets', 'stored_objects']) LOOP
EXECUTE format('ALTER TABLE %I DROP CONSTRAINT IF EXISTS %I_object_scope_check', table_name, table_name);
EXECUTE format('ALTER TABLE %I ADD CONSTRAINT %I_object_scope_check CHECK (object_scope IN (''user'', ''organization''))', table_name, table_name);
END LOOP;
END $$;