import { HttpApiBuilder } from "effect/unstable/httpapi";import { Effect } from "effect"; import { capture } from "@executor-js/api"; import { ExecutorApi } from "../api";import { ExecutorService } from "../services"; export const ProvidersHandlers = HttpApiBuilder.group(ExecutorApi, "providers", (handlers) => handlers .handle("list", () => capture( Effect.gen(function* () { const executor = yield* ExecutorService; return yield* executor.providers.list(); }), ), ) .handle("items", ({ params: path }) => capture( Effect.gen(function* () { const executor = yield* ExecutorService; const entries = yield* executor.providers.items(path.key); return entries.map((entry) => ({ id: entry.id, name: entry.name })); }), ), ),);
import { HttpApiBuilder } from "effect/unstable/httpapi";
import { Effect } from "effect";
import { capture } from "@executor-js/api";
import { ExecutorApi } from "../api";
import { ExecutorService } from "../services";
export const ProvidersHandlers = HttpApiBuilder.group(ExecutorApi, "providers", (handlers) =>
handlers
.handle("list", () =>
capture(
Effect.gen(function* () {
const executor = yield* ExecutorService;
return yield* executor.providers.list();
}),
),
)
.handle("items", ({ params: path }) =>
capture(
Effect.gen(function* () {
const executor = yield* ExecutorService;
const entries = yield* executor.providers.items(path.key);
return entries.map((entry) => ({ id: entry.id, name: entry.name }));
}),
),
),
);