summaryrefslogtreecommitdiffhomepage
path: root/packages/console/core/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/console/core/src')
-rw-r--r--packages/console/core/src/schema/workspace.sql.ts2
-rw-r--r--packages/console/core/src/workspace.ts11
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())),
+ )
+ })
}