@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,94 @@
|
|
|
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
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
import { inject, injectable } from "tsyringe";
|
|
23
|
+
import { injectConfig, moduleScoped, tag, traced } from "@pristine-ts/common";
|
|
24
|
+
import { PubSub } from "@google-cloud/pubsub";
|
|
25
|
+
import { GcpModuleKeyname } from "../gcp.module.keyname";
|
|
26
|
+
import { GcpConfigurationKeys } from "../gcp.configuration-keys";
|
|
27
|
+
import { PubSubMessageModel } from "../models/pub-sub-message.model";
|
|
28
|
+
import { PubSubPublishError } from "../errors/pub-sub-publish.error";
|
|
29
|
+
/**
|
|
30
|
+
* Client for Google Cloud Pub/Sub. Mirrors `SqsClient` (publish-side) and the topic
|
|
31
|
+
* half of EventBridge in `@pristine-ts/aws`.
|
|
32
|
+
*/
|
|
33
|
+
let PubSubClient = class PubSubClient {
|
|
34
|
+
constructor(logHandler, projectId) {
|
|
35
|
+
this.logHandler = logHandler;
|
|
36
|
+
this.projectId = projectId;
|
|
37
|
+
}
|
|
38
|
+
getClient() {
|
|
39
|
+
var _a;
|
|
40
|
+
return this.client = (_a = this.client) !== null && _a !== void 0 ? _a : new PubSub({ projectId: this.projectId });
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Publishes a single message to a topic. `topic` accepts either a bare topic name
|
|
44
|
+
* (e.g. `"my-topic"`) or a fully-qualified resource name
|
|
45
|
+
* (`"projects/my-proj/topics/my-topic"`).
|
|
46
|
+
*/
|
|
47
|
+
publish(topic, message, options) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
this.logHandler.debug("PubSubClient: Publishing message.", {
|
|
50
|
+
extra: { topic, attributes: message.attributes, orderingKey: message.orderingKey },
|
|
51
|
+
eventId: options === null || options === void 0 ? void 0 : options.eventId,
|
|
52
|
+
eventGroupId: options === null || options === void 0 ? void 0 : options.eventGroupId,
|
|
53
|
+
});
|
|
54
|
+
try {
|
|
55
|
+
const data = typeof message.data === "string" ? Buffer.from(message.data) : message.data;
|
|
56
|
+
const messageId = yield this.getClient().topic(topic).publishMessage({
|
|
57
|
+
data,
|
|
58
|
+
attributes: message.attributes,
|
|
59
|
+
orderingKey: message.orderingKey,
|
|
60
|
+
});
|
|
61
|
+
this.logHandler.debug("PubSubClient: Message published.", {
|
|
62
|
+
extra: { topic, messageId },
|
|
63
|
+
eventId: options === null || options === void 0 ? void 0 : options.eventId,
|
|
64
|
+
eventGroupId: options === null || options === void 0 ? void 0 : options.eventGroupId,
|
|
65
|
+
});
|
|
66
|
+
return { messageId };
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
this.logHandler.error("PubSubClient: Failed to publish message.", {
|
|
70
|
+
extra: { error, topic, attributes: message.attributes },
|
|
71
|
+
eventId: options === null || options === void 0 ? void 0 : options.eventId,
|
|
72
|
+
eventGroupId: options === null || options === void 0 ? void 0 : options.eventGroupId,
|
|
73
|
+
});
|
|
74
|
+
throw new PubSubPublishError(error, topic, message.attributes);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
__decorate([
|
|
80
|
+
traced(),
|
|
81
|
+
__metadata("design:type", Function),
|
|
82
|
+
__metadata("design:paramtypes", [String, PubSubMessageModel, Object]),
|
|
83
|
+
__metadata("design:returntype", Promise)
|
|
84
|
+
], PubSubClient.prototype, "publish", null);
|
|
85
|
+
PubSubClient = __decorate([
|
|
86
|
+
tag("PubSubClientInterface"),
|
|
87
|
+
moduleScoped(GcpModuleKeyname),
|
|
88
|
+
injectable(),
|
|
89
|
+
__param(0, inject("LogHandlerInterface")),
|
|
90
|
+
__param(1, injectConfig(GcpConfigurationKeys.ProjectId)),
|
|
91
|
+
__metadata("design:paramtypes", [Object, String])
|
|
92
|
+
], PubSubClient);
|
|
93
|
+
export { PubSubClient };
|
|
94
|
+
//# sourceMappingURL=pub-sub.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pub-sub.client.js","sourceRoot":"","sources":["../../../../src/clients/pub-sub.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
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
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
import { inject, injectable } from "tsyringe";
|
|
23
|
+
import { injectConfig, moduleScoped, tag, traced } from "@pristine-ts/common";
|
|
24
|
+
import { SecretManagerServiceClient } from "@google-cloud/secret-manager";
|
|
25
|
+
import { GcpModuleKeyname } from "../gcp.module.keyname";
|
|
26
|
+
import { GcpConfigurationKeys } from "../gcp.configuration-keys";
|
|
27
|
+
import { GetSecretError } from "../errors/get-secret.error";
|
|
28
|
+
/**
|
|
29
|
+
* Client for Google Cloud Secret Manager. Mirrors `SecretsManagerClient`.
|
|
30
|
+
*
|
|
31
|
+
* `secretName` accepts either a bare secret id (e.g. `"my-secret"`, in which case the
|
|
32
|
+
* latest version of the secret in the configured project is fetched) or a fully
|
|
33
|
+
* qualified version resource name
|
|
34
|
+
* (`"projects/p/secrets/my-secret/versions/latest"`).
|
|
35
|
+
*/
|
|
36
|
+
let SecretManagerClient = class SecretManagerClient {
|
|
37
|
+
constructor(logHandler, projectId) {
|
|
38
|
+
this.logHandler = logHandler;
|
|
39
|
+
this.projectId = projectId;
|
|
40
|
+
}
|
|
41
|
+
getClient() {
|
|
42
|
+
var _a;
|
|
43
|
+
return this.client = (_a = this.client) !== null && _a !== void 0 ? _a : new SecretManagerServiceClient();
|
|
44
|
+
}
|
|
45
|
+
toVersionResourceName(secretName) {
|
|
46
|
+
if (secretName.startsWith("projects/")) {
|
|
47
|
+
return secretName;
|
|
48
|
+
}
|
|
49
|
+
return `projects/${this.projectId}/secrets/${secretName}/versions/latest`;
|
|
50
|
+
}
|
|
51
|
+
getSecret(secretName, options) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
var _a;
|
|
54
|
+
const name = this.toVersionResourceName(secretName);
|
|
55
|
+
try {
|
|
56
|
+
const [version] = yield this.getClient().accessSecretVersion({ name });
|
|
57
|
+
const payload = (_a = version.payload) === null || _a === void 0 ? void 0 : _a.data;
|
|
58
|
+
if (!payload) {
|
|
59
|
+
const message = `SecretManagerClient: No value for this parameter: '${secretName}'.`;
|
|
60
|
+
this.logHandler.error(message, { extra: { secretName } });
|
|
61
|
+
throw new GetSecretError(message);
|
|
62
|
+
}
|
|
63
|
+
const secretString = Buffer.isBuffer(payload) ? payload.toString("utf-8") : Buffer.from(payload).toString("utf-8");
|
|
64
|
+
try {
|
|
65
|
+
return JSON.parse(secretString);
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
const message = `SecretManagerClient: Couldn't parse the secret as a JSON object: '${secretName}'.`;
|
|
69
|
+
this.logHandler.error(message, { extra: { secretName } });
|
|
70
|
+
throw new GetSecretError(message);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
if (e instanceof GetSecretError) {
|
|
75
|
+
throw e;
|
|
76
|
+
}
|
|
77
|
+
this.logHandler.error("SecretManagerClient: Error accessing secret.", { extra: { error: e, secretName } });
|
|
78
|
+
throw new GetSecretError(`SecretManagerClient: Error accessing secret '${secretName}': ${e.message}`);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
getSecretKey(secretName, key, options) {
|
|
83
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
const secret = yield this.getSecret(secretName, options);
|
|
85
|
+
if (secret.hasOwnProperty(key) === false) {
|
|
86
|
+
const message = `SecretManagerClient: Cannot find jsonKey '${key}' in the secret: '${secretName}'.`;
|
|
87
|
+
this.logHandler.error(message, { extra: { secretName, key } });
|
|
88
|
+
throw new GetSecretError(message);
|
|
89
|
+
}
|
|
90
|
+
return secret[key];
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
__decorate([
|
|
95
|
+
traced(),
|
|
96
|
+
__metadata("design:type", Function),
|
|
97
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
98
|
+
__metadata("design:returntype", Promise)
|
|
99
|
+
], SecretManagerClient.prototype, "getSecret", null);
|
|
100
|
+
__decorate([
|
|
101
|
+
traced(),
|
|
102
|
+
__metadata("design:type", Function),
|
|
103
|
+
__metadata("design:paramtypes", [String, String, Object]),
|
|
104
|
+
__metadata("design:returntype", Promise)
|
|
105
|
+
], SecretManagerClient.prototype, "getSecretKey", null);
|
|
106
|
+
SecretManagerClient = __decorate([
|
|
107
|
+
tag("SecretManagerClientInterface"),
|
|
108
|
+
moduleScoped(GcpModuleKeyname),
|
|
109
|
+
injectable(),
|
|
110
|
+
__param(0, inject("LogHandlerInterface")),
|
|
111
|
+
__param(1, injectConfig(GcpConfigurationKeys.ProjectId)),
|
|
112
|
+
__metadata("design:paramtypes", [Object, String])
|
|
113
|
+
], SecretManagerClient);
|
|
114
|
+
export { SecretManagerClient };
|
|
115
|
+
//# sourceMappingURL=secret-manager.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-manager.client.js","sourceRoot":"","sources":["../../../../src/clients/secret-manager.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAE1D;;;;;;;GAOG;AAII,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAG9B,YACkD,UAA+B,EAChB,SAAiB;QADhC,eAAU,GAAV,UAAU,CAAqB;QAChB,cAAS,GAAT,SAAS,CAAQ;IAElF,CAAC;IAED,SAAS;;QACP,OAAO,IAAI,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAI,0BAA0B,EAAE,CAAC;IACvE,CAAC;IAEO,qBAAqB,CAAC,UAAkB;QAC9C,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,YAAY,IAAI,CAAC,SAAS,YAAY,UAAU,kBAAkB,CAAC;IAC5E,CAAC;IAGK,SAAS,CAAC,UAAkB,EAAE,OAA4C;;;YAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,mBAAmB,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;gBACrE,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,0CAAE,IAAI,CAAC;gBACtC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,sDAAsD,UAAU,IAAI,CAAC;oBACrF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,EAAC,UAAU,EAAC,EAAC,CAAC,CAAC;oBACtD,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACnH,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,OAAO,GAAG,qEAAqE,UAAU,IAAI,CAAC;oBACpG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,EAAC,UAAU,EAAC,EAAC,CAAC,CAAC;oBACtD,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,cAAc,EAAE,CAAC;oBAChC,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAC,KAAK,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAC,EAAC,CAAC,CAAC;gBACvG,MAAM,IAAI,cAAc,CAAC,gDAAgD,UAAU,MAAO,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACnH,CAAC;QACH,CAAC;KAAA;IAGK,YAAY,CAAC,UAAkB,EAAE,GAAW,EAAE,OAA4C;;YAC9F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,6CAA6C,GAAG,qBAAqB,UAAU,IAAI,CAAC;gBACpG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,EAAC,UAAU,EAAE,GAAG,EAAC,EAAC,CAAC,CAAC;gBAC3D,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;KAAA;CACF,CAAA;AArCO;IADL,MAAM,EAAE;;;;oDA0BR;AAGK;IADL,MAAM,EAAE;;;;uDASR;AAzDU,mBAAmB;IAH/B,GAAG,CAAC,8BAA8B,CAAC;IACnC,YAAY,CAAC,gBAAgB,CAAC;IAC9B,UAAU,EAAE;IAKR,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAC7B,WAAA,YAAY,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;;GALpC,mBAAmB,CA0D/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/decorators/decorators.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Symbol used to stamp the resolved Firestore collection name onto a class prototype.
|
|
3
|
+
* Mirrors `DynamoDbTable` from `@awslabs-community-fork/dynamodb-data-mapper`.
|
|
4
|
+
*/
|
|
5
|
+
export const FirestoreCollection = Symbol("FirestoreCollection");
|
|
6
|
+
/**
|
|
7
|
+
* The registry where the Firestore collection names are saved.
|
|
8
|
+
*/
|
|
9
|
+
export const dynamicCollectionNameRegistry = [];
|
|
10
|
+
/**
|
|
11
|
+
* This decorator is placed on a class that will be used with Firestore.
|
|
12
|
+
* It registers the class against a configuration token name; during `GcpModule.afterInit`,
|
|
13
|
+
* the token is resolved from the DI container (or from an environment variable as a
|
|
14
|
+
* fallback) and the resulting collection name is stamped onto the class prototype under
|
|
15
|
+
* the `FirestoreCollection` symbol.
|
|
16
|
+
*
|
|
17
|
+
* Mirrors `@dynamicTableName` in `@pristine-ts/aws`.
|
|
18
|
+
*
|
|
19
|
+
* @param name The container token whose value is the Firestore collection name.
|
|
20
|
+
*/
|
|
21
|
+
export const dynamicCollectionName = (name) => {
|
|
22
|
+
return (constructor) => {
|
|
23
|
+
dynamicCollectionNameRegistry.push({
|
|
24
|
+
tokenName: name,
|
|
25
|
+
classConstructor: constructor,
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=dynamic-collection-name.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-collection-name.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/dynamic-collection-name.decorator.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAkB,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAiC,EAAE,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAE,EAAE;IACpD,OAAO,CAAC,WAAgB,EAAE,EAAE;QAC1B,6BAA6B,CAAC,IAAI,CAAC;YACjC,SAAS,EAAE,IAAI;YACf,gBAAgB,EAAE,WAAW;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event types coming from GCP Cloud Storage object change events delivered via CloudEvents.
|
|
3
|
+
* CloudEvent `type` values map 1:1 with these enum values.
|
|
4
|
+
*/
|
|
5
|
+
export var CloudStorageEventType;
|
|
6
|
+
(function (CloudStorageEventType) {
|
|
7
|
+
CloudStorageEventType["UnknownCloudStorageEvent"] = "UnknownCloudStorageEvent";
|
|
8
|
+
CloudStorageEventType["ObjectFinalized"] = "google.cloud.storage.object.v1.finalized";
|
|
9
|
+
CloudStorageEventType["ObjectDeleted"] = "google.cloud.storage.object.v1.deleted";
|
|
10
|
+
CloudStorageEventType["ObjectArchived"] = "google.cloud.storage.object.v1.archived";
|
|
11
|
+
CloudStorageEventType["ObjectMetadataUpdated"] = "google.cloud.storage.object.v1.metadataUpdated";
|
|
12
|
+
})(CloudStorageEventType || (CloudStorageEventType = {}));
|
|
13
|
+
//# sourceMappingURL=cloud-storage-event-type.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-storage-event-type.enum.js","sourceRoot":"","sources":["../../../../src/enums/cloud-storage-event-type.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,8EAAqD,CAAA;IACrD,qFAA4D,CAAA;IAC5D,iFAAwD,CAAA;IACxD,mFAA0D,CAAA;IAC1D,iGAAwE,CAAA;AAC1E,CAAC,EANW,qBAAqB,KAArB,qBAAqB,QAMhC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The operation a signed URL grants on a Cloud Storage object. Mirrors
|
|
3
|
+
* `S3PresignedOperationTypeEnum` in `@pristine-ts/aws`.
|
|
4
|
+
*/
|
|
5
|
+
export var CloudStoragePresignedOperationTypeEnum;
|
|
6
|
+
(function (CloudStoragePresignedOperationTypeEnum) {
|
|
7
|
+
CloudStoragePresignedOperationTypeEnum["Read"] = "read";
|
|
8
|
+
CloudStoragePresignedOperationTypeEnum["Write"] = "write";
|
|
9
|
+
})(CloudStoragePresignedOperationTypeEnum || (CloudStoragePresignedOperationTypeEnum = {}));
|
|
10
|
+
//# sourceMappingURL=cloud-storage-presigned-operation-type.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-storage-presigned-operation-type.enum.js","sourceRoot":"","sources":["../../../../src/enums/cloud-storage-presigned-operation-type.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,sCAGX;AAHD,WAAY,sCAAsC;IAChD,uDAAa,CAAA;IACb,yDAAe,CAAA;AACjB,CAAC,EAHW,sCAAsC,KAAtC,sCAAsC,QAGjD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./cloud-storage-event-type.enum";
|
|
2
|
+
export * from "./cloud-storage-presigned-operation-type.enum";
|
|
3
|
+
export * from "./eventarc-event-type.enum";
|
|
4
|
+
export * from "./firestore-event-type.enum";
|
|
5
|
+
export * from "./pub-sub-event-type.enum";
|
|
6
|
+
//# sourceMappingURL=enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event types from Eventarc / generic CloudEvents that aren't claimed by a more
|
|
3
|
+
* specific mapper. The mapper falls through to `EventarcEvent`.
|
|
4
|
+
*/
|
|
5
|
+
export var EventarcEventType;
|
|
6
|
+
(function (EventarcEventType) {
|
|
7
|
+
EventarcEventType["EventarcEvent"] = "EVENTARC_EVENT";
|
|
8
|
+
})(EventarcEventType || (EventarcEventType = {}));
|
|
9
|
+
//# sourceMappingURL=eventarc-event-type.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventarc-event-type.enum.js","sourceRoot":"","sources":["../../../../src/enums/eventarc-event-type.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,iBAEX;AAFD,WAAY,iBAAiB;IAC3B,qDAAgC,CAAA;AAClC,CAAC,EAFW,iBAAiB,KAAjB,iBAAiB,QAE5B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event types coming from GCP Firestore document change events delivered via CloudEvents.
|
|
3
|
+
* CloudEvent `type` values map 1:1 with these enum values.
|
|
4
|
+
*/
|
|
5
|
+
export var FirestoreEventType;
|
|
6
|
+
(function (FirestoreEventType) {
|
|
7
|
+
FirestoreEventType["UnknownFirestoreEvent"] = "UnknownFirestoreEvent";
|
|
8
|
+
FirestoreEventType["DocumentCreated"] = "google.cloud.firestore.document.v1.created";
|
|
9
|
+
FirestoreEventType["DocumentUpdated"] = "google.cloud.firestore.document.v1.updated";
|
|
10
|
+
FirestoreEventType["DocumentDeleted"] = "google.cloud.firestore.document.v1.deleted";
|
|
11
|
+
FirestoreEventType["DocumentWritten"] = "google.cloud.firestore.document.v1.written";
|
|
12
|
+
})(FirestoreEventType || (FirestoreEventType = {}));
|
|
13
|
+
//# sourceMappingURL=firestore-event-type.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firestore-event-type.enum.js","sourceRoot":"","sources":["../../../../src/enums/firestore-event-type.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,qEAA+C,CAAA;IAC/C,oFAA8D,CAAA;IAC9D,oFAA8D,CAAA;IAC9D,oFAA8D,CAAA;IAC9D,oFAA8D,CAAA;AAChE,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,QAM7B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event types coming from GCP Pub/Sub. Pub/Sub itself only has one delivery shape
|
|
3
|
+
* (a message), so unlike S3 we don't enumerate sub-operations here.
|
|
4
|
+
*/
|
|
5
|
+
export var PubSubEventType;
|
|
6
|
+
(function (PubSubEventType) {
|
|
7
|
+
PubSubEventType["Message"] = "PUB_SUB_MESSAGE";
|
|
8
|
+
PubSubEventType["UnknownPubSubEvent"] = "UnknownPubSubEvent";
|
|
9
|
+
})(PubSubEventType || (PubSubEventType = {}));
|
|
10
|
+
//# sourceMappingURL=pub-sub-event-type.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pub-sub-event-type.enum.js","sourceRoot":"","sources":["../../../../src/enums/pub-sub-event-type.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,8CAA2B,CAAA;IAC3B,4DAAyC,CAAA;AAC3C,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/errors/errors.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thrown by `EventarcClient` when publishing fails. Mirrors `EventBridgeSendMessageError`
|
|
3
|
+
* in `@pristine-ts/aws`.
|
|
4
|
+
*/
|
|
5
|
+
export class EventarcPublishError extends Error {
|
|
6
|
+
constructor(cause) {
|
|
7
|
+
super("EventarcClient: failed to publish event.");
|
|
8
|
+
this.cause = cause;
|
|
9
|
+
Object.setPrototypeOf(this, EventarcPublishError.prototype);
|
|
10
|
+
this.name = "EventarcPublishError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=eventarc-publish.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventarc-publish.error.js","sourceRoot":"","sources":["../../../../src/errors/eventarc-publish.error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAA4B,KAAc;QACxC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QADxB,UAAK,GAAL,KAAK,CAAS;QAExC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thrown by `SecretManagerClient` when a secret retrieval fails (not found, missing
|
|
3
|
+
* payload, JSON parse error, missing key). Mirrors `GetSecretSecretsManagerError`
|
|
4
|
+
* in `@pristine-ts/aws`.
|
|
5
|
+
*/
|
|
6
|
+
export class GetSecretError extends Error {
|
|
7
|
+
constructor(message) {
|
|
8
|
+
super(message);
|
|
9
|
+
Object.setPrototypeOf(this, GetSecretError.prototype);
|
|
10
|
+
this.name = "GetSecretError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=get-secret.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-secret.error.js","sourceRoot":"","sources":["../../../../src/errors/get-secret.error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thrown by `PubSubClient` when publishing a message fails. Mirrors
|
|
3
|
+
* `SqsSendMessageError` in `@pristine-ts/aws`.
|
|
4
|
+
*/
|
|
5
|
+
export class PubSubPublishError extends Error {
|
|
6
|
+
constructor(cause, topic, attributes) {
|
|
7
|
+
super(`PubSubClient: failed to publish to topic '${topic}'.`);
|
|
8
|
+
this.cause = cause;
|
|
9
|
+
this.topic = topic;
|
|
10
|
+
this.attributes = attributes;
|
|
11
|
+
Object.setPrototypeOf(this, PubSubPublishError.prototype);
|
|
12
|
+
this.name = "PubSubPublishError";
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=pub-sub-publish.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pub-sub-publish.error.js","sourceRoot":"","sources":["../../../../src/errors/pub-sub-publish.error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YACkB,KAAc,EACd,KAAa,EACb,UAAsC;QAEtD,KAAK,CAAC,6CAA6C,KAAK,IAAI,CAAC,CAAC;QAJ9C,UAAK,GAAL,KAAK,CAAS;QACd,UAAK,GAAL,KAAK,CAAQ;QACb,eAAU,GAAV,UAAU,CAA4B;QAGtD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-storage.event-payload.js","sourceRoot":"","sources":["../../../../src/event-payloads/cloud-storage.event-payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,wBAAwB;CA6DpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-payloads.js","sourceRoot":"","sources":["../../../../src/event-payloads/event-payloads.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventarc.event-payload.js","sourceRoot":"","sources":["../../../../src/event-payloads/eventarc.event-payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,oBAAoB;CAyChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firestore.event-payload.js","sourceRoot":"","sources":["../../../../src/event-payloads/firestore.event-payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,qBAAqB;CAyCjC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Pristine event payload for a parsed GCP Pub/Sub push-subscription delivery.
|
|
3
|
+
* Mirrors `SqsEventPayload` in shape: one payload per delivered message.
|
|
4
|
+
*/
|
|
5
|
+
export class PubSubEventPayload {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* User-defined string attributes attached to the message.
|
|
9
|
+
*/
|
|
10
|
+
this.attributes = {};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=pub-sub.event-payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pub-sub.event-payload.js","sourceRoot":"","sources":["../../../../src/event-payloads/pub-sub.event-payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAA/B;QAiBE;;WAEG;QACH,eAAU,GAA8B,EAAE,CAAC;IAgB7C,CAAC;CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed configuration keys for `@pristine-ts/gcp`. Use these constants with `@injectConfig`
|
|
3
|
+
* for autocomplete + rename safety, instead of typing the parameter name as a string.
|
|
4
|
+
*
|
|
5
|
+
* ```ts
|
|
6
|
+
* import {injectConfig} from "@pristine-ts/common";
|
|
7
|
+
* import {GcpConfigurationKeys} from "@pristine-ts/gcp";
|
|
8
|
+
*
|
|
9
|
+
* constructor(@injectConfig(GcpConfigurationKeys.ProjectId) value: string) {}
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export const GcpConfigurationKeys = {
|
|
13
|
+
ProjectId: "pristine.gcp.projectId",
|
|
14
|
+
Region: "pristine.gcp.region",
|
|
15
|
+
Credentials: "pristine.gcp.credentials",
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=gcp.configuration-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gcp.configuration-keys.js","sourceRoot":"","sources":["../../../src/gcp.configuration-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,wBAAwB;IACnC,MAAM,EAAE,qBAAqB;IAC7B,WAAW,EAAE,0BAA0B;CAC/B,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { LoggingModule } from "@pristine-ts/logging";
|
|
2
|
+
import { CoreModule } from "@pristine-ts/core";
|
|
3
|
+
import { EnvironmentVariableResolver } from "@pristine-ts/configuration";
|
|
4
|
+
import { GcpModuleKeyname } from "./gcp.module.keyname";
|
|
5
|
+
export * from "./clients/clients";
|
|
6
|
+
export * from "./enums/enums";
|
|
7
|
+
export * from "./errors/errors";
|
|
8
|
+
export * from "./event-payloads/event-payloads";
|
|
9
|
+
export * from "./interfaces/interfaces";
|
|
10
|
+
export * from "./mappers/mappers";
|
|
11
|
+
export * from "./models/models";
|
|
12
|
+
export * from "./gcp.module.keyname";
|
|
13
|
+
export * from "./gcp.configuration-keys";
|
|
14
|
+
export const GcpModule = {
|
|
15
|
+
keyname: GcpModuleKeyname,
|
|
16
|
+
configurationDefinitions: [
|
|
17
|
+
/**
|
|
18
|
+
* The GCP project id. Required for every GCP client; corresponds to the standard
|
|
19
|
+
* `GOOGLE_CLOUD_PROJECT` environment variable.
|
|
20
|
+
*/
|
|
21
|
+
{
|
|
22
|
+
parameterName: GcpModuleKeyname + ".projectId",
|
|
23
|
+
isRequired: true,
|
|
24
|
+
defaultResolvers: [
|
|
25
|
+
new EnvironmentVariableResolver("GOOGLE_CLOUD_PROJECT"),
|
|
26
|
+
new EnvironmentVariableResolver("GCP_PROJECT"),
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
/**
|
|
30
|
+
* The default GCP region.
|
|
31
|
+
*/
|
|
32
|
+
{
|
|
33
|
+
parameterName: GcpModuleKeyname + ".region",
|
|
34
|
+
isRequired: false,
|
|
35
|
+
defaultValue: "us-central1",
|
|
36
|
+
defaultResolvers: [
|
|
37
|
+
new EnvironmentVariableResolver("GOOGLE_CLOUD_REGION"),
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
/**
|
|
41
|
+
* Optional path to a service-account key file. When unset, the GCP SDKs use
|
|
42
|
+
* Application Default Credentials (ADC).
|
|
43
|
+
*/
|
|
44
|
+
{
|
|
45
|
+
parameterName: GcpModuleKeyname + ".credentials",
|
|
46
|
+
isRequired: false,
|
|
47
|
+
defaultValue: "",
|
|
48
|
+
defaultResolvers: [
|
|
49
|
+
new EnvironmentVariableResolver("GOOGLE_APPLICATION_CREDENTIALS"),
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
importModules: [
|
|
54
|
+
LoggingModule,
|
|
55
|
+
CoreModule,
|
|
56
|
+
],
|
|
57
|
+
providerRegistrations: [],
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=gcp.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gcp.module.js","sourceRoot":"","sources":["../../../src/gcp.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAEtD,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,sBAAsB,CAAC;AAErC,cAAc,0BAA0B,CAAC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAoB;IACxC,OAAO,EAAE,gBAAgB;IACzB,wBAAwB,EAAE;QACxB;;;WAGG;QACH;YACE,aAAa,EAAE,gBAAgB,GAAG,YAAY;YAC9C,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE;gBAChB,IAAI,2BAA2B,CAAC,sBAAsB,CAAC;gBACvD,IAAI,2BAA2B,CAAC,aAAa,CAAC;aAC/C;SACF;QACD;;WAEG;QACH;YACE,aAAa,EAAE,gBAAgB,GAAG,SAAS;YAC3C,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,aAAa;YAC3B,gBAAgB,EAAE;gBAChB,IAAI,2BAA2B,CAAC,qBAAqB,CAAC;aACvD;SACF;QACD;;;WAGG;QACH;YACE,aAAa,EAAE,gBAAgB,GAAG,cAAc;YAChD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,EAAE;YAChB,gBAAgB,EAAE;gBAChB,IAAI,2BAA2B,CAAC,gCAAgC,CAAC;aAClE;SACF;KACF;IACD,aAAa,EAAE;QACb,aAAa;QACb,UAAU;KACX;IACD,qBAAqB,EAAE,EAAE;CAC1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gcp.module.keyname.js","sourceRoot":"","sources":["../../../src/gcp.module.keyname.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAW,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-options.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/client-options.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-storage-client.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/cloud-storage-client.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventarc-client.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/eventarc-client.interface.ts"],"names":[],"mappings":""}
|