appos 0.3.5-0 → 0.3.7-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/main.mjs +3 -3
- package/dist/bin/youch-handler-D7REmh8Z.mjs +2 -0
- package/dist/exports/api/adapter-C2mMJKvG.mjs +1504 -0
- package/dist/exports/api/{auth-schema.mjs → auth-schema-CON4yFFY.mjs} +2 -3
- package/dist/exports/api/bun-sqlite-dialect-CPpPZa23.mjs +155 -0
- package/dist/exports/{cli/_virtual/rolldown_runtime.mjs → api/chunk-CyXqrcp_.mjs} +14 -1
- package/dist/exports/api/conditions-DjBAWfiK.mjs +116 -0
- package/dist/exports/api/dialect-CUUD24Ge.mjs +72 -0
- package/dist/exports/api/env-CwT3zhez.mjs +1 -0
- package/dist/exports/api/esm-_hkVMulx.mjs +15816 -0
- package/dist/exports/api/event-BHFSE6hY.mjs +20983 -0
- package/dist/exports/api/extract-blob-metadata-BMgUEPcW.mjs +4 -0
- package/dist/exports/api/extract-blob-metadata-_9RUEwoU.mjs +9818 -0
- package/dist/exports/api/generate-image-variant-DOIzj1wJ.mjs +4 -0
- package/dist/exports/api/generate-image-variant-DxOPoGAk.mjs +118 -0
- package/dist/exports/api/generate-preview-CvTFuq58.mjs +160 -0
- package/dist/exports/api/generate-preview-Dk3coswZ.mjs +4 -0
- package/dist/exports/api/index.d.mts +7347 -20
- package/dist/exports/api/index.mjs +146856 -18
- package/dist/exports/api/kysely-adapter-CmP2TbkS.mjs +296 -0
- package/dist/exports/api/memory-adapter-BzhRhLFK.mjs +212 -0
- package/dist/exports/api/node-sqlite-dialect-Bl5suBxl.mjs +155 -0
- package/dist/exports/api/orm-CMqufD21.mjs +153690 -0
- package/dist/exports/api/orm-DXqYuKvB.d.mts +11 -0
- package/dist/exports/api/orm.d.mts +2 -11
- package/dist/exports/api/orm.mjs +4 -42
- package/dist/exports/api/pdf-YxB2Hm1p.mjs +25822 -0
- package/dist/exports/api/purge-attachment-Cf6KH2Jv.mjs +34 -0
- package/dist/exports/api/purge-attachment-DIuil7ps.mjs +4 -0
- package/dist/exports/{cli/api/workflows/purge-audit-logs.mjs → api/purge-audit-logs-z6j_Pu47.mjs} +3 -3
- package/dist/exports/{cli/api/workflows/purge-unattached-blobs.mjs → api/purge-unattached-blobs-B0TfY5Hk.mjs} +1 -1
- package/dist/exports/api/react-BYhV5bYt.mjs +1131 -0
- package/dist/exports/api/server.node-DyVrQ6cz.mjs +19298 -0
- package/dist/exports/api/table-6bTIEqON.mjs +2636 -0
- package/dist/exports/api/{workflows/track-db-changes.mjs → track-db-changes-BysaV6nN.mjs} +14 -14
- package/dist/exports/api/{workflow.mjs → workflow-BuSWHcX-.mjs} +121 -10
- package/dist/exports/api/workflows/auth-schema-BFve3hgZ.mjs +2813 -0
- package/dist/exports/api/workflows/{_virtual/rolldown_runtime.mjs → chunk-B36mNPO4.mjs} +5 -1
- package/dist/exports/api/workflows/extract-blob-metadata-BcWKvY2K.mjs +9818 -0
- package/dist/exports/{cli/api/workflows/generate-image-variant.mjs → api/workflows/generate-image-variant-BAFvL_zV.mjs} +20 -20
- package/dist/exports/{cli/api/workflows/generate-preview.mjs → api/workflows/generate-preview-BjlIVYYp.mjs} +6 -6
- package/dist/exports/api/workflows/index.d.mts +2011 -1
- package/dist/exports/api/workflows/index.mjs +2 -1
- package/dist/exports/api/workflows/pdf-DUB8zyIc.mjs +25822 -0
- package/dist/exports/{cli/api/workflows/purge-attachment.mjs → api/workflows/purge-attachment-k_sdxTPY.mjs} +3 -3
- package/dist/exports/api/workflows/{purge-audit-logs.mjs → purge-audit-logs-zCyWj4Mw.mjs} +12 -3
- package/dist/exports/api/workflows/{purge-unattached-blobs.mjs → purge-unattached-blobs-CdsuFAeW.mjs} +1 -1
- package/dist/exports/api/workflows/track-db-changes-CiKaI9gT.mjs +20943 -0
- package/dist/exports/api/workflows/track-db-changes-DEWQYryO.mjs +4 -0
- package/dist/exports/{cli/api/workflow.mjs → api/workflows/workflow-BjM2xCa6.mjs} +23 -3
- package/dist/exports/api/workflows/zod-Br0enFWK.mjs +12333 -0
- package/dist/exports/api/zod-CdrJdBtV.mjs +12571 -0
- package/dist/exports/cli/auth-schema-CNuOqPi-.mjs +2813 -0
- package/dist/exports/{api/_virtual/rolldown_runtime.mjs → cli/chunk-B36mNPO4.mjs} +5 -1
- package/dist/exports/cli/extract-blob-metadata-CV1Ke90d.mjs +9818 -0
- package/dist/exports/{api/workflows/generate-image-variant.mjs → cli/generate-image-variant-CM1BrVvZ.mjs} +20 -20
- package/dist/exports/{api/workflows/generate-preview.mjs → cli/generate-preview-DdHQ3ukz.mjs} +6 -6
- package/dist/exports/cli/index.d.mts +2142 -2
- package/dist/exports/cli/index.mjs +41 -1
- package/dist/exports/cli/pdf-CLUPEIdT.mjs +25822 -0
- package/dist/exports/{api/workflows/purge-attachment.mjs → cli/purge-attachment-Dc_J74dG.mjs} +3 -3
- package/dist/exports/cli/purge-audit-logs-DFhWh-Bx.mjs +56 -0
- package/dist/exports/cli/purge-unattached-blobs-C1MRlM_2.mjs +46 -0
- package/dist/exports/cli/track-db-changes-CfneOF2_.mjs +20943 -0
- package/dist/exports/{api/workflows/api/workflow.mjs → cli/workflow-DSbbXBMt.mjs} +23 -3
- package/dist/exports/cli/zod-7q0_Mtnn.mjs +12333 -0
- package/dist/exports/tests/api.d.mts +7354 -5
- package/dist/exports/tests/api.mjs +79 -1
- package/dist/exports/tests/auth-schema-B_qHPoa4.mjs +1 -0
- package/dist/exports/tests/chunk-Cii4FAhs.mjs +1 -0
- package/dist/exports/tests/conditions-BeWxRN_Z.mjs +1 -0
- package/dist/exports/tests/constants-D_m07gCJ.mjs +1 -0
- package/dist/exports/tests/dist-Cx2HEBOB.mjs +296 -0
- package/dist/exports/tests/dist-DnACOvNW.mjs +7 -0
- package/dist/exports/tests/extract-blob-metadata-6xQrarjB.mjs +169 -0
- package/dist/exports/tests/generate-image-variant-KQITLmCx.mjs +1 -0
- package/dist/exports/tests/generate-preview-YnujQo5I.mjs +1 -0
- package/dist/exports/tests/mock-BvoS23fi.mjs +1 -0
- package/dist/exports/tests/mock.mjs +1 -1
- package/dist/exports/tests/pdf-lZ-as2o7.mjs +13 -0
- package/dist/exports/tests/purge-attachment-DTSmCl-z.mjs +1 -0
- package/dist/exports/tests/purge-audit-logs-D0_UUhN2.mjs +1 -0
- package/dist/exports/tests/purge-unattached-blobs-IENmSB8K.mjs +1 -0
- package/dist/exports/tests/react.mjs +6 -1
- package/dist/exports/tests/setup.d.mts +1 -1
- package/dist/exports/tests/setup.mjs +34 -1
- package/dist/exports/tests/table-CmPSf_pE.mjs +1 -0
- package/dist/exports/tests/track-db-changes-Td9Q3DLd.mjs +1 -0
- package/dist/exports/tests/{api/workflow.mjs → workflow-BWRWyC83.mjs} +1 -1
- package/dist/exports/tests/youch-handler-efUxKCCs.mjs +1 -0
- package/dist/exports/tests/zod-CkJO9qpV.mjs +23 -0
- package/dist/exports/vendors/date.js +13236 -1
- package/dist/exports/vendors/toolkit.js +2206 -1
- package/dist/exports/vendors/zod.js +12344 -1
- package/dist/exports/vite/index.d.mts +1 -1
- package/dist/exports/vite/index.mjs +26 -1
- package/dist/exports/vite/lib-B0s0q6aX.mjs +382 -0
- package/dist/exports/vite/lib-BkrbWMaV.mjs +1 -0
- package/dist/exports/web/browser-ponyfill-DxTJMXNq.js +443 -0
- package/dist/exports/web/chunk-DksrlJLg.js +49 -0
- package/dist/exports/web/index.d.ts +2546 -2
- package/dist/exports/web/index.js +9295 -6
- package/dist/exports/web/plugin-DqTFWG7p.js +250 -0
- package/package.json +1 -7
- package/dist/bin/youch-handler-DrYdbUhe.mjs +0 -2
- package/dist/exports/api/app-context.d.mts +0 -115
- package/dist/exports/api/app-context.mjs +0 -24
- package/dist/exports/api/auth-schema.d.mts +0 -4248
- package/dist/exports/api/auth.d.mts +0 -402
- package/dist/exports/api/auth.mjs +0 -188
- package/dist/exports/api/cache.d.mts +0 -44
- package/dist/exports/api/cache.mjs +0 -28
- package/dist/exports/api/config.d.mts +0 -28
- package/dist/exports/api/config.mjs +0 -72
- package/dist/exports/api/constants.mjs +0 -92
- package/dist/exports/api/container.d.mts +0 -210
- package/dist/exports/api/container.mjs +0 -49
- package/dist/exports/api/database.d.mts +0 -101
- package/dist/exports/api/database.mjs +0 -219
- package/dist/exports/api/event.d.mts +0 -235
- package/dist/exports/api/event.mjs +0 -236
- package/dist/exports/api/i18n.d.mts +0 -34
- package/dist/exports/api/i18n.mjs +0 -45
- package/dist/exports/api/instrumentation.d.mts +0 -7
- package/dist/exports/api/instrumentation.mjs +0 -40
- package/dist/exports/api/logger.d.mts +0 -21
- package/dist/exports/api/logger.mjs +0 -26
- package/dist/exports/api/mailer.d.mts +0 -70
- package/dist/exports/api/mailer.mjs +0 -37
- package/dist/exports/api/middleware/request-logger.d.mts +0 -24
- package/dist/exports/api/middleware.d.mts +0 -39
- package/dist/exports/api/middleware.mjs +0 -73
- package/dist/exports/api/openapi.d.mts +0 -271
- package/dist/exports/api/openapi.mjs +0 -507
- package/dist/exports/api/otel.d.mts +0 -40
- package/dist/exports/api/otel.mjs +0 -56
- package/dist/exports/api/redis.d.mts +0 -34
- package/dist/exports/api/redis.mjs +0 -41
- package/dist/exports/api/storage-schema.d.mts +0 -707
- package/dist/exports/api/storage-schema.mjs +0 -72
- package/dist/exports/api/storage.d.mts +0 -506
- package/dist/exports/api/storage.mjs +0 -833
- package/dist/exports/api/web/auth.mjs +0 -17
- package/dist/exports/api/workflow.d.mts +0 -250
- package/dist/exports/api/workflows/api/auth-schema.mjs +0 -373
- package/dist/exports/api/workflows/api/auth.d.mts +0 -379
- package/dist/exports/api/workflows/api/cache.d.mts +0 -44
- package/dist/exports/api/workflows/api/config.d.mts +0 -18
- package/dist/exports/api/workflows/api/container.d.mts +0 -167
- package/dist/exports/api/workflows/api/database.d.mts +0 -47
- package/dist/exports/api/workflows/api/event.d.mts +0 -68
- package/dist/exports/api/workflows/api/event.mjs +0 -126
- package/dist/exports/api/workflows/api/logger.d.mts +0 -21
- package/dist/exports/api/workflows/api/mailer.d.mts +0 -70
- package/dist/exports/api/workflows/api/orm.d.mts +0 -13
- package/dist/exports/api/workflows/api/redis.mjs +0 -3
- package/dist/exports/api/workflows/api/storage-schema.d.mts +0 -699
- package/dist/exports/api/workflows/api/storage.d.mts +0 -396
- package/dist/exports/api/workflows/api/workflow.d.mts +0 -24
- package/dist/exports/api/workflows/constants.mjs +0 -23
- package/dist/exports/api/workflows/extract-blob-metadata.mjs +0 -132
- package/dist/exports/api/workflows/generate-image-variant.d.mts +0 -63
- package/dist/exports/api/workflows/track-db-changes.d.mts +0 -72
- package/dist/exports/cli/api/auth-schema.mjs +0 -373
- package/dist/exports/cli/api/auth.d.mts +0 -379
- package/dist/exports/cli/api/cache.d.mts +0 -44
- package/dist/exports/cli/api/config.d.mts +0 -18
- package/dist/exports/cli/api/container.d.mts +0 -167
- package/dist/exports/cli/api/database.d.mts +0 -47
- package/dist/exports/cli/api/event.d.mts +0 -68
- package/dist/exports/cli/api/event.mjs +0 -126
- package/dist/exports/cli/api/logger.d.mts +0 -21
- package/dist/exports/cli/api/mailer.d.mts +0 -70
- package/dist/exports/cli/api/orm.d.mts +0 -13
- package/dist/exports/cli/api/redis.mjs +0 -3
- package/dist/exports/cli/api/storage-schema.d.mts +0 -699
- package/dist/exports/cli/api/storage.d.mts +0 -396
- package/dist/exports/cli/api/workflow.d.mts +0 -2
- package/dist/exports/cli/api/workflows/extract-blob-metadata.mjs +0 -132
- package/dist/exports/cli/api/workflows/generate-image-variant.d.mts +0 -63
- package/dist/exports/cli/api/workflows/track-db-changes.mjs +0 -110
- package/dist/exports/cli/command.d.mts +0 -56
- package/dist/exports/cli/command.mjs +0 -43
- package/dist/exports/cli/constants.mjs +0 -23
- package/dist/exports/cli/context.d.mts +0 -170
- package/dist/exports/devtools/index.d.ts +0 -3
- package/dist/exports/devtools/index.js +0 -4
- package/dist/exports/tests/_virtual/rolldown_runtime.mjs +0 -1
- package/dist/exports/tests/api/app-context.d.mts +0 -115
- package/dist/exports/tests/api/app-context.mjs +0 -1
- package/dist/exports/tests/api/auth-schema.d.mts +0 -4248
- package/dist/exports/tests/api/auth-schema.mjs +0 -1
- package/dist/exports/tests/api/auth.d.mts +0 -402
- package/dist/exports/tests/api/cache.d.mts +0 -44
- package/dist/exports/tests/api/config.d.mts +0 -28
- package/dist/exports/tests/api/container.d.mts +0 -210
- package/dist/exports/tests/api/database.d.mts +0 -101
- package/dist/exports/tests/api/database.mjs +0 -1
- package/dist/exports/tests/api/event.d.mts +0 -235
- package/dist/exports/tests/api/event.mjs +0 -1
- package/dist/exports/tests/api/i18n.d.mts +0 -34
- package/dist/exports/tests/api/index.d.mts +0 -26
- package/dist/exports/tests/api/logger.d.mts +0 -21
- package/dist/exports/tests/api/mailer.d.mts +0 -70
- package/dist/exports/tests/api/middleware/error-handler.mjs +0 -1
- package/dist/exports/tests/api/middleware/health.mjs +0 -1
- package/dist/exports/tests/api/middleware/i18n.mjs +0 -1
- package/dist/exports/tests/api/middleware/request-logger.d.mts +0 -24
- package/dist/exports/tests/api/middleware/request-logger.mjs +0 -1
- package/dist/exports/tests/api/middleware/shutdown.mjs +0 -1
- package/dist/exports/tests/api/middleware/timeout.mjs +0 -1
- package/dist/exports/tests/api/middleware/youch-handler.mjs +0 -1
- package/dist/exports/tests/api/middleware.d.mts +0 -39
- package/dist/exports/tests/api/middleware.mjs +0 -1
- package/dist/exports/tests/api/openapi.d.mts +0 -271
- package/dist/exports/tests/api/openapi.mjs +0 -1
- package/dist/exports/tests/api/orm.d.mts +0 -13
- package/dist/exports/tests/api/otel.d.mts +0 -40
- package/dist/exports/tests/api/redis.d.mts +0 -34
- package/dist/exports/tests/api/redis.mjs +0 -1
- package/dist/exports/tests/api/server.mjs +0 -1
- package/dist/exports/tests/api/storage-schema.d.mts +0 -707
- package/dist/exports/tests/api/storage.d.mts +0 -506
- package/dist/exports/tests/api/workflow.d.mts +0 -250
- package/dist/exports/tests/api/workflows/extract-blob-metadata.mjs +0 -1
- package/dist/exports/tests/api/workflows/generate-image-variant.d.mts +0 -63
- package/dist/exports/tests/api/workflows/generate-image-variant.mjs +0 -1
- package/dist/exports/tests/api/workflows/generate-preview.mjs +0 -1
- package/dist/exports/tests/api/workflows/purge-attachment.mjs +0 -1
- package/dist/exports/tests/api/workflows/purge-audit-logs.mjs +0 -1
- package/dist/exports/tests/api/workflows/purge-unattached-blobs.mjs +0 -1
- package/dist/exports/tests/api/workflows/track-db-changes.mjs +0 -1
- package/dist/exports/tests/constants.mjs +0 -1
- package/dist/exports/tests/instrumentation.d.mts +0 -7
- package/dist/exports/tests/instrumentation.mjs +0 -1
- package/dist/exports/web/api/auth.d.ts +0 -125
- package/dist/exports/web/api/database.d.ts +0 -4
- package/dist/exports/web/api/logger.d.ts +0 -1
- package/dist/exports/web/auth.d.ts +0 -2388
- package/dist/exports/web/auth.js +0 -75
- package/dist/exports/web/i18n.d.ts +0 -42
- package/dist/exports/web/i18n.js +0 -45
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
import { Container } from "./container.mjs";
|
|
2
|
-
import { AppContext } from "./app-context.mjs";
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
import { Express, Request, RequestHandler } from "ultimate-express";
|
|
5
|
-
import * as _node_modules_zod_openapi_dist_components_B1DX_zYv_mjs0 from "#node_modules/zod-openapi/dist/components-B1DX_zYv.mjs";
|
|
6
|
-
|
|
7
|
-
//#region src/api/openapi.d.ts
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Utility type to enforce exact type matching (no extra properties).
|
|
11
|
-
* This uses a tuple check to prevent objects with extra keys from being assigned.
|
|
12
|
-
* Arrays are handled specially to avoid treating numeric indices as object keys.
|
|
13
|
-
*/
|
|
14
|
-
type Exact<T, Expected> = [T] extends [Expected] ? [Expected] extends [T] ? T : T extends readonly unknown[] ? Expected extends readonly unknown[] ? T extends readonly (infer TItem)[] ? Expected extends readonly (infer ExpectedItem)[] ? readonly Exact<TItem, ExpectedItem>[] : T : T : { [K in keyof T]: K extends keyof Expected ? Exact<T[K], Expected[K]> : ["Error: unexpected key", K] } : { [K in keyof T]: K extends keyof Expected ? Exact<T[K], Expected[K]> : ["Error: unexpected key", K] } : T;
|
|
15
|
-
/**
|
|
16
|
-
* Response marker type for Express compatibility.
|
|
17
|
-
*/
|
|
18
|
-
type ResponseMarker<T = unknown> = {
|
|
19
|
-
__response: true;
|
|
20
|
-
status: number;
|
|
21
|
-
data: T;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Define typed response builders based on defined response schemas.
|
|
25
|
-
*/
|
|
26
|
-
declare function defineTypedResponses<TResponses extends Record<number, {
|
|
27
|
-
description: string;
|
|
28
|
-
schema: z.ZodSchema;
|
|
29
|
-
}>>(responses: TResponses): { [K in keyof TResponses as GetMethodName<K>]: K extends number ? TResponses[K]["schema"] extends z.ZodNull ? () => ResponseMarker<null> : <T extends z.infer<TResponses[K]["schema"]>>(data: Exact<T, z.infer<TResponses[K]["schema"]>>) => ResponseMarker<z.infer<TResponses[K]["schema"]>> : never } & {
|
|
30
|
-
status: <S extends keyof TResponses & number>(statusCode: S, data: TResponses[S]["schema"] extends z.ZodNull ? undefined : Exact<z.infer<TResponses[S]["schema"]>, z.infer<TResponses[S]["schema"]>>) => ResponseMarker;
|
|
31
|
-
};
|
|
32
|
-
type GetMethodName<K$1> = K$1 extends 200 ? "ok" : K$1 extends 201 ? "created" : K$1 extends 202 ? "accepted" : K$1 extends 204 ? "noContent" : K$1 extends 400 ? "badRequest" : K$1 extends 401 ? "unauthorized" : K$1 extends 403 ? "forbidden" : K$1 extends 404 ? "notFound" : K$1 extends 409 ? "conflict" : K$1 extends 422 ? "unprocessableEntity" : K$1 extends 500 ? "internalServerError" : never;
|
|
33
|
-
/**
|
|
34
|
-
* Handler parameters with full type safety for request inputs.
|
|
35
|
-
*/
|
|
36
|
-
type HandlerParams<TParams extends z.ZodSchema | undefined = undefined, TQuery extends z.ZodSchema | undefined = undefined, TBody extends z.ZodSchema | undefined = undefined, THeaders extends z.ZodSchema | undefined = undefined, TResponses extends Record<number, {
|
|
37
|
-
description: string;
|
|
38
|
-
schema: z.ZodSchema;
|
|
39
|
-
}> = Record<number, {
|
|
40
|
-
description: string;
|
|
41
|
-
schema: z.ZodSchema;
|
|
42
|
-
}>> = {
|
|
43
|
-
ctx: AppContext;
|
|
44
|
-
body: TBody extends z.ZodSchema ? z.infer<TBody> : unknown;
|
|
45
|
-
headers: THeaders extends z.ZodSchema ? z.infer<THeaders> : Record<string, string>;
|
|
46
|
-
params: TParams extends z.ZodSchema ? z.infer<TParams> : Record<string, unknown>;
|
|
47
|
-
query: TQuery extends z.ZodSchema ? z.infer<TQuery> : Record<string, unknown>;
|
|
48
|
-
request: Request;
|
|
49
|
-
response: ReturnType<typeof defineTypedResponses<TResponses>>;
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* Helper function to define an OpenAPI endpoint with full type safety.
|
|
53
|
-
*/
|
|
54
|
-
declare function defineOpenAPIEndpoint<TParams extends z.ZodSchema | undefined = undefined, TQuery extends z.ZodSchema | undefined = undefined, TBody extends z.ZodSchema | undefined = undefined, THeaders extends z.ZodSchema | undefined = undefined, TResponses extends Record<number, {
|
|
55
|
-
description: string;
|
|
56
|
-
schema: z.ZodSchema;
|
|
57
|
-
}> = Record<number, {
|
|
58
|
-
description: string;
|
|
59
|
-
schema: z.ZodSchema;
|
|
60
|
-
}>>(spec: {
|
|
61
|
-
summary?: string;
|
|
62
|
-
description?: string;
|
|
63
|
-
params?: TParams;
|
|
64
|
-
query?: TQuery;
|
|
65
|
-
requestBody?: TBody;
|
|
66
|
-
headers?: THeaders;
|
|
67
|
-
responses: TResponses;
|
|
68
|
-
handler: (params: HandlerParams<TParams, TQuery, TBody, THeaders, TResponses>) => Promise<ResponseMarker>;
|
|
69
|
-
}): {
|
|
70
|
-
summary?: string;
|
|
71
|
-
description?: string;
|
|
72
|
-
params?: TParams;
|
|
73
|
-
query?: TQuery;
|
|
74
|
-
requestBody?: TBody;
|
|
75
|
-
headers?: THeaders;
|
|
76
|
-
responses: TResponses;
|
|
77
|
-
handler: (params: HandlerParams<TParams, TQuery, TBody, THeaders, TResponses>) => Promise<ResponseMarker>;
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* OpenAPI method specification type (for internal use).
|
|
81
|
-
*/
|
|
82
|
-
type OpenAPIMethodSpec = {
|
|
83
|
-
summary?: string;
|
|
84
|
-
description?: string;
|
|
85
|
-
params?: z.ZodSchema;
|
|
86
|
-
query?: z.ZodSchema;
|
|
87
|
-
requestBody?: z.ZodSchema;
|
|
88
|
-
headers?: z.ZodSchema;
|
|
89
|
-
responses: Record<number, {
|
|
90
|
-
description: string;
|
|
91
|
-
schema: z.ZodSchema;
|
|
92
|
-
}>;
|
|
93
|
-
handler: (params: HandlerParams<any, any, any, any, any>) => Promise<ResponseMarker>;
|
|
94
|
-
};
|
|
95
|
-
/**
|
|
96
|
-
* Configuration object for defineOpenApi.
|
|
97
|
-
*/
|
|
98
|
-
type DefineOpenAPIConfig = { [K in "GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE"]?: OpenAPIMethodSpec };
|
|
99
|
-
/**
|
|
100
|
-
* OpenAPI configuration for document-level settings
|
|
101
|
-
*/
|
|
102
|
-
type OpenAPIObjectConfigV31 = {
|
|
103
|
-
info: {
|
|
104
|
-
title: string;
|
|
105
|
-
version: string;
|
|
106
|
-
description?: string;
|
|
107
|
-
contact?: {
|
|
108
|
-
name?: string;
|
|
109
|
-
email?: string;
|
|
110
|
-
url?: string;
|
|
111
|
-
};
|
|
112
|
-
license?: {
|
|
113
|
-
name: string;
|
|
114
|
-
url?: string;
|
|
115
|
-
};
|
|
116
|
-
};
|
|
117
|
-
servers?: Array<{
|
|
118
|
-
url: string;
|
|
119
|
-
description?: string;
|
|
120
|
-
}>;
|
|
121
|
-
openapi: "3.1.0";
|
|
122
|
-
};
|
|
123
|
-
/**
|
|
124
|
-
* Simplified config input for defineOpenAPIConfig
|
|
125
|
-
*/
|
|
126
|
-
type DefineOpenAPIConfigInput = {
|
|
127
|
-
info: OpenAPIObjectConfigV31["info"];
|
|
128
|
-
servers?: OpenAPIObjectConfigV31["servers"];
|
|
129
|
-
};
|
|
130
|
-
/**
|
|
131
|
-
* OpenAPI registration format (without path - CLI will add it)
|
|
132
|
-
*/
|
|
133
|
-
type OpenAPIRegistration = {
|
|
134
|
-
method: "get" | "post" | "put" | "patch" | "delete" | "head";
|
|
135
|
-
summary?: string;
|
|
136
|
-
description?: string;
|
|
137
|
-
request?: {
|
|
138
|
-
params?: z.ZodSchema;
|
|
139
|
-
query?: z.ZodSchema;
|
|
140
|
-
body?: z.ZodSchema;
|
|
141
|
-
headers?: z.ZodSchema;
|
|
142
|
-
};
|
|
143
|
-
responses: Record<number, {
|
|
144
|
-
description: string;
|
|
145
|
-
content: {
|
|
146
|
-
"application/json": {
|
|
147
|
-
schema: z.ZodSchema;
|
|
148
|
-
};
|
|
149
|
-
};
|
|
150
|
-
}>;
|
|
151
|
-
};
|
|
152
|
-
/**
|
|
153
|
-
* Return type for defineOpenAPI function
|
|
154
|
-
*/
|
|
155
|
-
type DefineOpenAPIReturn = {
|
|
156
|
-
handlers: Record<string, RequestHandler>;
|
|
157
|
-
openAPISpec: OpenAPIRegistration[];
|
|
158
|
-
};
|
|
159
|
-
/**
|
|
160
|
-
* RFC 9457 compliant validation error response
|
|
161
|
-
*/
|
|
162
|
-
type ValidationErrorResponse = {
|
|
163
|
-
error: "validation_error";
|
|
164
|
-
status: number;
|
|
165
|
-
detail: string;
|
|
166
|
-
errors: Array<{
|
|
167
|
-
field: string;
|
|
168
|
-
message: string;
|
|
169
|
-
received: unknown;
|
|
170
|
-
}>;
|
|
171
|
-
};
|
|
172
|
-
/**
|
|
173
|
-
* Define OpenAPI-based route handlers with full type safety.
|
|
174
|
-
*
|
|
175
|
-
* @param config Configuration object with HTTP method specifications
|
|
176
|
-
* @returns Object containing Express handlers and openAPISpec
|
|
177
|
-
*
|
|
178
|
-
* @example
|
|
179
|
-
* ```typescript
|
|
180
|
-
* // Basic usage
|
|
181
|
-
* export default defineOpenAPI({
|
|
182
|
-
* GET: {
|
|
183
|
-
* summary: "Get user by ID",
|
|
184
|
-
* params: z.object({ id: z.uuid() }),
|
|
185
|
-
* responses: {
|
|
186
|
-
* 200: { description: "User data", schema: UserSchema }
|
|
187
|
-
* },
|
|
188
|
-
* handler: async ({ params, response }) => {
|
|
189
|
-
* const user = await getUser(params.id);
|
|
190
|
-
* return response.ok(user); // Fully typed!
|
|
191
|
-
* }
|
|
192
|
-
* },
|
|
193
|
-
* POST: {
|
|
194
|
-
* summary: "Create user",
|
|
195
|
-
* requestBody: CreateUserSchema,
|
|
196
|
-
* responses: {
|
|
197
|
-
* 201: { description: "User created", schema: UserSchema }
|
|
198
|
-
* },
|
|
199
|
-
* handler: async ({ body, response }) => {
|
|
200
|
-
* const user = await createUser(body);
|
|
201
|
-
* return response.created(user); // Fully typed!
|
|
202
|
-
* }
|
|
203
|
-
* }
|
|
204
|
-
* });
|
|
205
|
-
* ```
|
|
206
|
-
*/
|
|
207
|
-
declare function defineOpenAPI(config: DefineOpenAPIConfig): DefineOpenAPIReturn;
|
|
208
|
-
/**
|
|
209
|
-
* Define OpenAPI document configuration with improved DX.
|
|
210
|
-
*
|
|
211
|
-
* Only allows specifying info and servers objects, ensuring a consistent
|
|
212
|
-
* OpenAPI v3.1.0 structure while preventing configuration of other fields.
|
|
213
|
-
*
|
|
214
|
-
* @param config Configuration object with info and optional servers
|
|
215
|
-
* @returns Complete OpenAPI configuration object
|
|
216
|
-
*
|
|
217
|
-
* @example
|
|
218
|
-
* ```typescript
|
|
219
|
-
* export const openAPIConfig = defineOpenAPIConfig({
|
|
220
|
-
* info: {
|
|
221
|
-
* title: "My API",
|
|
222
|
-
* version: "1.0.0",
|
|
223
|
-
* description: "API v1 - Authentication and core features",
|
|
224
|
-
* contact: {
|
|
225
|
-
* name: "API Support",
|
|
226
|
-
* email: "support@example.com",
|
|
227
|
-
* },
|
|
228
|
-
* },
|
|
229
|
-
* servers: [
|
|
230
|
-
* {
|
|
231
|
-
* url: process.env.API_URL || "http://localhost:8000",
|
|
232
|
-
* description: "API Server",
|
|
233
|
-
* },
|
|
234
|
-
* ],
|
|
235
|
-
* });
|
|
236
|
-
* ```
|
|
237
|
-
*/
|
|
238
|
-
declare function defineOpenAPIConfig<TContainer extends Container = Container>(config: (container: TContainer) => DefineOpenAPIConfigInput): (container: TContainer) => OpenAPIObjectConfigV31;
|
|
239
|
-
/**
|
|
240
|
-
* Route module type for scanned API routes
|
|
241
|
-
*/
|
|
242
|
-
type RouteModule = {
|
|
243
|
-
path: string;
|
|
244
|
-
filePath: string;
|
|
245
|
-
handlers: Record<string, RequestHandler>;
|
|
246
|
-
openAPISpec: OpenAPIRegistration[];
|
|
247
|
-
version?: string;
|
|
248
|
-
};
|
|
249
|
-
/**
|
|
250
|
-
* Generate complete OpenAPI 3.1.0 document from routes using zod-openapi
|
|
251
|
-
*/
|
|
252
|
-
declare function generateOpenAPIDocument(routes: RouteModule[], version: string, config?: DefineOpenAPIConfigInput): _node_modules_zod_openapi_dist_components_B1DX_zYv_mjs0.it;
|
|
253
|
-
/**
|
|
254
|
-
* Scan routes directory and convert to Express route paths using remix-flat-routes.
|
|
255
|
-
*/
|
|
256
|
-
declare function scanAPIRoutes(container: Container): Promise<RouteModule[]>;
|
|
257
|
-
/**
|
|
258
|
-
* Register scanned routes with Express app.
|
|
259
|
-
*/
|
|
260
|
-
declare function registerRoutes(app: Express, routes: RouteModule[]): void;
|
|
261
|
-
/**
|
|
262
|
-
* Write OpenAPI specs to api/public/openapi directory.
|
|
263
|
-
*/
|
|
264
|
-
declare function writeOpenAPISpecs<TContainer extends Container>(container: TContainer, routes: RouteModule[]): Promise<void>;
|
|
265
|
-
/**
|
|
266
|
-
* Load and register API routes with Express (convenience function).
|
|
267
|
-
* Also auto-generates OpenAPI specs in development mode.
|
|
268
|
-
*/
|
|
269
|
-
declare function loadAndRegisterAPIRoutes<TContainer extends Container>(app: Express): Promise<void>;
|
|
270
|
-
//#endregion
|
|
271
|
-
export { DefineOpenAPIConfig, DefineOpenAPIConfigInput, DefineOpenAPIReturn, HandlerParams, OpenAPIMethodSpec, OpenAPIObjectConfigV31, OpenAPIRegistration, RouteModule, ValidationErrorResponse, defineOpenAPI, defineOpenAPIConfig, defineOpenAPIEndpoint, defineTypedResponses, generateOpenAPIDocument, loadAndRegisterAPIRoutes, registerRoutes, scanAPIRoutes, writeOpenAPISpecs };
|