@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.
Files changed (220) hide show
  1. package/LICENSE +201 -0
  2. package/dist/lib/cjs/clients/clients.js +22 -0
  3. package/dist/lib/cjs/clients/clients.js.map +1 -0
  4. package/dist/lib/cjs/clients/cloud-storage.client.js +189 -0
  5. package/dist/lib/cjs/clients/cloud-storage.client.js.map +1 -0
  6. package/dist/lib/cjs/clients/eventarc.client.js +146 -0
  7. package/dist/lib/cjs/clients/eventarc.client.js.map +1 -0
  8. package/dist/lib/cjs/clients/firestore.client.js +238 -0
  9. package/dist/lib/cjs/clients/firestore.client.js.map +1 -0
  10. package/dist/lib/cjs/clients/pub-sub.client.js +97 -0
  11. package/dist/lib/cjs/clients/pub-sub.client.js.map +1 -0
  12. package/dist/lib/cjs/clients/secret-manager.client.js +118 -0
  13. package/dist/lib/cjs/clients/secret-manager.client.js.map +1 -0
  14. package/dist/lib/cjs/decorators/decorators.js +18 -0
  15. package/dist/lib/cjs/decorators/decorators.js.map +1 -0
  16. package/dist/lib/cjs/decorators/dynamic-collection-name.decorator.js +33 -0
  17. package/dist/lib/cjs/decorators/dynamic-collection-name.decorator.js.map +1 -0
  18. package/dist/lib/cjs/enums/cloud-storage-event-type.enum.js +16 -0
  19. package/dist/lib/cjs/enums/cloud-storage-event-type.enum.js.map +1 -0
  20. package/dist/lib/cjs/enums/cloud-storage-presigned-operation-type.enum.js +13 -0
  21. package/dist/lib/cjs/enums/cloud-storage-presigned-operation-type.enum.js.map +1 -0
  22. package/dist/lib/cjs/enums/enums.js +22 -0
  23. package/dist/lib/cjs/enums/enums.js.map +1 -0
  24. package/dist/lib/cjs/enums/eventarc-event-type.enum.js +12 -0
  25. package/dist/lib/cjs/enums/eventarc-event-type.enum.js.map +1 -0
  26. package/dist/lib/cjs/enums/firestore-event-type.enum.js +16 -0
  27. package/dist/lib/cjs/enums/firestore-event-type.enum.js.map +1 -0
  28. package/dist/lib/cjs/enums/pub-sub-event-type.enum.js +13 -0
  29. package/dist/lib/cjs/enums/pub-sub-event-type.enum.js.map +1 -0
  30. package/dist/lib/cjs/errors/errors.js +20 -0
  31. package/dist/lib/cjs/errors/errors.js.map +1 -0
  32. package/dist/lib/cjs/errors/eventarc-publish.error.js +17 -0
  33. package/dist/lib/cjs/errors/eventarc-publish.error.js.map +1 -0
  34. package/dist/lib/cjs/errors/get-secret.error.js +17 -0
  35. package/dist/lib/cjs/errors/get-secret.error.js.map +1 -0
  36. package/dist/lib/cjs/errors/pub-sub-publish.error.js +19 -0
  37. package/dist/lib/cjs/errors/pub-sub-publish.error.js.map +1 -0
  38. package/dist/lib/cjs/event-payloads/cloud-storage.event-payload.js +11 -0
  39. package/dist/lib/cjs/event-payloads/cloud-storage.event-payload.js.map +1 -0
  40. package/dist/lib/cjs/event-payloads/event-payloads.js +21 -0
  41. package/dist/lib/cjs/event-payloads/event-payloads.js.map +1 -0
  42. package/dist/lib/cjs/event-payloads/eventarc.event-payload.js +11 -0
  43. package/dist/lib/cjs/event-payloads/eventarc.event-payload.js.map +1 -0
  44. package/dist/lib/cjs/event-payloads/firestore.event-payload.js +11 -0
  45. package/dist/lib/cjs/event-payloads/firestore.event-payload.js.map +1 -0
  46. package/dist/lib/cjs/event-payloads/pub-sub.event-payload.js +17 -0
  47. package/dist/lib/cjs/event-payloads/pub-sub.event-payload.js.map +1 -0
  48. package/dist/lib/cjs/gcp.configuration-keys.js +20 -0
  49. package/dist/lib/cjs/gcp.configuration-keys.js.map +1 -0
  50. package/dist/lib/cjs/gcp.module.js +76 -0
  51. package/dist/lib/cjs/gcp.module.js.map +1 -0
  52. package/dist/lib/cjs/gcp.module.keyname.js +5 -0
  53. package/dist/lib/cjs/gcp.module.keyname.js.map +1 -0
  54. package/dist/lib/cjs/interfaces/client-options.interface.js +3 -0
  55. package/dist/lib/cjs/interfaces/client-options.interface.js.map +1 -0
  56. package/dist/lib/cjs/interfaces/cloud-storage-client.interface.js +3 -0
  57. package/dist/lib/cjs/interfaces/cloud-storage-client.interface.js.map +1 -0
  58. package/dist/lib/cjs/interfaces/eventarc-client.interface.js +3 -0
  59. package/dist/lib/cjs/interfaces/eventarc-client.interface.js.map +1 -0
  60. package/dist/lib/cjs/interfaces/firestore-client.interface.js +3 -0
  61. package/dist/lib/cjs/interfaces/firestore-client.interface.js.map +1 -0
  62. package/dist/lib/cjs/interfaces/interfaces.js +23 -0
  63. package/dist/lib/cjs/interfaces/interfaces.js.map +1 -0
  64. package/dist/lib/cjs/interfaces/pub-sub-client.interface.js +3 -0
  65. package/dist/lib/cjs/interfaces/pub-sub-client.interface.js.map +1 -0
  66. package/dist/lib/cjs/interfaces/secret-manager-client.interface.js +3 -0
  67. package/dist/lib/cjs/interfaces/secret-manager-client.interface.js.map +1 -0
  68. package/dist/lib/cjs/mappers/cloud-storage-event.mapper.js +87 -0
  69. package/dist/lib/cjs/mappers/cloud-storage-event.mapper.js.map +1 -0
  70. package/dist/lib/cjs/mappers/eventarc-event.mapper.js +84 -0
  71. package/dist/lib/cjs/mappers/eventarc-event.mapper.js.map +1 -0
  72. package/dist/lib/cjs/mappers/firestore-event.mapper.js +78 -0
  73. package/dist/lib/cjs/mappers/firestore-event.mapper.js.map +1 -0
  74. package/dist/lib/cjs/mappers/mappers.js +21 -0
  75. package/dist/lib/cjs/mappers/mappers.js.map +1 -0
  76. package/dist/lib/cjs/mappers/pub-sub-event.mapper.js +78 -0
  77. package/dist/lib/cjs/mappers/pub-sub-event.mapper.js.map +1 -0
  78. package/dist/lib/cjs/models/dynamic-collection-name.model.js +11 -0
  79. package/dist/lib/cjs/models/dynamic-collection-name.model.js.map +1 -0
  80. package/dist/lib/cjs/models/eventarc-message.model.js +10 -0
  81. package/dist/lib/cjs/models/eventarc-message.model.js.map +1 -0
  82. package/dist/lib/cjs/models/models.js +20 -0
  83. package/dist/lib/cjs/models/models.js.map +1 -0
  84. package/dist/lib/cjs/models/pub-sub-message-sent-confirmation.model.js +11 -0
  85. package/dist/lib/cjs/models/pub-sub-message-sent-confirmation.model.js.map +1 -0
  86. package/dist/lib/cjs/models/pub-sub-message.model.js +11 -0
  87. package/dist/lib/cjs/models/pub-sub-message.model.js.map +1 -0
  88. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  89. package/dist/lib/esm/clients/clients.js +6 -0
  90. package/dist/lib/esm/clients/clients.js.map +1 -0
  91. package/dist/lib/esm/clients/cloud-storage.client.js +186 -0
  92. package/dist/lib/esm/clients/cloud-storage.client.js.map +1 -0
  93. package/dist/lib/esm/clients/eventarc.client.js +110 -0
  94. package/dist/lib/esm/clients/eventarc.client.js.map +1 -0
  95. package/dist/lib/esm/clients/firestore.client.js +235 -0
  96. package/dist/lib/esm/clients/firestore.client.js.map +1 -0
  97. package/dist/lib/esm/clients/pub-sub.client.js +94 -0
  98. package/dist/lib/esm/clients/pub-sub.client.js.map +1 -0
  99. package/dist/lib/esm/clients/secret-manager.client.js +115 -0
  100. package/dist/lib/esm/clients/secret-manager.client.js.map +1 -0
  101. package/dist/lib/esm/decorators/decorators.js +2 -0
  102. package/dist/lib/esm/decorators/decorators.js.map +1 -0
  103. package/dist/lib/esm/decorators/dynamic-collection-name.decorator.js +29 -0
  104. package/dist/lib/esm/decorators/dynamic-collection-name.decorator.js.map +1 -0
  105. package/dist/lib/esm/enums/cloud-storage-event-type.enum.js +13 -0
  106. package/dist/lib/esm/enums/cloud-storage-event-type.enum.js.map +1 -0
  107. package/dist/lib/esm/enums/cloud-storage-presigned-operation-type.enum.js +10 -0
  108. package/dist/lib/esm/enums/cloud-storage-presigned-operation-type.enum.js.map +1 -0
  109. package/dist/lib/esm/enums/enums.js +6 -0
  110. package/dist/lib/esm/enums/enums.js.map +1 -0
  111. package/dist/lib/esm/enums/eventarc-event-type.enum.js +9 -0
  112. package/dist/lib/esm/enums/eventarc-event-type.enum.js.map +1 -0
  113. package/dist/lib/esm/enums/firestore-event-type.enum.js +13 -0
  114. package/dist/lib/esm/enums/firestore-event-type.enum.js.map +1 -0
  115. package/dist/lib/esm/enums/pub-sub-event-type.enum.js +10 -0
  116. package/dist/lib/esm/enums/pub-sub-event-type.enum.js.map +1 -0
  117. package/dist/lib/esm/errors/errors.js +4 -0
  118. package/dist/lib/esm/errors/errors.js.map +1 -0
  119. package/dist/lib/esm/errors/eventarc-publish.error.js +13 -0
  120. package/dist/lib/esm/errors/eventarc-publish.error.js.map +1 -0
  121. package/dist/lib/esm/errors/get-secret.error.js +13 -0
  122. package/dist/lib/esm/errors/get-secret.error.js.map +1 -0
  123. package/dist/lib/esm/errors/pub-sub-publish.error.js +15 -0
  124. package/dist/lib/esm/errors/pub-sub-publish.error.js.map +1 -0
  125. package/dist/lib/esm/event-payloads/cloud-storage.event-payload.js +7 -0
  126. package/dist/lib/esm/event-payloads/cloud-storage.event-payload.js.map +1 -0
  127. package/dist/lib/esm/event-payloads/event-payloads.js +5 -0
  128. package/dist/lib/esm/event-payloads/event-payloads.js.map +1 -0
  129. package/dist/lib/esm/event-payloads/eventarc.event-payload.js +7 -0
  130. package/dist/lib/esm/event-payloads/eventarc.event-payload.js.map +1 -0
  131. package/dist/lib/esm/event-payloads/firestore.event-payload.js +7 -0
  132. package/dist/lib/esm/event-payloads/firestore.event-payload.js.map +1 -0
  133. package/dist/lib/esm/event-payloads/pub-sub.event-payload.js +13 -0
  134. package/dist/lib/esm/event-payloads/pub-sub.event-payload.js.map +1 -0
  135. package/dist/lib/esm/gcp.configuration-keys.js +17 -0
  136. package/dist/lib/esm/gcp.configuration-keys.js.map +1 -0
  137. package/dist/lib/esm/gcp.module.js +59 -0
  138. package/dist/lib/esm/gcp.module.js.map +1 -0
  139. package/dist/lib/esm/gcp.module.keyname.js +2 -0
  140. package/dist/lib/esm/gcp.module.keyname.js.map +1 -0
  141. package/dist/lib/esm/interfaces/client-options.interface.js +2 -0
  142. package/dist/lib/esm/interfaces/client-options.interface.js.map +1 -0
  143. package/dist/lib/esm/interfaces/cloud-storage-client.interface.js +2 -0
  144. package/dist/lib/esm/interfaces/cloud-storage-client.interface.js.map +1 -0
  145. package/dist/lib/esm/interfaces/eventarc-client.interface.js +2 -0
  146. package/dist/lib/esm/interfaces/eventarc-client.interface.js.map +1 -0
  147. package/dist/lib/esm/interfaces/firestore-client.interface.js +2 -0
  148. package/dist/lib/esm/interfaces/firestore-client.interface.js.map +1 -0
  149. package/dist/lib/esm/interfaces/interfaces.js +7 -0
  150. package/dist/lib/esm/interfaces/interfaces.js.map +1 -0
  151. package/dist/lib/esm/interfaces/pub-sub-client.interface.js +2 -0
  152. package/dist/lib/esm/interfaces/pub-sub-client.interface.js.map +1 -0
  153. package/dist/lib/esm/interfaces/secret-manager-client.interface.js +2 -0
  154. package/dist/lib/esm/interfaces/secret-manager-client.interface.js.map +1 -0
  155. package/dist/lib/esm/mappers/cloud-storage-event.mapper.js +84 -0
  156. package/dist/lib/esm/mappers/cloud-storage-event.mapper.js.map +1 -0
  157. package/dist/lib/esm/mappers/eventarc-event.mapper.js +81 -0
  158. package/dist/lib/esm/mappers/eventarc-event.mapper.js.map +1 -0
  159. package/dist/lib/esm/mappers/firestore-event.mapper.js +75 -0
  160. package/dist/lib/esm/mappers/firestore-event.mapper.js.map +1 -0
  161. package/dist/lib/esm/mappers/mappers.js +5 -0
  162. package/dist/lib/esm/mappers/mappers.js.map +1 -0
  163. package/dist/lib/esm/mappers/pub-sub-event.mapper.js +75 -0
  164. package/dist/lib/esm/mappers/pub-sub-event.mapper.js.map +1 -0
  165. package/dist/lib/esm/models/dynamic-collection-name.model.js +7 -0
  166. package/dist/lib/esm/models/dynamic-collection-name.model.js.map +1 -0
  167. package/dist/lib/esm/models/eventarc-message.model.js +6 -0
  168. package/dist/lib/esm/models/eventarc-message.model.js.map +1 -0
  169. package/dist/lib/esm/models/models.js +4 -0
  170. package/dist/lib/esm/models/models.js.map +1 -0
  171. package/dist/lib/esm/models/pub-sub-message-sent-confirmation.model.js +7 -0
  172. package/dist/lib/esm/models/pub-sub-message-sent-confirmation.model.js.map +1 -0
  173. package/dist/lib/esm/models/pub-sub-message.model.js +7 -0
  174. package/dist/lib/esm/models/pub-sub-message.model.js.map +1 -0
  175. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -0
  176. package/dist/types/clients/clients.d.ts +5 -0
  177. package/dist/types/clients/cloud-storage.client.d.ts +26 -0
  178. package/dist/types/clients/eventarc.client.d.ts +26 -0
  179. package/dist/types/clients/firestore.client.d.ts +47 -0
  180. package/dist/types/clients/pub-sub.client.d.ts +23 -0
  181. package/dist/types/clients/secret-manager.client.d.ts +24 -0
  182. package/dist/types/decorators/decorators.d.ts +1 -0
  183. package/dist/types/decorators/dynamic-collection-name.decorator.d.ts +22 -0
  184. package/dist/types/enums/cloud-storage-event-type.enum.d.ts +11 -0
  185. package/dist/types/enums/cloud-storage-presigned-operation-type.enum.d.ts +8 -0
  186. package/dist/types/enums/enums.d.ts +5 -0
  187. package/dist/types/enums/eventarc-event-type.enum.d.ts +7 -0
  188. package/dist/types/enums/firestore-event-type.enum.d.ts +11 -0
  189. package/dist/types/enums/pub-sub-event-type.enum.d.ts +8 -0
  190. package/dist/types/errors/errors.d.ts +3 -0
  191. package/dist/types/errors/eventarc-publish.error.d.ts +8 -0
  192. package/dist/types/errors/get-secret.error.d.ts +8 -0
  193. package/dist/types/errors/pub-sub-publish.error.d.ts +14 -0
  194. package/dist/types/event-payloads/cloud-storage.event-payload.d.ts +55 -0
  195. package/dist/types/event-payloads/event-payloads.d.ts +4 -0
  196. package/dist/types/event-payloads/eventarc.event-payload.d.ts +39 -0
  197. package/dist/types/event-payloads/firestore.event-payload.d.ts +43 -0
  198. package/dist/types/event-payloads/pub-sub.event-payload.d.ts +37 -0
  199. package/dist/types/gcp.configuration-keys.d.ts +35 -0
  200. package/dist/types/gcp.module.d.ts +11 -0
  201. package/dist/types/gcp.module.keyname.d.ts +1 -0
  202. package/dist/types/interfaces/client-options.interface.d.ts +19 -0
  203. package/dist/types/interfaces/cloud-storage-client.interface.d.ts +14 -0
  204. package/dist/types/interfaces/eventarc-client.interface.d.ts +5 -0
  205. package/dist/types/interfaces/firestore-client.interface.d.ts +27 -0
  206. package/dist/types/interfaces/interfaces.d.ts +6 -0
  207. package/dist/types/interfaces/pub-sub-client.interface.d.ts +8 -0
  208. package/dist/types/interfaces/secret-manager-client.interface.d.ts +9 -0
  209. package/dist/types/mappers/cloud-storage-event.mapper.d.ts +22 -0
  210. package/dist/types/mappers/eventarc-event.mapper.d.ts +22 -0
  211. package/dist/types/mappers/firestore-event.mapper.d.ts +17 -0
  212. package/dist/types/mappers/mappers.d.ts +4 -0
  213. package/dist/types/mappers/pub-sub-event.mapper.d.ts +23 -0
  214. package/dist/types/models/dynamic-collection-name.model.d.ts +8 -0
  215. package/dist/types/models/eventarc-message.model.d.ts +25 -0
  216. package/dist/types/models/models.d.ts +3 -0
  217. package/dist/types/models/pub-sub-message-sent-confirmation.model.d.ts +7 -0
  218. package/dist/types/models/pub-sub-message.model.d.ts +21 -0
  219. package/package.json +72 -0
  220. 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":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./dynamic-collection-name.decorator";
