@shushed/helpers 0.0.200-v2-20251128093319 → 0.0.200

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 (234) hide show
  1. package/dist/index.d.ts +34970 -0
  2. package/dist/index.js +113017 -0
  3. package/dist/package.json +3 -6
  4. package/package.json +4 -7
  5. package/dist/cjs/dist-dereferenced/asset.js +0 -4
  6. package/dist/cjs/dist-dereferenced/category.js +0 -4
  7. package/dist/cjs/dist-dereferenced/country.js +0 -4
  8. package/dist/cjs/dist-dereferenced/currency.js +0 -4
  9. package/dist/cjs/dist-dereferenced/customer-segment.js +0 -4
  10. package/dist/cjs/dist-dereferenced/development-colour.js +0 -4
  11. package/dist/cjs/dist-dereferenced/index.js +0 -69
  12. package/dist/cjs/dist-dereferenced/marketing-preferences.js +0 -4
  13. package/dist/cjs/dist-dereferenced/messages/ean-change.js +0 -4
  14. package/dist/cjs/dist-dereferenced/messages/index.js +0 -50
  15. package/dist/cjs/dist-dereferenced/messages/order/delivered.js +0 -4
  16. package/dist/cjs/dist-dereferenced/messages/order/index.js +0 -18
  17. package/dist/cjs/dist-dereferenced/messages/order/new.js +0 -4
  18. package/dist/cjs/dist-dereferenced/messages/order/processed.js +0 -4
  19. package/dist/cjs/dist-dereferenced/messages/order/return-initiated.js +0 -4
  20. package/dist/cjs/dist-dereferenced/messages/order/returned.js +0 -4
  21. package/dist/cjs/dist-dereferenced/messages/order/shipped.js +0 -4
  22. package/dist/cjs/dist-dereferenced/messages/price-change.js +0 -4
  23. package/dist/cjs/dist-dereferenced/messages/product-category.js +0 -4
  24. package/dist/cjs/dist-dereferenced/messages/product-draft.js +0 -4
  25. package/dist/cjs/dist-dereferenced/messages/product.js +0 -4
  26. package/dist/cjs/dist-dereferenced/money.js +0 -4
  27. package/dist/cjs/dist-dereferenced/order/address.js +0 -4
  28. package/dist/cjs/dist-dereferenced/order/customer.js +0 -4
  29. package/dist/cjs/dist-dereferenced/order/index.js +0 -51
  30. package/dist/cjs/dist-dereferenced/order/item.js +0 -4
  31. package/dist/cjs/dist-dereferenced/order/orderMain.js +0 -4
  32. package/dist/cjs/dist-dereferenced/order/payment.js +0 -4
  33. package/dist/cjs/dist-dereferenced/order/shipment/index.js +0 -45
  34. package/dist/cjs/dist-dereferenced/order/shipment/item/index.js +0 -11
  35. package/dist/cjs/dist-dereferenced/order/shipment/item/itemMain.js +0 -4
  36. package/dist/cjs/dist-dereferenced/order/shipment/item/returned.js +0 -4
  37. package/dist/cjs/dist-dereferenced/order/shipment/pos/index.js +0 -13
  38. package/dist/cjs/dist-dereferenced/order/shipment/pos/outbound.js +0 -4
  39. package/dist/cjs/dist-dereferenced/order/shipment/pos/posMain.js +0 -4
  40. package/dist/cjs/dist-dereferenced/order/shipment/pos/return.js +0 -4
  41. package/dist/cjs/dist-dereferenced/order/shipment/shipmentMain.js +0 -4
  42. package/dist/cjs/dist-dereferenced/order/shipment/shipped/index.js +0 -13
  43. package/dist/cjs/dist-dereferenced/order/shipment/shipped/outbound.js +0 -4
  44. package/dist/cjs/dist-dereferenced/order/shipment/shipped/return.js +0 -4
  45. package/dist/cjs/dist-dereferenced/order/shipment/shipped/shippedMain.js +0 -4
  46. package/dist/cjs/dist-dereferenced/price.js +0 -4
  47. package/dist/cjs/dist-dereferenced/product-category.js +0 -4
  48. package/dist/cjs/dist-dereferenced/product-draft.js +0 -4
  49. package/dist/cjs/dist-dereferenced/product.js +0 -4
  50. package/dist/cjs/dist-dereferenced/stock.js +0 -4
  51. package/dist/cjs/dist-dereferenced/total.js +0 -4
  52. package/dist/cjs/dist-types/asset.js +0 -2
  53. package/dist/cjs/dist-types/category.js +0 -2
  54. package/dist/cjs/dist-types/country.js +0 -2
  55. package/dist/cjs/dist-types/currency.js +0 -2
  56. package/dist/cjs/dist-types/customer-segment.js +0 -2
  57. package/dist/cjs/dist-types/development-colour.js +0 -2
  58. package/dist/cjs/dist-types/index.js +0 -38
  59. package/dist/cjs/dist-types/marketing-preferences.js +0 -2
  60. package/dist/cjs/dist-types/messages/ean-change.js +0 -2
  61. package/dist/cjs/dist-types/messages/index.js +0 -37
  62. package/dist/cjs/dist-types/messages/order/delivered.js +0 -2
  63. package/dist/cjs/dist-types/messages/order/index.js +0 -2
  64. package/dist/cjs/dist-types/messages/order/new.js +0 -2
  65. package/dist/cjs/dist-types/messages/order/processed.js +0 -2
  66. package/dist/cjs/dist-types/messages/order/return-initiated.js +0 -2
  67. package/dist/cjs/dist-types/messages/order/returned.js +0 -2
  68. package/dist/cjs/dist-types/messages/order/shipped.js +0 -2
  69. package/dist/cjs/dist-types/messages/price-change.js +0 -2
  70. package/dist/cjs/dist-types/messages/product-category.js +0 -2
  71. package/dist/cjs/dist-types/messages/product-draft.js +0 -2
  72. package/dist/cjs/dist-types/messages/product.js +0 -2
  73. package/dist/cjs/dist-types/money.js +0 -2
  74. package/dist/cjs/dist-types/order/address.js +0 -2
  75. package/dist/cjs/dist-types/order/customer.js +0 -2
  76. package/dist/cjs/dist-types/order/index.js +0 -37
  77. package/dist/cjs/dist-types/order/item.js +0 -2
  78. package/dist/cjs/dist-types/order/orderMain.js +0 -2
  79. package/dist/cjs/dist-types/order/payment.js +0 -2
  80. package/dist/cjs/dist-types/order/shipment/index.js +0 -39
  81. package/dist/cjs/dist-types/order/shipment/item/index.js +0 -2
  82. package/dist/cjs/dist-types/order/shipment/item/itemMain.js +0 -2
  83. package/dist/cjs/dist-types/order/shipment/item/returned.js +0 -2
  84. package/dist/cjs/dist-types/order/shipment/pos/index.js +0 -2
  85. package/dist/cjs/dist-types/order/shipment/pos/outbound.js +0 -2
  86. package/dist/cjs/dist-types/order/shipment/pos/posMain.js +0 -2
  87. package/dist/cjs/dist-types/order/shipment/pos/return.js +0 -2
  88. package/dist/cjs/dist-types/order/shipment/shipmentMain.js +0 -2
  89. package/dist/cjs/dist-types/order/shipment/shipped/index.js +0 -2
  90. package/dist/cjs/dist-types/order/shipment/shipped/outbound.js +0 -2
  91. package/dist/cjs/dist-types/order/shipment/shipped/return.js +0 -2
  92. package/dist/cjs/dist-types/order/shipment/shipped/shippedMain.js +0 -2
  93. package/dist/cjs/dist-types/price.js +0 -2
  94. package/dist/cjs/dist-types/product-category.js +0 -2
  95. package/dist/cjs/dist-types/product-draft.js +0 -2
  96. package/dist/cjs/dist-types/product.js +0 -2
  97. package/dist/cjs/dist-types/stock.js +0 -2
  98. package/dist/cjs/dist-types/total.js +0 -2
  99. package/dist/cjs/index.js +0 -39
  100. package/dist/cjs/src-public/airtable.js +0 -590
  101. package/dist/cjs/src-public/bigquery.js +0 -59
  102. package/dist/cjs/src-public/cloudtasks.js +0 -207
  103. package/dist/cjs/src-public/dato.js +0 -680
  104. package/dist/cjs/src-public/env.js +0 -897
  105. package/dist/cjs/src-public/getEventTime.js +0 -28
  106. package/dist/cjs/src-public/index.js +0 -50
  107. package/dist/cjs/src-public/ipValidation.js +0 -167
  108. package/dist/cjs/src-public/jwks.js +0 -108
  109. package/dist/cjs/src-public/pubsub.js +0 -423
  110. package/dist/cjs/src-public/rateLimit.js +0 -140
  111. package/dist/cjs/src-public/redisClient.js +0 -44
  112. package/dist/cjs/src-public/runtime.js +0 -141
  113. package/dist/cjs/src-public/sanitize.js +0 -25
  114. package/dist/cjs/src-public/scheduler.js +0 -247
  115. package/dist/cjs/src-public/secret.js +0 -16
  116. package/dist/cjs/src-public/setHeaders.js +0 -16
  117. package/dist/cjs/src-public/types.js +0 -2
  118. package/dist/cjs/src-public/utils.js +0 -454
  119. package/dist/cjs/src-public/validate.js +0 -40
  120. package/dist/types/dist-dereferenced/asset.d.ts +0 -51
  121. package/dist/types/dist-dereferenced/category.d.ts +0 -58
  122. package/dist/types/dist-dereferenced/country.d.ts +0 -8
  123. package/dist/types/dist-dereferenced/currency.d.ts +0 -8
  124. package/dist/types/dist-dereferenced/customer-segment.d.ts +0 -26
  125. package/dist/types/dist-dereferenced/development-colour.d.ts +0 -114
  126. package/dist/types/dist-dereferenced/index.d.ts +0 -16
  127. package/dist/types/dist-dereferenced/marketing-preferences.d.ts +0 -31
  128. package/dist/types/dist-dereferenced/messages/ean-change.d.ts +0 -17
  129. package/dist/types/dist-dereferenced/messages/index.d.ts +0 -6
  130. package/dist/types/dist-dereferenced/messages/order/delivered.d.ts +0 -3414
  131. package/dist/types/dist-dereferenced/messages/order/index.d.ts +0 -6
  132. package/dist/types/dist-dereferenced/messages/order/new.d.ts +0 -3414
  133. package/dist/types/dist-dereferenced/messages/order/processed.d.ts +0 -3408
  134. package/dist/types/dist-dereferenced/messages/order/return-initiated.d.ts +0 -3414
  135. package/dist/types/dist-dereferenced/messages/order/returned.d.ts +0 -3413
  136. package/dist/types/dist-dereferenced/messages/order/shipped.d.ts +0 -3412
  137. package/dist/types/dist-dereferenced/messages/price-change.d.ts +0 -67
  138. package/dist/types/dist-dereferenced/messages/product-category.d.ts +0 -33
  139. package/dist/types/dist-dereferenced/messages/product-draft.d.ts +0 -589
  140. package/dist/types/dist-dereferenced/messages/product.d.ts +0 -628
  141. package/dist/types/dist-dereferenced/money.d.ts +0 -41
  142. package/dist/types/dist-dereferenced/order/address.d.ts +0 -98
  143. package/dist/types/dist-dereferenced/order/customer.d.ts +0 -309
  144. package/dist/types/dist-dereferenced/order/index.d.ts +0 -3404
  145. package/dist/types/dist-dereferenced/order/item.d.ts +0 -336
  146. package/dist/types/dist-dereferenced/order/orderMain.d.ts +0 -3399
  147. package/dist/types/dist-dereferenced/order/payment.d.ts +0 -94
  148. package/dist/types/dist-dereferenced/order/shipment/index.d.ts +0 -253
  149. package/dist/types/dist-dereferenced/order/shipment/item/index.d.ts +0 -19
  150. package/dist/types/dist-dereferenced/order/shipment/item/itemMain.d.ts +0 -18
  151. package/dist/types/dist-dereferenced/order/shipment/item/returned.d.ts +0 -34
  152. package/dist/types/dist-dereferenced/order/shipment/pos/index.d.ts +0 -282
  153. package/dist/types/dist-dereferenced/order/shipment/pos/outbound.d.ts +0 -320
  154. package/dist/types/dist-dereferenced/order/shipment/pos/posMain.d.ts +0 -280
  155. package/dist/types/dist-dereferenced/order/shipment/pos/return.d.ts +0 -331
  156. package/dist/types/dist-dereferenced/order/shipment/shipmentMain.d.ts +0 -250
  157. package/dist/types/dist-dereferenced/order/shipment/shipped/index.d.ts +0 -288
  158. package/dist/types/dist-dereferenced/order/shipment/shipped/outbound.d.ts +0 -286
  159. package/dist/types/dist-dereferenced/order/shipment/shipped/return.d.ts +0 -287
  160. package/dist/types/dist-dereferenced/order/shipment/shipped/shippedMain.d.ts +0 -286
  161. package/dist/types/dist-dereferenced/price.d.ts +0 -58
  162. package/dist/types/dist-dereferenced/product-category.d.ts +0 -24
  163. package/dist/types/dist-dereferenced/product-draft.d.ts +0 -580
  164. package/dist/types/dist-dereferenced/product.d.ts +0 -619
  165. package/dist/types/dist-dereferenced/stock.d.ts +0 -74
  166. package/dist/types/dist-dereferenced/total.d.ts +0 -172
  167. package/dist/types/dist-types/asset.d.ts +0 -16
  168. package/dist/types/dist-types/category.d.ts +0 -20
  169. package/dist/types/dist-types/country.d.ts +0 -2
  170. package/dist/types/dist-types/currency.d.ts +0 -2
  171. package/dist/types/dist-types/customer-segment.d.ts +0 -6
  172. package/dist/types/dist-types/development-colour.d.ts +0 -31
  173. package/dist/types/dist-types/index.d.ts +0 -16
  174. package/dist/types/dist-types/marketing-preferences.d.ts +0 -9
  175. package/dist/types/dist-types/messages/ean-change.d.ts +0 -5
  176. package/dist/types/dist-types/messages/index.d.ts +0 -6
  177. package/dist/types/dist-types/messages/order/delivered.d.ts +0 -292
  178. package/dist/types/dist-types/messages/order/index.d.ts +0 -6
  179. package/dist/types/dist-types/messages/order/new.d.ts +0 -292
  180. package/dist/types/dist-types/messages/order/processed.d.ts +0 -292
  181. package/dist/types/dist-types/messages/order/return-initiated.d.ts +0 -292
  182. package/dist/types/dist-types/messages/order/returned.d.ts +0 -293
  183. package/dist/types/dist-types/messages/order/shipped.d.ts +0 -293
  184. package/dist/types/dist-types/messages/price-change.d.ts +0 -16
  185. package/dist/types/dist-types/messages/product-category.d.ts +0 -7
  186. package/dist/types/dist-types/messages/product-draft.d.ts +0 -136
  187. package/dist/types/dist-types/messages/product.d.ts +0 -144
  188. package/dist/types/dist-types/money.d.ts +0 -11
  189. package/dist/types/dist-types/order/address.d.ts +0 -27
  190. package/dist/types/dist-types/order/customer.d.ts +0 -81
  191. package/dist/types/dist-types/order/index.d.ts +0 -8
  192. package/dist/types/dist-types/order/item.d.ts +0 -85
  193. package/dist/types/dist-types/order/orderMain.d.ts +0 -289
  194. package/dist/types/dist-types/order/payment.d.ts +0 -26
  195. package/dist/types/dist-types/order/shipment/index.d.ts +0 -6
  196. package/dist/types/dist-types/order/shipment/item/index.d.ts +0 -4
  197. package/dist/types/dist-types/order/shipment/item/itemMain.d.ts +0 -6
  198. package/dist/types/dist-types/order/shipment/item/returned.d.ts +0 -11
  199. package/dist/types/dist-types/order/shipment/pos/index.d.ts +0 -5
  200. package/dist/types/dist-types/order/shipment/pos/outbound.d.ts +0 -76
  201. package/dist/types/dist-types/order/shipment/pos/posMain.d.ts +0 -71
  202. package/dist/types/dist-types/order/shipment/pos/return.d.ts +0 -75
  203. package/dist/types/dist-types/order/shipment/shipmentMain.d.ts +0 -62
  204. package/dist/types/dist-types/order/shipment/shipped/index.d.ts +0 -5
  205. package/dist/types/dist-types/order/shipment/shipped/outbound.d.ts +0 -68
  206. package/dist/types/dist-types/order/shipment/shipped/return.d.ts +0 -68
  207. package/dist/types/dist-types/order/shipment/shipped/shippedMain.d.ts +0 -69
  208. package/dist/types/dist-types/price.d.ts +0 -15
  209. package/dist/types/dist-types/product-category.d.ts +0 -6
  210. package/dist/types/dist-types/product-draft.d.ts +0 -135
  211. package/dist/types/dist-types/product.d.ts +0 -143
  212. package/dist/types/dist-types/stock.d.ts +0 -19
  213. package/dist/types/dist-types/total.d.ts +0 -44
  214. package/dist/types/index.d.ts +0 -3
  215. package/dist/types/src-public/airtable.d.ts +0 -220
  216. package/dist/types/src-public/bigquery.d.ts +0 -17
  217. package/dist/types/src-public/cloudtasks.d.ts +0 -74
  218. package/dist/types/src-public/dato.d.ts +0 -95
  219. package/dist/types/src-public/env.d.ts +0 -144
  220. package/dist/types/src-public/getEventTime.d.ts +0 -1
  221. package/dist/types/src-public/index.d.ts +0 -16
  222. package/dist/types/src-public/ipValidation.d.ts +0 -15
  223. package/dist/types/src-public/jwks.d.ts +0 -15
  224. package/dist/types/src-public/pubsub.d.ts +0 -95
  225. package/dist/types/src-public/rateLimit.d.ts +0 -21
  226. package/dist/types/src-public/redisClient.d.ts +0 -6
  227. package/dist/types/src-public/runtime.d.ts +0 -57
  228. package/dist/types/src-public/sanitize.d.ts +0 -4
  229. package/dist/types/src-public/scheduler.d.ts +0 -71
  230. package/dist/types/src-public/secret.d.ts +0 -6
  231. package/dist/types/src-public/setHeaders.d.ts +0 -13
  232. package/dist/types/src-public/types.d.ts +0 -264
  233. package/dist/types/src-public/utils.d.ts +0 -101
  234. package/dist/types/src-public/validate.d.ts +0 -9
