diff options
Diffstat (limited to 'packages/console/core/src')
| -rw-r--r-- | packages/console/core/src/schema/workspace.sql.ts | 2 | ||||
| -rw-r--r-- | packages/console/core/src/workspace.ts | 11 |
2 files changed, 11 insertions, 2 deletions
diff --git a/packages/console/core/src/schema/workspace.sql.ts b/packages/console/core/src/schema/workspace.sql.ts index 979255428..269b62a2a 100644 --- a/packages/console/core/src/schema/workspace.sql.ts +++ b/packages/console/core/src/schema/workspace.sql.ts @@ -6,7 +6,7 @@ export const WorkspaceTable = mysqlTable( { id: ulid("id").notNull().primaryKey(), slug: varchar("slug", { length: 255 }), - name: varchar("name", { length: 255 }), + name: varchar("name", { length: 255 }).notNull(), ...timestamps, }, (table) => [uniqueIndex("slug").on(table.slug)], diff --git a/packages/console/core/src/workspace.ts b/packages/console/core/src/workspace.ts index 32f5bd36c..7a742e896 100644 --- a/packages/console/core/src/workspace.ts +++ b/packages/console/core/src/workspace.ts @@ -7,7 +7,7 @@ import { UserTable } from "./schema/user.sql" import { BillingTable } from "./schema/billing.sql" import { WorkspaceTable } from "./schema/workspace.sql" import { Key } from "./key" -import { eq } from "drizzle-orm" +import { eq, sql } from "drizzle-orm" export namespace Workspace { export const create = fn( @@ -63,4 +63,13 @@ export namespace Workspace { ) }, ) + + export const remove = fn(z.void(), async () => { + await Database.use((tx) => + tx + .update(WorkspaceTable) + .set({ timeDeleted: sql`now()` }) + .where(eq(WorkspaceTable.id, Actor.workspace())), + ) + }) } |
