diff --git a/cloud/app/src/routes/auth/logout.ts b/cloud/app/src/routes/auth/logout.ts new file mode 100644 index 00000000..166466ef --- /dev/null +++ b/cloud/app/src/routes/auth/logout.ts @@ -0,0 +1,7 @@ +import type { APIEvent } from "@solidjs/start/server" +import { AuthClient } from "~/context/auth" + +export async function GET(input: APIEvent) { + const result = await AuthClient.authorize(new URL("./callback", input.request.url).toString(), "code") + return Response.redirect(result.url, 302) +} diff --git a/cloud/core/src/workspace.ts b/cloud/core/src/workspace.ts index 532b2296..8646362a 100644 --- a/cloud/core/src/workspace.ts +++ b/cloud/core/src/workspace.ts @@ -7,6 +7,7 @@ import { Identifier } from "./identifier" import { UserTable } from "./schema/user.sql" import { BillingTable } from "./schema/billing.sql" import { WorkspaceTable } from "./schema/workspace.sql" +import { Key } from "./key" export namespace Workspace { export const create = fn(z.void(), async () => { @@ -28,6 +29,15 @@ export namespace Workspace { balance: centsToMicroCents(100), }) }) + await Actor.provide( + "system", + { + workspaceID, + }, + async () => { + await Key.create({ name: "Default API Key" }) + }, + ) return workspaceID })