@openhi/constructs 0.0.0 → 0.0.1

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.
Files changed (101) hide show
  1. package/lib/chunk-LZOMFHX3.mjs +38 -0
  2. package/lib/chunk-LZOMFHX3.mjs.map +1 -0
  3. package/lib/index.d.mts +664 -0
  4. package/lib/index.d.ts +745 -3
  5. package/lib/index.js +1133 -19
  6. package/lib/index.js.map +1 -0
  7. package/lib/index.mjs +1120 -0
  8. package/lib/index.mjs.map +1 -0
  9. package/lib/rest-api-lambda.handler.d.mts +6 -0
  10. package/lib/rest-api-lambda.handler.d.ts +6 -0
  11. package/lib/rest-api-lambda.handler.js +677 -0
  12. package/lib/rest-api-lambda.handler.js.map +1 -0
  13. package/lib/rest-api-lambda.handler.mjs +646 -0
  14. package/lib/rest-api-lambda.handler.mjs.map +1 -0
  15. package/package.json +37 -28
  16. package/lib/app/index.d.ts +0 -4
  17. package/lib/app/index.js +0 -21
  18. package/lib/app/open-hi-app.d.ts +0 -85
  19. package/lib/app/open-hi-app.js +0 -127
  20. package/lib/app/open-hi-environment.d.ts +0 -59
  21. package/lib/app/open-hi-environment.js +0 -72
  22. package/lib/app/open-hi-service.d.ts +0 -169
  23. package/lib/app/open-hi-service.js +0 -195
  24. package/lib/app/open-hi-stage.d.ts +0 -71
  25. package/lib/app/open-hi-stage.js +0 -70
  26. package/lib/components/acm/root-wildcard-certificate.d.ts +0 -15
  27. package/lib/components/acm/root-wildcard-certificate.js +0 -35
  28. package/lib/components/api-gateway/core-http-api.d.ts +0 -10
  29. package/lib/components/api-gateway/core-http-api.js +0 -44
  30. package/lib/components/api-gateway/http-lambda-integration-no-permissions.d.ts +0 -18
  31. package/lib/components/api-gateway/http-lambda-integration-no-permissions.js +0 -26
  32. package/lib/components/app-sync/core-graphql-api.d.ts +0 -12
  33. package/lib/components/app-sync/core-graphql-api.js +0 -54
  34. package/lib/components/auth.d.ts +0 -75
  35. package/lib/components/auth.js +0 -100
  36. package/lib/components/cognito/core-user-pool-client.d.ts +0 -10
  37. package/lib/components/cognito/core-user-pool-client.js +0 -47
  38. package/lib/components/cognito/core-user-pool-domain.d.ts +0 -10
  39. package/lib/components/cognito/core-user-pool-domain.js +0 -41
  40. package/lib/components/cognito/core-user-pool-kms-key.d.ts +0 -10
  41. package/lib/components/cognito/core-user-pool-kms-key.js +0 -37
  42. package/lib/components/cognito/core-user-pool.d.ts +0 -10
  43. package/lib/components/cognito/core-user-pool.js +0 -54
  44. package/lib/components/core.d.ts +0 -102
  45. package/lib/components/core.js +0 -79
  46. package/lib/components/dynamodb/dynamo-db-data-store.d.ts +0 -33
  47. package/lib/components/dynamodb/dynamo-db-data-store.js +0 -107
  48. package/lib/components/event-bridge/data-event-bus.d.ts +0 -19
  49. package/lib/components/event-bridge/data-event-bus.js +0 -34
  50. package/lib/components/event-bridge/ops-event-bus.d.ts +0 -19
  51. package/lib/components/event-bridge/ops-event-bus.js +0 -34
  52. package/lib/components/global.d.ts +0 -36
  53. package/lib/components/global.js +0 -63
  54. package/lib/components/index.d.ts +0 -1
  55. package/lib/components/index.js +0 -18
  56. package/lib/components/route-53/child-hosted-zone.d.ts +0 -20
  57. package/lib/components/route-53/child-hosted-zone.js +0 -48
  58. package/lib/components/route-53/root-hosted-zone.d.ts +0 -10
  59. package/lib/components/route-53/root-hosted-zone.js +0 -20
  60. package/lib/components/ssm/discoverable-string-parameter.d.ts +0 -59
  61. package/lib/components/ssm/discoverable-string-parameter.js +0 -50
  62. package/lib/components/ssm/index.d.ts +0 -1
  63. package/lib/components/ssm/index.js +0 -18
  64. package/lib/data/dynamo/ehr/r4/Patient.d.ts +0 -180
  65. package/lib/data/dynamo/ehr/r4/Patient.js +0 -192
  66. package/lib/data/dynamo/ehr/r4/ehr-r4-data-service.d.ts +0 -162
  67. package/lib/data/dynamo/ehr/r4/ehr-r4-data-service.js +0 -37
  68. package/lib/data/hello-world.d.ts +0 -39
  69. package/lib/data/hello-world.js +0 -59
  70. package/lib/data/import-patient-with-dynalite.d.ts +0 -1
  71. package/lib/data/import-patient-with-dynalite.js +0 -87
  72. package/lib/data/import-patient.d.ts +0 -47
  73. package/lib/data/import-patient.js +0 -158
  74. package/lib/data/lambda/rest-api-lambda.d.ts +0 -13
  75. package/lib/data/lambda/rest-api-lambda.handler.d.ts +0 -1
  76. package/lib/data/lambda/rest-api-lambda.handler.js +0 -10
  77. package/lib/data/lambda/rest-api-lambda.js +0 -22
  78. package/lib/data/middleware/open-hi-context.d.ts +0 -13
  79. package/lib/data/middleware/open-hi-context.js +0 -31
  80. package/lib/data/rest-api/ehr/r4/Patient.d.ts +0 -16
  81. package/lib/data/rest-api/ehr/r4/Patient.js +0 -234
  82. package/lib/data/rest-api/rest-api-local.d.ts +0 -1
  83. package/lib/data/rest-api/rest-api-local.js +0 -8
  84. package/lib/data/rest-api/rest-api-mockdata.d.ts +0 -7
  85. package/lib/data/rest-api/rest-api-mockdata.js +0 -585
  86. package/lib/data/rest-api/rest-api.d.ts +0 -3
  87. package/lib/data/rest-api/rest-api.js +0 -26
  88. package/lib/lib/compression.d.ts +0 -27
  89. package/lib/lib/compression.js +0 -87
  90. package/lib/services/index.d.ts +0 -5
  91. package/lib/services/index.js +0 -22
  92. package/lib/services/open-hi-auth-service.d.ts +0 -31
  93. package/lib/services/open-hi-auth-service.js +0 -31
  94. package/lib/services/open-hi-core-service.d.ts +0 -15
  95. package/lib/services/open-hi-core-service.js +0 -38
  96. package/lib/services/open-hi-data-service.d.ts +0 -18
  97. package/lib/services/open-hi-data-service.js +0 -18
  98. package/lib/services/open-hi-global-service.d.ts +0 -15
  99. package/lib/services/open-hi-global-service.js +0 -44
  100. package/lib/services/open-hi-rest-api-service.d.ts +0 -17
  101. 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=
@@ -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
- }
@@ -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