@openhi/constructs 0.0.28 → 0.0.30

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.
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Minimal handler for CORS preflight (OPTIONS) requests.
3
+ * Returns 204 so API Gateway can add CORS headers from the API's corsPreflight config.
4
+ * Used by a dedicated low-memory Lambda; see CorsOptionsLambda and #694.
5
+ */
6
+ declare const handler: (_event: any) => Promise<{
7
+ statusCode: number;
8
+ }>;
9
+
10
+ export { handler };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Minimal handler for CORS preflight (OPTIONS) requests.
3
+ * Returns 204 so API Gateway can add CORS headers from the API's corsPreflight config.
4
+ * Used by a dedicated low-memory Lambda; see CorsOptionsLambda and #694.
5
+ */
6
+ declare const handler: (_event: any) => Promise<{
7
+ statusCode: number;
8
+ }>;
9
+
10
+ export { handler };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/data/lambda/cors-options-lambda.handler.ts
21
+ var cors_options_lambda_handler_exports = {};
22
+ __export(cors_options_lambda_handler_exports, {
23
+ handler: () => handler
24
+ });
25
+ module.exports = __toCommonJS(cors_options_lambda_handler_exports);
26
+ var handler = async (_event) => {
27
+ return { statusCode: 204 };
28
+ };
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ handler
32
+ });
33
+ //# sourceMappingURL=cors-options-lambda.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/data/lambda/cors-options-lambda.handler.ts"],"sourcesContent":["/**\n * Minimal handler for CORS preflight (OPTIONS) requests.\n * Returns 204 so API Gateway can add CORS headers from the API's corsPreflight config.\n * Used by a dedicated low-memory Lambda; see CorsOptionsLambda and #694.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const handler = async (_event: any): Promise<{ statusCode: number }> => {\n return { statusCode: 204 };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,IAAM,UAAU,OAAO,WAAiD;AAC7E,SAAO,EAAE,YAAY,IAAI;AAC3B;","names":[]}
@@ -0,0 +1,10 @@
1
+ import "./chunk-LZOMFHX3.mjs";
2
+
3
+ // src/data/lambda/cors-options-lambda.handler.ts
4
+ var handler = async (_event) => {
5
+ return { statusCode: 204 };
6
+ };
7
+ export {
8
+ handler
9
+ };
10
+ //# sourceMappingURL=cors-options-lambda.handler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/data/lambda/cors-options-lambda.handler.ts"],"sourcesContent":["/**\n * Minimal handler for CORS preflight (OPTIONS) requests.\n * Returns 204 so API Gateway can add CORS headers from the API's corsPreflight config.\n * Used by a dedicated low-memory Lambda; see CorsOptionsLambda and #694.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const handler = async (_event: any): Promise<{ statusCode: number }> => {\n return { statusCode: 204 };\n};\n"],"mappings":";;;AAOO,IAAM,UAAU,OAAO,WAAiD;AAC7E,SAAO,EAAE,YAAY,IAAI;AAC3B;","names":[]}
package/lib/index.js CHANGED
@@ -1220,13 +1220,13 @@ var _OpenHiDataService = class _OpenHiDataService extends OpenHiService {
1220
1220
  _OpenHiDataService.SERVICE_TYPE = "data";
1221
1221
  var OpenHiDataService = _OpenHiDataService;
1222
1222
 
1223
- // src/data/lambda/rest-api-lambda.ts
1223
+ // src/data/lambda/cors-options-lambda.ts
1224
1224
  var import_node_fs2 = __toESM(require("fs"));
1225
1225
  var import_node_path2 = __toESM(require("path"));
1226
1226
  var import_aws_lambda2 = require("aws-cdk-lib/aws-lambda");
1227
1227
  var import_aws_lambda_nodejs2 = require("aws-cdk-lib/aws-lambda-nodejs");
1228
1228
  var import_constructs4 = require("constructs");
1229
- var HANDLER_NAME2 = "rest-api-lambda.handler.js";
1229
+ var HANDLER_NAME2 = "cors-options-lambda.handler.js";
1230
1230
  function resolveHandlerEntry2(dirname) {
1231
1231
  const sameDir = import_node_path2.default.join(dirname, HANDLER_NAME2);
1232
1232
  if (import_node_fs2.default.existsSync(sameDir)) {
@@ -1235,12 +1235,38 @@ function resolveHandlerEntry2(dirname) {
1235
1235
  const fromLib = import_node_path2.default.join(dirname, "..", "..", "..", "lib", HANDLER_NAME2);
1236
1236
  return fromLib;
1237
1237
  }
1238
- var RestApiLambda = class extends import_constructs4.Construct {
1239
- constructor(scope, props) {
1240
- super(scope, "rest-api-lambda");
1238
+ var CorsOptionsLambda = class extends import_constructs4.Construct {
1239
+ constructor(scope, id = "cors-options-lambda") {
1240
+ super(scope, id);
1241
1241
  this.lambda = new import_aws_lambda_nodejs2.NodejsFunction(this, "handler", {
1242
1242
  entry: resolveHandlerEntry2(__dirname),
1243
1243
  runtime: import_aws_lambda2.Runtime.NODEJS_LATEST,
1244
+ memorySize: 128
1245
+ });
1246
+ }
1247
+ };
1248
+
1249
+ // src/data/lambda/rest-api-lambda.ts
1250
+ var import_node_fs3 = __toESM(require("fs"));
1251
+ var import_node_path3 = __toESM(require("path"));
1252
+ var import_aws_lambda3 = require("aws-cdk-lib/aws-lambda");
1253
+ var import_aws_lambda_nodejs3 = require("aws-cdk-lib/aws-lambda-nodejs");
1254
+ var import_constructs5 = require("constructs");
1255
+ var HANDLER_NAME3 = "rest-api-lambda.handler.js";
1256
+ function resolveHandlerEntry3(dirname) {
1257
+ const sameDir = import_node_path3.default.join(dirname, HANDLER_NAME3);
1258
+ if (import_node_fs3.default.existsSync(sameDir)) {
1259
+ return sameDir;
1260
+ }
1261
+ const fromLib = import_node_path3.default.join(dirname, "..", "..", "..", "lib", HANDLER_NAME3);
1262
+ return fromLib;
1263
+ }
1264
+ var RestApiLambda = class extends import_constructs5.Construct {
1265
+ constructor(scope, props) {
1266
+ super(scope, "rest-api-lambda");
1267
+ this.lambda = new import_aws_lambda_nodejs3.NodejsFunction(this, "handler", {
1268
+ entry: resolveHandlerEntry3(__dirname),
1269
+ runtime: import_aws_lambda3.Runtime.NODEJS_LATEST,
1244
1270
  memorySize: 1024,
1245
1271
  environment: {
1246
1272
  DYNAMO_TABLE_NAME: props.dynamoTableName,
@@ -1396,17 +1422,22 @@ var _OpenHiRestApiService = class _OpenHiRestApiService extends OpenHiService {
1396
1422
  })
1397
1423
  );
1398
1424
  const integration = new import_aws_apigatewayv2_integrations.HttpLambdaIntegration("lambda-integration", lambda);
1425
+ const { lambda: optionsLambda } = new CorsOptionsLambda(this);
1426
+ const optionsIntegration = new import_aws_apigatewayv2_integrations.HttpLambdaIntegration(
1427
+ "options-integration",
1428
+ optionsLambda
1429
+ );
1399
1430
  const noAuth = new import_aws_apigatewayv22.HttpNoneAuthorizer();
1400
1431
  new import_aws_apigatewayv22.HttpRoute(this, "options-route-root", {
1401
1432
  httpApi: this.rootHttpApi,
1402
1433
  routeKey: import_aws_apigatewayv22.HttpRouteKey.with("/", import_aws_apigatewayv22.HttpMethod.OPTIONS),
1403
- integration,
1434
+ integration: optionsIntegration,
1404
1435
  authorizer: noAuth
1405
1436
  });
1406
1437
  new import_aws_apigatewayv22.HttpRoute(this, "options-route-proxy", {
1407
1438
  httpApi: this.rootHttpApi,
1408
1439
  routeKey: import_aws_apigatewayv22.HttpRouteKey.with("/{proxy+}", import_aws_apigatewayv22.HttpMethod.OPTIONS),
1409
- integration,
1440
+ integration: optionsIntegration,
1410
1441
  authorizer: noAuth
1411
1442
  });
1412
1443
  new import_aws_apigatewayv22.HttpRoute(this, "proxy-route-root", {