RPCServer

This commit is contained in:
Julien Valverdé
2024-07-04 02:26:38 +02:00
parent 3bbacf8a91
commit 7b578c657a
2 changed files with 21 additions and 22 deletions

View File

@@ -0,0 +1,21 @@
import { createExpressMiddleware } from "@trpc/server/adapters/express"
import { Config, Effect, Layer } from "effect"
import { ExpressApp, ExpressAppLive } from "../express/ExpressApp"
import { createTRPCContext } from "../trpc/context"
import { router } from "./routers"
export const RPCServerLive = Layer.effectDiscard(Effect.gen(function*() {
const app = yield* ExpressApp
app.use(
yield* Config.string("RPC_ROOT").pipe(Config.withDefault("/rpc")),
createExpressMiddleware({
router: yield* router,
createContext: createTRPCContext,
}),
)
})).pipe(
Layer.provide(ExpressAppLive)
)