@adtrackify/at-service-common 3.0.28 → 3.0.29

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 (199) hide show
  1. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  3. package/dist/cjs/clients/generic/cognito-client.d.ts +20 -20
  4. package/dist/cjs/clients/generic/cognito-client.js +164 -164
  5. package/dist/cjs/clients/generic/dynamodb-client.d.ts +16 -16
  6. package/dist/cjs/clients/generic/dynamodb-client.js +144 -144
  7. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  8. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  9. package/dist/cjs/clients/generic/http-client.d.ts +88 -88
  10. package/dist/cjs/clients/generic/http-client.js +56 -56
  11. package/dist/cjs/clients/generic/index.d.ts +6 -6
  12. package/dist/cjs/clients/generic/index.js +22 -22
  13. package/dist/cjs/clients/generic/s3-client.d.ts +16 -16
  14. package/dist/cjs/clients/generic/s3-client.js +110 -110
  15. package/dist/cjs/clients/generic/sqs-client.d.ts +14 -14
  16. package/dist/cjs/clients/generic/sqs-client.js +38 -38
  17. package/dist/cjs/clients/index.d.ts +3 -3
  18. package/dist/cjs/clients/index.js +19 -19
  19. package/dist/cjs/clients/internal-api/accounts-client.d.ts +112 -112
  20. package/dist/cjs/clients/internal-api/accounts-client.js +117 -117
  21. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  22. package/dist/cjs/clients/internal-api/db-management-client.js +39 -39
  23. package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
  24. package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
  25. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  26. package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
  27. package/dist/cjs/clients/internal-api/identity-client.d.ts +17 -17
  28. package/dist/cjs/clients/internal-api/identity-client.js +75 -75
  29. package/dist/cjs/clients/internal-api/identity-client.js.map +1 -1
  30. package/dist/cjs/clients/internal-api/index.d.ts +7 -7
  31. package/dist/cjs/clients/internal-api/index.js +23 -23
  32. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  33. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +63 -63
  34. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +31 -31
  35. package/dist/cjs/clients/internal-api/users-auth-client.js +92 -92
  36. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  37. package/dist/cjs/clients/third-party/index.js +17 -17
  38. package/dist/cjs/clients/third-party/shopify-client.d.ts +198 -198
  39. package/dist/cjs/clients/third-party/shopify-client.js +150 -150
  40. package/dist/cjs/helpers/index.d.ts +4 -4
  41. package/dist/cjs/helpers/index.js +20 -20
  42. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  43. package/dist/cjs/helpers/input-validation-helper.js +23 -23
  44. package/dist/cjs/helpers/logging-helper.d.ts +15 -15
  45. package/dist/cjs/helpers/logging-helper.js +80 -80
  46. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  47. package/dist/cjs/helpers/response-helper.js +42 -42
  48. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  49. package/dist/cjs/helpers/shopify-helper.js +28 -28
  50. package/dist/cjs/index.d.ts +5 -5
  51. package/dist/cjs/index.js +21 -21
  52. package/dist/cjs/libs/clickId-parser.d.ts +23 -23
  53. package/dist/cjs/libs/clickId-parser.js +49 -49
  54. package/dist/cjs/libs/crypto.d.ts +1 -1
  55. package/dist/cjs/libs/crypto.js +12 -12
  56. package/dist/cjs/libs/dates.d.ts +6 -6
  57. package/dist/cjs/libs/dates.js +31 -31
  58. package/dist/cjs/libs/http-error.d.ts +21 -21
  59. package/dist/cjs/libs/http-error.js +59 -59
  60. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  61. package/dist/cjs/libs/http-status-codes.js +62 -62
  62. package/dist/cjs/libs/index.d.ts +8 -8
  63. package/dist/cjs/libs/index.js +24 -24
  64. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  65. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  66. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  67. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  68. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  69. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  70. package/dist/cjs/libs/url.d.ts +1 -1
  71. package/dist/cjs/libs/url.js +13 -13
  72. package/dist/cjs/services/db/destinations-service.d.ts +7 -7
  73. package/dist/cjs/services/db/destinations-service.js +35 -35
  74. package/dist/cjs/services/db/index.d.ts +4 -4
  75. package/dist/cjs/services/db/index.js +20 -20
  76. package/dist/cjs/services/db/log-events-data-service.d.ts +6 -6
  77. package/dist/cjs/services/db/log-events-data-service.js +31 -31
  78. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  79. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  80. package/dist/cjs/services/db/tracking-events-db-service.d.ts +17 -17
  81. package/dist/cjs/services/db/tracking-events-db-service.js +134 -134
  82. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  83. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  84. package/dist/cjs/services/index.d.ts +5 -5
  85. package/dist/cjs/services/index.js +21 -21
  86. package/dist/cjs/services/ipdata-lookup-service.d.ts +8 -8
  87. package/dist/cjs/services/ipdata-lookup-service.js +59 -59
  88. package/dist/cjs/services/log-event-service.d.ts +9 -9
  89. package/dist/cjs/services/log-event-service.js +56 -56
  90. package/dist/cjs/services/metric-event-service.d.ts +9 -9
  91. package/dist/cjs/services/metric-event-service.js +49 -49
  92. package/dist/cjs/types/api-response.d.ts +6 -6
  93. package/dist/cjs/types/api-response.js +2 -2
  94. package/dist/cjs/types/index.d.ts +1 -1
  95. package/dist/cjs/types/index.js +17 -17
  96. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  97. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  98. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  99. package/dist/cjs/types/internal-events/index.js +17 -17
  100. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  101. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  102. package/dist/esm/clients/generic/cognito-client.d.ts +20 -20
  103. package/dist/esm/clients/generic/cognito-client.js +159 -159
  104. package/dist/esm/clients/generic/dynamodb-client.d.ts +16 -16
  105. package/dist/esm/clients/generic/dynamodb-client.js +140 -140
  106. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  107. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  108. package/dist/esm/clients/generic/http-client.d.ts +88 -88
  109. package/dist/esm/clients/generic/http-client.js +48 -48
  110. package/dist/esm/clients/generic/index.d.ts +6 -6
  111. package/dist/esm/clients/generic/index.js +6 -6
  112. package/dist/esm/clients/generic/s3-client.d.ts +16 -16
  113. package/dist/esm/clients/generic/s3-client.js +106 -106
  114. package/dist/esm/clients/generic/sqs-client.d.ts +14 -14
  115. package/dist/esm/clients/generic/sqs-client.js +34 -34
  116. package/dist/esm/clients/index.d.ts +3 -3
  117. package/dist/esm/clients/index.js +3 -3
  118. package/dist/esm/clients/internal-api/accounts-client.d.ts +112 -112
  119. package/dist/esm/clients/internal-api/accounts-client.js +113 -113
  120. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  121. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  122. package/dist/esm/clients/internal-api/destinations-client.d.ts +29 -29
  123. package/dist/esm/clients/internal-api/destinations-client.js +50 -50
  124. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  125. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  126. package/dist/esm/clients/internal-api/identity-client.d.ts +17 -17
  127. package/dist/esm/clients/internal-api/identity-client.js +71 -71
  128. package/dist/esm/clients/internal-api/identity-client.js.map +1 -1
  129. package/dist/esm/clients/internal-api/index.d.ts +7 -7
  130. package/dist/esm/clients/internal-api/index.js +7 -7
  131. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  132. package/dist/esm/clients/internal-api/shopify-app-install-client.js +56 -56
  133. package/dist/esm/clients/internal-api/users-auth-client.d.ts +31 -31
  134. package/dist/esm/clients/internal-api/users-auth-client.js +88 -88
  135. package/dist/esm/clients/third-party/index.d.ts +1 -1
  136. package/dist/esm/clients/third-party/index.js +1 -1
  137. package/dist/esm/clients/third-party/shopify-client.d.ts +198 -198
  138. package/dist/esm/clients/third-party/shopify-client.js +146 -146
  139. package/dist/esm/helpers/index.d.ts +4 -4
  140. package/dist/esm/helpers/index.js +4 -4
  141. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  142. package/dist/esm/helpers/input-validation-helper.js +19 -19
  143. package/dist/esm/helpers/logging-helper.d.ts +15 -15
  144. package/dist/esm/helpers/logging-helper.js +53 -53
  145. package/dist/esm/helpers/response-helper.d.ts +15 -15
  146. package/dist/esm/helpers/response-helper.js +36 -36
  147. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  148. package/dist/esm/helpers/shopify-helper.js +23 -23
  149. package/dist/esm/index.d.ts +5 -5
  150. package/dist/esm/index.js +5 -5
  151. package/dist/esm/libs/clickId-parser.d.ts +23 -23
  152. package/dist/esm/libs/clickId-parser.js +45 -45
  153. package/dist/esm/libs/crypto.d.ts +1 -1
  154. package/dist/esm/libs/crypto.js +5 -5
  155. package/dist/esm/libs/dates.d.ts +6 -6
  156. package/dist/esm/libs/dates.js +22 -22
  157. package/dist/esm/libs/http-error.d.ts +21 -21
  158. package/dist/esm/libs/http-error.js +55 -55
  159. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  160. package/dist/esm/libs/http-status-codes.js +59 -59
  161. package/dist/esm/libs/index.d.ts +8 -8
  162. package/dist/esm/libs/index.js +8 -8
  163. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  164. package/dist/esm/libs/referrer-parser/index.js +2 -2
  165. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  166. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  167. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  168. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  169. package/dist/esm/libs/url.d.ts +1 -1
  170. package/dist/esm/libs/url.js +9 -9
  171. package/dist/esm/services/db/destinations-service.d.ts +7 -7
  172. package/dist/esm/services/db/destinations-service.js +31 -31
  173. package/dist/esm/services/db/index.d.ts +4 -4
  174. package/dist/esm/services/db/index.js +4 -4
  175. package/dist/esm/services/db/log-events-data-service.d.ts +6 -6
  176. package/dist/esm/services/db/log-events-data-service.js +27 -27
  177. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  178. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  179. package/dist/esm/services/db/tracking-events-db-service.d.ts +17 -17
  180. package/dist/esm/services/db/tracking-events-db-service.js +130 -130
  181. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  182. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  183. package/dist/esm/services/index.d.ts +5 -5
  184. package/dist/esm/services/index.js +5 -5
  185. package/dist/esm/services/ipdata-lookup-service.d.ts +8 -8
  186. package/dist/esm/services/ipdata-lookup-service.js +55 -55
  187. package/dist/esm/services/log-event-service.d.ts +9 -9
  188. package/dist/esm/services/log-event-service.js +52 -52
  189. package/dist/esm/services/metric-event-service.d.ts +9 -9
  190. package/dist/esm/services/metric-event-service.js +45 -45
  191. package/dist/esm/types/api-response.d.ts +6 -6
  192. package/dist/esm/types/api-response.js +1 -1
  193. package/dist/esm/types/index.d.ts +1 -1
  194. package/dist/esm/types/index.js +1 -1
  195. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  196. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  197. package/dist/esm/types/internal-events/index.d.ts +1 -1
  198. package/dist/esm/types/internal-events/index.js +1 -1
  199. package/package.json +3 -3
