summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/api
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src/api')
-rw-r--r--packages/server/src/api/index.ts2
-rw-r--r--packages/server/src/api/question.ts37
2 files changed, 0 insertions, 39 deletions
diff --git a/packages/server/src/api/index.ts b/packages/server/src/api/index.ts
deleted file mode 100644
index 375e3584b..000000000
--- a/packages/server/src/api/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { makeQuestionHandler } from "./question.js"
-export type { QuestionOps } from "./question.js"
diff --git a/packages/server/src/api/question.ts b/packages/server/src/api/question.ts
deleted file mode 100644
index f72c37aa1..000000000
--- a/packages/server/src/api/question.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Effect, Schema } from "effect"
-import { HttpApiBuilder } from "effect/unstable/httpapi"
-import { QuestionReply, QuestionRequest, questionApi } from "../definition/question.js"
-
-export interface QuestionOps<R = never> {
- readonly list: () => Effect.Effect<ReadonlyArray<unknown>, never, R>
- readonly reply: (input: {
- requestID: string
- answers: Schema.Schema.Type<typeof QuestionReply>["answers"]
- }) => Effect.Effect<void, never, R>
-}
-
-export const makeQuestionHandler = <R>(ops: QuestionOps<R>) =>
- HttpApiBuilder.group(
- questionApi,
- "question",
- Effect.fn("QuestionHttpApi.handlers")(function* (handlers) {
- const decode = Schema.decodeUnknownSync(Schema.Array(QuestionRequest))
-
- const list = Effect.fn("QuestionHttpApi.list")(function* () {
- return decode(yield* ops.list())
- })
-
- const reply = Effect.fn("QuestionHttpApi.reply")(function* (ctx: {
- params: { requestID: string }
- payload: Schema.Schema.Type<typeof QuestionReply>
- }) {
- yield* ops.reply({
- requestID: ctx.params.requestID,
- answers: ctx.payload.answers,
- })
- return true
- })
-
- return handlers.handle("list", list).handle("reply", reply)
- }),
- )