quidproquo-deploy-awscdk 0.0.30 → 0.0.32
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/lib/QPQPrototypeSingleServiceStack.js +11 -31
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -1
- package/lib/lambdas/lambdaAPIGatewayEvent.d.ts +2 -1
- package/lib/lambdas/lambdaAPIGatewayEvent.js +9 -4
- package/lib/lambdas/lambdaEventBridgeEvent.d.ts +2 -1
- package/lib/lambdas/lambdaEventBridgeEvent.js +8 -3
- package/package.json +1 -1
|
@@ -24,7 +24,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.QPQPrototypeSingleServiceStack = void 0;
|
|
27
|
-
const path = __importStar(require("path"));
|
|
28
27
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
29
28
|
const cdk = __importStar(require("aws-cdk-lib"));
|
|
30
29
|
const quidproquo_core_1 = require("quidproquo-core");
|
|
@@ -153,11 +152,6 @@ class QPQPrototypeSingleServiceStack extends aws_cdk_lib_1.Stack {
|
|
|
153
152
|
const resourceName = (name) => {
|
|
154
153
|
return `${settings.service}-${settings.environment}-${name}`;
|
|
155
154
|
};
|
|
156
|
-
// const BLLayer = new aws_lambda.LayerVersion(this, `${id}-BLLayer`, {
|
|
157
|
-
// layerVersionName: `${id}-BLLayer`,
|
|
158
|
-
// code: new aws_lambda.AssetCode(props.apiBuildPath),
|
|
159
|
-
// compatibleRuntimes: [aws_lambda.Runtime.NODEJS_16_X],
|
|
160
|
-
// });
|
|
161
155
|
const ownedSecrets = quidproquo_core_1.qpqCoreUtils.getOwnedSecrets(props.qpqConfig).map((secret) => {
|
|
162
156
|
const realSecretName = `${secret.key}-${settings.service}-${settings.environment}`;
|
|
163
157
|
return {
|
|
@@ -208,23 +202,16 @@ class QPQPrototypeSingleServiceStack extends aws_cdk_lib_1.Stack {
|
|
|
208
202
|
parameterNameMap: ownedParameters.reduce((acc, os) => (Object.assign(Object.assign({}, acc), { [os.parameterName]: os.realName })), {}),
|
|
209
203
|
resourceNameMap: buckets.reduce((acc, b) => (Object.assign(Object.assign({}, acc), { [b.driveName]: b.bucketName })), {}),
|
|
210
204
|
};
|
|
211
|
-
const lambdaHandler = new aws_cdk_lib_1.
|
|
205
|
+
const lambdaHandler = new aws_cdk_lib_1.aws_lambda.Function(this, `${settings.environment}-${settings.service}-lambda-rest`, {
|
|
212
206
|
functionName: `lambda-rest-${settings.service}-${settings.environment}`,
|
|
213
|
-
entry: props.lambdaAPIGatewayEventPath ||
|
|
214
|
-
path.resolve(__dirname, 'lambdas', 'lambdaAPIGatewayEvent.js'),
|
|
215
|
-
handler: 'executeAPIGatewayEvent',
|
|
216
207
|
timeout: cdk.Duration.seconds(25),
|
|
217
208
|
runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_16_X,
|
|
218
|
-
// layers: [BLLayer],
|
|
219
209
|
memorySize: 1024,
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
define: {
|
|
223
|
-
'process.env.lambdaRuntimeConfig': JSON.stringify(JSON.stringify(runtimeConfigLambdaConfig)),
|
|
224
|
-
},
|
|
225
|
-
},
|
|
210
|
+
code: aws_cdk_lib_1.aws_lambda.Code.fromAsset(props.apiBuildPath),
|
|
211
|
+
handler: 'lambdaAPIGatewayEvent.executeAPIGatewayEvent',
|
|
226
212
|
environment: {
|
|
227
213
|
TABLES: JSON.stringify([]),
|
|
214
|
+
lambdaRuntimeConfig: JSON.stringify(runtimeConfigLambdaConfig),
|
|
228
215
|
},
|
|
229
216
|
});
|
|
230
217
|
// Grant access to the lambda
|
|
@@ -249,26 +236,19 @@ class QPQPrototypeSingleServiceStack extends aws_cdk_lib_1.Stack {
|
|
|
249
236
|
// basePath: settings.service,
|
|
250
237
|
});
|
|
251
238
|
quidproquo_core_1.qpqCoreUtils.getScheduleEvents(props.qpqConfig).forEach((se, index) => {
|
|
252
|
-
const schedulerFunction = new aws_cdk_lib_1.
|
|
239
|
+
const schedulerFunction = new aws_cdk_lib_1.aws_lambda.Function(this, `${settings.environment}-${settings.service}-SE-${index}`, {
|
|
253
240
|
functionName: `SE-${index}-${se.runtime}-${settings.environment}-${settings.service}`,
|
|
254
|
-
entry: props.lambdaEventBridgeEventPath ||
|
|
255
|
-
path.resolve(__dirname, 'lambdas', 'lambdaEventBridgeEvent.js'),
|
|
256
|
-
handler: 'executeEventBridgeEvent',
|
|
257
241
|
timeout: cdk.Duration.minutes(15),
|
|
258
242
|
runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_16_X,
|
|
259
|
-
// layers: [BLLayer],
|
|
260
243
|
memorySize: 1024,
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
define: {
|
|
264
|
-
'process.env.lambdaRuntimeConfig': JSON.stringify(JSON.stringify(Object.assign(Object.assign({}, runtimeConfigLambdaConfig), { lambdaRuntimeConfig: {
|
|
265
|
-
src: se.src,
|
|
266
|
-
runtime: se.runtime,
|
|
267
|
-
} }))),
|
|
268
|
-
},
|
|
269
|
-
},
|
|
244
|
+
code: aws_cdk_lib_1.aws_lambda.Code.fromAsset(props.apiBuildPath),
|
|
245
|
+
handler: 'lambdaEventBridgeEvent.executeEventBridgeEvent',
|
|
270
246
|
environment: {
|
|
271
247
|
TABLES: JSON.stringify([]),
|
|
248
|
+
lambdaRuntimeConfig: JSON.stringify(Object.assign(Object.assign({}, runtimeConfigLambdaConfig), { lambdaRuntimeConfig: {
|
|
249
|
+
src: se.src,
|
|
250
|
+
runtime: se.runtime,
|
|
251
|
+
} })),
|
|
272
252
|
},
|
|
273
253
|
});
|
|
274
254
|
buckets.forEach((b) => b.bucket.grantReadWrite(schedulerFunction));
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -19,4 +19,3 @@ __exportStar(require("./DeploymentType"), exports);
|
|
|
19
19
|
__exportStar(require("./DeploymentSettings"), exports);
|
|
20
20
|
__exportStar(require("./QPQApp"), exports);
|
|
21
21
|
__exportStar(require("./QPQPrototypeSingleServiceStack"), exports);
|
|
22
|
-
__exportStar(require("./lambdas"), exports);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { DynamicModuleLoader } from 'quidproquo-actionprocessor-awslambda';
|
|
1
2
|
import { Context } from 'aws-lambda';
|
|
2
3
|
import { ActionProcessorListResolver } from './lambdaConfig';
|
|
3
|
-
export declare const getAPIGatewayEventExecutor: (getCustomActionProcessors?: ActionProcessorListResolver) => (event: import("aws-lambda").APIGatewayProxyEvent, context: Context) => Promise<{
|
|
4
|
+
export declare const getAPIGatewayEventExecutor: (dynamicModuleLoader: DynamicModuleLoader, getCustomActionProcessors?: ActionProcessorListResolver) => (event: import("aws-lambda").APIGatewayProxyEvent, context: Context) => Promise<{
|
|
4
5
|
statusCode: any;
|
|
5
6
|
body: string;
|
|
6
7
|
headers: any;
|
|
@@ -8,6 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.executeAPIGatewayEvent = exports.getAPIGatewayEventExecutor = void 0;
|
|
13
16
|
const quidproquo_actionprocessor_node_1 = require("quidproquo-actionprocessor-node");
|
|
@@ -15,6 +18,8 @@ const quidproquo_actionprocessor_awslambda_1 = require("quidproquo-actionprocess
|
|
|
15
18
|
const quidproquo_webserver_1 = require("quidproquo-webserver");
|
|
16
19
|
const quidproquo_core_1 = require("quidproquo-core");
|
|
17
20
|
const lambdaConfig_1 = require("./lambdaConfig");
|
|
21
|
+
// @ts-ignore - Special webpack loader
|
|
22
|
+
const qpq_dynamic_loader_1 = __importDefault(require("qpq-dynamic-loader!"));
|
|
18
23
|
// TODO: Make this a util or something based on server time or something..
|
|
19
24
|
const getDateNow = () => new Date().toISOString();
|
|
20
25
|
const ErrorTypeHttpResponseMap = {
|
|
@@ -31,11 +36,11 @@ const ErrorTypeHttpResponseMap = {
|
|
|
31
36
|
[quidproquo_core_1.ErrorTypeEnum.NoContent]: 204,
|
|
32
37
|
[quidproquo_core_1.ErrorTypeEnum.Invalid]: 422,
|
|
33
38
|
};
|
|
34
|
-
const getAPIGatewayEventExecutor = (getCustomActionProcessors = () => ({})) => {
|
|
39
|
+
const getAPIGatewayEventExecutor = (dynamicModuleLoader, getCustomActionProcessors = () => ({})) => {
|
|
35
40
|
return (event, context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
41
|
// Build a processor for the session and stuff
|
|
37
42
|
// Remove the non route ones ~ let the story execute action add them
|
|
38
|
-
const storyActionProcessor = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, quidproquo_actionprocessor_node_1.coreActionProcessor), quidproquo_actionprocessor_node_1.webserverActionProcessor), (0, quidproquo_actionprocessor_awslambda_1.getAPIGatewayEventActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig.qpqConfig)), (0, quidproquo_actionprocessor_awslambda_1.getConfigGetSecretActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig)), (0, quidproquo_actionprocessor_awslambda_1.getConfigGetParameterActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig)), (0, quidproquo_actionprocessor_awslambda_1.getConfigGetParametersActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig)), (0, quidproquo_actionprocessor_awslambda_1.getSystemActionProcessor)(
|
|
43
|
+
const storyActionProcessor = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, quidproquo_actionprocessor_node_1.coreActionProcessor), quidproquo_actionprocessor_node_1.webserverActionProcessor), (0, quidproquo_actionprocessor_awslambda_1.getAPIGatewayEventActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig.qpqConfig)), (0, quidproquo_actionprocessor_awslambda_1.getConfigGetSecretActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig)), (0, quidproquo_actionprocessor_awslambda_1.getConfigGetParameterActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig)), (0, quidproquo_actionprocessor_awslambda_1.getConfigGetParametersActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig)), (0, quidproquo_actionprocessor_awslambda_1.getSystemActionProcessor)(dynamicModuleLoader)), (0, quidproquo_actionprocessor_awslambda_1.getFileActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig)), getCustomActionProcessors(lambdaConfig_1.lambdaRuntimeConfig));
|
|
39
44
|
const logger = (result) => __awaiter(void 0, void 0, void 0, function* () {
|
|
40
45
|
// addResult(
|
|
41
46
|
// envConfig.appName,
|
|
@@ -50,7 +55,7 @@ const getAPIGatewayEventExecutor = (getCustomActionProcessors = () => ({})) => {
|
|
|
50
55
|
// // Run the callback
|
|
51
56
|
const resolveStory = (0, quidproquo_core_1.createRuntime)({}, storyActionProcessor, getDateNow, logger, quidproquo_actionprocessor_awslambda_1.awsLambdaUtils.randomGuid);
|
|
52
57
|
const result = yield resolveStory(quidproquo_core_1.askProcessEvent, [event, context]);
|
|
53
|
-
//
|
|
58
|
+
// Run the callback
|
|
54
59
|
if (!result.error) {
|
|
55
60
|
return {
|
|
56
61
|
statusCode: result.result.statusCode,
|
|
@@ -69,4 +74,4 @@ const getAPIGatewayEventExecutor = (getCustomActionProcessors = () => ({})) => {
|
|
|
69
74
|
};
|
|
70
75
|
exports.getAPIGatewayEventExecutor = getAPIGatewayEventExecutor;
|
|
71
76
|
// Default executor
|
|
72
|
-
exports.executeAPIGatewayEvent = (0, exports.getAPIGatewayEventExecutor)();
|
|
77
|
+
exports.executeAPIGatewayEvent = (0, exports.getAPIGatewayEventExecutor)(qpq_dynamic_loader_1.default);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import { DynamicModuleLoader } from 'quidproquo-actionprocessor-awslambda';
|
|
1
2
|
import { EventBridgeEvent, Context } from 'aws-lambda';
|
|
2
3
|
import { ActionProcessorListResolver } from './lambdaConfig';
|
|
3
|
-
export declare const getEventBridgeEventExecutor: (getCustomActionProcessors?: ActionProcessorListResolver) => (event: EventBridgeEvent<string, void>, context: Context) => Promise<void>;
|
|
4
|
+
export declare const getEventBridgeEventExecutor: (dynamicModuleLoader: DynamicModuleLoader, getCustomActionProcessors?: ActionProcessorListResolver) => (event: EventBridgeEvent<string, void>, context: Context) => Promise<void>;
|
|
4
5
|
export declare const executeEventBridgeEvent: (event: EventBridgeEvent<string, void>, context: Context) => Promise<void>;
|
|
@@ -8,19 +8,24 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.executeEventBridgeEvent = exports.getEventBridgeEventExecutor = void 0;
|
|
13
16
|
const quidproquo_actionprocessor_node_1 = require("quidproquo-actionprocessor-node");
|
|
14
17
|
const quidproquo_actionprocessor_awslambda_1 = require("quidproquo-actionprocessor-awslambda");
|
|
15
18
|
const quidproquo_core_1 = require("quidproquo-core");
|
|
16
19
|
const lambdaConfig_1 = require("./lambdaConfig");
|
|
20
|
+
// @ts-ignore - Special webpack loader
|
|
21
|
+
const qpq_dynamic_loader_1 = __importDefault(require("qpq-dynamic-loader!"));
|
|
17
22
|
// TODO: Make this a util or something based on server time or something..
|
|
18
23
|
const getDateNow = () => new Date().toISOString();
|
|
19
|
-
const getEventBridgeEventExecutor = (getCustomActionProcessors = () => ({})) => {
|
|
24
|
+
const getEventBridgeEventExecutor = (dynamicModuleLoader, getCustomActionProcessors = () => ({})) => {
|
|
20
25
|
return (event, context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
26
|
// Build a processor for the session and stuff
|
|
22
27
|
// Remove the non event ones
|
|
23
|
-
const storyActionProcessor = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, quidproquo_actionprocessor_node_1.coreActionProcessor), quidproquo_actionprocessor_node_1.webserverActionProcessor), (0, quidproquo_actionprocessor_awslambda_1.getEventBridgeEventActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig)), (0, quidproquo_actionprocessor_awslambda_1.getSystemActionProcessor)(
|
|
28
|
+
const storyActionProcessor = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, quidproquo_actionprocessor_node_1.coreActionProcessor), quidproquo_actionprocessor_node_1.webserverActionProcessor), (0, quidproquo_actionprocessor_awslambda_1.getEventBridgeEventActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig)), (0, quidproquo_actionprocessor_awslambda_1.getSystemActionProcessor)(dynamicModuleLoader)), (0, quidproquo_actionprocessor_awslambda_1.getFileActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig)), (0, quidproquo_actionprocessor_awslambda_1.getConfigGetSecretActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig)), (0, quidproquo_actionprocessor_awslambda_1.getConfigGetParameterActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig)), (0, quidproquo_actionprocessor_awslambda_1.getConfigGetParametersActionProcessor)(lambdaConfig_1.lambdaRuntimeConfig)), getCustomActionProcessors(lambdaConfig_1.lambdaRuntimeConfig));
|
|
24
29
|
const logger = (result) => __awaiter(void 0, void 0, void 0, function* () { });
|
|
25
30
|
// Run the callback
|
|
26
31
|
const resolveStory = (0, quidproquo_core_1.createRuntime)({}, storyActionProcessor, getDateNow, logger, quidproquo_actionprocessor_awslambda_1.awsLambdaUtils.randomGuid);
|
|
@@ -28,4 +33,4 @@ const getEventBridgeEventExecutor = (getCustomActionProcessors = () => ({})) =>
|
|
|
28
33
|
});
|
|
29
34
|
};
|
|
30
35
|
exports.getEventBridgeEventExecutor = getEventBridgeEventExecutor;
|
|
31
|
-
exports.executeEventBridgeEvent = (0, exports.getEventBridgeEventExecutor)();
|
|
36
|
+
exports.executeEventBridgeEvent = (0, exports.getEventBridgeEventExecutor)(qpq_dynamic_loader_1.default);
|