@accon/connect 0.1.0 → 0.2.0

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 (32) hide show
  1. package/coverage/clover.xml +224 -116
  2. package/coverage/coverage-final.json +24 -16
  3. package/coverage/lcov-report/index.html +65 -20
  4. package/coverage/lcov.info +352 -155
  5. package/dist/core/connect.service.d.ts +4 -4
  6. package/dist/core/connect.service.js +28 -7
  7. package/dist/core/connect.service.js.map +1 -1
  8. package/dist/core/exceptions/invalid-payload.exception.d.ts +5 -0
  9. package/dist/core/exceptions/invalid-payload.exception.js +12 -0
  10. package/dist/core/exceptions/invalid-payload.exception.js.map +1 -0
  11. package/dist/core/interfaces/order-output-integration.interface.d.ts +4 -2
  12. package/dist/core/interfaces/webhook-input-integration.interface.d.ts +4 -0
  13. package/dist/core/interfaces/webhook-input-integration.interface.js +3 -0
  14. package/dist/core/interfaces/webhook-input-integration.interface.js.map +1 -0
  15. package/dist/core/types/index.d.ts +2 -0
  16. package/dist/core/types/index.js +2 -0
  17. package/dist/core/types/index.js.map +1 -1
  18. package/dist/core/types/integration-payload.type.d.ts +8 -0
  19. package/dist/core/types/integration-payload.type.js +10 -0
  20. package/dist/core/types/integration-payload.type.js.map +1 -0
  21. package/dist/core/types/merchant.type.d.ts +24 -0
  22. package/dist/core/types/merchant.type.js +30 -0
  23. package/dist/core/types/merchant.type.js.map +1 -0
  24. package/dist/core/types/order-event.type.d.ts +26 -0
  25. package/dist/core/types/order-event.type.js +32 -0
  26. package/dist/core/types/order-event.type.js.map +1 -0
  27. package/dist/core/types/order.type.d.ts +2 -2
  28. package/dist/logistics/foody/foody.order-output.d.ts +2 -2
  29. package/dist/logistics/foody/foody.order-output.js +2 -1
  30. package/dist/logistics/foody/foody.order-output.js.map +1 -1
  31. package/dist/tsconfig.build.tsbuildinfo +1 -1
  32. package/package.json +18 -9
