@nestia/sdk 1.4.12 → 1.4.13-dev.20230726-2

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.
Files changed (43) hide show
  1. package/lib/INestiaConfig.d.ts +6 -15
  2. package/lib/NestiaSdkApplication.js +28 -0
  3. package/lib/NestiaSdkApplication.js.map +1 -1
  4. package/lib/analyses/ControllerAnalyzer.js +21 -2
  5. package/lib/analyses/ControllerAnalyzer.js.map +1 -1
  6. package/lib/analyses/ReflectAnalyzer.d.ts +1 -0
  7. package/lib/analyses/ReflectAnalyzer.js +8 -0
  8. package/lib/analyses/ReflectAnalyzer.js.map +1 -1
  9. package/lib/analyses/SecurityAnalyzer.d.ts +3 -0
  10. package/lib/analyses/SecurityAnalyzer.js +25 -0
  11. package/lib/analyses/SecurityAnalyzer.js.map +1 -0
  12. package/lib/executable/internal/NestiaSdkConfig.js +67 -67
  13. package/lib/executable/internal/NestiaSdkConfig.js.map +1 -1
  14. package/lib/generates/SdkGenerator.js +0 -28
  15. package/lib/generates/SdkGenerator.js.map +1 -1
  16. package/lib/generates/SwaggerGenerator.js +42 -0
  17. package/lib/generates/SwaggerGenerator.js.map +1 -1
  18. package/lib/structures/IController.d.ts +2 -0
  19. package/lib/structures/IRoute.d.ts +1 -0
  20. package/lib/structures/ISwaggerComponents.d.ts +26 -0
  21. package/lib/structures/ISwaggerComponents.js +3 -0
  22. package/lib/structures/ISwaggerComponents.js.map +1 -0
  23. package/lib/structures/ISwaggerDocument.d.ts +70 -86
  24. package/lib/structures/ISwaggerRoute.d.ts +43 -0
  25. package/lib/structures/ISwaggerRoute.js +3 -0
  26. package/lib/structures/ISwaggerRoute.js.map +1 -0
  27. package/lib/structures/ISwaggerSecurityScheme.d.ts +50 -0
  28. package/lib/structures/ISwaggerSecurityScheme.js +3 -0
  29. package/lib/structures/ISwaggerSecurityScheme.js.map +1 -0
  30. package/package.json +4 -3
  31. package/src/INestiaConfig.ts +6 -22
  32. package/src/NestiaSdkApplication.ts +29 -0
  33. package/src/analyses/ControllerAnalyzer.ts +24 -1
  34. package/src/analyses/ReflectAnalyzer.ts +10 -2
  35. package/src/analyses/SecurityAnalyzer.ts +20 -0
  36. package/src/generates/SdkGenerator.ts +0 -29
  37. package/src/generates/SwaggerGenerator.ts +90 -10
  38. package/src/structures/IController.ts +2 -0
  39. package/src/structures/IRoute.ts +1 -0
  40. package/src/structures/ISwaggerComponents.ts +29 -0
  41. package/src/structures/ISwaggerDocument.ts +77 -105
  42. package/src/structures/ISwaggerRoute.ts +47 -0
  43. package/src/structures/ISwaggerSecurityScheme.ts +57 -0
@@ -64,12 +64,12 @@ var NestiaSdkConfig;
64
64
  const cloned = JSON.parse(JSON.stringify(config));