@@ -1,46 +1,46 @@
1
- import { EventBridgeClient as EventBridge, PutEventsCommand } from '@aws-sdk/client-eventbridge';
2
- import { v4 as uuidv4 } from 'uuid';
3
- import { getCurrentTimestamp } from '../../libs/dates.js';
4
- import { Logger } from '../../index.js';
5
- export class EventBridgeClient {
6
- eventBridge;
7
- EVENT_BUS_NAME;
8
- constructor(eventBusName) {
9
- this.eventBridge = new EventBridge({});
10
- this.EVENT_BUS_NAME = eventBusName;
11
- }
12
- buildAndSendEvent = async (eventSource, eventType, eventData) => {
13
- const event = this.buildEvent(eventType, eventData);
14
- return await this.putEvent(eventSource, eventType, event);
15
- };
16
- buildEvent = (eventType, eventData, eventId = uuidv4(), eventTime = getCurrentTimestamp()) => {
17
- return {
18
- eventId,
19
- eventType,
20
- eventTime,
21
- eventData
22
- };
23
- };
24
- putEvent = async (source, detailType, data, headers = null) => {
25
- const params = {
26
- Entries: [{
27
- Detail: JSON.stringify({ headers, data }),
28
- DetailType: detailType,
29
- EventBusName: this.EVENT_BUS_NAME,
30
- Source: source,
31
- Time: new Date(),
32
- }],
33
- };
34
- const putEventscommand = new PutEventsCommand(params);
35
- const response = await this.eventBridge.send(putEventscommand);
36
- Logger.debug('EventBus Event Published', {
37
- eventBusName: this.EVENT_BUS_NAME,
38
- eventSource: source,
39
- eventType: detailType,
40
- event: data,
41
- response
42
- });
43
- return response;
44
- };
45
- }
1
+ import { EventBridgeClient as EventBridge, PutEventsCommand } from '@aws-sdk/client-eventbridge';
2
+ import { v4 as uuidv4 } from 'uuid';
3
+ import { getCurrentTimestamp } from '../../libs/dates.js';
4
+ import { Logger } from '../../index.js';
5
+ export class EventBridgeClient {
6
+ eventBridge;
7
+ EVENT_BUS_NAME;
8
+ constructor(eventBusName) {
9
+ this.eventBridge = new EventBridge({});
10
+ this.EVENT_BUS_NAME = eventBusName;
11
+ }
12
+ buildAndSendEvent = async (eventSource, eventType, eventData) => {
13
+ const event = this.buildEvent(eventType, eventData);
14
+ return await this.putEvent(eventSource, eventType, event);
15
+ };
16
+ buildEvent = (eventType, eventData, eventId = uuidv4(), eventTime = getCurrentTimestamp()) => {
17
+ return {
18
+ eventId,
19
+ eventType,
20
+ eventTime,
21
+ eventData
22
+ };
23
+ };
24
+ putEvent = async (source, detailType, data, headers = null) => {
25
+ const params = {
26
+ Entries: [{
27
+ Detail: JSON.stringify({ headers, data }),
28
+ DetailType: detailType,
29
+ EventBusName: this.EVENT_BUS_NAME,
30
+ Source: source,
31
+ Time: new Date(),
32
+ }],
33
+ };
34
+ const putEventscommand = new PutEventsCommand(params);
35
+ const response = await this.eventBridge.send(putEventscommand);
36
+ Logger.debug('EventBus Event Published', {
37
+ eventBusName: this.EVENT_BUS_NAME,
38
+ eventSource: source,
39
+ eventType: detailType,
40
+ event: data,
41
+ response
42
+ });
43
+ return response;
44
+ };
45
+ }
46
46
  //# sourceMappingURL=eventbridge-client.js.map