@@ -1,141 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Logging = void 0;
4
- const DEFAULT_BRANCH = 'migratedprod';
5
- const getCircularReplacer = () => {
6
- const seen = new WeakSet();
7
- return (key, value) => {
8
- if (typeof value === "object" && value !== null) {
9
- if (seen.has(value)) {
10
- return;
11
- }
12
- seen.add(value);
13
- }
14
- return value;
15
- };
16
- };
17
- class Logging {
18
- workflowId;
19
- triggerId;
20
- systemEnvName;
21
- metadata;
22
- logFn;
23
- errorFn;
24
- constructor(workflowId, triggerId, systemEnvName) {
25
- this.workflowId = workflowId;
26
- this.triggerId = triggerId;
27
- this.systemEnvName = systemEnvName;
28
- this.metadata = {
29
- resource: { type: 'cloud_run_revision' },
30
- labels: {
31
- project_id: process.env.GCLOUD_PROJECT,
32
- }
33
- };
34
- this.logFn = (...args) => console.log(JSON.stringify(args, getCircularReplacer()));
35
- this.errorFn = (...args) => console.error(JSON.stringify(args, getCircularReplacer()));
36
- }
37
- log(...args) {
38
- this.logFn({
39
- payload: args,
40
- workflowId: this.workflowId,
41
- wId: this.workflowId,
42
- triggerId: this.triggerId,
43
- tId: this.triggerId,
44
- env: this.systemEnvName,
45
- });
46
- }
47
- error(...args) {
48
- this.errorFn({
49
- payload: args,
50
- workflowId: this.workflowId,
51
- wId: this.workflowId,
52
- triggerId: this.triggerId,
53
- tId: this.triggerId,
54
- env: this.systemEnvName,
55
- });
56
- }
57
- }
58
- exports.Logging = Logging;
59
- class Runtime {
60
- workflowId;
61
- triggerId;
62
- envName;
63
- pubSubPrefix;
64
- systemEnvName;
65
- runtimeUrl;
66
- logging;
67
- constructor(opts) {
68
- if (opts instanceof Runtime) {
69
- this.workflowId = opts.workflowId;
70
- this.triggerId = opts.triggerId;
71
- this.systemEnvName = opts.systemEnvName;
72
- this.runtimeUrl = opts.runtimeUrl;
73
- this.pubSubPrefix = opts.pubSubPrefix;
74
- this.envName = opts.envName;
75
- this.logging = opts.logging || new Logging(this.workflowId, this.triggerId, this.systemEnvName);
76
- }
77
- else {
78
- this.workflowId = opts.workflowId || opts.workflow?.id || '';
79
- this.triggerId = opts.triggerId || opts.trigger?.id || '';
80
- if (!this.triggerId && opts.session) {
81
- this.triggerId = Object.values(opts.session?.executedNodes || {}).find(e => e.nodeType === 'trigger')?.nodeId ?? 'unknown';
82
- }
83
- else if (!this.triggerId) {
84
- this.triggerId = 'unknown';
85
- }
86
- this.systemEnvName = this.getSystemEnvName(opts);
87
- console.log('JAKUBENV', this.systemEnvName);
88
- this.envName = this.systemEnvName === DEFAULT_BRANCH ? 'prod' : this.systemEnvName;
89
- this.pubSubPrefix = this.envName === 'prod' ? '' : `${this.envName}---`;
90
- this.runtimeUrl = this.getRuntimeUrl(opts);
91
- this.logging = opts.logging || new Logging(this.workflowId, this.triggerId, this.systemEnvName);
92
- }
93
- }
94
- getRuntimeUrl(options) {
95
- if (options.runtimeUrl && this.isDeployment) {
96
- return options.runtimeUrl;
97
- }
98
- const systemEnvName = this.getSystemEnvName(options);
99
- const [_, ...idParts] = (process.env.GCLOUD_PROJECT || '').split('-');
100
- if (process.env.RUNTIME_URL) {
101
- return process.env.RUNTIME_URL;
102
- }
103
- return `https://${systemEnvName}-${idParts.join('-')}.buildship.run`;
104
- }
105
- getSystemEnvName(options) {
106
- if (options instanceof Runtime) {
107
- return options.systemEnvName;
108
- }
109
- if (process.env.runtime) {
110
- return process.env.runtime;
111
- }
112
- if (process.env.runtimeEnv) {
113
- return process.env.runtimeEnv;
114
- }
115
- if (process.env.BS_ENV) {
116
- return process.env.BS_ENV;
117
- }
118
- if (options.env?.runtimeEnv) {
119
- return options.env.runtimeEnv;
120
- }
121
- if (options.runtimeEnv) {
122
- return options.runtimeEnv;
123
- }
124
- let systemEnvName = null;
125
- if (options.env?.triggerEnv) {
126
- systemEnvName = options.env.triggerEnv.systemEnvName;
127
- }
128
- if (options.runtimeUrl || options.request?.host || options.url) {
129
- const hostId = (options.runtimeUrl || options.request?.host || options.url || '').replace(/^(?:https?:)?\/\//i, '').split('/')[0].split('.')[0].toLowerCase();
130
- if (hostId.includes('-')) {
131
- systemEnvName = hostId.split('-')[0];
132
- }
133
- }
134
- return systemEnvName || 'test-env';
135
- }
136
- get isDeployment() {
137
- return process.env.K_SERVICE === 'manager';
138
- }
139
- }
140
- exports.default = Runtime;
141
- ;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sanitize = exports.sanitizeToString = void 0;
4
- const deep_redact_1 = require("@hackylabs/deep-redact");
5
- const blacklistedKeys = ['sensitive', 'password', /last[_-]?name/i, /sur[_-]?name/i, /first[_-]?name/i, /email/i, /phone/i, /address/i, /city/i, /state/i, /postcode/i, /zip/i];
6
- const sanitizeToString = new deep_redact_1.DeepRedact({
7
- blacklistedKeys,
8
- retainStructure: true,
9
- replacement: '*',
10
- types: ['string', 'number'],
11
- serialize: true,
12
- remove: false,
13
- replaceStringByLength: true
14
- });
15
- exports.sanitizeToString = sanitizeToString;
16
- const sanitize = new deep_redact_1.DeepRedact({
17
- blacklistedKeys,
18
- retainStructure: true,
19
- replacement: '*',
20
- types: ['string', 'number'],
21
- serialize: false,
22
- remove: false,
23
- replaceStringByLength: true
24
- });
25
- exports.sanitize = sanitize;
@@ -1,247 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const env_1 = __importDefault(require("./env"));
7
- class SchedulerHelper extends env_1.default {
8
- pubSubTarget;
9
- pubSubProjectId;
10
- schedulerLocationId;
11
- schedulerApiBase = 'https://cloudscheduler.googleapis.com/v1';
12
- constructor(opts, settings) {
13
- super(opts);
14
- const optsWithSettings = opts;
15
- const resolvedSettings = settings || optsWithSettings || {};
16
- this.pubSubTarget = resolvedSettings.pubSubTarget ?? optsWithSettings?.pubSubTarget ?? null;
17
- this.pubSubProjectId = this.pubSubTarget?.name?.split('/')[1] || null;
18
- this.schedulerLocationId = resolvedSettings.schedulerLocationId ?? optsWithSettings?.schedulerLocationId ?? 'europe-west2';
19
- }
20
- get locationIds() {
21
- return [
22
- "asia-east1",
23
- "asia-northeast1",
24
- "asia-southeast1",
25
- "europe-west1",
26
- "us-central1",
27
- "us-east1",
28
- "us-east4",
29
- "us-west1",
30
- ];
31
- }
32
- getTarget(extraQuery = {}) {
33
- extraQuery = Object.assign({}, extraQuery, {
34
- 'created_by_wid': this.workflowId,
35
- 'created_by_tid': this.triggerId,
36
- 'created_by_sevn': this.systemEnvName,
37
- 'cron': '1',
38
- });
39
- if (this.pubSubTarget) {
40
- return {
41
- pubsubTarget: {
42
- topicName: this.pubSubTarget.name,
43
- data: Buffer.from(JSON.stringify({
44
- source: `${this.workflowId}/${this.triggerId}/${this.systemEnvName}`
45
- }), 'utf-8'),
46
- }
47
- };
48
- }
49
- return {
50
- httpTarget: {
51
- uri: `${this.runtimeUrl}/executeWorkflow/${this.workflowId}/${this.triggerId}?${new URLSearchParams(extraQuery).toString()}`,
52
- httpMethod: "POST",
53
- headers: {
54
- "Content-Type": "application/json",
55
- },
56
- oidcToken: {
57
- serviceAccountEmail: `runtime@${process.env.GCLOUD_PROJECT}.iam.gserviceaccount.com`,
58
- audience: process.env.GCLOUD_PROJECT + "/" + this.triggerId,
59
- },
60
- }
61
- };
62
- }
63
- async create({ schedule, timezone, extraQuery = {} }) {
64
- const { parent, name } = this.getSchedulerIdentifiers();
65
- const target = this.getTarget(extraQuery);
66
- try {
67
- const job = await this.callScheduler(`${parent}/jobs`, {
68
- method: 'POST',
69
- body: {
70
- name,
71
- schedule,
72
- timeZone: timezone,
73
- ...target,
74
- },
75
- allowedStatuses: [200, 201],
76
- });
77
- return this.mapMutationJob(job);
78
- }
79
- catch (error) {
80
- if (error.status === 409 || error.code === 409 || error.statusText === 'ALREADY_EXISTS') {
81
- return this.update({ schedule, timezone: timezone, extraQuery });
82
- }
83
- else {
84
- throw error;
85
- }
86
- }
87
- }
88
- ;
89
- async retrieve() {
90
- const { name } = this.getSchedulerIdentifiers();
91
- try {
92
- const job = await this.callScheduler(name, {
93
- method: 'GET',
94
- });
95
- return this.mapRetrievedJob(job);
96
- }
97
- catch (err) {
98
- this.logging.log('Failed to get job', err);
99
- return null;
100
- }
101
- }
102
- async update({ schedule, timezone, extraQuery = {} }) {
103
- const { parent, name } = this.getSchedulerIdentifiers();
104
- const target = this.getTarget(extraQuery);
105
- const updateMaskFields = ['schedule', 'timeZone'];
106
- if (target.httpTarget) {
107
- updateMaskFields.push('httpTarget');
108
- }
109
- if (target.pubsubTarget) {
110
- updateMaskFields.push('pubsubTarget');
111
- }
112
- try {
113
- const job = await this.callScheduler(name, {
114
- method: 'PATCH',
115
- body: {
116
- name,
117
- schedule,
118
- timeZone: timezone,
119
- ...target,
120
- },
121
- query: {
122
- updateMask: updateMaskFields.join(','),
123
- },
124
- });
125
- return this.mapMutationJob(job);
126
- }
127
- catch {
128
- const job = await this.callScheduler(`${parent}/jobs`, {
129
- method: 'POST',
130
- body: {
131
- name,
132
- schedule,
133
- timeZone: timezone,
134
- ...target,
135
- },
136
- allowedStatuses: [200, 201],
137
- });
138
- return this.mapMutationJob(job);
139
- }
140
- }
141
- ;
142
- async delete() {
143
- const { name } = this.getSchedulerIdentifiers();
144
- try {
145
- await this.callScheduler(name, {
146
- method: 'DELETE',
147
- allowedStatuses: [200, 204],
148
- });
149
- }
150
- catch (err) {
151
- if (err.status === 404 || err.code === 404 || err.statusText === 'NOT_FOUND') {
152
- return err.message;
153
- }
154
- throw err;
155
- }
156
- return 'deleted';
157
- }
158
- ;
159
- getSchedulerIdentifiers() {
160
- if (this.pubSubProjectId) {
161
- const parent = `projects/${this.pubSubProjectId}/locations/${this.schedulerLocationId}`;
162
- const name = `${parent}/jobs/buildship-workflow-${this.triggerId}-${this.systemEnvName}`;
163
- return { parent, name };
164
- }
165
- let locationId = process.env.SERVICE_REGION;
166
- locationId = this.locationIds.includes(locationId) ? locationId : 'us-central1';
167
- const parent = `projects/${process.env.GCLOUD_PROJECT}/locations/${locationId}`;
168
- const name = `${parent}/jobs/rowy-workflow-${this.triggerId}-${this.systemEnvName}`;
169
- return { parent, name };
170
- }
171
- async callScheduler(path, options) {
172
- return this.withGoogleAccessToken()(async (accessToken) => {
173
- const url = new URL(`${this.schedulerApiBase}/${path.replace(/^\//, '')}`);
174
- if (options.query) {
175
- Object.entries(options.query)
176
- .filter(([, value]) => typeof value !== 'undefined' && value !== null)
177
- .forEach(([key, value]) => url.searchParams.set(key, value));
178
- }
179
- const headers = {
180
- Authorization: `Bearer ${accessToken}`,
181
- };
182
- const method = options.method || 'GET';
183
- const hasBody = typeof options.body !== 'undefined';
184
- if (hasBody) {
185
- headers['Content-Type'] = 'application/json';
186
- }
187
- const response = await fetch(url.toString(), {
188
- method,
189
- headers,
190
- body: hasBody ? JSON.stringify(options.body) : undefined,
191
- });
192
- const allowedStatuses = options.allowedStatuses || [200];
193
- if (!allowedStatuses.includes(response.status)) {
194
- let errorPayload = null;
195
- let rawText = '';
196
- try {
197
- rawText = await response.text();
198
- errorPayload = rawText ? JSON.parse(rawText) : null;
199
- }
200
- catch {
201
- errorPayload = rawText || null;
202
- }
203
- const message = typeof errorPayload === 'string' && errorPayload
204
- ? errorPayload
205
- : errorPayload?.error?.message || `Scheduler request failed with status ${response.status}`;
206
- const error = new Error(message);
207
- error.status = response.status;
208
- error.code = errorPayload?.error?.code ?? response.status;
209
- error.statusText = errorPayload?.error?.status;
210
- error.details = errorPayload?.error;
211
- throw error;
212
- }
213
- const text = await response.text();
214
- if (!text) {
215
- return undefined;
216
- }
217
- try {
218
- return JSON.parse(text);
219
- }
220
- catch {
221
- return text;
222
- }
223
- });
224
- }
225
- mapMutationJob(job) {
226
- return {
227
- status: job?.status,
228
- state: job?.state,
229
- name: job?.name,
230
- httpTarget: job?.httpTarget,
231
- pubsubTarget: job?.pubsubTarget,
232
- };
233
- }
234
- mapRetrievedJob(job) {
235
- if (!job) {
236
- return null;
237
- }
238
- return {
239
- state: job.state,
240
- schedule: job.schedule,
241
- timeZone: job.timeZone,
242
- httpTarget: job.httpTarget,
243
- pubsubTarget: job.pubsubTarget,
244
- };
245
- }
246
- }
247
- exports.default = SchedulerHelper;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const runtime_1 = __importDefault(require("./runtime"));
7
- const utils_1 = require("./utils");
8
- class Secrets extends runtime_1.default {
9
- constructor(opts) {
10
- super(opts);
11
- }
12
- async getSecret(name) {
13
- return (0, utils_1.getSecret)(this, name, await (0, utils_1.getAccessToken)());
14
- }
15
- }
16
- exports.default = Secrets;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = async ({ headerKey, headerValue, req }) => {
4
- req.set(headerKey, headerValue);
5
- let exposedHeaders = req.response.get("access-control-expose-headers");
6
- if (exposedHeaders) {
7
- exposedHeaders = exposedHeaders + ', ' + headerKey;
8
- }
9
- else {
10
- exposedHeaders = headerKey;
11
- }
12
- req.set("access-control-expose-headers", exposedHeaders);
13
- return {
14
- [headerKey]: headerValue
15
- };
16
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });