@sylvesterllc/aws-constructs 1.0.30 → 1.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/__tests__/data/testConfig.tsx +136 -0
- package/__tests__/mocks/ResourceMock.ts +10 -0
- package/__tests__/router.test.ts +195 -0
- package/dist/config/ServiceBundleConfig.d.ts +16 -0
- package/dist/config/ServiceBundleConfig.js +3 -0
- package/dist/config/customConfigs/ResourceAppConfig.d.ts +4 -1
- package/dist/config/customConfigs/ResourceAppConfig.js +1 -1
- package/dist/config/types/LogDuration.d.ts +8 -0
- package/dist/config/types/LogDuration.js +13 -0
- package/dist/config/types/TsgAuthorizerProp.d.ts +6 -0
- package/dist/config/types/TsgAuthorizerProp.js +3 -0
- package/dist/config/types/TsgAuthorizerType.d.ts +4 -0
- package/dist/config/types/TsgAuthorizerType.js +9 -0
- package/dist/config/types/TsgEc2Prop.d.ts +7 -0
- package/dist/config/types/TsgEc2Prop.js +3 -0
- package/dist/config/types/TsgKeyPair.d.ts +4 -0
- package/dist/config/types/TsgKeyPair.js +3 -0
- package/dist/config/types/TsgLambdaProp.d.ts +2 -0
- package/dist/config/types/TsgLambdaProp.js +1 -1
- package/dist/config/types/TsgLambdaProps.d.ts +0 -2
- package/dist/config/types/TsgLambdaProps.js +1 -1
- package/dist/config/types/index.d.ts +1 -0
- package/dist/config/types/index.js +2 -1
- package/dist/constructs/MicroService.js +4 -5
- package/dist/interfaces/ApiLambdaResult.d.ts +4 -0
- package/dist/interfaces/ApiLambdaResult.js +3 -0
- package/dist/resources/dynamodb/CreateDynamo.js +3 -3
- package/dist/resources/ec2/create-ec2-instance.d.ts +9 -0
- package/dist/resources/ec2/create-ec2-instance.js +42 -0
- package/dist/resources/gateway/CreateApiAndAttachLambdas.d.ts +24 -0
- package/dist/resources/gateway/CreateApiAndAttachLambdas.js +89 -0
- package/dist/resources/helpers/createRoutes.d.ts +2 -2
- package/dist/resources/helpers/createRoutes.js +3 -3
- package/dist/resources/lambda/createLambda.d.ts +5 -4
- package/dist/resources/lambda/createLambda.js +50 -29
- package/dist/resources/{helpers/createAuthorizer.d.ts → lambda-authorizer/TsgJwtTokenAuthorizer.d.ts} +2 -4
- package/dist/resources/lambda-authorizer/TsgJwtTokenAuthorizer.js +80 -0
- package/dist/resources/lambda-authorizer/TsgRequestAuthorizer.d.ts +12 -0
- package/dist/resources/lambda-authorizer/TsgRequestAuthorizer.js +32 -0
- package/dist/resources/lambda-authorizer/createAuthorizerHelpers.d.ts +5 -0
- package/dist/resources/lambda-authorizer/createAuthorizerHelpers.js +50 -0
- package/jest.config.js +9 -0
- package/jest.config.ts.old +20 -0
- package/package.json +13 -11
- package/src/config/ServiceBundleConfig.ts +18 -0
- package/src/config/customConfigs/ResourceAppConfig.ts +5 -1
- package/src/config/types/LogDuration.ts +8 -0
- package/src/config/types/TsgAuthorizerProp.ts +9 -0
- package/src/config/types/TsgAuthorizerType.ts +5 -0
- package/src/config/types/TsgEc2Prop.ts +9 -0
- package/src/config/types/TsgKeyPair.ts +6 -0
- package/src/config/types/TsgLambdaProp.ts +4 -0
- package/src/config/types/TsgLambdaProps.ts +0 -1
- package/src/config/types/index.ts +1 -1
- package/src/constructs/MicroService.ts +4 -8
- package/src/interfaces/ApiLambdaResult.ts +6 -0
- package/src/resources/dynamodb/CreateDynamo.ts +1 -1
- package/src/resources/ec2/create-ec2-instance.ts +53 -0
- package/src/resources/gateway/CreateApiAndAttachLambdas.ts +137 -0
- package/src/resources/helpers/createRoutes.ts +3 -3
- package/src/resources/lambda/createLambda.ts +84 -56
- package/src/resources/{helpers/createAuthorizer.ts → lambda-authorizer/TsgJwtTokenAuthorizer.ts} +3 -3
- package/src/resources/lambda-authorizer/TsgRequestAuthorizer.ts +36 -0
- package/src/resources/lambda-authorizer/createAuthorizerHelpers.ts +69 -0
- package/dist/resources/gateway/createMicroServiceBundle.d.ts +0 -25
- package/dist/resources/gateway/createMicroServiceBundle.js +0 -132
- package/dist/resources/helpers/createAuthorizer.js +0 -81
- package/src/resources/gateway/createMicroServiceBundle.ts +0 -192
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { Runtime } from "aws-cdk-lib/aws-lambda";
|
|
2
|
+
import { MicroserviceProps } from "../../src/index"
|
|
3
|
+
import { AttributeType, BillingMode, ProjectionType } from "aws-cdk-lib/aws-dynamodb";
|
|
4
|
+
|
|
5
|
+
export const testConfig: MicroserviceProps = {
|
|
6
|
+
GLOBALS: {
|
|
7
|
+
name: `todo-sameple-microservice`,
|
|
8
|
+
stackRuntime: Runtime.NODEJS_LATEST,
|
|
9
|
+
accountNumber: '',
|
|
10
|
+
region: '',
|
|
11
|
+
prefix: `tdm`
|
|
12
|
+
},
|
|
13
|
+
API: {
|
|
14
|
+
Name: `api`,
|
|
15
|
+
Description: 'ToDo Sample API'
|
|
16
|
+
},
|
|
17
|
+
RESOURCES: {
|
|
18
|
+
LAMBDA: [
|
|
19
|
+
{
|
|
20
|
+
name: `create-todo`,
|
|
21
|
+
codePath: './resources/functions/todo/index.ts',
|
|
22
|
+
handler: 'post',
|
|
23
|
+
apiGateway: {
|
|
24
|
+
method: 'post',
|
|
25
|
+
route: '/todo',
|
|
26
|
+
},
|
|
27
|
+
environment: {
|
|
28
|
+
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: `delete-todo`,
|
|
33
|
+
codePath: './resources/functions/todo/index.ts',
|
|
34
|
+
handler: 'delete',
|
|
35
|
+
apiGateway: {
|
|
36
|
+
method: 'delete',
|
|
37
|
+
route: '/todo',
|
|
38
|
+
},
|
|
39
|
+
environment: {}
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: `update-todo`,
|
|
43
|
+
codePath: './resources/functions/todo/index.ts',
|
|
44
|
+
handler: 'update',
|
|
45
|
+
apiGateway: {
|
|
46
|
+
method: 'patch',
|
|
47
|
+
route: '/todo',
|
|
48
|
+
},
|
|
49
|
+
environment: {}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: `get-todos`,
|
|
53
|
+
codePath: './resources/functions/todo/index.ts',
|
|
54
|
+
handler: 'get',
|
|
55
|
+
apiGateway: {
|
|
56
|
+
method: 'get',
|
|
57
|
+
secure: false,
|
|
58
|
+
route: '/todo',
|
|
59
|
+
},
|
|
60
|
+
environment: {}
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: `get-todo-by-id`,
|
|
64
|
+
codePath: './resources/functions/todo/index.ts',
|
|
65
|
+
handler: 'getById',
|
|
66
|
+
apiGateway: {
|
|
67
|
+
method: 'get',
|
|
68
|
+
secure: false,
|
|
69
|
+
route: '/todo/{id}',
|
|
70
|
+
},
|
|
71
|
+
environment: {}
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: `create-todo-non-versioned`,
|
|
75
|
+
codePath: './resources/functions/todo/index.ts',
|
|
76
|
+
handler: 'postNonVersioned',
|
|
77
|
+
apiGateway: {
|
|
78
|
+
method: 'post',
|
|
79
|
+
route: '/todo',
|
|
80
|
+
useRouteOverride: true,
|
|
81
|
+
version: 2
|
|
82
|
+
},
|
|
83
|
+
environment: {}
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: `create-todo-v3`,
|
|
87
|
+
codePath: './resources/functions/todo/index.ts',
|
|
88
|
+
handler: 'postV3',
|
|
89
|
+
apiGateway: {
|
|
90
|
+
method: 'post',
|
|
91
|
+
route: '/todo',
|
|
92
|
+
useRouteOverride: true,
|
|
93
|
+
version: 3
|
|
94
|
+
},
|
|
95
|
+
environment: {}
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
DYNAMO: {
|
|
99
|
+
TABLES: [
|
|
100
|
+
{
|
|
101
|
+
tableName: `todos`,
|
|
102
|
+
primaryKey: {
|
|
103
|
+
name: 'pk',
|
|
104
|
+
type: AttributeType.STRING,
|
|
105
|
+
},
|
|
106
|
+
sortKey: {
|
|
107
|
+
name: 'sk',
|
|
108
|
+
type: AttributeType.STRING,
|
|
109
|
+
},
|
|
110
|
+
billingMode: BillingMode.PAY_PER_REQUEST,
|
|
111
|
+
indexes: [
|
|
112
|
+
{
|
|
113
|
+
indexName: 'gsi1Index',
|
|
114
|
+
partitionKey: {
|
|
115
|
+
name: 'GSI1pk',
|
|
116
|
+
type: AttributeType.STRING
|
|
117
|
+
},
|
|
118
|
+
sortKey: {
|
|
119
|
+
name: 'sk',
|
|
120
|
+
type: AttributeType.STRING
|
|
121
|
+
},
|
|
122
|
+
projectionType: ProjectionType.ALL
|
|
123
|
+
},
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
LAMBDA_LAYERS: [
|
|
129
|
+
{
|
|
130
|
+
name: 'common-layer',
|
|
131
|
+
description: `Common Lambda Layers`,
|
|
132
|
+
codePath: `./layers/common/dist/nodejs/node_modules/@todo/common`,
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
}
|
|
136
|
+
};
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { Runtime } from "aws-cdk-lib/aws-lambda";
|
|
2
|
+
import { MicroService, MicroserviceProps } from "../src";
|
|
3
|
+
// import { testConfig } from "./data/testConfig";
|
|
4
|
+
import { AttributeType, BillingMode, ProjectionType } from "aws-cdk-lib/aws-dynamodb";
|
|
5
|
+
import { App} from "aws-cdk-lib";
|
|
6
|
+
import { AppConfig } from "../src/config/AppConfig";
|
|
7
|
+
import { Routes } from "../src/resources/helpers/createRoutes";
|
|
8
|
+
import { Resource } from "aws-cdk-lib/aws-apigateway";
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
describe('ROUTER', () => {
|
|
14
|
+
|
|
15
|
+
const api = {
|
|
16
|
+
root: {
|
|
17
|
+
addResource: jest.fn(() => (path: string) => { return path}),
|
|
18
|
+
},
|
|
19
|
+
addResource: jest.fn(() => (path: string) => { return path;}),
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const playSoundFileMock = jest
|
|
23
|
+
.spyOn(Resource.prototype, 'addResource')
|
|
24
|
+
//@ts-ignore
|
|
25
|
+
.mockImplementation((path: string) => {
|
|
26
|
+
console.log('mocked function');
|
|
27
|
+
return path;
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// jest.mock('axios');
|
|
31
|
+
// const app = new App();
|
|
32
|
+
// let microservice: MicroService|null = null;
|
|
33
|
+
let props = {
|
|
34
|
+
GLOBALS: {
|
|
35
|
+
name: `todo-sameple-microservice`,
|
|
36
|
+
stackRuntime: Runtime.NODEJS_LATEST,
|
|
37
|
+
accountNumber: '',
|
|
38
|
+
region: '',
|
|
39
|
+
prefix: `tdm`
|
|
40
|
+
},
|
|
41
|
+
API: {
|
|
42
|
+
Name: `api`,
|
|
43
|
+
Description: 'ToDo Sample API'
|
|
44
|
+
},
|
|
45
|
+
RESOURCES: {
|
|
46
|
+
LAMBDA: [
|
|
47
|
+
{
|
|
48
|
+
name: `create-todo`,
|
|
49
|
+
codePath: './resources/functions/todo/index.ts',
|
|
50
|
+
handler: 'post',
|
|
51
|
+
apiGateway: {
|
|
52
|
+
method: 'post',
|
|
53
|
+
route: '/todo',
|
|
54
|
+
},
|
|
55
|
+
environment: {
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: `delete-todo`,
|
|
61
|
+
codePath: './resources/functions/todo/index.ts',
|
|
62
|
+
handler: 'delete',
|
|
63
|
+
apiGateway: {
|
|
64
|
+
method: 'delete',
|
|
65
|
+
route: '/todo',
|
|
66
|
+
},
|
|
67
|
+
environment: {}
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: `update-todo`,
|
|
71
|
+
codePath: './resources/functions/todo/index.ts',
|
|
72
|
+
handler: 'update',
|
|
73
|
+
apiGateway: {
|
|
74
|
+
method: 'patch',
|
|
75
|
+
route: '/todo',
|
|
76
|
+
},
|
|
77
|
+
environment: {}
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: `get-todos`,
|
|
81
|
+
codePath: './resources/functions/todo/index.ts',
|
|
82
|
+
handler: 'get',
|
|
83
|
+
apiGateway: {
|
|
84
|
+
method: 'get',
|
|
85
|
+
secure: false,
|
|
86
|
+
route: '/todo',
|
|
87
|
+
},
|
|
88
|
+
environment: {}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: `get-todo-by-id`,
|
|
92
|
+
codePath: './resources/functions/todo/index.ts',
|
|
93
|
+
handler: 'getById',
|
|
94
|
+
apiGateway: {
|
|
95
|
+
method: 'get',
|
|
96
|
+
secure: false,
|
|
97
|
+
route: '/todo/{id}',
|
|
98
|
+
},
|
|
99
|
+
environment: {}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: `create-todo-non-versioned`,
|
|
103
|
+
codePath: './resources/functions/todo/index.ts',
|
|
104
|
+
handler: 'postNonVersioned',
|
|
105
|
+
apiGateway: {
|
|
106
|
+
method: 'post',
|
|
107
|
+
route: '/todo',
|
|
108
|
+
useRouteOverride: true,
|
|
109
|
+
version: 2
|
|
110
|
+
},
|
|
111
|
+
environment: {}
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: `create-todo-v3`,
|
|
115
|
+
codePath: './resources/functions/todo/index.ts',
|
|
116
|
+
handler: 'postV3',
|
|
117
|
+
apiGateway: {
|
|
118
|
+
method: 'post',
|
|
119
|
+
route: '/todo',
|
|
120
|
+
useRouteOverride: true,
|
|
121
|
+
version: 3
|
|
122
|
+
},
|
|
123
|
+
environment: {}
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
DYNAMO: {
|
|
127
|
+
TABLES: [
|
|
128
|
+
{
|
|
129
|
+
tableName: `todos`,
|
|
130
|
+
primaryKey: {
|
|
131
|
+
name: 'pk',
|
|
132
|
+
type: AttributeType.STRING,
|
|
133
|
+
},
|
|
134
|
+
sortKey: {
|
|
135
|
+
name: 'sk',
|
|
136
|
+
type: AttributeType.STRING,
|
|
137
|
+
},
|
|
138
|
+
billingMode: BillingMode.PAY_PER_REQUEST,
|
|
139
|
+
indexes: [
|
|
140
|
+
{
|
|
141
|
+
indexName: 'gsi1Index',
|
|
142
|
+
partitionKey: {
|
|
143
|
+
name: 'GSI1pk',
|
|
144
|
+
type: AttributeType.STRING
|
|
145
|
+
},
|
|
146
|
+
sortKey: {
|
|
147
|
+
name: 'sk',
|
|
148
|
+
type: AttributeType.STRING
|
|
149
|
+
},
|
|
150
|
+
projectionType: ProjectionType.ALL
|
|
151
|
+
},
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
LAMBDA_LAYERS: [
|
|
157
|
+
{
|
|
158
|
+
name: 'common-layer',
|
|
159
|
+
description: `Common Lambda Layers`,
|
|
160
|
+
codePath: `./layers/common/dist/nodejs/node_modules/@todo/common`,
|
|
161
|
+
}
|
|
162
|
+
],
|
|
163
|
+
}
|
|
164
|
+
} as MicroserviceProps;
|
|
165
|
+
|
|
166
|
+
const appConfig = new AppConfig(props);
|
|
167
|
+
|
|
168
|
+
console.log(appConfig.lambdaConfigs);
|
|
169
|
+
|
|
170
|
+
const requireDynamoTables = (props.RESOURCES.DYNAMO?.TABLES &&
|
|
171
|
+
props.RESOURCES.DYNAMO.TABLES.length > 0) ? true : false;
|
|
172
|
+
|
|
173
|
+
const hasLambdaLayers = (props.RESOURCES.LAMBDA_LAYERS &&
|
|
174
|
+
props.RESOURCES.LAMBDA_LAYERS.length > 0) ? true : false;
|
|
175
|
+
|
|
176
|
+
const lambdaConfig = props.RESOURCES.LAMBDA[0];
|
|
177
|
+
|
|
178
|
+
beforeEach(() => {
|
|
179
|
+
|
|
180
|
+
// microservice = new MicroService(app, 'test', config) as MicroService;
|
|
181
|
+
|
|
182
|
+
console.log('appConfig', appConfig);
|
|
183
|
+
console.log('requireDynamoTables', requireDynamoTables);
|
|
184
|
+
console.log('hasLambdaLayers', hasLambdaLayers);
|
|
185
|
+
console.log(JSON.stringify(appConfig, null, 2));
|
|
186
|
+
console.log('lambda 0::', props.RESOURCES.LAMBDA[0]);
|
|
187
|
+
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
test('useRouteOverride', () => {
|
|
191
|
+
|
|
192
|
+
Routes.createResource(lambdaConfig, api as any, {} as any);
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IRestApi } from "aws-cdk-lib/aws-apigateway";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { MicroserviceProps } from "../interfaces/MicroserviceProps";
|
|
4
|
+
import { AppConfig } from "./AppConfig";
|
|
5
|
+
import { Table } from "aws-cdk-lib/aws-dynamodb";
|
|
6
|
+
import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
|
|
7
|
+
import { LayerVersion } from "aws-cdk-lib/aws-lambda";
|
|
8
|
+
export interface ServiceBundleConfig {
|
|
9
|
+
scope: Construct;
|
|
10
|
+
readonly gatewayApi: IRestApi;
|
|
11
|
+
readonly props: MicroserviceProps;
|
|
12
|
+
readonly appConfig: AppConfig;
|
|
13
|
+
readonly tables?: Table[];
|
|
14
|
+
readonly secretMgr?: ISecret;
|
|
15
|
+
readonly layers?: LayerVersion[];
|
|
16
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZUJ1bmRsZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvU2VydmljZUJ1bmRsZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlc3RBcGkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBNaWNyb3NlcnZpY2VQcm9wcyB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL01pY3Jvc2VydmljZVByb3BzXCI7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi9BcHBDb25maWdcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgSVNlY3JldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUJ1bmRsZUNvbmZpZyB7XG4gICAgc2NvcGU6IENvbnN0cnVjdCwgXG4gICAgcmVhZG9ubHkgZ2F0ZXdheUFwaTogSVJlc3RBcGksIFxuICAgIHJlYWRvbmx5IHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcywgICAgICAgIFxuICAgIHJlYWRvbmx5IGFwcENvbmZpZzogQXBwQ29uZmlnLFxuICAgIHJlYWRvbmx5IHRhYmxlcz86IFRhYmxlW10sIFxuICAgIHJlYWRvbmx5IHNlY3JldE1ncj86IElTZWNyZXQsIFxuICAgIHJlYWRvbmx5IGxheWVycz86IExheWVyVmVyc2lvbltdXG5cbn0iXX0=
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { TsgDynamoDbProp, TsgLambdaProp } from "../types";
|
|
2
|
+
import { TsgAuthorizerProp } from "../types/TsgAuthorizerProp";
|
|
3
|
+
import { TsgEC2Prop } from "../types/TsgEc2Prop";
|
|
2
4
|
import { TsgLambdaLayerProp } from "../types/TsgLambdaLayerProp";
|
|
3
5
|
export interface ResourceAppConfig {
|
|
4
6
|
DYNAMO?: TsgDynamoDbProp;
|
|
5
7
|
LAMBDA_LAYERS?: TsgLambdaLayerProp[];
|
|
6
|
-
AUTHORIZER?:
|
|
8
|
+
AUTHORIZER?: TsgAuthorizerProp;
|
|
7
9
|
LAMBDA: TsgLambdaProp[];
|
|
10
|
+
EC2?: TsgEC2Prop[];
|
|
8
11
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VBcHBDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2N1c3RvbUNvbmZpZ3MvUmVzb3VyY2VBcHBDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgVHNnRHluYW1vRGJQcm9wLFxuICAgIFRzZ0xhbWJkYVByb3AsXG59IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgVHNnQXV0aG9yaXplclByb3AgfSBmcm9tIFwiLi4vdHlwZXMvVHNnQXV0aG9yaXplclByb3BcIjtcbmltcG9ydCB7IFRzZ0VDMlByb3AgfSBmcm9tIFwiLi4vdHlwZXMvVHNnRWMyUHJvcFwiO1xuaW1wb3J0IHsgVHNnTGFtYmRhTGF5ZXJQcm9wIH0gZnJvbSBcIi4uL3R5cGVzL1RzZ0xhbWJkYUxheWVyUHJvcFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlQXBwQ29uZmlnIHsgICAgXG4gICAgRFlOQU1PPzogVHNnRHluYW1vRGJQcm9wO1xuICAgIExBTUJEQV9MQVlFUlM/OiBUc2dMYW1iZGFMYXllclByb3BbXTtcbiAgICBBVVRIT1JJWkVSPzogVHNnQXV0aG9yaXplclByb3A7XG4gICAgTEFNQkRBOiBUc2dMYW1iZGFQcm9wW107XG4gICAgRUMyPzogVHNnRUMyUHJvcFtdO1xuICAgIFxufSJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LogDuration = void 0;
|
|
4
|
+
var LogDuration;
|
|
5
|
+
(function (LogDuration) {
|
|
6
|
+
LogDuration[LogDuration["ONE_DAY"] = 1] = "ONE_DAY";
|
|
7
|
+
LogDuration[LogDuration["ONE_WEEK"] = 7] = "ONE_WEEK";
|
|
8
|
+
LogDuration[LogDuration["ONE_MONTH"] = 30] = "ONE_MONTH";
|
|
9
|
+
LogDuration[LogDuration["ONE_YEAR"] = 365] = "ONE_YEAR";
|
|
10
|
+
LogDuration[LogDuration["FIVE_YEARS"] = 1825] = "FIVE_YEARS";
|
|
11
|
+
LogDuration[LogDuration["FOREVER"] = 0] = "FOREVER";
|
|
12
|
+
})(LogDuration || (exports.LogDuration = LogDuration = {}));
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nRHVyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3R5cGVzL0xvZ0R1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksV0FPWDtBQVBELFdBQVksV0FBVztJQUNuQixtREFBVyxDQUFBO0lBQ1gscURBQVksQ0FBQTtJQUNaLHdEQUFjLENBQUE7SUFDZCx1REFBYyxDQUFBO0lBQ2QsNERBQWlCLENBQUE7SUFDakIsbURBQVcsQ0FBQTtBQUNmLENBQUMsRUFQVyxXQUFXLDJCQUFYLFdBQVcsUUFPdEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBMb2dEdXJhdGlvbiB7XG4gICAgT05FX0RBWSA9IDEsXG4gICAgT05FX1dFRUsgPSA3LFxuICAgIE9ORV9NT05USCA9IDMwLFxuICAgIE9ORV9ZRUFSID0gMzY1LFxuICAgIEZJVkVfWUVBUlMgPSAxODI1LFxuICAgIEZPUkVWRVIgPSAwXG59Il19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnQXV0aG9yaXplclByb3AuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3R5cGVzL1RzZ0F1dGhvcml6ZXJQcm9wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUc2dBdXRob3JpemVyVHlwZSB9IGZyb20gXCIuL1RzZ0F1dGhvcml6ZXJUeXBlXCI7XG5pbXBvcnQgeyBUc2dMYW1iZGFQcm9wIH0gZnJvbSBcIi4vVHNnTGFtYmRhUHJvcFwiO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgVHNnQXV0aG9yaXplclByb3AgZXh0ZW5kcyBUc2dMYW1iZGFQcm9wIHtcblxuICAgIHR5cGU6IFRzZ0F1dGhvcml6ZXJUeXBlO1xuICAgIGhlYWRlck5hbWU/OiBzdHJpbmc7XG59Il19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TsgAuthorizerType = void 0;
|
|
4
|
+
var TsgAuthorizerType;
|
|
5
|
+
(function (TsgAuthorizerType) {
|
|
6
|
+
TsgAuthorizerType[TsgAuthorizerType["REQUEST_AUTHORIZER"] = 0] = "REQUEST_AUTHORIZER";
|
|
7
|
+
TsgAuthorizerType[TsgAuthorizerType["TOKEN_AUTHORIZER"] = 1] = "TOKEN_AUTHORIZER";
|
|
8
|
+
})(TsgAuthorizerType || (exports.TsgAuthorizerType = TsgAuthorizerType = {}));
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnQXV0aG9yaXplclR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3R5cGVzL1RzZ0F1dGhvcml6ZXJUeXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUV6QixxRkFBa0IsQ0FBQTtJQUNsQixpRkFBZ0IsQ0FBQTtBQUNwQixDQUFDLEVBSlcsaUJBQWlCLGlDQUFqQixpQkFBaUIsUUFJNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBUc2dBdXRob3JpemVyVHlwZSB7XG5cbiAgICBSRVFVRVNUX0FVVEhPUklaRVIsXG4gICAgVE9LRU5fQVVUSE9SSVpFUixcbn0iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnRWMyUHJvcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvdHlwZXMvVHNnRWMyUHJvcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHNnS2V5UGFpciB9IGZyb20gXCIuL1RzZ0tleVBhaXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUc2dFQzJQcm9wIHtcbiAgICBWcGNJZDogc3RyaW5nO1xuICAgIE1hY2hpbmVJbWFnZTogc3RyaW5nO1xuICAgIFJlZ2lvbjogc3RyaW5nO1xuICAgIEtleVBhaXI6IFRzZ0tleVBhaXI7IFxuXG59Il19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnS2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvdHlwZXMvVHNnS2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUc2dLZXlQYWlyIHtcblxuICAgIE5hbWU/OiBzdHJpbmc7XG4gICAgUHVibGljS2V5OiBzdHJpbmc7XG4gICAgXG59Il19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Duration } from "aws-cdk-lib";
|
|
2
2
|
import { Runtime } from "aws-cdk-lib/aws-lambda";
|
|
3
3
|
import { TsgLambdaRoutable } from "./TsgLambdaRoutable";
|
|
4
|
+
import { LogDuration } from "./LogDuration";
|
|
4
5
|
export interface TsgLambdaProp {
|
|
5
6
|
name: string;
|
|
6
7
|
codePath: string;
|
|
@@ -13,4 +14,5 @@ export interface TsgLambdaProp {
|
|
|
13
14
|
memory?: number;
|
|
14
15
|
apiGateway?: TsgLambdaRoutable;
|
|
15
16
|
managedPolicies?: string[];
|
|
17
|
+
logDuration?: LogDuration;
|
|
16
18
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnTGFtYmRhUHJvcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvdHlwZXMvVHNnTGFtYmRhUHJvcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IFJ1bnRpbWUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUm91dGFibGUgfSBmcm9tIFwiLi9Uc2dMYW1iZGFSb3V0YWJsZVwiO1xuaW1wb3J0IHsgTG9nRHVyYXRpb24gfSBmcm9tIFwiLi9Mb2dEdXJhdGlvblwiO1xuaW1wb3J0IHsgVHNnQXV0aG9yaXplclR5cGUgfSBmcm9tIFwiLi9Uc2dBdXRob3JpemVyVHlwZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRzZ0xhbWJkYVByb3Age1xuXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvZGVQYXRoOiBzdHJpbmc7XG4gICAgaGFuZGxlcjogc3RyaW5nO1xuICAgIGR1cmF0aW9uPzogRHVyYXRpb247XG4gICAgZW52aXJvbm1lbnQ/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICBydW50aW1lPzogUnVudGltZTtcbiAgICBtZW1vcnk/OiBudW1iZXI7ICAgIFxuICAgIGFwaUdhdGV3YXk/OiBUc2dMYW1iZGFSb3V0YWJsZTtcbiAgICBtYW5hZ2VkUG9saWNpZXM/OiBzdHJpbmdbXTtcbiAgICBsb2dEdXJhdGlvbj86IExvZ0R1cmF0aW9uO1xuICAgIFxufSAiXX0=
|
|
@@ -2,12 +2,10 @@ import { IUserPool } from "aws-cdk-lib/aws-cognito";
|
|
|
2
2
|
import { IRole } from "aws-cdk-lib/aws-iam";
|
|
3
3
|
import { LayerVersion } from "aws-cdk-lib/aws-lambda";
|
|
4
4
|
import { Construct } from "constructs";
|
|
5
|
-
import { MicroserviceProps } from "../../interfaces/MicroserviceProps";
|
|
6
5
|
import { TsgCognitoConfig } from "./TsgCognitoConfig";
|
|
7
6
|
import { AppConfig } from "../AppConfig";
|
|
8
7
|
export interface TsgLambdaProps {
|
|
9
8
|
scope: Construct;
|
|
10
|
-
prop: MicroserviceProps;
|
|
11
9
|
appConfig: AppConfig;
|
|
12
10
|
role?: IRole;
|
|
13
11
|
poolArn?: IUserPool;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnTGFtYmRhUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3R5cGVzL1RzZ0xhbWJkYVByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVXNlclBvb2wgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZ25pdG9cIjtcbmltcG9ydCB7IElSb2xlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuaW1wb3J0IHsgVHNnQ29nbml0b0NvbmZpZyB9IGZyb20gXCIuL1RzZ0NvZ25pdG9Db25maWdcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi9BcHBDb25maWdcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUc2dMYW1iZGFQcm9wcyB7XG5cbiAgICBzY29wZTogQ29uc3RydWN0O1xuICAgIGFwcENvbmZpZzogQXBwQ29uZmlnO1xuICAgIHJvbGU/OiBJUm9sZTtcbiAgICBwb29sQXJuPzogSVVzZXJQb29sO1xuICAgIGxheWVycz86IExheWVyVmVyc2lvbltdO1xuICAgIHRzZ0NvZ25pdG8/OiBUc2dDb2duaXRvQ29uZmlnO1xuICAgIFxufSJdfQ==
|
|
@@ -22,4 +22,5 @@ __exportStar(require("./TsgLambdaNode"), exports);
|
|
|
22
22
|
__exportStar(require("./TsgDynamoProp"), exports);
|
|
23
23
|
__exportStar(require("./TsgDynamoTableRef"), exports);
|
|
24
24
|
__exportStar(require("./TsgDynamoDbProp"), exports);
|
|
25
|
-
|
|
25
|
+
__exportStar(require("./LogDuration"), exports);
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBZ0M7QUFDaEMscURBQW1DO0FBQ25DLGlEQUErQjtBQUMvQixrREFBZ0M7QUFDaEMsa0RBQWdDO0FBQ2hDLGtEQUFnQztBQUNoQyxzREFBb0M7QUFDcEMsb0RBQWtDO0FBQ2xDLGdEQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL1RzZ0xhbWJkYVByb3BcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1RzZ0NvZ25pdG9Db25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1RzZ0xhbWJkYU1hcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnTGFtYmRhTmFtZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnTGFtYmRhTm9kZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnRHluYW1vUHJvcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnRHluYW1vVGFibGVSZWZcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1RzZ0R5bmFtb0RiUHJvcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vTG9nRHVyYXRpb25cIjtcbiJdfQ==
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MicroService = void 0;
|
|
4
4
|
const constructs_1 = require("constructs");
|
|
5
|
-
const createMicroServiceBundle_1 = require("../resources/gateway/createMicroServiceBundle");
|
|
6
5
|
const CreateDynamo_1 = require("../resources/dynamodb/CreateDynamo");
|
|
7
6
|
const createApi_1 = require("../resources/gateway/createApi");
|
|
8
7
|
const securityManager_1 = require("../resources/securityManager");
|
|
9
8
|
const createCommonLayer_1 = require("../resources/helpers/createCommonLayer");
|
|
10
9
|
const AppConfig_1 = require("../config/AppConfig");
|
|
11
10
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
11
|
+
const CreateApiAndAttachLambdas_1 = require("../resources/gateway/CreateApiAndAttachLambdas");
|
|
12
12
|
class MicroService extends constructs_1.Construct {
|
|
13
13
|
constructor(scope, id, props) {
|
|
14
14
|
super(scope, id);
|
|
@@ -39,9 +39,8 @@ class MicroService extends constructs_1.Construct {
|
|
|
39
39
|
const dynamo = new CreateDynamo_1.CreateDynamoDb(scope, this.appConfig);
|
|
40
40
|
tables = dynamo.CreatedTables;
|
|
41
41
|
}
|
|
42
|
-
//
|
|
43
|
-
const
|
|
44
|
-
// });
|
|
42
|
+
// CREATE API GATEWAY AND LAMBDA HERE
|
|
43
|
+
const apiGateway = new CreateApiAndAttachLambdas_1.CreateApiAndAttachLambdas(scope, this.appConfig, gateway[0], layers, tables);
|
|
45
44
|
}
|
|
46
45
|
createTag(scope) {
|
|
47
46
|
aws_cdk_lib_1.Tags.of(scope).add('App', this.appConfig.AppName);
|
|
@@ -49,4 +48,4 @@ class MicroService extends constructs_1.Construct {
|
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
50
|
exports.MicroService = MicroService;
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2QyxxRUFBb0U7QUFDcEUsOERBQXFEO0FBQ3JELGtFQUFnRTtBQUNoRSw4RUFBMkU7QUFDM0UsbURBQWdEO0FBQ2hELDZDQUFtQztBQUVuQyw4RkFBMkY7QUFDM0YsTUFBYSxZQUFhLFNBQVEsc0JBQVM7SUFNdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBSkYsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFNaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTtZQUN0RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUU3RCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhO1lBQ2pELEtBQUssQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFnQixFQUFFLEtBQWdCO1FBRTdDLElBQUksTUFBTSxHQUF3QixTQUFTLENBQUM7UUFDNUMsSUFBSSxZQUFZLEdBQStCLFNBQVMsQ0FBQztRQUV6RCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUU7WUFDaEMsK0VBQStFO1lBQy9FLHVCQUF1QjtZQUN0QixNQUFNLFNBQVMsR0FBRyxJQUFBLGtDQUFnQixFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3JGO1FBRUQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLFlBQVksR0FBRyxJQUFBLHFDQUFpQixFQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNsRDtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksZUFBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRXBELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQztRQUU1QixzQ0FBc0M7UUFDdEMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSw2QkFBYyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFekQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7U0FDakM7UUFFRCxzQ0FBc0M7UUFDdEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxxREFBeUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXZHLENBQUM7SUFFUyxTQUFTLENBQUMsS0FBZ0I7UUFDaEMsa0JBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELGtCQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0o7QUF6REQsb0NBeURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuaW1wb3J0IHsgQ3JlYXRlRHluYW1vRGIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1wiO1xuaW1wb3J0IHsgQXBpIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaVwiO1xuaW1wb3J0IHsgZ2V0U2VjcmV0TWFuYWdlciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvc2VjdXJpdHlNYW5hZ2VyXCI7XG5pbXBvcnQgeyBjcmVhdGVDb21tb25MYXllciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvaGVscGVycy9jcmVhdGVDb21tb25MYXllclwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IFRhZ3MgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L0NyZWF0ZUFwaUFuZEF0dGFjaExhbWJkYXNcIjtcbmV4cG9ydCBjbGFzcyBNaWNyb1NlcnZpY2UgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVpcmVEeW5hbW9UYWJsZXM6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhc0xhbWJkYUxheWVyczogYm9vbGVhbiA9IGZhbHNlOyAgXG4gICAgcHJvdGVjdGVkIGFwcENvbmZpZzogQXBwQ29uZmlnO1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE1pY3Jvc2VydmljZVByb3BzKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAgICAgdGhpcy5hcHBDb25maWcgPSBuZXcgQXBwQ29uZmlnKHByb3BzKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcyA9IChwcm9wcy5SRVNPVVJDRVMuRFlOQU1PPy5UQUJMRVMgJiZcbiAgICAgICAgICAgIHByb3BzLlJFU09VUkNFUy5EWU5BTU8uVEFCTEVTLmxlbmd0aCA+IDApID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuaGFzTGFtYmRhTGF5ZXJzID0gKHByb3BzLlJFU09VUkNFUy5MQU1CREFfTEFZRVJTICYmIFxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkxBTUJEQV9MQVlFUlMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5vbkluaXQoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZVRhZyhzY29wZSlcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uSW5pdChzY29wZTogQ29uc3RydWN0LCBwcm9wczogQXBwQ29uZmlnKSB7XG5cbiAgICAgICAgbGV0IHRhYmxlczogVGFibGVbXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IGNvbW1vbkxheWVyczogTGF5ZXJWZXJzaW9uW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52LlNFQ1JFVF9NQU5BR0VSX0FSTikge1xuICAgICAgICAgICAgLy8gdGhyb3cgbmV3IEVycm9yKGBZb3UgbXVzdCBwcm92aWRlIHRoZSBBUk4gZm9yIHRoZSB5b3VyIENvbmZpZ3VyYXRpb24gU2VjcmV0IFxuICAgICAgICAgICAgLy8gICAgIE1hbmFnZXJgKTsgICAgICBcbiAgICAgICAgICAgICBjb25zdCBzZWNyZXRNZ3IgPSBnZXRTZWNyZXRNYW5hZ2VyKHNjb3BlLCBwcm9wcywgcHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKTsgICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmhhc0xhbWJkYUxheWVycykge1xuICAgICAgICAgICAgY29tbW9uTGF5ZXJzID0gY3JlYXRlQ29tbW9uTGF5ZXIoc2NvcGUsIHByb3BzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGdhdGV3YXkgPSBuZXcgQXBpKHNjb3BlLCB0aGlzLmFwcENvbmZpZykuQVBJcztcblxuICAgICAgICBjb25zdCBsYXllcnMgPSBjb21tb25MYXllcnM7XG5cbiAgICAgICAgLy8gQ3JlYXRlcyBEeW5hbW9EYiBUYWJsZXMgaWYgcmVxdWlyZWRcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcykge1xuICAgICAgICAgICAgY29uc3QgZHluYW1vID0gbmV3IENyZWF0ZUR5bmFtb0RiKHNjb3BlLCB0aGlzLmFwcENvbmZpZyk7XG5cbiAgICAgICAgICAgIHRhYmxlcyA9IGR5bmFtby5DcmVhdGVkVGFibGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ1JFQVRFIEFQSSBHQVRFV0FZIEFORCBMQU1CREEgSEVSRSBcbiAgICAgICAgY29uc3QgYXBpR2F0ZXdheSA9IG5ldyBDcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzKHNjb3BlLCB0aGlzLmFwcENvbmZpZywgZ2F0ZXdheVswXSwgbGF5ZXJzLHRhYmxlcyk7XG5cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlVGFnKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICAgICAgVGFncy5vZihzY29wZSkuYWRkKCdBcHAnLCB0aGlzLmFwcENvbmZpZy5BcHBOYW1lKTtcbiAgICAgICAgVGFncy5vZihzY29wZSkuYWRkKCdSZXNvdWNlUHJlZml4JywgdGhpcy5hcHBDb25maWcuQXBwUHJlZml4KTtcbiAgICB9XG59Il19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpTGFtYmRhUmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvQXBpTGFtYmRhUmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVzdEFwaSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwaUxhbWJkYVJlc3VsdCB7XG4gICAgYXBpOiAgSVJlc3RBcGk7XG4gICAgXG59Il19
|