fix(session): type busy errors (#27410)

This commit is contained in:
Kit Langton
2026-05-13 21:28:04 -04:00
committed by GitHub
parent 3fc7486d15
commit edf7649400
8 changed files with 38 additions and 64 deletions

View File

@@ -58,13 +58,10 @@ export const sessionHandlers = HttpApiBuilder.group(InstanceHttpApi, "session",
const bus = yield* Bus.Service
const scope = yield* Scope.Scope
const mapBusy = <A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E | HttpApiError.BadRequest, R> =>
effect.pipe(
Effect.catchCause((cause): Effect.Effect<never, E | HttpApiError.BadRequest> => {
if (Cause.squash(cause) instanceof Session.BusyError) return Effect.fail(new HttpApiError.BadRequest({}))
return Effect.failCause(cause)
}),
)
const mapBusy = <A, R>(
effect: Effect.Effect<A, Session.BusyError, R>,
): Effect.Effect<A, HttpApiError.BadRequest, R> =>
effect.pipe(Effect.catchTag("SessionBusyError", () => Effect.fail(new HttpApiError.BadRequest({}))))
const list = Effect.fn("SessionHttpApi.list")(function* (ctx: { query: typeof ListQuery.Type }) {
return yield* session.list({