@openhi/constructs 0.0.0 → 0.0.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.
- package/lib/chunk-LZOMFHX3.mjs +38 -0
- package/lib/chunk-LZOMFHX3.mjs.map +1 -0
- package/lib/index.d.mts +788 -0
- package/lib/index.d.ts +869 -3
- package/lib/index.js +1318 -19
- package/lib/index.js.map +1 -0
- package/lib/index.mjs +1303 -0
- package/lib/index.mjs.map +1 -0
- package/lib/rest-api-lambda.handler.d.mts +6 -0
- package/lib/rest-api-lambda.handler.d.ts +6 -0
- package/lib/rest-api-lambda.handler.js +677 -0
- package/lib/rest-api-lambda.handler.js.map +1 -0
- package/lib/rest-api-lambda.handler.mjs +646 -0
- package/lib/rest-api-lambda.handler.mjs.map +1 -0
- package/package.json +37 -28
- package/lib/app/index.d.ts +0 -4
- package/lib/app/index.js +0 -21
- package/lib/app/open-hi-app.d.ts +0 -85
- package/lib/app/open-hi-app.js +0 -127
- package/lib/app/open-hi-environment.d.ts +0 -59
- package/lib/app/open-hi-environment.js +0 -72
- package/lib/app/open-hi-service.d.ts +0 -169
- package/lib/app/open-hi-service.js +0 -195
- package/lib/app/open-hi-stage.d.ts +0 -71
- package/lib/app/open-hi-stage.js +0 -70
- package/lib/components/acm/root-wildcard-certificate.d.ts +0 -15
- package/lib/components/acm/root-wildcard-certificate.js +0 -35
- package/lib/components/api-gateway/core-http-api.d.ts +0 -10
- package/lib/components/api-gateway/core-http-api.js +0 -44
- package/lib/components/api-gateway/http-lambda-integration-no-permissions.d.ts +0 -18
- package/lib/components/api-gateway/http-lambda-integration-no-permissions.js +0 -26
- package/lib/components/app-sync/core-graphql-api.d.ts +0 -12
- package/lib/components/app-sync/core-graphql-api.js +0 -54
- package/lib/components/auth.d.ts +0 -75
- package/lib/components/auth.js +0 -100
- package/lib/components/cognito/core-user-pool-client.d.ts +0 -10
- package/lib/components/cognito/core-user-pool-client.js +0 -47
- package/lib/components/cognito/core-user-pool-domain.d.ts +0 -10
- package/lib/components/cognito/core-user-pool-domain.js +0 -41
- package/lib/components/cognito/core-user-pool-kms-key.d.ts +0 -10
- package/lib/components/cognito/core-user-pool-kms-key.js +0 -37
- package/lib/components/cognito/core-user-pool.d.ts +0 -10
- package/lib/components/cognito/core-user-pool.js +0 -54
- package/lib/components/core.d.ts +0 -102
- package/lib/components/core.js +0 -79
- package/lib/components/dynamodb/dynamo-db-data-store.d.ts +0 -33
- package/lib/components/dynamodb/dynamo-db-data-store.js +0 -107
- package/lib/components/event-bridge/data-event-bus.d.ts +0 -19
- package/lib/components/event-bridge/data-event-bus.js +0 -34
- package/lib/components/event-bridge/ops-event-bus.d.ts +0 -19
- package/lib/components/event-bridge/ops-event-bus.js +0 -34
- package/lib/components/global.d.ts +0 -36
- package/lib/components/global.js +0 -63
- package/lib/components/index.d.ts +0 -1
- package/lib/components/index.js +0 -18
- package/lib/components/route-53/child-hosted-zone.d.ts +0 -20
- package/lib/components/route-53/child-hosted-zone.js +0 -48
- package/lib/components/route-53/root-hosted-zone.d.ts +0 -10
- package/lib/components/route-53/root-hosted-zone.js +0 -20
- package/lib/components/ssm/discoverable-string-parameter.d.ts +0 -59
- package/lib/components/ssm/discoverable-string-parameter.js +0 -50
- package/lib/components/ssm/index.d.ts +0 -1
- package/lib/components/ssm/index.js +0 -18
- package/lib/data/dynamo/ehr/r4/Patient.d.ts +0 -180
- package/lib/data/dynamo/ehr/r4/Patient.js +0 -192
- package/lib/data/dynamo/ehr/r4/ehr-r4-data-service.d.ts +0 -162
- package/lib/data/dynamo/ehr/r4/ehr-r4-data-service.js +0 -37
- package/lib/data/hello-world.d.ts +0 -39
- package/lib/data/hello-world.js +0 -59
- package/lib/data/import-patient-with-dynalite.d.ts +0 -1
- package/lib/data/import-patient-with-dynalite.js +0 -87
- package/lib/data/import-patient.d.ts +0 -47
- package/lib/data/import-patient.js +0 -158
- package/lib/data/lambda/rest-api-lambda.d.ts +0 -13
- package/lib/data/lambda/rest-api-lambda.handler.d.ts +0 -1
- package/lib/data/lambda/rest-api-lambda.handler.js +0 -10
- package/lib/data/lambda/rest-api-lambda.js +0 -22
- package/lib/data/middleware/open-hi-context.d.ts +0 -13
- package/lib/data/middleware/open-hi-context.js +0 -31
- package/lib/data/rest-api/ehr/r4/Patient.d.ts +0 -16
- package/lib/data/rest-api/ehr/r4/Patient.js +0 -234
- package/lib/data/rest-api/rest-api-local.d.ts +0 -1
- package/lib/data/rest-api/rest-api-local.js +0 -8
- package/lib/data/rest-api/rest-api-mockdata.d.ts +0 -7
- package/lib/data/rest-api/rest-api-mockdata.js +0 -585
- package/lib/data/rest-api/rest-api.d.ts +0 -3
- package/lib/data/rest-api/rest-api.js +0 -26
- package/lib/lib/compression.d.ts +0 -27
- package/lib/lib/compression.js +0 -87
- package/lib/services/index.d.ts +0 -5
- package/lib/services/index.js +0 -22
- package/lib/services/open-hi-auth-service.d.ts +0 -31
- package/lib/services/open-hi-auth-service.js +0 -31
- package/lib/services/open-hi-core-service.d.ts +0 -15
- package/lib/services/open-hi-core-service.js +0 -38
- package/lib/services/open-hi-data-service.d.ts +0 -18
- package/lib/services/open-hi-data-service.js +0 -18
- package/lib/services/open-hi-global-service.d.ts +0 -15
- package/lib/services/open-hi-global-service.js +0 -44
- package/lib/services/open-hi-rest-api-service.d.ts +0 -17
- package/lib/services/open-hi-rest-api-service.js +0 -107
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoreHttpApi = void 0;
|
|
4
|
-
const aws_apigatewayv2_1 = require("aws-cdk-lib/aws-apigatewayv2");
|
|
5
|
-
const open_hi_service_1 = require("../../app/open-hi-service");
|
|
6
|
-
const ssm_1 = require("../ssm");
|
|
7
|
-
class CoreHttpApi extends aws_apigatewayv2_1.HttpApi {
|
|
8
|
-
static fromConstruct(scope) {
|
|
9
|
-
const httpApiId = ssm_1.DiscoverableStringParameter.valueForLookupName(scope, {
|
|
10
|
-
ssmParamName: CoreHttpApi.SSM_PARAM_NAME,
|
|
11
|
-
serviceType: open_hi_service_1.OPEN_HI_SERVICE_TYPE.REST_API,
|
|
12
|
-
});
|
|
13
|
-
return aws_apigatewayv2_1.HttpApi.fromHttpApiAttributes(scope, "http-api", {
|
|
14
|
-
httpApiId,
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
constructor(scope, props = {}) {
|
|
18
|
-
const stack = open_hi_service_1.OpenHiService.of(scope);
|
|
19
|
-
super(scope, "http-api", {
|
|
20
|
-
/**
|
|
21
|
-
* User provided props
|
|
22
|
-
*/
|
|
23
|
-
...props,
|
|
24
|
-
/**
|
|
25
|
-
* Required
|
|
26
|
-
*/
|
|
27
|
-
apiName: ["core", "http", "api", stack.branchHash].join("-"),
|
|
28
|
-
});
|
|
29
|
-
/**
|
|
30
|
-
* Generate the SSM Parameter used to store this API's ID.
|
|
31
|
-
*/
|
|
32
|
-
new ssm_1.DiscoverableStringParameter(this, "http-api-url-param", {
|
|
33
|
-
ssmParamName: CoreHttpApi.SSM_PARAM_NAME,
|
|
34
|
-
serviceType: open_hi_service_1.OPEN_HI_SERVICE_TYPE.REST_API,
|
|
35
|
-
stringValue: this.httpApiId,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
exports.CoreHttpApi = CoreHttpApi;
|
|
40
|
-
/**
|
|
41
|
-
* Used when storing the API ID in SSM.
|
|
42
|
-
*/
|
|
43
|
-
CoreHttpApi.SSM_PARAM_NAME = "CORE_HTTP_API";
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1odHRwLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FwaS1nYXRld2F5L2NvcmUtaHR0cC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQStFO0FBRS9FLCtEQUFnRjtBQUNoRixnQ0FBcUQ7QUFFckQsTUFBYSxXQUFZLFNBQVEsMEJBQU87SUFNL0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFnQjtRQUMxQyxNQUFNLFNBQVMsR0FBRyxpQ0FBMkIsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7WUFDdEUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxjQUFjO1lBQ3hDLFdBQVcsRUFBRSxzQ0FBb0IsQ0FBQyxRQUFRO1NBQzNDLENBQUMsQ0FBQztRQUVILE9BQU8sMEJBQU8sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO1lBQ3RELFNBQVM7U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLFFBQXNCLEVBQUU7UUFDcEQsTUFBTSxLQUFLLEdBQUcsK0JBQWEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFrQixDQUFDO1FBRXZELEtBQUssQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO1lBQ3ZCOztlQUVHO1lBQ0gsR0FBRyxLQUFLO1lBRVI7O2VBRUc7WUFDSCxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUM3RCxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNILElBQUksaUNBQTJCLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQzFELFlBQVksRUFBRSxXQUFXLENBQUMsY0FBYztZQUN4QyxXQUFXLEVBQUUsc0NBQW9CLENBQUMsUUFBUTtZQUMxQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF4Q0gsa0NBeUNDO0FBeENDOztHQUVHO0FBQ29CLDBCQUFjLEdBQUcsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEFwaSwgSHR0cEFwaVByb3BzLCBJSHR0cEFwaSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheXYyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgT1BFTl9ISV9TRVJWSUNFX1RZUEUsIE9wZW5IaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vYXBwL29wZW4taGktc2VydmljZVwiO1xuaW1wb3J0IHsgRGlzY292ZXJhYmxlU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSBcIi4uL3NzbVwiO1xuXG5leHBvcnQgY2xhc3MgQ29yZUh0dHBBcGkgZXh0ZW5kcyBIdHRwQXBpIHtcbiAgLyoqXG4gICAqIFVzZWQgd2hlbiBzdG9yaW5nIHRoZSBBUEkgSUQgaW4gU1NNLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTU01fUEFSQU1fTkFNRSA9IFwiQ09SRV9IVFRQX0FQSVwiO1xuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNvbnN0cnVjdChzY29wZTogQ29uc3RydWN0KTogSUh0dHBBcGkge1xuICAgIGNvbnN0IGh0dHBBcGlJZCA9IERpc2NvdmVyYWJsZVN0cmluZ1BhcmFtZXRlci52YWx1ZUZvckxvb2t1cE5hbWUoc2NvcGUsIHtcbiAgICAgIHNzbVBhcmFtTmFtZTogQ29yZUh0dHBBcGkuU1NNX1BBUkFNX05BTUUsXG4gICAgICBzZXJ2aWNlVHlwZTogT1BFTl9ISV9TRVJWSUNFX1RZUEUuUkVTVF9BUEksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gSHR0cEFwaS5mcm9tSHR0cEFwaUF0dHJpYnV0ZXMoc2NvcGUsIFwiaHR0cC1hcGlcIiwge1xuICAgICAgaHR0cEFwaUlkLFxuICAgIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEh0dHBBcGlQcm9wcyA9IHt9KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBPcGVuSGlTZXJ2aWNlLm9mKHNjb3BlKSBhcyBPcGVuSGlTZXJ2aWNlO1xuXG4gICAgc3VwZXIoc2NvcGUsIFwiaHR0cC1hcGlcIiwge1xuICAgICAgLyoqXG4gICAgICAgKiBVc2VyIHByb3ZpZGVkIHByb3BzXG4gICAgICAgKi9cbiAgICAgIC4uLnByb3BzLFxuXG4gICAgICAvKipcbiAgICAgICAqIFJlcXVpcmVkXG4gICAgICAgKi9cbiAgICAgIGFwaU5hbWU6IFtcImNvcmVcIiwgXCJodHRwXCIsIFwiYXBpXCIsIHN0YWNrLmJyYW5jaEhhc2hdLmpvaW4oXCItXCIpLFxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGUgdGhlIFNTTSBQYXJhbWV0ZXIgdXNlZCB0byBzdG9yZSB0aGlzIEFQSSdzIElELlxuICAgICAqL1xuICAgIG5ldyBEaXNjb3ZlcmFibGVTdHJpbmdQYXJhbWV0ZXIodGhpcywgXCJodHRwLWFwaS11cmwtcGFyYW1cIiwge1xuICAgICAgc3NtUGFyYW1OYW1lOiBDb3JlSHR0cEFwaS5TU01fUEFSQU1fTkFNRSxcbiAgICAgIHNlcnZpY2VUeXBlOiBPUEVOX0hJX1NFUlZJQ0VfVFlQRS5SRVNUX0FQSSxcbiAgICAgIHN0cmluZ1ZhbHVlOiB0aGlzLmh0dHBBcGlJZCxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { HttpRouteIntegrationBindOptions } from "aws-cdk-lib/aws-apigatewayv2";
|
|
2
|
-
import { HttpLambdaIntegration, HttpLambdaIntegrationProps } from "aws-cdk-lib/aws-apigatewayv2-integrations";
|
|
3
|
-
import { IFunction } from "aws-cdk-lib/aws-lambda";
|
|
4
|
-
/*******************************************************************************
|
|
5
|
-
*
|
|
6
|
-
* This construct is needed because the default construct will add a permission
|
|
7
|
-
* to the lambda for each individual route. The resulting permissions route is
|
|
8
|
-
* far too large, exceeds policy size limits, and breaks deployments in
|
|
9
|
-
* CloudFormation.
|
|
10
|
-
*
|
|
11
|
-
* Since we aren't setting permissions here, they will need to be added to the
|
|
12
|
-
* lambda manually.
|
|
13
|
-
*
|
|
14
|
-
******************************************************************************/
|
|
15
|
-
export declare class HttpLambdaIntegrationNoPermissions extends HttpLambdaIntegration {
|
|
16
|
-
constructor(id: string, handler: IFunction, props?: HttpLambdaIntegrationProps);
|
|
17
|
-
protected completeBind(options: HttpRouteIntegrationBindOptions): void;
|
|
18
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HttpLambdaIntegrationNoPermissions = void 0;
|
|
4
|
-
const aws_apigatewayv2_integrations_1 = require("aws-cdk-lib/aws-apigatewayv2-integrations");
|
|
5
|
-
/*******************************************************************************
|
|
6
|
-
*
|
|
7
|
-
* This construct is needed because the default construct will add a permission
|
|
8
|
-
* to the lambda for each individual route. The resulting permissions route is
|
|
9
|
-
* far too large, exceeds policy size limits, and breaks deployments in
|
|
10
|
-
* CloudFormation.
|
|
11
|
-
*
|
|
12
|
-
* Since we aren't setting permissions here, they will need to be added to the
|
|
13
|
-
* lambda manually.
|
|
14
|
-
*
|
|
15
|
-
******************************************************************************/
|
|
16
|
-
class HttpLambdaIntegrationNoPermissions extends aws_apigatewayv2_integrations_1.HttpLambdaIntegration {
|
|
17
|
-
constructor(id, handler, props = {}) {
|
|
18
|
-
super(id, handler, props);
|
|
19
|
-
}
|
|
20
|
-
// @ts-ignore
|
|
21
|
-
completeBind(options) {
|
|
22
|
-
// do nothing, we are intentionally not adding permissions here
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
exports.HttpLambdaIntegrationNoPermissions = HttpLambdaIntegrationNoPermissions;
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1sYW1iZGEtaW50ZWdyYXRpb24tbm8tcGVybWlzc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcGktZ2F0ZXdheS9odHRwLWxhbWJkYS1pbnRlZ3JhdGlvbi1uby1wZXJtaXNzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2RkFHbUQ7QUFHbkQ7Ozs7Ozs7Ozs7Z0ZBVWdGO0FBRWhGLE1BQWEsa0NBQW1DLFNBQVEscURBQXFCO0lBQzNFLFlBQ0UsRUFBVSxFQUNWLE9BQWtCLEVBQ2xCLFFBQW9DLEVBQUU7UUFFdEMsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGFBQWE7SUFDSCxZQUFZLENBQUMsT0FBd0M7UUFDN0QsK0RBQStEO0lBQ2pFLENBQUM7Q0FDRjtBQWJELGdGQWFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJvdXRlSW50ZWdyYXRpb25CaW5kT3B0aW9ucyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheXYyXCI7XG5pbXBvcnQge1xuICBIdHRwTGFtYmRhSW50ZWdyYXRpb24sXG4gIEh0dHBMYW1iZGFJbnRlZ3JhdGlvblByb3BzLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXl2Mi1pbnRlZ3JhdGlvbnNcIjtcbmltcG9ydCB7IElGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKlxuICogVGhpcyBjb25zdHJ1Y3QgaXMgbmVlZGVkIGJlY2F1c2UgdGhlIGRlZmF1bHQgY29uc3RydWN0IHdpbGwgYWRkIGEgcGVybWlzc2lvblxuICogdG8gdGhlIGxhbWJkYSBmb3IgZWFjaCBpbmRpdmlkdWFsIHJvdXRlLiBUaGUgcmVzdWx0aW5nIHBlcm1pc3Npb25zIHJvdXRlIGlzXG4gKiBmYXIgdG9vIGxhcmdlLCBleGNlZWRzIHBvbGljeSBzaXplIGxpbWl0cywgYW5kIGJyZWFrcyBkZXBsb3ltZW50cyBpblxuICogQ2xvdWRGb3JtYXRpb24uXG4gKlxuICogU2luY2Ugd2UgYXJlbid0IHNldHRpbmcgcGVybWlzc2lvbnMgaGVyZSwgdGhleSB3aWxsIG5lZWQgdG8gYmUgYWRkZWQgdG8gdGhlXG4gKiBsYW1iZGEgbWFudWFsbHkuXG4gKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuZXhwb3J0IGNsYXNzIEh0dHBMYW1iZGFJbnRlZ3JhdGlvbk5vUGVybWlzc2lvbnMgZXh0ZW5kcyBIdHRwTGFtYmRhSW50ZWdyYXRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBpZDogc3RyaW5nLFxuICAgIGhhbmRsZXI6IElGdW5jdGlvbixcbiAgICBwcm9wczogSHR0cExhbWJkYUludGVncmF0aW9uUHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIoaWQsIGhhbmRsZXIsIHByb3BzKTtcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcHJvdGVjdGVkIGNvbXBsZXRlQmluZChvcHRpb25zOiBIdHRwUm91dGVJbnRlZ3JhdGlvbkJpbmRPcHRpb25zKSB7XG4gICAgLy8gZG8gbm90aGluZywgd2UgYXJlIGludGVudGlvbmFsbHkgbm90IGFkZGluZyBwZXJtaXNzaW9ucyBoZXJlXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { GraphqlApi, GraphqlApiProps, IGraphqlApi } from "aws-cdk-lib/aws-appsync";
|
|
2
|
-
import { Construct } from "constructs";
|
|
3
|
-
export interface CoreGraphqlApiProps extends GraphqlApiProps {
|
|
4
|
-
}
|
|
5
|
-
export declare class CoreGraphqlApi extends GraphqlApi {
|
|
6
|
-
/**
|
|
7
|
-
* Used when storing the GraphQl API ID in SSM.
|
|
8
|
-
*/
|
|
9
|
-
static readonly SSM_PARAM_NAME = "CORE_GRAPHQL_API";
|
|
10
|
-
static fromConstruct(scope: Construct): IGraphqlApi;
|
|
11
|
-
constructor(scope: Construct, props?: Omit<CoreGraphqlApiProps, "name">);
|
|
12
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoreGraphqlApi = void 0;
|
|
4
|
-
const aws_appsync_1 = require("aws-cdk-lib/aws-appsync");
|
|
5
|
-
const awscdk_appsync_utils_1 = require("awscdk-appsync-utils");
|
|
6
|
-
const app_1 = require("../../app");
|
|
7
|
-
const ssm_1 = require("../ssm");
|
|
8
|
-
class CoreGraphqlApi extends aws_appsync_1.GraphqlApi {
|
|
9
|
-
static fromConstruct(scope) {
|
|
10
|
-
const graphqlApiId = ssm_1.DiscoverableStringParameter.valueForLookupName(scope, {
|
|
11
|
-
ssmParamName: CoreGraphqlApi.SSM_PARAM_NAME,
|
|
12
|
-
serviceType: app_1.OPEN_HI_SERVICE_TYPE.CORE,
|
|
13
|
-
});
|
|
14
|
-
return aws_appsync_1.GraphqlApi.fromGraphqlApiAttributes(scope, "core-graphql-api", {
|
|
15
|
-
graphqlApiId,
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
constructor(scope, props) {
|
|
19
|
-
const stack = app_1.OpenHiService.of(scope);
|
|
20
|
-
const schema = new awscdk_appsync_utils_1.CodeFirstSchema();
|
|
21
|
-
schema.addType(new awscdk_appsync_utils_1.ObjectType("Query", {
|
|
22
|
-
definition: { HelloWorld: awscdk_appsync_utils_1.GraphqlType.string() },
|
|
23
|
-
}));
|
|
24
|
-
super(scope, "core-graphql-api", {
|
|
25
|
-
/**
|
|
26
|
-
* Defaults
|
|
27
|
-
*/
|
|
28
|
-
queryDepthLimit: 2,
|
|
29
|
-
resolverCountLimit: 50,
|
|
30
|
-
definition: aws_appsync_1.Definition.fromSchema(schema),
|
|
31
|
-
/**
|
|
32
|
-
* Overrideable props
|
|
33
|
-
*/
|
|
34
|
-
...props,
|
|
35
|
-
/**
|
|
36
|
-
* Required
|
|
37
|
-
*/
|
|
38
|
-
name: ["core", "api", stack.branchHash].join("-"),
|
|
39
|
-
});
|
|
40
|
-
/**
|
|
41
|
-
* Generate the SSM Parameter used to store this GraphQL API's ID.
|
|
42
|
-
*/
|
|
43
|
-
new ssm_1.DiscoverableStringParameter(this, "graphql-api-param", {
|
|
44
|
-
ssmParamName: CoreGraphqlApi.SSM_PARAM_NAME,
|
|
45
|
-
stringValue: this.apiId,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
exports.CoreGraphqlApi = CoreGraphqlApi;
|
|
50
|
-
/**
|
|
51
|
-
* Used when storing the GraphQl API ID in SSM.
|
|
52
|
-
*/
|
|
53
|
-
CoreGraphqlApi.SSM_PARAM_NAME = "CORE_GRAPHQL_API";
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1ncmFwaHFsLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FwcC1zeW5jL2NvcmUtZ3JhcGhxbC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseURBS2lDO0FBQ2pDLCtEQUFnRjtBQUVoRixtQ0FBZ0U7QUFDaEUsZ0NBQXFEO0FBSXJELE1BQWEsY0FBZSxTQUFRLHdCQUFVO0lBTXJDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBZ0I7UUFDMUMsTUFBTSxZQUFZLEdBQUcsaUNBQTJCLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFO1lBQ3pFLFlBQVksRUFBRSxjQUFjLENBQUMsY0FBYztZQUMzQyxXQUFXLEVBQUUsMEJBQW9CLENBQUMsSUFBSTtTQUN2QyxDQUFDLENBQUM7UUFFSCxPQUFPLHdCQUFVLENBQUMsd0JBQXdCLENBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFO1lBQ3BFLFlBQVk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLEtBQXlDO1FBQ3JFLE1BQU0sS0FBSyxHQUFHLG1CQUFhLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBa0IsQ0FBQztRQUV2RCxNQUFNLE1BQU0sR0FBRyxJQUFJLHNDQUFlLEVBQUUsQ0FBQztRQUNyQyxNQUFNLENBQUMsT0FBTyxDQUNaLElBQUksaUNBQVUsQ0FBQyxPQUFPLEVBQUU7WUFDdEIsVUFBVSxFQUFFLEVBQUUsVUFBVSxFQUFFLGtDQUFXLENBQUMsTUFBTSxFQUFFLEVBQUU7U0FDakQsQ0FBQyxDQUNILENBQUM7UUFFRixLQUFLLENBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFO1lBQy9COztlQUVHO1lBQ0gsZUFBZSxFQUFFLENBQUM7WUFDbEIsa0JBQWtCLEVBQUUsRUFBRTtZQUN0QixVQUFVLEVBQUUsd0JBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBRXpDOztlQUVHO1lBQ0gsR0FBRyxLQUFLO1lBRVI7O2VBRUc7WUFDSCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2xELENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ0gsSUFBSSxpQ0FBMkIsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7WUFDekQsWUFBWSxFQUFFLGNBQWMsQ0FBQyxjQUFjO1lBQzNDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSztTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXJESCx3Q0FtRkM7QUFsRkM7O0dBRUc7QUFDb0IsNkJBQWMsR0FBRyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERlZmluaXRpb24sXG4gIEdyYXBocWxBcGksXG4gIEdyYXBocWxBcGlQcm9wcyxcbiAgSUdyYXBocWxBcGksXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBwc3luY1wiO1xuaW1wb3J0IHsgQ29kZUZpcnN0U2NoZW1hLCBHcmFwaHFsVHlwZSwgT2JqZWN0VHlwZSB9IGZyb20gXCJhd3NjZGstYXBwc3luYy11dGlsc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE9QRU5fSElfU0VSVklDRV9UWVBFLCBPcGVuSGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2FwcFwiO1xuaW1wb3J0IHsgRGlzY292ZXJhYmxlU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSBcIi4uL3NzbVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvcmVHcmFwaHFsQXBpUHJvcHMgZXh0ZW5kcyBHcmFwaHFsQXBpUHJvcHMge31cblxuZXhwb3J0IGNsYXNzIENvcmVHcmFwaHFsQXBpIGV4dGVuZHMgR3JhcGhxbEFwaSB7XG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gc3RvcmluZyB0aGUgR3JhcGhRbCBBUEkgSUQgaW4gU1NNLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTU01fUEFSQU1fTkFNRSA9IFwiQ09SRV9HUkFQSFFMX0FQSVwiO1xuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNvbnN0cnVjdChzY29wZTogQ29uc3RydWN0KTogSUdyYXBocWxBcGkge1xuICAgIGNvbnN0IGdyYXBocWxBcGlJZCA9IERpc2NvdmVyYWJsZVN0cmluZ1BhcmFtZXRlci52YWx1ZUZvckxvb2t1cE5hbWUoc2NvcGUsIHtcbiAgICAgIHNzbVBhcmFtTmFtZTogQ29yZUdyYXBocWxBcGkuU1NNX1BBUkFNX05BTUUsXG4gICAgICBzZXJ2aWNlVHlwZTogT1BFTl9ISV9TRVJWSUNFX1RZUEUuQ09SRSxcbiAgICB9KTtcblxuICAgIHJldHVybiBHcmFwaHFsQXBpLmZyb21HcmFwaHFsQXBpQXR0cmlidXRlcyhzY29wZSwgXCJjb3JlLWdyYXBocWwtYXBpXCIsIHtcbiAgICAgIGdyYXBocWxBcGlJZCxcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzPzogT21pdDxDb3JlR3JhcGhxbEFwaVByb3BzLCBcIm5hbWVcIj4pIHtcbiAgICBjb25zdCBzdGFjayA9IE9wZW5IaVNlcnZpY2Uub2Yoc2NvcGUpIGFzIE9wZW5IaVNlcnZpY2U7XG5cbiAgICBjb25zdCBzY2hlbWEgPSBuZXcgQ29kZUZpcnN0U2NoZW1hKCk7XG4gICAgc2NoZW1hLmFkZFR5cGUoXG4gICAgICBuZXcgT2JqZWN0VHlwZShcIlF1ZXJ5XCIsIHtcbiAgICAgICAgZGVmaW5pdGlvbjogeyBIZWxsb1dvcmxkOiBHcmFwaHFsVHlwZS5zdHJpbmcoKSB9LFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIHN1cGVyKHNjb3BlLCBcImNvcmUtZ3JhcGhxbC1hcGlcIiwge1xuICAgICAgLyoqXG4gICAgICAgKiBEZWZhdWx0c1xuICAgICAgICovXG4gICAgICBxdWVyeURlcHRoTGltaXQ6IDIsXG4gICAgICByZXNvbHZlckNvdW50TGltaXQ6IDUwLFxuICAgICAgZGVmaW5pdGlvbjogRGVmaW5pdGlvbi5mcm9tU2NoZW1hKHNjaGVtYSksXG5cbiAgICAgIC8qKlxuICAgICAgICogT3ZlcnJpZGVhYmxlIHByb3BzXG4gICAgICAgKi9cbiAgICAgIC4uLnByb3BzLFxuXG4gICAgICAvKipcbiAgICAgICAqIFJlcXVpcmVkXG4gICAgICAgKi9cbiAgICAgIG5hbWU6IFtcImNvcmVcIiwgXCJhcGlcIiwgc3RhY2suYnJhbmNoSGFzaF0uam9pbihcIi1cIiksXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZSB0aGUgU1NNIFBhcmFtZXRlciB1c2VkIHRvIHN0b3JlIHRoaXMgR3JhcGhRTCBBUEkncyBJRC5cbiAgICAgKi9cbiAgICBuZXcgRGlzY292ZXJhYmxlU3RyaW5nUGFyYW1ldGVyKHRoaXMsIFwiZ3JhcGhxbC1hcGktcGFyYW1cIiwge1xuICAgICAgc3NtUGFyYW1OYW1lOiBDb3JlR3JhcGhxbEFwaS5TU01fUEFSQU1fTkFNRSxcbiAgICAgIHN0cmluZ1ZhbHVlOiB0aGlzLmFwaUlkLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gcHJvdGVjdGVkIGNyZWF0ZUdyYXBoUWxBcGkoKTogdm9pZCB7XG4gIC8vICAgaWYgKCF0aGlzLmdyYXBoUWxBcGkpIHtcbiAgLy8gICAgIGlmICghdGhpcy5wcm9wcy5jb2duaXRvLnVzZXJQb29sKSB7XG4gIC8vICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvZ25pdG8gVXNlciBQb29sIGlzIHJlcXVpcmVkXCIpO1xuICAvLyAgICAgfVxuXG4gIC8vICAgICB0aGlzLmdyYXBoUWxBcGkgPSBuZXcgR3JhcGhxbEFwaSh0aGlzLCBcImFwaVwiLCB7XG4gIC8vICAgICAgIG5hbWU6IHRoaXMuZ3JhcGhRbEFwaU5hbWUsXG4gIC8vICAgICAgIGRlZmluaXRpb246IERlZmluaXRpb24uZnJvbUZpbGUoam9pbihfX2Rpcm5hbWUsIFwic2NoZW1hLmdyYXBocWxcIikpLFxuICAvLyAgICAgICAvKipcbiAgLy8gICAgICAgICogV2UnbGwgYmUgdXNpbmcgY29nbml0byBhcyB0aGUgYXV0aG9yaXplclxuICAvLyAgICAgICAgKi9cbiAgLy8gICAgICAgYXV0aG9yaXphdGlvbkNvbmZpZzoge1xuICAvLyAgICAgICAgIGRlZmF1bHRBdXRob3JpemF0aW9uOiB7XG4gIC8vICAgICAgICAgICBhdXRob3JpemF0aW9uVHlwZTogQXV0aG9yaXphdGlvblR5cGUuVVNFUl9QT09MLFxuICAvLyAgICAgICAgICAgdXNlclBvb2xDb25maWc6IHtcbiAgLy8gICAgICAgICAgICAgdXNlclBvb2w6IHRoaXMucHJvcHMuY29nbml0by51c2VyUG9vbCxcbiAgLy8gICAgICAgICAgIH0sXG4gIC8vICAgICAgICAgfSxcbiAgLy8gICAgICAgfSxcbiAgLy8gICAgICAgLyoqXG4gIC8vICAgICAgICAqIFNvbWUgZGVmYXVsdHMgd2UgbWF5IG5lZWQgdG8gY2hhbmdlIGxhdGVyLlxuICAvLyAgICAgICAgKi9cbiAgLy8gICAgICAgcXVlcnlEZXB0aExpbWl0OiAyLFxuICAvLyAgICAgICByZXNvbHZlckNvdW50TGltaXQ6IDUwLFxuICAvLyAgICAgfSk7XG4gIC8vICAgfVxuICAvLyB9XG59XG4iXX0=
|
package/lib/components/auth.d.ts
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { IUserPool, IUserPoolClient, IUserPoolDomain, UserPoolProps } from "aws-cdk-lib/aws-cognito";
|
|
2
|
-
import { IKey } from "aws-cdk-lib/aws-kms";
|
|
3
|
-
import { Construct } from "constructs";
|
|
4
|
-
export interface AuthProps {
|
|
5
|
-
/**
|
|
6
|
-
* Optional props for creating the user pool.
|
|
7
|
-
*/
|
|
8
|
-
readonly userPoolProps?: UserPoolProps;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Auth construct that manages Cognito authentication resources.
|
|
12
|
-
*
|
|
13
|
-
* @remarks
|
|
14
|
-
* The Auth construct provides authentication infrastructure including:
|
|
15
|
-
* - Cognito User Pool for user management and authentication
|
|
16
|
-
* - User Pool Client for application integration
|
|
17
|
-
* - User Pool Domain for hosting the Cognito hosted UI
|
|
18
|
-
* - KMS Key for Cognito User Pool encryption
|
|
19
|
-
*
|
|
20
|
-
* When created in the Auth service (`serviceType === OPEN_HI_SERVICE_TYPE.AUTH`),
|
|
21
|
-
* it creates concrete resources. Otherwise, it imports existing resources
|
|
22
|
-
* from SSM Parameter Store.
|
|
23
|
-
*
|
|
24
|
-
* Use {@link Auth.fromConstruct} to obtain an Auth instance (with resources
|
|
25
|
-
* imported from AUTH SSM parameters) when not in the Auth service, e.g. from
|
|
26
|
-
* the Core construct.
|
|
27
|
-
*
|
|
28
|
-
* @public
|
|
29
|
-
*/
|
|
30
|
-
export declare class Auth extends Construct {
|
|
31
|
-
/**
|
|
32
|
-
* Returns an Auth instance that uses resources imported from AUTH SSM
|
|
33
|
-
* parameters. Use this when creating Core or other stacks that consume
|
|
34
|
-
* auth resources; the Auth stack must be deployed first.
|
|
35
|
-
*
|
|
36
|
-
* @param scope - Construct scope (e.g. Core); must be in a stack that has
|
|
37
|
-
* access to the same account/region as the deployed Auth stack.
|
|
38
|
-
*/
|
|
39
|
-
static fromConstruct(scope: Construct): Auth;
|
|
40
|
-
/**
|
|
41
|
-
* Is this construct being created in the auth service or elsewhere?
|
|
42
|
-
*/
|
|
43
|
-
readonly isAuthService: boolean;
|
|
44
|
-
/**
|
|
45
|
-
* KMS Key used to encrypt the Cognito User Pool. We need a custom key so that
|
|
46
|
-
* we can decrypt tokens when sending emails using something other than SES.
|
|
47
|
-
*/
|
|
48
|
-
readonly userPoolKmsKey: IKey;
|
|
49
|
-
/**
|
|
50
|
-
* Cognito User Pool for user management and authentication.
|
|
51
|
-
*/
|
|
52
|
-
readonly userPool: IUserPool;
|
|
53
|
-
/**
|
|
54
|
-
* Cognito User Pool Client for application integration with the User Pool.
|
|
55
|
-
*/
|
|
56
|
-
readonly userPoolClient: IUserPoolClient;
|
|
57
|
-
/**
|
|
58
|
-
* Cognito User Pool Domain for hosting the Cognito hosted UI.
|
|
59
|
-
*/
|
|
60
|
-
readonly userPoolDomain: IUserPoolDomain;
|
|
61
|
-
constructor(scope: Construct, props?: AuthProps);
|
|
62
|
-
/*****************************************************************************
|
|
63
|
-
*
|
|
64
|
-
* Auth Support
|
|
65
|
-
*
|
|
66
|
-
****************************************************************************/
|
|
67
|
-
protected createUserPoolKmsKey(): IKey;
|
|
68
|
-
protected createUserPool(props?: UserPoolProps): IUserPool;
|
|
69
|
-
protected createUserPoolClient(props: {
|
|
70
|
-
userPool: IUserPool;
|
|
71
|
-
}): IUserPoolClient;
|
|
72
|
-
protected createUserPoolDomain(props: {
|
|
73
|
-
userPool: IUserPool;
|
|
74
|
-
}): IUserPoolDomain;
|
|
75
|
-
}
|
package/lib/components/auth.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Auth = void 0;
|
|
4
|
-
const constructs_1 = require("constructs");
|
|
5
|
-
const open_hi_service_1 = require("../app/open-hi-service");
|
|
6
|
-
const core_user_pool_1 = require("./cognito/core-user-pool");
|
|
7
|
-
const core_user_pool_client_1 = require("./cognito/core-user-pool-client");
|
|
8
|
-
const core_user_pool_domain_1 = require("./cognito/core-user-pool-domain");
|
|
9
|
-
const core_user_pool_kms_key_1 = require("./cognito/core-user-pool-kms-key");
|
|
10
|
-
/**
|
|
11
|
-
* Auth construct that manages Cognito authentication resources.
|
|
12
|
-
*
|
|
13
|
-
* @remarks
|
|
14
|
-
* The Auth construct provides authentication infrastructure including:
|
|
15
|
-
* - Cognito User Pool for user management and authentication
|
|
16
|
-
* - User Pool Client for application integration
|
|
17
|
-
* - User Pool Domain for hosting the Cognito hosted UI
|
|
18
|
-
* - KMS Key for Cognito User Pool encryption
|
|
19
|
-
*
|
|
20
|
-
* When created in the Auth service (`serviceType === OPEN_HI_SERVICE_TYPE.AUTH`),
|
|
21
|
-
* it creates concrete resources. Otherwise, it imports existing resources
|
|
22
|
-
* from SSM Parameter Store.
|
|
23
|
-
*
|
|
24
|
-
* Use {@link Auth.fromConstruct} to obtain an Auth instance (with resources
|
|
25
|
-
* imported from AUTH SSM parameters) when not in the Auth service, e.g. from
|
|
26
|
-
* the Core construct.
|
|
27
|
-
*
|
|
28
|
-
* @public
|
|
29
|
-
*/
|
|
30
|
-
class Auth extends constructs_1.Construct {
|
|
31
|
-
/**
|
|
32
|
-
* Returns an Auth instance that uses resources imported from AUTH SSM
|
|
33
|
-
* parameters. Use this when creating Core or other stacks that consume
|
|
34
|
-
* auth resources; the Auth stack must be deployed first.
|
|
35
|
-
*
|
|
36
|
-
* @param scope - Construct scope (e.g. Core); must be in a stack that has
|
|
37
|
-
* access to the same account/region as the deployed Auth stack.
|
|
38
|
-
*/
|
|
39
|
-
static fromConstruct(scope) {
|
|
40
|
-
return new Auth(scope, {});
|
|
41
|
-
}
|
|
42
|
-
constructor(scope, props = {}) {
|
|
43
|
-
super(scope, "auth");
|
|
44
|
-
/**
|
|
45
|
-
* Reference to parent stack this belongs to.
|
|
46
|
-
*/
|
|
47
|
-
const service = open_hi_service_1.OpenHiService.of(this);
|
|
48
|
-
/**
|
|
49
|
-
* Determine if we are in the auth service or not.
|
|
50
|
-
*/
|
|
51
|
-
this.isAuthService = service.serviceType === open_hi_service_1.OPEN_HI_SERVICE_TYPE.AUTH;
|
|
52
|
-
/**
|
|
53
|
-
* Auth Support
|
|
54
|
-
*/
|
|
55
|
-
this.userPoolKmsKey = this.createUserPoolKmsKey();
|
|
56
|
-
this.userPool = this.createUserPool({
|
|
57
|
-
...props.userPoolProps,
|
|
58
|
-
customSenderKmsKey: this.userPoolKmsKey,
|
|
59
|
-
});
|
|
60
|
-
this.userPoolClient = this.createUserPoolClient({
|
|
61
|
-
userPool: this.userPool,
|
|
62
|
-
});
|
|
63
|
-
this.userPoolDomain = this.createUserPoolDomain({
|
|
64
|
-
userPool: this.userPool,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
/*****************************************************************************
|
|
68
|
-
*
|
|
69
|
-
* Auth Support
|
|
70
|
-
*
|
|
71
|
-
****************************************************************************/
|
|
72
|
-
createUserPoolKmsKey() {
|
|
73
|
-
return this.isAuthService
|
|
74
|
-
? new core_user_pool_kms_key_1.CoreUserPoolKmsKey(this)
|
|
75
|
-
: core_user_pool_kms_key_1.CoreUserPoolKmsKey.fromConstruct(this);
|
|
76
|
-
}
|
|
77
|
-
createUserPool(props) {
|
|
78
|
-
return this.isAuthService
|
|
79
|
-
? new core_user_pool_1.CoreUserPool(this, props)
|
|
80
|
-
: core_user_pool_1.CoreUserPool.fromConstruct(this);
|
|
81
|
-
}
|
|
82
|
-
createUserPoolClient(props) {
|
|
83
|
-
return this.isAuthService
|
|
84
|
-
? new core_user_pool_client_1.CoreUserPoolClient(this, { userPool: props.userPool })
|
|
85
|
-
: core_user_pool_client_1.CoreUserPoolClient.fromConstruct(this);
|
|
86
|
-
}
|
|
87
|
-
createUserPoolDomain(props) {
|
|
88
|
-
const service = open_hi_service_1.OpenHiService.of(this);
|
|
89
|
-
return this.isAuthService
|
|
90
|
-
? new core_user_pool_domain_1.CoreUserPoolDomain(this, {
|
|
91
|
-
userPool: props.userPool,
|
|
92
|
-
cognitoDomain: {
|
|
93
|
-
domainPrefix: `auth-${service.branchHash}`,
|
|
94
|
-
},
|
|
95
|
-
})
|
|
96
|
-
: core_user_pool_domain_1.CoreUserPoolDomain.fromConstruct(this);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
exports.Auth = Auth;
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2F1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBT0EsMkNBQXVDO0FBQ3ZDLDREQUE2RTtBQUM3RSw2REFBd0Q7QUFDeEQsMkVBQXFFO0FBQ3JFLDJFQUFxRTtBQUNyRSw2RUFBc0U7QUFTdEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFhLElBQUssU0FBUSxzQkFBUztJQUNqQzs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFnQjtRQUMxQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBNEJELFlBQVksS0FBZ0IsRUFBRSxRQUFtQixFQUFFO1FBQ2pELEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckI7O1dBRUc7UUFDSCxNQUFNLE9BQU8sR0FBRywrQkFBYSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQWtCLENBQUM7UUFFeEQ7O1dBRUc7UUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEtBQUssc0NBQW9CLENBQUMsSUFBSSxDQUFDO1FBRXZFOztXQUVHO1FBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDbEMsR0FBRyxLQUFLLENBQUMsYUFBYTtZQUN0QixrQkFBa0IsRUFBRSxJQUFJLENBQUMsY0FBYztTQUN4QyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztZQUM5QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7WUFDOUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztrRkFJOEU7SUFFcEUsb0JBQW9CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLGFBQWE7WUFDdkIsQ0FBQyxDQUFDLElBQUksMkNBQWtCLENBQUMsSUFBSSxDQUFDO1lBQzlCLENBQUMsQ0FBQywyQ0FBa0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFxQjtRQUM1QyxPQUFPLElBQUksQ0FBQyxhQUFhO1lBQ3ZCLENBQUMsQ0FBQyxJQUFJLDZCQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQztZQUMvQixDQUFDLENBQUMsNkJBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVTLG9CQUFvQixDQUFDLEtBRTlCO1FBQ0MsT0FBTyxJQUFJLENBQUMsYUFBYTtZQUN2QixDQUFDLENBQUMsSUFBSSwwQ0FBa0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVELENBQUMsQ0FBQywwQ0FBa0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVTLG9CQUFvQixDQUFDLEtBRTlCO1FBQ0MsTUFBTSxPQUFPLEdBQUcsK0JBQWEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFrQixDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLGFBQWE7WUFDdkIsQ0FBQyxDQUFDLElBQUksMENBQWtCLENBQUMsSUFBSSxFQUFFO2dCQUMzQixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7Z0JBQ3hCLGFBQWEsRUFBRTtvQkFDYixZQUFZLEVBQUUsUUFBUSxPQUFPLENBQUMsVUFBVSxFQUFFO2lCQUMzQzthQUNGLENBQUM7WUFDSixDQUFDLENBQUMsMENBQWtCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRjtBQTNHRCxvQkEyR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJVXNlclBvb2wsXG4gIElVc2VyUG9vbENsaWVudCxcbiAgSVVzZXJQb29sRG9tYWluLFxuICBVc2VyUG9vbFByb3BzLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZ25pdG9cIjtcbmltcG9ydCB7IElLZXkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWttc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE9QRU5fSElfU0VSVklDRV9UWVBFLCBPcGVuSGlTZXJ2aWNlIH0gZnJvbSBcIi4uL2FwcC9vcGVuLWhpLXNlcnZpY2VcIjtcbmltcG9ydCB7IENvcmVVc2VyUG9vbCB9IGZyb20gXCIuL2NvZ25pdG8vY29yZS11c2VyLXBvb2xcIjtcbmltcG9ydCB7IENvcmVVc2VyUG9vbENsaWVudCB9IGZyb20gXCIuL2NvZ25pdG8vY29yZS11c2VyLXBvb2wtY2xpZW50XCI7XG5pbXBvcnQgeyBDb3JlVXNlclBvb2xEb21haW4gfSBmcm9tIFwiLi9jb2duaXRvL2NvcmUtdXNlci1wb29sLWRvbWFpblwiO1xuaW1wb3J0IHsgQ29yZVVzZXJQb29sS21zS2V5IH0gZnJvbSBcIi4vY29nbml0by9jb3JlLXVzZXItcG9vbC1rbXMta2V5XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFByb3BzIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHByb3BzIGZvciBjcmVhdGluZyB0aGUgdXNlciBwb29sLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlclBvb2xQcm9wcz86IFVzZXJQb29sUHJvcHM7XG59XG5cbi8qKlxuICogQXV0aCBjb25zdHJ1Y3QgdGhhdCBtYW5hZ2VzIENvZ25pdG8gYXV0aGVudGljYXRpb24gcmVzb3VyY2VzLlxuICpcbiAqIEByZW1hcmtzXG4gKiBUaGUgQXV0aCBjb25zdHJ1Y3QgcHJvdmlkZXMgYXV0aGVudGljYXRpb24gaW5mcmFzdHJ1Y3R1cmUgaW5jbHVkaW5nOlxuICogLSBDb2duaXRvIFVzZXIgUG9vbCBmb3IgdXNlciBtYW5hZ2VtZW50IGFuZCBhdXRoZW50aWNhdGlvblxuICogLSBVc2VyIFBvb2wgQ2xpZW50IGZvciBhcHBsaWNhdGlvbiBpbnRlZ3JhdGlvblxuICogLSBVc2VyIFBvb2wgRG9tYWluIGZvciBob3N0aW5nIHRoZSBDb2duaXRvIGhvc3RlZCBVSVxuICogLSBLTVMgS2V5IGZvciBDb2duaXRvIFVzZXIgUG9vbCBlbmNyeXB0aW9uXG4gKlxuICogV2hlbiBjcmVhdGVkIGluIHRoZSBBdXRoIHNlcnZpY2UgKGBzZXJ2aWNlVHlwZSA9PT0gT1BFTl9ISV9TRVJWSUNFX1RZUEUuQVVUSGApLFxuICogaXQgY3JlYXRlcyBjb25jcmV0ZSByZXNvdXJjZXMuIE90aGVyd2lzZSwgaXQgaW1wb3J0cyBleGlzdGluZyByZXNvdXJjZXNcbiAqIGZyb20gU1NNIFBhcmFtZXRlciBTdG9yZS5cbiAqXG4gKiBVc2Uge0BsaW5rIEF1dGguZnJvbUNvbnN0cnVjdH0gdG8gb2J0YWluIGFuIEF1dGggaW5zdGFuY2UgKHdpdGggcmVzb3VyY2VzXG4gKiBpbXBvcnRlZCBmcm9tIEFVVEggU1NNIHBhcmFtZXRlcnMpIHdoZW4gbm90IGluIHRoZSBBdXRoIHNlcnZpY2UsIGUuZy4gZnJvbVxuICogdGhlIENvcmUgY29uc3RydWN0LlxuICpcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIEF1dGggZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogUmV0dXJucyBhbiBBdXRoIGluc3RhbmNlIHRoYXQgdXNlcyByZXNvdXJjZXMgaW1wb3J0ZWQgZnJvbSBBVVRIIFNTTVxuICAgKiBwYXJhbWV0ZXJzLiBVc2UgdGhpcyB3aGVuIGNyZWF0aW5nIENvcmUgb3Igb3RoZXIgc3RhY2tzIHRoYXQgY29uc3VtZVxuICAgKiBhdXRoIHJlc291cmNlczsgdGhlIEF1dGggc3RhY2sgbXVzdCBiZSBkZXBsb3llZCBmaXJzdC5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gQ29uc3RydWN0IHNjb3BlIChlLmcuIENvcmUpOyBtdXN0IGJlIGluIGEgc3RhY2sgdGhhdCBoYXNcbiAgICogICBhY2Nlc3MgdG8gdGhlIHNhbWUgYWNjb3VudC9yZWdpb24gYXMgdGhlIGRlcGxveWVkIEF1dGggc3RhY2suXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Db25zdHJ1Y3Qoc2NvcGU6IENvbnN0cnVjdCk6IEF1dGgge1xuICAgIHJldHVybiBuZXcgQXV0aChzY29wZSwge30pO1xuICB9XG5cbiAgLyoqXG4gICAqIElzIHRoaXMgY29uc3RydWN0IGJlaW5nIGNyZWF0ZWQgaW4gdGhlIGF1dGggc2VydmljZSBvciBlbHNld2hlcmU/XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXNBdXRoU2VydmljZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogS01TIEtleSB1c2VkIHRvIGVuY3J5cHQgdGhlIENvZ25pdG8gVXNlciBQb29sLiBXZSBuZWVkIGEgY3VzdG9tIGtleSBzbyB0aGF0XG4gICAqIHdlIGNhbiBkZWNyeXB0IHRva2VucyB3aGVuIHNlbmRpbmcgZW1haWxzIHVzaW5nIHNvbWV0aGluZyBvdGhlciB0aGFuIFNFUy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbEttc0tleTogSUtleTtcblxuICAvKipcbiAgICogQ29nbml0byBVc2VyIFBvb2wgZm9yIHVzZXIgbWFuYWdlbWVudCBhbmQgYXV0aGVudGljYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlclBvb2w6IElVc2VyUG9vbDtcblxuICAvKipcbiAgICogQ29nbml0byBVc2VyIFBvb2wgQ2xpZW50IGZvciBhcHBsaWNhdGlvbiBpbnRlZ3JhdGlvbiB3aXRoIHRoZSBVc2VyIFBvb2wuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlclBvb2xDbGllbnQ6IElVc2VyUG9vbENsaWVudDtcblxuICAvKipcbiAgICogQ29nbml0byBVc2VyIFBvb2wgRG9tYWluIGZvciBob3N0aW5nIHRoZSBDb2duaXRvIGhvc3RlZCBVSS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbERvbWFpbjogSVVzZXJQb29sRG9tYWluO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBBdXRoUHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBcImF1dGhcIik7XG5cbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gcGFyZW50IHN0YWNrIHRoaXMgYmVsb25ncyB0by5cbiAgICAgKi9cbiAgICBjb25zdCBzZXJ2aWNlID0gT3BlbkhpU2VydmljZS5vZih0aGlzKSBhcyBPcGVuSGlTZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lIGlmIHdlIGFyZSBpbiB0aGUgYXV0aCBzZXJ2aWNlIG9yIG5vdC5cbiAgICAgKi9cbiAgICB0aGlzLmlzQXV0aFNlcnZpY2UgPSBzZXJ2aWNlLnNlcnZpY2VUeXBlID09PSBPUEVOX0hJX1NFUlZJQ0VfVFlQRS5BVVRIO1xuXG4gICAgLyoqXG4gICAgICogQXV0aCBTdXBwb3J0XG4gICAgICovXG4gICAgdGhpcy51c2VyUG9vbEttc0tleSA9IHRoaXMuY3JlYXRlVXNlclBvb2xLbXNLZXkoKTtcbiAgICB0aGlzLnVzZXJQb29sID0gdGhpcy5jcmVhdGVVc2VyUG9vbCh7XG4gICAgICAuLi5wcm9wcy51c2VyUG9vbFByb3BzLFxuICAgICAgY3VzdG9tU2VuZGVyS21zS2V5OiB0aGlzLnVzZXJQb29sS21zS2V5LFxuICAgIH0pO1xuICAgIHRoaXMudXNlclBvb2xDbGllbnQgPSB0aGlzLmNyZWF0ZVVzZXJQb29sQ2xpZW50KHtcbiAgICAgIHVzZXJQb29sOiB0aGlzLnVzZXJQb29sLFxuICAgIH0pO1xuICAgIHRoaXMudXNlclBvb2xEb21haW4gPSB0aGlzLmNyZWF0ZVVzZXJQb29sRG9tYWluKHtcbiAgICAgIHVzZXJQb29sOiB0aGlzLnVzZXJQb29sLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqXG4gICAqIEF1dGggU3VwcG9ydFxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgY3JlYXRlVXNlclBvb2xLbXNLZXkoKTogSUtleSB7XG4gICAgcmV0dXJuIHRoaXMuaXNBdXRoU2VydmljZVxuICAgICAgPyBuZXcgQ29yZVVzZXJQb29sS21zS2V5KHRoaXMpXG4gICAgICA6IENvcmVVc2VyUG9vbEttc0tleS5mcm9tQ29uc3RydWN0KHRoaXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZVVzZXJQb29sKHByb3BzPzogVXNlclBvb2xQcm9wcyk6IElVc2VyUG9vbCB7XG4gICAgcmV0dXJuIHRoaXMuaXNBdXRoU2VydmljZVxuICAgICAgPyBuZXcgQ29yZVVzZXJQb29sKHRoaXMsIHByb3BzKVxuICAgICAgOiBDb3JlVXNlclBvb2wuZnJvbUNvbnN0cnVjdCh0aGlzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVVc2VyUG9vbENsaWVudChwcm9wczoge1xuICAgIHVzZXJQb29sOiBJVXNlclBvb2w7XG4gIH0pOiBJVXNlclBvb2xDbGllbnQge1xuICAgIHJldHVybiB0aGlzLmlzQXV0aFNlcnZpY2VcbiAgICAgID8gbmV3IENvcmVVc2VyUG9vbENsaWVudCh0aGlzLCB7IHVzZXJQb29sOiBwcm9wcy51c2VyUG9vbCB9KVxuICAgICAgOiBDb3JlVXNlclBvb2xDbGllbnQuZnJvbUNvbnN0cnVjdCh0aGlzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVVc2VyUG9vbERvbWFpbihwcm9wczoge1xuICAgIHVzZXJQb29sOiBJVXNlclBvb2w7XG4gIH0pOiBJVXNlclBvb2xEb21haW4ge1xuICAgIGNvbnN0IHNlcnZpY2UgPSBPcGVuSGlTZXJ2aWNlLm9mKHRoaXMpIGFzIE9wZW5IaVNlcnZpY2U7XG4gICAgcmV0dXJuIHRoaXMuaXNBdXRoU2VydmljZVxuICAgICAgPyBuZXcgQ29yZVVzZXJQb29sRG9tYWluKHRoaXMsIHtcbiAgICAgICAgICB1c2VyUG9vbDogcHJvcHMudXNlclBvb2wsXG4gICAgICAgICAgY29nbml0b0RvbWFpbjoge1xuICAgICAgICAgICAgZG9tYWluUHJlZml4OiBgYXV0aC0ke3NlcnZpY2UuYnJhbmNoSGFzaH1gLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICA6IENvcmVVc2VyUG9vbERvbWFpbi5mcm9tQ29uc3RydWN0KHRoaXMpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { IUserPoolClient, UserPoolClient, UserPoolClientProps } from "aws-cdk-lib/aws-cognito";
|
|
2
|
-
import { Construct } from "constructs";
|
|
3
|
-
export declare class CoreUserPoolClient extends UserPoolClient {
|
|
4
|
-
/**
|
|
5
|
-
* Used when storing the User Pool Client ID in SSM.
|
|
6
|
-
*/
|
|
7
|
-
static readonly SSM_PARAM_NAME = "CORE_USER_POOL_CLIENT";
|
|
8
|
-
static fromConstruct(scope: Construct): IUserPoolClient;
|
|
9
|
-
constructor(scope: Construct, props: UserPoolClientProps);
|
|
10
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoreUserPoolClient = void 0;
|
|
4
|
-
const aws_cognito_1 = require("aws-cdk-lib/aws-cognito");
|
|
5
|
-
const open_hi_service_1 = require("../../app/open-hi-service");
|
|
6
|
-
const ssm_1 = require("../ssm");
|
|
7
|
-
class CoreUserPoolClient extends aws_cognito_1.UserPoolClient {
|
|
8
|
-
static fromConstruct(scope) {
|
|
9
|
-
const userPoolClientId = ssm_1.DiscoverableStringParameter.valueForLookupName(scope, {
|
|
10
|
-
ssmParamName: CoreUserPoolClient.SSM_PARAM_NAME,
|
|
11
|
-
serviceType: open_hi_service_1.OPEN_HI_SERVICE_TYPE.AUTH,
|
|
12
|
-
});
|
|
13
|
-
return aws_cognito_1.UserPoolClient.fromUserPoolClientId(scope, "user-pool-client", userPoolClientId);
|
|
14
|
-
}
|
|
15
|
-
constructor(scope, props) {
|
|
16
|
-
super(scope, "user-pool-client", {
|
|
17
|
-
/**
|
|
18
|
-
* Defaults
|
|
19
|
-
*/
|
|
20
|
-
generateSecret: false,
|
|
21
|
-
oAuth: {
|
|
22
|
-
flows: {
|
|
23
|
-
authorizationCodeGrant: true,
|
|
24
|
-
implicitCodeGrant: true,
|
|
25
|
-
},
|
|
26
|
-
callbackUrls: [`https://localhost:3000/oauth/callback`],
|
|
27
|
-
},
|
|
28
|
-
/**
|
|
29
|
-
* Overrideable props
|
|
30
|
-
*/
|
|
31
|
-
...props,
|
|
32
|
-
});
|
|
33
|
-
/**
|
|
34
|
-
* Generate the SSM Parameter used to store this User Pool's ID.
|
|
35
|
-
*/
|
|
36
|
-
new ssm_1.DiscoverableStringParameter(this, "user-pool-client-param", {
|
|
37
|
-
ssmParamName: CoreUserPoolClient.SSM_PARAM_NAME,
|
|
38
|
-
stringValue: this.userPoolClientId,
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
exports.CoreUserPoolClient = CoreUserPoolClient;
|
|
43
|
-
/**
|
|
44
|
-
* Used when storing the User Pool Client ID in SSM.
|
|
45
|
-
*/
|
|
46
|
-
CoreUserPoolClient.SSM_PARAM_NAME = "CORE_USER_POOL_CLIENT";
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS11c2VyLXBvb2wtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29nbml0by9jb3JlLXVzZXItcG9vbC1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseURBSWlDO0FBRWpDLCtEQUFpRTtBQUNqRSxnQ0FBcUQ7QUFFckQsTUFBYSxrQkFBbUIsU0FBUSw0QkFBYztJQU03QyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQWdCO1FBQzFDLE1BQU0sZ0JBQWdCLEdBQUcsaUNBQTJCLENBQUMsa0JBQWtCLENBQ3JFLEtBQUssRUFDTDtZQUNFLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxjQUFjO1lBQy9DLFdBQVcsRUFBRSxzQ0FBb0IsQ0FBQyxJQUFJO1NBQ3ZDLENBQ0YsQ0FBQztRQUVGLE9BQU8sNEJBQWMsQ0FBQyxvQkFBb0IsQ0FDeEMsS0FBSyxFQUNMLGtCQUFrQixFQUNsQixnQkFBZ0IsQ0FDakIsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLEtBQWdCLEVBQUUsS0FBMEI7UUFDdEQsS0FBSyxDQUFDLEtBQUssRUFBRSxrQkFBa0IsRUFBRTtZQUMvQjs7ZUFFRztZQUNILGNBQWMsRUFBRSxLQUFLO1lBQ3JCLEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUU7b0JBQ0wsc0JBQXNCLEVBQUUsSUFBSTtvQkFDNUIsaUJBQWlCLEVBQUUsSUFBSTtpQkFDeEI7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsdUNBQXVDLENBQUM7YUFDeEQ7WUFFRDs7ZUFFRztZQUNILEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ0gsSUFBSSxpQ0FBMkIsQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLEVBQUU7WUFDOUQsWUFBWSxFQUFFLGtCQUFrQixDQUFDLGNBQWM7WUFDL0MsV0FBVyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFqREgsZ0RBa0RDO0FBakRDOztHQUVHO0FBQ29CLGlDQUFjLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJVXNlclBvb2xDbGllbnQsXG4gIFVzZXJQb29sQ2xpZW50LFxuICBVc2VyUG9vbENsaWVudFByb3BzLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZ25pdG9cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBPUEVOX0hJX1NFUlZJQ0VfVFlQRSB9IGZyb20gXCIuLi8uLi9hcHAvb3Blbi1oaS1zZXJ2aWNlXCI7XG5pbXBvcnQgeyBEaXNjb3ZlcmFibGVTdHJpbmdQYXJhbWV0ZXIgfSBmcm9tIFwiLi4vc3NtXCI7XG5cbmV4cG9ydCBjbGFzcyBDb3JlVXNlclBvb2xDbGllbnQgZXh0ZW5kcyBVc2VyUG9vbENsaWVudCB7XG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gc3RvcmluZyB0aGUgVXNlciBQb29sIENsaWVudCBJRCBpbiBTU00uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNTTV9QQVJBTV9OQU1FID0gXCJDT1JFX1VTRVJfUE9PTF9DTElFTlRcIjtcblxuICBwdWJsaWMgc3RhdGljIGZyb21Db25zdHJ1Y3Qoc2NvcGU6IENvbnN0cnVjdCk6IElVc2VyUG9vbENsaWVudCB7XG4gICAgY29uc3QgdXNlclBvb2xDbGllbnRJZCA9IERpc2NvdmVyYWJsZVN0cmluZ1BhcmFtZXRlci52YWx1ZUZvckxvb2t1cE5hbWUoXG4gICAgICBzY29wZSxcbiAgICAgIHtcbiAgICAgICAgc3NtUGFyYW1OYW1lOiBDb3JlVXNlclBvb2xDbGllbnQuU1NNX1BBUkFNX05BTUUsXG4gICAgICAgIHNlcnZpY2VUeXBlOiBPUEVOX0hJX1NFUlZJQ0VfVFlQRS5BVVRILFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIFVzZXJQb29sQ2xpZW50LmZyb21Vc2VyUG9vbENsaWVudElkKFxuICAgICAgc2NvcGUsXG4gICAgICBcInVzZXItcG9vbC1jbGllbnRcIixcbiAgICAgIHVzZXJQb29sQ2xpZW50SWQsXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBVc2VyUG9vbENsaWVudFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIFwidXNlci1wb29sLWNsaWVudFwiLCB7XG4gICAgICAvKipcbiAgICAgICAqIERlZmF1bHRzXG4gICAgICAgKi9cbiAgICAgIGdlbmVyYXRlU2VjcmV0OiBmYWxzZSxcbiAgICAgIG9BdXRoOiB7XG4gICAgICAgIGZsb3dzOiB7XG4gICAgICAgICAgYXV0aG9yaXphdGlvbkNvZGVHcmFudDogdHJ1ZSxcbiAgICAgICAgICBpbXBsaWNpdENvZGVHcmFudDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2FsbGJhY2tVcmxzOiBbYGh0dHBzOi8vbG9jYWxob3N0OjMwMDAvb2F1dGgvY2FsbGJhY2tgXSxcbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogT3ZlcnJpZGVhYmxlIHByb3BzXG4gICAgICAgKi9cbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGUgdGhlIFNTTSBQYXJhbWV0ZXIgdXNlZCB0byBzdG9yZSB0aGlzIFVzZXIgUG9vbCdzIElELlxuICAgICAqL1xuICAgIG5ldyBEaXNjb3ZlcmFibGVTdHJpbmdQYXJhbWV0ZXIodGhpcywgXCJ1c2VyLXBvb2wtY2xpZW50LXBhcmFtXCIsIHtcbiAgICAgIHNzbVBhcmFtTmFtZTogQ29yZVVzZXJQb29sQ2xpZW50LlNTTV9QQVJBTV9OQU1FLFxuICAgICAgc3RyaW5nVmFsdWU6IHRoaXMudXNlclBvb2xDbGllbnRJZCxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { IUserPoolDomain, UserPoolDomain, UserPoolDomainProps } from "aws-cdk-lib/aws-cognito";
|
|
2
|
-
import { Construct } from "constructs";
|
|
3
|
-
export declare class CoreUserPoolDomain extends UserPoolDomain {
|
|
4
|
-
/**
|
|
5
|
-
* Used when storing the User Pool Domain in SSM.
|
|
6
|
-
*/
|
|
7
|
-
static readonly SSM_PARAM_NAME = "CORE_USER_POOL_DOMAIN";
|
|
8
|
-
static fromConstruct(scope: Construct): IUserPoolDomain;
|
|
9
|
-
constructor(scope: Construct, props: UserPoolDomainProps);
|
|
10
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoreUserPoolDomain = void 0;
|
|
4
|
-
const aws_cognito_1 = require("aws-cdk-lib/aws-cognito");
|
|
5
|
-
const open_hi_service_1 = require("../../app/open-hi-service");
|
|
6
|
-
const ssm_1 = require("../ssm");
|
|
7
|
-
class CoreUserPoolDomain extends aws_cognito_1.UserPoolDomain {
|
|
8
|
-
static fromConstruct(scope) {
|
|
9
|
-
const userPoolDomain = ssm_1.DiscoverableStringParameter.valueForLookupName(scope, {
|
|
10
|
-
ssmParamName: CoreUserPoolDomain.SSM_PARAM_NAME,
|
|
11
|
-
serviceType: open_hi_service_1.OPEN_HI_SERVICE_TYPE.AUTH,
|
|
12
|
-
});
|
|
13
|
-
return aws_cognito_1.UserPoolDomain.fromDomainName(scope, "user-pool-domain", userPoolDomain);
|
|
14
|
-
}
|
|
15
|
-
constructor(scope, props) {
|
|
16
|
-
/**
|
|
17
|
-
* This supports both custom and native Cognito domains, but we need to
|
|
18
|
-
* name them uniquely so that swap outs work and don't cause conflicts
|
|
19
|
-
* when cloudformation does it's deploy.
|
|
20
|
-
*/
|
|
21
|
-
const id = props.cognitoDomain?.domainPrefix
|
|
22
|
-
? "cognito-domain"
|
|
23
|
-
: "custom-domain";
|
|
24
|
-
super(scope, id, {
|
|
25
|
-
...props,
|
|
26
|
-
});
|
|
27
|
-
/**
|
|
28
|
-
* Generate the SSM Parameter used to store this User Pool's Domain.
|
|
29
|
-
*/
|
|
30
|
-
new ssm_1.DiscoverableStringParameter(this, "user-pool-domain-param", {
|
|
31
|
-
ssmParamName: CoreUserPoolDomain.SSM_PARAM_NAME,
|
|
32
|
-
stringValue: this.domainName,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.CoreUserPoolDomain = CoreUserPoolDomain;
|
|
37
|
-
/**
|
|
38
|
-
* Used when storing the User Pool Domain in SSM.
|
|
39
|
-
*/
|
|
40
|
-
CoreUserPoolDomain.SSM_PARAM_NAME = "CORE_USER_POOL_DOMAIN";
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS11c2VyLXBvb2wtZG9tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29nbml0by9jb3JlLXVzZXItcG9vbC1kb21haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseURBSWlDO0FBRWpDLCtEQUFpRTtBQUNqRSxnQ0FBcUQ7QUFFckQsTUFBYSxrQkFBbUIsU0FBUSw0QkFBYztJQU03QyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQWdCO1FBQzFDLE1BQU0sY0FBYyxHQUFHLGlDQUEyQixDQUFDLGtCQUFrQixDQUNuRSxLQUFLLEVBQ0w7WUFDRSxZQUFZLEVBQUUsa0JBQWtCLENBQUMsY0FBYztZQUMvQyxXQUFXLEVBQUUsc0NBQW9CLENBQUMsSUFBSTtTQUN2QyxDQUNGLENBQUM7UUFFRixPQUFPLDRCQUFjLENBQUMsY0FBYyxDQUNsQyxLQUFLLEVBQ0wsa0JBQWtCLEVBQ2xCLGNBQWMsQ0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVksS0FBZ0IsRUFBRSxLQUEwQjtRQUN0RDs7OztXQUlHO1FBQ0gsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLGFBQWEsRUFBRSxZQUFZO1lBQzFDLENBQUMsQ0FBQyxnQkFBZ0I7WUFDbEIsQ0FBQyxDQUFDLGVBQWUsQ0FBQztRQUVwQixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ0gsSUFBSSxpQ0FBMkIsQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLEVBQUU7WUFDOUQsWUFBWSxFQUFFLGtCQUFrQixDQUFDLGNBQWM7WUFDL0MsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBM0NILGdEQTRDQztBQTNDQzs7R0FFRztBQUNvQixpQ0FBYyxHQUFHLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSVVzZXJQb29sRG9tYWluLFxuICBVc2VyUG9vbERvbWFpbixcbiAgVXNlclBvb2xEb21haW5Qcm9wcyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2duaXRvXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgT1BFTl9ISV9TRVJWSUNFX1RZUEUgfSBmcm9tIFwiLi4vLi4vYXBwL29wZW4taGktc2VydmljZVwiO1xuaW1wb3J0IHsgRGlzY292ZXJhYmxlU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSBcIi4uL3NzbVwiO1xuXG5leHBvcnQgY2xhc3MgQ29yZVVzZXJQb29sRG9tYWluIGV4dGVuZHMgVXNlclBvb2xEb21haW4ge1xuICAvKipcbiAgICogVXNlZCB3aGVuIHN0b3JpbmcgdGhlIFVzZXIgUG9vbCBEb21haW4gaW4gU1NNLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTU01fUEFSQU1fTkFNRSA9IFwiQ09SRV9VU0VSX1BPT0xfRE9NQUlOXCI7XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tQ29uc3RydWN0KHNjb3BlOiBDb25zdHJ1Y3QpOiBJVXNlclBvb2xEb21haW4ge1xuICAgIGNvbnN0IHVzZXJQb29sRG9tYWluID0gRGlzY292ZXJhYmxlU3RyaW5nUGFyYW1ldGVyLnZhbHVlRm9yTG9va3VwTmFtZShcbiAgICAgIHNjb3BlLFxuICAgICAge1xuICAgICAgICBzc21QYXJhbU5hbWU6IENvcmVVc2VyUG9vbERvbWFpbi5TU01fUEFSQU1fTkFNRSxcbiAgICAgICAgc2VydmljZVR5cGU6IE9QRU5fSElfU0VSVklDRV9UWVBFLkFVVEgsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gVXNlclBvb2xEb21haW4uZnJvbURvbWFpbk5hbWUoXG4gICAgICBzY29wZSxcbiAgICAgIFwidXNlci1wb29sLWRvbWFpblwiLFxuICAgICAgdXNlclBvb2xEb21haW4sXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBVc2VyUG9vbERvbWFpblByb3BzKSB7XG4gICAgLyoqXG4gICAgICogVGhpcyBzdXBwb3J0cyBib3RoIGN1c3RvbSBhbmQgbmF0aXZlIENvZ25pdG8gZG9tYWlucywgYnV0IHdlIG5lZWQgdG9cbiAgICAgKiBuYW1lIHRoZW0gdW5pcXVlbHkgc28gdGhhdCBzd2FwIG91dHMgd29yayBhbmQgZG9uJ3QgY2F1c2UgY29uZmxpY3RzXG4gICAgICogd2hlbiBjbG91ZGZvcm1hdGlvbiBkb2VzIGl0J3MgZGVwbG95LlxuICAgICAqL1xuICAgIGNvbnN0IGlkID0gcHJvcHMuY29nbml0b0RvbWFpbj8uZG9tYWluUHJlZml4XG4gICAgICA/IFwiY29nbml0by1kb21haW5cIlxuICAgICAgOiBcImN1c3RvbS1kb21haW5cIjtcblxuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZSB0aGUgU1NNIFBhcmFtZXRlciB1c2VkIHRvIHN0b3JlIHRoaXMgVXNlciBQb29sJ3MgRG9tYWluLlxuICAgICAqL1xuICAgIG5ldyBEaXNjb3ZlcmFibGVTdHJpbmdQYXJhbWV0ZXIodGhpcywgXCJ1c2VyLXBvb2wtZG9tYWluLXBhcmFtXCIsIHtcbiAgICAgIHNzbVBhcmFtTmFtZTogQ29yZVVzZXJQb29sRG9tYWluLlNTTV9QQVJBTV9OQU1FLFxuICAgICAgc3RyaW5nVmFsdWU6IHRoaXMuZG9tYWluTmFtZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { IKey, Key, KeyProps } from "aws-cdk-lib/aws-kms";
|
|
2
|
-
import { Construct } from "constructs";
|
|
3
|
-
export declare class CoreUserPoolKmsKey extends Key {
|
|
4
|
-
/**
|
|
5
|
-
* Used when storing the KMS Key in SSM.
|
|
6
|
-
*/
|
|
7
|
-
static readonly SSM_PARAM_NAME = "CORE_USER_POOL_KMS_KEY";
|
|
8
|
-
static fromConstruct(scope: Construct): IKey;
|
|
9
|
-
constructor(scope: Construct, props?: KeyProps);
|
|
10
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoreUserPoolKmsKey = void 0;
|
|
4
|
-
const aws_kms_1 = require("aws-cdk-lib/aws-kms");
|
|
5
|
-
const open_hi_service_1 = require("../../app/open-hi-service");
|
|
6
|
-
const ssm_1 = require("../ssm");
|
|
7
|
-
class CoreUserPoolKmsKey extends aws_kms_1.Key {
|
|
8
|
-
static fromConstruct(scope) {
|
|
9
|
-
const keyArn = ssm_1.DiscoverableStringParameter.valueForLookupName(scope, {
|
|
10
|
-
ssmParamName: CoreUserPoolKmsKey.SSM_PARAM_NAME,
|
|
11
|
-
serviceType: open_hi_service_1.OPEN_HI_SERVICE_TYPE.AUTH,
|
|
12
|
-
});
|
|
13
|
-
return aws_kms_1.Key.fromKeyArn(scope, "kms-key", keyArn);
|
|
14
|
-
}
|
|
15
|
-
constructor(scope, props = {}) {
|
|
16
|
-
const service = open_hi_service_1.OpenHiService.of(scope);
|
|
17
|
-
super(scope, "kms-key", {
|
|
18
|
-
...props,
|
|
19
|
-
// alias: ["alias", "cognito", service.branchHash].join("/"),
|
|
20
|
-
description: `KMS Key for Cognito User Pool - ${service.branchHash}`,
|
|
21
|
-
removalPolicy: props.removalPolicy ?? service.removalPolicy,
|
|
22
|
-
});
|
|
23
|
-
/**
|
|
24
|
-
* Generate the SSM Parameter used to store this KMS Key.
|
|
25
|
-
*/
|
|
26
|
-
new ssm_1.DiscoverableStringParameter(this, "kms-key-param", {
|
|
27
|
-
ssmParamName: CoreUserPoolKmsKey.SSM_PARAM_NAME,
|
|
28
|
-
stringValue: this.keyArn,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.CoreUserPoolKmsKey = CoreUserPoolKmsKey;
|
|
33
|
-
/**
|
|
34
|
-
* Used when storing the KMS Key in SSM.
|
|
35
|
-
*/
|
|
36
|
-
CoreUserPoolKmsKey.SSM_PARAM_NAME = "CORE_USER_POOL_KMS_KEY";
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS11c2VyLXBvb2wta21zLWtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvZ25pdG8vY29yZS11c2VyLXBvb2wta21zLWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBMEQ7QUFFMUQsK0RBQWdGO0FBQ2hGLGdDQUFxRDtBQUVyRCxNQUFhLGtCQUFtQixTQUFRLGFBQUc7SUFNbEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFnQjtRQUMxQyxNQUFNLE1BQU0sR0FBRyxpQ0FBMkIsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7WUFDbkUsWUFBWSxFQUFFLGtCQUFrQixDQUFDLGNBQWM7WUFDL0MsV0FBVyxFQUFFLHNDQUFvQixDQUFDLElBQUk7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxhQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQVksS0FBZ0IsRUFBRSxRQUFrQixFQUFFO1FBQ2hELE1BQU0sT0FBTyxHQUFHLCtCQUFhLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBa0IsQ0FBQztRQUV6RCxLQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUN0QixHQUFHLEtBQUs7WUFDUiw2REFBNkQ7WUFDN0QsV0FBVyxFQUFFLG1DQUFtQyxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3BFLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxhQUFhO1NBQzVELENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ0gsSUFBSSxpQ0FBMkIsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ3JELFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxjQUFjO1lBQy9DLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTTtTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDOztBQWhDSCxnREFpQ0M7QUFoQ0M7O0dBRUc7QUFDb0IsaUNBQWMsR0FBRyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElLZXksIEtleSwgS2V5UHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWttc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE9QRU5fSElfU0VSVklDRV9UWVBFLCBPcGVuSGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2FwcC9vcGVuLWhpLXNlcnZpY2VcIjtcbmltcG9ydCB7IERpc2NvdmVyYWJsZVN0cmluZ1BhcmFtZXRlciB9IGZyb20gXCIuLi9zc21cIjtcblxuZXhwb3J0IGNsYXNzIENvcmVVc2VyUG9vbEttc0tleSBleHRlbmRzIEtleSB7XG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gc3RvcmluZyB0aGUgS01TIEtleSBpbiBTU00uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNTTV9QQVJBTV9OQU1FID0gXCJDT1JFX1VTRVJfUE9PTF9LTVNfS0VZXCI7XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tQ29uc3RydWN0KHNjb3BlOiBDb25zdHJ1Y3QpOiBJS2V5IHtcbiAgICBjb25zdCBrZXlBcm4gPSBEaXNjb3ZlcmFibGVTdHJpbmdQYXJhbWV0ZXIudmFsdWVGb3JMb29rdXBOYW1lKHNjb3BlLCB7XG4gICAgICBzc21QYXJhbU5hbWU6IENvcmVVc2VyUG9vbEttc0tleS5TU01fUEFSQU1fTkFNRSxcbiAgICAgIHNlcnZpY2VUeXBlOiBPUEVOX0hJX1NFUlZJQ0VfVFlQRS5BVVRILFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIEtleS5mcm9tS2V5QXJuKHNjb3BlLCBcImttcy1rZXlcIiwga2V5QXJuKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBLZXlQcm9wcyA9IHt9KSB7XG4gICAgY29uc3Qgc2VydmljZSA9IE9wZW5IaVNlcnZpY2Uub2Yoc2NvcGUpIGFzIE9wZW5IaVNlcnZpY2U7XG5cbiAgICBzdXBlcihzY29wZSwgXCJrbXMta2V5XCIsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgLy8gYWxpYXM6IFtcImFsaWFzXCIsIFwiY29nbml0b1wiLCBzZXJ2aWNlLmJyYW5jaEhhc2hdLmpvaW4oXCIvXCIpLFxuICAgICAgZGVzY3JpcHRpb246IGBLTVMgS2V5IGZvciBDb2duaXRvIFVzZXIgUG9vbCAtICR7c2VydmljZS5icmFuY2hIYXNofWAsXG4gICAgICByZW1vdmFsUG9saWN5OiBwcm9wcy5yZW1vdmFsUG9saWN5ID8/IHNlcnZpY2UucmVtb3ZhbFBvbGljeSxcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlIHRoZSBTU00gUGFyYW1ldGVyIHVzZWQgdG8gc3RvcmUgdGhpcyBLTVMgS2V5LlxuICAgICAqL1xuICAgIG5ldyBEaXNjb3ZlcmFibGVTdHJpbmdQYXJhbWV0ZXIodGhpcywgXCJrbXMta2V5LXBhcmFtXCIsIHtcbiAgICAgIHNzbVBhcmFtTmFtZTogQ29yZVVzZXJQb29sS21zS2V5LlNTTV9QQVJBTV9OQU1FLFxuICAgICAgc3RyaW5nVmFsdWU6IHRoaXMua2V5QXJuLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { IUserPool, UserPool, UserPoolProps } from "aws-cdk-lib/aws-cognito";
|
|
2
|
-
import { Construct } from "constructs";
|
|
3
|
-
export declare class CoreUserPool extends UserPool {
|
|
4
|
-
/**
|
|
5
|
-
* Used when storing the User Pool ID in SSM.
|
|
6
|
-
*/
|
|
7
|
-
static readonly SSM_PARAM_NAME = "CORE_USER_POOL";
|
|
8
|
-
static fromConstruct(scope: Construct): IUserPool;
|
|
9
|
-
constructor(scope: Construct, props?: UserPoolProps);
|
|
10
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoreUserPool = void 0;
|
|
4
|
-
const aws_cognito_1 = require("aws-cdk-lib/aws-cognito");
|
|
5
|
-
const open_hi_service_1 = require("../../app/open-hi-service");
|
|
6
|
-
const ssm_1 = require("../ssm");
|
|
7
|
-
class CoreUserPool extends aws_cognito_1.UserPool {
|
|
8
|
-
static fromConstruct(scope) {
|
|
9
|
-
const userPoolId = ssm_1.DiscoverableStringParameter.valueForLookupName(scope, {
|
|
10
|
-
ssmParamName: CoreUserPool.SSM_PARAM_NAME,
|
|
11
|
-
serviceType: open_hi_service_1.OPEN_HI_SERVICE_TYPE.AUTH,
|
|
12
|
-
});
|
|
13
|
-
return aws_cognito_1.UserPool.fromUserPoolId(scope, "user-pool", userPoolId);
|
|
14
|
-
}
|
|
15
|
-
constructor(scope, props = {}) {
|
|
16
|
-
const service = open_hi_service_1.OpenHiService.of(scope);
|
|
17
|
-
super(scope, "user-pool", {
|
|
18
|
-
/**
|
|
19
|
-
* Defaults
|
|
20
|
-
*/
|
|
21
|
-
selfSignUpEnabled: true,
|
|
22
|
-
signInAliases: {
|
|
23
|
-
email: true,
|
|
24
|
-
},
|
|
25
|
-
userVerification: {
|
|
26
|
-
emailSubject: "Verify your email!",
|
|
27
|
-
emailBody: "Your verification code is {####}.",
|
|
28
|
-
emailStyle: aws_cognito_1.VerificationEmailStyle.CODE,
|
|
29
|
-
},
|
|
30
|
-
removalPolicy: props.removalPolicy ?? service.removalPolicy,
|
|
31
|
-
/**
|
|
32
|
-
* Over-rideable props
|
|
33
|
-
*/
|
|
34
|
-
...props,
|
|
35
|
-
/**
|
|
36
|
-
* Required
|
|
37
|
-
*/
|
|
38
|
-
userPoolName: ["core", "user", "pool", service.branchHash].join("-"),
|
|
39
|
-
});
|
|
40
|
-
/**
|
|
41
|
-
* Generate the SSM Parameter used to store this User Pool's ID.
|
|
42
|
-
*/
|
|
43
|
-
new ssm_1.DiscoverableStringParameter(this, "user-pool-param", {
|
|
44
|
-
ssmParamName: CoreUserPool.SSM_PARAM_NAME,
|
|
45
|
-
stringValue: this.userPoolId,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
exports.CoreUserPool = CoreUserPool;
|
|
50
|
-
/**
|
|
51
|
-
* Used when storing the User Pool ID in SSM.
|
|
52
|
-
*/
|
|
53
|
-
CoreUserPool.SSM_PARAM_NAME = "CORE_USER_POOL";
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS11c2VyLXBvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jb2duaXRvL2NvcmUtdXNlci1wb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUtpQztBQUVqQywrREFBZ0Y7QUFDaEYsZ0NBQXFEO0FBRXJELE1BQWEsWUFBYSxTQUFRLHNCQUFRO0lBTWpDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBZ0I7UUFDMUMsTUFBTSxVQUFVLEdBQUcsaUNBQTJCLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFO1lBQ3ZFLFlBQVksRUFBRSxZQUFZLENBQUMsY0FBYztZQUN6QyxXQUFXLEVBQUUsc0NBQW9CLENBQUMsSUFBSTtTQUN2QyxDQUFDLENBQUM7UUFFSCxPQUFPLHNCQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFlBQVksS0FBZ0IsRUFBRSxRQUF1QixFQUFFO1FBQ3JELE1BQU0sT0FBTyxHQUFHLCtCQUFhLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBa0IsQ0FBQztRQUV6RCxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRTtZQUN4Qjs7ZUFFRztZQUNILGlCQUFpQixFQUFFLElBQUk7WUFDdkIsYUFBYSxFQUFFO2dCQUNiLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRCxnQkFBZ0IsRUFBRTtnQkFDaEIsWUFBWSxFQUFFLG9CQUFvQjtnQkFDbEMsU0FBUyxFQUFFLG1DQUFtQztnQkFDOUMsVUFBVSxFQUFFLG9DQUFzQixDQUFDLElBQUk7YUFDeEM7WUFDRCxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsYUFBYTtZQUUzRDs7ZUFFRztZQUNILEdBQUcsS0FBSztZQUVSOztlQUVHO1lBQ0gsWUFBWSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDckUsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDSCxJQUFJLGlDQUEyQixDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUN2RCxZQUFZLEVBQUUsWUFBWSxDQUFDLGNBQWM7WUFDekMsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBbkRILG9DQW9EQztBQW5EQzs7R0FFRztBQUNvQiwyQkFBYyxHQUFHLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSVVzZXJQb29sLFxuICBVc2VyUG9vbCxcbiAgVXNlclBvb2xQcm9wcyxcbiAgVmVyaWZpY2F0aW9uRW1haWxTdHlsZSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2duaXRvXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgT1BFTl9ISV9TRVJWSUNFX1RZUEUsIE9wZW5IaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vYXBwL29wZW4taGktc2VydmljZVwiO1xuaW1wb3J0IHsgRGlzY292ZXJhYmxlU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSBcIi4uL3NzbVwiO1xuXG5leHBvcnQgY2xhc3MgQ29yZVVzZXJQb29sIGV4dGVuZHMgVXNlclBvb2wge1xuICAvKipcbiAgICogVXNlZCB3aGVuIHN0b3JpbmcgdGhlIFVzZXIgUG9vbCBJRCBpbiBTU00uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNTTV9QQVJBTV9OQU1FID0gXCJDT1JFX1VTRVJfUE9PTFwiO1xuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNvbnN0cnVjdChzY29wZTogQ29uc3RydWN0KTogSVVzZXJQb29sIHtcbiAgICBjb25zdCB1c2VyUG9vbElkID0gRGlzY292ZXJhYmxlU3RyaW5nUGFyYW1ldGVyLnZhbHVlRm9yTG9va3VwTmFtZShzY29wZSwge1xuICAgICAgc3NtUGFyYW1OYW1lOiBDb3JlVXNlclBvb2wuU1NNX1BBUkFNX05BTUUsXG4gICAgICBzZXJ2aWNlVHlwZTogT1BFTl9ISV9TRVJWSUNFX1RZUEUuQVVUSCxcbiAgICB9KTtcblxuICAgIHJldHVybiBVc2VyUG9vbC5mcm9tVXNlclBvb2xJZChzY29wZSwgXCJ1c2VyLXBvb2xcIiwgdXNlclBvb2xJZCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBwcm9wczogVXNlclBvb2xQcm9wcyA9IHt9KSB7XG4gICAgY29uc3Qgc2VydmljZSA9IE9wZW5IaVNlcnZpY2Uub2Yoc2NvcGUpIGFzIE9wZW5IaVNlcnZpY2U7XG5cbiAgICBzdXBlcihzY29wZSwgXCJ1c2VyLXBvb2xcIiwge1xuICAgICAgLyoqXG4gICAgICAgKiBEZWZhdWx0c1xuICAgICAgICovXG4gICAgICBzZWxmU2lnblVwRW5hYmxlZDogdHJ1ZSxcbiAgICAgIHNpZ25JbkFsaWFzZXM6IHtcbiAgICAgICAgZW1haWw6IHRydWUsXG4gICAgICB9LFxuICAgICAgdXNlclZlcmlmaWNhdGlvbjoge1xuICAgICAgICBlbWFpbFN1YmplY3Q6IFwiVmVyaWZ5IHlvdXIgZW1haWwhXCIsXG4gICAgICAgIGVtYWlsQm9keTogXCJZb3VyIHZlcmlmaWNhdGlvbiBjb2RlIGlzIHsjIyMjfS5cIixcbiAgICAgICAgZW1haWxTdHlsZTogVmVyaWZpY2F0aW9uRW1haWxTdHlsZS5DT0RFLFxuICAgICAgfSxcbiAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzLnJlbW92YWxQb2xpY3kgPz8gc2VydmljZS5yZW1vdmFsUG9saWN5LFxuXG4gICAgICAvKipcbiAgICAgICAqIE92ZXItcmlkZWFibGUgcHJvcHNcbiAgICAgICAqL1xuICAgICAgLi4ucHJvcHMsXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVxdWlyZWRcbiAgICAgICAqL1xuICAgICAgdXNlclBvb2xOYW1lOiBbXCJjb3JlXCIsIFwidXNlclwiLCBcInBvb2xcIiwgc2VydmljZS5icmFuY2hIYXNoXS5qb2luKFwiLVwiKSxcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlIHRoZSBTU00gUGFyYW1ldGVyIHVzZWQgdG8gc3RvcmUgdGhpcyBVc2VyIFBvb2wncyBJRC5cbiAgICAgKi9cbiAgICBuZXcgRGlzY292ZXJhYmxlU3RyaW5nUGFyYW1ldGVyKHRoaXMsIFwidXNlci1wb29sLXBhcmFtXCIsIHtcbiAgICAgIHNzbVBhcmFtTmFtZTogQ29yZVVzZXJQb29sLlNTTV9QQVJBTV9OQU1FLFxuICAgICAgc3RyaW5nVmFsdWU6IHRoaXMudXNlclBvb2xJZCxcbiAgICB9KTtcbiAgfVxufVxuIl19
|