@accon/connect 0.1.1 → 0.3.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 (44) 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/order/accon/accon-webhook.config.d.ts +25 -0
  32. package/dist/order/accon/accon-webhook.config.js +27 -0
  33. package/dist/order/accon/accon-webhook.config.js.map +1 -0
  34. package/dist/order/accon/accon-webhook.order-output.d.ts +34 -0
  35. package/dist/order/accon/accon-webhook.order-output.js +313 -0
  36. package/dist/order/accon/accon-webhook.order-output.js.map +1 -0
  37. package/dist/order/accon/dto/accon-webhook/index.d.ts +1 -0
  38. package/dist/order/accon/dto/accon-webhook/index.js +18 -0
  39. package/dist/order/accon/dto/accon-webhook/index.js.map +1 -0
  40. package/dist/order/accon/dto/accon-webhook/webhook-body.dto.d.ts +107 -0
  41. package/dist/order/accon/dto/accon-webhook/webhook-body.dto.js +107 -0
  42. package/dist/order/accon/dto/accon-webhook/webhook-body.dto.js.map +1 -0
  43. package/dist/tsconfig.build.tsbuildinfo +1 -1
  44. package/package.json +1 -1
@@ -0,0 +1,313 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var AcconWebhookOrderOutput_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.AcconWebhookOrderOutput = void 0;
14
+ const core_1 = require("../../core/index.js");
15
+ const common_1 = require("@nestjs/common");
16
+ const accon_webhook_config_1 = require("./accon-webhook.config");
17
+ const invalid_payload_exception_1 = require("../../core/exceptions/invalid-payload.exception");
18
+ const axios_1 = require("@nestjs/axios");
19
+ const rxjs_1 = require("rxjs");
20
+ const axios_2 = require("axios");
21
+ const order_event_type_1 = require("../../core/types/order-event.type");
22
+ let AcconWebhookOrderOutput = AcconWebhookOrderOutput_1 = class AcconWebhookOrderOutput {
23
+ httpService;
24
+ eventsService;
25
+ dispatchEvent;
26
+ logger = new common_1.Logger(AcconWebhookOrderOutput_1.name);
27
+ constructor(httpService, eventsService) {
28
+ this.httpService = httpService;
29
+ this.eventsService = eventsService;
30
+ this.dispatchEvent = eventsService.createDispatcherFor('Accon Webhook', 'OrderOutput');
31
+ }
32
+ onOrderCreated(payload, config) {
33
+ return this.callHook('onOrderCreated', payload, config);
34
+ }
35
+ onOrderUpdated(payload, config) {
36
+ return this.callHook('onOrderUpdated', payload, config);
37
+ }
38
+ onOrderCanceled(payload, config) {
39
+ return this.callHook('onOrderCanceled', payload, config);
40
+ }
41
+ async callHook(type, payload, config) {
42
+ const key = {
43
+ onOrderCreated: 'onCreatedURL',
44
+ onOrderUpdated: 'onUpdatedURL',
45
+ onOrderCanceled: 'onCanceledURL',
46
+ };
47
+ const url = config[key[type]];
48
+ if (typeof url !== 'string') {
49
+ this.logger.warn(`${type}: Configuração de URL ausente`);
50
+ return;
51
+ }
52
+ const { order } = payload;
53
+ this.dispatchEvent({
54
+ eventType: 'INTEGRATION_INITIATED',
55
+ orderId: order.id,
56
+ });
57
+ this.logger.debug(`${type}: Transformando o pedido com id: ${order.id}`);
58
+ this.dispatchEvent({
59
+ eventType: 'INTEGRATION_PROCESSING',
60
+ orderId: order.id,
61
+ });
62
+ const body = this.transformOrder(payload);
63
+ this.logger.debug(`${type}: Pedido transformado`, body);
64
+ try {
65
+ const { status, data } = await (0, rxjs_1.firstValueFrom)(this.httpService.post(url, body, { timeout: 5000 }));
66
+ this.dispatchEvent({
67
+ eventType: 'INTEGRATION_COMPLETED',
68
+ orderId: order.id,
69
+ metadata: { data, status },
70
+ });
71
+ }
72
+ catch (error) {
73
+ if ((0, axios_2.isAxiosError)(error)) {
74
+ const errorData = error.response?.data ?? error.message;
75
+ this.logger.error(`${type}: falha ao enviar para ${url}`, errorData);
76
+ this.dispatchEvent({
77
+ eventType: 'INTEGRATION_FAILED',
78
+ orderId: order.id,
79
+ metadata: { error: error.response?.data },
80
+ });
81
+ }
82
+ else {
83
+ this.dispatchEvent({
84
+ eventType: 'INTEGRATION_FAILED',
85
+ orderId: order.id,
86
+ metadata: { error },
87
+ });
88
+ this.logger.error(`${type}: ${error.message}`, error);
89
+ }
90
+ }
91
+ }
92
+ transformOrder(payload) {
93
+ const { order, merchant, events } = payload;
94
+ if (!merchant) {
95
+ throw new invalid_payload_exception_1.InvalidPayloadException('Os dados do estabelecimento são obrigatórios para integração', 'merchant');
96
+ }
97
+ if (!order.customer) {
98
+ throw new core_1.InvalidOrderException('O pedido não possui cliente', 'customer');
99
+ }
100
+ const deliveryFee = order.otherFees.find(({ type }) => type === 'DELIVERY_FEE');
101
+ const { delivery } = order;
102
+ const changeFor = order.payments.methods?.reduce((acc, method) => {
103
+ return acc + (method.changeFor ?? 0);
104
+ }, 0);
105
+ return {
106
+ _id: order.id,
107
+ delivery: order.type === 'DELIVERY',
108
+ canceled: events?.some(({ eventType }) => eventType === order_event_type_1.OrderEventType.CANCELLED) || false,
109
+ scheduled: order.orderTiming === 'SCHEDULED',
110
+ sequential: order.displayId,
111
+ store: {
112
+ _id: order.merchant.id,
113
+ name: order.merchant.name,
114
+ address: {
115
+ address: merchant.address.street,
116
+ number: merchant.address.number,
117
+ complement: merchant.address.complement ?? undefined,
118
+ city: merchant.address.city,
119
+ state: merchant.address.state,
120
+ zip: merchant.address.postalCode,
121
+ latlng: {
122
+ lat: parseFloat(merchant.address.latitude.toString()),
123
+ lng: parseFloat(merchant.address.longitude.toString()),
124
+ },
125
+ },
126
+ details: {
127
+ document: merchant.document,
128
+ email: merchant.contactEmails[0],
129
+ phone: merchant.commercialNumber,
130
+ socialName: merchant.corporateName,
131
+ storePhone: merchant.commercialNumber,
132
+ },
133
+ deliveryTime: '40',
134
+ toGoTime: '30',
135
+ },
136
+ deliveryTax: deliveryFee?.price?.value || 0,
137
+ address: delivery?.deliveryAddress
138
+ ? {
139
+ address: delivery.deliveryAddress.street,
140
+ number: delivery.deliveryAddress.number,
141
+ complement: delivery.deliveryAddress.complement,
142
+ city: delivery.deliveryAddress.city,
143
+ state: delivery.deliveryAddress.state,
144
+ zip: delivery.deliveryAddress.postalCode,
145
+ latlng: {
146
+ lat: parseFloat(delivery.deliveryAddress.coordinates.latitude.toString()),
147
+ lng: parseFloat(delivery.deliveryAddress.coordinates.longitude.toString()),
148
+ },
149
+ }
150
+ : undefined,
151
+ date: order.createdAt,
152
+ scheduledDate: order.schedule?.scheduledDateTimeStart,
153
+ subtotal: order.total.itemsPrice.value,
154
+ discount: order.total.discount.value,
155
+ total: order.total.orderAmount.value,
156
+ status: this.transformEvents(events ?? []),
157
+ user: {
158
+ _id: order.customer.id,
159
+ name: order.customer.name,
160
+ phone: order.customer.phone.number,
161
+ email: order.customer.email,
162
+ document: order.customer.documentNumber,
163
+ totalOrders: order.customer.ordersCountOnMerchant,
164
+ },
165
+ notes: order.extraInfo,
166
+ change: changeFor,
167
+ source: order.salesChannel ?? 'ecommerce',
168
+ network: '000000000000000000000000',
169
+ payment: this.transformPayment(order),
170
+ voucher: this.transformVoucher(order),
171
+ products: this.transformProducts(order),
172
+ };
173
+ }
174
+ transformProducts(order) {
175
+ return order.items.map((item, index) => ({
176
+ id: item.id,
177
+ name: item.name,
178
+ notes: item.specialInstructions ?? '',
179
+ quantity: item.quantity,
180
+ total: item.totalPrice.value,
181
+ modifiers: (item.options ?? []).map((modifier) => ({
182
+ id: modifier.id,
183
+ name: modifier.name,
184
+ price: {
185
+ actualPrice: modifier.unitPrice.value,
186
+ originalPrice: 0,
187
+ starterPrice: 0,
188
+ },
189
+ quantity: modifier.quantity,
190
+ group: index.toString(),
191
+ externalVendorCode: modifier.externalCode,
192
+ })),
193
+ group: index.toString(),
194
+ externalVendorCode: item.externalCode,
195
+ }));
196
+ }
197
+ transformVoucher(order) {
198
+ return order.discounts
199
+ .filter((discount) => discount.sponsorshipValues.length > 0)
200
+ .map((discount) => {
201
+ const sponsorship = discount.sponsorshipValues[0];
202
+ return {
203
+ rede: '000000000000000000000000',
204
+ stores: [order.merchant.id],
205
+ fidelity: sponsorship?.discountCode === 'CASHBACK',
206
+ name: sponsorship?.name ?? '',
207
+ text: sponsorship?.discountCode ?? '',
208
+ products: [],
209
+ is_active: true,
210
+ value: discount.amount.value,
211
+ percent: false,
212
+ recurrent: false,
213
+ };
214
+ });
215
+ }
216
+ transformEvents(events) {
217
+ if (!events.length) {
218
+ return [
219
+ {
220
+ name: 'Realizado',
221
+ obs: '',
222
+ date: new Date().toISOString(),
223
+ },
224
+ ];
225
+ }
226
+ const ACCON_ALLOWED_STATUS = [
227
+ order_event_type_1.OrderEventType.CREATED,
228
+ order_event_type_1.OrderEventType.CONFIRMED,
229
+ order_event_type_1.OrderEventType.READY_FOR_PICKUP,
230
+ order_event_type_1.OrderEventType.DISPATCHED,
231
+ order_event_type_1.OrderEventType.CONCLUDED,
232
+ order_event_type_1.OrderEventType.CANCELLED,
233
+ ];
234
+ const allowedEvents = events.filter((event) => ACCON_ALLOWED_STATUS.includes(event.eventType));
235
+ return allowedEvents
236
+ .map((event) => ({
237
+ date: new Date(event.createdAt).toISOString(),
238
+ obs: '',
239
+ name: ((eventType) => {
240
+ switch (eventType) {
241
+ case order_event_type_1.OrderEventType.CREATED:
242
+ return 'Realizado';
243
+ case order_event_type_1.OrderEventType.CONFIRMED:
244
+ return 'confirmado';
245
+ case order_event_type_1.OrderEventType.DISPATCHED:
246
+ case order_event_type_1.OrderEventType.READY_FOR_PICKUP:
247
+ return 'pronto';
248
+ case order_event_type_1.OrderEventType.DELIVERED:
249
+ case order_event_type_1.OrderEventType.CONCLUDED:
250
+ return 'finalizado';
251
+ case order_event_type_1.OrderEventType.CANCELLED:
252
+ return 'cancelado';
253
+ default:
254
+ throw new Error(`Invalid status eventType: ${eventType}`);
255
+ }
256
+ })(event.eventType),
257
+ }))
258
+ .sort((a, b) => a.date.localeCompare(b.date));
259
+ }
260
+ transformPayment(order) {
261
+ if (order.payments.methods.length !== 1) {
262
+ throw new core_1.InvalidOrderException('O pedido deve possuír apenas um método de pagamento', 'payments');
263
+ }
264
+ const { type, method, brand, transaction } = order.payments.methods[0];
265
+ const online = type === 'PREPAID';
266
+ const METHOD_NAMES = new Map([
267
+ ['PIX', 'Pix'],
268
+ ['CASH', 'Dinheiro'],
269
+ ['CREDIT', 'Crédito'],
270
+ ['DEBIT', 'Débito'],
271
+ ['MEAL_VOUCHER', 'Voucher'],
272
+ ['FOOD_VOUCHER', 'Carteira Digital'],
273
+ ['DIGITAL_WALLET', 'Carteira Digital'],
274
+ ['CREDIT_DEBIT', 'Cartão de Crédito/Débito'],
275
+ ['COUPON', 'Cupom'],
276
+ ['REDEEM', 'Outros'],
277
+ ['PREPAID_REDEEM', 'Outros'],
278
+ ['OTHER', 'Outros'],
279
+ ]);
280
+ const CARD_METHODS = [
281
+ 'CREDIT',
282
+ 'CREDIT_DEBIT',
283
+ 'DEBIT',
284
+ ];
285
+ return {
286
+ cod: online ? '5c51aeba22c5d6596c5ac4b0' : '64554e3809a8eead82e2d4f2',
287
+ online,
288
+ pix: online && method === 'PIX',
289
+ tid: transaction?.authorizationCode,
290
+ authorizationCode: transaction?.authorizationCode,
291
+ name: CARD_METHODS.includes(method) && brand
292
+ ? brand
293
+ : (METHOD_NAMES.get(method) ?? 'Outros'),
294
+ };
295
+ }
296
+ };
297
+ exports.AcconWebhookOrderOutput = AcconWebhookOrderOutput;
298
+ exports.AcconWebhookOrderOutput = AcconWebhookOrderOutput = AcconWebhookOrderOutput_1 = __decorate([
299
+ (0, core_1.RegistryIntegration)({
300
+ id: 'accon-webhook',
301
+ type: 'OrderOutput',
302
+ title: 'Accon 1.0 Webhook',
303
+ category: 'POS',
304
+ description: 'Integre pedidos via Webhook utilizando o formato da Accon 1.0',
305
+ logoUrl: 'https://accon.com.br/wp-content/uploads/2024/08/Accon-Logo-Roxa.webp',
306
+ websiteUrl: 'https://accon.com.br/',
307
+ configSchema: accon_webhook_config_1.ACCON_WEBHOOK_CONFIG_SCHEMA,
308
+ }),
309
+ (0, common_1.Injectable)(),
310
+ __metadata("design:paramtypes", [axios_1.HttpService,
311
+ core_1.EventsService])
312
+ ], AcconWebhookOrderOutput);
313
+ //# sourceMappingURL=accon-webhook.order-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accon-webhook.order-output.js","sourceRoot":"","sources":["../../../lib/order/accon/accon-webhook.order-output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './webhook-body.dto';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./webhook-body.dto"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/order/accon/dto/accon-webhook/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
@@ -0,0 +1,107 @@
1
+ export declare class AddressDto {
2
+ address: string;
3
+ number: string;
4
+ complement?: string;
5
+ city: string;
6
+ state: string;
7
+ zip: string;
8
+ latlng: {
9
+ lat: number;
10
+ lng: number;
11
+ };
12
+ }
13
+ export declare class StoreDto {
14
+ _id: string;
15
+ name: string;
16
+ address: AddressDto;
17
+ deliveryTime: string;
18
+ toGoTime: string;
19
+ details: {
20
+ email: string;
21
+ phone: string;
22
+ socialName: string;
23
+ storePhone: string;
24
+ document: string;
25
+ };
26
+ }
27
+ export declare class UserDto {
28
+ _id: string;
29
+ name: string;
30
+ document?: string;
31
+ email?: string;
32
+ phone: string;
33
+ totalOrders: number;
34
+ }
35
+ export declare class PaymentDto {
36
+ type?: 'credit_card' | 'voucher' | 'ticket' | 'pix';
37
+ online: boolean;
38
+ name: string;
39
+ cod: string;
40
+ pix: boolean;
41
+ externalVendorCode?: string;
42
+ authorizationCode?: string;
43
+ tid?: string;
44
+ card?: string;
45
+ operator?: string;
46
+ refunded?: string;
47
+ }
48
+ export declare class RatingDto {
49
+ stars: number;
50
+ improvements: string[];
51
+ notes?: string;
52
+ reply?: string;
53
+ }
54
+ export declare class StatusDto {
55
+ name: string;
56
+ date: string;
57
+ obs?: string;
58
+ }
59
+ export declare class ModifierDto {
60
+ id: string;
61
+ name: string;
62
+ price: {
63
+ actualPrice: number;
64
+ originalPrice: number;
65
+ starterPrice: number;
66
+ };
67
+ quantity: number;
68
+ group: string;
69
+ externalVendorCode?: string;
70
+ }
71
+ export declare class ProductDto {
72
+ id: string;
73
+ name: string;
74
+ quantity: number;
75
+ modifiers: ModifierDto[];
76
+ notes: string;
77
+ total: number;
78
+ externalVendorCode?: string;
79
+ }
80
+ export declare class WebhookBodyDto {
81
+ _id: string;
82
+ network: string;
83
+ session_id?: string;
84
+ sequential: string;
85
+ store: StoreDto;
86
+ user: UserDto;
87
+ address?: AddressDto;
88
+ delivery: boolean;
89
+ date: string;
90
+ deliveryTax: number;
91
+ discount: number;
92
+ subtotal: number;
93
+ total: number;
94
+ change: number;
95
+ payment: PaymentDto;
96
+ voucher?: {};
97
+ status: StatusDto[];
98
+ canceled: boolean;
99
+ scheduled: boolean;
100
+ scheduledDate?: string;
101
+ ip?: string;
102
+ source: string;
103
+ rating?: RatingDto;
104
+ notes?: string;
105
+ document?: string;
106
+ products: ProductDto[];
107
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebhookBodyDto = exports.ProductDto = exports.ModifierDto = exports.StatusDto = exports.RatingDto = exports.PaymentDto = exports.UserDto = exports.StoreDto = exports.AddressDto = void 0;
4
+ class AddressDto {
5
+ address;
6
+ number;
7
+ complement;
8
+ city;
9
+ state;
10
+ zip;
11
+ latlng;
12
+ }
13
+ exports.AddressDto = AddressDto;
14
+ class StoreDto {
15
+ _id;
16
+ name;
17
+ address;
18
+ deliveryTime;
19
+ toGoTime;
20
+ details;
21
+ }
22
+ exports.StoreDto = StoreDto;
23
+ class UserDto {
24
+ _id;
25
+ name;
26
+ document;
27
+ email;
28
+ phone;
29
+ totalOrders;
30
+ }
31
+ exports.UserDto = UserDto;
32
+ class PaymentDto {
33
+ type;
34
+ online;
35
+ name;
36
+ cod;
37
+ pix;
38
+ externalVendorCode;
39
+ authorizationCode;
40
+ tid;
41
+ card;
42
+ operator;
43
+ refunded;
44
+ }
45
+ exports.PaymentDto = PaymentDto;
46
+ class RatingDto {
47
+ stars;
48
+ improvements;
49
+ notes;
50
+ reply;
51
+ }
52
+ exports.RatingDto = RatingDto;
53
+ class StatusDto {
54
+ name;
55
+ date;
56
+ obs;
57
+ }
58
+ exports.StatusDto = StatusDto;
59
+ class ModifierDto {
60
+ id;
61
+ name;
62
+ price;
63
+ quantity;
64
+ group;
65
+ externalVendorCode;
66
+ }
67
+ exports.ModifierDto = ModifierDto;
68
+ class ProductDto {
69
+ id;
70
+ name;
71
+ quantity;
72
+ modifiers;
73
+ notes;
74
+ total;
75
+ externalVendorCode;
76
+ }
77
+ exports.ProductDto = ProductDto;
78
+ class WebhookBodyDto {
79
+ _id;
80
+ network;
81
+ session_id;
82
+ sequential;
83
+ store;
84
+ user;
85
+ address;
86
+ delivery;
87
+ date;
88
+ deliveryTax;
89
+ discount;
90
+ subtotal;
91
+ total;
92
+ change;
93
+ payment;
94
+ voucher;
95
+ status;
96
+ canceled;
97
+ scheduled;
98
+ scheduledDate;
99
+ ip;
100
+ source;
101
+ rating;
102
+ notes;
103
+ document;
104
+ products;
105
+ }
106
+ exports.WebhookBodyDto = WebhookBodyDto;
107
+ //# sourceMappingURL=webhook-body.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-body.dto.js","sourceRoot":"","sources":["../../../../../lib/order/accon/dto/accon-webhook/webhook-body.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAU;IACrB,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,UAAU,CAAU;IACpB,IAAI,CAAS;IACb,KAAK,CAAS;IACd,GAAG,CAAS;IACZ,MAAM,CAGJ;CACH;AAXD,gCAWC;AAED,MAAa,QAAQ;IACnB,GAAG,CAAS;IACZ,IAAI,CAAS;IACb,OAAO,CAAa;IACpB,YAAY,CAAS;IACrB,QAAQ,CAAS;IACjB,OAAO,CAML;CACH;AAbD,4BAaC;AAED,MAAa,OAAO;IAClB,GAAG,CAAS;IACZ,IAAI,CAAS;IACb,QAAQ,CAAU;IAClB,KAAK,CAAU;IACf,KAAK,CAAS;IACd,WAAW,CAAS;CACrB;AAPD,0BAOC;AAED,MAAa,UAAU;IACrB,IAAI,CAAgD;IACpD,MAAM,CAAU;IAChB,IAAI,CAAS;IACb,GAAG,CAAS;IACZ,GAAG,CAAU;IACb,kBAAkB,CAAU;IAC5B,iBAAiB,CAAU;IAC3B,GAAG,CAAU;IACb,IAAI,CAAU;IACd,QAAQ,CAAU;IAClB,QAAQ,CAAU;CACnB;AAZD,gCAYC;AAED,MAAa,SAAS;IACpB,KAAK,CAAS;IACd,YAAY,CAAW;IACvB,KAAK,CAAU;IACf,KAAK,CAAU;CAChB;AALD,8BAKC;AAED,MAAa,SAAS;IACpB,IAAI,CAAS;IACb,IAAI,CAAS;IACb,GAAG,CAAU;CACd;AAJD,8BAIC;AAED,MAAa,WAAW;IACtB,EAAE,CAAS;IACX,IAAI,CAAS;IACb,KAAK,CAIH;IACF,QAAQ,CAAS;IACjB,KAAK,CAAS;IACd,kBAAkB,CAAU;CAC7B;AAXD,kCAWC;AAED,MAAa,UAAU;IACrB,EAAE,CAAS;IACX,IAAI,CAAS;IACb,QAAQ,CAAS;IACjB,SAAS,CAAgB;IACzB,KAAK,CAAS;IACd,KAAK,CAAS;IACd,kBAAkB,CAAU;CAC7B;AARD,gCAQC;AAED,MAAa,cAAc;IACzB,GAAG,CAAS;IACZ,OAAO,CAAS;IAChB,UAAU,CAAU;IACpB,UAAU,CAAS;IACnB,KAAK,CAAW;IAChB,IAAI,CAAU;IACd,OAAO,CAAc;IACrB,QAAQ,CAAU;IAClB,IAAI,CAAS;IACb,WAAW,CAAS;IACpB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IACjB,KAAK,CAAS;IACd,MAAM,CAAS;IACf,OAAO,CAAa;IACpB,OAAO,CAAM;IACb,MAAM,CAAc;IACpB,QAAQ,CAAU;IAClB,SAAS,CAAU;IACnB,aAAa,CAAU;IACvB,EAAE,CAAU;IACZ,MAAM,CAAS;IACf,MAAM,CAAa;IACnB,KAAK,CAAU;IACf,QAAQ,CAAU;IAClB,QAAQ,CAAe;CACxB;AA3BD,wCA2BC"}