@pristine-ts/gcp 2.0.16
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/LICENSE +201 -0
- package/dist/lib/cjs/clients/clients.js +22 -0
- package/dist/lib/cjs/clients/clients.js.map +1 -0
- package/dist/lib/cjs/clients/cloud-storage.client.js +189 -0
- package/dist/lib/cjs/clients/cloud-storage.client.js.map +1 -0
- package/dist/lib/cjs/clients/eventarc.client.js +146 -0
- package/dist/lib/cjs/clients/eventarc.client.js.map +1 -0
- package/dist/lib/cjs/clients/firestore.client.js +238 -0
- package/dist/lib/cjs/clients/firestore.client.js.map +1 -0
- package/dist/lib/cjs/clients/pub-sub.client.js +97 -0
- package/dist/lib/cjs/clients/pub-sub.client.js.map +1 -0
- package/dist/lib/cjs/clients/secret-manager.client.js +118 -0
- package/dist/lib/cjs/clients/secret-manager.client.js.map +1 -0
- package/dist/lib/cjs/decorators/decorators.js +18 -0
- package/dist/lib/cjs/decorators/decorators.js.map +1 -0
- package/dist/lib/cjs/decorators/dynamic-collection-name.decorator.js +33 -0
- package/dist/lib/cjs/decorators/dynamic-collection-name.decorator.js.map +1 -0
- package/dist/lib/cjs/enums/cloud-storage-event-type.enum.js +16 -0
- package/dist/lib/cjs/enums/cloud-storage-event-type.enum.js.map +1 -0
- package/dist/lib/cjs/enums/cloud-storage-presigned-operation-type.enum.js +13 -0
- package/dist/lib/cjs/enums/cloud-storage-presigned-operation-type.enum.js.map +1 -0
- package/dist/lib/cjs/enums/enums.js +22 -0
- package/dist/lib/cjs/enums/enums.js.map +1 -0
- package/dist/lib/cjs/enums/eventarc-event-type.enum.js +12 -0
- package/dist/lib/cjs/enums/eventarc-event-type.enum.js.map +1 -0
- package/dist/lib/cjs/enums/firestore-event-type.enum.js +16 -0
- package/dist/lib/cjs/enums/firestore-event-type.enum.js.map +1 -0
- package/dist/lib/cjs/enums/pub-sub-event-type.enum.js +13 -0
- package/dist/lib/cjs/enums/pub-sub-event-type.enum.js.map +1 -0
- package/dist/lib/cjs/errors/errors.js +20 -0
- package/dist/lib/cjs/errors/errors.js.map +1 -0
- package/dist/lib/cjs/errors/eventarc-publish.error.js +17 -0
- package/dist/lib/cjs/errors/eventarc-publish.error.js.map +1 -0
- package/dist/lib/cjs/errors/get-secret.error.js +17 -0
- package/dist/lib/cjs/errors/get-secret.error.js.map +1 -0
- package/dist/lib/cjs/errors/pub-sub-publish.error.js +19 -0
- package/dist/lib/cjs/errors/pub-sub-publish.error.js.map +1 -0
- package/dist/lib/cjs/event-payloads/cloud-storage.event-payload.js +11 -0
- package/dist/lib/cjs/event-payloads/cloud-storage.event-payload.js.map +1 -0
- package/dist/lib/cjs/event-payloads/event-payloads.js +21 -0
- package/dist/lib/cjs/event-payloads/event-payloads.js.map +1 -0
- package/dist/lib/cjs/event-payloads/eventarc.event-payload.js +11 -0
- package/dist/lib/cjs/event-payloads/eventarc.event-payload.js.map +1 -0
- package/dist/lib/cjs/event-payloads/firestore.event-payload.js +11 -0
- package/dist/lib/cjs/event-payloads/firestore.event-payload.js.map +1 -0
- package/dist/lib/cjs/event-payloads/pub-sub.event-payload.js +17 -0
- package/dist/lib/cjs/event-payloads/pub-sub.event-payload.js.map +1 -0
- package/dist/lib/cjs/gcp.configuration-keys.js +20 -0
- package/dist/lib/cjs/gcp.configuration-keys.js.map +1 -0
- package/dist/lib/cjs/gcp.module.js +76 -0
- package/dist/lib/cjs/gcp.module.js.map +1 -0
- package/dist/lib/cjs/gcp.module.keyname.js +5 -0
- package/dist/lib/cjs/gcp.module.keyname.js.map +1 -0
- package/dist/lib/cjs/interfaces/client-options.interface.js +3 -0
- package/dist/lib/cjs/interfaces/client-options.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/cloud-storage-client.interface.js +3 -0
- package/dist/lib/cjs/interfaces/cloud-storage-client.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/eventarc-client.interface.js +3 -0
- package/dist/lib/cjs/interfaces/eventarc-client.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/firestore-client.interface.js +3 -0
- package/dist/lib/cjs/interfaces/firestore-client.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/interfaces.js +23 -0
- package/dist/lib/cjs/interfaces/interfaces.js.map +1 -0
- package/dist/lib/cjs/interfaces/pub-sub-client.interface.js +3 -0
- package/dist/lib/cjs/interfaces/pub-sub-client.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/secret-manager-client.interface.js +3 -0
- package/dist/lib/cjs/interfaces/secret-manager-client.interface.js.map +1 -0
- package/dist/lib/cjs/mappers/cloud-storage-event.mapper.js +87 -0
- package/dist/lib/cjs/mappers/cloud-storage-event.mapper.js.map +1 -0
- package/dist/lib/cjs/mappers/eventarc-event.mapper.js +84 -0
- package/dist/lib/cjs/mappers/eventarc-event.mapper.js.map +1 -0
- package/dist/lib/cjs/mappers/firestore-event.mapper.js +78 -0
- package/dist/lib/cjs/mappers/firestore-event.mapper.js.map +1 -0
- package/dist/lib/cjs/mappers/mappers.js +21 -0
- package/dist/lib/cjs/mappers/mappers.js.map +1 -0
- package/dist/lib/cjs/mappers/pub-sub-event.mapper.js +78 -0
- package/dist/lib/cjs/mappers/pub-sub-event.mapper.js.map +1 -0
- package/dist/lib/cjs/models/dynamic-collection-name.model.js +11 -0
- package/dist/lib/cjs/models/dynamic-collection-name.model.js.map +1 -0
- package/dist/lib/cjs/models/eventarc-message.model.js +10 -0
- package/dist/lib/cjs/models/eventarc-message.model.js.map +1 -0
- package/dist/lib/cjs/models/models.js +20 -0
- package/dist/lib/cjs/models/models.js.map +1 -0
- package/dist/lib/cjs/models/pub-sub-message-sent-confirmation.model.js +11 -0
- package/dist/lib/cjs/models/pub-sub-message-sent-confirmation.model.js.map +1 -0
- package/dist/lib/cjs/models/pub-sub-message.model.js +11 -0
- package/dist/lib/cjs/models/pub-sub-message.model.js.map +1 -0
- package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/lib/esm/clients/clients.js +6 -0
- package/dist/lib/esm/clients/clients.js.map +1 -0
- package/dist/lib/esm/clients/cloud-storage.client.js +186 -0
- package/dist/lib/esm/clients/cloud-storage.client.js.map +1 -0
- package/dist/lib/esm/clients/eventarc.client.js +110 -0
- package/dist/lib/esm/clients/eventarc.client.js.map +1 -0
- package/dist/lib/esm/clients/firestore.client.js +235 -0
- package/dist/lib/esm/clients/firestore.client.js.map +1 -0
- package/dist/lib/esm/clients/pub-sub.client.js +94 -0
- package/dist/lib/esm/clients/pub-sub.client.js.map +1 -0
- package/dist/lib/esm/clients/secret-manager.client.js +115 -0
- package/dist/lib/esm/clients/secret-manager.client.js.map +1 -0
- package/dist/lib/esm/decorators/decorators.js +2 -0
- package/dist/lib/esm/decorators/decorators.js.map +1 -0
- package/dist/lib/esm/decorators/dynamic-collection-name.decorator.js +29 -0
- package/dist/lib/esm/decorators/dynamic-collection-name.decorator.js.map +1 -0
- package/dist/lib/esm/enums/cloud-storage-event-type.enum.js +13 -0
- package/dist/lib/esm/enums/cloud-storage-event-type.enum.js.map +1 -0
- package/dist/lib/esm/enums/cloud-storage-presigned-operation-type.enum.js +10 -0
- package/dist/lib/esm/enums/cloud-storage-presigned-operation-type.enum.js.map +1 -0
- package/dist/lib/esm/enums/enums.js +6 -0
- package/dist/lib/esm/enums/enums.js.map +1 -0
- package/dist/lib/esm/enums/eventarc-event-type.enum.js +9 -0
- package/dist/lib/esm/enums/eventarc-event-type.enum.js.map +1 -0
- package/dist/lib/esm/enums/firestore-event-type.enum.js +13 -0
- package/dist/lib/esm/enums/firestore-event-type.enum.js.map +1 -0
- package/dist/lib/esm/enums/pub-sub-event-type.enum.js +10 -0
- package/dist/lib/esm/enums/pub-sub-event-type.enum.js.map +1 -0
- package/dist/lib/esm/errors/errors.js +4 -0
- package/dist/lib/esm/errors/errors.js.map +1 -0
- package/dist/lib/esm/errors/eventarc-publish.error.js +13 -0
- package/dist/lib/esm/errors/eventarc-publish.error.js.map +1 -0
- package/dist/lib/esm/errors/get-secret.error.js +13 -0
- package/dist/lib/esm/errors/get-secret.error.js.map +1 -0
- package/dist/lib/esm/errors/pub-sub-publish.error.js +15 -0
- package/dist/lib/esm/errors/pub-sub-publish.error.js.map +1 -0
- package/dist/lib/esm/event-payloads/cloud-storage.event-payload.js +7 -0
- package/dist/lib/esm/event-payloads/cloud-storage.event-payload.js.map +1 -0
- package/dist/lib/esm/event-payloads/event-payloads.js +5 -0
- package/dist/lib/esm/event-payloads/event-payloads.js.map +1 -0
- package/dist/lib/esm/event-payloads/eventarc.event-payload.js +7 -0
- package/dist/lib/esm/event-payloads/eventarc.event-payload.js.map +1 -0
- package/dist/lib/esm/event-payloads/firestore.event-payload.js +7 -0
- package/dist/lib/esm/event-payloads/firestore.event-payload.js.map +1 -0
- package/dist/lib/esm/event-payloads/pub-sub.event-payload.js +13 -0
- package/dist/lib/esm/event-payloads/pub-sub.event-payload.js.map +1 -0
- package/dist/lib/esm/gcp.configuration-keys.js +17 -0
- package/dist/lib/esm/gcp.configuration-keys.js.map +1 -0
- package/dist/lib/esm/gcp.module.js +59 -0
- package/dist/lib/esm/gcp.module.js.map +1 -0
- package/dist/lib/esm/gcp.module.keyname.js +2 -0
- package/dist/lib/esm/gcp.module.keyname.js.map +1 -0
- package/dist/lib/esm/interfaces/client-options.interface.js +2 -0
- package/dist/lib/esm/interfaces/client-options.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/cloud-storage-client.interface.js +2 -0
- package/dist/lib/esm/interfaces/cloud-storage-client.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/eventarc-client.interface.js +2 -0
- package/dist/lib/esm/interfaces/eventarc-client.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/firestore-client.interface.js +2 -0
- package/dist/lib/esm/interfaces/firestore-client.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/interfaces.js +7 -0
- package/dist/lib/esm/interfaces/interfaces.js.map +1 -0
- package/dist/lib/esm/interfaces/pub-sub-client.interface.js +2 -0
- package/dist/lib/esm/interfaces/pub-sub-client.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/secret-manager-client.interface.js +2 -0
- package/dist/lib/esm/interfaces/secret-manager-client.interface.js.map +1 -0
- package/dist/lib/esm/mappers/cloud-storage-event.mapper.js +84 -0
- package/dist/lib/esm/mappers/cloud-storage-event.mapper.js.map +1 -0
- package/dist/lib/esm/mappers/eventarc-event.mapper.js +81 -0
- package/dist/lib/esm/mappers/eventarc-event.mapper.js.map +1 -0
- package/dist/lib/esm/mappers/firestore-event.mapper.js +75 -0
- package/dist/lib/esm/mappers/firestore-event.mapper.js.map +1 -0
- package/dist/lib/esm/mappers/mappers.js +5 -0
- package/dist/lib/esm/mappers/mappers.js.map +1 -0
- package/dist/lib/esm/mappers/pub-sub-event.mapper.js +75 -0
- package/dist/lib/esm/mappers/pub-sub-event.mapper.js.map +1 -0
- package/dist/lib/esm/models/dynamic-collection-name.model.js +7 -0
- package/dist/lib/esm/models/dynamic-collection-name.model.js.map +1 -0
- package/dist/lib/esm/models/eventarc-message.model.js +6 -0
- package/dist/lib/esm/models/eventarc-message.model.js.map +1 -0
- package/dist/lib/esm/models/models.js +4 -0
- package/dist/lib/esm/models/models.js.map +1 -0
- package/dist/lib/esm/models/pub-sub-message-sent-confirmation.model.js +7 -0
- package/dist/lib/esm/models/pub-sub-message-sent-confirmation.model.js.map +1 -0
- package/dist/lib/esm/models/pub-sub-message.model.js +7 -0
- package/dist/lib/esm/models/pub-sub-message.model.js.map +1 -0
- package/dist/lib/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/types/clients/clients.d.ts +5 -0
- package/dist/types/clients/cloud-storage.client.d.ts +26 -0
- package/dist/types/clients/eventarc.client.d.ts +26 -0
- package/dist/types/clients/firestore.client.d.ts +47 -0
- package/dist/types/clients/pub-sub.client.d.ts +23 -0
- package/dist/types/clients/secret-manager.client.d.ts +24 -0
- package/dist/types/decorators/decorators.d.ts +1 -0
- package/dist/types/decorators/dynamic-collection-name.decorator.d.ts +22 -0
- package/dist/types/enums/cloud-storage-event-type.enum.d.ts +11 -0
- package/dist/types/enums/cloud-storage-presigned-operation-type.enum.d.ts +8 -0
- package/dist/types/enums/enums.d.ts +5 -0
- package/dist/types/enums/eventarc-event-type.enum.d.ts +7 -0
- package/dist/types/enums/firestore-event-type.enum.d.ts +11 -0
- package/dist/types/enums/pub-sub-event-type.enum.d.ts +8 -0
- package/dist/types/errors/errors.d.ts +3 -0
- package/dist/types/errors/eventarc-publish.error.d.ts +8 -0
- package/dist/types/errors/get-secret.error.d.ts +8 -0
- package/dist/types/errors/pub-sub-publish.error.d.ts +14 -0
- package/dist/types/event-payloads/cloud-storage.event-payload.d.ts +55 -0
- package/dist/types/event-payloads/event-payloads.d.ts +4 -0
- package/dist/types/event-payloads/eventarc.event-payload.d.ts +39 -0
- package/dist/types/event-payloads/firestore.event-payload.d.ts +43 -0
- package/dist/types/event-payloads/pub-sub.event-payload.d.ts +37 -0
- package/dist/types/gcp.configuration-keys.d.ts +35 -0
- package/dist/types/gcp.module.d.ts +11 -0
- package/dist/types/gcp.module.keyname.d.ts +1 -0
- package/dist/types/interfaces/client-options.interface.d.ts +19 -0
- package/dist/types/interfaces/cloud-storage-client.interface.d.ts +14 -0
- package/dist/types/interfaces/eventarc-client.interface.d.ts +5 -0
- package/dist/types/interfaces/firestore-client.interface.d.ts +27 -0
- package/dist/types/interfaces/interfaces.d.ts +6 -0
- package/dist/types/interfaces/pub-sub-client.interface.d.ts +8 -0
- package/dist/types/interfaces/secret-manager-client.interface.d.ts +9 -0
- package/dist/types/mappers/cloud-storage-event.mapper.d.ts +22 -0
- package/dist/types/mappers/eventarc-event.mapper.d.ts +22 -0
- package/dist/types/mappers/firestore-event.mapper.d.ts +17 -0
- package/dist/types/mappers/mappers.d.ts +4 -0
- package/dist/types/mappers/pub-sub-event.mapper.d.ts +23 -0
- package/dist/types/models/dynamic-collection-name.model.d.ts +8 -0
- package/dist/types/models/eventarc-message.model.d.ts +25 -0
- package/dist/types/models/models.d.ts +3 -0
- package/dist/types/models/pub-sub-message-sent-confirmation.model.d.ts +7 -0
- package/dist/types/models/pub-sub-message.model.d.ts +21 -0
- package/package.json +72 -0
- package/readme.md +32 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firestore-client.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/firestore-client.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./client-options.interface";
|
|
2
|
+
export * from "./cloud-storage-client.interface";
|
|
3
|
+
export * from "./eventarc-client.interface";
|
|
4
|
+
export * from "./firestore-client.interface";
|
|
5
|
+
export * from "./pub-sub-client.interface";
|
|
6
|
+
export * from "./secret-manager-client.interface";
|
|
7
|
+
//# sourceMappingURL=interfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/interfaces/interfaces.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pub-sub-client.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/pub-sub-client.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-manager-client.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/secret-manager-client.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Event, EventIdManager, } from "@pristine-ts/core";
|
|
11
|
+
import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
|
|
12
|
+
import { injectable } from "tsyringe";
|
|
13
|
+
import { GcpModuleKeyname } from "../gcp.module.keyname";
|
|
14
|
+
import { CloudStorageEventPayload } from "../event-payloads/cloud-storage.event-payload";
|
|
15
|
+
import { CloudStorageEventType } from "../enums/cloud-storage-event-type.enum";
|
|
16
|
+
/**
|
|
17
|
+
* Maps a GCP Cloud Storage CloudEvent into a Pristine `Event<CloudStorageEventPayload>`.
|
|
18
|
+
*
|
|
19
|
+
* The raw event can arrive in two shapes:
|
|
20
|
+
* 1. Structured CloudEvent (`{specversion, id, type, source, data, ...}`) — when an
|
|
21
|
+
* Eventarc trigger or Gen 2 Cloud Function delivers it via HTTP body.
|
|
22
|
+
* 2. Pre-parsed shape from the entry-point shim with the same fields at the top
|
|
23
|
+
* level. Both are supported.
|
|
24
|
+
*
|
|
25
|
+
* Detection: the CloudEvent `type` starts with `google.cloud.storage.object.v1.`.
|
|
26
|
+
*/
|
|
27
|
+
let CloudStorageEventMapper = class CloudStorageEventMapper {
|
|
28
|
+
constructor(eventIdManager) {
|
|
29
|
+
this.eventIdManager = eventIdManager;
|
|
30
|
+
}
|
|
31
|
+
supportsMapping(rawEvent, executionContext) {
|
|
32
|
+
return rawEvent !== undefined
|
|
33
|
+
&& rawEvent !== null
|
|
34
|
+
&& typeof rawEvent === "object"
|
|
35
|
+
&& typeof rawEvent.type === "string"
|
|
36
|
+
&& rawEvent.type.startsWith("google.cloud.storage.object.v1.");
|
|
37
|
+
}
|
|
38
|
+
map(rawEvent, executionContext) {
|
|
39
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
40
|
+
const payload = new CloudStorageEventPayload();
|
|
41
|
+
payload.eventType = rawEvent.type;
|
|
42
|
+
payload.source = rawEvent.source;
|
|
43
|
+
if (rawEvent.time) {
|
|
44
|
+
payload.eventTime = new Date(rawEvent.time);
|
|
45
|
+
}
|
|
46
|
+
payload.data = rawEvent.data;
|
|
47
|
+
payload.bucket = (_a = rawEvent.data) === null || _a === void 0 ? void 0 : _a.bucket;
|
|
48
|
+
payload.name = (_b = rawEvent.data) === null || _b === void 0 ? void 0 : _b.name;
|
|
49
|
+
payload.generation = (_c = rawEvent.data) === null || _c === void 0 ? void 0 : _c.generation;
|
|
50
|
+
payload.metageneration = (_d = rawEvent.data) === null || _d === void 0 ? void 0 : _d.metageneration;
|
|
51
|
+
payload.contentType = (_e = rawEvent.data) === null || _e === void 0 ? void 0 : _e.contentType;
|
|
52
|
+
payload.size = (_f = rawEvent.data) === null || _f === void 0 ? void 0 : _f.size;
|
|
53
|
+
payload.md5Hash = (_g = rawEvent.data) === null || _g === void 0 ? void 0 : _g.md5Hash;
|
|
54
|
+
payload.crc32c = (_h = rawEvent.data) === null || _h === void 0 ? void 0 : _h.crc32c;
|
|
55
|
+
const eventId = (_j = rawEvent.id) !== null && _j !== void 0 ? _j : this.eventIdManager.generateEventId();
|
|
56
|
+
const event = new Event(this.findEnum(rawEvent.type), payload, eventId);
|
|
57
|
+
return {
|
|
58
|
+
executionOrder: "parallel",
|
|
59
|
+
events: [event],
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
supportsReverseMapping(eventResponse, response, executionContext) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
reverseMap(eventResponse, response, executionContext) {
|
|
66
|
+
}
|
|
67
|
+
findEnum(eventType) {
|
|
68
|
+
const values = Object.values(CloudStorageEventType);
|
|
69
|
+
for (const value of values) {
|
|
70
|
+
if (value === eventType) {
|
|
71
|
+
return value;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return CloudStorageEventType.UnknownCloudStorageEvent;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
CloudStorageEventMapper = __decorate([
|
|
78
|
+
moduleScoped(GcpModuleKeyname),
|
|
79
|
+
tag(ServiceDefinitionTagEnum.EventMapper),
|
|
80
|
+
injectable(),
|
|
81
|
+
__metadata("design:paramtypes", [EventIdManager])
|
|
82
|
+
], CloudStorageEventMapper);
|
|
83
|
+
export { CloudStorageEventMapper };
|
|
84
|
+
//# sourceMappingURL=cloud-storage-event.mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-storage-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/cloud-storage-event.mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Event, EventIdManager, } from "@pristine-ts/core";
|
|
11
|
+
import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
|
|
12
|
+
import { injectable } from "tsyringe";
|
|
13
|
+
import { GcpModuleKeyname } from "../gcp.module.keyname";
|
|
14
|
+
import { EventarcEventPayload } from "../event-payloads/eventarc.event-payload";
|
|
15
|
+
import { EventarcEventType } from "../enums/eventarc-event-type.enum";
|
|
16
|
+
/**
|
|
17
|
+
* Catch-all mapper for CloudEvents that didn't match a more-specific GCP mapper.
|
|
18
|
+
* Sits at the end of the mapper chain (the more specific mappers — Pub/Sub, Cloud
|
|
19
|
+
* Storage, Firestore — short-circuit `supportsMapping` for events they own; this
|
|
20
|
+
* mapper accepts anything CloudEvent-shaped that nobody else claimed).
|
|
21
|
+
*
|
|
22
|
+
* Detection: the event has a CloudEvent `specversion` (or just `type` + `source`),
|
|
23
|
+
* and isn't one of the GCP-specific shapes already handled. The framework calls
|
|
24
|
+
* `supportsMapping` on every registered mapper; since this one matches broadly,
|
|
25
|
+
* relying on order alone isn't safe — instead, this mapper checks that the event
|
|
26
|
+
* is NOT one of the specific shapes already claimed by the dedicated mappers.
|
|
27
|
+
*/
|
|
28
|
+
let EventarcEventMapper = class EventarcEventMapper {
|
|
29
|
+
constructor(eventIdManager) {
|
|
30
|
+
this.eventIdManager = eventIdManager;
|
|
31
|
+
}
|
|
32
|
+
supportsMapping(rawEvent, executionContext) {
|
|
33
|
+
if (rawEvent === undefined || rawEvent === null || typeof rawEvent !== "object") {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
if (typeof rawEvent.type !== "string" || typeof rawEvent.source !== "string") {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
// Don't claim events owned by more-specific mappers.
|
|
40
|
+
if (rawEvent.type.startsWith("google.cloud.storage.object.v1.")) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
if (rawEvent.type.startsWith("google.cloud.firestore.document.v1.")) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
// Pub/Sub push has a different shape (no top-level `type`/`source`); already excluded above.
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
map(rawEvent, executionContext) {
|
|
50
|
+
var _a, _b;
|
|
51
|
+
const payload = new EventarcEventPayload();
|
|
52
|
+
payload.id = (_a = rawEvent.id) !== null && _a !== void 0 ? _a : this.eventIdManager.generateEventId();
|
|
53
|
+
payload.specVersion = (_b = rawEvent.specversion) !== null && _b !== void 0 ? _b : "1.0";
|
|
54
|
+
payload.type = rawEvent.type;
|
|
55
|
+
payload.source = rawEvent.source;
|
|
56
|
+
payload.subject = rawEvent.subject;
|
|
57
|
+
if (rawEvent.time) {
|
|
58
|
+
payload.time = new Date(rawEvent.time);
|
|
59
|
+
}
|
|
60
|
+
payload.dataContentType = rawEvent.datacontenttype;
|
|
61
|
+
payload.data = rawEvent.data;
|
|
62
|
+
const event = new Event(EventarcEventType.EventarcEvent, payload, payload.id);
|
|
63
|
+
return {
|
|
64
|
+
executionOrder: "sequential",
|
|
65
|
+
events: [event],
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
supportsReverseMapping(eventResponse, response, executionContext) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
reverseMap(eventResponse, response, executionContext) {
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
EventarcEventMapper = __decorate([
|
|
75
|
+
moduleScoped(GcpModuleKeyname),
|
|
76
|
+
tag(ServiceDefinitionTagEnum.EventMapper),
|
|
77
|
+
injectable(),
|
|
78
|
+
__metadata("design:paramtypes", [EventIdManager])
|
|
79
|
+
], EventarcEventMapper);
|
|
80
|
+
export { EventarcEventMapper };
|
|
81
|
+
//# sourceMappingURL=eventarc-event.mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventarc-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/eventarc-event.mapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,KAAK,EACL,cAAc,GAKf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,oBAAoB,EAAC,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,mCAAmC,CAAC;AAEpE;;;;;;;;;;;GAWG;AAII,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAC3D,CAAC;IAED,eAAe,CAAC,QAAa,EAAE,gBAAgD;QAC7E,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,qDAAqD;QACrD,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,iCAAiC,CAAC,EAAE,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,qCAAqC,CAAC,EAAE,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,6FAA6F;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,QAAa,EAAE,gBAAgD;;QACjE,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC3C,OAAO,CAAC,EAAE,GAAG,MAAA,QAAQ,CAAC,EAAE,mCAAI,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;QAClE,OAAO,CAAC,WAAW,GAAG,MAAA,QAAQ,CAAC,WAAW,mCAAI,KAAK,CAAC;QACpD,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC7B,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QACjC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACnC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QACnD,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE7B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAuB,iBAAiB,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAEpG,OAAO;YACL,cAAc,EAAE,YAAY;YAC5B,MAAM,EAAE,CAAC,KAAK,CAAC;SAChB,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,aAAwD,EAAE,QAAa,EAAE,gBAAgD;QAC9I,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU,CAAC,aAAwD,EAAE,QAAa,EAAE,gBAAgD;IACpI,CAAC;CACF,CAAA;AAjDY,mBAAmB;IAH/B,YAAY,CAAC,gBAAgB,CAAC;IAC9B,GAAG,CAAC,wBAAwB,CAAC,WAAW,CAAC;IACzC,UAAU,EAAE;qCAEkC,cAAc;GADhD,mBAAmB,CAiD/B"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Event, EventIdManager, } from "@pristine-ts/core";
|
|
11
|
+
import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
|
|
12
|
+
import { injectable } from "tsyringe";
|
|
13
|
+
import { GcpModuleKeyname } from "../gcp.module.keyname";
|
|
14
|
+
import { FirestoreEventPayload } from "../event-payloads/firestore.event-payload";
|
|
15
|
+
import { FirestoreEventType } from "../enums/firestore-event-type.enum";
|
|
16
|
+
/**
|
|
17
|
+
* Maps a GCP Firestore document-change CloudEvent into a
|
|
18
|
+
* Pristine `Event<FirestoreEventPayload>`.
|
|
19
|
+
*
|
|
20
|
+
* Detection: CloudEvent `type` starts with `google.cloud.firestore.document.v1.`.
|
|
21
|
+
*/
|
|
22
|
+
let FirestoreEventMapper = class FirestoreEventMapper {
|
|
23
|
+
constructor(eventIdManager) {
|
|
24
|
+
this.eventIdManager = eventIdManager;
|
|
25
|
+
}
|
|
26
|
+
supportsMapping(rawEvent, executionContext) {
|
|
27
|
+
return rawEvent !== undefined
|
|
28
|
+
&& rawEvent !== null
|
|
29
|
+
&& typeof rawEvent === "object"
|
|
30
|
+
&& typeof rawEvent.type === "string"
|
|
31
|
+
&& rawEvent.type.startsWith("google.cloud.firestore.document.v1.");
|
|
32
|
+
}
|
|
33
|
+
map(rawEvent, executionContext) {
|
|
34
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
35
|
+
const payload = new FirestoreEventPayload();
|
|
36
|
+
payload.eventType = rawEvent.type;
|
|
37
|
+
payload.source = rawEvent.source;
|
|
38
|
+
if (rawEvent.time) {
|
|
39
|
+
payload.eventTime = new Date(rawEvent.time);
|
|
40
|
+
}
|
|
41
|
+
payload.data = rawEvent.data;
|
|
42
|
+
payload.documentPath = (_c = (_b = (_a = rawEvent.data) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : (_e = (_d = rawEvent.data) === null || _d === void 0 ? void 0 : _d.oldValue) === null || _e === void 0 ? void 0 : _e.name;
|
|
43
|
+
payload.value = (_g = (_f = rawEvent.data) === null || _f === void 0 ? void 0 : _f.value) === null || _g === void 0 ? void 0 : _g.fields;
|
|
44
|
+
payload.oldValue = (_j = (_h = rawEvent.data) === null || _h === void 0 ? void 0 : _h.oldValue) === null || _j === void 0 ? void 0 : _j.fields;
|
|
45
|
+
payload.updateMask = (_l = (_k = rawEvent.data) === null || _k === void 0 ? void 0 : _k.updateMask) === null || _l === void 0 ? void 0 : _l.fieldPaths;
|
|
46
|
+
const eventId = (_m = rawEvent.id) !== null && _m !== void 0 ? _m : this.eventIdManager.generateEventId();
|
|
47
|
+
const event = new Event(this.findEnum(rawEvent.type), payload, eventId);
|
|
48
|
+
return {
|
|
49
|
+
executionOrder: "parallel",
|
|
50
|
+
events: [event],
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
supportsReverseMapping(eventResponse, response, executionContext) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
reverseMap(eventResponse, response, executionContext) {
|
|
57
|
+
}
|
|
58
|
+
findEnum(eventType) {
|
|
59
|
+
const values = Object.values(FirestoreEventType);
|
|
60
|
+
for (const value of values) {
|
|
61
|
+
if (value === eventType) {
|
|
62
|
+
return value;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return FirestoreEventType.UnknownFirestoreEvent;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
FirestoreEventMapper = __decorate([
|
|
69
|
+
moduleScoped(GcpModuleKeyname),
|
|
70
|
+
tag(ServiceDefinitionTagEnum.EventMapper),
|
|
71
|
+
injectable(),
|
|
72
|
+
__metadata("design:paramtypes", [EventIdManager])
|
|
73
|
+
], FirestoreEventMapper);
|
|
74
|
+
export { FirestoreEventMapper };
|
|
75
|
+
//# sourceMappingURL=firestore-event.mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firestore-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/firestore-event.mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../../src/mappers/mappers.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Event, EventIdManager, } from "@pristine-ts/core";
|
|
11
|
+
import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
|
|
12
|
+
import { injectable } from "tsyringe";
|
|
13
|
+
import { GcpModuleKeyname } from "../gcp.module.keyname";
|
|
14
|
+
import { PubSubEventPayload } from "../event-payloads/pub-sub.event-payload";
|
|
15
|
+
import { PubSubEventType } from "../enums/pub-sub-event-type.enum";
|
|
16
|
+
/**
|
|
17
|
+
* Maps a GCP Pub/Sub push-subscription delivery into a Pristine `Event<PubSubEventPayload>`.
|
|
18
|
+
*
|
|
19
|
+
* Pub/Sub push subscriptions deliver a single JSON envelope:
|
|
20
|
+
*
|
|
21
|
+
* ```json
|
|
22
|
+
* { "message": { "data": "<base64>", "messageId": "...", "attributes": {...},
|
|
23
|
+
* "publishTime": "...", "orderingKey": "..." },
|
|
24
|
+
* "subscription": "projects/p/subscriptions/s" }
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* Mirrors `SqsEventMapper`'s shape and DI registration.
|
|
28
|
+
*/
|
|
29
|
+
let PubSubEventMapper = class PubSubEventMapper {
|
|
30
|
+
constructor(eventIdManager) {
|
|
31
|
+
this.eventIdManager = eventIdManager;
|
|
32
|
+
}
|
|
33
|
+
supportsMapping(rawEvent, executionContext) {
|
|
34
|
+
return rawEvent !== undefined
|
|
35
|
+
&& rawEvent !== null
|
|
36
|
+
&& typeof rawEvent === "object"
|
|
37
|
+
&& rawEvent.hasOwnProperty("message")
|
|
38
|
+
&& typeof rawEvent.message === "object"
|
|
39
|
+
&& rawEvent.message.hasOwnProperty("data")
|
|
40
|
+
&& rawEvent.hasOwnProperty("subscription");
|
|
41
|
+
}
|
|
42
|
+
map(rawEvent, executionContext) {
|
|
43
|
+
var _a, _b;
|
|
44
|
+
const payload = new PubSubEventPayload();
|
|
45
|
+
payload.messageId = (_a = rawEvent.message.messageId) !== null && _a !== void 0 ? _a : this.eventIdManager.generateEventId();
|
|
46
|
+
payload.rawData = rawEvent.message.data;
|
|
47
|
+
payload.body = Buffer.from(rawEvent.message.data, "base64").toString("utf-8");
|
|
48
|
+
payload.attributes = (_b = rawEvent.message.attributes) !== null && _b !== void 0 ? _b : {};
|
|
49
|
+
payload.subscription = rawEvent.subscription;
|
|
50
|
+
if (rawEvent.message.publishTime) {
|
|
51
|
+
payload.publishTime = new Date(rawEvent.message.publishTime);
|
|
52
|
+
}
|
|
53
|
+
if (rawEvent.message.orderingKey) {
|
|
54
|
+
payload.orderingKey = rawEvent.message.orderingKey;
|
|
55
|
+
}
|
|
56
|
+
const event = new Event(PubSubEventType.Message, payload, payload.messageId);
|
|
57
|
+
return {
|
|
58
|
+
executionOrder: payload.orderingKey ? "sequential" : "parallel",
|
|
59
|
+
events: [event],
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
supportsReverseMapping(eventResponse, response, executionContext) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
reverseMap(eventResponse, response, executionContext) {
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
PubSubEventMapper = __decorate([
|
|
69
|
+
moduleScoped(GcpModuleKeyname),
|
|
70
|
+
tag(ServiceDefinitionTagEnum.EventMapper),
|
|
71
|
+
injectable(),
|
|
72
|
+
__metadata("design:paramtypes", [EventIdManager])
|
|
73
|
+
], PubSubEventMapper);
|
|
74
|
+
export { PubSubEventMapper };
|
|
75
|
+
//# sourceMappingURL=pub-sub-event.mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pub-sub-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/pub-sub-event.mapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,KAAK,EACL,cAAc,GAKf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAC;AAEjE;;;;;;;;;;;;GAYG;AAII,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAC3D,CAAC;IAED,eAAe,CAAC,QAAa,EAAE,gBAAgD;QAC7E,OAAO,QAAQ,KAAK,SAAS;eACxB,QAAQ,KAAK,IAAI;eACjB,OAAO,QAAQ,KAAK,QAAQ;eAC5B,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC;eAClC,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;eACpC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;eACvC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED,GAAG,CAAC,QAAa,EAAE,gBAAgD;;QACjE,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACzC,OAAO,CAAC,SAAS,GAAG,MAAA,QAAQ,CAAC,OAAO,CAAC,SAAS,mCAAI,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;QACxF,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACxC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9E,OAAO,CAAC,UAAU,GAAG,MAAA,QAAQ,CAAC,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;QACvD,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC7C,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;QACrD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAqB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAEjG,OAAO;YACL,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU;YAC/D,MAAM,EAAE,CAAC,KAAK,CAAC;SAChB,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,aAAsD,EAAE,QAAa,EAAE,gBAAgD;QAC5I,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU,CAAC,aAAsD,EAAE,QAAa,EAAE,gBAAgD;IAClI,CAAC;CACF,CAAA;AA1CY,iBAAiB;IAH7B,YAAY,CAAC,gBAAgB,CAAC;IAC9B,GAAG,CAAC,wBAAwB,CAAC,WAAW,CAAC;IACzC,UAAU,EAAE;qCAEkC,cAAc;GADhD,iBAAiB,CA0C7B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model representing the object that the `@dynamicCollectionName` decorator saves in the
|
|
3
|
+
* registry, mirroring `DynamicTableNameModel` in `@pristine-ts/aws`.
|
|
4
|
+
*/
|
|
5
|
+
export class DynamicCollectionNameModel {
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=dynamic-collection-name.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-collection-name.model.js","sourceRoot":"","sources":["../../../../src/models/dynamic-collection-name.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,0BAA0B;CAGtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventarc-message.model.js","sourceRoot":"","sources":["../../../../src/models/eventarc-message.model.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,oBAAoB;CAyBhC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../src/models/models.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2CAA2C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pub-sub-message-sent-confirmation.model.js","sourceRoot":"","sources":["../../../../src/models/pub-sub-message-sent-confirmation.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,kCAAkC;CAE9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pub-sub-message.model.js","sourceRoot":"","sources":["../../../../src/models/pub-sub-message.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,kBAAkB;CAgB9B"}
|