| 1 | import * as Neon from "@/Neon"; |
| 2 | import * as Effect from "effect/Effect"; |
| 3 | |
| 4 | export const backendProject = Neon.Project("BackendBindingProject", { |
| 5 | region: "aws-us-east-2", |
| 6 | }); |
| 7 | export const backendBranch = Effect.gen(function* () { |
| 8 | return yield* Neon.Branch("BackendBindingBranch", { |
| 9 | project: yield* backendProject, |
| 10 | }); |
| 11 | }); |
| 12 | export const backendAuth = Effect.gen(function* () { |
| 13 | return yield* Neon.Auth("BackendBindingAuth", { |
| 14 | branch: yield* backendBranch, |
| 15 | }); |
| 16 | }); |
| 17 | export const backendDataApi = Effect.gen(function* () { |
| 18 | const auth = yield* backendAuth; |
| 19 | return yield* Neon.DataApi("BackendBindingData", { |
| 20 | branch: { projectId: auth.projectId, branchId: auth.branchId }, |
| 21 | authProvider: "neon_auth", |
| 22 | }); |
| 23 | }); |
| 24 | export const backendGateway = Effect.gen(function* () { |
| 25 | return yield* Neon.AIGateway("BackendBindingGateway", { |
| 26 | branch: yield* backendBranch, |
| 27 | }); |
| 28 | }); |