@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
package/lib/components/core.d.ts
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { HttpApiProps } from "aws-cdk-lib/aws-apigatewayv2";
|
|
2
|
-
import { GraphqlApiProps } from "aws-cdk-lib/aws-appsync";
|
|
3
|
-
import { IUserPool, IUserPoolClient, IUserPoolDomain } from "aws-cdk-lib/aws-cognito";
|
|
4
|
-
import { EventBusProps, IEventBus } from "aws-cdk-lib/aws-events";
|
|
5
|
-
import { IKey } from "aws-cdk-lib/aws-kms";
|
|
6
|
-
import { Construct } from "constructs";
|
|
7
|
-
import { OpenHiService } from "../app";
|
|
8
|
-
export interface CoreProps {
|
|
9
|
-
/**
|
|
10
|
-
* Pass in options for an event bus, optional.
|
|
11
|
-
*/
|
|
12
|
-
readonly dataEventBusProps?: EventBusProps;
|
|
13
|
-
/**
|
|
14
|
-
* Pass in options for an event bus, optional.
|
|
15
|
-
*/
|
|
16
|
-
readonly opsEventBusProps?: EventBusProps;
|
|
17
|
-
/**
|
|
18
|
-
* Optional args for creating HTTP API.
|
|
19
|
-
*/
|
|
20
|
-
readonly httpApiProps?: HttpApiProps;
|
|
21
|
-
/**
|
|
22
|
-
* Optional args for creating the core GraphQL API.
|
|
23
|
-
*/
|
|
24
|
-
readonly graphqlApiProps?: GraphqlApiProps;
|
|
25
|
-
}
|
|
26
|
-
export declare class Core extends Construct {
|
|
27
|
-
/**
|
|
28
|
-
* Is this construct being created in the core service or elsewhere?
|
|
29
|
-
*/
|
|
30
|
-
readonly isCoreService: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Reference to the stack this core construct is part of.
|
|
33
|
-
*/
|
|
34
|
-
readonly service: OpenHiService;
|
|
35
|
-
/*****************************************************************************
|
|
36
|
-
*
|
|
37
|
-
* Event Bus
|
|
38
|
-
*
|
|
39
|
-
* These are the event bus constructs used across all services in an OpenHI
|
|
40
|
-
* application.
|
|
41
|
-
*
|
|
42
|
-
****************************************************************************/
|
|
43
|
-
/**
|
|
44
|
-
* Event bus that handles data events. This bus is used for events related to
|
|
45
|
-
* data processing, such as data ingestion, transformation, and storage.
|
|
46
|
-
*/
|
|
47
|
-
readonly dataEventBus: IEventBus;
|
|
48
|
-
/**
|
|
49
|
-
* Event bus that handles operational events. This bus is used for events
|
|
50
|
-
* related to system operations, such as monitoring, alerting, and system
|
|
51
|
-
* health.
|
|
52
|
-
*/
|
|
53
|
-
readonly opsEventBus: IEventBus;
|
|
54
|
-
/*****************************************************************************
|
|
55
|
-
*
|
|
56
|
-
* Auth Support
|
|
57
|
-
*
|
|
58
|
-
* These are the authentication constructs used across all services in an
|
|
59
|
-
* OpenHI application.
|
|
60
|
-
*
|
|
61
|
-
****************************************************************************/
|
|
62
|
-
/**
|
|
63
|
-
* KMS Key used to encrypt the Cognito User Pool. We need a custom key so that
|
|
64
|
-
* we can decrypt tokens when sending emails using something other than SES.
|
|
65
|
-
*/
|
|
66
|
-
readonly userPoolKmsKey: IKey;
|
|
67
|
-
/**
|
|
68
|
-
* Cognito User Pool for user management and authentication.
|
|
69
|
-
*/
|
|
70
|
-
readonly userPool: IUserPool;
|
|
71
|
-
/**
|
|
72
|
-
* Cognito User Pool Client for application integration with the User Pool.
|
|
73
|
-
*/
|
|
74
|
-
readonly userPoolClient: IUserPoolClient;
|
|
75
|
-
/**
|
|
76
|
-
* Cognito User Pool Domain for hosting the Cognito hosted UI.
|
|
77
|
-
*/
|
|
78
|
-
readonly userPoolDomain: IUserPoolDomain;
|
|
79
|
-
/*****************************************************************************
|
|
80
|
-
*
|
|
81
|
-
* API Support
|
|
82
|
-
*
|
|
83
|
-
* Global endpoints for both App Sync and API Gateway are defined here. These
|
|
84
|
-
* endpoints can be used/attached to globally by any service.
|
|
85
|
-
*
|
|
86
|
-
****************************************************************************/
|
|
87
|
-
/**
|
|
88
|
-
* API Gateway HTTP API for inbound endpoint traffic.
|
|
89
|
-
*/
|
|
90
|
-
/**
|
|
91
|
-
* App Sync GraphQL API for inbound endpoint traffic. This is the primary
|
|
92
|
-
* entrypoint for all subgraphs.
|
|
93
|
-
*/
|
|
94
|
-
constructor(scope: Construct, props?: CoreProps);
|
|
95
|
-
/*****************************************************************************
|
|
96
|
-
*
|
|
97
|
-
* Event Bus Support
|
|
98
|
-
*
|
|
99
|
-
****************************************************************************/
|
|
100
|
-
protected createDataEventBus(props?: EventBusProps): IEventBus;
|
|
101
|
-
protected createOpsEventBus(props?: EventBusProps): IEventBus;
|
|
102
|
-
}
|
package/lib/components/core.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Core = void 0;
|
|
4
|
-
const constructs_1 = require("constructs");
|
|
5
|
-
const app_1 = require("../app");
|
|
6
|
-
const auth_1 = require("./auth");
|
|
7
|
-
const data_event_bus_1 = require("./event-bridge/data-event-bus");
|
|
8
|
-
const ops_event_bus_1 = require("./event-bridge/ops-event-bus");
|
|
9
|
-
class Core extends constructs_1.Construct {
|
|
10
|
-
/*****************************************************************************
|
|
11
|
-
*
|
|
12
|
-
* API Support
|
|
13
|
-
*
|
|
14
|
-
* Global endpoints for both App Sync and API Gateway are defined here. These
|
|
15
|
-
* endpoints can be used/attached to globally by any service.
|
|
16
|
-
*
|
|
17
|
-
****************************************************************************/
|
|
18
|
-
/**
|
|
19
|
-
* API Gateway HTTP API for inbound endpoint traffic.
|
|
20
|
-
*/
|
|
21
|
-
// public readonly httpApi: IHttpApi;
|
|
22
|
-
/**
|
|
23
|
-
* App Sync GraphQL API for inbound endpoint traffic. This is the primary
|
|
24
|
-
* entrypoint for all subgraphs.
|
|
25
|
-
*/
|
|
26
|
-
// public readonly graphqlApi: IGraphqlApi;
|
|
27
|
-
constructor(scope, props = {}) {
|
|
28
|
-
super(scope, "core");
|
|
29
|
-
/**
|
|
30
|
-
* Determine if we are in the core service or not.
|
|
31
|
-
*/
|
|
32
|
-
/**
|
|
33
|
-
* Reference to parent stack this belongs to.
|
|
34
|
-
*/
|
|
35
|
-
this.service = app_1.OpenHiService.of(this);
|
|
36
|
-
this.isCoreService = this.service.serviceType === app_1.OPEN_HI_SERVICE_TYPE.CORE;
|
|
37
|
-
/**
|
|
38
|
-
* Event Bus Support
|
|
39
|
-
*/
|
|
40
|
-
this.dataEventBus = this.createDataEventBus(props.dataEventBusProps);
|
|
41
|
-
this.opsEventBus = this.createOpsEventBus(props.opsEventBusProps);
|
|
42
|
-
/**
|
|
43
|
-
* Auth Support
|
|
44
|
-
*/
|
|
45
|
-
const auth = auth_1.Auth.fromConstruct(this);
|
|
46
|
-
this.userPoolKmsKey = auth.userPoolKmsKey;
|
|
47
|
-
this.userPool = auth.userPool;
|
|
48
|
-
this.userPoolClient = auth.userPoolClient;
|
|
49
|
-
this.userPoolDomain = auth.userPoolDomain;
|
|
50
|
-
/**
|
|
51
|
-
* API Support
|
|
52
|
-
*/
|
|
53
|
-
// this.httpApi = this.createHttpApi(props.httpApiProps);
|
|
54
|
-
// this.graphqlApi = this.createGraphQlApi(props.graphqlApiProps);
|
|
55
|
-
}
|
|
56
|
-
/*****************************************************************************
|
|
57
|
-
*
|
|
58
|
-
* Event Bus Support
|
|
59
|
-
*
|
|
60
|
-
****************************************************************************/
|
|
61
|
-
createDataEventBus(props) {
|
|
62
|
-
if (!this.dataEventBus) {
|
|
63
|
-
return this.isCoreService
|
|
64
|
-
? new data_event_bus_1.DataEventBus(this, props)
|
|
65
|
-
: data_event_bus_1.DataEventBus.fromConstruct(this);
|
|
66
|
-
}
|
|
67
|
-
return this.dataEventBus;
|
|
68
|
-
}
|
|
69
|
-
createOpsEventBus(props) {
|
|
70
|
-
if (!this.opsEventBus) {
|
|
71
|
-
return this.isCoreService
|
|
72
|
-
? new ops_event_bus_1.OpsEventBus(this, props)
|
|
73
|
-
: ops_event_bus_1.OpsEventBus.fromConstruct(this);
|
|
74
|
-
}
|
|
75
|
-
return this.opsEventBus;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
exports.Core = Core;
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU0EsMkNBQXVDO0FBQ3ZDLGdDQUE2RDtBQUM3RCxpQ0FBOEI7QUFDOUIsa0VBQTZEO0FBQzdELGdFQUEyRDtBQXdCM0QsTUFBYSxJQUFLLFNBQVEsc0JBQVM7SUErRGpDOzs7Ozs7O2tGQU84RTtJQUU5RTs7T0FFRztJQUNILHFDQUFxQztJQUVyQzs7O09BR0c7SUFDSCwyQ0FBMkM7SUFFM0MsWUFBWSxLQUFnQixFQUFFLFFBQW1CLEVBQUU7UUFDakQsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVyQjs7V0FFRztRQUNIOztXQUVHO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxtQkFBYSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQWtCLENBQUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsS0FBSywwQkFBb0IsQ0FBQyxJQUFJLENBQUM7UUFFNUU7O1dBRUc7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVsRTs7V0FFRztRQUNILE1BQU0sSUFBSSxHQUFHLFdBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRTFDOztXQUVHO1FBQ0gseURBQXlEO1FBQ3pELGtFQUFrRTtJQUNwRSxDQUFDO0lBRUQ7Ozs7a0ZBSThFO0lBRXBFLGtCQUFrQixDQUFDLEtBQXFCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUMsYUFBYTtnQkFDdkIsQ0FBQyxDQUFDLElBQUksNkJBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2dCQUMvQixDQUFDLENBQUMsNkJBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRVMsaUJBQWlCLENBQUMsS0FBcUI7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQyxhQUFhO2dCQUN2QixDQUFDLENBQUMsSUFBSSwyQkFBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7Z0JBQzlCLENBQUMsQ0FBQywyQkFBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7Q0F5REY7QUFwTUQsb0JBb01DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEFwaVByb3BzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5djJcIjtcbmltcG9ydCB7IEdyYXBocWxBcGlQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBwc3luY1wiO1xuaW1wb3J0IHtcbiAgSVVzZXJQb29sLFxuICBJVXNlclBvb2xDbGllbnQsXG4gIElVc2VyUG9vbERvbWFpbixcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2duaXRvXCI7XG5pbXBvcnQgeyBFdmVudEJ1c1Byb3BzLCBJRXZlbnRCdXMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50c1wiO1xuaW1wb3J0IHsgSUtleSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mta21zXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgT1BFTl9ISV9TRVJWSUNFX1RZUEUsIE9wZW5IaVNlcnZpY2UgfSBmcm9tIFwiLi4vYXBwXCI7XG5pbXBvcnQgeyBBdXRoIH0gZnJvbSBcIi4vYXV0aFwiO1xuaW1wb3J0IHsgRGF0YUV2ZW50QnVzIH0gZnJvbSBcIi4vZXZlbnQtYnJpZGdlL2RhdGEtZXZlbnQtYnVzXCI7XG5pbXBvcnQgeyBPcHNFdmVudEJ1cyB9IGZyb20gXCIuL2V2ZW50LWJyaWRnZS9vcHMtZXZlbnQtYnVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29yZVByb3BzIHtcbiAgLyoqXG4gICAqIFBhc3MgaW4gb3B0aW9ucyBmb3IgYW4gZXZlbnQgYnVzLCBvcHRpb25hbC5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFFdmVudEJ1c1Byb3BzPzogRXZlbnRCdXNQcm9wcztcblxuICAvKipcbiAgICogUGFzcyBpbiBvcHRpb25zIGZvciBhbiBldmVudCBidXMsIG9wdGlvbmFsLlxuICAgKi9cbiAgcmVhZG9ubHkgb3BzRXZlbnRCdXNQcm9wcz86IEV2ZW50QnVzUHJvcHM7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGFyZ3MgZm9yIGNyZWF0aW5nIEhUVFAgQVBJLlxuICAgKi9cbiAgcmVhZG9ubHkgaHR0cEFwaVByb3BzPzogSHR0cEFwaVByb3BzO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBhcmdzIGZvciBjcmVhdGluZyB0aGUgY29yZSBHcmFwaFFMIEFQSS5cbiAgICovXG4gIHJlYWRvbmx5IGdyYXBocWxBcGlQcm9wcz86IEdyYXBocWxBcGlQcm9wcztcbn1cblxuZXhwb3J0IGNsYXNzIENvcmUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogSXMgdGhpcyBjb25zdHJ1Y3QgYmVpbmcgY3JlYXRlZCBpbiB0aGUgY29yZSBzZXJ2aWNlIG9yIGVsc2V3aGVyZT9cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpc0NvcmVTZXJ2aWNlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIHN0YWNrIHRoaXMgY29yZSBjb25zdHJ1Y3QgaXMgcGFydCBvZi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlOiBPcGVuSGlTZXJ2aWNlO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKlxuICAgKiBFdmVudCBCdXNcbiAgICpcbiAgICogVGhlc2UgYXJlIHRoZSBldmVudCBidXMgY29uc3RydWN0cyB1c2VkIGFjcm9zcyBhbGwgc2VydmljZXMgaW4gYW4gT3BlbkhJXG4gICAqIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogRXZlbnQgYnVzIHRoYXQgaGFuZGxlcyBkYXRhIGV2ZW50cy4gVGhpcyBidXMgaXMgdXNlZCBmb3IgZXZlbnRzIHJlbGF0ZWQgdG9cbiAgICogZGF0YSBwcm9jZXNzaW5nLCBzdWNoIGFzIGRhdGEgaW5nZXN0aW9uLCB0cmFuc2Zvcm1hdGlvbiwgYW5kIHN0b3JhZ2UuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGF0YUV2ZW50QnVzOiBJRXZlbnRCdXM7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGJ1cyB0aGF0IGhhbmRsZXMgb3BlcmF0aW9uYWwgZXZlbnRzLiBUaGlzIGJ1cyBpcyB1c2VkIGZvciBldmVudHNcbiAgICogcmVsYXRlZCB0byBzeXN0ZW0gb3BlcmF0aW9ucywgc3VjaCBhcyBtb25pdG9yaW5nLCBhbGVydGluZywgYW5kIHN5c3RlbVxuICAgKiBoZWFsdGguXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb3BzRXZlbnRCdXM6IElFdmVudEJ1cztcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICpcbiAgICogQXV0aCBTdXBwb3J0XG4gICAqXG4gICAqIFRoZXNlIGFyZSB0aGUgYXV0aGVudGljYXRpb24gY29uc3RydWN0cyB1c2VkIGFjcm9zcyBhbGwgc2VydmljZXMgaW4gYW5cbiAgICogT3BlbkhJIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogS01TIEtleSB1c2VkIHRvIGVuY3J5cHQgdGhlIENvZ25pdG8gVXNlciBQb29sLiBXZSBuZWVkIGEgY3VzdG9tIGtleSBzbyB0aGF0XG4gICAqIHdlIGNhbiBkZWNyeXB0IHRva2VucyB3aGVuIHNlbmRpbmcgZW1haWxzIHVzaW5nIHNvbWV0aGluZyBvdGhlciB0aGFuIFNFUy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbEttc0tleTogSUtleTtcblxuICAvKipcbiAgICogQ29nbml0byBVc2VyIFBvb2wgZm9yIHVzZXIgbWFuYWdlbWVudCBhbmQgYXV0aGVudGljYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlclBvb2w6IElVc2VyUG9vbDtcblxuICAvKipcbiAgICogQ29nbml0byBVc2VyIFBvb2wgQ2xpZW50IGZvciBhcHBsaWNhdGlvbiBpbnRlZ3JhdGlvbiB3aXRoIHRoZSBVc2VyIFBvb2wuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlclBvb2xDbGllbnQ6IElVc2VyUG9vbENsaWVudDtcblxuICAvKipcbiAgICogQ29nbml0byBVc2VyIFBvb2wgRG9tYWluIGZvciBob3N0aW5nIHRoZSBDb2duaXRvIGhvc3RlZCBVSS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbERvbWFpbjogSVVzZXJQb29sRG9tYWluO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKlxuICAgKiBBUEkgU3VwcG9ydFxuICAgKlxuICAgKiBHbG9iYWwgZW5kcG9pbnRzIGZvciBib3RoIEFwcCBTeW5jIGFuZCBBUEkgR2F0ZXdheSBhcmUgZGVmaW5lZCBoZXJlLiBUaGVzZVxuICAgKiBlbmRwb2ludHMgY2FuIGJlIHVzZWQvYXR0YWNoZWQgdG8gZ2xvYmFsbHkgYnkgYW55IHNlcnZpY2UuXG4gICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBBUEkgR2F0ZXdheSBIVFRQIEFQSSBmb3IgaW5ib3VuZCBlbmRwb2ludCB0cmFmZmljLlxuICAgKi9cbiAgLy8gcHVibGljIHJlYWRvbmx5IGh0dHBBcGk6IElIdHRwQXBpO1xuXG4gIC8qKlxuICAgKiBBcHAgU3luYyBHcmFwaFFMIEFQSSBmb3IgaW5ib3VuZCBlbmRwb2ludCB0cmFmZmljLiBUaGlzIGlzIHRoZSBwcmltYXJ5XG4gICAqIGVudHJ5cG9pbnQgZm9yIGFsbCBzdWJncmFwaHMuXG4gICAqL1xuICAvLyBwdWJsaWMgcmVhZG9ubHkgZ3JhcGhxbEFwaTogSUdyYXBocWxBcGk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IENvcmVQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIFwiY29yZVwiKTtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZSBpZiB3ZSBhcmUgaW4gdGhlIGNvcmUgc2VydmljZSBvciBub3QuXG4gICAgICovXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIHBhcmVudCBzdGFjayB0aGlzIGJlbG9uZ3MgdG8uXG4gICAgICovXG4gICAgdGhpcy5zZXJ2aWNlID0gT3BlbkhpU2VydmljZS5vZih0aGlzKSBhcyBPcGVuSGlTZXJ2aWNlO1xuICAgIHRoaXMuaXNDb3JlU2VydmljZSA9IHRoaXMuc2VydmljZS5zZXJ2aWNlVHlwZSA9PT0gT1BFTl9ISV9TRVJWSUNFX1RZUEUuQ09SRTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IEJ1cyBTdXBwb3J0XG4gICAgICovXG4gICAgdGhpcy5kYXRhRXZlbnRCdXMgPSB0aGlzLmNyZWF0ZURhdGFFdmVudEJ1cyhwcm9wcy5kYXRhRXZlbnRCdXNQcm9wcyk7XG4gICAgdGhpcy5vcHNFdmVudEJ1cyA9IHRoaXMuY3JlYXRlT3BzRXZlbnRCdXMocHJvcHMub3BzRXZlbnRCdXNQcm9wcyk7XG5cbiAgICAvKipcbiAgICAgKiBBdXRoIFN1cHBvcnRcbiAgICAgKi9cbiAgICBjb25zdCBhdXRoID0gQXV0aC5mcm9tQ29uc3RydWN0KHRoaXMpO1xuICAgIHRoaXMudXNlclBvb2xLbXNLZXkgPSBhdXRoLnVzZXJQb29sS21zS2V5O1xuICAgIHRoaXMudXNlclBvb2wgPSBhdXRoLnVzZXJQb29sO1xuICAgIHRoaXMudXNlclBvb2xDbGllbnQgPSBhdXRoLnVzZXJQb29sQ2xpZW50O1xuICAgIHRoaXMudXNlclBvb2xEb21haW4gPSBhdXRoLnVzZXJQb29sRG9tYWluO1xuXG4gICAgLyoqXG4gICAgICogQVBJIFN1cHBvcnRcbiAgICAgKi9cbiAgICAvLyB0aGlzLmh0dHBBcGkgPSB0aGlzLmNyZWF0ZUh0dHBBcGkocHJvcHMuaHR0cEFwaVByb3BzKTtcbiAgICAvLyB0aGlzLmdyYXBocWxBcGkgPSB0aGlzLmNyZWF0ZUdyYXBoUWxBcGkocHJvcHMuZ3JhcGhxbEFwaVByb3BzKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKlxuICAgKiBFdmVudCBCdXMgU3VwcG9ydFxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgY3JlYXRlRGF0YUV2ZW50QnVzKHByb3BzPzogRXZlbnRCdXNQcm9wcyk6IElFdmVudEJ1cyB7XG4gICAgaWYgKCF0aGlzLmRhdGFFdmVudEJ1cykge1xuICAgICAgcmV0dXJuIHRoaXMuaXNDb3JlU2VydmljZVxuICAgICAgICA/IG5ldyBEYXRhRXZlbnRCdXModGhpcywgcHJvcHMpXG4gICAgICAgIDogRGF0YUV2ZW50QnVzLmZyb21Db25zdHJ1Y3QodGhpcyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmRhdGFFdmVudEJ1cztcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVPcHNFdmVudEJ1cyhwcm9wcz86IEV2ZW50QnVzUHJvcHMpOiBJRXZlbnRCdXMge1xuICAgIGlmICghdGhpcy5vcHNFdmVudEJ1cykge1xuICAgICAgcmV0dXJuIHRoaXMuaXNDb3JlU2VydmljZVxuICAgICAgICA/IG5ldyBPcHNFdmVudEJ1cyh0aGlzLCBwcm9wcylcbiAgICAgICAgOiBPcHNFdmVudEJ1cy5mcm9tQ29uc3RydWN0KHRoaXMpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5vcHNFdmVudEJ1cztcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKlxuICAgKiBBUEkgRW5kcG9pbnRzIFN1cHBvcnRcbiAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLy8gcHJvdGVjdGVkIGNyZWF0ZUh0dHBBcGkocHJvcHM/OiBIdHRwQXBpUHJvcHMpOiBJSHR0cEFwaSB7XG4gIC8vICAgaWYgKCF0aGlzLmh0dHBBcGkpIHtcbiAgLy8gICAgIHJldHVybiB0aGlzLmlzQ29yZVNlcnZpY2VcbiAgLy8gICAgICAgPyBuZXcgQ29yZUh0dHBBcGkodGhpcywge1xuICAvLyAgICAgICAgICAgLyoqXG4gIC8vICAgICAgICAgICAgKiBVc2VyIHByb3ZpZGVkIHByb3BzXG4gIC8vICAgICAgICAgICAgKi9cbiAgLy8gICAgICAgICAgIC4uLnByb3BzLFxuXG4gIC8vICAgICAgICAgICAvKipcbiAgLy8gICAgICAgICAgICAqIFJlcXVpcmVkXG4gIC8vICAgICAgICAgICAgKi9cbiAgLy8gICAgICAgICAgIGRlZmF1bHRBdXRob3JpemVyOiBuZXcgSHR0cFVzZXJQb29sQXV0aG9yaXplcihcbiAgLy8gICAgICAgICAgICAgXCJjb2duaXRvLWF1dGhvcml6ZXJcIixcbiAgLy8gICAgICAgICAgICAgdGhpcy51c2VyUG9vbCxcbiAgLy8gICAgICAgICAgICksXG4gIC8vICAgICAgICAgfSlcbiAgLy8gICAgICAgOiBDb3JlSHR0cEFwaS5mcm9tQ29uc3RydWN0KHRoaXMpO1xuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gdGhpcy5odHRwQXBpO1xuICAvLyB9XG5cbiAgLy8gcHJvdGVjdGVkIGNyZWF0ZUdyYXBoUWxBcGkoXG4gIC8vICAgcHJvcHM/OiBPbWl0PEdyYXBocWxBcGlQcm9wcywgXCJuYW1lXCI+LFxuICAvLyApOiBJR3JhcGhxbEFwaSB7XG4gIC8vICAgaWYgKCF0aGlzLmdyYXBocWxBcGkpIHtcbiAgLy8gICAgIHJldHVybiB0aGlzLmlzQ29yZVNlcnZpY2VcbiAgLy8gICAgICAgPyBuZXcgQ29yZUdyYXBocWxBcGkodGhpcywge1xuICAvLyAgICAgICAgICAgLyoqXG4gIC8vICAgICAgICAgICAgKiBVc2VyIGFyZ3NcbiAgLy8gICAgICAgICAgICAqL1xuICAvLyAgICAgICAgICAgLi4ucHJvcHMsXG5cbiAgLy8gICAgICAgICAgIC8qKlxuICAvLyAgICAgICAgICAgICogUmVxdWlyZWQgYXJnc1xuICAvLyAgICAgICAgICAgICovXG4gIC8vICAgICAgICAgICBhdXRob3JpemF0aW9uQ29uZmlnOiB7XG4gIC8vICAgICAgICAgICAgIGRlZmF1bHRBdXRob3JpemF0aW9uOiB7XG4gIC8vICAgICAgICAgICAgICAgYXV0aG9yaXphdGlvblR5cGU6IEF1dGhvcml6YXRpb25UeXBlLlVTRVJfUE9PTCxcbiAgLy8gICAgICAgICAgICAgICB1c2VyUG9vbENvbmZpZzoge1xuICAvLyAgICAgICAgICAgICAgICAgdXNlclBvb2w6IHRoaXMudXNlclBvb2wsXG4gIC8vICAgICAgICAgICAgICAgfSxcbiAgLy8gICAgICAgICAgICAgfSxcbiAgLy8gICAgICAgICAgIH0sXG4gIC8vICAgICAgICAgfSlcbiAgLy8gICAgICAgOiBDb3JlR3JhcGhxbEFwaS5mcm9tQ29uc3RydWN0KHRoaXMpO1xuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gdGhpcy5ncmFwaHFsQXBpO1xuICAvLyB9XG59XG4iXX0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { RemovalPolicy } from "aws-cdk-lib";
|
|
2
|
-
import { ITable, Table, TableProps } from "aws-cdk-lib/aws-dynamodb";
|
|
3
|
-
import { Construct } from "constructs";
|
|
4
|
-
/**
|
|
5
|
-
* DynamoDB table name for the data store. Used for cross-stack reference and
|
|
6
|
-
* deterministic naming per branch. The table backs multiple use cases (e.g.
|
|
7
|
-
* CRM, CMS, ERP, EHR).
|
|
8
|
-
*/
|
|
9
|
-
export declare function getDynamoDbDataStoreTableName(scope: Construct): string;
|
|
10
|
-
export interface DynamoDbDataStoreProps extends Omit<TableProps, "tableName" | "removalPolicy"> {
|
|
11
|
-
/**
|
|
12
|
-
* Optional removal policy override. If not set, uses the service's default
|
|
13
|
-
* removal policy (RETAIN for prod, DESTROY otherwise).
|
|
14
|
-
*/
|
|
15
|
-
readonly removalPolicy?: RemovalPolicy;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* DynamoDB table implementing the single-table design for app data (e.g. FHIR
|
|
19
|
-
* resources, CRM, CMS, ERP, EHR).
|
|
20
|
-
*
|
|
21
|
-
* @see {@link https://github.com/codedrifters/openhi/blob/main/sites/www-docs/content/architecture/dynamodb-single-table-design.md | DynamoDB Single-Table Design}
|
|
22
|
-
*
|
|
23
|
-
* Primary key: PK (String), SK (String).
|
|
24
|
-
* GSIs: GSI1 (reverse reference), GSI2 (identifier lookup), GSI3 (facility ops), GSI4 (resource type list).
|
|
25
|
-
*/
|
|
26
|
-
export declare class DynamoDbDataStore extends Table {
|
|
27
|
-
/**
|
|
28
|
-
* Import the data store table by name for use in another stack (e.g. data
|
|
29
|
-
* service or Lambda). Uses the same naming as {@link getDynamoDbDataStoreTableName}.
|
|
30
|
-
*/
|
|
31
|
-
static fromConstruct(scope: Construct, id?: string): ITable;
|
|
32
|
-
constructor(scope: Construct, id: string, props?: DynamoDbDataStoreProps);
|
|
33
|
-
}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DynamoDbDataStore = void 0;
|
|
4
|
-
exports.getDynamoDbDataStoreTableName = getDynamoDbDataStoreTableName;
|
|
5
|
-
const aws_dynamodb_1 = require("aws-cdk-lib/aws-dynamodb");
|
|
6
|
-
const app_1 = require("../../app");
|
|
7
|
-
/**
|
|
8
|
-
* DynamoDB table name for the data store. Used for cross-stack reference and
|
|
9
|
-
* deterministic naming per branch. The table backs multiple use cases (e.g.
|
|
10
|
-
* CRM, CMS, ERP, EHR).
|
|
11
|
-
*/
|
|
12
|
-
function getDynamoDbDataStoreTableName(scope) {
|
|
13
|
-
const stack = app_1.OpenHiService.of(scope);
|
|
14
|
-
return `data-store-${stack.branchHash}`;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* DynamoDB table implementing the single-table design for app data (e.g. FHIR
|
|
18
|
-
* resources, CRM, CMS, ERP, EHR).
|
|
19
|
-
*
|
|
20
|
-
* @see {@link https://github.com/codedrifters/openhi/blob/main/sites/www-docs/content/architecture/dynamodb-single-table-design.md | DynamoDB Single-Table Design}
|
|
21
|
-
*
|
|
22
|
-
* Primary key: PK (String), SK (String).
|
|
23
|
-
* GSIs: GSI1 (reverse reference), GSI2 (identifier lookup), GSI3 (facility ops), GSI4 (resource type list).
|
|
24
|
-
*/
|
|
25
|
-
class DynamoDbDataStore extends aws_dynamodb_1.Table {
|
|
26
|
-
/**
|
|
27
|
-
* Import the data store table by name for use in another stack (e.g. data
|
|
28
|
-
* service or Lambda). Uses the same naming as {@link getDynamoDbDataStoreTableName}.
|
|
29
|
-
*/
|
|
30
|
-
static fromConstruct(scope, id = "dynamo-db-data-store") {
|
|
31
|
-
return aws_dynamodb_1.Table.fromTableName(scope, id, getDynamoDbDataStoreTableName(scope));
|
|
32
|
-
}
|
|
33
|
-
constructor(scope, id, props = {}) {
|
|
34
|
-
const service = app_1.OpenHiService.of(scope);
|
|
35
|
-
super(scope, id, {
|
|
36
|
-
...props,
|
|
37
|
-
tableName: getDynamoDbDataStoreTableName(scope),
|
|
38
|
-
partitionKey: {
|
|
39
|
-
name: "PK",
|
|
40
|
-
type: aws_dynamodb_1.AttributeType.STRING,
|
|
41
|
-
},
|
|
42
|
-
sortKey: {
|
|
43
|
-
name: "SK",
|
|
44
|
-
type: aws_dynamodb_1.AttributeType.STRING,
|
|
45
|
-
},
|
|
46
|
-
billingMode: aws_dynamodb_1.BillingMode.PAY_PER_REQUEST,
|
|
47
|
-
removalPolicy: props.removalPolicy ?? service.removalPolicy,
|
|
48
|
-
});
|
|
49
|
-
// GSI1 — Reverse Reference Index: "what references X?"
|
|
50
|
-
this.addGlobalSecondaryIndex({
|
|
51
|
-
indexName: "GSI1",
|
|
52
|
-
partitionKey: {
|
|
53
|
-
name: "GSI1PK",
|
|
54
|
-
type: aws_dynamodb_1.AttributeType.STRING,
|
|
55
|
-
},
|
|
56
|
-
sortKey: {
|
|
57
|
-
name: "GSI1SK",
|
|
58
|
-
type: aws_dynamodb_1.AttributeType.STRING,
|
|
59
|
-
},
|
|
60
|
-
projectionType: aws_dynamodb_1.ProjectionType.INCLUDE,
|
|
61
|
-
nonKeyAttributes: ["srcType", "srcId", "path", "srcPk", "srcSk", "ts"],
|
|
62
|
-
});
|
|
63
|
-
// GSI2 — Identifier Lookup Index: MRN, NPI, member ID, etc.
|
|
64
|
-
this.addGlobalSecondaryIndex({
|
|
65
|
-
indexName: "GSI2",
|
|
66
|
-
partitionKey: {
|
|
67
|
-
name: "GSI2PK",
|
|
68
|
-
type: aws_dynamodb_1.AttributeType.STRING,
|
|
69
|
-
},
|
|
70
|
-
sortKey: {
|
|
71
|
-
name: "GSI2SK",
|
|
72
|
-
type: aws_dynamodb_1.AttributeType.STRING,
|
|
73
|
-
},
|
|
74
|
-
projectionType: aws_dynamodb_1.ProjectionType.INCLUDE,
|
|
75
|
-
nonKeyAttributes: ["resourcePk", "resourceSk", "display", "status"],
|
|
76
|
-
});
|
|
77
|
-
// GSI3 — Facility Ops Index: worklists, rosters, schedules
|
|
78
|
-
this.addGlobalSecondaryIndex({
|
|
79
|
-
indexName: "GSI3",
|
|
80
|
-
partitionKey: {
|
|
81
|
-
name: "GSI3PK",
|
|
82
|
-
type: aws_dynamodb_1.AttributeType.STRING,
|
|
83
|
-
},
|
|
84
|
-
sortKey: {
|
|
85
|
-
name: "GSI3SK",
|
|
86
|
-
type: aws_dynamodb_1.AttributeType.STRING,
|
|
87
|
-
},
|
|
88
|
-
projectionType: aws_dynamodb_1.ProjectionType.INCLUDE,
|
|
89
|
-
nonKeyAttributes: ["resourcePk", "resourceSk"],
|
|
90
|
-
});
|
|
91
|
-
// GSI4 — Resource Type Index: list all resources of a type in workspace (no scan)
|
|
92
|
-
this.addGlobalSecondaryIndex({
|
|
93
|
-
indexName: "GSI4",
|
|
94
|
-
partitionKey: {
|
|
95
|
-
name: "GSI4PK",
|
|
96
|
-
type: aws_dynamodb_1.AttributeType.STRING,
|
|
97
|
-
},
|
|
98
|
-
sortKey: {
|
|
99
|
-
name: "GSI4SK",
|
|
100
|
-
type: aws_dynamodb_1.AttributeType.STRING,
|
|
101
|
-
},
|
|
102
|
-
projectionType: aws_dynamodb_1.ProjectionType.ALL,
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
exports.DynamoDbDataStore = DynamoDbDataStore;
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1vLWRiLWRhdGEtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9keW5hbW9kYi9keW5hbW8tZGItZGF0YS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpQkEsc0VBR0M7QUFuQkQsMkRBT2tDO0FBRWxDLG1DQUEwQztBQUUxQzs7OztHQUlHO0FBQ0gsU0FBZ0IsNkJBQTZCLENBQUMsS0FBZ0I7SUFDNUQsTUFBTSxLQUFLLEdBQUcsbUJBQWEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFrQixDQUFDO0lBQ3ZELE9BQU8sY0FBYyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7QUFDMUMsQ0FBQztBQWFEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxvQkFBSztJQUMxQzs7O09BR0c7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUN6QixLQUFnQixFQUNoQixFQUFFLEdBQUcsc0JBQXNCO1FBRTNCLE9BQU8sb0JBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixRQUFnQyxFQUFFO1FBRWxDLE1BQU0sT0FBTyxHQUFHLG1CQUFhLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBa0IsQ0FBQztRQUV6RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSztZQUNSLFNBQVMsRUFBRSw2QkFBNkIsQ0FBQyxLQUFLLENBQUM7WUFDL0MsWUFBWSxFQUFFO2dCQUNaLElBQUksRUFBRSxJQUFJO2dCQUNWLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07YUFDM0I7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTthQUMzQjtZQUNELFdBQVcsRUFBRSwwQkFBVyxDQUFDLGVBQWU7WUFDeEMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLGFBQWE7U0FDNUQsQ0FBQyxDQUFDO1FBRUgsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyx1QkFBdUIsQ0FBQztZQUMzQixTQUFTLEVBQUUsTUFBTTtZQUNqQixZQUFZLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTthQUMzQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2FBQzNCO1lBQ0QsY0FBYyxFQUFFLDZCQUFjLENBQUMsT0FBTztZQUN0QyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDO1NBQ3ZFLENBQUMsQ0FBQztRQUVILDREQUE0RDtRQUM1RCxJQUFJLENBQUMsdUJBQXVCLENBQUM7WUFDM0IsU0FBUyxFQUFFLE1BQU07WUFDakIsWUFBWSxFQUFFO2dCQUNaLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07YUFDM0I7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTthQUMzQjtZQUNELGNBQWMsRUFBRSw2QkFBYyxDQUFDLE9BQU87WUFDdEMsZ0JBQWdCLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUM7U0FDcEUsQ0FBQyxDQUFDO1FBRUgsMkRBQTJEO1FBQzNELElBQUksQ0FBQyx1QkFBdUIsQ0FBQztZQUMzQixTQUFTLEVBQUUsTUFBTTtZQUNqQixZQUFZLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTthQUMzQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2FBQzNCO1lBQ0QsY0FBYyxFQUFFLDZCQUFjLENBQUMsT0FBTztZQUN0QyxnQkFBZ0IsRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsa0ZBQWtGO1FBQ2xGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztZQUMzQixTQUFTLEVBQUUsTUFBTTtZQUNqQixZQUFZLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTthQUMzQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2FBQzNCO1lBQ0QsY0FBYyxFQUFFLDZCQUFjLENBQUMsR0FBRztTQUNuQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE3RkQsOENBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQXR0cmlidXRlVHlwZSxcbiAgQmlsbGluZ01vZGUsXG4gIElUYWJsZSxcbiAgUHJvamVjdGlvblR5cGUsXG4gIFRhYmxlLFxuICBUYWJsZVByb3BzLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgT3BlbkhpU2VydmljZSB9IGZyb20gXCIuLi8uLi9hcHBcIjtcblxuLyoqXG4gKiBEeW5hbW9EQiB0YWJsZSBuYW1lIGZvciB0aGUgZGF0YSBzdG9yZS4gVXNlZCBmb3IgY3Jvc3Mtc3RhY2sgcmVmZXJlbmNlIGFuZFxuICogZGV0ZXJtaW5pc3RpYyBuYW1pbmcgcGVyIGJyYW5jaC4gVGhlIHRhYmxlIGJhY2tzIG11bHRpcGxlIHVzZSBjYXNlcyAoZS5nLlxuICogQ1JNLCBDTVMsIEVSUCwgRUhSKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldER5bmFtb0RiRGF0YVN0b3JlVGFibGVOYW1lKHNjb3BlOiBDb25zdHJ1Y3QpOiBzdHJpbmcge1xuICBjb25zdCBzdGFjayA9IE9wZW5IaVNlcnZpY2Uub2Yoc2NvcGUpIGFzIE9wZW5IaVNlcnZpY2U7XG4gIHJldHVybiBgZGF0YS1zdG9yZS0ke3N0YWNrLmJyYW5jaEhhc2h9YDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbW9EYkRhdGFTdG9yZVByb3BzIGV4dGVuZHMgT21pdDxcbiAgVGFibGVQcm9wcyxcbiAgXCJ0YWJsZU5hbWVcIiB8IFwicmVtb3ZhbFBvbGljeVwiXG4+IHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHJlbW92YWwgcG9saWN5IG92ZXJyaWRlLiBJZiBub3Qgc2V0LCB1c2VzIHRoZSBzZXJ2aWNlJ3MgZGVmYXVsdFxuICAgKiByZW1vdmFsIHBvbGljeSAoUkVUQUlOIGZvciBwcm9kLCBERVNUUk9ZIG90aGVyd2lzZSkuXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcbn1cblxuLyoqXG4gKiBEeW5hbW9EQiB0YWJsZSBpbXBsZW1lbnRpbmcgdGhlIHNpbmdsZS10YWJsZSBkZXNpZ24gZm9yIGFwcCBkYXRhIChlLmcuIEZISVJcbiAqIHJlc291cmNlcywgQ1JNLCBDTVMsIEVSUCwgRUhSKS5cbiAqXG4gKiBAc2VlIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vY29kZWRyaWZ0ZXJzL29wZW5oaS9ibG9iL21haW4vc2l0ZXMvd3d3LWRvY3MvY29udGVudC9hcmNoaXRlY3R1cmUvZHluYW1vZGItc2luZ2xlLXRhYmxlLWRlc2lnbi5tZCB8IER5bmFtb0RCIFNpbmdsZS1UYWJsZSBEZXNpZ259XG4gKlxuICogUHJpbWFyeSBrZXk6IFBLIChTdHJpbmcpLCBTSyAoU3RyaW5nKS5cbiAqIEdTSXM6IEdTSTEgKHJldmVyc2UgcmVmZXJlbmNlKSwgR1NJMiAoaWRlbnRpZmllciBsb29rdXApLCBHU0kzIChmYWNpbGl0eSBvcHMpLCBHU0k0IChyZXNvdXJjZSB0eXBlIGxpc3QpLlxuICovXG5leHBvcnQgY2xhc3MgRHluYW1vRGJEYXRhU3RvcmUgZXh0ZW5kcyBUYWJsZSB7XG4gIC8qKlxuICAgKiBJbXBvcnQgdGhlIGRhdGEgc3RvcmUgdGFibGUgYnkgbmFtZSBmb3IgdXNlIGluIGFub3RoZXIgc3RhY2sgKGUuZy4gZGF0YVxuICAgKiBzZXJ2aWNlIG9yIExhbWJkYSkuIFVzZXMgdGhlIHNhbWUgbmFtaW5nIGFzIHtAbGluayBnZXREeW5hbW9EYkRhdGFTdG9yZVRhYmxlTmFtZX0uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Db25zdHJ1Y3QoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZCA9IFwiZHluYW1vLWRiLWRhdGEtc3RvcmVcIixcbiAgKTogSVRhYmxlIHtcbiAgICByZXR1cm4gVGFibGUuZnJvbVRhYmxlTmFtZShzY29wZSwgaWQsIGdldER5bmFtb0RiRGF0YVN0b3JlVGFibGVOYW1lKHNjb3BlKSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IER5bmFtb0RiRGF0YVN0b3JlUHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgY29uc3Qgc2VydmljZSA9IE9wZW5IaVNlcnZpY2Uub2Yoc2NvcGUpIGFzIE9wZW5IaVNlcnZpY2U7XG5cbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgdGFibGVOYW1lOiBnZXREeW5hbW9EYkRhdGFTdG9yZVRhYmxlTmFtZShzY29wZSksXG4gICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgbmFtZTogXCJQS1wiLFxuICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgIH0sXG4gICAgICBzb3J0S2V5OiB7XG4gICAgICAgIG5hbWU6IFwiU0tcIixcbiAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICB9LFxuICAgICAgYmlsbGluZ01vZGU6IEJpbGxpbmdNb2RlLlBBWV9QRVJfUkVRVUVTVCxcbiAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzLnJlbW92YWxQb2xpY3kgPz8gc2VydmljZS5yZW1vdmFsUG9saWN5LFxuICAgIH0pO1xuXG4gICAgLy8gR1NJMSDigJQgUmV2ZXJzZSBSZWZlcmVuY2UgSW5kZXg6IFwid2hhdCByZWZlcmVuY2VzIFg/XCJcbiAgICB0aGlzLmFkZEdsb2JhbFNlY29uZGFyeUluZGV4KHtcbiAgICAgIGluZGV4TmFtZTogXCJHU0kxXCIsXG4gICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgbmFtZTogXCJHU0kxUEtcIixcbiAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICB9LFxuICAgICAgc29ydEtleToge1xuICAgICAgICBuYW1lOiBcIkdTSTFTS1wiLFxuICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgIH0sXG4gICAgICBwcm9qZWN0aW9uVHlwZTogUHJvamVjdGlvblR5cGUuSU5DTFVERSxcbiAgICAgIG5vbktleUF0dHJpYnV0ZXM6IFtcInNyY1R5cGVcIiwgXCJzcmNJZFwiLCBcInBhdGhcIiwgXCJzcmNQa1wiLCBcInNyY1NrXCIsIFwidHNcIl0sXG4gICAgfSk7XG5cbiAgICAvLyBHU0kyIOKAlCBJZGVudGlmaWVyIExvb2t1cCBJbmRleDogTVJOLCBOUEksIG1lbWJlciBJRCwgZXRjLlxuICAgIHRoaXMuYWRkR2xvYmFsU2Vjb25kYXJ5SW5kZXgoe1xuICAgICAgaW5kZXhOYW1lOiBcIkdTSTJcIixcbiAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICBuYW1lOiBcIkdTSTJQS1wiLFxuICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgIH0sXG4gICAgICBzb3J0S2V5OiB7XG4gICAgICAgIG5hbWU6IFwiR1NJMlNLXCIsXG4gICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgfSxcbiAgICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZS5JTkNMVURFLFxuICAgICAgbm9uS2V5QXR0cmlidXRlczogW1wicmVzb3VyY2VQa1wiLCBcInJlc291cmNlU2tcIiwgXCJkaXNwbGF5XCIsIFwic3RhdHVzXCJdLFxuICAgIH0pO1xuXG4gICAgLy8gR1NJMyDigJQgRmFjaWxpdHkgT3BzIEluZGV4OiB3b3JrbGlzdHMsIHJvc3RlcnMsIHNjaGVkdWxlc1xuICAgIHRoaXMuYWRkR2xvYmFsU2Vjb25kYXJ5SW5kZXgoe1xuICAgICAgaW5kZXhOYW1lOiBcIkdTSTNcIixcbiAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICBuYW1lOiBcIkdTSTNQS1wiLFxuICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgIH0sXG4gICAgICBzb3J0S2V5OiB7XG4gICAgICAgIG5hbWU6IFwiR1NJM1NLXCIsXG4gICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgfSxcbiAgICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZS5JTkNMVURFLFxuICAgICAgbm9uS2V5QXR0cmlidXRlczogW1wicmVzb3VyY2VQa1wiLCBcInJlc291cmNlU2tcIl0sXG4gICAgfSk7XG5cbiAgICAvLyBHU0k0IOKAlCBSZXNvdXJjZSBUeXBlIEluZGV4OiBsaXN0IGFsbCByZXNvdXJjZXMgb2YgYSB0eXBlIGluIHdvcmtzcGFjZSAobm8gc2NhbilcbiAgICB0aGlzLmFkZEdsb2JhbFNlY29uZGFyeUluZGV4KHtcbiAgICAgIGluZGV4TmFtZTogXCJHU0k0XCIsXG4gICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgbmFtZTogXCJHU0k0UEtcIixcbiAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICB9LFxuICAgICAgc29ydEtleToge1xuICAgICAgICBuYW1lOiBcIkdTSTRTS1wiLFxuICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgIH0sXG4gICAgICBwcm9qZWN0aW9uVHlwZTogUHJvamVjdGlvblR5cGUuQUxMLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { EventBus, EventBusProps, IEventBus } from "aws-cdk-lib/aws-events";
|
|
2
|
-
import { Construct } from "constructs";
|
|
3
|
-
export declare class DataEventBus extends EventBus {
|
|
4
|
-
/*****************************************************************************
|
|
5
|
-
*
|
|
6
|
-
* Return a name for this EventBus based on the stack environment hash. This
|
|
7
|
-
* name is common across all stacks since it's using the environment hash in
|
|
8
|
-
* it's name.
|
|
9
|
-
*
|
|
10
|
-
****************************************************************************/
|
|
11
|
-
static getEventBusName(scope: Construct): string;
|
|
12
|
-
/*****************************************************************************
|
|
13
|
-
*
|
|
14
|
-
* Return imported data event bus for use in any stack.
|
|
15
|
-
*
|
|
16
|
-
****************************************************************************/
|
|
17
|
-
static fromConstruct(scope: Construct): IEventBus;
|
|
18
|
-
constructor(scope: Construct, props?: EventBusProps);
|
|
19
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DataEventBus = void 0;
|
|
4
|
-
const aws_events_1 = require("aws-cdk-lib/aws-events");
|
|
5
|
-
const app_1 = require("../../app");
|
|
6
|
-
class DataEventBus extends aws_events_1.EventBus {
|
|
7
|
-
/*****************************************************************************
|
|
8
|
-
*
|
|
9
|
-
* Return a name for this EventBus based on the stack environment hash. This
|
|
10
|
-
* name is common across all stacks since it's using the environment hash in
|
|
11
|
-
* it's name.
|
|
12
|
-
*
|
|
13
|
-
****************************************************************************/
|
|
14
|
-
static getEventBusName(scope) {
|
|
15
|
-
const stack = app_1.OpenHiService.of(scope);
|
|
16
|
-
return `data${stack.branchHash}`;
|
|
17
|
-
}
|
|
18
|
-
/*****************************************************************************
|
|
19
|
-
*
|
|
20
|
-
* Return imported data event bus for use in any stack.
|
|
21
|
-
*
|
|
22
|
-
****************************************************************************/
|
|
23
|
-
static fromConstruct(scope) {
|
|
24
|
-
return aws_events_1.EventBus.fromEventBusName(scope, "data-event-bus", DataEventBus.getEventBusName(scope));
|
|
25
|
-
}
|
|
26
|
-
constructor(scope, props) {
|
|
27
|
-
super(scope, "data-event-bus", {
|
|
28
|
-
...props,
|
|
29
|
-
eventBusName: DataEventBus.getEventBusName(scope),
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.DataEventBus = DataEventBus;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ldmVudC1idXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9ldmVudC1icmlkZ2UvZGF0YS1ldmVudC1idXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQTRFO0FBRTVFLG1DQUEwQztBQUUxQyxNQUFhLFlBQWEsU0FBUSxxQkFBUTtJQUN4Qzs7Ozs7O2tGQU04RTtJQUV2RSxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQWdCO1FBQzVDLE1BQU0sS0FBSyxHQUFHLG1CQUFhLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBa0IsQ0FBQztRQUN2RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7OztrRkFJOEU7SUFFdkUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFnQjtRQUMxQyxPQUFPLHFCQUFRLENBQUMsZ0JBQWdCLENBQzlCLEtBQUssRUFDTCxnQkFBZ0IsRUFDaEIsWUFBWSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLEtBQWdCLEVBQUUsS0FBcUI7UUFDakQsS0FBSyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRTtZQUM3QixHQUFHLEtBQUs7WUFDUixZQUFZLEVBQUUsWUFBWSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7U0FDbEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBbENELG9DQWtDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50QnVzLCBFdmVudEJ1c1Byb3BzLCBJRXZlbnRCdXMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE9wZW5IaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vYXBwXCI7XG5cbmV4cG9ydCBjbGFzcyBEYXRhRXZlbnRCdXMgZXh0ZW5kcyBFdmVudEJ1cyB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKlxuICAgKiBSZXR1cm4gYSBuYW1lIGZvciB0aGlzIEV2ZW50QnVzIGJhc2VkIG9uIHRoZSBzdGFjayBlbnZpcm9ubWVudCBoYXNoLiBUaGlzXG4gICAqIG5hbWUgaXMgY29tbW9uIGFjcm9zcyBhbGwgc3RhY2tzIHNpbmNlIGl0J3MgdXNpbmcgdGhlIGVudmlyb25tZW50IGhhc2ggaW5cbiAgICogaXQncyBuYW1lLlxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIGdldEV2ZW50QnVzTmFtZShzY29wZTogQ29uc3RydWN0KTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGFjayA9IE9wZW5IaVNlcnZpY2Uub2Yoc2NvcGUpIGFzIE9wZW5IaVNlcnZpY2U7XG4gICAgcmV0dXJuIGBkYXRhJHtzdGFjay5icmFuY2hIYXNofWA7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICpcbiAgICogUmV0dXJuIGltcG9ydGVkIGRhdGEgZXZlbnQgYnVzIGZvciB1c2UgaW4gYW55IHN0YWNrLlxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIGZyb21Db25zdHJ1Y3Qoc2NvcGU6IENvbnN0cnVjdCk6IElFdmVudEJ1cyB7XG4gICAgcmV0dXJuIEV2ZW50QnVzLmZyb21FdmVudEJ1c05hbWUoXG4gICAgICBzY29wZSxcbiAgICAgIFwiZGF0YS1ldmVudC1idXNcIixcbiAgICAgIERhdGFFdmVudEJ1cy5nZXRFdmVudEJ1c05hbWUoc2NvcGUpLFxuICAgICk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBwcm9wcz86IEV2ZW50QnVzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgXCJkYXRhLWV2ZW50LWJ1c1wiLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGV2ZW50QnVzTmFtZTogRGF0YUV2ZW50QnVzLmdldEV2ZW50QnVzTmFtZShzY29wZSksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { EventBus, EventBusProps, IEventBus } from "aws-cdk-lib/aws-events";
|
|
2
|
-
import { Construct } from "constructs";
|
|
3
|
-
export declare class OpsEventBus extends EventBus {
|
|
4
|
-
/*****************************************************************************
|
|
5
|
-
*
|
|
6
|
-
* Return a name for this EventBus based on the stack environment hash. This
|
|
7
|
-
* name is common across all stacks since it's using the environment hash in
|
|
8
|
-
* it's name.
|
|
9
|
-
*
|
|
10
|
-
****************************************************************************/
|
|
11
|
-
static getEventBusName(scope: Construct): string;
|
|
12
|
-
/*****************************************************************************
|
|
13
|
-
*
|
|
14
|
-
* Return imported ops event bus for use in any stack.
|
|
15
|
-
*
|
|
16
|
-
****************************************************************************/
|
|
17
|
-
static fromConstruct(scope: Construct): IEventBus;
|
|
18
|
-
constructor(scope: Construct, props?: EventBusProps);
|
|
19
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OpsEventBus = void 0;
|
|
4
|
-
const aws_events_1 = require("aws-cdk-lib/aws-events");
|
|
5
|
-
const app_1 = require("../../app");
|
|
6
|
-
class OpsEventBus extends aws_events_1.EventBus {
|
|
7
|
-
/*****************************************************************************
|
|
8
|
-
*
|
|
9
|
-
* Return a name for this EventBus based on the stack environment hash. This
|
|
10
|
-
* name is common across all stacks since it's using the environment hash in
|
|
11
|
-
* it's name.
|
|
12
|
-
*
|
|
13
|
-
****************************************************************************/
|
|
14
|
-
static getEventBusName(scope) {
|
|
15
|
-
const stack = app_1.OpenHiService.of(scope);
|
|
16
|
-
return `ops${stack.branchHash}`;
|
|
17
|
-
}
|
|
18
|
-
/*****************************************************************************
|
|
19
|
-
*
|
|
20
|
-
* Return imported ops event bus for use in any stack.
|
|
21
|
-
*
|
|
22
|
-
****************************************************************************/
|
|
23
|
-
static fromConstruct(scope) {
|
|
24
|
-
return aws_events_1.EventBus.fromEventBusName(scope, "ops-event-bus", OpsEventBus.getEventBusName(scope));
|
|
25
|
-
}
|
|
26
|
-
constructor(scope, props) {
|
|
27
|
-
super(scope, "ops-event-bus", {
|
|
28
|
-
...props,
|
|
29
|
-
eventBusName: OpsEventBus.getEventBusName(scope),
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.OpsEventBus = OpsEventBus;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BzLWV2ZW50LWJ1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2V2ZW50LWJyaWRnZS9vcHMtZXZlbnQtYnVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUE0RTtBQUU1RSxtQ0FBMEM7QUFFMUMsTUFBYSxXQUFZLFNBQVEscUJBQVE7SUFDdkM7Ozs7OztrRkFNOEU7SUFFdkUsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFnQjtRQUM1QyxNQUFNLEtBQUssR0FBRyxtQkFBYSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQWtCLENBQUM7UUFDdkQsT0FBTyxNQUFNLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7a0ZBSThFO0lBRXZFLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBZ0I7UUFDMUMsT0FBTyxxQkFBUSxDQUFDLGdCQUFnQixDQUM5QixLQUFLLEVBQ0wsZUFBZSxFQUNmLFdBQVcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLEtBQXFCO1FBQ2pELEtBQUssQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFO1lBQzVCLEdBQUcsS0FBSztZQUNSLFlBQVksRUFBRSxXQUFXLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztTQUNqRCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFsQ0Qsa0NBa0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRCdXMsIEV2ZW50QnVzUHJvcHMsIElFdmVudEJ1cyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZXZlbnRzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgT3BlbkhpU2VydmljZSB9IGZyb20gXCIuLi8uLi9hcHBcIjtcblxuZXhwb3J0IGNsYXNzIE9wc0V2ZW50QnVzIGV4dGVuZHMgRXZlbnRCdXMge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICpcbiAgICogUmV0dXJuIGEgbmFtZSBmb3IgdGhpcyBFdmVudEJ1cyBiYXNlZCBvbiB0aGUgc3RhY2sgZW52aXJvbm1lbnQgaGFzaC4gVGhpc1xuICAgKiBuYW1lIGlzIGNvbW1vbiBhY3Jvc3MgYWxsIHN0YWNrcyBzaW5jZSBpdCdzIHVzaW5nIHRoZSBlbnZpcm9ubWVudCBoYXNoIGluXG4gICAqIGl0J3MgbmFtZS5cbiAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBnZXRFdmVudEJ1c05hbWUoc2NvcGU6IENvbnN0cnVjdCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RhY2sgPSBPcGVuSGlTZXJ2aWNlLm9mKHNjb3BlKSBhcyBPcGVuSGlTZXJ2aWNlO1xuICAgIHJldHVybiBgb3BzJHtzdGFjay5icmFuY2hIYXNofWA7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICpcbiAgICogUmV0dXJuIGltcG9ydGVkIG9wcyBldmVudCBidXMgZm9yIHVzZSBpbiBhbnkgc3RhY2suXG4gICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNvbnN0cnVjdChzY29wZTogQ29uc3RydWN0KTogSUV2ZW50QnVzIHtcbiAgICByZXR1cm4gRXZlbnRCdXMuZnJvbUV2ZW50QnVzTmFtZShcbiAgICAgIHNjb3BlLFxuICAgICAgXCJvcHMtZXZlbnQtYnVzXCIsXG4gICAgICBPcHNFdmVudEJ1cy5nZXRFdmVudEJ1c05hbWUoc2NvcGUpLFxuICAgICk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBwcm9wcz86IEV2ZW50QnVzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgXCJvcHMtZXZlbnQtYnVzXCIsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZXZlbnRCdXNOYW1lOiBPcHNFdmVudEJ1cy5nZXRFdmVudEJ1c05hbWUoc2NvcGUpLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ICertificate } from "aws-cdk-lib/aws-certificatemanager";
|
|
2
|
-
import { HostedZoneAttributes, IHostedZone } from "aws-cdk-lib/aws-route53";
|
|
3
|
-
import { Construct } from "constructs";
|
|
4
|
-
import { SetOptional } from "type-fest";
|
|
5
|
-
export interface GlobalProps {
|
|
6
|
-
/**
|
|
7
|
-
* Root zone configuration attributes. Zone name is required, hosted zone ID
|
|
8
|
-
* is optional.
|
|
9
|
-
*/
|
|
10
|
-
readonly rootHostedZoneAttributes: HostedZoneAttributes;
|
|
11
|
-
/**
|
|
12
|
-
* Child zone configuration attributes. Zone name is required, hosted zone ID
|
|
13
|
-
* is optional.
|
|
14
|
-
*/
|
|
15
|
-
readonly childHostedZoneAttributes?: SetOptional<HostedZoneAttributes, "hostedZoneId">;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Global construct: owns global infrastructure (e.g. DNS and certificate resources).
|
|
19
|
-
|
|
20
|
-
*/
|
|
21
|
-
export declare class Global extends Construct {
|
|
22
|
-
props: GlobalProps;
|
|
23
|
-
/**
|
|
24
|
-
* Root hosted zone when config provides zoneName.
|
|
25
|
-
*/
|
|
26
|
-
readonly rootHostedZone: IHostedZone;
|
|
27
|
-
/**
|
|
28
|
-
* Child hosted zone when root zone exists.
|
|
29
|
-
*/
|
|
30
|
-
readonly childHostedZone?: IHostedZone;
|
|
31
|
-
/**
|
|
32
|
-
* Root wildcard certificate.
|
|
33
|
-
*/
|
|
34
|
-
readonly rootWildcardCertificate: ICertificate;
|
|
35
|
-
constructor(scope: Construct, id: string, props: GlobalProps);
|
|
36
|
-
}
|
package/lib/components/global.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Global = void 0;
|
|
4
|
-
const aws_certificatemanager_1 = require("aws-cdk-lib/aws-certificatemanager");
|
|
5
|
-
const constructs_1 = require("constructs");
|
|
6
|
-
const app_1 = require("../app");
|
|
7
|
-
const root_wildcard_certificate_1 = require("./acm/root-wildcard-certificate");
|
|
8
|
-
const child_hosted_zone_1 = require("./route-53/child-hosted-zone");
|
|
9
|
-
const root_hosted_zone_1 = require("./route-53/root-hosted-zone");
|
|
10
|
-
/**
|
|
11
|
-
* Global construct: owns global infrastructure (e.g. DNS and certificate resources).
|
|
12
|
-
|
|
13
|
-
*/
|
|
14
|
-
class Global extends constructs_1.Construct {
|
|
15
|
-
constructor(scope, id, props) {
|
|
16
|
-
super(scope, id);
|
|
17
|
-
this.props = props;
|
|
18
|
-
/**
|
|
19
|
-
* Deconstruct props into individual variables.
|
|
20
|
-
*/
|
|
21
|
-
const { rootHostedZoneAttributes, childHostedZoneAttributes } = props;
|
|
22
|
-
const service = app_1.OpenHiService.of(this);
|
|
23
|
-
/***************************************************************************
|
|
24
|
-
*
|
|
25
|
-
* Root Zone
|
|
26
|
-
*
|
|
27
|
-
* This always is configured manually. Never created by CDK.
|
|
28
|
-
*
|
|
29
|
-
**************************************************************************/
|
|
30
|
-
this.rootHostedZone = root_hosted_zone_1.RootHostedZone.fromConstruct(this, rootHostedZoneAttributes);
|
|
31
|
-
/***************************************************************************
|
|
32
|
-
*
|
|
33
|
-
* Child Zone
|
|
34
|
-
*
|
|
35
|
-
**************************************************************************/
|
|
36
|
-
if (childHostedZoneAttributes) {
|
|
37
|
-
this.childHostedZone = new child_hosted_zone_1.ChildHostedZone(this, "child-zone", {
|
|
38
|
-
parentHostedZone: this.rootHostedZone,
|
|
39
|
-
zoneName: childHostedZoneAttributes.zoneName,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
/***************************************************************************
|
|
43
|
-
*
|
|
44
|
-
* Root WildCard Certificate
|
|
45
|
-
*
|
|
46
|
-
* Crated in main, used in all other environments via SSM import.
|
|
47
|
-
*
|
|
48
|
-
**************************************************************************/
|
|
49
|
-
if (service.branchName === "main") {
|
|
50
|
-
this.rootWildcardCertificate = new root_wildcard_certificate_1.RootWildcardCertificate(this, {
|
|
51
|
-
domainName: `*.${this.rootHostedZone.zoneName}`,
|
|
52
|
-
subjectAlternativeNames: [this.rootHostedZone.zoneName],
|
|
53
|
-
validation: aws_certificatemanager_1.CertificateValidation.fromDns(this.rootHostedZone),
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
this.rootWildcardCertificate =
|
|
58
|
-
root_wildcard_certificate_1.RootWildcardCertificate.fromConstruct(this);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.Global = Global;
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvZ2xvYmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtFQUc0QztBQUU1QywyQ0FBdUM7QUFFdkMsZ0NBQXVDO0FBQ3ZDLCtFQUEwRTtBQUMxRSxvRUFBK0Q7QUFDL0Qsa0VBQTZEO0FBbUI3RDs7O0dBR0c7QUFDSCxNQUFhLE1BQU8sU0FBUSxzQkFBUztJQWdCbkMsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ0gsS0FBa0I7UUFFekIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUZWLFVBQUssR0FBTCxLQUFLLENBQWE7UUFJekI7O1dBRUc7UUFDSCxNQUFNLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFdEUsTUFBTSxPQUFPLEdBQUcsbUJBQWEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFrQixDQUFDO1FBRXhEOzs7Ozs7b0ZBTTRFO1FBRTVFLElBQUksQ0FBQyxjQUFjLEdBQUcsaUNBQWMsQ0FBQyxhQUFhLENBQ2hELElBQUksRUFDSix3QkFBd0IsQ0FDekIsQ0FBQztRQUVGOzs7O29GQUk0RTtRQUU1RSxJQUFJLHlCQUF5QixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLG1DQUFlLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtnQkFDN0QsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGNBQWM7Z0JBQ3JDLFFBQVEsRUFBRSx5QkFBeUIsQ0FBQyxRQUFRO2FBQzdDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRDs7Ozs7O29GQU00RTtRQUU1RSxJQUFJLE9BQU8sQ0FBQyxVQUFVLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksbURBQXVCLENBQUMsSUFBSSxFQUFFO2dCQUMvRCxVQUFVLEVBQUUsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRTtnQkFDL0MsdUJBQXVCLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztnQkFDdkQsVUFBVSxFQUFFLDhDQUFxQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQy9ELENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLHVCQUF1QjtnQkFDMUIsbURBQXVCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUEzRUQsd0JBMkVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2VydGlmaWNhdGVWYWxpZGF0aW9uLFxuICBJQ2VydGlmaWNhdGUsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQgeyBIb3N0ZWRab25lQXR0cmlidXRlcywgSUhvc3RlZFpvbmUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTZXRPcHRpb25hbCB9IGZyb20gXCJ0eXBlLWZlc3RcIjtcbmltcG9ydCB7IE9wZW5IaVNlcnZpY2UgfSBmcm9tIFwiLi4vYXBwXCI7XG5pbXBvcnQgeyBSb290V2lsZGNhcmRDZXJ0aWZpY2F0ZSB9IGZyb20gXCIuL2FjbS9yb290LXdpbGRjYXJkLWNlcnRpZmljYXRlXCI7XG5pbXBvcnQgeyBDaGlsZEhvc3RlZFpvbmUgfSBmcm9tIFwiLi9yb3V0ZS01My9jaGlsZC1ob3N0ZWQtem9uZVwiO1xuaW1wb3J0IHsgUm9vdEhvc3RlZFpvbmUgfSBmcm9tIFwiLi9yb3V0ZS01My9yb290LWhvc3RlZC16b25lXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsUHJvcHMge1xuICAvKipcbiAgICogUm9vdCB6b25lIGNvbmZpZ3VyYXRpb24gYXR0cmlidXRlcy4gWm9uZSBuYW1lIGlzIHJlcXVpcmVkLCBob3N0ZWQgem9uZSBJRFxuICAgKiBpcyBvcHRpb25hbC5cbiAgICovXG4gIHJlYWRvbmx5IHJvb3RIb3N0ZWRab25lQXR0cmlidXRlczogSG9zdGVkWm9uZUF0dHJpYnV0ZXM7XG5cbiAgLyoqXG4gICAqIENoaWxkIHpvbmUgY29uZmlndXJhdGlvbiBhdHRyaWJ1dGVzLiBab25lIG5hbWUgaXMgcmVxdWlyZWQsIGhvc3RlZCB6b25lIElEXG4gICAqIGlzIG9wdGlvbmFsLlxuICAgKi9cbiAgcmVhZG9ubHkgY2hpbGRIb3N0ZWRab25lQXR0cmlidXRlcz86IFNldE9wdGlvbmFsPFxuICAgIEhvc3RlZFpvbmVBdHRyaWJ1dGVzLFxuICAgIFwiaG9zdGVkWm9uZUlkXCJcbiAgPjtcbn1cblxuLyoqXG4gKiBHbG9iYWwgY29uc3RydWN0OiBvd25zIGdsb2JhbCBpbmZyYXN0cnVjdHVyZSAoZS5nLiBETlMgYW5kIGNlcnRpZmljYXRlIHJlc291cmNlcykuXG5cbiAqL1xuZXhwb3J0IGNsYXNzIEdsb2JhbCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBSb290IGhvc3RlZCB6b25lIHdoZW4gY29uZmlnIHByb3ZpZGVzIHpvbmVOYW1lLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvb3RIb3N0ZWRab25lOiBJSG9zdGVkWm9uZTtcblxuICAvKipcbiAgICogQ2hpbGQgaG9zdGVkIHpvbmUgd2hlbiByb290IHpvbmUgZXhpc3RzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNoaWxkSG9zdGVkWm9uZT86IElIb3N0ZWRab25lO1xuXG4gIC8qKlxuICAgKiBSb290IHdpbGRjYXJkIGNlcnRpZmljYXRlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvb3RXaWxkY2FyZENlcnRpZmljYXRlOiBJQ2VydGlmaWNhdGU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHB1YmxpYyBwcm9wczogR2xvYmFsUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvKipcbiAgICAgKiBEZWNvbnN0cnVjdCBwcm9wcyBpbnRvIGluZGl2aWR1YWwgdmFyaWFibGVzLlxuICAgICAqL1xuICAgIGNvbnN0IHsgcm9vdEhvc3RlZFpvbmVBdHRyaWJ1dGVzLCBjaGlsZEhvc3RlZFpvbmVBdHRyaWJ1dGVzIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IHNlcnZpY2UgPSBPcGVuSGlTZXJ2aWNlLm9mKHRoaXMpIGFzIE9wZW5IaVNlcnZpY2U7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBSb290IFpvbmVcbiAgICAgKlxuICAgICAqIFRoaXMgYWx3YXlzIGlzIGNvbmZpZ3VyZWQgbWFudWFsbHkuIE5ldmVyIGNyZWF0ZWQgYnkgQ0RLLlxuICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgdGhpcy5yb290SG9zdGVkWm9uZSA9IFJvb3RIb3N0ZWRab25lLmZyb21Db25zdHJ1Y3QoXG4gICAgICB0aGlzLFxuICAgICAgcm9vdEhvc3RlZFpvbmVBdHRyaWJ1dGVzLFxuICAgICk7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBDaGlsZCBab25lXG4gICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBpZiAoY2hpbGRIb3N0ZWRab25lQXR0cmlidXRlcykge1xuICAgICAgdGhpcy5jaGlsZEhvc3RlZFpvbmUgPSBuZXcgQ2hpbGRIb3N0ZWRab25lKHRoaXMsIFwiY2hpbGQtem9uZVwiLCB7XG4gICAgICAgIHBhcmVudEhvc3RlZFpvbmU6IHRoaXMucm9vdEhvc3RlZFpvbmUsXG4gICAgICAgIHpvbmVOYW1lOiBjaGlsZEhvc3RlZFpvbmVBdHRyaWJ1dGVzLnpvbmVOYW1lLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqXG4gICAgICogUm9vdCBXaWxkQ2FyZCBDZXJ0aWZpY2F0ZVxuICAgICAqXG4gICAgICogQ3JhdGVkIGluIG1haW4sIHVzZWQgaW4gYWxsIG90aGVyIGVudmlyb25tZW50cyB2aWEgU1NNIGltcG9ydC5cbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIGlmIChzZXJ2aWNlLmJyYW5jaE5hbWUgPT09IFwibWFpblwiKSB7XG4gICAgICB0aGlzLnJvb3RXaWxkY2FyZENlcnRpZmljYXRlID0gbmV3IFJvb3RXaWxkY2FyZENlcnRpZmljYXRlKHRoaXMsIHtcbiAgICAgICAgZG9tYWluTmFtZTogYCouJHt0aGlzLnJvb3RIb3N0ZWRab25lLnpvbmVOYW1lfWAsXG4gICAgICAgIHN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzOiBbdGhpcy5yb290SG9zdGVkWm9uZS56b25lTmFtZV0sXG4gICAgICAgIHZhbGlkYXRpb246IENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zKHRoaXMucm9vdEhvc3RlZFpvbmUpLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm9vdFdpbGRjYXJkQ2VydGlmaWNhdGUgPVxuICAgICAgICBSb290V2lsZGNhcmRDZXJ0aWZpY2F0ZS5mcm9tQ29uc3RydWN0KHRoaXMpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./ssm";
|
package/lib/components/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./ssm"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc3NtXCI7XG4iXX0=
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { HostedZone, HostedZoneProps, IHostedZone } from "aws-cdk-lib/aws-route53";
|
|
2
|
-
import { Construct } from "constructs";
|
|
3
|
-
import { OpenHiServiceType } from "../../app/open-hi-service";
|
|
4
|
-
export interface ChildHostedZoneProps extends HostedZoneProps {
|
|
5
|
-
/**
|
|
6
|
-
* The root zone we will attach this sub-zone to.
|
|
7
|
-
*/
|
|
8
|
-
readonly parentHostedZone: IHostedZone;
|
|
9
|
-
}
|
|
10
|
-
export declare class ChildHostedZone extends HostedZone {
|
|
11
|
-
/**
|
|
12
|
-
* Used when storing the API ID in SSM.
|
|
13
|
-
*/
|
|
14
|
-
static readonly SSM_PARAM_NAME = "CHILDHOSTEDZONE";
|
|
15
|
-
static fromConstruct(scope: Construct, props: {
|
|
16
|
-
zoneName: string;
|
|
17
|
-
serviceType?: OpenHiServiceType;
|
|
18
|
-
}): IHostedZone;
|
|
19
|
-
constructor(scope: Construct, id: string, props: ChildHostedZoneProps);
|
|
20
|
-
}
|