summaryrefslogtreecommitdiffhomepage
path: root/cloud/core/src/key.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cloud/core/src/key.ts')
-rw-r--r--cloud/core/src/key.ts46
1 files changed, 14 insertions, 32 deletions
diff --git a/cloud/core/src/key.ts b/cloud/core/src/key.ts
index cf4f6e410..b195bd7c9 100644
--- a/cloud/core/src/key.ts
+++ b/cloud/core/src/key.ts
@@ -36,44 +36,26 @@ export namespace Key {
randomPart += chars.charAt(Math.floor(Math.random() * chars.length))
}
const secretKey = `sk-${randomPart}`
-
- const keyRecord = await Database.use((tx) =>
- tx
- .insert(KeyTable)
- .values({
- id: Identifier.create("key"),
- workspaceID: user.properties.workspaceID,
- userID: user.properties.userID,
- name,
- key: secretKey,
- timeUsed: null,
- })
- .returning(),
+ const keyID = Identifier.create("key")
+
+ await Database.use((tx) =>
+ tx.insert(KeyTable).values({
+ id: keyID,
+ workspaceID: user.properties.workspaceID,
+ userID: user.properties.userID,
+ name,
+ key: secretKey,
+ timeUsed: null,
+ }),
)
- return {
- key: secretKey,
- id: keyRecord[0].id,
- name: keyRecord[0].name,
- created: keyRecord[0].timeCreated,
- }
+ return keyID
})
export const remove = fn(z.object({ id: z.string() }), async (input) => {
const user = Actor.assert("user")
- const { id } = input
-
- const result = await Database.use((tx) =>
- tx
- .delete(KeyTable)
- .where(and(eq(KeyTable.id, id), eq(KeyTable.workspaceID, user.properties.workspaceID)))
- .returning({ id: KeyTable.id }),
+ await Database.use((tx) =>
+ tx.delete(KeyTable).where(and(eq(KeyTable.id, input.id), eq(KeyTable.workspaceID, user.properties.workspaceID))),
)
-
- if (result.length === 0) {
- throw new Error("Key not found")
- }
-
- return { id: result[0].id }
})
}