@@ -1,88 +1,88 @@
1
- import { AxiosInstance, AxiosRequestConfig, CreateAxiosDefaults } from 'axios';
2
- export declare class GenericHttpClient {
3
- _axiosService: AxiosInstance;
4
- constructor(config?: CreateAxiosDefaults);
5
- instance: () => AxiosInstance;
6
- get: (url: string, config?: AxiosRequestConfig) => Promise<{
7
- headers: any;
8
- data: any;
9
- status: any;
10
- } | {
11
- headers: any;
12
- data: any;
13
- status: any;
14
- } | {
15
- status: number;
16
- data: {
17
- message: string;
18
- error: any;
19
- };
20
- headers?: undefined;
21
- }>;
22
- post: (url: string, data?: any, config?: any) => Promise<{
23
- headers: any;
24
- data: any;
25
- status: any;
26
- } | {
27
- headers: any;
28
- data: any;
29
- status: any;
30
- } | {
31
- status: number;
32
- data: {
33
- message: string;
34
- error: any;
35
- };
36
- headers?: undefined;
37
- }>;
38
- delete: (url: string, config?: any) => Promise<{
39
- headers: any;
40
- data: any;
41
- status: any;
42
- } | {
43
- headers: any;
44
- data: any;
45
- status: any;
46
- } | {
47
- status: number;
48
- data: {
49
- message: string;
50
- error: any;
51
- };
52
- headers?: undefined;
53
- }>;
54
- put: (url: string, data?: any, config?: any) => Promise<{
55
- headers: any;
56
- data: any;
57
- status: any;
58
- } | {
59
- headers: any;
60
- data: any;
61
- status: any;
62
- } | {
63
- status: number;
64
- data: {
65
- message: string;
66
- error: any;
67
- };
68
- headers?: undefined;
69
- }>;
70
- patch: (url: string, data?: any, config?: any) => Promise<{
71
- headers: any;
72
- data: any;
73
- status: any;
74
- } | {
75
- headers: any;
76
- data: any;
77
- status: any;
78
- } | {
79
- status: number;
80
- data: {
81
- message: string;
82
- error: any;
83
- };
84
- headers?: undefined;
85
- }>;
86
- setBaseUrl: (url: string) => boolean;
87
- }
88
- export declare const axiosHttpService: (config?: CreateAxiosDefaults) => GenericHttpClient;
1
+ import { AxiosInstance, AxiosRequestConfig, CreateAxiosDefaults } from 'axios';
2
+ export declare class GenericHttpClient {
3
+ _axiosService: AxiosInstance;
4
+ constructor(config?: CreateAxiosDefaults);
5
+ instance: () => AxiosInstance;
6
+ get: (url: string, config?: AxiosRequestConfig) => Promise<{
7
+ headers: any;
8
+ data: any;
9
+ status: any;
10
+ } | {
11
+ headers: any;
12
+ data: any;
13
+ status: any;
14
+ } | {
15
+ status: number;
16
+ data: {
17
+ message: string;
18
+ error: any;
19
+ };
20
+ headers?: undefined;
21
+ }>;
22
+ post: (url: string, data?: any, config?: any) => Promise<{
23
+ headers: any;
24
+ data: any;
25
+ status: any;
26
+ } | {
27
+ headers: any;
28
+ data: any;
29
+ status: any;
30
+ } | {
31
+ status: number;
32
+ data: {
33
+ message: string;
34
+ error: any;
35
+ };
36
+ headers?: undefined;
37
+ }>;
38
+ delete: (url: string, config?: any) => Promise<{
39
+ headers: any;
40
+ data: any;
41
+ status: any;
42
+ } | {
43
+ headers: any;
44
+ data: any;
45
+ status: any;
46
+ } | {
47
+ status: number;
48
+ data: {
49
+ message: string;
50
+ error: any;
51
+ };
52
+ headers?: undefined;
53
+ }>;
54
+ put: (url: string, data?: any, config?: any) => Promise<{
55
+ headers: any;
56
+ data: any;
57
+ status: any;
58
+ } | {
59
+ headers: any;
60
+ data: any;
61
+ status: any;
62
+ } | {
63
+ status: number;
64
+ data: {
65
+ message: string;
66
+ error: any;
67
+ };
68
+ headers?: undefined;
69
+ }>;
70
+ patch: (url: string, data?: any, config?: any) => Promise<{
71
+ headers: any;
72
+ data: any;
73
+ status: any;
74
+ } | {
75
+ headers: any;
76
+ data: any;
77
+ status: any;
78
+ } | {
79
+ status: number;
80
+ data: {
81
+ message: string;
82
+ error: any;
83
+ };
84
+ headers?: undefined;
85
+ }>;
86
+ setBaseUrl: (url: string) => boolean;
87
+ }
88
+ export declare const axiosHttpService: (config?: CreateAxiosDefaults) => GenericHttpClient;
@@ -1,49 +1,49 @@
1
- import axios from 'axios';
2
- import https from 'https';
3
- import log from 'lambda-log';
4
- const httpResponse = (res = {}) => {
5
- return {
6
- headers: res?.headers || {},
7
- data: res?.data || {},
8
- status: res?.status || 0,
9
- };
10
- };
11
- const handleAxiosError = (error) => {
12
- if (error.response) {
13
- log.error('Axios Received Failure Resposne', { error });
14
- return {
15
- headers: error?.response?.headers,
16
- data: error?.response?.data,
17
- status: error?.response.status
18
- };
19
- }
20
- else if (error.request) {
21
- log.error('Axios unknown failure - no response received', { error });
22
- return {
23
- status: 500,
24
- data: { message: 'axios unknown failure, no response received', error }
25
- };
26
- }
27
- else {
28
- throw error;
29
- }
30
- };
31
- export class GenericHttpClient {
32
- _axiosService;
33
- constructor(config = {}) {
34
- config.adapter = 'http';
35
- config.httpsAgent = new https.Agent({ keepAlive: true });
36
- this._axiosService = axios.create(config);
37
- }
38
- instance = () => this._axiosService;
39
- get = (url, config) => this._axiosService.get(url, config).then(httpResponse, handleAxiosError);
40
- post = (url, data, config) => this._axiosService.post(url, data, config).then(httpResponse, handleAxiosError);
41
- delete = (url, config) => this._axiosService.delete(url, config).then(httpResponse, handleAxiosError);
42
- put = (url, data, config) => this._axiosService.put(url, data, config).then(httpResponse, handleAxiosError);
43
- patch = (url, data, config) => this._axiosService.patch(url, data, config).then(httpResponse, handleAxiosError);
44
- setBaseUrl = (url) => !!(this._axiosService.defaults.baseURL = url);
45
- }
46
- export const axiosHttpService = (config = {}) => {
47
- return new GenericHttpClient(config);
48
- };
1
+ import axios from 'axios';
2
+ import https from 'https';
3
+ import log from 'lambda-log';
4
+ const httpResponse = (res = {}) => {
5
+ return {
6
+ headers: res?.headers || {},
7
+ data: res?.data || {},
8
+ status: res?.status || 0,
9
+ };
10
+ };
11
+ const handleAxiosError = (error) => {
12
+ if (error.response) {
13
+ log.error('Axios Received Failure Resposne', { error });
14
+ return {
15
+ headers: error?.response?.headers,
16
+ data: error?.response?.data,
17
+ status: error?.response.status
18
+ };
19
+ }
20
+ else if (error.request) {
21
+ log.error('Axios unknown failure - no response received', { error });
22
+ return {
23
+ status: 500,
24
+ data: { message: 'axios unknown failure, no response received', error }
25
+ };
26
+ }
27
+ else {
28
+ throw error;
29
+ }
30
+ };
31
+ export class GenericHttpClient {
32
+ _axiosService;
33
+ constructor(config = {}) {
34
+ config.adapter = 'http';
35
+ config.httpsAgent = new https.Agent({ keepAlive: true });
36
+ this._axiosService = axios.create(config);
37
+ }
38
+ instance = () => this._axiosService;
39
+ get = (url, config) => this._axiosService.get(url, config).then(httpResponse, handleAxiosError);
40
+ post = (url, data, config) => this._axiosService.post(url, data, config).then(httpResponse, handleAxiosError);
41
+ delete = (url, config) => this._axiosService.delete(url, config).then(httpResponse, handleAxiosError);
42
+ put = (url, data, config) => this._axiosService.put(url, data, config).then(httpResponse, handleAxiosError);
43
+ patch = (url, data, config) => this._axiosService.patch(url, data, config).then(httpResponse, handleAxiosError);
44
+ setBaseUrl = (url) => !!(this._axiosService.defaults.baseURL = url);
45
+ }
46
+ export const axiosHttpService = (config = {}) => {
47
+ return new GenericHttpClient(config);
48
+ };
49
49
  //# sourceMappingURL=http-client.js.map
