summaryrefslogtreecommitdiffhomepage
path: root/packages/console/core/src
diff options
context:
space:
mode:
authorFrank <[email protected]>2025-10-06 23:57:52 -0400
committerFrank <[email protected]>2025-10-06 23:57:55 -0400
commit0534bc0c0920dd1cb2503caeb9de6c4bbd5dce05 (patch)
tree27f2eefdc05ae032c9676c820f88a7482a646c51 /packages/console/core/src
parent4f33594b99b015000d76ee2d4e1353b717c5920e (diff)
downloadopencode-0534bc0c0920dd1cb2503caeb9de6c4bbd5dce05.tar.gz
opencode-0534bc0c0920dd1cb2503caeb9de6c4bbd5dce05.zip
wip: zen
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())),
+ )
+ })
}