From 220ae4ff84d59fa6a3f96fbaf1609a692ef1c252 Mon Sep 17 00:00:00 2001 From: Hendrik Belitz Date: Mon, 21 Jul 2025 09:21:07 +0200 Subject: [PATCH] #53 Setup state for tenant --- src/lib/server/db/central-schema.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/lib/server/db/central-schema.ts b/src/lib/server/db/central-schema.ts index 34b75fd..9e2debc 100644 --- a/src/lib/server/db/central-schema.ts +++ b/src/lib/server/db/central-schema.ts @@ -22,6 +22,13 @@ export const configTypeEnum = pgEnum("config_type", ["BOOLEAN", "NUMBER", "STRIN */ export const userRoleEnum = pgEnum("user_role", ["GLOBAL_ADMIN", "TENANT_ADMIN", "STAFF"]); +export const tenantSetupState = pgEnum("setup_state", [ + "NEW", // newly created + "SETTINGS_CREATED", // settings were reviewed + "AGENTS_SET_UP", // agents set up was triggered or skipped + "FIRST_CHANNEL_CREATED" // the first channel was set up +]); + /** * Central Tenant table - stored in the main database * Contains tenant metadata and database connection information @@ -43,6 +50,8 @@ export const tenant = pgTable( logo: bytea("logo"), /** Database connection string for this tenant's isolated database */ databaseUrl: text("database_url").notNull(), + /** STate of tenant setup */ + setupState: tenantSetupState("setup_state").notNull().default("NEW"), createdAt: timestamp("created_at").defaultNow(), updatedAt: timestamp("updated_at").defaultNow() },