diff --git a/packages/server/src/rpc/RPCRouter.ts b/packages/server/src/rpc/RPCRouter.ts deleted file mode 100644 index b34b1c3..0000000 --- a/packages/server/src/rpc/RPCRouter.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Effect, Layer } from "effect" -import { TRPCBuilder, TRPCBuilderLive } from "../trpc/TRPCBuilder" - - -const rpcRouter = Effect.gen(function*() { - const t = yield* TRPCBuilder - - return t.router({ - - }) -}) - - -export const RPCRouterLive = Layer.effectDiscard(Effect.gen(function*() { - const t = yield* TRPCBuilder - - t.router({ - - }) -})).pipe( - Layer.provide(TRPCBuilderLive) -) diff --git a/packages/server/src/rpc/RPCServer.ts b/packages/server/src/rpc/RPCServer.ts new file mode 100644 index 0000000..d69a0b8 --- /dev/null +++ b/packages/server/src/rpc/RPCServer.ts @@ -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) +)