2
+ //# sourceMappingURL=decorators.js.map
@@ -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,4 @@
1
+ export * from "./eventarc-publish.error";
2
+ export * from "./get-secret.error";
3
+ export * from "./pub-sub-publish.error";
4
+ //# sourceMappingURL=errors.js.map
@@ -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,7 @@
1
+ /**
2
+ * The Pristine event payload for a parsed GCP Cloud Storage CloudEvent.
3
+ * Mirrors `S3EventPayload` in spirit.
4
+ */
5
+ export class CloudStorageEventPayload {
6
+ }
7
+ //# sourceMappingURL=cloud-storage.event-payload.js.map
@@ -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,5 @@
1
+ export * from "./cloud-storage.event-payload";
2
+ export * from "./eventarc.event-payload";
3
+ export * from "./firestore.event-payload";
4
+ export * from "./pub-sub.event-payload";
5
+ //# sourceMappingURL=event-payloads.js.map
@@ -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,7 @@
1
+ /**
2
+ * The Pristine event payload for any CloudEvent that didn't match a more-specific
3
+ * mapper. Mirrors the role of `EventBridgePayload` for AWS.
4
+ */
5
+ export class EventarcEventPayload {
6
+ }
7
+ //# sourceMappingURL=eventarc.event-payload.js.map
@@ -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,7 @@
1
+ /**
2
+ * The Pristine event payload for a parsed GCP Firestore document-change CloudEvent.
3
+ * Mirrors `DynamodbEventPayload` in spirit.
4
+ */
5
+ export class FirestoreEventPayload {
6
+ }
7
+ //# sourceMappingURL=firestore.event-payload.js.map
@@ -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,2 @@
1
+ export const GcpModuleKeyname = "pristine.gcp";
2
+ //# sourceMappingURL=gcp.module.keyname.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-options.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/client-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cloud-storage-client.interface.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=eventarc-client.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventarc-client.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/eventarc-client.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=firestore-client.interface.js.map