29 lines · 866 B · TypeScript
RawDownload
import { Effect, Layer } from "effect";import { HttpRouter, HttpServerResponse } from "effect/unstable/http";import { HttpApiSwagger, OpenApi } from "effect/unstable/httpapi"; import { AccountApi, AdminUsersApi } from "@executor-js/api"; import { CloudAuthApi, CloudAuthPublicApi } from "../auth/api";import { OrgApi } from "../org/api"; import { ProtectedCloudApi } from "../api/layers"; export const CloudOpenApi = ProtectedCloudApi.add(CloudAuthPublicApi)  .add(CloudAuthApi)  .add(OrgApi)  .add(AccountApi)  .add(AdminUsersApi); const spec = OpenApi.fromApi(CloudOpenApi); export const CloudOpenApiJsonLive = HttpRouter.add(  "GET",  "/api/openapi.json",  Effect.succeed(HttpServerResponse.jsonUnsafe(spec)),); export const CloudDocsLive = Layer.mergeAll(  HttpApiSwagger.layer(CloudOpenApi, { path: "/api/docs" }),  CloudOpenApiJsonLive,);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t