65
65
  return (input => {
66
66
  const __is = input => {
67
+ const $is_url = typia_1.assert.is_url;
67
68
  const $join = typia_1.assert.join;
68
- const $is_custom = typia_1.assert.is_custom;
69
69
  const $io0 = input => (undefined === input.swagger || "object" === typeof input.swagger && null !== input.swagger && $io1(input.swagger)) && (null !== input.input && undefined !== input.input && ("string" === typeof input.input || (Array.isArray(input.input) && input.input.every(elem => "string" === typeof elem) || "object" === typeof input.input && null !== input.input && $io15(input.input)))) && (undefined === input.output || "string" === typeof input.output) && (undefined === input.distribute || "string" === typeof input.distribute) && (undefined === input.e2e || "string" === typeof input.e2e) && (undefined === input.compilerOptions || "object" === typeof input.compilerOptions && null !== input.compilerOptions && false === Array.isArray(input.compilerOptions) && $io16(input.compilerOptions)) && (undefined === input.assert || "boolean" === typeof input.assert) && (undefined === input.json || "boolean" === typeof input.json) && (undefined === input.primitive || "boolean" === typeof input.primitive) && (undefined === input.simulate || "boolean" === typeof input.simulate);
70
70
  const $io1 = input => "string" === typeof input.output && (undefined === input.info || "object" === typeof input.info && null !== input.info && false === Array.isArray(input.info) && $io2(input.info)) && (undefined === input.servers || Array.isArray(input.servers) && input.servers.every(elem => "object" === typeof elem && null !== elem && $io3(elem))) && (undefined === input.security || "object" === typeof input.security && null !== input.security && false === Array.isArray(input.security) && $io4(input.security));
71
71
  const $io2 = input => (undefined === input.version || "string" === typeof input.version) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description);
72
- const $io3 = input => "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description);
72
+ const $io3 = input => "string" === typeof input.url && $is_url(input.url) && (undefined === input.description || "string" === typeof input.description);
73
73
  const $io4 = input => Object.keys(input).every(key => {
74
74
  const value = input[key];
75
75
  if (undefined === value)
@@ -80,11 +80,12 @@ var NestiaSdkConfig;
80
80
  });
81
81
  const $io5 = input => "http" === input.type && "basic" === input.schema;
82
82
  const $io6 = input => "http" === input.type && "bearer" === input.scheme && (undefined === input.bearerFormat || "string" === typeof input.bearerFormat);
83
- const $io7 = input => "openIdConnect" === input.type && "string" === typeof input.openIdConnectUrl;
84
- const $io8 = input => "oauth2" === input.type && ("object" === typeof input.flows && null !== input.flows && false === Array.isArray(input.flows) && $io9(input.flows)) && (undefined === input.description || "string" === typeof input.description);
85
- const $io9 = input => (undefined === input.authorizationCode || "object" === typeof input.authorizationCode && null !== input.authorizationCode && $io10(input.authorizationCode)) && (undefined === input.implicit || "object" === typeof input.implicit && null !== input.implicit && $io12(input.implicit)) && (undefined === input.password || "object" === typeof input.password && null !== input.password && $io13(input.password)) && (undefined === input.clientCredentials || "object" === typeof input.clientCredentials && null !== input.clientCredentials && $io13(input.clientCredentials));
86
- const $io10 = input => "string" === typeof input.authorizationUrl && "string" === typeof input.tokenUrl && "string" === typeof input.refreshUrl && (undefined === input.scopes || "object" === typeof input.scopes && null !== input.scopes && false === Array.isArray(input.scopes) && $io11(input.scopes));
87
- const $io11 = input => Object.keys(input).every(key => {
83
+ const $io7 = input => "apiKey" === input.type && (undefined === input["in"] || "header" === input["in"] || "query" === input["in"] || "cookie" === input["in"]) && (undefined === input.name || "string" === typeof input.name);
84
+ const $io8 = input => "openIdConnect" === input.type && "string" === typeof input.openIdConnectUrl;
85
+ const $io9 = input => "oauth2" === input.type && ("object" === typeof input.flows && null !== input.flows && false === Array.isArray(input.flows) && $io10(input.flows)) && (undefined === input.description || "string" === typeof input.description);
86
+ const $io10 = input => (undefined === input.authorizationCode || "object" === typeof input.authorizationCode && null !== input.authorizationCode && $io11(input.authorizationCode)) && (undefined === input.implicit || "object" === typeof input.implicit && null !== input.implicit && $io13(input.implicit)) && (undefined === input.password || "object" === typeof input.password && null !== input.password && $io14(input.password)) && (undefined === input.clientCredentials || "object" === typeof input.clientCredentials && null !== input.clientCredentials && $io14(input.clientCredentials));
87
+ const $io11 = input => "string" === typeof input.authorizationUrl && "string" === typeof input.tokenUrl && "string" === typeof input.refreshUrl && (undefined === input.scopes || "object" === typeof input.scopes && null !== input.scopes && false === Array.isArray(input.scopes) && $io12(input.scopes));
88
+ const $io12 = input => Object.keys(input).every(key => {
88
89
  const value = input[key];
89
90
  if (undefined === value)
90
91
  return true;
@@ -92,9 +93,8 @@ var NestiaSdkConfig;
92
93
  return "string" === typeof value;
93
94
  return true;
94
95
  });
95
- const $io12 = input => "string" === typeof input.authorizationUrl && "string" === typeof input.refreshUrl && (undefined === input.scopes || "object" === typeof input.scopes && null !== input.scopes && false === Array.isArray(input.scopes) && $io11(input.scopes));
96
- const $io13 = input => "string" === typeof input.tokenUrl && "string" === typeof input.refreshUrl && (undefined === input.scopes || "object" === typeof input.scopes && null !== input.scopes && false === Array.isArray(input.scopes) && $io11(input.scopes));
97
- const $io14 = input => "apiKey" === input.type && (undefined === input["in"] || "header" === input["in"] || "query" === input["in"] || "cookie" === input["in"]) && (undefined === input.name || "string" === typeof input.name && $is_custom("default", "string", "Authorization", input.name));
96
+ const $io13 = input => "string" === typeof input.authorizationUrl && "string" === typeof input.refreshUrl && (undefined === input.scopes || "object" === typeof input.scopes && null !== input.scopes && false === Array.isArray(input.scopes) && $io12(input.scopes));
97
+ const $io14 = input => "string" === typeof input.tokenUrl && "string" === typeof input.refreshUrl && (undefined === input.scopes || "object" === typeof input.scopes && null !== input.scopes && false === Array.isArray(input.scopes) && $io12(input.scopes));
98
98
  const $io15 = input => Array.isArray(input.include) && input.include.every(elem => "string" === typeof elem) && (undefined === input.exclude || Array.isArray(input.exclude) && input.exclude.every(elem => "string" === typeof elem));
99
99
  const $io16 = input => (undefined === input.allowImportingTsExtensions || "boolean" === typeof input.allowImportingTsExtensions) && (undefined === input.allowJs || "boolean" === typeof input.allowJs) && (undefined === input.allowArbitraryExtensions || "boolean" === typeof input.allowArbitraryExtensions) && (undefined === input.allowSyntheticDefaultImports || "boolean" === typeof input.allowSyntheticDefaultImports) && (undefined === input.allowUmdGlobalAccess || "boolean" === typeof input.allowUmdGlobalAccess) && (undefined === input.allowUnreachableCode || "boolean" === typeof input.allowUnreachableCode) && (undefined === input.allowUnusedLabels || "boolean" === typeof input.allowUnusedLabels) && (undefined === input.alwaysStrict || "boolean" === typeof input.alwaysStrict) && (undefined === input.baseUrl || "string" === typeof input.baseUrl) && (undefined === input.charset || "string" === typeof input.charset) && (undefined === input.checkJs || "boolean" === typeof input.checkJs) && (undefined === input.customConditions || Array.isArray(input.customConditions) && input.customConditions.every(elem => "string" === typeof elem)) && (undefined === input.declaration || "boolean" === typeof input.declaration) && (undefined === input.declarationMap || "boolean" === typeof input.declarationMap) && (undefined === input.emitDeclarationOnly || "boolean" === typeof input.emitDeclarationOnly) && (undefined === input.declarationDir || "string" === typeof input.declarationDir) && (undefined === input.disableSizeLimit || "boolean" === typeof input.disableSizeLimit) && (undefined === input.disableSourceOfProjectReferenceRedirect || "boolean" === typeof input.disableSourceOfProjectReferenceRedirect) && (undefined === input.disableSolutionSearching || "boolean" === typeof input.disableSolutionSearching) && (undefined === input.disableReferencedProjectLoad || "boolean" === typeof input.disableReferencedProjectLoad) && (undefined === input.downlevelIteration || "boolean" === typeof input.downlevelIteration) && (undefined === input.emitBOM || "boolean" === typeof input.emitBOM) && (undefined === input.emitDecoratorMetadata || "boolean" === typeof input.emitDecoratorMetadata) && (undefined === input.exactOptionalPropertyTypes || "boolean" === typeof input.exactOptionalPropertyTypes) && (undefined === input.experimentalDecorators || "boolean" === typeof input.experimentalDecorators) && (undefined === input.forceConsistentCasingInFileNames || "boolean" === typeof input.forceConsistentCasingInFileNames) && (undefined === input.ignoreDeprecations || "string" === typeof input.ignoreDeprecations) && (undefined === input.importHelpers || "boolean" === typeof input.importHelpers) && true && (undefined === input.inlineSourceMap || "boolean" === typeof input.inlineSourceMap) && (undefined === input.inlineSources || "boolean" === typeof input.inlineSources) && (undefined === input.isolatedModules || "boolean" === typeof input.isolatedModules) && true && (undefined === input.keyofStringsOnly || "boolean" === typeof input.keyofStringsOnly) && (undefined === input.lib || Array.isArray(input.lib) && input.lib.every(elem => "string" === typeof elem)) && (undefined === input.locale || "string" === typeof input.locale) && (undefined === input.mapRoot || "string" === typeof input.mapRoot) && true && true && true && (undefined === input.moduleSuffixes || Array.isArray(input.moduleSuffixes) && input.moduleSuffixes.every(elem => "string" === typeof elem)) && true && true && (undefined === input.noEmit || "boolean" === typeof input.noEmit) && (undefined === input.noEmitHelpers || "boolean" === typeof input.noEmitHelpers) && (undefined === input.noEmitOnError || "boolean" === typeof input.noEmitOnError) && (undefined === input.noErrorTruncation || "boolean" === typeof input.noErrorTruncation) && (undefined === input.noFallthroughCasesInSwitch || "boolean" === typeof input.noFallthroughCasesInSwitch) && (undefined === input.noImplicitAny || "boolean" === typeof input.noImplicitAny) && (undefined === input.noImplicitReturns || "boolean" === typeof input.noImplicitReturns) && (undefined === input.noImplicitThis || "boolean" === typeof input.noImplicitThis) && (undefined === input.noStrictGenericChecks || "boolean" === typeof input.noStrictGenericChecks) && (undefined === input.noUnusedLocals || "boolean" === typeof input.noUnusedLocals) && (undefined === input.noUnusedParameters || "boolean" === typeof input.noUnusedParameters) && (undefined === input.noImplicitUseStrict || "boolean" === typeof input.noImplicitUseStrict) && (undefined === input.noPropertyAccessFromIndexSignature || "boolean" === typeof input.noPropertyAccessFromIndexSignature) && (undefined === input.assumeChangesOnlyAffectDirectDependencies || "boolean" === typeof input.assumeChangesOnlyAffectDirectDependencies) && (undefined === input.noLib || "boolean" === typeof input.noLib) && (undefined === input.noResolve || "boolean" === typeof input.noResolve) && (undefined === input.noUncheckedIndexedAccess || "boolean" === typeof input.noUncheckedIndexedAccess) && (undefined === input.out || "string" === typeof input.out) && (undefined === input.outDir || "string" === typeof input.outDir) && (undefined === input.outFile || "string" === typeof input.outFile) && (undefined === input.paths || "object" === typeof input.paths && null !== input.paths && false === Array.isArray(input.paths) && $io17(input.paths)) && (undefined === input.preserveConstEnums || "boolean" === typeof input.preserveConstEnums) && (undefined === input.noImplicitOverride || "boolean" === typeof input.noImplicitOverride) && (undefined === input.preserveSymlinks || "boolean" === typeof input.preserveSymlinks) && (undefined === input.preserveValueImports || "boolean" === typeof input.preserveValueImports) && (undefined === input.project || "string" === typeof input.project) && (undefined === input.reactNamespace || "string" === typeof input.reactNamespace) && (undefined === input.jsxFactory || "string" === typeof input.jsxFactory) && (undefined === input.jsxFragmentFactory || "string" === typeof input.jsxFragmentFactory) && (undefined === input.jsxImportSource || "string" === typeof input.jsxImportSource) && (undefined === input.composite || "boolean" === typeof input.composite) && (undefined === input.incremental || "boolean" === typeof input.incremental) && (undefined === input.tsBuildInfoFile || "string" === typeof input.tsBuildInfoFile) && (undefined === input.removeComments || "boolean" === typeof input.removeComments) && (undefined === input.resolvePackageJsonExports || "boolean" === typeof input.resolvePackageJsonExports) && (undefined === input.resolvePackageJsonImports || "boolean" === typeof input.resolvePackageJsonImports) && (undefined === input.rootDir || "string" === typeof input.rootDir) && (undefined === input.rootDirs || Array.isArray(input.rootDirs) && input.rootDirs.every(elem => "string" === typeof elem)) && (undefined === input.skipLibCheck || "boolean" === typeof input.skipLibCheck) && (undefined === input.skipDefaultLibCheck || "boolean" === typeof input.skipDefaultLibCheck) && (undefined === input.sourceMap || "boolean" === typeof input.sourceMap) && (undefined === input.sourceRoot || "string" === typeof input.sourceRoot) && (undefined === input.strict || "boolean" === typeof input.strict) && (undefined === input.strictFunctionTypes || "boolean" === typeof input.strictFunctionTypes) && (undefined === input.strictBindCallApply || "boolean" === typeof input.strictBindCallApply) && (undefined === input.strictNullChecks || "boolean" === typeof input.strictNullChecks) && (undefined === input.strictPropertyInitialization || "boolean" === typeof input.strictPropertyInitialization) && (undefined === input.stripInternal || "boolean" === typeof input.stripInternal) && (undefined === input.suppressExcessPropertyErrors || "boolean" === typeof input.suppressExcessPropertyErrors) && (undefined === input.suppressImplicitAnyIndexErrors || "boolean" === typeof input.suppressImplicitAnyIndexErrors) && true && (undefined === input.traceResolution || "boolean" === typeof input.traceResolution) && (undefined === input.useUnknownInCatchVariables || "boolean" === typeof input.useUnknownInCatchVariables) && (undefined === input.resolveJsonModule || "boolean" === typeof input.resolveJsonModule) && (undefined === input.types || Array.isArray(input.types) && input.types.every(elem => "string" === typeof elem)) && (undefined === input.typeRoots || Array.isArray(input.typeRoots) && input.typeRoots.every(elem => "string" === typeof elem)) && (undefined === input.verbatimModuleSyntax || "boolean" === typeof input.verbatimModuleSyntax) && (undefined === input.esModuleInterop || "boolean" === typeof input.esModuleInterop) && (undefined === input.useDefineForClassFields || "boolean" === typeof input.useDefineForClassFields) && Object.keys(input).every(key => {
100
100
  const value = input[key];
@@ -117,12 +117,12 @@ var NestiaSdkConfig;
117
117
  return $io5(input);
118
118
  if (undefined !== input.scheme)
119
119
  return $io6(input);
120
- if ("openIdConnect" === input.type)
120
+ if ("apiKey" === input.type)
121
121
  return $io7(input);
122
- if ("oauth2" === input.type)
122
+ if ("openIdConnect" === input.type)
123
123
  return $io8(input);
124
- if ("apiKey" === input.type)
125
- return $io14(input);
124
+ if ("oauth2" === input.type)
125
+ return $io9(input);
126
126
  return false;
127
127
  })();
128
128
  return "object" === typeof input && null !== input && $io0(input);
@@ -130,8 +130,8 @@ var NestiaSdkConfig;
130
130
  if (false === __is(input))
131
131
  ((input, _path, _exceptionable = true) => {
132
132
  const $guard = typia_1.assert.guard;
133
+ const $is_url = typia_1.assert.is_url;
133
134
  const $join = typia_1.assert.join;
134
- const $is_custom = typia_1.assert.is_custom;
135
135
  const $ao0 = (input, _path, _exceptionable = true) => (undefined === input.swagger || ("object" === typeof input.swagger && null !== input.swagger || $guard(_exceptionable, {
136
136
  path: _path + ".swagger",
137
137
  expected: "(INestiaConfig.ISwaggerConfig | undefined)",
@@ -227,11 +227,11 @@ var NestiaSdkConfig;
227
227
  value: input.servers
228
228
  })) && (undefined === input.security || ("object" === typeof input.security && null !== input.security && false === Array.isArray(input.security) || $guard(_exceptionable, {
229
229
  path: _path + ".security",
230
- expected: "(Record<string, INestiaConfig.ISwaggerConfig.ISecurityScheme> | undefined)",
230
+ expected: "(Record<string, ISwaggerSecurityScheme> | undefined)",
231
231
  value: input.security
232
232
  })) && $ao4(input.security, _path + ".security", true && _exceptionable) || $guard(_exceptionable, {
233
233
  path: _path + ".security",
234
- expected: "(Record<string, INestiaConfig.ISwaggerConfig.ISecurityScheme> | undefined)",
234
+ expected: "(Record<string, ISwaggerSecurityScheme> | undefined)",
235
235
  value: input.security
236
236
  }));
237
237
  const $ao2 = (input, _path, _exceptionable = true) => (undefined === input.version || "string" === typeof input.version || $guard(_exceptionable, {
@@ -247,7 +247,11 @@ var NestiaSdkConfig;
247
247
  expected: "(string | undefined)",
248
248
  value: input.description
249
249
  }));
250
- const $ao3 = (input, _path, _exceptionable = true) => ("string" === typeof input.url || $guard(_exceptionable, {
250
+ const $ao3 = (input, _path, _exceptionable = true) => ("string" === typeof input.url && ($is_url(input.url) || $guard(_exceptionable, {
251
+ path: _path + ".url",
252
+ expected: "string (@format url)",
253
+ value: input.url
254
+ })) || $guard(_exceptionable, {
251
255
  path: _path + ".url",
252
256
  expected: "string",
253
257
  value: input.url
@@ -263,11 +267,11 @@ var NestiaSdkConfig;
263
267
  if (RegExp(/(.*)/).test(key))
264
268
  return ("object" === typeof value && null !== value || $guard(_exceptionable, {
265
269
  path: _path + $join(key),
266
- expected: "(INestiaConfig.ISwaggerConfig.IApiKey | ISwaggerDocument.ISecurityScheme.IHttpBasic | ISwaggerDocument.ISecurityScheme.IHttpBearer | ISwaggerDocument.ISecurityScheme.IOAuth2 | ISwaggerDocument.ISecurityScheme.IOpenId)",
270
+ expected: "(ISwaggerSecurityScheme.IApiKey | ISwaggerSecurityScheme.IHttpBasic | ISwaggerSecurityScheme.IHttpBearer | ISwaggerSecurityScheme.IOAuth2 | ISwaggerSecurityScheme.IOpenId)",
267
271
  value: value
268
272
  })) && $au0(value, _path + $join(key), true && _exceptionable) || $guard(_exceptionable, {
269
273
  path: _path + $join(key),
270
- expected: "(INestiaConfig.ISwaggerConfig.IApiKey | ISwaggerDocument.ISecurityScheme.IHttpBasic | ISwaggerDocument.ISecurityScheme.IHttpBearer | ISwaggerDocument.ISecurityScheme.IOAuth2 | ISwaggerDocument.ISecurityScheme.IOpenId)",
274
+ expected: "(ISwaggerSecurityScheme.IApiKey | ISwaggerSecurityScheme.IHttpBasic | ISwaggerSecurityScheme.IHttpBearer | ISwaggerSecurityScheme.IOAuth2 | ISwaggerSecurityScheme.IOpenId)",
271
275
  value: value
272
276
  });
273
277
  return true;
@@ -294,7 +298,20 @@ var NestiaSdkConfig;
294
298
  expected: "(string | undefined)",
295
299
  value: input.bearerFormat
296
300
  }));
297
- const $ao7 = (input, _path, _exceptionable = true) => ("openIdConnect" === input.type || $guard(_exceptionable, {
301
+ const $ao7 = (input, _path, _exceptionable = true) => ("apiKey" === input.type || $guard(_exceptionable, {
302
+ path: _path + ".type",
303
+ expected: "\"apiKey\"",
304
+ value: input.type
305
+ })) && (undefined === input["in"] || "header" === input["in"] || "query" === input["in"] || "cookie" === input["in"] || $guard(_exceptionable, {
306
+ path: _path + "[\"in\"]",
307
+ expected: "(\"cookie\" | \"header\" | \"query\" | undefined)",
308
+ value: input["in"]
309
+ })) && (undefined === input.name || "string" === typeof input.name || $guard(_exceptionable, {
310
+ path: _path + ".name",
311
+ expected: "(string | undefined)",
312
+ value: input.name
313
+ }));
314
+ const $ao8 = (input, _path, _exceptionable = true) => ("openIdConnect" === input.type || $guard(_exceptionable, {
298
315
  path: _path + ".type",
299
316
  expected: "\"openIdConnect\"",
300
317
  value: input.type
@@ -303,57 +320,57 @@ var NestiaSdkConfig;
303
320
  expected: "string",
304
321
  value: input.openIdConnectUrl
305
322
  }));
306
- const $ao8 = (input, _path, _exceptionable = true) => ("oauth2" === input.type || $guard(_exceptionable, {
323
+ const $ao9 = (input, _path, _exceptionable = true) => ("oauth2" === input.type || $guard(_exceptionable, {
307
324
  path: _path + ".type",
308
325
  expected: "\"oauth2\"",
309
326
  value: input.type
310
327
  })) && (("object" === typeof input.flows && null !== input.flows && false === Array.isArray(input.flows) || $guard(_exceptionable, {
311
328
  path: _path + ".flows",
312
- expected: "ISwaggerDocument.ISecurityScheme.IOAuth2.IFlowSet",
329
+ expected: "ISwaggerSecurityScheme.IOAuth2.IFlowSet",
313
330
  value: input.flows
314
- })) && $ao9(input.flows, _path + ".flows", true && _exceptionable) || $guard(_exceptionable, {
331
+ })) && $ao10(input.flows, _path + ".flows", true && _exceptionable) || $guard(_exceptionable, {
315
332
  path: _path + ".flows",
316
- expected: "ISwaggerDocument.ISecurityScheme.IOAuth2.IFlowSet",
333
+ expected: "ISwaggerSecurityScheme.IOAuth2.IFlowSet",
317
334
  value: input.flows
318
335
  })) && (undefined === input.description || "string" === typeof input.description || $guard(_exceptionable, {
319
336
  path: _path + ".description",
320
337
  expected: "(string | undefined)",
321
338
  value: input.description
322
339
  }));
323
- const $ao9 = (input, _path, _exceptionable = true) => (undefined === input.authorizationCode || ("object" === typeof input.authorizationCode && null !== input.authorizationCode || $guard(_exceptionable, {
340
+ const $ao10 = (input, _path, _exceptionable = true) => (undefined === input.authorizationCode || ("object" === typeof input.authorizationCode && null !== input.authorizationCode || $guard(_exceptionable, {
324
341
  path: _path + ".authorizationCode",
325
- expected: "(ISwaggerDocument.ISecurityScheme.IOAuth2.IFlow | undefined)",
342
+ expected: "(ISwaggerSecurityScheme.IOAuth2.IFlow | undefined)",
326
343
  value: input.authorizationCode
327
- })) && $ao10(input.authorizationCode, _path + ".authorizationCode", true && _exceptionable) || $guard(_exceptionable, {
344
+ })) && $ao11(input.authorizationCode, _path + ".authorizationCode", true && _exceptionable) || $guard(_exceptionable, {
328
345
  path: _path + ".authorizationCode",
329
- expected: "(ISwaggerDocument.ISecurityScheme.IOAuth2.IFlow | undefined)",
346
+ expected: "(ISwaggerSecurityScheme.IOAuth2.IFlow | undefined)",
330
347
  value: input.authorizationCode
331
348
  })) && (undefined === input.implicit || ("object" === typeof input.implicit && null !== input.implicit || $guard(_exceptionable, {
332
349
  path: _path + ".implicit",
333
- expected: "(Omit<ISwaggerDocument.ISecurityScheme.IOAuth2.IFlow, \"tokenUrl\"> | undefined)",
350
+ expected: "(Omit<ISwaggerSecurityScheme.IOAuth2.IFlow, \"tokenUrl\"> | undefined)",
334
351
  value: input.implicit
335
- })) && $ao12(input.implicit, _path + ".implicit", true && _exceptionable) || $guard(_exceptionable, {
352
+ })) && $ao13(input.implicit, _path + ".implicit", true && _exceptionable) || $guard(_exceptionable, {
336
353
  path: _path + ".implicit",
337
- expected: "(Omit<ISwaggerDocument.ISecurityScheme.IOAuth2.IFlow, \"tokenUrl\"> | undefined)",
354
+ expected: "(Omit<ISwaggerSecurityScheme.IOAuth2.IFlow, \"tokenUrl\"> | undefined)",
338
355
  value: input.implicit
339
356
  })) && (undefined === input.password || ("object" === typeof input.password && null !== input.password || $guard(_exceptionable, {
340
357
  path: _path + ".password",
341
- expected: "(Omit<ISwaggerDocument.ISecurityScheme.IOAuth2.IFlow, \"authorizationUrl\"> | undefined)",
358
+ expected: "(Omit<ISwaggerSecurityScheme.IOAuth2.IFlow, \"authorizationUrl\"> | undefined)",
342
359
  value: input.password
343
- })) && $ao13(input.password, _path + ".password", true && _exceptionable) || $guard(_exceptionable, {
360
+ })) && $ao14(input.password, _path + ".password", true && _exceptionable) || $guard(_exceptionable, {
344
361
  path: _path + ".password",
345
- expected: "(Omit<ISwaggerDocument.ISecurityScheme.IOAuth2.IFlow, \"authorizationUrl\"> | undefined)",
362
+ expected: "(Omit<ISwaggerSecurityScheme.IOAuth2.IFlow, \"authorizationUrl\"> | undefined)",
346
363
  value: input.password
347
364
  })) && (undefined === input.clientCredentials || ("object" === typeof input.clientCredentials && null !== input.clientCredentials || $guard(_exceptionable, {
348
365
  path: _path + ".clientCredentials",
349
- expected: "(Omit<ISwaggerDocument.ISecurityScheme.IOAuth2.IFlow, \"authorizationUrl\"> | undefined)",
366
+ expected: "(Omit<ISwaggerSecurityScheme.IOAuth2.IFlow, \"authorizationUrl\"> | undefined)",
350
367
  value: input.clientCredentials
351
- })) && $ao13(input.clientCredentials, _path + ".clientCredentials", true && _exceptionable) || $guard(_exceptionable, {
368
+ })) && $ao14(input.clientCredentials, _path + ".clientCredentials", true && _exceptionable) || $guard(_exceptionable, {
352
369
  path: _path + ".clientCredentials",
353
- expected: "(Omit<ISwaggerDocument.ISecurityScheme.IOAuth2.IFlow, \"authorizationUrl\"> | undefined)",
370
+ expected: "(Omit<ISwaggerSecurityScheme.IOAuth2.IFlow, \"authorizationUrl\"> | undefined)",
354
371
  value: input.clientCredentials
355
372
  }));
356
- const $ao10 = (input, _path, _exceptionable = true) => ("string" === typeof input.authorizationUrl || $guard(_exceptionable, {
373
+ const $ao11 = (input, _path, _exceptionable = true) => ("string" === typeof input.authorizationUrl || $guard(_exceptionable, {
357
374
  path: _path + ".authorizationUrl",
358
375
  expected: "string",
359
376
  value: input.authorizationUrl
@@ -369,12 +386,12 @@ var NestiaSdkConfig;
369
386
  path: _path + ".scopes",
370
387
  expected: "(Record<string, string> | undefined)",
371
388
  value: input.scopes
372
- })) && $ao11(input.scopes, _path + ".scopes", true && _exceptionable) || $guard(_exceptionable, {
389
+ })) && $ao12(input.scopes, _path + ".scopes", true && _exceptionable) || $guard(_exceptionable, {
373
390
  path: _path + ".scopes",
374
391
  expected: "(Record<string, string> | undefined)",
375
392
  value: input.scopes
376
393
  }));
377
- const $ao11 = (input, _path, _exceptionable = true) => false === _exceptionable || Object.keys(input).every(key => {
394
+ const $ao12 = (input, _path, _exceptionable = true) => false === _exceptionable || Object.keys(input).every(key => {
378
395
  const value = input[key];
379
396
  if (undefined === value)
380
397
  return true;
@@ -386,7 +403,7 @@ var NestiaSdkConfig;
386
403
  });
387
404
  return true;
388
405
  });
389
- const $ao12 = (input, _path, _exceptionable = true) => ("string" === typeof input.authorizationUrl || $guard(_exceptionable, {
406
+ const $ao13 = (input, _path, _exceptionable = true) => ("string" === typeof input.authorizationUrl || $guard(_exceptionable, {
390
407
  path: _path + ".authorizationUrl",
391
408
  expected: "string",
392
409
  value: input.authorizationUrl
@@ -398,12 +415,12 @@ var NestiaSdkConfig;
398
415
  path: _path + ".scopes",
399
416
  expected: "(Record<string, string> | undefined)",
400
417
  value: input.scopes
401
- })) && $ao11(input.scopes, _path + ".scopes", true && _exceptionable) || $guard(_exceptionable, {
418
+ })) && $ao12(input.scopes, _path + ".scopes", true && _exceptionable) || $guard(_exceptionable, {
402
419
  path: _path + ".scopes",
403
420
  expected: "(Record<string, string> | undefined)",
404
421
  value: input.scopes
405
422
  }));
406
- const $ao13 = (input, _path, _exceptionable = true) => ("string" === typeof input.tokenUrl || $guard(_exceptionable, {
423
+ const $ao14 = (input, _path, _exceptionable = true) => ("string" === typeof input.tokenUrl || $guard(_exceptionable, {
407
424
  path: _path + ".tokenUrl",
408
425
  expected: "string",
409
426
  value: input.tokenUrl
@@ -415,28 +432,11 @@ var NestiaSdkConfig;
415
432
  path: _path + ".scopes",
416
433
  expected: "(Record<string, string> | undefined)",
417
434
  value: input.scopes
418
- })) && $ao11(input.scopes, _path + ".scopes", true && _exceptionable) || $guard(_exceptionable, {
435
+ })) && $ao12(input.scopes, _path + ".scopes", true && _exceptionable) || $guard(_exceptionable, {
419
436
  path: _path + ".scopes",
420
437
  expected: "(Record<string, string> | undefined)",
421
438
  value: input.scopes
422
439
  }));
423
- const $ao14 = (input, _path, _exceptionable = true) => ("apiKey" === input.type || $guard(_exceptionable, {
424
- path: _path + ".type",
425
- expected: "\"apiKey\"",
426
- value: input.type
427
- })) && (undefined === input["in"] || "header" === input["in"] || "query" === input["in"] || "cookie" === input["in"] || $guard(_exceptionable, {
428
- path: _path + "[\"in\"]",
429
- expected: "(\"cookie\" | \"header\" | \"query\" | undefined)",
430
- value: input["in"]
431
- })) && (undefined === input.name || "string" === typeof input.name && ($is_custom("default", "string", "Authorization", input.name) || $guard(_exceptionable, {
432
- path: _path + ".name",
433
- expected: "string (@default Authorization)",
434
- value: input.name
435
- })) || $guard(_exceptionable, {
436
- path: _path + ".name",
437
- expected: "(string | undefined)",
438
- value: input.name
439
- }));
440
440
  const $ao15 = (input, _path, _exceptionable = true) => ((Array.isArray(input.include) || $guard(_exceptionable, {
441
441
  path: _path + ".include",
442
442
  expected: "Array<string>",
@@ -923,15 +923,15 @@ var NestiaSdkConfig;
923
923
  return $ao5(input, _path, true && _exceptionable);
924
924
  if (undefined !== input.scheme)
925
925
  return $ao6(input, _path, true && _exceptionable);
926
- if ("openIdConnect" === input.type)
926
+ if ("apiKey" === input.type)
927
927
  return $ao7(input, _path, true && _exceptionable);
928
- if ("oauth2" === input.type)
928
+ if ("openIdConnect" === input.type)
929
929
  return $ao8(input, _path, true && _exceptionable);
930
- if ("apiKey" === input.type)
931
- return $ao14(input, _path, true && _exceptionable);
930
+ if ("oauth2" === input.type)
931
+ return $ao9(input, _path, true && _exceptionable);
932
932
  return $guard(_exceptionable, {
933
933
  path: _path,
934
- expected: "(ISwaggerDocument.ISecurityScheme.IHttpBasic | ISwaggerDocument.ISecurityScheme.IHttpBearer | ISwaggerDocument.ISecurityScheme.IOpenId | ISwaggerDocument.ISecurityScheme.IOAuth2 | INestiaConfig.ISwaggerConfig.IApiKey)",
934
+ expected: "(ISwaggerSecurityScheme.IHttpBasic | ISwaggerSecurityScheme.IHttpBearer | ISwaggerSecurityScheme.IApiKey | ISwaggerSecurityScheme.IOpenId | ISwaggerSecurityScheme.IOAuth2)",
935
935
  value: input
936
936
  });
937
937
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"NestiaSdkConfig.js","sourceRoot":"","sources":["../../../src/executable/internal/NestiaSdkConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,gDAAkC;AAClC,qDAAkD;AAElD,iCAA+B;AAI/B,IAAiB,eAAe,CA0B/B;AA1BD,WAAiB,eAAe;IAC5B,SAAgB,GAAG;QACf,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IAFe,mBAAG,MAElB,CAAA;IAED,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,GAAS,EAAE;QACvC,IAAI,YAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAE7D,MAAM,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,KAAK;YACX,eAAe,EAAE;gBACb,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,IAAI;aACf;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,GACR,yBAAa,cAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,uCAAC,CAAC;QACnD,IAAI,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAExE,MAAM,MAAM,GACR,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACjE,MAAM,MAAM,GAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE;;8BAAO,cAAM;mCAAN,cAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAAN,cAAM;kCAAN,cAAM;uCAAN,cAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAAC,MAAM,EAAE;IAC1B,CAAC,CAAA,CAAC,CAAC;AACP,CAAC,EA1BgB,eAAe,+BAAf,eAAe,QA0B/B"}
1
+ {"version":3,"file":"NestiaSdkConfig.js","sourceRoot":"","sources":["../../../src/executable/internal/NestiaSdkConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,gDAAkC;AAClC,qDAAkD;AAElD,iCAA+B;AAI/B,IAAiB,eAAe,CA0B/B;AA1BD,WAAiB,eAAe;IAC5B,SAAgB,GAAG;QACf,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IAFe,mBAAG,MAElB,CAAA;IAED,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,GAAS,EAAE;QACvC,IAAI,YAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAE7D,MAAM,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,KAAK;YACX,eAAe,EAAE;gBACb,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,IAAI;aACf;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,GACR,yBAAa,cAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,uCAAC,CAAC;QACnD,IAAI,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAExE,MAAM,MAAM,GACR,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACjE,MAAM,MAAM,GAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE;;gCAAO,cAAM;8BAAN,cAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAAN,cAAM;oCAAN,cAAM;kCAAN,cAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAAC,MAAM,EAAE;IAC1B,CAAC,CAAA,CAAC,CAAC;AACP,CAAC,EA1BgB,eAAe,+BAAf,eAAe,QA0B/B"}
@@ -21,15 +21,6 @@ var SdkGenerator;
21
21
  (function (SdkGenerator) {
22
22
  SdkGenerator.generate = (config) => (routes) => __awaiter(this, void 0, void 0, function* () {
23
23
  console.log("Generating SDK Library");
24
- // FIND IMPLICIT TYPES
25
- const implicit = routes.filter(is_implicit_return_typed);
26
- if (implicit.length > 0)
27
- throw new Error("NestiaApplication.sdk(): implicit return type is not allowed.\n" +
28
- "\n" +
29
- "List of implicit return typed routes:\n" +
30
- implicit
31
- .map((it) => ` - ${it.symbol} at "${it.location}"`)
32
- .join("\n"));
33
24
  // PREPARE NEW DIRECTORIES
34
25
  try {
35
26
  yield fs_1.default.promises.mkdir(config.output);
@@ -71,25 +62,6 @@ var SdkGenerator;
71
62
  });
72
63
  SdkGenerator.BUNDLE_PATH = path_1.default.join(__dirname, "..", "..", "assets", "bundle", "api");
73
64
  })(SdkGenerator || (exports.SdkGenerator = SdkGenerator = {}));
74
- const is_implicit_return_typed = (route) => {
75
- const name = route.output.name;
76
- if (name === "void")
77
- return false;
78
- else if (name.indexOf("readonly [") !== -1)
79
- return true;
80
- const pos = name.indexOf("__object");
81
- if (pos === -1)
82
- return false;
83
- const before = pos - 1;
84
- const after = pos + "__object".length;
85
- for (const i of [before, after])
86
- if (name[i] === undefined)
87
- continue;
88
- else if (VARIABLE.test(name[i]))
89
- return false;
90
- return true;
91
- };
92
- const VARIABLE = /[a-zA-Z_$0-9]/;
93
65
  const BUNDLE_CHANGES = {
94
66
  "IConnection.ts": [
95
67
  [
@@ -1 +1 @@
1
- {"version":3,"file":"SdkGenerator.js","sourceRoot":"","sources":["../../src/generates/SdkGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdkGenerator.js","sourceRoot":"","sources":["../../src/generates/SdkGenerator.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,8 @@ var SwaggerGenerator;
29
29
  SwaggerGenerator.generate = (checker) => (config) => (routeList) => __awaiter(this, void 0, void 0, function* () {
30
30
  var _a, _b;
31
31
  console.log("Generating Swagger Documents");
32
+ // VALIDATE SECURITY
33
+ validate_security(config)(routeList);
32
34
  // PREPARE ASSETS
33
35
  const parsed = path_1.default.parse(config.output);
34
36
  const directory = path_1.default.dirname(parsed.dir);
@@ -73,6 +75,44 @@ var SwaggerGenerator;
73
75
  // DO GENERATE
74
76
  yield fs_1.default.promises.writeFile(location, JSON.stringify(swagger, null, 2), "utf8");
75
77
  });
78
+ const validate_security = (config) => (routeList) => {
79
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
80
+ const securityMap = new Map();
81
+ for (const [key, value] of Object.entries((_a = config.security) !== null && _a !== void 0 ? _a : {}))
82
+ securityMap.set(key, {
83
+ scheme: emend_security(value),
84
+ scopes: value.type === "oauth2"
85
+ ? new Set([
86
+ ...Object.keys((_c = (_b = value.flows.authorizationCode) === null || _b === void 0 ? void 0 : _b.scopes) !== null && _c !== void 0 ? _c : {}),
87
+ ...Object.keys((_e = (_d = value.flows.implicit) === null || _d === void 0 ? void 0 : _d.scopes) !== null && _e !== void 0 ? _e : {}),
88
+ ...Object.keys((_g = (_f = value.flows.password) === null || _f === void 0 ? void 0 : _f.scopes) !== null && _g !== void 0 ? _g : {}),
89
+ ...Object.keys((_j = (_h = value.flows.clientCredentials) === null || _h === void 0 ? void 0 : _h.scopes) !== null && _j !== void 0 ? _j : {}),
90
+ ])
91
+ : new Set(),
92
+ });
93
+ const validate = (reporter) => (key, scopes) => {
94
+ const security = securityMap.get(key);
95
+ if (security === undefined)
96
+ return reporter(`target security scheme "${key}" does not exists.`);
97
+ else if (scopes.length === 0)
98
+ return;
99
+ else if (security.scheme.type !== "oauth2")
100
+ return reporter(`target security scheme "${key}" is not "oauth2" type, but you've configured the scopes.`);
101
+ for (const s of scopes)
102
+ if (security.scopes.has(s) === false)
103
+ reporter(`target security scheme "${key}" does not have a specific scope "${s}".`);
104
+ };
105
+ const violations = [];
106
+ for (const route of routeList)
107
+ for (const record of route.security)
108
+ for (const [key, scopes] of Object.entries(record))
109
+ validate((str) => violations.push(` - ${str} (${route.symbol} at "${route.location}")`))(key, scopes);
110
+ if (violations.length)
111
+ throw new Error(`Error on NestiaApplication.swagger(): invalid security specification. Check your "nestia.config.ts" file's "swagger.security" property, or each controller methods.\n` +
112
+ `\n` +
113
+ `List of violations:\n` +
114
+ violations.join("\n"));
115
+ };
76
116
  /* ---------------------------------------------------------
77
117
  INITIALIZERS
78
118
  --------------------------------------------------------- */
@@ -186,6 +226,7 @@ var SwaggerGenerator;
186
226
  responses: generate_response_body(checker, collection, tupleList, route),
187
227
  summary,
188
228
  description,
229
+ security: route.security.length ? route.security : undefined,
189
230
  "x-nestia-namespace": [
190
231
  ...route.path
191
232
  .split("/")
@@ -193,6 +234,7 @@ var SwaggerGenerator;
193
234
  route.name,
194
235
  ].join("."),
195
236
  "x-nestia-jsDocTags": route.tags,
237
+ "x-nestia-method": route.method,
196
238
  };
197
239
  }
198
240
  function fill_security(security, swagger) {
@@ -1 +1 @@
1
- {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export interface IController {
4
4
  name: string;
5
5
  paths: string[];
6
6
  functions: IController.IFunction[];
7
+ security: Record<string, string[]>[];
7
8
  }
8
9
  export declare namespace IController {
9
10
  interface IFunction {
@@ -15,6 +16,7 @@ export declare namespace IController {
15
16
  status?: number;
16
17
  type?: string;
17
18
  contentType: "application/json" | "text/plain";
19
+ security: Record<string, string[]>[];
18
20
  }
19
21
  type IParameter = ICommonParameter | IQueryParameter | IBodyParameter | IPathParameter;
20
22
  interface ICommonParameter {
@@ -23,6 +23,7 @@ export interface IRoute {
23
23
  type: "assigner";
24
24
  source: string;
25
25
  }>;
26
+ security: Record<string, string[]>[];
26
27
  }
27
28
  export declare namespace IRoute {
28
29
  type IParameter = IController.IParameter & {
@@ -0,0 +1,26 @@
1
+ import { IJsonComponents } from "typia";
2
+ import { ISwaggerSecurityScheme } from "./ISwaggerSecurityScheme";
3
+ /**
4
+ * Reusable components in Swagger.
5
+ *
6
+ * `ISwaggerComponents` is a data structure representing content of `components` object
7
+ * in `swagger.json` file generated by Nestia. Note that, this is not an universal
8
+ * structure, but a dedicated structure only for Nestia.
9
+ *
10
+ * @author Jeongho Nam - https://github.com/samchon
11
+ */
12
+ export interface ISwaggerComponents {
13
+ /**
14
+ * An object to hold reusable DTO schemas.
15
+ *
16
+ * For reference, `nestia` stores every object and alias types as reusable DTO
17
+ * schemas. The alias type means that defined by `type` keyword in TypeScript.
18
+ */
19
+ schemas?: Record<string, IJsonComponents.IObject | IJsonComponents.IAlias>;
20
+ /**
21
+ * An object to hold reusable security schemes.
22
+ *
23
+ * This property be configured by user in `nestia.config.ts` file.
24
+ */
25
+ securitySchemes?: Record<string, ISwaggerSecurityScheme>;
26
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ISwaggerComponents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISwaggerComponents.js","sourceRoot":"","sources":["../../src/structures/ISwaggerComponents.ts"],"names":[],"mappings":""}