@digitraffic/common 2022.11.22-1 → 2022.11.23-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.
- package/dist/aws/infra/api/integration.d.ts +21 -0
- package/dist/aws/infra/api/integration.js +8 -4
- package/dist/aws/infra/api/integration.js.map +1 -0
- package/dist/aws/infra/api/response.d.ts +29 -0
- package/dist/aws/infra/api/response.js +36 -11
- package/dist/aws/infra/api/response.js.map +1 -0
- package/dist/aws/infra/api/responses.d.ts +47 -0
- package/dist/aws/infra/api/responses.js +8 -0
- package/dist/aws/infra/api/responses.js.map +1 -0
- package/dist/aws/infra/api/static-integration.d.ts +15 -0
- package/dist/aws/infra/api/static-integration.js.map +1 -0
- package/dist/aws/infra/canaries/canary-alarm.d.ts +6 -0
- package/dist/aws/infra/canaries/canary-alarm.js.map +1 -0
- package/dist/aws/infra/canaries/canary-keys.d.ts +3 -0
- package/dist/aws/infra/canaries/canary-keys.js.map +1 -0
- package/dist/aws/infra/canaries/canary-parameters.d.ts +18 -0
- package/dist/aws/infra/canaries/canary-parameters.js.map +1 -0
- package/dist/aws/infra/canaries/canary-role.d.ts +6 -0
- package/dist/aws/infra/canaries/canary-role.js.map +1 -0
- package/dist/aws/infra/canaries/canary.d.ts +8 -0
- package/dist/aws/infra/canaries/canary.js.map +1 -0
- package/dist/aws/infra/canaries/database-canary.d.ts +18 -0
- package/dist/aws/infra/canaries/database-canary.js.map +1 -0
- package/dist/aws/infra/canaries/database-checker.d.ts +33 -0
- package/dist/aws/infra/canaries/database-checker.js.map +1 -0
- package/dist/aws/infra/canaries/url-canary.d.ts +16 -0
- package/dist/aws/infra/canaries/url-canary.js.map +1 -0
- package/dist/aws/infra/canaries/url-checker.d.ts +46 -0
- package/dist/aws/infra/canaries/url-checker.js.map +1 -0
- package/dist/aws/infra/documentation.d.ts +56 -0
- package/dist/aws/infra/documentation.js.map +1 -0
- package/dist/aws/infra/import-util.d.ts +21 -0
- package/dist/aws/infra/import-util.js.map +1 -0
- package/dist/aws/infra/scheduler.d.ts +12 -0
- package/dist/aws/infra/scheduler.js.map +1 -0
- package/dist/aws/infra/security-rule.d.ts +12 -0
- package/dist/aws/infra/security-rule.js.map +1 -0
- package/dist/aws/infra/sqs-integration.d.ts +7 -0
- package/dist/aws/infra/sqs-integration.js.map +1 -0
- package/dist/aws/infra/sqs-queue.d.ts +16 -0
- package/dist/aws/infra/sqs-queue.js.map +1 -0
- package/dist/aws/infra/stack/lambda-configs.d.ts +64 -0
- package/dist/aws/infra/stack/lambda-configs.js.map +1 -0
- package/dist/aws/infra/stack/monitoredfunction.d.ts +84 -0
- package/dist/aws/infra/stack/monitoredfunction.js +31 -31
- package/dist/aws/infra/stack/monitoredfunction.js.map +1 -0
- package/dist/aws/infra/stack/rest_apis.d.ts +41 -0
- package/dist/aws/infra/stack/rest_apis.js.map +1 -0
- package/dist/aws/infra/stack/stack-checking-aspect.d.ts +21 -0
- package/dist/aws/infra/stack/stack-checking-aspect.js.map +1 -0
- package/dist/aws/infra/stack/stack.d.ts +45 -0
- package/dist/aws/infra/stack/stack.js.map +1 -0
- package/dist/aws/infra/stack/subscription.d.ts +17 -0
- package/dist/aws/infra/stack/subscription.js.map +1 -0
- package/dist/aws/infra/stacks/db-dns-stack.d.ts +11 -0
- package/dist/aws/infra/stacks/db-dns-stack.js.map +1 -0
- package/dist/aws/infra/stacks/db-proxy-stack.d.ts +19 -0
- package/dist/aws/infra/stacks/db-proxy-stack.js.map +1 -0
- package/dist/aws/infra/stacks/db-stack.d.ts +31 -0
- package/dist/aws/infra/stacks/db-stack.js.map +1 -0
- package/dist/aws/infra/stacks/intra-stack-configuration.d.ts +5 -0
- package/dist/aws/infra/stacks/intra-stack-configuration.js.map +1 -0
- package/dist/aws/infra/stacks/network-stack.d.ts +12 -0
- package/dist/aws/infra/stacks/network-stack.js.map +1 -0
- package/dist/aws/infra/usage-plans.d.ts +16 -0
- package/dist/aws/infra/usage-plans.js.map +1 -0
- package/dist/aws/runtime/apikey.d.ts +2 -0
- package/dist/aws/runtime/apikey.js.map +1 -0
- package/dist/aws/runtime/digitraffic-integration-response.d.ts +8 -0
- package/dist/aws/runtime/digitraffic-integration-response.js.map +1 -0
- package/dist/aws/runtime/environment.d.ts +1 -0
- package/dist/aws/runtime/environment.js.map +1 -0
- package/dist/aws/runtime/messaging.d.ts +10 -0
- package/dist/aws/runtime/messaging.js.map +1 -0
- package/dist/aws/runtime/s3.d.ts +2 -0
- package/dist/aws/runtime/s3.js.map +1 -0
- package/dist/aws/runtime/secrets/dbsecret.d.ts +54 -0
- package/dist/aws/runtime/secrets/dbsecret.js +4 -4
- package/dist/aws/runtime/secrets/dbsecret.js.map +1 -0
- package/dist/aws/runtime/secrets/proxy-holder.d.ts +9 -0
- package/dist/aws/runtime/secrets/proxy-holder.js.map +1 -0
- package/dist/aws/runtime/secrets/rds-holder.d.ts +9 -0
- package/dist/aws/runtime/secrets/rds-holder.js.map +1 -0
- package/dist/aws/runtime/secrets/secret-holder.d.ts +26 -0
- package/dist/aws/runtime/secrets/secret-holder.js.map +1 -0
- package/dist/aws/runtime/secrets/secret.d.ts +8 -0
- package/dist/aws/runtime/secrets/secret.js.map +1 -0
- package/dist/aws/types/errors.d.ts +8 -0
- package/dist/aws/types/errors.js.map +1 -0
- package/dist/aws/types/lambda-response.d.ts +13 -0
- package/dist/aws/types/lambda-response.js.map +1 -0
- package/dist/aws/types/mediatypes.d.ts +11 -0
- package/dist/aws/types/mediatypes.js.map +1 -0
- package/dist/aws/types/model-with-reference.d.ts +7 -0
- package/dist/aws/types/model-with-reference.js.map +1 -0
- package/dist/aws/types/proxytypes.d.ts +26 -0
- package/dist/aws/types/proxytypes.js.map +1 -0
- package/dist/aws/types/tags.d.ts +2 -0
- package/dist/aws/types/tags.js.map +1 -0
- package/dist/database/cached.d.ts +7 -0
- package/dist/database/cached.js.map +1 -0
- package/dist/database/database.d.ts +19 -0
- package/dist/database/database.js.map +1 -0
- package/dist/database/last-updated.d.ts +16 -0
- package/dist/database/last-updated.js.map +1 -0
- package/dist/database/models.d.ts +6 -0
- package/dist/database/models.js.map +1 -0
- package/dist/marine/id_utils.d.ts +3 -0
- package/dist/marine/id_utils.js.map +1 -0
- package/dist/marine/rtz.d.ts +48 -0
- package/dist/marine/rtz.js.map +1 -0
- package/dist/test/asserter.d.ts +11 -0
- package/dist/test/asserter.js.map +1 -0
- package/dist/test/db-testutils.d.ts +3 -0
- package/dist/test/db-testutils.js.map +1 -0
- package/dist/test/httpserver.d.ts +19 -0
- package/dist/test/httpserver.js.map +1 -0
- package/dist/test/secret.d.ts +3 -0
- package/dist/test/secret.js.map +1 -0
- package/dist/test/secrets-manager.d.ts +9 -0
- package/dist/test/secrets-manager.js.map +1 -0
- package/dist/test/testutils.d.ts +12 -0
- package/dist/test/testutils.js.map +1 -0
- package/dist/types/either.d.ts +9 -0
- package/dist/types/either.js.map +1 -0
- package/dist/types/input-error.d.ts +2 -0
- package/dist/types/input-error.js.map +1 -0
- package/dist/types/language.d.ts +5 -0
- package/dist/types/language.js.map +1 -0
- package/dist/types/traffictype.d.ts +8 -0
- package/dist/types/traffictype.js.map +1 -0
- package/dist/types/validator.d.ts +4 -0
- package/dist/types/validator.js.map +1 -0
- package/dist/utils/api-model.d.ts +87 -0
- package/dist/utils/api-model.js.map +1 -0
- package/dist/utils/base64.d.ts +12 -0
- package/dist/utils/base64.js.map +1 -0
- package/dist/utils/date-utils.d.ts +17 -0
- package/dist/utils/date-utils.js.map +1 -0
- package/dist/utils/geojson-types.d.ts +14 -0
- package/dist/utils/geojson-types.js.map +1 -0
- package/dist/utils/geometry.d.ts +36 -0
- package/dist/utils/geometry.js.map +1 -0
- package/dist/utils/retry.d.ts +13 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/slack.d.ts +5 -0
- package/dist/utils/slack.js.map +1 -0
- package/dist/utils/utils.d.ts +46 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +19 -29
- package/src/aws/infra/api/integration.ts +30 -14
- package/src/aws/infra/api/response.ts +83 -20
- package/src/aws/infra/api/responses.ts +8 -0
- package/src/aws/runtime/secrets/dbsecret.ts +23 -54
- package/src/aws/runtime/secrets/secret-holder.ts +6 -3
- package/src/database/database.ts +1 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"usage-plans.js","sourceRoot":"","sources":["../../../src/aws/infra/usage-plans.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,SAAgB,eAAe,CAC3B,GAAY,EACZ,QAAgB,EAChB,UAAkB;IAElB,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE;QACtC,IAAI,EAAE,UAAU;KACnB,CAAC,CAAC;IACH,IAAI,CAAC,WAAW,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,eAAe;KAC7B,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEvB,OAAO,MAAM,CAAC;AAClB,CAAC;AAfD,0CAeC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAClC,GAAY,EACZ,OAAe,EACf,KAAc;IAEd,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;IACxC,MAAM,aAAa,GAAG,OAAO,GAAG,iBAAiB,CAAC;IAClD,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE;QACzC,IAAI,EAAE,aAAa;KACtB,CAAC,CAAC;IACH,IAAI,CAAC,WAAW,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,eAAe;KAC7B,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEvB,OAAO,MAAM,CAAC;AAClB,CAAC;AAjBD,wDAiBC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"apikey.js","sourceRoot":"","sources":["../../../src/aws/runtime/apikey.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AAEnC,SAAgB,uBAAuB,CAAC,KAAa;IACjD,MAAM,GAAG,GAAG,IAAI,oBAAU,EAAE,CAAC;IAC7B,OAAO,GAAG,CAAC,SAAS,CAAC;QACjB,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC,OAAO,EAAE,CAAC;AACjB,CAAC;AAND,0DAMC"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { IntegrationResponse } from "aws-cdk-lib/aws-apigateway";
|
2
|
+
import { MediaType } from "../types/mediatypes";
|
3
|
+
export declare abstract class DigitrafficIntegrationResponse {
|
4
|
+
static ok(mediaType: MediaType): IntegrationResponse;
|
5
|
+
static badRequest(mediaType?: MediaType): IntegrationResponse;
|
6
|
+
static notImplemented(mediaType?: MediaType): IntegrationResponse;
|
7
|
+
static create(statusCode: string, mediaType: MediaType): IntegrationResponse;
|
8
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"digitraffic-integration-response.js","sourceRoot":"","sources":["../../../src/aws/runtime/digitraffic-integration-response.ts"],"names":[],"mappings":";;;AACA,oDAA8C;AAC9C,oDAA8D;AAE9D,MAAsB,8BAA8B;IAEhD,MAAM,CAAC,EAAE,CAAC,SAAoB;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,SAAqB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,SAAqB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,sBAAS,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAAkB,EAAE,SAAoB;QAClD,OAAO;YACH,UAAU;YACV,iBAAiB,EAAE;gBACf,CAAC,SAAS,CAAC,EAAE,kCAAuB;aACvC;SACJ,CAAC;IACN,CAAC;CACJ;AAtBD,wEAsBC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function envValue(key: string, defaultValue?: string): string;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/aws/runtime/environment.ts"],"names":[],"mappings":";;;AAAA,SAAgB,QAAQ,CAAC,GAAW,EAAE,YAAqB;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,KAAK,IAAI,IAAI,EAAE;QACf,IAAI,YAAY,EAAE;YACd,OAAO,YAAY,CAAC;SACvB;QAED,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;KACvD;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAZD,4BAYC"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { SNS } from "aws-sdk";
|
2
|
+
/**
|
3
|
+
* Utility function for publishing SNS messages.
|
4
|
+
* Made because using *await* with AWS APIs doesn't require calling promise() but nothing works if it isn't called.
|
5
|
+
* Retries a single time in case of failure.
|
6
|
+
* @param message
|
7
|
+
* @param topicArn
|
8
|
+
* @param sns
|
9
|
+
*/
|
10
|
+
export declare function snsPublish(message: string, topicArn: string, sns: SNS): Promise<void>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../../src/aws/runtime/messaging.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACI,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,QAAgB,EAAE,GAAQ;IACxE,MAAM,aAAa,GAAG;QAClB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,QAAQ;KACrB,CAAC;IACF,IAAI;QACA,MAAM,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;KAC9C;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI;YACA,MAAM,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;SAC9C;QAAC,OAAO,EAAE,EAAE;YACT,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;SAC5D;KACJ;AACL,CAAC;AAfD,gCAeC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../src/aws/runtime/s3.ts"],"names":[],"mappings":";;;AAAA,qCAA2B;AAEpB,KAAK,UAAU,UAAU,CAC5B,UAAkB,EAClB,IAAU,EACV,UAAkB,EAClB,SAAkB,EAClB,WAAoB;IAGpB,MAAM,EAAE,GAAG,IAAI,YAAE,EAAE,CAAC;IACpB,IAAI;QACA,MAAM,QAAQ,CACV,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAC3D,CAAC;KACL;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,CAAC,IAAI,CAAC,gDAAgD,EAAE,UAAU,CAAC,CAAC;QAC3E,IAAI;YACA,MAAM,QAAQ,CACV,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAC3D,CAAC;SACL;QAAC,OAAO,EAAE,EAAE;YACT,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE,UAAU,CAAC,CAAC;SACtF;KACJ;AACL,CAAC;AAvBD,gCAuBC;AAED,SAAS,QAAQ,CACb,EAAM,EACN,UAAkB,EAClB,IAAU,EACV,QAAgB,EAChB,SAAkB,EAClB,WAAoB;IAGpB,OAAO,EAAE,CAAC,MAAM,CAAC;QACb,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,SAAS;QACd,WAAW,EAAE,WAAW;KAC3B,CAAC,CAAC,OAAO,EAAE,CAAC;AACjB,CAAC"}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
export declare type DbSecret = {
|
2
|
+
readonly username: string;
|
3
|
+
readonly password: string;
|
4
|
+
readonly host: string;
|
5
|
+
readonly ro_host: string;
|
6
|
+
};
|
7
|
+
export declare enum RdsProxySecretKey {
|
8
|
+
username = "username",
|
9
|
+
password = "password",
|
10
|
+
proxy_host = "proxy_host",
|
11
|
+
proxy_ro_host = "proxy_ro_host"
|
12
|
+
}
|
13
|
+
export declare enum RdsSecretKey {
|
14
|
+
username = "username",
|
15
|
+
password = "password",
|
16
|
+
host = "host",
|
17
|
+
ro_host = "ro_host"
|
18
|
+
}
|
19
|
+
export declare type RdsProxySecret = Record<RdsProxySecretKey, string>;
|
20
|
+
export declare type RdsSecret = Record<RdsSecretKey, string>;
|
21
|
+
export declare enum DatabaseEnvironmentKeys {
|
22
|
+
DB_USER = "DB_USER",
|
23
|
+
DB_PASS = "DB_PASS",
|
24
|
+
DB_URI = "DB_URI",
|
25
|
+
DB_RO_URI = "DB_RO_URI",
|
26
|
+
DB_APPLICATION = "DB_APPLICATION"
|
27
|
+
}
|
28
|
+
/**
|
29
|
+
* You can give the following options for retrieving a secret:
|
30
|
+
*
|
31
|
+
* expectedKeys: the list of keys the secret must include. If not, an error will be thrown.
|
32
|
+
* prefix: a prefix that's included in retrieved secret's keys. Only keys begining with the prefix will be included.
|
33
|
+
* The secret that is passed to the given function will not include the prefix in it's keys.
|
34
|
+
|
35
|
+
*/
|
36
|
+
export declare type SecretOptions = {
|
37
|
+
readonly expectedKeys?: string[];
|
38
|
+
readonly prefix?: string;
|
39
|
+
};
|
40
|
+
export declare type SecretToPromiseFunction<Secret, Response = void> = (secret: Secret) => Promise<Response> | void;
|
41
|
+
export declare type SecretFunction<Secret, Response = void> = (secretId: string, fn: SecretToPromiseFunction<Secret, Response>, options?: SecretOptions) => Promise<Response | void>;
|
42
|
+
export declare type EmptySecretFunction<Response = void> = SecretFunction<DbSecret, Response>;
|
43
|
+
/**
|
44
|
+
* Run the given function with secret retrieved from Secrets Manager. Also injects database-credentials into environment.
|
45
|
+
*
|
46
|
+
* @deprecated use SecretHolder & ProxyHolder
|
47
|
+
* @see SecretOptions
|
48
|
+
*
|
49
|
+
* @param {string} secretId
|
50
|
+
* @param {function} fn
|
51
|
+
* @param {SecretOptions} options
|
52
|
+
*/
|
53
|
+
export declare function withDbSecret<Secret, Response>(secretId: string, fn: SecretToPromiseFunction<Secret, Response>, options?: SecretOptions): Promise<Response | void>;
|
54
|
+
export declare function checkExpectedSecretKeys<Secret>(keys: string[], secret: Secret): void;
|
@@ -33,7 +33,7 @@ function setDbSecret(secret) {
|
|
33
33
|
// cached at Lambda container level
|
34
34
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
35
35
|
let cachedSecret;
|
36
|
-
const missingSecretErrorText =
|
36
|
+
const missingSecretErrorText = 'Missing or empty secretId';
|
37
37
|
/**
|
38
38
|
* Run the given function with secret retrieved from Secrets Manager. Also injects database-credentials into environment.
|
39
39
|
*
|
@@ -75,7 +75,7 @@ async function withDbSecret(secretId, fn, options) {
|
|
75
75
|
return fn(cachedSecret);
|
76
76
|
}
|
77
77
|
catch (error) {
|
78
|
-
console.error(
|
78
|
+
console.error('method=withDbSecret Caught an error, refreshing secret', error);
|
79
79
|
// try to refetch secret in case it has changed
|
80
80
|
await (0, secret_1.withSecret)(secretId, (fetchedSecret) => {
|
81
81
|
setDbSecret(fetchedSecret);
|
@@ -86,10 +86,10 @@ async function withDbSecret(secretId, fn, options) {
|
|
86
86
|
}
|
87
87
|
exports.withDbSecret = withDbSecret;
|
88
88
|
function checkExpectedSecretKeys(keys, secret) {
|
89
|
-
const missingKeys = keys.filter(
|
89
|
+
const missingKeys = keys.filter(key => !(key in secret));
|
90
90
|
if (missingKeys.length) {
|
91
91
|
console.error(`method=checkExpectedSecretKeys secret didn't contain the key(s) ${missingKeys}`);
|
92
|
-
throw new Error(
|
92
|
+
throw new Error('Expected keys were not found');
|
93
93
|
}
|
94
94
|
}
|
95
95
|
exports.checkExpectedSecretKeys = checkExpectedSecretKeys;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dbsecret.js","sourceRoot":"","sources":["../../../../src/aws/runtime/secrets/dbsecret.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"proxy-holder.js","sourceRoot":"","sources":["../../../../src/aws/runtime/secrets/proxy-holder.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAC/C,yCAIoB;AACpB,gDAAsD;AAEtD,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,4BAAiB,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAa,WAAW;IAGpB,YAAY,QAAgB;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAChC,QAAQ,EACR,EAAE,EACF,qBAAqB,CACxB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,IAAI,WAAW,CAAC,IAAA,sBAAc,EAAC,WAAW,CAAC,CAAC,CAAC;IACxD,CAAC;IAEM,KAAK,CAAC,cAAc;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QAE7C,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;IAC1E,CAAC;CACJ;AAvBD,kCAuBC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"rds-holder.js","sourceRoot":"","sources":["../../../../src/aws/runtime/secrets/rds-holder.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAC/C,yCAA8E;AAC9E,gDAAsD;AAEtD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAY,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAa,SAAS;IAGlB,YAAY,QAAgB;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAChC,QAAQ,EACR,EAAE,EACF,eAAe,CAClB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,IAAI,SAAS,CAAC,IAAA,sBAAc,EAAC,WAAW,CAAC,CAAC,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,cAAc;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QAE7C,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IACpE,CAAC;CACJ;AAvBD,8BAuBC"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/**
|
2
|
+
* Utility class for getting secrets from Secret Manager.
|
3
|
+
* Supports prefix for secrets, checking of expected keys and ttl-configuration.
|
4
|
+
*
|
5
|
+
* By default, secrets are cached for 5 minutes and then reread from the Secrets Manager(This can be overridden with configuration).
|
6
|
+
*
|
7
|
+
* Supports setting the database environment paramaters from the secret too.
|
8
|
+
*/
|
9
|
+
export declare class SecretHolder<Secret> {
|
10
|
+
private readonly secretId;
|
11
|
+
private readonly prefix;
|
12
|
+
private readonly expectedKeys;
|
13
|
+
private readonly secretCache;
|
14
|
+
constructor(secretId: string, prefix?: string, expectedKeys?: string[], configuration?: {
|
15
|
+
ttl: number;
|
16
|
+
});
|
17
|
+
private initSecret;
|
18
|
+
static create<S>(prefix?: string, expectedKeys?: string[]): SecretHolder<S>;
|
19
|
+
get(): Promise<Secret>;
|
20
|
+
private parseSecret;
|
21
|
+
private getSecret;
|
22
|
+
/**
|
23
|
+
* @deprecated Use ProxyHolder
|
24
|
+
*/
|
25
|
+
setDatabaseCredentials(): Promise<void>;
|
26
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"secret-holder.js","sourceRoot":"","sources":["../../../../src/aws/runtime/secrets/secret-holder.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { SecretToPromiseFunction } from "./dbsecret";
|
2
|
+
export declare type GenericSecret = Record<string, string>;
|
3
|
+
/**
|
4
|
+
@deprecated use SecretHolder & ProxyHolder
|
5
|
+
*/
|
6
|
+
export declare function withSecret<Secret, Response>(secretId: string, fn: SecretToPromiseFunction<Secret, Response>): Promise<Response | void>;
|
7
|
+
export declare function getSecret<Secret>(secretId: string, prefix?: string): Promise<Secret>;
|
8
|
+
export declare function withSecretAndPrefix<Secret, Response>(secretId: string, prefix: string, fn: SecretToPromiseFunction<Secret, Response>): Promise<Response | void>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"secret.js","sourceRoot":"","sources":["../../../../src/aws/runtime/secrets/secret.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAGvC,MAAM,QAAQ,GAAG,IAAI,wBAAc,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;CACjC,CAAC,CAAC;AAIH;;GAEG;AACI,KAAK,UAAU,UAAU,CAAmB,QAAgB,EAAE,EAA6C;IAC9G,OAAO,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzC,CAAC;AAFD,gCAEC;AAEM,KAAK,UAAU,SAAS,CAAS,QAAgB,EAAE,MAAM,GAAG,EAAE;IACjE,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC;QAC5C,QAAQ,EAAE,QAAQ;KACrB,CAAC,CAAC,OAAO,EAAE,CAAC;IAEb,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KACvC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAElD,IAAI,MAAM,KAAK,EAAE,EAAE;QACf,OAAO,MAAM,CAAC;KACjB;IAED,OAAO,WAAW,CAAC,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;AAC7C,CAAC;AAhBD,8BAgBC;AAED,SAAS,WAAW,CAAS,MAAqB,EAAE,MAAc;IAC9D,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAE3B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;QACtB,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACxB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;SAC7C;KACJ;IAED,OAAO,MAA2B,CAAC;AACvC,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAmB,QAAgB,EAAE,MAAc,EAAE,EAA6C;IACvI,OAAO,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AACjD,CAAC;AAFD,kDAEC"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export declare const NOT_FOUND_MESSAGE = "NOT_FOUND";
|
2
|
+
export declare const ERROR_MESSAGE = "ERROR";
|
3
|
+
export declare const OK_MESSAGE = "OK";
|
4
|
+
export declare const BAD_REQUEST_MESSAGE = "BAD REQUEST";
|
5
|
+
export declare class ValidationError extends Error {
|
6
|
+
statusCode: number;
|
7
|
+
constructor(statusCode: number, body: string);
|
8
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/aws/types/errors.ts"],"names":[],"mappings":";;;AAAA,4BAA4B;AACf,QAAA,iBAAiB,GAAG,WAAW,CAAC;AAChC,QAAA,aAAa,GAAG,OAAO,CAAC;AACxB,QAAA,UAAU,GAAG,IAAI,CAAC;AAClB,QAAA,mBAAmB,GAAG,aAAa,CAAC;AAEjD,MAAa,eAAgB,SAAQ,KAAK;IAGtC,YAAY,UAAkB,EAAE,IAAY;QACxC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;CACJ;AAPD,0CAOC"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export declare class LambdaResponse<T> {
|
2
|
+
readonly status: number;
|
3
|
+
readonly body: T;
|
4
|
+
readonly fileName?: string;
|
5
|
+
constructor(status: number, body: T, fileName?: string);
|
6
|
+
static ok<T>(body: T, fileName?: string): Promise<LambdaResponse<T>>;
|
7
|
+
static okJson<T>(json: T, fileName?: string): Promise<LambdaResponse<string>>;
|
8
|
+
static badRequest(body: string): Promise<LambdaResponse<string>>;
|
9
|
+
static notFound(): Promise<LambdaResponse<string>>;
|
10
|
+
static internalError(): Promise<LambdaResponse<string>>;
|
11
|
+
static notImplemented(): Promise<LambdaResponse<string>>;
|
12
|
+
static create<T>(status: number, body: T, fileName?: string): Promise<LambdaResponse<T>>;
|
13
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"lambda-response.js","sourceRoot":"","sources":["../../../src/aws/types/lambda-response.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IAKvB,YAAY,MAAc,EAAE,IAAO,EAAE,QAAiB;QAClD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,EAAE,CAAI,IAAO,EAAE,QAAiB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,MAAM,CAAI,IAAO,EAAE,QAAiB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,QAAQ;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,aAAa;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,cAAc;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,MAAM,CACT,MAAc,EACd,IAAO,EACP,QAAiB;QAEjB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvE,CAAC;CACJ;AA1CD,wCA0CC"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
export declare enum MediaType {
|
2
|
+
APPLICATION_JSON = "application/json",
|
3
|
+
APPLICATION_XML = "application/xml",
|
4
|
+
APPLICATION_GEOJSON = "application/geo+json;charset=UTF-8",
|
5
|
+
IMAGE_SVG = "image/svg+xml",
|
6
|
+
IMAGE_JPEG = "image/jpeg",
|
7
|
+
TEXT_PLAIN = "text/plain",
|
8
|
+
TEXT_HTML = "text/html",
|
9
|
+
TEXT_CSV = "text/csv",
|
10
|
+
APPLICATION_JSON_UTF8 = "application/json;charset=UTF-8"
|
11
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"mediatypes.js","sourceRoot":"","sources":["../../../src/aws/types/mediatypes.ts"],"names":[],"mappings":";;;AAAA,yEAAyE;AACzE,IAAY,SAUX;AAVD,WAAY,SAAS;IACjB,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,uEAA0D,CAAA;IAC1D,wCAA2B,CAAA;IAC3B,sCAAyB,CAAA;IACzB,sCAAyB,CAAA;IACzB,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,qEAAwD,CAAA;AAC5D,CAAC,EAVW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAUpB"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"model-with-reference.js","sourceRoot":"","sources":["../../../src/aws/types/model-with-reference.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/**
|
2
|
+
* https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-output-format
|
3
|
+
*
|
4
|
+
* Not fully described, extend if necessary.
|
5
|
+
*/
|
6
|
+
export declare type ProxyLambdaResponse = {
|
7
|
+
readonly statusCode: number;
|
8
|
+
readonly body: string;
|
9
|
+
readonly headers?: Record<string, string>;
|
10
|
+
readonly multiValueHeaders?: Record<string, string[]>;
|
11
|
+
};
|
12
|
+
/**
|
13
|
+
* https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format
|
14
|
+
*
|
15
|
+
* Not fully described, extend if necessary.
|
16
|
+
*/
|
17
|
+
export declare type ProxyLambdaRequest = {
|
18
|
+
readonly resource: string;
|
19
|
+
readonly path: string;
|
20
|
+
readonly httpMethod: string;
|
21
|
+
readonly headers: Record<string, string>;
|
22
|
+
readonly multiValueHeaders: Record<string, string[]>;
|
23
|
+
readonly queryStringParameters: Record<string, string>;
|
24
|
+
readonly multiValueQueryStringParameters: Record<string, string[]>;
|
25
|
+
readonly body?: string;
|
26
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"proxytypes.js","sourceRoot":"","sources":["../../../src/aws/types/proxytypes.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/aws/types/tags.ts"],"names":[],"mappings":";;;AAAA,uEAAuE;AAC1D,QAAA,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC;AACrB,QAAA,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { DTDatabase, DTTransaction } from "./database";
|
2
|
+
export declare enum JSON_CACHE_KEY {
|
3
|
+
NAUTICAL_WARNINGS_ACTIVE = "nautical-warnings-active",
|
4
|
+
NAUTICAL_WARNINGS_ARCHIVED = "nautical-warnings-archived"
|
5
|
+
}
|
6
|
+
export declare function updateCachedJson<T>(db: DTDatabase | DTTransaction, cacheKey: JSON_CACHE_KEY, value: T): Promise<null>;
|
7
|
+
export declare function getJsonFromCache<T>(db: DTDatabase | DTTransaction, cacheKey: JSON_CACHE_KEY): Promise<T | null>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"cached.js","sourceRoot":"","sources":["../../src/database/cached.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAG7C,MAAM,sBAAsB,GACxB;;;kDAG8C,CAAC;AAEnD,MAAM,mBAAmB,GACrB;wBACoB,CAAC;AAEzB,MAAM,qBAAqB,GAAG,IAAI,8BAAiB,CAAC;IAChD,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,sBAAsB;CAC/B,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,IAAI,8BAAiB,CAAC;IAC7C,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,mBAAmB;CAC5B,CAAC,CAAC;AAEH,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,uEAAqD,CAAA;IACrD,2EAAyD,CAAA;AAC7D,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,SAAgB,gBAAgB,CAAI,EAA8B,EAAE,QAAwB,EAAE,KAAQ;IAClG,OAAO,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7D,CAAC;AAFD,4CAEC;AAED,SAAgB,gBAAgB,CAAI,EAA8B,EAAE,QAAwB;IACxF,OAAO,EAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;AAC9F,CAAC;AAFD,4CAEC"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { IDatabase, ITask } from "pg-promise";
|
2
|
+
export declare type DTDatabase = IDatabase<unknown>;
|
3
|
+
export declare type DTTransaction = ITask<unknown>;
|
4
|
+
/**
|
5
|
+
* Creates a non-pooling database connection primarily used by Lambdas.
|
6
|
+
*
|
7
|
+
* Note! Using this method opens a new RDS connection on every invocation. It is advised to
|
8
|
+
* use RDS proxy to pool connections transparently.
|
9
|
+
* https://docs.amazonaws.cn/en_us/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html
|
10
|
+
* @param username Username
|
11
|
+
* @param password Password
|
12
|
+
* @param applicationName name of application
|
13
|
+
* @param url Connection URL
|
14
|
+
* @param options pg-promise options
|
15
|
+
*/
|
16
|
+
export declare function initDbConnection(username: string, password: string, applicationName: string, url: string, options?: object): DTDatabase;
|
17
|
+
export declare function inTransaction<T>(fn: (db: DTTransaction) => Promise<T>): Promise<T>;
|
18
|
+
export declare function inDatabase<T>(fn: (db: DTDatabase) => Promise<T>): Promise<T>;
|
19
|
+
export declare function inDatabaseReadonly<T>(fn: (db: DTDatabase) => Promise<T>): Promise<T>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/database/database.ts"],"names":[],"mappings":";;;AACA,8DAA0E;AAC1E,0CAAgD;AAChD,4DAAsD;AAEtD,8DAA8D;AAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;AAEpC,oDAAoD;AACpD,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE;IACrE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;IACvE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE;IACxE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAMH;;;;;;;;;;;GAWG;AACH,SAAgB,gBAAgB,CAC5B,QAAgB,EAChB,QAAgB,EAChB,eAAuB,EACvB,GAAW,EACX,OAAgB;IAEhB,MAAM,QAAQ,GAAG,gBAAgB,QAAQ,IAAI,QAAQ,IAAI,GAAG,qBAAqB,eAAe,EAAE,CAAC;IAEnG,OAAO,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAVD,4CAUC;AAED,SAAgB,aAAa,CACzB,EAAqC;IAErC,OAAO,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAJD,sCAIC;AAED,SAAgB,UAAU,CAAI,EAAkC;IAC5D,OAAO,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAFD,gCAEC;AAED,SAAgB,kBAAkB,CAC9B,EAAkC;IAElC,OAAO,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAJD,gDAIC;AAED,KAAK,UAAU,YAAY,CACvB,QAAiB,EACjB,EAAkC;IAElC,MAAM,cAAc,GAAG,IAAA,sBAAQ,EAC3B,kCAAuB,CAAC,cAAc,EACtC,yBAAyB,CAC5B,CAAC;IACF,MAAM,MAAM,GAAG,QAAQ;QACnB,CAAC,CAAC,IAAA,sBAAQ,EAAC,kCAAuB,CAAC,SAAS,CAAC;QAC7C,CAAC,CAAC,IAAA,sBAAQ,EAAC,kCAAuB,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,EAAE,GAAG,gBAAgB,CACvB,IAAA,sBAAc,EAAC,kCAAuB,CAAC,OAAO,CAAC,EAC/C,IAAA,sBAAc,EAAC,kCAAuB,CAAC,OAAO,CAAC,EAC/C,cAAc,EACd,MAAM,CACT,CAAC;IACF,IAAI;QACA,qEAAqE;QACrE,kFAAkF;QAClF,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,OAAO,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;KACvB;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,CAAC;KACX;YAAS;QACN,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;KAClB;AACL,CAAC"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { DTDatabase, DTTransaction } from "./database";
|
2
|
+
export declare enum DataType {
|
3
|
+
VS_DATEX2 = "VS_DATEX2",
|
4
|
+
COUNTING_SITES_DATA = "COUNTING_SITES_DATA",
|
5
|
+
COUNTING_SITES_METADATA = "COUNTING_SITES_METADATA",
|
6
|
+
COUNTING_SITES_METADATA_CHECK = "COUNTING_SITES_METADATA_CHECK",
|
7
|
+
MAINTENANCE_TRACKING_DATA_CHECKED = "MAINTENANCE_TRACKING_DATA_CHECKED",
|
8
|
+
PERMIT_DATA = "PERMIT_DATA",
|
9
|
+
PERMIT_DATA_CHECK = "PERMIT_DATA_CHECK"
|
10
|
+
}
|
11
|
+
export declare function getLastUpdated(db: DTDatabase, datatype: DataType): Promise<Date | null>;
|
12
|
+
export declare function getLastUpdatedWithSubtype(db: DTDatabase, datatype: DataType, subtype: string): Promise<Date | null>;
|
13
|
+
export declare function updateLastUpdated(db: DTDatabase | DTTransaction, datatype: DataType, updated: Date): Promise<null>;
|
14
|
+
export declare function updateLastUpdatedWithSubtype(db: DTDatabase | DTTransaction, datatype: DataType, subtype: string, updated: Date): Promise<null>;
|
15
|
+
export declare function getUpdatedTimestamp(db: DTDatabase, datatype: string): Promise<Date | null>;
|
16
|
+
export declare function updateUpdatedTimestamp(db: DTDatabase | DTTransaction, datatype: string, date: Date, by?: string): Promise<null>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"last-updated.js","sourceRoot":"","sources":["../../src/database/last-updated.ts"],"names":[],"mappings":";;;AAEA,IAAY,QAQX;AARD,WAAY,QAAQ;IAChB,mCAAqB,CAAA;IACrB,uDAAyC,CAAA;IACzC,+DAAiD,CAAA;IACjD,2EAA6D,CAAA;IAC7D,mFAAqE,CAAA;IACrE,uCAAyB,CAAA;IACzB,mDAAqC,CAAA;AACzC,CAAC,EARW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAQnB;AAED,MAAM,aAAa,GAAG,GAAG,CAAC;AAM1B,SAAgB,cAAc,CAAC,EAAc,EAAE,QAAkB;IAC7D,OAAO,EAAE,CAAC,SAAS,CAAC,qFAAqF,EAAE;QACvG,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa;KAC7C,EAAE,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;AACpD,CAAC;AAJD,wCAIC;AAED,SAAgB,yBAAyB,CAAC,EAAc,EAAE,QAAkB,EAAE,OAAe;IACzF,OAAO,EAAE,CAAC,SAAS,CAAC,qFAAqF,EAAE;QACvG,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO;KACvC,EAAE,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;AACpD,CAAC;AAJD,8DAIC;AAED,SAAgB,iBAAiB,CAAC,EAA8B,EAAE,QAAkB,EAAE,OAAa;IAC/F,OAAO,EAAE,CAAC,IAAI,CAAC;;;oCAGiB,EAChC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC3B,CAAC;AAND,8CAMC;AAED,SAAgB,4BAA4B,CAAC,EAA8B,EAAE,QAAkB,EAAE,OAAe,EAAE,OAAa;IAC3H,OAAO,EAAE,CAAC,IAAI,CAAC;;;oCAGiB,EAChC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AACpC,CAAC;AAND,oEAMC;AAED,SAAgB,mBAAmB,CAAC,EAAc,EAAE,QAAgB;IAChE,OAAO,EAAE,CAAC,SAAS,CAAC,sFAAsF,EAAE;QACxG,QAAQ,EAAE,QAAQ;KACrB,EAAE,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;AACpD,CAAC;AAJD,kDAIC;AAED,SAAgB,sBAAsB,CAAC,EAA8B,EAAE,QAAgB,EAAE,IAAU,EAAE,EAAE,GAAG,EAAE;IACxG,OAAO,EAAE,CAAC,IAAI,CAAC;;;yDAGsC,EACrD,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5B,CAAC;AAND,wDAMC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/database/models.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"id_utils.js","sourceRoot":"","sources":["../../src/marine/id_utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU,CAAC,GAAW;IAClC,OAAO,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,OAAO,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC;AAFD,gCAEC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACnC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7I,MAAM,WAAW,GAAG,gBAAgB,GAAG,EAAE,KAAK,UAAU,CAAC;IACzD,IAAI,CAAC,WAAW,EAAE;QACd,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAC;KACzE;IACD,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,SAAgB,WAAW,CAAC,IAAY;IACpC,OAAO,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC;AAClD,CAAC;AAFD,kCAEC;AAED,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,SAAgB,aAAa,CAAC,MAAc;IACxC,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAFD,sCAEC"}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
export declare type RtzPositionCoordinate = {
|
2
|
+
readonly $: {
|
3
|
+
readonly lat: number;
|
4
|
+
readonly lon: number;
|
5
|
+
};
|
6
|
+
};
|
7
|
+
export declare type RtzWaypointPosition = {
|
8
|
+
readonly position: RtzPositionCoordinate[];
|
9
|
+
};
|
10
|
+
export declare type RtzWaypoint = {
|
11
|
+
readonly waypoint: RtzWaypointPosition[];
|
12
|
+
};
|
13
|
+
export declare type RtzScheduleElement = {
|
14
|
+
readonly $: {
|
15
|
+
/**
|
16
|
+
* Date
|
17
|
+
*/
|
18
|
+
readonly etd?: string;
|
19
|
+
/**
|
20
|
+
* Date
|
21
|
+
*/
|
22
|
+
readonly eta?: string;
|
23
|
+
};
|
24
|
+
};
|
25
|
+
export declare type RtzSchedule = {
|
26
|
+
readonly scheduleElement: RtzScheduleElement[];
|
27
|
+
};
|
28
|
+
export declare type RtzScheduleWrapper = {
|
29
|
+
readonly manual?: RtzSchedule[];
|
30
|
+
readonly calculated?: RtzSchedule[];
|
31
|
+
};
|
32
|
+
export declare type RtzSchedules = {
|
33
|
+
readonly schedule: RtzScheduleWrapper[];
|
34
|
+
};
|
35
|
+
export declare type RtzRouteInfo = {
|
36
|
+
readonly $: {
|
37
|
+
readonly vesselMMSI: string;
|
38
|
+
readonly vesselIMO: string;
|
39
|
+
};
|
40
|
+
};
|
41
|
+
export declare type RtzRoute = {
|
42
|
+
readonly routeInfo: RtzRouteInfo[];
|
43
|
+
readonly waypoints: RtzWaypoint[];
|
44
|
+
readonly schedules: RtzSchedules[];
|
45
|
+
};
|
46
|
+
export declare type RtzVoyagePlan = {
|
47
|
+
readonly route: RtzRoute;
|
48
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"rtz.js","sourceRoot":"","sources":["../../src/marine/rtz.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/**
|
2
|
+
* A simple asserter-class for writing canaries without dependency to testing-libraries.
|
3
|
+
*/
|
4
|
+
export declare abstract class Asserter {
|
5
|
+
static assertEquals<T>(value: T, expected: T): void;
|
6
|
+
static assertTrue<T>(value: T): void;
|
7
|
+
static assertLength<T>(data: T[], expected: number): void;
|
8
|
+
static assertLengthGreaterThan<T>(data: T[], expected: number): void;
|
9
|
+
static assertGreaterThan(value: number, expected: number): void;
|
10
|
+
static assertToBeCloseTo(value: number, expected: number, delta: number): void;
|
11
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"asserter.js","sourceRoot":"","sources":["../../src/test/asserter.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,MAAsB,QAAQ;IAC1B,MAAM,CAAC,YAAY,CAAI,KAAQ,EAAE,QAAW;QACxC,IAAI,KAAK,IAAI,QAAQ,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,qBAAqB,QAAQ,EAAE,CAAC,CAAC;SACxE;IACL,CAAC;IAED,MAAM,CAAC,UAAU,CAAI,KAAQ;QACzB,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,eAAe,CAAC,CAAC;SACxD;IACL,CAAC;IAED,MAAM,CAAC,YAAY,CAAI,IAAS,EAAE,QAAgB;QAC9C,IAAI,CAAC,IAAI,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAClD;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,MAAM,qBAAqB,QAAQ,EAAE,CAAC,CAAC;SACrF;IACL,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAI,IAAS,EAAE,QAAgB;QACzD,IAAI,CAAC,IAAI,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAClD;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,MAAM,yBAAyB,QAAQ,EAAE,CAAC,CAAC;SACzF;IACL,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,KAAa,EAAE,QAAgB;QACpD,IAAI,KAAK,IAAI,QAAQ,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,oCAAoC,QAAQ,EAAE,CAAC,CAAC;SACjF;IACL,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,KAAa,EAAE,QAAgB,EAAE,KAAa;QACnE,MAAM,CAAC,QAAQ,GAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAC1D,MAAM,CAAC,QAAQ,GAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;CACJ;AA3CD,4BA2CC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { DTDatabase } from "../database/database";
|
2
|
+
export declare function assertCount(db: DTDatabase, sql: string, count: number): Promise<void>;
|
3
|
+
export declare function dbTestBase(fn: (db: DTDatabase) => void, truncateFn: (db: DTDatabase) => Promise<void>, dbUser: string, dbPass: string, dbUri: string): () => void;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"db-testutils.js","sourceRoot":"","sources":["../../src/test/db-testutils.ts"],"names":[],"mappings":";;;AAAA,mDAAoE;AACpE,8DAA0E;AAGnE,KAAK,UAAU,WAAW,CAAC,EAAc,EAAE,GAAW,EAAE,KAAa;IACxE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC;AAFD,kCAEC;AAED,SAAgB,UAAU,CACtB,EAA4B,EAC5B,UAA6C,EAC7C,MAAc,EACd,MAAc,EACd,KAAa;IAEb,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;IAE9C,OAAO,GAAG,EAAE;QACR,MAAM,EAAE,GAAe,IAAA,2BAAgB,EACnC,MAAM,EACN,MAAM,EACN,MAAM,EACN,QAAQ,EACR;YACI,UAAU,EAAE,IAAI,EAAE,gDAAgD;SACrE,CACJ,CAAC;QAEF,SAAS,CAAC,KAAK,IAAI,EAAE;YACjB,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,kCAAuB,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;YAC1D,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,KAAK,IAAI,EAAE;YAClB,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,CAAC;IACX,CAAC,CAAC;AACN,CAAC;AAxCD,gCAwCC"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
export declare const ERROR_NO_MATCH = "NO MATCH";
|
2
|
+
export declare const ERRORCODE_NOT_FOUND = 404;
|
3
|
+
/**
|
4
|
+
* A mock HTTP server created for testing connections from a Lambda to an outside integration
|
5
|
+
*/
|
6
|
+
export declare class TestHttpServer {
|
7
|
+
private server?;
|
8
|
+
private debug;
|
9
|
+
private messageStack;
|
10
|
+
constructor();
|
11
|
+
getCallCount(): number;
|
12
|
+
getRequestBody(callNumber: number): string;
|
13
|
+
listen(port: number, props: ListenProperties, debug?: boolean, statusCode?: number): void;
|
14
|
+
close(): void;
|
15
|
+
private debuglog;
|
16
|
+
}
|
17
|
+
export interface ListenProperties {
|
18
|
+
[key: string]: (url?: string, data?: string) => string;
|
19
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"httpserver.js","sourceRoot":"","sources":["../../src/test/httpserver.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { EmptySecretFunction, SecretFunction } from "../aws/runtime/secrets/dbsecret";
|
2
|
+
export declare function createSecretFunction<Secret, Response>(secret: Secret): SecretFunction<Secret, Response>;
|
3
|
+
export declare function createEmptySecretFunction<Response>(): EmptySecretFunction<Response>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"secret.js","sourceRoot":"","sources":["../../src/test/secret.ts"],"names":[],"mappings":";;;AAEA,MAAM,eAAe,GAAa;IAC9B,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;IACR,qCAAqC;IACrC,OAAO,EAAE,EAAE;CACd,CAAC;AAEF,SAAgB,oBAAoB,CAAmB,MAAc;IACjE,yCAAyC;IACzC,OAAO,KAAK,EAAE,QAAgB,EAAE,EAA6C,EAAE,EAAE;QAC7E,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC;AACN,CAAC;AALD,oDAKC;AAED,SAAgB,yBAAyB;IACrC,yCAAyC;IACzC,OAAO,KAAK,EAAE,QAAgB,EAAE,EAA+C,EAAE,EAAE;QAC/E,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC,CAAC;AACN,CAAC;AALD,8DAKC"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import * as sinon from "sinon";
|
2
|
+
/**
|
3
|
+
* Stub Secrets Manager for tests. You must call this
|
4
|
+
* before you instantiate Secrets Manager(this might happen when you import the function that uses Secrets Manager).
|
5
|
+
*
|
6
|
+
* To mock the actual secret, call mockSecret()
|
7
|
+
*/
|
8
|
+
export declare function stubSecretsManager(): sinon.SinonStub<any[], any>;
|
9
|
+
export declare function mockSecret<Secret>(secret: Secret): void;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"secrets-manager.js","sourceRoot":"","sources":["../../src/test/secrets-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAgC;AAChC,6CAA+B;AAE/B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;AAEjC;;;;;GAKG;AACH,SAAgB,kBAAkB;IAC9B,MAAM,MAAM,GAAG;QACX,cAAc,EAAE,WAAW;KAC9B,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC,cAAc,CAAC;AACjC,CAAC;AARD,gDAQC;AAED,SAAgB,UAAU,CAAS,MAAc;IAC7C,IAAI,CAAC,MAAM,EAAE;QACT,WAAW,CAAC,OAAO,CAAC;YAChB,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;SACpC,CAAC,CAAC;KACN;SAAM;QACH,WAAW,CAAC,OAAO,CAAC;YAChB,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC;gBAC1B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aACvC,CAAC;SACL,CAAC,CAAC;KACN;AACL,CAAC;AAZD,gCAYC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export declare function randomString(): string;
|
2
|
+
export declare function getRandomNumber(min: number, max: number): number;
|
3
|
+
export declare function getRandomNumberAsString(min: number, max: number): string;
|
4
|
+
export declare function getRandomInteger(min: number, max: number): number;
|
5
|
+
export declare function getRandomIntegerAsString(min: number, max: number): string;
|
6
|
+
export declare function getRandomBigInt(min: number, max: number): bigint;
|
7
|
+
export declare function randomBoolean(): boolean;
|
8
|
+
/**
|
9
|
+
* Returns a new copy of an array, shuffled using Math.random()
|
10
|
+
* @param array Array
|
11
|
+
*/
|
12
|
+
export declare function shuffle<T>(array: T[]): T[];
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"testutils.js","sourceRoot":"","sources":["../../src/test/testutils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY;IACxB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,oCAEC;AAED,SAAgB,eAAe,CAAC,GAAW,EAAG,GAAW;IACrD,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAC7C,CAAC;AAFD,0CAEC;AAED,SAAgB,uBAAuB,CAAC,GAAW,EAAG,GAAW;IAC7D,OAAO,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AAChD,CAAC;AAFD,0DAEC;AAED,SAAgB,gBAAgB,CAAC,GAAW,EAAG,GAAW;IACtD,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAFD,4CAEC;AAED,SAAgB,wBAAwB,CAAC,GAAW,EAAG,GAAW;IAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC7D,CAAC;AAFD,4DAEC;AAED,SAAgB,eAAe,CAAC,GAAW,EAAG,GAAW;IACrD,OAAO,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC;AAFD,0CAEC;AAED,SAAgB,aAAa;IACzB,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AAC/B,CAAC;AAFD,sCAEC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAI,KAAU;IACjC,gEAAgE;IAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,QAAQ,CAAC;AACpB,CAAC;AAND,0BAMC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"either.js","sourceRoot":"","sources":["../../src/types/either.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"input-error.js","sourceRoot":"","sources":["../../src/types/input-error.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAW,SAAQ,KAAK;CACpC;AADD,gCACC"}
|