feat(core): add session form service (#34855)

This commit is contained in:
Aiden Cline
2026-07-02 17:15:18 -05:00
committed by GitHub
parent 460cdc5aec
commit 7ebd344fa2
67 changed files with 7884 additions and 5245 deletions
@@ -811,11 +811,6 @@ const scenarios: Scenario[] = [
object(body.location)
array(body.data)
}),
http.protected.get("/api/question/request", "v2.question.request.list").json(200, (body) => {
object(body)
object(body.location)
array(body.data)
}),
http.protected
.post("/api/session/{sessionID}/permission", "v2.session.permission.create")
.seeded((ctx) => ctx.session({ title: "Permission create owner" }))
@@ -849,14 +844,6 @@ const scenarios: Scenario[] = [
headers: ctx.headers(),
}))
.json(404, object, "status"),
http.protected
.get("/api/session/{sessionID}/question", "v2.session.question.list")
.seeded((ctx) => ctx.session({ title: "Question list owner" }))
.at((ctx) => ({
path: route("/api/session/{sessionID}/question", { sessionID: ctx.state.id }),
headers: ctx.headers(),
}))
.json(200, data(array)),
http.protected
.post("/api/session/{sessionID}/permission/{requestID}/reply", "v2.session.permission.reply")
.seeded((ctx) => ctx.session({ title: "Permission owner" }))
@@ -869,29 +856,6 @@ const scenarios: Scenario[] = [
body: { reply: "once" },
}))
.json(404, object, "status"),
http.protected
.post("/api/session/{sessionID}/question/{requestID}/reply", "v2.session.question.reply")
.seeded((ctx) => ctx.session({ title: "Question reply owner" }))
.at((ctx) => ({
path: route("/api/session/{sessionID}/question/{requestID}/reply", {
sessionID: ctx.state.id,
requestID: "que_httpapi_missing",
}),
headers: ctx.headers(),
body: { answers: [] },
}))
.json(404, object, "status"),
http.protected
.post("/api/session/{sessionID}/question/{requestID}/reject", "v2.session.question.reject")
.seeded((ctx) => ctx.session({ title: "Question reject owner" }))
.at((ctx) => ({
path: route("/api/session/{sessionID}/question/{requestID}/reject", {
sessionID: ctx.state.id,
requestID: "que_httpapi_missing",
}),
headers: ctx.headers(),
}))
.json(404, object, "status"),
http.protected.get("/api/permission/saved", "v2.permission.saved.list").json(200, (body) => {
object(body)
array(body.data)
@@ -1769,7 +1733,9 @@ const main = Effect.gen(function* () {
const options = parseOptions(Bun.argv.slice(2))
const modules = yield* Effect.promise(() => runtime())
const effectRoutes = routeKeys(OpenApi.fromApi(modules.PublicApi))
const selected = selectedScenarios(options, scenarios)
const selected = selectedScenarios(options, scenarios).filter((scenario) =>
effectRoutes.includes(routeKey(scenario)),
)
const missing = effectRoutes.filter((route) => !scenarios.some((scenario) => route === routeKey(scenario)))
const extra = scenarios.filter((scenario) => !effectRoutes.includes(routeKey(scenario)))