@@ -1,6 +1,6 @@
1
- export * from './dynamodb-client.js';
2
- export * from './eventbridge-client.js';
3
- export * from './http-client.js';
4
- export * from './s3-client.js';
5
- export * from './cognito-client.js';
6
- export * from './sqs-client.js';
1
+ export * from './dynamodb-client.js';
2
+ export * from './eventbridge-client.js';
3
+ export * from './http-client.js';
4
+ export * from './s3-client.js';
5
+ export * from './cognito-client.js';
6
+ export * from './sqs-client.js';
@@ -1,7 +1,7 @@
1
- export * from './dynamodb-client.js';
2
- export * from './eventbridge-client.js';
3
- export * from './http-client.js';
4
- export * from './s3-client.js';
5
- export * from './cognito-client.js';
6
- export * from './sqs-client.js';
1
+ export * from './dynamodb-client.js';
2
+ export * from './eventbridge-client.js';
3
+ export * from './http-client.js';
4
+ export * from './s3-client.js';
5
+ export * from './cognito-client.js';
6
+ export * from './sqs-client.js';
7
7
  //# sourceMappingURL=index.js.map
@@ -1,16 +1,16 @@
1
- import { ObjectCannedACL, PutObjectCommandOutput, S3 } from '@aws-sdk/client-s3';
2
- export declare class S3Client {
3
- s3: S3;
4
- constructor(region?: string);
5
- getObject(path: string, bucket: string): Promise<any>;
6
- checkObjectExists(path: string, bucket: string): Promise<boolean>;
7
- checkAndUploadJson(path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number): Promise<{
8
- status: boolean;
9
- response?: PutObjectCommandOutput;
10
- }>;
11
- uploadJson(path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number, stringify?: boolean): Promise<{
12
- status: boolean;
13
- response: PutObjectCommandOutput;
14
- }>;
15
- moveObject(bucket: string, key: string, moveToKey: string): Promise<any>;
16
- }
1
+ import { ObjectCannedACL, PutObjectCommandOutput, S3 } from '@aws-sdk/client-s3';
2
+ export declare class S3Client {
3
+ s3: S3;
4
+ constructor(region?: string);
5
+ getObject(path: string, bucket: string): Promise<any>;
6
+ checkObjectExists(path: string, bucket: string): Promise<boolean>;
7
+ checkAndUploadJson(path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number): Promise<{
8
+ status: boolean;
9
+ response?: PutObjectCommandOutput;
10
+ }>;
11
+ uploadJson(path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number, stringify?: boolean): Promise<{
12
+ status: boolean;
13
+ response: PutObjectCommandOutput;
14
+ }>;
15
+ moveObject(bucket: string, key: string, moveToKey: string): Promise<any>;
16
+ }
@@ -1,107 +1,107 @@
1
- import { ObjectCannedACL, S3 } from '@aws-sdk/client-s3';
2
- import { Logger } from '../../index.js';
3
- export class S3Client {
4
- s3;
5
- constructor(region = 'us-west-2') {
6
- this.s3 = new S3({ region });
7
- }
8
- async getObject(path, bucket) {
9
- try {
10
- const data = await this.s3.getObject({
11
- Bucket: bucket,
12
- Key: path
13
- });
14
- return data?.Body;
15
- }
16
- catch (error) {
17
- Logger.error('Failed to getObject', { bucket, path });
18
- }
19
- }
20
- async checkObjectExists(path, bucket) {
21
- try {
22
- const data = await this.s3.headObject({
23
- Bucket: bucket,
24
- Key: path,
25
- });
26
- const exists = data.$metadata.httpStatusCode === 200;
27
- return exists;
28
- }
29
- catch (error) {
30
- if (error.$metadata?.httpStatusCode === 404) {
31
- return false;
32
- }
33
- else if (error.$metadata?.httpStatusCode === 403) {
34
- return false;
35
- }
36
- else {
37
- Logger.error('checkObjectExists unknown error', { error });
38
- return false;
39
- }
40
- }
41
- }
42
- async checkAndUploadJson(path, bucket, jsonData, ACL = ObjectCannedACL.private, retryCount = 0, maxRetries = 5) {
43
- try {
44
- const checkObject = await this.checkObjectExists(path, bucket);
45
- let res = {};
46
- if (!checkObject) {
47
- res = await this.s3.putObject({
48
- ACL,
49
- Bucket: bucket,
50
- ContentType: 'application/json; charset=utf-8',
51
- Body: JSON.stringify(jsonData),
52
- Key: path
53
- });
54
- }
55
- return { status: true, response: res };
56
- }
57
- catch (error) {
58
- Logger.error('Error in s3 upload json', { error });
59
- if (retryCount < maxRetries) {
60
- retryCount++;
61
- Logger.warn('retrying to uploadJson', { path, bucket, jsonData, ACL, retryCount });
62
- await new Promise(resolve => setTimeout(resolve, 1000 * retryCount));
63
- return await this.uploadJson(path, bucket, jsonData, ACL, retryCount);
64
- }
65
- return { status: false, response: jsonData };
66
- }
67
- }
68
- async uploadJson(path, bucket, jsonData, ACL = ObjectCannedACL.private, retryCount = 0, maxRetries = 5, stringify = true) {
69
- try {
70
- const res = await this.s3.putObject({
71
- ACL,
72
- Bucket: bucket,
73
- ContentType: 'application/json; charset=utf-8',
74
- Body: stringify ? JSON.stringify(jsonData) : jsonData,
75
- Key: path
76
- });
77
- return { status: true, response: res };
78
- }
79
- catch (error) {
80
- Logger.error('Error in s3 upload json', { error });
81
- if (retryCount < maxRetries) {
82
- retryCount++;
83
- Logger.warn('retrying to uploadJson', { path, bucket, jsonData, ACL, retryCount });
84
- await new Promise(resolve => setTimeout(resolve, 1000 * retryCount));
85
- return await this.uploadJson(path, bucket, jsonData, ACL, retryCount);
86
- }
87
- return { status: false, response: jsonData };
88
- }
89
- }
90
- async moveObject(bucket, key, moveToKey) {
91
- try {
92
- await this.s3.copyObject({
93
- Bucket: bucket,
94
- CopySource: `${bucket}/${key}`,
95
- Key: moveToKey
96
- });
97
- await this.s3.deleteObject({
98
- Bucket: bucket,
99
- Key: key
100
- });
101
- }
102
- catch (error) {
103
- Logger.error('Failed to move s3 object', { error, bucket, key, moveToKey });
104
- }
105
- }
106
- }
1
+ import { ObjectCannedACL, S3 } from '@aws-sdk/client-s3';
2
+ import { Logger } from '../../index.js';
3
+ export class S3Client {
4
+ s3;
5
+ constructor(region = 'us-west-2') {
6
+ this.s3 = new S3({ region });
7
+ }
8
+ async getObject(path, bucket) {
9
+ try {
10
+ const data = await this.s3.getObject({
11
+ Bucket: bucket,
12
+ Key: path
13
+ });
14
+ return data?.Body;
15
+ }
16
+ catch (error) {
17
+ Logger.error('Failed to getObject', { bucket, path });
18
+ }
19
+ }
20
+ async checkObjectExists(path, bucket) {
21
+ try {
22
+ const data = await this.s3.headObject({
23
+ Bucket: bucket,
24
+ Key: path,
25
+ });
26
+ const exists = data.$metadata.httpStatusCode === 200;
27
+ return exists;
28
+ }
29
+ catch (error) {
30
+ if (error.$metadata?.httpStatusCode === 404) {
31
+ return false;
32
+ }
33
+ else if (error.$metadata?.httpStatusCode === 403) {
34
+ return false;
35
+ }
36
+ else {
37
+ Logger.error('checkObjectExists unknown error', { error });
38
+ return false;
39
+ }
40
+ }
41
+ }
42
+ async checkAndUploadJson(path, bucket, jsonData, ACL = ObjectCannedACL.private, retryCount = 0, maxRetries = 5) {
43
+ try {
44
+ const checkObject = await this.checkObjectExists(path, bucket);
45
+ let res = {};
46
+ if (!checkObject) {
47
+ res = await this.s3.putObject({
48
+ ACL,
49
+ Bucket: bucket,
50
+ ContentType: 'application/json; charset=utf-8',
51
+ Body: JSON.stringify(jsonData),
52
+ Key: path
53
+ });
54
+ }
55
+ return { status: true, response: res };
56
+ }
57
+ catch (error) {
58
+ Logger.error('Error in s3 upload json', { error });
59
+ if (retryCount < maxRetries) {
60
+ retryCount++;
61
+ Logger.warn('retrying to uploadJson', { path, bucket, jsonData, ACL, retryCount });
62
+ await new Promise(resolve => setTimeout(resolve, 1000 * retryCount));
63
+ return await this.uploadJson(path, bucket, jsonData, ACL, retryCount);
64
+ }
65
+ return { status: false, response: jsonData };
66
+ }
67
+ }
68
+ async uploadJson(path, bucket, jsonData, ACL = ObjectCannedACL.private, retryCount = 0, maxRetries = 5, stringify = true) {
69
+ try {
70
+ const res = await this.s3.putObject({
71
+ ACL,
72
+ Bucket: bucket,
73
+ ContentType: 'application/json; charset=utf-8',
74
+ Body: stringify ? JSON.stringify(jsonData) : jsonData,
75
+ Key: path
76
+ });
77
+ return { status: true, response: res };
78
+ }
79
+ catch (error) {
80
+ Logger.error('Error in s3 upload json', { error });
81
+ if (retryCount < maxRetries) {
82
+ retryCount++;
83
+ Logger.warn('retrying to uploadJson', { path, bucket, jsonData, ACL, retryCount });
84
+ await new Promise(resolve => setTimeout(resolve, 1000 * retryCount));
85
+ return await this.uploadJson(path, bucket, jsonData, ACL, retryCount);
86
+ }
87
+ return { status: false, response: jsonData };
88
+ }
89
+ }
90
+ async moveObject(bucket, key, moveToKey) {
91
+ try {
92
+ await this.s3.copyObject({
93
+ Bucket: bucket,
94
+ CopySource: `${bucket}/${key}`,
95
+ Key: moveToKey
96
+ });
97
+ await this.s3.deleteObject({
98
+ Bucket: bucket,
99
+ Key: key
100
+ });
101
+ }
102
+ catch (error) {
103
+ Logger.error('Failed to move s3 object', { error, bucket, key, moveToKey });
104
+ }
105
+ }
106
+ }
107
107
  //# sourceMappingURL=s3-client.js.map