diff --git a/src/Layers/PrismaStudioRoute.ts b/src/Layers/PrismaStudioRoute.ts index d423266..09cba29 100644 --- a/src/Layers/PrismaStudioRoute.ts +++ b/src/Layers/PrismaStudioRoute.ts @@ -1,29 +1,44 @@ // import { StudioServer } from "@prisma/studio-server" // import { Config, Effect, Layer } from "effect" +// import proxy from "express-http-proxy" +// import { ExpressApp } from "../http/ExpressApp.service" +// import { PrismaClient } from "./PrismaClient.service" -// export const PrismaStudioRouteLive = ({ -// httpPort = Config.succeed(5555), +// export const PrismaStudioRoute = ({ +// httpRoot = Config.succeed("/studio"), +// httpPort = Config.succeed(5555), // schemaPath = Config.succeed(""), // schemaText = Config.succeed(""), // }: { -// httpPort: Config.Config -// schemaPath: Config.Config -// schemaText: Config.Config -// }) => -// Layer.effectDiscard(Effect.gen(function*() { +// readonly httpRoot?: Config.Config +// readonly httpPort?: Config.Config +// readonly schemaPath?: Config.Config +// readonly schemaText?: Config.Config +// } = {}) => +// Layer.effectDiscard(Effect.acquireRelease( +// Effect.gen(function*() { +// const prisma = yield* PrismaClient +// const app = yield* ExpressApp -// return Effect.acquireRelease( -// Effect.gen(function*() { -// const server = new StudioServer({ -// port: yield* httpPort, -// schemaPath: yield* schemaPath, -// schemaText: yield* schemaText, -// }) -// }), +// const port = yield* httpPort -// () => Effect.gen(function*() { +// const server = new StudioServer({ +// port, +// schemaPath: yield* schemaPath, +// schemaText: yield* schemaText, +// versions: { prisma: prisma.Prisma.prismaVersion.client }, +// }) -// }), -// ) -// })) +// app.use(yield* httpRoot, proxy(`http://localhost:${ port }`)) + +// yield* Effect.promise(() => server.start()) +// return server +// }), + +// server => Effect.sync(() => server.stop()), +// )) + + +// export const PrismaStudioRouteLive = Layer.empty +// export const PrismaStudioRouteDebug = PrismaStudioRoute()