@@ -31,27 +31,48 @@ let ConnectService = ConnectService_1 = class ConnectService {
31
31
  findOne(integrationId) {
32
32
  return integration_registry_service_1.IntegrationRegistryService.getIntegrations().find(({ meta }) => meta.id === integrationId);
33
33
  }
34
- async onOrderCreated(integrations, payload) {
34
+ onOrderCreated(integrations, payload) {
35
+ return this.onOrderEvent('onOrderCreated', integrations, payload);
36
+ }
37
+ async onOrderEvent(event, integrations, payload) {
35
38
  const allIntegrations = this.findAll();
36
39
  for (const [integrationId, config] of Object.entries(integrations)) {
37
40
  const integrationEntry = allIntegrations.find(({ meta }) => meta.id === integrationId);
38
41
  if (!integrationEntry) {
39
- this.logger.warn(`Integration ${integrationId} not found`);
42
+ this.logger.error(`${event}: integration with ID '${integrationId}' was not found.`);
40
43
  continue;
41
44
  }
42
45
  const { integrationClass } = integrationEntry;
43
46
  try {
44
47
  const instance = await this.moduleRef.create(integrationClass);
45
- if (typeof instance.onOrderCreated !== 'function') {
46
- this.logger.warn(`Integration ${integrationId} does not implement onOrderCreated`);
48
+ if (typeof instance[event] !== 'function') {
49
+ this.logger.error(`${event}: integration with ID '${integrationId}' does not implement '${event}'.`);
47
50
  continue;
48
51
  }
49
- await instance.onOrderCreated(payload.order, config);
50
- this.logger.log(`Integration ${integrationId} processed order ${payload.order.id}`);
52
+ await instance[event](payload, config);
53
+ this.logger.log(`${event}: integration with ID '${integrationId}' successfully processed order '${payload.order.id}'.`);
51
54
  }
52
55
  catch (err) {
53
- this.logger.error(`Failed to run integration ${integrationId} for order ${payload.order.id}`, err.stack);
56
+ this.logger.error(`${event}: an error occurred while executing integration '${integrationId}' for order '${payload.order.id}'.`, err.stack);
57
+ }
58
+ }
59
+ }
60
+ async onWebhookData(integrationId, body, queryParams) {
61
+ const integration = this.findOne(integrationId);
62
+ if (!integration) {
63
+ this.logger.error(`onWebhookData: integration with ID '${integrationId}' was not found.`);
64
+ return;
65
+ }
66
+ const { integrationClass } = integration;
67
+ try {
68
+ const instance = await this.moduleRef.create(integrationClass);
69
+ if (typeof instance.onWebhookData !== 'function') {
70
+ this.logger.error(`onWebhookData: integration with ID '${integrationId}' does not implement 'onWebhookData'.`);
54
71
  }
72
+ await instance.onWebhookData(body, queryParams);
73
+ }
74
+ catch (err) {
75
+ this.logger.error(`onWebhookData: ${err.message}`, err.stack);
55
76
  }
56
77
  }
57
78
  };
@@ -1 +1 @@
1
- {"version":3,"file":"connect.service.js","sourceRoot":"","sources":["../../lib/core/connect.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAwE;AACxE,uCAAyC;AACzC,iFAA4E;AAE5E,6DAA4D;AAC5D,kCAAkC;AAG3B,IAAM,cAAc,sBAApB,MAAM,cAAc;IAGL;IAFH,MAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IAE1D,YAAoB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAE5C,KAAK,CAAC,YAAY;QAChB,MAAM,IAAA,yCAAoB,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACL,OAAO,yDAA0B,CAAC,eAAe,EAAE,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,aAAqB;QAC3B,OAAO,yDAA0B,CAAC,eAAe,EAAE,CAAC,IAAI,CACtD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,aAAa,CACxC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,YAAqC,EACrC,OAAyB;QAEzB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAEvC,KAAK,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACnE,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAC3C,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,aAAa,CACxC,CAAC;YAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,aAAa,YAAY,CAAC,CAAC;gBAC3D,SAAS;YACX,CAAC;YAED,MAAM,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAAC;YAE9C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAC1C,gBAA6B,CAC9B,CAAC;gBACF,IAAI,OAAO,QAAQ,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;oBAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,eAAe,aAAa,oCAAoC,CACjE,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,eAAe,aAAa,oBAAoB,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CACnE,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6BAA6B,aAAa,cAAc,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAC1E,GAAG,CAAC,KAAK,CACV,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AA5DY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAIoB,gBAAS;GAH7B,cAAc,CA4D1B"}
1
+ {"version":3,"file":"connect.service.js","sourceRoot":"","sources":["../../lib/core/connect.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { IntegrationPayload } from '../types';
2
+ export declare class InvalidPayloadException extends Error {
3
+ private readonly field?;
4
+ constructor(message: string, field?: keyof IntegrationPayload | undefined);
5
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidPayloadException = void 0;
4
+ class InvalidPayloadException extends Error {
5
+ field;
6
+ constructor(message, field) {
7
+ super(message);
8
+ this.field = field;
9
+ }
10
+ }
11
+ exports.InvalidPayloadException = InvalidPayloadException;
12
+ //# sourceMappingURL=invalid-payload.exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalid-payload.exception.js","sourceRoot":"","sources":["../../../lib/core/exceptions/invalid-payload.exception.ts"],"names":[],"mappings":";;;AAEA,MAAa,uBAAwB,SAAQ,KAAK;IAG7B;IAFnB,YACE,OAAe,EACE,KAAgC;QAEjD,KAAK,CAAC,OAAO,CAAC,CAAC;QAFE,UAAK,GAAL,KAAK,CAA2B;IAGnD,CAAC;CACF;AAPD,0DAOC"}
@@ -1,4 +1,6 @@
1
- import { Order } from '../types/order.type';
1
+ import { IntegrationPayload } from '../types';
2
2
  export interface OrderOutputIntegration<C> {
3
- onOrderCreated(order: Order, config: C): Promise<void>;
3
+ onOrderCreated(payload: IntegrationPayload, config: C): Promise<void>;
4
+ onOrderUpdated?(payload: IntegrationPayload, config: C): Promise<void>;
5
+ onOrderCanceled?(payload: IntegrationPayload, config: C): Promise<void>;
4
6
  }
@@ -0,0 +1,4 @@
1
+ export interface WebhookInputIntegration<B = unknown, Q = Record<string, unknown>> {
2
+ readonly usesWebhook: true;
3
+ onWebhookData(body: B, queryParams?: Q): Promise<void>;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=webhook-input-integration.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-input-integration.interface.js","sourceRoot":"","sources":["../../../lib/core/interfaces/webhook-input-integration.interface.ts"],"names":[],"mappings":""}
@@ -2,3 +2,5 @@ export * from './integration-event-dispatcher.type';
2
2
  export * from './integration-event.type';
3
3
  export * from './integration-type.type';
4
4
  export * from './order.type';
5
+ export * from './merchant.type';
6
+ export * from './integration-payload.type';
@@ -18,4 +18,6 @@ __exportStar(require("./integration-event-dispatcher.type"), exports);
18
18
  __exportStar(require("./integration-event.type"), exports);
19
19
  __exportStar(require("./integration-type.type"), exports);
20
20
  __exportStar(require("./order.type"), exports);
21
+ __exportStar(require("./merchant.type"), exports);
22
+ __exportStar(require("./integration-payload.type"), exports);
21
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/core/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,2DAAyC;AACzC,0DAAwC;AACxC,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/core/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,2DAAyC;AACzC,0DAAwC;AACxC,+CAA6B;AAC7B,kDAAgC;AAChC,6DAA2C"}
@@ -0,0 +1,8 @@
1
+ import { Merchant } from './merchant.type';
2
+ import { OrderEvent } from './order-event.type';
3
+ import { Order } from './order.type';
4
+ export declare class IntegrationPayload {
5
+ order: Order;
6
+ merchant?: Merchant;
7
+ events?: OrderEvent[];
8
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IntegrationPayload = void 0;
4
+ class IntegrationPayload {
5
+ order;
6
+ merchant;
7
+ events;
8
+ }
9
+ exports.IntegrationPayload = IntegrationPayload;
10
+ //# sourceMappingURL=integration-payload.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-payload.type.js","sourceRoot":"","sources":["../../../lib/core/types/integration-payload.type.ts"],"names":[],"mappings":";;;AAIA,MAAa,kBAAkB;IAC7B,KAAK,CAAQ;IACb,QAAQ,CAAY;IACpB,MAAM,CAAgB;CACvB;AAJD,gDAIC"}
@@ -0,0 +1,24 @@
1
+ export declare class AddressDto {
2
+ id: number;
3
+ state: string;
4
+ city: string;
5
+ IBGEStateCode: string | null;
6
+ IBGECityCode: string | null;
7
+ district: string;
8
+ street: string;
9
+ number: string;
10
+ postalCode: string;
11
+ complement: string | null;
12
+ reference: string | null;
13
+ latitude: number;
14
+ longitude: number;
15
+ }
16
+ export declare class Merchant {
17
+ id: number;
18
+ address: AddressDto;
19
+ name: string;
20
+ document: string;
21
+ corporateName: string;
22
+ contactEmails: string[];
23
+ commercialNumber: string;
24
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Merchant = exports.AddressDto = void 0;
4
+ class AddressDto {
5
+ id;
6
+ state;
7
+ city;
8
+ IBGEStateCode;
9
+ IBGECityCode;
10
+ district;
11
+ street;
12
+ number;
13
+ postalCode;
14
+ complement;
15
+ reference;
16
+ latitude;
17
+ longitude;
18
+ }
19
+ exports.AddressDto = AddressDto;
20
+ class Merchant {
21
+ id;
22
+ address;
23
+ name;
24
+ document;
25
+ corporateName;
26
+ contactEmails;
27
+ commercialNumber;
28
+ }
29
+ exports.Merchant = Merchant;
30
+ //# sourceMappingURL=merchant.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merchant.type.js","sourceRoot":"","sources":["../../../lib/core/types/merchant.type.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAU;IACrB,EAAE,CAAS;IACX,KAAK,CAAS;IACd,IAAI,CAAS;IACb,aAAa,CAAgB;IAC7B,YAAY,CAAgB;IAC5B,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,MAAM,CAAS;IACf,UAAU,CAAS;IACnB,UAAU,CAAgB;IAC1B,SAAS,CAAgB;IACzB,QAAQ,CAAS;IACjB,SAAS,CAAS;CACnB;AAdD,gCAcC;AAED,MAAa,QAAQ;IACnB,EAAE,CAAS;IACX,OAAO,CAAa;IACpB,IAAI,CAAS;IACb,QAAQ,CAAS;IACjB,aAAa,CAAS;IACtB,aAAa,CAAW;IACxB,gBAAgB,CAAS;CAC1B;AARD,4BAQC"}
@@ -0,0 +1,26 @@
1
+ export declare enum OrderEventType {
2
+ CREATED = "CREATED",
3
+ CONFIRMED = "CONFIRMED",
4
+ DISPATCHED = "DISPATCHED",
5
+ READY_FOR_PICKUP = "READY_FOR_PICKUP",
6
+ PICKUP_AREA_ASSIGNED = "PICKUP_AREA_ASSIGNED",
7
+ DELIVERED = "DELIVERED",
8
+ CONCLUDED = "CONCLUDED",
9
+ CANCELLATION_REQUESTED = "CANCELLATION_REQUESTED",
10
+ CANCELLATION_REQUEST_DENIED = "CANCELLATION_REQUEST_DENIED",
11
+ CANCELLED = "CANCELLED",
12
+ ORDER_CANCELLATION_REQUEST = "ORDER_CANCELLATION_REQUEST",
13
+ CANCELLED_DENIED = "CANCELLED_DENIED"
14
+ }
15
+ export declare class OrderEvent {
16
+ id: number;
17
+ publicId: string;
18
+ externalId: string | null;
19
+ eventType: OrderEventType;
20
+ orderEventCategory: 'OPEN_DELIVERY' | 'ONLINE_PAYMENT';
21
+ orderId: number;
22
+ sourceAppId: string | null;
23
+ description: string | null;
24
+ createdAt: Date;
25
+ updatedAt: Date;
26
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrderEvent = exports.OrderEventType = void 0;
4
+ var OrderEventType;
5
+ (function (OrderEventType) {
6
+ OrderEventType["CREATED"] = "CREATED";
7
+ OrderEventType["CONFIRMED"] = "CONFIRMED";
8
+ OrderEventType["DISPATCHED"] = "DISPATCHED";
9
+ OrderEventType["READY_FOR_PICKUP"] = "READY_FOR_PICKUP";
10
+ OrderEventType["PICKUP_AREA_ASSIGNED"] = "PICKUP_AREA_ASSIGNED";
11
+ OrderEventType["DELIVERED"] = "DELIVERED";
12
+ OrderEventType["CONCLUDED"] = "CONCLUDED";
13
+ OrderEventType["CANCELLATION_REQUESTED"] = "CANCELLATION_REQUESTED";
14
+ OrderEventType["CANCELLATION_REQUEST_DENIED"] = "CANCELLATION_REQUEST_DENIED";
15
+ OrderEventType["CANCELLED"] = "CANCELLED";
16
+ OrderEventType["ORDER_CANCELLATION_REQUEST"] = "ORDER_CANCELLATION_REQUEST";
17
+ OrderEventType["CANCELLED_DENIED"] = "CANCELLED_DENIED";
18
+ })(OrderEventType || (exports.OrderEventType = OrderEventType = {}));
19
+ class OrderEvent {
20
+ id;
21
+ publicId;
22
+ externalId;
23
+ eventType;
24
+ orderEventCategory;
25
+ orderId;
26
+ sourceAppId;
27
+ description;
28
+ createdAt;
29
+ updatedAt;
30
+ }
31
+ exports.OrderEvent = OrderEvent;
32
+ //# sourceMappingURL=order-event.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-event.type.js","sourceRoot":"","sources":["../../../lib/core/types/order-event.type.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,yCAAuB,CAAA;IACvB,2CAAyB,CAAA;IACzB,uDAAqC,CAAA;IACrC,+DAA6C,CAAA;IAC7C,yCAAuB,CAAA;IACvB,yCAAuB,CAAA;IACvB,mEAAiD,CAAA;IACjD,6EAA2D,CAAA;IAC3D,yCAAuB,CAAA;IACvB,2EAAyD,CAAA;IACzD,uDAAqC,CAAA;AACvC,CAAC,EAbW,cAAc,8BAAd,cAAc,QAazB;AAED,MAAa,UAAU;IACrB,EAAE,CAAS;IACX,QAAQ,CAAS;IACjB,UAAU,CAAgB;IAC1B,SAAS,CAAiB;IAC1B,kBAAkB,CAAqC;IACvD,OAAO,CAAS;IAChB,WAAW,CAAgB;IAC3B,WAAW,CAAgB;IAC3B,SAAS,CAAO;IAChB,SAAS,CAAO;CACjB;AAXD,gCAWC"}
@@ -68,8 +68,8 @@ export type Order = {
68
68
  name: string;
69
69
  amount: Price;
70
70
  discountCode?: string;
71
- };
72
- };
71
+ }[];
72
+ }[];
73
73
  total: {
74
74
  itemsPrice: Price;
75
75
  otherFees: Price;
@@ -1,4 +1,4 @@
1
- import { EventsService, OrderOutputIntegration, Order } from '../../core/index.js';
1
+ import { EventsService, OrderOutputIntegration, Order, IntegrationPayload } from '../../core/index.js';
2
2
  import { FoodyConfig } from './foody.config';
3
3
  import { CreateFoodyOrderDto } from './dto/create-foody-order.dto';
4
4
  import { HttpService } from '@nestjs/axios';
@@ -9,7 +9,7 @@ export declare class FoodyOrderOutput implements OrderOutputIntegration<FoodyCon
9
9
  private readonly BASE_URL;
10
10
  private readonly dispatchEvent;
11
11
  constructor(eventsService: EventsService, httpService: HttpService);
12
- onOrderCreated(order: Order, config: FoodyConfig): Promise<void>;
12
+ onOrderCreated(payload: IntegrationPayload, config: FoodyConfig): Promise<void>;
13
13
  transformPayment(order: Order): 'money' | 'card' | 'online' | 'on_credit' | 'pix' | 'e_wallet';
14
14
  transformOrder(order: Order): CreateFoodyOrderDto;
15
15
  }
@@ -28,7 +28,8 @@ let FoodyOrderOutput = FoodyOrderOutput_1 = class FoodyOrderOutput {
28
28
  this.httpService = httpService;
29
29
  this.dispatchEvent = eventsService.createDispatcherFor('Foody', 'OrderOutput');
30
30
  }
31
- async onOrderCreated(order, config) {
31
+ async onOrderCreated(payload, config) {
32
+ const { order } = payload;
32
33
  this.logger.verbose('onOrderCreated: iniciando integração');
33
34
  if (order.type != 'DELIVERY') {
34
35
  this.logger.verbose('Ignorando pedido com tipo diferente de DELIVERY');
@@ -1 +1 @@
1
- {"version":3,"file":"foody.order-output.js","sourceRoot":"","sources":["../../../lib/logistics/foody/foody.order-output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foody.order-output.js","sourceRoot":"","sources":["../../../lib/logistics/foody/foody.order-output.ts"],"names":[],"mappings":"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"}