diff options
Diffstat (limited to 'cloud/function')
| -rw-r--r-- | cloud/function/src/auth.ts | 9 | ||||
| -rw-r--r-- | cloud/function/sst-env.d.ts | 4 |
2 files changed, 8 insertions, 5 deletions
diff --git a/cloud/function/src/auth.ts b/cloud/function/src/auth.ts index fe31651e5..bbea41540 100644 --- a/cloud/function/src/auth.ts +++ b/cloud/function/src/auth.ts @@ -2,11 +2,12 @@ import { Resource } from "sst" import { z } from "zod" import { issuer } from "@openauthjs/openauth" import { createSubjects } from "@openauthjs/openauth/subject" -import { CodeProvider } from "@openauthjs/openauth/provider/code" import { GithubProvider } from "@openauthjs/openauth/provider/github" import { GoogleOidcProvider } from "@openauthjs/openauth/provider/google" import { CloudflareStorage } from "@openauthjs/openauth/storage/cloudflare" import { Account } from "@opencode/cloud-core/account.js" +import { Workspace } from "@opencode/cloud-core/workspace.js" +import { Actor } from "@opencode/cloud-core/actor.js" type Env = { AuthStorage: KVNamespace @@ -117,6 +118,12 @@ export default { email: email!, }) } + await Actor.provide("account", { accountID, email }, async () => { + const workspaces = await Account.workspaces() + if (workspaces.length === 0) { + await Workspace.create() + } + }) return ctx.subject("account", accountID, { accountID, email }) }, }).fetch(request, env, ctx) diff --git a/cloud/function/sst-env.d.ts b/cloud/function/sst-env.d.ts index 520a033ff..f60ec81a0 100644 --- a/cloud/function/sst-env.d.ts +++ b/cloud/function/sst-env.d.ts @@ -14,10 +14,6 @@ declare module "sst" { "type": "sst.sst.Linkable" "value": string } - "Console": { - "type": "sst.cloudflare.StaticSite" - "url": string - } "DATABASE_PASSWORD": { "type": "sst.sst.Secret" "value": string |
