express-zod-api 7.6.3 → 7.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/CHANGELOG.md CHANGED
@@ -2,6 +2,64 @@
2
2
 
3
3
  ## Version 7
4
4
 
5
+ ### v7.7.0
6
+
7
+ - Feature #523: Ability to specify Security schemas of your Middlewares and depict the Authentication of your API.
8
+ - OpenAPI generator now can depict the [Authentication](https://swagger.io/docs/specification/authentication/) of your
9
+ endpoints as a part of the generated documentation.
10
+ - There is a new optional property `security` of `createMiddleware()`.
11
+ - You can specify a single or several security schemas in that property.
12
+ - For several security schemas `security` support a new `LogicalContainer` that can contain upto 2 nested levels.
13
+ - Supported security types: `basic`, `bearer`, `input`, `header`, `cookie`, `openid` and `oauth2`.
14
+ - OpenID and OAuth2 security types are currently have the limited support: without scopes.
15
+
16
+ ```typescript
17
+ // example middleware
18
+ import { createMiddleware } from "express-zod-api";
19
+
20
+ const authMiddleware = createMiddleware({
21
+ security: {
22
+ // requires the "key" in inputs and a custom "token" headers
23
+ and: [
24
+ { type: "input", name: "key" },
25
+ { type: "header", name: "token" },
26
+ ],
27
+ },
28
+ input: z.object({
29
+ key: z.string().min(1),
30
+ }),
31
+ middleware: async ({ input: { key }, request }) => {
32
+ if (key !== "123") {
33
+ throw createHttpError(401, "Invalid key");
34
+ }
35
+ if (request.headers.token !== "456") {
36
+ throw createHttpError(401, "Invalid token");
37
+ }
38
+ return { token: request.headers.token };
39
+ },
40
+ });
41
+
42
+ // another example with logical OR
43
+ createMiddleware({
44
+ security: {
45
+ // requires either input and header OR bearer header
46
+ or: [
47
+ {
48
+ and: [
49
+ { type: "input", name: "key" },
50
+ { type: "header", name: "token" },
51
+ ],
52
+ },
53
+ {
54
+ type: "bearer",
55
+ format: "JWT",
56
+ },
57
+ ],
58
+ },
59
+ //...
60
+ });
61
+ ```
62
+
5
63
  ### v7.6.3
6
64
 
7
65
  - [@rayzr522](https://github.com/rayzr522) has fixed the resolution of types in the ESM build for the `nodenext` case.
package/README.md CHANGED
@@ -272,6 +272,13 @@ Here is an example of the authentication middleware, that checks a `key` from in
272
272
  import { createMiddleware, createHttpError, z } from "express-zod-api";
273
273
 
274
274
  const authMiddleware = createMiddleware({
275
+ security: {
276
+ // this information is optional and used for the generated documentation (OpenAPI)
277
+ and: [
278
+ { type: "input", name: "key" },
279
+ { type: "header", name: "token" },
280
+ ],
281
+ },
275
282
  input: z.object({
276
283
  key: z.string().min(1),
277
284
  }),
@@ -4,9 +4,11 @@ import { z } from "zod";
4
4
  import { ApiResponse } from "./api-response";
5
5
  import { CommonConfig } from "./config-type";
6
6
  import { FlatObject, IOSchema } from "./common-helpers";
7
+ import { LogicalContainer } from "./logical-container";
7
8
  import { Method, MethodsDefinition } from "./method";
8
9
  import { AnyMiddlewareDef } from "./middleware";
9
10
  import { ResultHandlerDefinition } from "./result-handler";
11
+ import { Security } from "./security";
10
12
  export declare type Handler<IN, OUT, OPT> = (params: {
11
13
  input: IN;
12
14
  options: OPT;
@@ -28,6 +30,7 @@ export declare abstract class AbstractEndpoint {
28
30
  abstract getInputMimeTypes(): string[];
29
31
  abstract getPositiveMimeTypes(): string[];
30
32
  abstract getNegativeMimeTypes(): string[];
33
+ abstract getSecurity(): LogicalContainer<Security>;
31
34
  }
32
35
  declare type EndpointProps<IN extends IOSchema, OUT extends IOSchema, OPT extends FlatObject, M extends Method, POS extends ApiResponse, NEG extends ApiResponse> = {
33
36
  middlewares: AnyMiddlewareDef[];
@@ -58,6 +61,7 @@ export declare class Endpoint<IN extends IOSchema, OUT extends IOSchema, OPT ext
58
61
  getInputMimeTypes(): string[];
59
62
  getPositiveMimeTypes(): string[];
60
63
  getNegativeMimeTypes(): string[];
64
+ getSecurity(): LogicalContainer<Security>;
61
65
  execute({ request, response, logger, config, }: {
62
66
  request: Request;
63
67
  response: Response;
package/dist/endpoint.js CHANGED
@@ -10,6 +10,7 @@ exports.Endpoint = exports.AbstractEndpoint = void 0;
10
10
  const zod_1 = require("zod");
11
11
  const errors_1 = require("./errors");
12
12
  const common_helpers_1 = require("./common-helpers");
13
+ const logical_container_1 = require("./logical-container");
13
14
  const result_handler_1 = require("./result-handler");
14
15
  class AbstractEndpoint {
15
16
  }
@@ -61,6 +62,9 @@ class Endpoint extends AbstractEndpoint {
61
62
  getNegativeMimeTypes() {
62
63
  return this.resultHandler.getNegativeResponse().mimeTypes;
63
64
  }
65
+ getSecurity() {
66
+ return this.middlewares.reduce((acc, middleware) => middleware.security ? (0, logical_container_1.combineContainers)(acc, middleware.security) : acc, { and: [] });
67
+ }
64
68
  async execute({ request, response, logger, config, }) {
65
69
  const method = (0, common_helpers_1.getActualMethod)(request);
66
70
  let output;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ declare type LogicalOr<T> = {
2
+ or: T[];
3
+ };
4
+ declare type LogicalAnd<T> = {
5
+ and: T[];
6
+ };
7
+ export declare type LogicalContainer<T> = LogicalOr<T | LogicalAnd<T>> | LogicalAnd<T | LogicalOr<T>> | T;
8
+ /** @desc combines several LogicalAnds into a one */
9
+ export declare const flattenAnds: <T>(subject: (T | LogicalAnd<T>)[]) => LogicalAnd<T>;
10
+ /** @desc creates a LogicalContainer out of another one */
11
+ export declare const mapLogicalContainer: <T, S>(container: LogicalContainer<T>, fn: (subject: T) => S) => LogicalContainer<S>;
12
+ /** @desc converts LogicalAnd into LogicalOr */
13
+ export declare const andToOr: <T>(subject: LogicalAnd<T | LogicalOr<T>>) => LogicalOr<T | LogicalAnd<T>>;
14
+ /** @desc reducer, combines two LogicalContainers */
15
+ export declare const combineContainers: <T>(a: LogicalContainer<T>, b: LogicalContainer<T>) => LogicalContainer<T>;
16
+ export {};
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.combineContainers = exports.andToOr = exports.mapLogicalContainer = exports.flattenAnds = void 0;
4
+ const common_helpers_1 = require("./common-helpers");
5
+ /** @desc combines several LogicalAnds into a one */
6
+ const flattenAnds = (subject) => ({
7
+ and: subject.reduce((agg, item) => agg.concat(typeof item === "object" && "and" in item ? item.and : item), []),
8
+ });
9
+ exports.flattenAnds = flattenAnds;
10
+ /** @desc creates a LogicalContainer out of another one */
11
+ const mapLogicalContainer = (container, fn) => {
12
+ if (typeof container === "object") {
13
+ if ("and" in container) {
14
+ return {
15
+ and: container.and.map((entry) => typeof entry === "object" && "or" in entry
16
+ ? { or: entry.or.map(fn) }
17
+ : fn(entry)),
18
+ };
19
+ }
20
+ if ("or" in container) {
21
+ return {
22
+ or: container.or.map((entry) => typeof entry === "object" && "and" in entry
23
+ ? { and: entry.and.map(fn) }
24
+ : fn(entry)),
25
+ };
26
+ }
27
+ }
28
+ return fn(container);
29
+ };
30
+ exports.mapLogicalContainer = mapLogicalContainer;
31
+ /** @desc converts LogicalAnd into LogicalOr */
32
+ const andToOr = (subject) => {
33
+ return subject.and.reduce((acc, item) => {
34
+ const combs = (0, common_helpers_1.combinations)(acc.or, typeof item === "object" && "or" in item ? item.or : [item]);
35
+ if (combs.type === "single") {
36
+ acc.or.push(...combs.value);
37
+ }
38
+ else {
39
+ acc.or = combs.value.map(exports.flattenAnds);
40
+ }
41
+ return acc;
42
+ }, {
43
+ or: [],
44
+ });
45
+ };
46
+ exports.andToOr = andToOr;
47
+ /** @desc reducer, combines two LogicalContainers */
48
+ const combineContainers = (a, b) => {
49
+ if (typeof a === "object" && typeof b === "object") {
50
+ if ("and" in a) {
51
+ if ("and" in b) {
52
+ return (0, exports.flattenAnds)([a, b]);
53
+ }
54
+ if ("or" in b) {
55
+ return (0, exports.combineContainers)((0, exports.andToOr)(a), b);
56
+ }
57
+ }
58
+ if ("or" in a) {
59
+ if ("and" in b) {
60
+ return (0, exports.combineContainers)(b, a);
61
+ }
62
+ if ("or" in b) {
63
+ const combs = (0, common_helpers_1.combinations)(a.or, b.or);
64
+ return {
65
+ or: combs.type === "single"
66
+ ? combs.value
67
+ : combs.value.map(exports.flattenAnds),
68
+ };
69
+ }
70
+ }
71
+ }
72
+ return { and: [a, b] };
73
+ };
74
+ exports.combineContainers = combineContainers;
75
+ //# sourceMappingURL=logical-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logical-container.js","sourceRoot":"","sources":["../src/logical-container.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { HttpError } from "http-errors";
3
3
  import { Logger } from "winston";
4
4
  import { z } from "zod";
5
5
  import { FlatObject, IOSchema } from "./common-helpers";
6
+ import { LogicalContainer } from "./logical-container";
7
+ import { Security } from "./security";
6
8
  interface MiddlewareParams<IN, OPT> {
7
9
  input: IN;
8
10
  options: OPT;
@@ -13,6 +15,7 @@ interface MiddlewareParams<IN, OPT> {
13
15
  declare type Middleware<IN, OPT, OUT> = (params: MiddlewareParams<IN, OPT>) => Promise<OUT>;
14
16
  export interface MiddlewareCreationProps<IN extends IOSchema<"strip">, OPT, OUT extends FlatObject> {
15
17
  input: IN;
18
+ security?: LogicalContainer<Security<keyof z.input<IN> & string>>;
16
19
  middleware: Middleware<z.output<IN>, OPT, OUT>;
17
20
  }
18
21
  export interface MiddlewareDefinition<IN extends IOSchema<"strip">, OPT, OUT extends FlatObject> extends MiddlewareCreationProps<IN, OPT, OUT> {
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":";;;AAqCO,MAAM,gBAAgB,GAAG,CAK9B,KAA4C,EACR,EAAE,CAAC,CAAC;IACxC,GAAG,KAAK;IACR,IAAI,EAAE,aAAa;CACpB,CAAC,CAAC;AATU,QAAA,gBAAgB,oBAS1B"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":";;;AAwCO,MAAM,gBAAgB,GAAG,CAK9B,KAA4C,EACR,EAAE,CAAC,CAAC;IACxC,GAAG,KAAK;IACR,IAAI,EAAE,aAAa;CACpB,CAAC,CAAC;AATU,QAAA,gBAAgB,oBAS1B"}
@@ -1,5 +1,5 @@
1
1
  import { MediaTypeObject, ParameterObject, SchemaObject } from "openapi3-ts";
2
- import { RequestBodyObject, ResponseObject } from "openapi3-ts/src/model/OpenApi";
2
+ import { RequestBodyObject, ResponseObject, SecurityRequirementObject, SecuritySchemeObject } from "openapi3-ts/src/model/OpenApi";
3
3
  import { z } from "zod";
4
4
  import { IOSchema } from "./common-helpers";
5
5
  import { InputSources } from "./config-type";
@@ -7,7 +7,9 @@ import { ZodDateIn } from "./date-in-schema";
7
7
  import { ZodDateOut } from "./date-out-schema";
8
8
  import { AbstractEndpoint } from "./endpoint";
9
9
  import { ZodFile } from "./file-schema";
10
+ import { LogicalContainer } from "./logical-container";
10
11
  import { Method } from "./method";
12
+ import { Security } from "./security";
11
13
  import { ZodUpload } from "./upload-schema";
12
14
  declare type MediaExamples = Pick<MediaTypeObject, "examples">;
13
15
  declare type DepictHelper<T extends z.ZodType<any>> = (params: {
@@ -68,5 +70,7 @@ export declare const depictResponse: ({ method, path, description, endpoint, isP
68
70
  description: string;
69
71
  isPositive: boolean;
70
72
  }) => ResponseObject;
73
+ export declare const depictSecurity: (container: LogicalContainer<Security>) => LogicalContainer<SecuritySchemeObject>;
74
+ export declare const depictSecurityNames: (container: LogicalContainer<string>) => SecurityRequirementObject[];
71
75
  export declare const depictRequest: ({ method, path, endpoint, }: ReqResDepictHelperCommonProps) => RequestBodyObject;
72
76
  export {};
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.depictRequest = exports.depictResponse = exports.excludeExampleFromDepiction = exports.excludeParamsFromDepiction = exports.depictSchema = exports.depictRequestParams = exports.extractObjectSchema = exports.depictIOParamExamples = exports.depictIOExamples = exports.depictEffect = exports.depictObjectProperties = exports.depictNumber = exports.depictString = exports.depictTuple = exports.depictArray = exports.depictRecord = exports.depictBigInt = exports.depictBoolean = exports.depictDateOut = exports.depictDateIn = exports.depictNull = exports.depictObject = exports.depictLiteral = exports.depictEnum = exports.depictOptionalOrNullable = exports.depictIntersection = exports.depictDiscriminatedUnion = exports.depictUnion = exports.depictFile = exports.depictUpload = exports.depictAny = exports.depictDefault = exports.reformatParamsInPath = void 0;
3
+ exports.depictRequest = exports.depictSecurityNames = exports.depictSecurity = exports.depictResponse = exports.excludeExampleFromDepiction = exports.excludeParamsFromDepiction = exports.depictSchema = exports.depictRequestParams = exports.extractObjectSchema = exports.depictIOParamExamples = exports.depictIOExamples = exports.depictEffect = exports.depictObjectProperties = exports.depictNumber = exports.depictString = exports.depictTuple = exports.depictArray = exports.depictRecord = exports.depictBigInt = exports.depictBoolean = exports.depictDateOut = exports.depictDateIn = exports.depictNull = exports.depictObject = exports.depictLiteral = exports.depictEnum = exports.depictOptionalOrNullable = exports.depictIntersection = exports.depictDiscriminatedUnion = exports.depictUnion = exports.depictFile = exports.depictUpload = exports.depictAny = exports.depictDefault = exports.reformatParamsInPath = void 0;
4
4
  const ramda_1 = require("ramda");
5
5
  const zod_1 = require("zod");
6
6
  const common_helpers_1 = require("./common-helpers");
7
7
  const date_in_schema_1 = require("./date-in-schema");
8
8
  const errors_1 = require("./errors");
9
+ const logical_container_1 = require("./logical-container");
9
10
  const metadata_1 = require("./metadata");
10
11
  const isoDateDocumentationUrl = "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString";
11
12
  /* eslint-disable @typescript-eslint/no-use-before-define */
@@ -492,6 +493,70 @@ const depictResponse = ({ method, path, description, endpoint, isPositive, }) =>
492
493
  };
493
494
  };
494
495
  exports.depictResponse = depictResponse;
496
+ const depictBasicSecurity = ({}) => ({
497
+ type: "http",
498
+ scheme: "basic",
499
+ });
500
+ const depictBearerSecurity = ({ format: bearerFormat, }) => ({
501
+ type: "http",
502
+ scheme: "bearer",
503
+ ...(bearerFormat ? { bearerFormat } : {}),
504
+ });
505
+ // @todo add description on actual input placement
506
+ const depictInputSecurity = ({ name }) => ({
507
+ type: "apiKey",
508
+ in: "query",
509
+ name,
510
+ });
511
+ const depictHeaderSecurity = ({ name }) => ({
512
+ type: "apiKey",
513
+ in: "header",
514
+ name,
515
+ });
516
+ const depictCookieSecurity = ({ name }) => ({
517
+ type: "apiKey",
518
+ in: "cookie",
519
+ name,
520
+ });
521
+ // @todo implement scopes
522
+ const depictOpenIdSecurity = ({ url: openIdConnectUrl, }) => ({
523
+ type: "openIdConnect",
524
+ openIdConnectUrl,
525
+ });
526
+ // @todo implement scopes
527
+ const depictOAuth2Security = ({}) => ({
528
+ type: "oauth2",
529
+ });
530
+ const depictSecurity = (container) => {
531
+ const methods = {
532
+ basic: depictBasicSecurity,
533
+ bearer: depictBearerSecurity,
534
+ input: depictInputSecurity,
535
+ header: depictHeaderSecurity,
536
+ cookie: depictCookieSecurity,
537
+ openid: depictOpenIdSecurity,
538
+ oauth2: depictOAuth2Security,
539
+ };
540
+ return (0, logical_container_1.mapLogicalContainer)(container, (security) => methods[security.type](security));
541
+ };
542
+ exports.depictSecurity = depictSecurity;
543
+ const depictSecurityNames = (container) => {
544
+ if (typeof container === "object") {
545
+ if ("or" in container) {
546
+ return container.or.map((entry) => (typeof entry === "string"
547
+ ? [entry]
548
+ : entry.and).reduce((agg, name) => ({
549
+ ...agg,
550
+ [name]: [],
551
+ }), {}));
552
+ }
553
+ if ("and" in container) {
554
+ return (0, exports.depictSecurityNames)((0, logical_container_1.andToOr)(container));
555
+ }
556
+ }
557
+ return (0, exports.depictSecurityNames)({ or: [container] });
558
+ };
559
+ exports.depictSecurityNames = depictSecurityNames;
495
560
  const depictRequest = ({ method, path, endpoint, }) => {
496
561
  const pathParams = (0, common_helpers_1.getRoutePathParams)(path);
497
562
  const bodyDepiction = (0, exports.excludeExampleFromDepiction)((0, exports.excludeParamsFromDepiction)((0, exports.depictSchema)({
@@ -1 +1 @@
1
- {"version":3,"file":"open-api-helpers.js","sourceRoot":"","sources":["../src/open-api-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-api-helpers.js","sourceRoot":"","sources":["../src/open-api-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { OpenApiBuilder } from "openapi3-ts";
1
+ import { OpenApiBuilder, SecuritySchemeObject, SecuritySchemeType } from "openapi3-ts";
2
2
  import { CommonConfig } from "./config-type";
3
3
  import { Routing } from "./routing";
4
4
  interface GeneratorParams {
@@ -11,6 +11,8 @@ interface GeneratorParams {
11
11
  errorResponseDescription?: string;
12
12
  }
13
13
  export declare class OpenAPI extends OpenApiBuilder {
14
+ protected lastSecuritySchemaIds: Partial<Record<SecuritySchemeType, number>>;
15
+ protected ensureUniqSecuritySchemaName(subject: SecuritySchemeObject): string;
14
16
  constructor({ routing, config, title, version, serverUrl, successfulResponseDescription, errorResponseDescription, }: GeneratorParams);
15
17
  }
16
18
  export {};
package/dist/open-api.js CHANGED
@@ -3,11 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OpenAPI = void 0;
4
4
  const openapi3_ts_1 = require("openapi3-ts");
5
5
  const common_helpers_1 = require("./common-helpers");
6
+ const logical_container_1 = require("./logical-container");
6
7
  const open_api_helpers_1 = require("./open-api-helpers");
7
8
  const routing_1 = require("./routing");
8
9
  class OpenAPI extends openapi3_ts_1.OpenApiBuilder {
9
10
  constructor({ routing, config, title, version, serverUrl, successfulResponseDescription = "Successful response", errorResponseDescription = "Error response", }) {
10
11
  super();
12
+ this.lastSecuritySchemaIds = {};
11
13
  this.addInfo({ title, version }).addServer({ url: serverUrl });
12
14
  const endpointCb = (endpoint, path, _method) => {
13
15
  var _a, _b;
@@ -41,6 +43,14 @@ class OpenAPI extends openapi3_ts_1.OpenApiBuilder {
41
43
  if (inputSources.includes("body")) {
42
44
  operation.requestBody = (0, open_api_helpers_1.depictRequest)(commonParams);
43
45
  }
46
+ const securityRefs = (0, open_api_helpers_1.depictSecurityNames)((0, logical_container_1.mapLogicalContainer)((0, open_api_helpers_1.depictSecurity)(endpoint.getSecurity()), (securitySchema) => {
47
+ const name = this.ensureUniqSecuritySchemaName(securitySchema);
48
+ this.addSecurityScheme(name, securitySchema);
49
+ return name;
50
+ }));
51
+ if (securityRefs.length > 0) {
52
+ operation.security = securityRefs;
53
+ }
44
54
  const swaggerCompatiblePath = (0, open_api_helpers_1.reformatParamsInPath)(path);
45
55
  this.addPath(swaggerCompatiblePath, {
46
56
  ...(((_b = this.rootDoc.paths) === null || _b === void 0 ? void 0 : _b[swaggerCompatiblePath]) || {}),
@@ -49,6 +59,18 @@ class OpenAPI extends openapi3_ts_1.OpenApiBuilder {
49
59
  };
50
60
  (0, routing_1.routingCycle)({ routing, endpointCb });
51
61
  }
62
+ ensureUniqSecuritySchemaName(subject) {
63
+ var _a, _b, _c, _d;
64
+ for (const name in ((_a = this.rootDoc.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) || {}) {
65
+ if (JSON.stringify(subject) ===
66
+ JSON.stringify((_c = (_b = this.rootDoc.components) === null || _b === void 0 ? void 0 : _b.securitySchemes) === null || _c === void 0 ? void 0 : _c[name])) {
67
+ return name;
68
+ }
69
+ }
70
+ this.lastSecuritySchemaIds[subject.type] =
71
+ (((_d = this.lastSecuritySchemaIds) === null || _d === void 0 ? void 0 : _d[subject.type]) || 0) + 1;
72
+ return `${subject.type.toUpperCase()}_${this.lastSecuritySchemaIds[subject.type]}`;
73
+ }
52
74
  }
53
75
  exports.OpenAPI = OpenAPI;
54
76
  //# sourceMappingURL=open-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"open-api.js","sourceRoot":"","sources":["../src/open-api.ts"],"names":[],"mappings":";;;AAAA,6CAA8D;AAC9D,qDAAuD;AAGvD,yDAK4B;AAC5B,uCAAsE;AAYtE,MAAa,OAAQ,SAAQ,4BAAc;IACzC,YAAmB,EACjB,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,6BAA6B,GAAG,qBAAqB,EACrD,wBAAwB,GAAG,gBAAgB,GAC3B;QAChB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAqC,CACnD,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,EAAE;;YACF,MAAM,MAAM,GAAG,OAAiB,CAAC;YACjC,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAChD,MAAM,YAAY,GAChB,CAAA,MAAA,MAAM,CAAC,YAAY,0CAAG,MAAM,CAAC,KAAI,oCAAmB,CAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,cAAc,GAAG,IAAA,sCAAmB,EAAC;gBACzC,GAAG,YAAY;gBACf,YAAY;aACb,CAAC,CAAC;YACH,MAAM,SAAS,GAAoB;gBACjC,SAAS,EAAE;oBACT,KAAK,EAAE,IAAA,iCAAc,EAAC;wBACpB,GAAG,YAAY;wBACf,WAAW,EAAE,6BAA6B;wBAC1C,UAAU,EAAE,IAAI;qBACjB,CAAC;oBACF,KAAK,EAAE,IAAA,iCAAc,EAAC;wBACpB,GAAG,YAAY;wBACf,WAAW,EAAE,wBAAwB;wBACrC,UAAU,EAAE,KAAK;qBAClB,CAAC;iBACH;aACF,CAAC;YACF,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE;gBAC7B,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;aACnD;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,SAAS,CAAC,UAAU,GAAG,cAAc,CAAC;aACvC;YACD,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACjC,SAAS,CAAC,WAAW,GAAG,IAAA,gCAAa,EAAC,YAAY,CAAC,CAAC;aACrD;YACD,MAAM,qBAAqB,GAAG,IAAA,uCAAoB,EAAC,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;gBAClC,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,KAAK,0CAAG,qBAAqB,CAAC,KAAI,EAAE,CAAC;gBACtD,CAAC,MAAM,CAAC,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC,CAAC;QACF,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACxC,CAAC;CACF;AAxDD,0BAwDC"}
1
+ {"version":3,"file":"open-api.js","sourceRoot":"","sources":["../src/open-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ interface BasicSecurity {
2
+ type: "basic";
3
+ }
4
+ interface BearerSecurity {
5
+ type: "bearer";
6
+ format?: "JWT" | string;
7
+ }
8
+ interface InputSecurity<K extends string> {
9
+ type: "input";
10
+ name: K;
11
+ }
12
+ interface CustomHeaderSecurity {
13
+ type: "header";
14
+ name: string;
15
+ }
16
+ interface CookieSecurity {
17
+ type: "cookie";
18
+ name: string;
19
+ }
20
+ /**
21
+ * @todo add scopes
22
+ * @see https://swagger.io/docs/specification/authentication/openid-connect-discovery/
23
+ */
24
+ interface OpenIdSecurity {
25
+ type: "openid";
26
+ url: string;
27
+ }
28
+ /**
29
+ * @todo add more fields here
30
+ * @see https://swagger.io/docs/specification/authentication/oauth2/
31
+ */
32
+ interface OAuth2Security {
33
+ type: "oauth2";
34
+ }
35
+ /** @desc K is an optional input field used by InputSecurity */
36
+ export declare type Security<K extends string = string> = BasicSecurity | BearerSecurity | InputSecurity<K> | CustomHeaderSecurity | CookieSecurity | OpenIdSecurity | OAuth2Security;
37
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":""}
@@ -7,6 +7,7 @@ var _Endpoint_instances, _Endpoint_getDefaultCorsHeaders, _Endpoint_parseOutput,
7
7
  import { z } from "zod";
8
8
  import { ResultHandlerError } from "./errors.js";
9
9
  import { getActualMethod, getInitialInput, } from "./common-helpers.js";
10
+ import { combineContainers } from "./logical-container.js";
10
11
  import { lastResortHandler } from "./result-handler.js";
11
12
  export class AbstractEndpoint {
12
13
  }
@@ -57,6 +58,9 @@ export class Endpoint extends AbstractEndpoint {
57
58
  getNegativeMimeTypes() {
58
59
  return this.resultHandler.getNegativeResponse().mimeTypes;
59
60
  }
61
+ getSecurity() {
62
+ return this.middlewares.reduce((acc, middleware) => middleware.security ? combineContainers(acc, middleware.security) : acc, { and: [] });
63
+ }
60
64
  async execute({ request, response, logger, config, }) {
61
65
  const method = getActualMethod(request);
62
66
  let output;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":";;;;;;AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAEL,eAAe,EACf,eAAe,GAEhB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAA2B,MAAM,kBAAkB,CAAC;AAQ9E,MAAM,OAAgB,gBAAgB;CAgBrC;AAmBD,MAAM,OAAO,QAOX,SAAQ,gBAAgB;IAUxB,YAAY,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,OAAO,EACP,aAAa,EACb,WAAW,EACX,SAAS,EACT,GAAG,IAAI,EACkC;QACzC,KAAK,EAAE,CAAC;;QAlBS,YAAO,GAAQ,EAAE,CAAC;QAClB,gBAAW,GAAuB,EAAE,CAAC;QAkBtD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,SAAS,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC9B;IACH,CAAC;IAEe,cAAc;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEe,UAAU;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEe,cAAc;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEe,eAAe;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEe,yBAAyB;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;IAC1E,CAAC;IAEe,yBAAyB;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC;IACzD,CAAC;IAEe,iBAAiB;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEe,oBAAoB;QAClC,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;IAC7E,CAAC;IAEe,oBAAoB;QAClC,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC;IAC5D,CAAC;IAiIe,KAAK,CAAC,OAAO,CAAC,EAC5B,OAAO,EACP,QAAQ,EACR,MAAM,EACN,MAAM,GAMP;QACC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,MAAW,CAAC;QAChB,IAAI,KAAK,GAAiB,IAAI,CAAC;QAC/B,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,IAAI,OAAO,GAAG,uBAAA,IAAI,4DAAuB,MAA3B,IAAI,CAAyB,CAAC;YAC5C,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;gBACrC,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;oBAC1B,OAAO;oBACP,MAAM;oBACN,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE,OAAO;iBACxB,CAAC,CAAC;aACJ;YACD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;gBACzB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;aACjC;SACF;QACD,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI;YACF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,uBAAA,IAAI,qDAAgB,MAApB,IAAI,EAAiB;gBACpE,MAAM;gBACN,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE;gBAC1B,OAAO;gBACP,QAAQ;gBACR,MAAM;aACP,CAAC,CAAC;YACH,IAAI,cAAc,EAAE;gBAClB,OAAO;aACR;YACD,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC3B,OAAO;aACR;YACD,MAAM,GAAG,MAAM,uBAAA,IAAI,kDAAa,MAAjB,IAAI,EACjB,MAAM,uBAAA,IAAI,yDAAoB,MAAxB,IAAI,EAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAC3D,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK,EAAE;gBACtB,KAAK,GAAG,CAAC,CAAC;aACX;SACF;QACD,MAAM,uBAAA,IAAI,mDAAc,MAAlB,IAAI,EAAe;YACvB,YAAY;YACZ,MAAM;YACN,OAAO;YACP,QAAQ;YACR,KAAK;YACL,MAAM;SACP,CAAC,CAAC;IACL,CAAC;CACF;;IA3LG,MAAM,aAAa,GAAI,IAAI,CAAC,OAA6B;SACtD,MAAM,CAAC,SAAS,CAAC;SACjB,IAAI,CAAC,IAAI,CAAC;SACV,WAAW,EAAE,CAAC;IACjB,OAAO;QACL,6BAA6B,EAAE,GAAG;QAClC,8BAA8B,EAAE,aAAa;QAC7C,8BAA8B,EAAE,cAAc;KAC/C,CAAC;AACJ,CAAC,0BAED,KAAK,gCAAc,MAAW;IAC5B,IAAI;QACF,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KACnD;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;YAC3B,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC;gBACnB;oBACE,OAAO,EAAE,gBAAgB;oBACzB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,CAAC;iBACjB;gBACD,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC1B,GAAG,KAAK;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;iBACxD,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ;QACD,MAAM,CAAC,CAAC;KACT;AACH,CAAC,6BAED,KAAK,mCAAiB,EACpB,MAAM,EACN,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAM,GAOP;IACC,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;QAClC,IAAI,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE;YACtD,SAAS;SACV;QACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,2CAA2C;QACpG,MAAM,CAAC,MAAM,CACX,OAAO,EACP,MAAM,GAAG,CAAC,UAAU,CAAC;YACnB,KAAK;YACL,OAAO;YACP,OAAO;YACP,QAAQ;YACR,MAAM;SACP,CAAC,CACH,CAAC;QACF,cAAc,GAAG,eAAe,IAAI,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC;QACvE,IAAI,cAAc,EAAE;YAClB,MAAM,CAAC,IAAI,CACT,kBAAkB,GAAG,CAAC,UAAU,CAAC,IAAI,8CAA8C,EACnF,OAAO,CACR,CAAC;YACF,MAAM;SACP;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5C,CAAC,iCAED,KAAK,uCAAqB,EACxB,KAAK,EACL,OAAO,EACP,MAAM,GAKP;IACC,OAAO,IAAI,CAAC,OAAO,CAAC;QAClB,gDAAgD;QAChD,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAiB;QACjE,OAAO;QACP,MAAM;KACP,CAAC,CAAC;AACL,CAAC,2BAED,KAAK,iCAAe,EAClB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,MAAM,GAQP;IACC,IAAI;QACF,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC/B,KAAK;YACL,MAAM;YACN,OAAO;YACP,QAAQ;YACR,MAAM;YACN,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;KACJ;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,YAAY,KAAK,EAAE;YACtB,iBAAiB,CAAC;gBAChB,MAAM;gBACN,QAAQ;gBACR,KAAK,EAAE,IAAI,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC;aAChD,CAAC,CAAC;SACJ;KACF;AACH,CAAC"}
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { combinations } from "./common-helpers.js";
2
+ /** @desc combines several LogicalAnds into a one */
3
+ export const flattenAnds = (subject) => ({
4
+ and: subject.reduce((agg, item) => agg.concat(typeof item === "object" && "and" in item ? item.and : item), []),
5
+ });
6
+ /** @desc creates a LogicalContainer out of another one */
7
+ export const mapLogicalContainer = (container, fn) => {
8
+ if (typeof container === "object") {
9
+ if ("and" in container) {
10
+ return {
11
+ and: container.and.map((entry) => typeof entry === "object" && "or" in entry
12
+ ? { or: entry.or.map(fn) }
13
+ : fn(entry)),
14
+ };
15
+ }
16
+ if ("or" in container) {
17
+ return {
18
+ or: container.or.map((entry) => typeof entry === "object" && "and" in entry
19
+ ? { and: entry.and.map(fn) }
20
+ : fn(entry)),
21
+ };
22
+ }
23
+ }
24
+ return fn(container);
25
+ };
26
+ /** @desc converts LogicalAnd into LogicalOr */
27
+ export const andToOr = (subject) => {
28
+ return subject.and.reduce((acc, item) => {
29
+ const combs = combinations(acc.or, typeof item === "object" && "or" in item ? item.or : [item]);
30
+ if (combs.type === "single") {
31
+ acc.or.push(...combs.value);
32
+ }
33
+ else {
34
+ acc.or = combs.value.map(flattenAnds);
35
+ }
36
+ return acc;
37
+ }, {
38
+ or: [],
39
+ });
40
+ };
41
+ /** @desc reducer, combines two LogicalContainers */
42
+ export const combineContainers = (a, b) => {
43
+ if (typeof a === "object" && typeof b === "object") {
44
+ if ("and" in a) {
45
+ if ("and" in b) {
46
+ return flattenAnds([a, b]);
47
+ }
48
+ if ("or" in b) {
49
+ return combineContainers(andToOr(a), b);
50
+ }
51
+ }
52
+ if ("or" in a) {
53
+ if ("and" in b) {
54
+ return combineContainers(b, a);
55
+ }
56
+ if ("or" in b) {
57
+ const combs = combinations(a.or, b.or);
58
+ return {
59
+ or: combs.type === "single"
60
+ ? combs.value
61
+ : combs.value.map(flattenAnds),
62
+ };
63
+ }
64
+ }
65
+ }
66
+ return { and: [a, b] };
67
+ };
68
+ //# sourceMappingURL=logical-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logical-container.js","sourceRoot":"","sources":["../src/logical-container.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AAqCA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAK9B,KAA4C,EACR,EAAE,CAAC,CAAC;IACxC,GAAG,KAAK;IACR,IAAI,EAAE,aAAa;CACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AAwCA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAK9B,KAA4C,EACR,EAAE,CAAC,CAAC;IACxC,GAAG,KAAK;IACR,IAAI,EAAE,aAAa;CACpB,CAAC,CAAC"}
@@ -3,6 +3,7 @@ import { z } from "zod";
3
3
  import { getExamples, getRoutePathParams, routePathParamsRegex, } from "./common-helpers.js";
4
4
  import { isoDateRegex } from "./date-in-schema.js";
5
5
  import { OpenAPIError } from "./errors.js";
6
+ import { andToOr, mapLogicalContainer, } from "./logical-container.js";
6
7
  import { copyMeta } from "./metadata.js";
7
8
  const isoDateDocumentationUrl = "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString";
8
9
  /* eslint-disable @typescript-eslint/no-use-before-define */
@@ -457,6 +458,68 @@ export const depictResponse = ({ method, path, description, endpoint, isPositive
457
458
  }), {}),
458
459
  };
459
460
  };
461
+ const depictBasicSecurity = ({}) => ({
462
+ type: "http",
463
+ scheme: "basic",
464
+ });
465
+ const depictBearerSecurity = ({ format: bearerFormat, }) => ({
466
+ type: "http",
467
+ scheme: "bearer",
468
+ ...(bearerFormat ? { bearerFormat } : {}),
469
+ });
470
+ // @todo add description on actual input placement
471
+ const depictInputSecurity = ({ name }) => ({
472
+ type: "apiKey",
473
+ in: "query",
474
+ name,
475
+ });
476
+ const depictHeaderSecurity = ({ name }) => ({
477
+ type: "apiKey",
478
+ in: "header",
479
+ name,
480
+ });
481
+ const depictCookieSecurity = ({ name }) => ({
482
+ type: "apiKey",
483
+ in: "cookie",
484
+ name,
485
+ });
486
+ // @todo implement scopes
487
+ const depictOpenIdSecurity = ({ url: openIdConnectUrl, }) => ({
488
+ type: "openIdConnect",
489
+ openIdConnectUrl,
490
+ });
491
+ // @todo implement scopes
492
+ const depictOAuth2Security = ({}) => ({
493
+ type: "oauth2",
494
+ });
495
+ export const depictSecurity = (container) => {
496
+ const methods = {
497
+ basic: depictBasicSecurity,
498
+ bearer: depictBearerSecurity,
499
+ input: depictInputSecurity,
500
+ header: depictHeaderSecurity,
501
+ cookie: depictCookieSecurity,
502
+ openid: depictOpenIdSecurity,
503
+ oauth2: depictOAuth2Security,
504
+ };
505
+ return mapLogicalContainer(container, (security) => methods[security.type](security));
506
+ };
507
+ export const depictSecurityNames = (container) => {
508
+ if (typeof container === "object") {
509
+ if ("or" in container) {
510
+ return container.or.map((entry) => (typeof entry === "string"
511
+ ? [entry]
512
+ : entry.and).reduce((agg, name) => ({
513
+ ...agg,
514
+ [name]: [],
515
+ }), {}));
516
+ }
517
+ if ("and" in container) {
518
+ return depictSecurityNames(andToOr(container));
519
+ }
520
+ }
521
+ return depictSecurityNames({ or: [container] });
522
+ };
460
523
  export const depictRequest = ({ method, path, endpoint, }) => {
461
524
  const pathParams = getRoutePathParams(path);
462
525
  const bodyDepiction = excludeExampleFromDepiction(excludeParamsFromDepiction(depictSchema({
@@ -1 +1 @@
1
- {"version":3,"file":"open-api-helpers.js","sourceRoot":"","sources":["../src/open-api-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-api-helpers.js","sourceRoot":"","sources":["../src/open-api-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
- import { OpenApiBuilder } from "openapi3-ts";
1
+ import { OpenApiBuilder, } from "openapi3-ts";
2
2
  import { defaultInputSources } from "./common-helpers.js";
3
- import { depictRequestParams, depictRequest, depictResponse, reformatParamsInPath, } from "./open-api-helpers.js";
3
+ import { mapLogicalContainer } from "./logical-container.js";
4
+ import { depictRequestParams, depictRequest, depictResponse, reformatParamsInPath, depictSecurity, depictSecurityNames, } from "./open-api-helpers.js";
4
5
  import { routingCycle } from "./routing.js";
5
6
  export class OpenAPI extends OpenApiBuilder {
6
7
  constructor({ routing, config, title, version, serverUrl, successfulResponseDescription = "Successful response", errorResponseDescription = "Error response", }) {
7
8
  super();
9
+ this.lastSecuritySchemaIds = {};
8
10
  this.addInfo({ title, version }).addServer({ url: serverUrl });
9
11
  const endpointCb = (endpoint, path, _method) => {
10
12
  var _a, _b;
@@ -38,6 +40,14 @@ export class OpenAPI extends OpenApiBuilder {
38
40
  if (inputSources.includes("body")) {
39
41
  operation.requestBody = depictRequest(commonParams);
40
42
  }
43
+ const securityRefs = depictSecurityNames(mapLogicalContainer(depictSecurity(endpoint.getSecurity()), (securitySchema) => {
44
+ const name = this.ensureUniqSecuritySchemaName(securitySchema);
45
+ this.addSecurityScheme(name, securitySchema);
46
+ return name;
47
+ }));
48
+ if (securityRefs.length > 0) {
49
+ operation.security = securityRefs;
50
+ }
41
51
  const swaggerCompatiblePath = reformatParamsInPath(path);
42
52
  this.addPath(swaggerCompatiblePath, {
43
53
  ...(((_b = this.rootDoc.paths) === null || _b === void 0 ? void 0 : _b[swaggerCompatiblePath]) || {}),
@@ -46,5 +56,17 @@ export class OpenAPI extends OpenApiBuilder {
46
56
  };
47
57
  routingCycle({ routing, endpointCb });
48
58
  }
59
+ ensureUniqSecuritySchemaName(subject) {
60
+ var _a, _b, _c, _d;
61
+ for (const name in ((_a = this.rootDoc.components) === null || _a === void 0 ? void 0 : _a.securitySchemes) || {}) {
62
+ if (JSON.stringify(subject) ===
63
+ JSON.stringify((_c = (_b = this.rootDoc.components) === null || _b === void 0 ? void 0 : _b.securitySchemes) === null || _c === void 0 ? void 0 : _c[name])) {
64
+ return name;
65
+ }
66
+ }
67
+ this.lastSecuritySchemaIds[subject.type] =
68
+ (((_d = this.lastSecuritySchemaIds) === null || _d === void 0 ? void 0 : _d[subject.type]) || 0) + 1;
69
+ return `${subject.type.toUpperCase()}_${this.lastSecuritySchemaIds[subject.type]}`;
70
+ }
49
71
  }
50
72
  //# sourceMappingURL=open-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"open-api.js","sourceRoot":"","sources":["../src/open-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAmB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAW,YAAY,EAAsB,MAAM,WAAW,CAAC;AAYtE,MAAM,OAAO,OAAQ,SAAQ,cAAc;IACzC,YAAmB,EACjB,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,6BAA6B,GAAG,qBAAqB,EACrD,wBAAwB,GAAG,gBAAgB,GAC3B;QAChB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAqC,CACnD,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,EAAE;;YACF,MAAM,MAAM,GAAG,OAAiB,CAAC;YACjC,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAChD,MAAM,YAAY,GAChB,CAAA,MAAA,MAAM,CAAC,YAAY,0CAAG,MAAM,CAAC,KAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,cAAc,GAAG,mBAAmB,CAAC;gBACzC,GAAG,YAAY;gBACf,YAAY;aACb,CAAC,CAAC;YACH,MAAM,SAAS,GAAoB;gBACjC,SAAS,EAAE;oBACT,KAAK,EAAE,cAAc,CAAC;wBACpB,GAAG,YAAY;wBACf,WAAW,EAAE,6BAA6B;wBAC1C,UAAU,EAAE,IAAI;qBACjB,CAAC;oBACF,KAAK,EAAE,cAAc,CAAC;wBACpB,GAAG,YAAY;wBACf,WAAW,EAAE,wBAAwB;wBACrC,UAAU,EAAE,KAAK;qBAClB,CAAC;iBACH;aACF,CAAC;YACF,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE;gBAC7B,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;aACnD;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,SAAS,CAAC,UAAU,GAAG,cAAc,CAAC;aACvC;YACD,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACjC,SAAS,CAAC,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;aACrD;YACD,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;gBAClC,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,KAAK,0CAAG,qBAAqB,CAAC,KAAI,EAAE,CAAC;gBACtD,CAAC,MAAM,CAAC,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC,CAAC;QACF,YAAY,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"open-api.js","sourceRoot":"","sources":["../src/open-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAIf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAW,YAAY,EAAsB,MAAM,WAAW,CAAC;AAYtE,MAAM,OAAO,OAAQ,SAAQ,cAAc;IAoBzC,YAAmB,EACjB,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,6BAA6B,GAAG,qBAAqB,EACrD,wBAAwB,GAAG,gBAAgB,GAC3B;QAChB,KAAK,EAAE,CAAC;QA5BA,0BAAqB,GAC7B,EAAE,CAAC;QA4BH,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAqC,CACnD,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,EAAE;;YACF,MAAM,MAAM,GAAG,OAAiB,CAAC;YACjC,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAChD,MAAM,YAAY,GAChB,CAAA,MAAA,MAAM,CAAC,YAAY,0CAAG,MAAM,CAAC,KAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,cAAc,GAAG,mBAAmB,CAAC;gBACzC,GAAG,YAAY;gBACf,YAAY;aACb,CAAC,CAAC;YACH,MAAM,SAAS,GAAoB;gBACjC,SAAS,EAAE;oBACT,KAAK,EAAE,cAAc,CAAC;wBACpB,GAAG,YAAY;wBACf,WAAW,EAAE,6BAA6B;wBAC1C,UAAU,EAAE,IAAI;qBACjB,CAAC;oBACF,KAAK,EAAE,cAAc,CAAC;wBACpB,GAAG,YAAY;wBACf,WAAW,EAAE,wBAAwB;wBACrC,UAAU,EAAE,KAAK;qBAClB,CAAC;iBACH;aACF,CAAC;YACF,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE;gBAC7B,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;aACnD;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,SAAS,CAAC,UAAU,GAAG,cAAc,CAAC;aACvC;YACD,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACjC,SAAS,CAAC,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;aACrD;YACD,MAAM,YAAY,GAAG,mBAAmB,CACtC,mBAAmB,CACjB,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EACtC,CAAC,cAAc,EAAE,EAAE;gBACjB,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC;gBAC/D,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAC7C,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CACF,CAAC;YACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,SAAS,CAAC,QAAQ,GAAG,YAAY,CAAC;aACnC;YACD,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;gBAClC,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,KAAK,0CAAG,qBAAqB,CAAC,KAAI,EAAE,CAAC;gBACtD,CAAC,MAAM,CAAC,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC,CAAC;QACF,YAAY,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACxC,CAAC;IAnFS,4BAA4B,CAAC,OAA6B;;QAClE,KAAK,MAAM,IAAI,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,eAAe,KAAI,EAAE,EAAE;YACjE,IACE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,eAAe,0CAAG,IAAI,CAAC,CAAC,EAChE;gBACA,OAAO,IAAI,CAAC;aACb;SACF;QACD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC;YACtC,CAAC,CAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAG,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACxD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAClC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CACzC,EAAE,CAAC;IACL,CAAC;CAsEF"}
@@ -1 +1 @@
1
- {"type":"module","version":"7.6.3"}
1
+ {"type":"module","version":"7.7.0"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "express-zod-api",
3
- "version": "7.6.3",
3
+ "version": "7.7.0",
4
4
  "description": "A Typescript library to help you get an API server up and running with I/O schema validation and custom middlewares in minutes.",
5
5
  "license": "MIT",
6
6
  "scripts": {