@aws/nx-plugin 0.11.0 → 0.13.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.
@@ -40,7 +40,7 @@ const canShortCircuitConversion = (property) => {
40
40
  const renderToJsonDateValue = (identifier, format) => {
41
41
  return `${identifier}.toISOString()${format === 'date' ? '.slice(0,10)' : ''}`;
42
42
  };
43
- // Renders the appropriate nested function for .map() or mapValues() for arrays and dictionaries for the given type
43
+ // Renders the appropriate nested function for .map() or $mapValues() for arrays and dictionaries for the given type
44
44
  const renderNestedToJsonValue = (type, depth = 0) => {
45
45
  const itemIdentifier = `item${depth}`;
46
46
  if (type.isPrimitive || type.typescriptType === 'unknown' || type.export === 'enum' || type.isEnum) {
@@ -48,7 +48,7 @@ const renderNestedToJsonValue = (type, depth = 0) => {
48
48
  } else if (type.export === "array") {
49
49
  return `(${itemIdentifier}) => ${itemIdentifier}.map(${renderNestedToJsonValue(type.link, depth + 1)})`;
50
50
  } else if (type.export === "dictionary") {
51
- return `(${itemIdentifier}) => $IO.mapValues(${itemIdentifier}, ${renderNestedToJsonValue(type.link, depth + 1)})`;
51
+ return `(${itemIdentifier}) => $IO.$mapValues(${itemIdentifier}, ${renderNestedToJsonValue(type.link, depth + 1)})`;
52
52
  }
53
53
  return `$IO.${type.name || type.type}.toJson`;
54
54
  };
@@ -64,7 +64,7 @@ const renderToJsonValue = (property, value) => {
64
64
  const prefix = property.uniqueItems ? `Array.from(${value})` : `${value}`;
65
65
  rendered = `(${prefix}.map(${renderNestedToJsonValue(property.link)}))`;
66
66
  } else if (property.export === "dictionary") {
67
- rendered = `($IO.mapValues(${value}, ${renderNestedToJsonValue(property.link)}))`;
67
+ rendered = `($IO.$mapValues(${value}, ${renderNestedToJsonValue(property.link)}))`;
68
68
  } else if (property.type !== "any") {
69
69
  rendered = `$IO.${property.type}.toJson(${value})`;
70
70
  } else {
@@ -76,7 +76,7 @@ const renderToJsonValue = (property, value) => {
76
76
  }
77
77
  return rendered;
78
78
  };
79
- // Renders the appropriate nested function for .map() or mapValues() for arrays and dictionaries for the given type
79
+ // Renders the appropriate nested function for .map() or $mapValues() for arrays and dictionaries for the given type
80
80
  const renderNestedFromJsonValue = (type, depth = 0) => {
81
81
  const itemIdentifier = `item${depth}`;
82
82
  if (type.isPrimitive || type.typescriptType === 'unknown' || type.export === 'enum' || type.isEnum) {
@@ -84,7 +84,7 @@ const renderNestedFromJsonValue = (type, depth = 0) => {
84
84
  } else if (type.export === "array") {
85
85
  return `(${itemIdentifier}) => ${itemIdentifier}.map(${renderNestedFromJsonValue(type.link, depth + 1)})`;
86
86
  } else if (type.export === "dictionary") {
87
- return `(${itemIdentifier}) => $IO.mapValues(${itemIdentifier}, ${renderNestedFromJsonValue(type.link, depth + 1)})`;
87
+ return `(${itemIdentifier}) => $IO.$mapValues(${itemIdentifier}, ${renderNestedFromJsonValue(type.link, depth + 1)})`;
88
88
  }
89
89
  return `$IO.${type.name || type.type}.fromJson`;
90
90
  };
@@ -99,7 +99,7 @@ const renderFromJsonValue = (property, value) => {
99
99
  rendered = `((${value} as Array<any>).map(${renderNestedFromJsonValue(property.link)}))`;
100
100
  rendered = property.uniqueItems ? `new Set(${rendered})` : rendered;
101
101
  } else if (property.export === "dictionary") {
102
- rendered = `($IO.mapValues(${value}, ${renderNestedFromJsonValue(property.link)}))`;
102
+ rendered = `($IO.$mapValues(${value}, ${renderNestedFromJsonValue(property.link)}))`;
103
103
  } else {
104
104
  rendered = `$IO.${property.type}.fromJson(${value})`;
105
105
  }
@@ -116,34 +116,36 @@ const renderResponseCondition = (code) => {
116
116
  return `response.status === ${code}`;
117
117
  };
118
118
  // Renders the code which handles deserialising the response from a fetch call
119
- const renderResponse = (response) => {
120
- if (response.export === 'array') {
121
- if (response.isPrimitive || (response.link && response.link.isPrimitive)) {
122
- return `(await response.json()) as ${response.typescriptType}`;
123
- }
124
- return `(await response.json()).map($IO.${response.type}.fromJson)`;
125
- }
126
- if (response.isPrimitive && ['date', 'date-time'].includes(response.format)) {
127
- return `new Date(await response.text())`;
119
+ const renderResponse = (response, options) => {
120
+ let opts = options || {
121
+ asText: 'await response.text()',
122
+ asJson: 'await response.json()',
123
+ asBlob: 'await response.blob()',
124
+ };
125
+ if (response.type === 'binary') {
126
+ return opts.asBlob;
128
127
  }
129
- if (response.isPrimitive || ['unknown', 'any'].includes(response.type)) {
128
+ if ((response.isPrimitive || ['unknown', 'any'].includes(response.type)) && !['array', 'dictionary'].includes(response.export)) {
130
129
  if (response.type === 'number') {
131
- return `Number(await response.text())`;
130
+ return `Number(${opts.asText})`;
132
131
  } else if (response.type === 'boolean') {
133
- return `Boolean(await response.text())`;
134
- } else if (response.type === 'binary') {
135
- return `await response.blob()`;
132
+ return `(${opts.asText}) === 'true' ? true : false`;
133
+ } else if (['date', 'date-time'].includes(response.format)) {
134
+ return `new Date(${opts.asText})`;
136
135
  }
137
- return `await response.text()${['unknown', 'any'].includes(response.type) ? ' as any' : ''}`;
136
+ return `${opts.asText}${['unknown', 'any'].includes(response.type) ? ' as any' : ''}`;
138
137
  }
139
138
  if (response.isEnum || response.export === 'enum') {
140
- return `(await response.text()) as ${response.typescriptType}`;
139
+ return `(${opts.asText}) as ${response.typescriptType}`;
141
140
  }
142
- // Non primitive
143
- if (response.export === 'array') {
144
- return `(await response.json()).map($IO.${response.type}.fromJson)`;
145
- }
146
- return `$IO.${response.typescriptType}.fromJson(await response.json())`;
141
+ return renderFromJsonValue(response, `(${opts.asJson})`);
142
+ };
143
+ const renderStreamingResponseChunk = (response) => {
144
+ return renderResponse(response, {
145
+ asJson: 'JSON.parse(value)',
146
+ asText: 'value',
147
+ asBlob: 'new Blob([value])',
148
+ });
147
149
  };
148
150
  _%>
149
151
 
@@ -151,7 +153,7 @@ _%>
151
153
  * Utility for serialisation and deserialisation of API types.
152
154
  */
153
155
  class $IO {
154
- private static mapValues = (data: any, fn: (item: any) => any) =>
156
+ protected static $mapValues = (data: any, fn: (item: any) => any) =>
155
157
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
156
158
  <%_ models.filter(m => m.export !== 'enum').forEach((model) => { _%>
157
159
  <%_ const isComposite = model.export === "one-of" || model.export === "any-of" || model.export === "all-of"; _%>
@@ -258,8 +260,26 @@ class $IO {
258
260
  * Client configuration for <%- className %>
259
261
  */
260
262
  export interface <%- className %>Config {
263
+ /**
264
+ * Base URL for the API
265
+ */
261
266
  url: string;
267
+ /**
268
+ * Custom instance of fetch. By default the global 'fetch' is used.
269
+ * You can override this to add custom middleware for use cases such as adding authentication headers.
270
+ */
262
271
  fetch?: typeof fetch;
272
+ /**
273
+ * Additional configuration
274
+ */
275
+ options?: {
276
+ /**
277
+ * By default, the client will add a Content-Type header, set to the media type defined for
278
+ * the request in the OpenAPI specification.
279
+ * Set this to false to omit this header.
280
+ */
281
+ omitContentTypeHeader?: boolean;
282
+ };
263
283
  }
264
284
 
265
285
  /**
@@ -270,6 +290,11 @@ export class <%- className %> {
270
290
 
271
291
  constructor(config: <%- className %>Config) {
272
292
  this.$config = config;
293
+
294
+ <%_ allOperations.forEach((op) => { _%>
295
+ <%_ const hasTag = op.tags && op.tags.length > 0; _%>
296
+ this.<% if (hasTag) { %>_<% } %><%- op.uniqueName %> = this.<% if (hasTag) { %>_<% } %><%- op.uniqueName %>.bind(this);
297
+ <%_ }); _%>
273
298
  }
274
299
 
275
300
  private $url = (path: string, pathParameters: { [key: string]: any }, queryParameters: { [key: string]: any }, collectionFormats?: { [key: string]: 'multi' | 'csv' }): string => {
@@ -298,16 +323,22 @@ export class <%- className %> {
298
323
  private $fetch: typeof fetch = (...args) => (this.$config.fetch ?? fetch)(...args);
299
324
  <%_ allOperations.forEach((op) => { _%>
300
325
  <%_ const hasTag = op.tags && op.tags.length > 0; _%>
301
-
326
+ <%_ const isStreaming = (op.vendorExtensions ?? {})['x-streaming']; _%>
302
327
  <%_ const isInputOptional = (op.parameters.length === 1 && op.parametersBody && !op.parametersBody.isRequired) || op.parameters.length === 0; _%>
303
- <%- docString(op, ' ') %> <%- hasTag ? 'private _' : 'public ' %><%- op.uniqueName %> = async (<% if (op.parameters.length > 0) { %>input<%- isInputOptional ? '?' : '' %>: <%- op.operationIdPascalCase %>Request<% } %>): Promise<<%- op.result ? op.result.typescriptType : 'void' %>> => {
328
+
329
+ <%- docString(op, ' ') %> <%- hasTag ? 'private' : 'public' %> async <% if (isStreaming) { %>*<% } %><%- hasTag ? '_' : '' %><%- op.uniqueName %>(<% if (op.parameters.length > 0) { %>input<%- isInputOptional ? '?' : '' %>: <%- op.operationIdPascalCase %>Request<% } %>): <%- isStreaming ? 'AsyncIterableIterator' : 'Promise' %><<%- op.result ? op.result.typescriptType : 'void' %>> {
304
330
  <%_ ['path', 'query', 'header'].forEach((position) => { _%>
305
331
  <%_ if (op.parameters.map(p => p.in).includes(position)) { _%>
306
- const <%- position %>Parameters = $IO.<%- op.operationIdPascalCase %>Request<%- upperFirst(position) %>Parameters.toJson(input);
332
+ const <%- position %>Parameters: {[key: string]: any} = $IO.<%- op.operationIdPascalCase %>Request<%- upperFirst(position) %>Parameters.toJson(input);
307
333
  <%_ } else { _%>
308
- const <%- position %>Parameters = {};
334
+ const <%- position %>Parameters: {[key: string]: any} = {};
309
335
  <%_ } _%>
310
336
  <%_ }); _%>
337
+ <%_ if (op.parametersBody && op.parametersBody.mediaTypes) { _%>
338
+ if (!this.$config.options?.omitContentTypeHeader) {
339
+ headerParameters['Content-Type'] = '<%- op.parametersBody.mediaTypes %>';
340
+ }
341
+ <%_ } _%>
311
342
  <%_ if (op.parameters.filter(p => p.collectionFormat).length > 0) { _%>
312
343
  const collectionFormats = {
313
344
  <%_ op.parameters.filter(p => p.collectionFormat).forEach((parameter) => { _%>
@@ -342,12 +373,28 @@ export class <%- className %> {
342
373
  <%_ if (response.code !== 'default') { _%>
343
374
  if (<%- renderResponseCondition(response.code) %>) {
344
375
  <%_ } _%>
345
- <% if (response.code !== 'default') { %> <% } %><% if (isResultResponse) { %>return <%- response.type === 'void' ? 'undefined' : renderResponse(response) %><% } else { %>throw {
346
- <% if (response.code !== 'default') { %> <% } %> status: response.status,
376
+ <%_ if (isResultResponse) { _%>
377
+ <%_ if (isStreaming) { _%>
378
+ <%_ if (response.type === 'void') { _%>
379
+ return;
380
+ <%_ } else { _%>
381
+ const reader = response.body?<% if (response.type !== 'binary') { %>.pipeThrough(new TextDecoderStream())<% } %>.getReader();
382
+ while (reader) {
383
+ const { value, done } = await reader.read();
384
+ if (done) return;
385
+ yield <%- renderStreamingResponseChunk(response) %>;
386
+ }
387
+ return;
388
+ <%_ } _%>
389
+ <%_ } else { _%>
390
+ return <%- response.type === 'void' ? 'undefined' : renderResponse(response) _%>
391
+ <%_ } _%>
392
+ <% } else { %>throw {
393
+ status: response.status,
347
394
  <%_ if (response.type !== 'void') { _%>
348
- <% if (response.code !== 'default') { %> <% } %> error: <%- renderResponse(response) %>,
395
+ error: <%- renderResponse(response) %>,
349
396
  <%_ } _%>
350
- <% if (response.code !== 'default') { %> <% } %>}<% } %>;
397
+ }<% } %>;
351
398
  <%_ if (response.code !== 'default') { _%>
352
399
  }
353
400
  <%_ } _%>
@@ -355,13 +402,13 @@ export class <%- className %> {
355
402
  <%_ if (!op.responses.find(response => response.code === 'default')) { _%>
356
403
  throw new Error(`Unknown response status ${response.status} returned by API`);
357
404
  <%_ } _%>
358
- };
405
+ }
359
406
  <%_ }); _%>
360
407
  <%_ Object.entries(operationsByTag).forEach(([tag, operations]) => { _%>
361
408
 
362
409
  <%- docString({ description: `${tag} operations` }, ' ') %> public <%- tag %> = {
363
410
  <%_ operations.forEach((op) => { _%>
364
- <%- docString(op, ' ') %> <%- op.name %>: this._<%- op.uniqueName %>,
411
+ <%- docString(op, ' ') %> <%- op.name %>: this._<%- op.uniqueName %>.bind(this),
365
412
  <%_ }); _%>
366
413
  };
367
414
  <%_ }); _%>
@@ -54,7 +54,7 @@ const buildOpenApiCodeGenData = (inSpec) => tslib_1.__awaiter(void 0, void 0, vo
54
54
  .filter((r) => r.export === 'reference')
55
55
  .map((r) => r.type));
56
56
  op.responses.forEach((response) => {
57
- var _a, _b, _c;
57
+ var _a;
58
58
  // Validate that the response is not a composite schema of primitives since we cannot determine what
59
59
  // the type of the response is (it all comes back as text!)
60
60
  if (response.export === 'reference' &&
@@ -77,12 +77,16 @@ const buildOpenApiCodeGenData = (inSpec) => tslib_1.__awaiter(void 0, void 0, vo
77
77
  }
78
78
  else {
79
79
  // Add the response media types
80
- response.mediaTypes = Object.keys(specResponse.content);
81
- const responseContent = (_c = (_b = specResponse.content) === null || _b === void 0 ? void 0 : _b['application/json']) !== null && _c !== void 0 ? _c : Object.values(specResponse.content)[0];
82
- const responseSchema = (0, refs_1.resolveIfRef)(spec, responseContent.schema);
83
- if (responseSchema) {
84
- mutateWithOpenapiSchemaProperties(spec, response, responseSchema);
85
- }
80
+ const mediaTypes = Object.keys(specResponse.content);
81
+ response.mediaTypes = mediaTypes;
82
+ mediaTypes.forEach((mediaType) => {
83
+ var _a, _b;
84
+ const responseContent = (_b = (_a = specResponse.content) === null || _a === void 0 ? void 0 : _a[mediaType]) !== null && _b !== void 0 ? _b : Object.values(specResponse.content)[0];
85
+ const responseSchema = (0, refs_1.resolveIfRef)(spec, responseContent.schema);
86
+ if (responseSchema) {
87
+ mutateWithOpenapiSchemaProperties(spec, response, responseSchema);
88
+ }
89
+ });
86
90
  }
87
91
  }
88
92
  });
@@ -429,7 +433,7 @@ const ensureModelLinks = (spec, data) => {
429
433
  _ensureModelLinks(spec, modelsByName, model, schema, visited);
430
434
  }
431
435
  });
432
- // Ensure set for all parameters
436
+ // Ensure set for all parameters and responses
433
437
  data.services.forEach((service) => {
434
438
  service.operations.forEach((op) => {
435
439
  var _a, _b, _c;
@@ -454,6 +458,18 @@ const ensureModelLinks = (spec, data) => {
454
458
  }
455
459
  }
456
460
  });
461
+ op.responses.forEach((response) => {
462
+ var _a, _b;
463
+ const specResponse = (0, refs_1.resolveIfRef)(spec, (_a = specOp === null || specOp === void 0 ? void 0 : specOp.responses) === null || _a === void 0 ? void 0 : _a[response.code]);
464
+ const mediaTypes = Object.keys((_b = specResponse === null || specResponse === void 0 ? void 0 : specResponse.content) !== null && _b !== void 0 ? _b : {});
465
+ mediaTypes.forEach((mediaType) => {
466
+ var _a, _b;
467
+ const responseSchema = (0, refs_1.resolveIfRef)(spec, (_b = (_a = specResponse === null || specResponse === void 0 ? void 0 : specResponse.content) === null || _a === void 0 ? void 0 : _a[mediaType]) === null || _b === void 0 ? void 0 : _b.schema);
468
+ if (responseSchema) {
469
+ _ensureModelLinks(spec, modelsByName, response, responseSchema, visited);
470
+ }
471
+ });
472
+ });
457
473
  });
458
474
  });
459
475
  };
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-data.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/utils/codegen-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen-data.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/utils/codegen-data.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ from collections.abc import Callable
11
11
  from aws_lambda_powertools import Logger, Metrics, Tracer
12
12
  from aws_lambda_powertools.metrics import MetricUnit
13
13
  from fastapi import FastAPI, Request, Response
14
+ from fastapi.openapi.utils import get_openapi
14
15
  from fastapi.responses import JSONResponse
15
16
  from fastapi.routing import APIRoute
16
17
  from mangum import Mangum
@@ -53,7 +54,7 @@ async def metrics_handler(request: Request, call_next):
53
54
  metrics.add_metric(name="RequestCount", unit=MetricUnit.Count, value=1)
54
55
 
55
56
  response = await call_next(request)
56
-
57
+
57
58
  if response.status_code == 200:
58
59
  metrics.add_metric(name="Success", unit=MetricUnit.Count, value=1)
59
60
 
@@ -98,7 +99,26 @@ class LoggerRouteHandler(APIRoute):
98
99
 
99
100
  return route_handler
100
101
 
101
- app.router.route_class = LoggerRouteHandler",
102
+ app.router.route_class = LoggerRouteHandler
103
+
104
+ def custom_openapi():
105
+ if app.openapi_schema:
106
+ return app.openapi_schema
107
+ for route in app.routes:
108
+ if isinstance(route, APIRoute):
109
+ route.operation_id = route.name
110
+ openapi_schema = get_openapi(
111
+ title=app.title,
112
+ version=app.version,
113
+ openapi_version=app.openapi_version,
114
+ description=app.description,
115
+ routes=app.routes,
116
+ )
117
+ app.openapi_schema = openapi_schema
118
+ return app.openapi_schema
119
+
120
+ app.openapi = custom_openapi
121
+ ",
102
122
  "apps/test_api/test_api/main.py": "from .init import app, lambda_handler, tracer
103
123
 
104
124
  handler = lambda_handler
@@ -5,6 +5,7 @@ from collections.abc import Callable
5
5
  from aws_lambda_powertools import Logger, Metrics, Tracer
6
6
  from aws_lambda_powertools.metrics import MetricUnit
7
7
  from fastapi import FastAPI, Request, Response
8
+ from fastapi.openapi.utils import get_openapi
8
9
  from fastapi.responses import JSONResponse
9
10
  from fastapi.routing import APIRoute
10
11
  from mangum import Mangum
@@ -47,7 +48,7 @@ async def metrics_handler(request: Request, call_next):
47
48
  metrics.add_metric(name="RequestCount", unit=MetricUnit.Count, value=1)
48
49
 
49
50
  response = await call_next(request)
50
-
51
+
51
52
  if response.status_code == 200:
52
53
  metrics.add_metric(name="Success", unit=MetricUnit.Count, value=1)
53
54
 
@@ -92,4 +93,22 @@ class LoggerRouteHandler(APIRoute):
92
93
 
93
94
  return route_handler
94
95
 
95
- app.router.route_class = LoggerRouteHandler
96
+ app.router.route_class = LoggerRouteHandler
97
+
98
+ def custom_openapi():
99
+ if app.openapi_schema:
100
+ return app.openapi_schema
101
+ for route in app.routes:
102
+ if isinstance(route, APIRoute):
103
+ route.operation_id = route.name
104
+ openapi_schema = get_openapi(
105
+ title=app.title,
106
+ version=app.version,
107
+ openapi_version=app.openapi_version,
108
+ description=app.description,
109
+ routes=app.routes,
110
+ )
111
+ app.openapi_schema = openapi_schema
112
+ return app.openapi_schema
113
+
114
+ app.openapi = custom_openapi
@@ -1,19 +1,12 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
3
  exports[`fastapi react generator > should generate OpenAPI spec script > generate_open_api.py 1`] = `
4
- "from fastapi.openapi.utils import get_openapi
5
- from src.main import app
4
+ "from src.main import app
6
5
  import json, os, sys
7
6
 
8
7
  os.makedirs(os.path.dirname(sys.argv[1]), exist_ok=True)
9
8
  with open(sys.argv[1], 'w') as f:
10
- json.dump(get_openapi(
11
- title=app.title,
12
- version=app.version,
13
- openapi_version=app.openapi_version,
14
- description=app.description,
15
- routes=app.routes,
16
- ), f)
9
+ json.dump(app.openapi(), f)
17
10
  "
18
11
  `;
19
12
 
@@ -1,13 +1,6 @@
1
- from fastapi.openapi.utils import get_openapi
2
1
  from <%= moduleName %>.main import app
3
2
  import json, os, sys
4
3
 
5
4
  os.makedirs(os.path.dirname(sys.argv[1]), exist_ok=True)
6
5
  with open(sys.argv[1], 'w') as f:
7
- json.dump(get_openapi(
8
- title=app.title,
9
- version=app.version,
10
- openapi_version=app.openapi_version,
11
- description=app.description,
12
- routes=app.routes,
13
- ), f)
6
+ json.dump(app.openapi(), f)