@accon/connect 0.9.0 → 0.10.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.
@@ -4,6 +4,14 @@ export type Price = {
4
4
  currency: 'BRL';
5
5
  };
6
6
  export type Unit = 'UNIT' | 'UN' | 'KG' | 'L' | 'OZ' | 'LB' | 'GAL';
7
+ export type OtherFee = {
8
+ name: string;
9
+ type: 'DELIVERY_FEE' | 'SERVICE_FEE' | 'TIP';
10
+ receivedBy: 'MARKETPLACE' | 'MERCHANT' | 'LOGISTIC_SERVICES';
11
+ receiverDocument?: string;
12
+ price: Price;
13
+ observation?: string;
14
+ };
7
15
  export type Order = {
8
16
  id: string;
9
17
  type: 'DELIVERY' | 'TAKEOUT' | 'INDOOR';
@@ -53,14 +61,7 @@ export type Order = {
53
61
  specialInstructions?: string;
54
62
  }[];
55
63
  }[];
56
- otherFees: {
57
- name: string;
58
- type: 'DELIVERY_FEE' | 'SERVICE_FEE' | 'TIP';
59
- receivedBy: 'MARKETPLACE' | 'MERCHANT' | 'LOGISTIC_SERVICES';
60
- receiverDocument?: string;
61
- price: Price;
62
- observation?: string;
63
- }[];
64
+ otherFees: OtherFee[];
64
65
  discounts: {
65
66
  amount: Price;
66
67
  target: 'CART' | 'DELIVERY_FEE' | 'ITEM';
@@ -0,0 +1,50 @@
1
+ export declare class ItensDto {
2
+ codigo_produto: string;
3
+ observacao: string;
4
+ valor: number;
5
+ desconto: number;
6
+ qnt: number;
7
+ total: number;
8
+ itens_montagem: {
9
+ codigo_produto: string;
10
+ observacao: string;
11
+ valor: number;
12
+ qnt: number;
13
+ desconto: number;
14
+ total: number;
15
+ }[];
16
+ }
17
+ export declare class PagamentoDto {
18
+ valor: number;
19
+ forma: string;
20
+ forma_nome: string;
21
+ }
22
+ export declare class CreateOrderDto {
23
+ token: string;
24
+ requests: {
25
+ jsonrpc: string;
26
+ method: string;
27
+ params: {
28
+ estabelecimento_id: string;
29
+ cliente_fone: string;
30
+ cliente_nome: string;
31
+ valor_produtos: number;
32
+ valor_total: number;
33
+ valor_desconto: number;
34
+ valor_taxa: number;
35
+ fullservice: string;
36
+ entrega_estado: string;
37
+ entrega_cidade: string;
38
+ entrega_bairronome: string;
39
+ entrega_cep: string;
40
+ entrega_logradouro: string;
41
+ entrega_numero: string;
42
+ entrega_complemento: string;
43
+ entrega_referencia: string;
44
+ entrega_noestabelecimento: number;
45
+ itens: Array<ItensDto>;
46
+ pagamento: PagamentoDto;
47
+ };
48
+ id: string;
49
+ };
50
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateOrderDto = exports.PagamentoDto = exports.ItensDto = void 0;
4
+ class ItensDto {
5
+ codigo_produto;
6
+ observacao;
7
+ valor;
8
+ desconto;
9
+ qnt;
10
+ total;
11
+ itens_montagem;
12
+ }
13
+ exports.ItensDto = ItensDto;
14
+ class PagamentoDto {
15
+ valor;
16
+ forma;
17
+ forma_nome;
18
+ }
19
+ exports.PagamentoDto = PagamentoDto;
20
+ class CreateOrderDto {
21
+ token;
22
+ requests;
23
+ }
24
+ exports.CreateOrderDto = CreateOrderDto;
25
+ //# sourceMappingURL=create-order.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-order.dto.js","sourceRoot":"","sources":["../../../../lib/order/menew/dto/create-order.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAQ;IACnB,cAAc,CAAS;IACvB,UAAU,CAAS;IACnB,KAAK,CAAS;IACd,QAAQ,CAAS;IACjB,GAAG,CAAS;IACZ,KAAK,CAAS;IACd,cAAc,CAOV;CACL;AAfD,4BAeC;AAED,MAAa,YAAY;IACvB,KAAK,CAAS;IACd,KAAK,CAAS;IACd,UAAU,CAAS;CACpB;AAJD,oCAIC;AAED,MAAa,cAAc;IACzB,KAAK,CAAS;IACd,QAAQ,CAyBN;CACH;AA5BD,wCA4BC"}
@@ -0,0 +1,15 @@
1
+ import { FromSchema } from 'json-schema-to-ts';
2
+ export declare const MENEW_CONFIG_SCHEMA: {
3
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
4
+ readonly title: "Menew Configuration";
5
+ readonly type: "object";
6
+ readonly properties: {
7
+ readonly ESTABLISHMENT_ID: {
8
+ readonly type: "string";
9
+ readonly title: "ID estabelecimento";
10
+ readonly description: "ID do estabelecimento fornecido pelo Menew";
11
+ };
12
+ };
13
+ readonly required: readonly ["ESTABLISHMENT_ID"];
14
+ };
15
+ export type MenewConfig = FromSchema<typeof MENEW_CONFIG_SCHEMA>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MENEW_CONFIG_SCHEMA = void 0;
4
+ exports.MENEW_CONFIG_SCHEMA = {
5
+ $schema: 'http://json-schema.org/draft-07/schema#',
6
+ title: 'Menew Configuration',
7
+ type: 'object',
8
+ properties: {
9
+ ESTABLISHMENT_ID: {
10
+ type: 'string',
11
+ title: 'ID estabelecimento',
12
+ description: 'ID do estabelecimento fornecido pelo Menew',
13
+ },
14
+ },
15
+ required: ['ESTABLISHMENT_ID'],
16
+ };
17
+ //# sourceMappingURL=menew.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menew.config.js","sourceRoot":"","sources":["../../../lib/order/menew/menew.config.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAG;IACjC,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,qBAAqB;IAC5B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,4CAA4C;SAC1D;KACF;IACD,QAAQ,EAAE,CAAC,kBAAkB,CAAC;CACD,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { EventsService, IntegrationPayload, Order, OrderOutputIntegration } from '../../core/index.js';
2
+ import { HttpService } from '@nestjs/axios';
3
+ import { CreateOrderDto, ItensDto, PagamentoDto } from './dto/create-order.dto';
4
+ import { MenewConfig } from './menew.config';
5
+ export declare class MenewOrderOutput implements OrderOutputIntegration<MenewConfig> {
6
+ readonly eventService: EventsService;
7
+ private readonly httpService;
8
+ private readonly logger;
9
+ private readonly MENEW_BASE_URL;
10
+ private readonly MENEW_USER;
11
+ private readonly MENEW_TOKEN;
12
+ private readonly ALLOWED_ORDER_TYPES;
13
+ private readonly dispatchEvent;
14
+ constructor(eventService: EventsService, httpService: HttpService);
15
+ onOrderCreated(payload: IntegrationPayload, config: MenewConfig): Promise<void>;
16
+ transformItems(order: Order): Array<ItensDto>;
17
+ transformPayment(order: Order): PagamentoDto;
18
+ transformOrder(order: Order, config: MenewConfig, token: string): CreateOrderDto;
19
+ getToken(): Promise<any>;
20
+ }
@@ -0,0 +1,205 @@
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 MenewOrderOutput_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.MenewOrderOutput = void 0;
14
+ const core_1 = require("../../core/index.js");
15
+ const common_1 = require("@nestjs/common");
16
+ const axios_1 = require("@nestjs/axios");
17
+ const axios_2 = require("axios");
18
+ const rxjs_1 = require("rxjs");
19
+ const crypto_1 = require("crypto");
20
+ const menew_config_1 = require("./menew.config");
21
+ let MenewOrderOutput = MenewOrderOutput_1 = class MenewOrderOutput {
22
+ eventService;
23
+ httpService;
24
+ logger = new common_1.Logger(MenewOrderOutput_1.name);
25
+ MENEW_BASE_URL;
26
+ MENEW_USER;
27
+ MENEW_TOKEN;
28
+ ALLOWED_ORDER_TYPES;
29
+ dispatchEvent;
30
+ constructor(eventService, httpService) {
31
+ this.eventService = eventService;
32
+ this.httpService = httpService;
33
+ this.MENEW_BASE_URL =
34
+ process.env.MENEW_BASE_URL || 'https://api.menew.com.br';
35
+ this.MENEW_USER = process.env.MENEW_USER;
36
+ if (!this.MENEW_USER) {
37
+ this.logger.error('MENEW_USER não está definido nas variáveis de ambiente');
38
+ }
39
+ this.MENEW_TOKEN = process.env.MENEW_TOKEN;
40
+ if (!this.MENEW_TOKEN) {
41
+ this.logger.error('MENEW_TOKEN não está definido nas variáveis de ambiente');
42
+ }
43
+ this.ALLOWED_ORDER_TYPES = ['DELIVERY', 'TAKEOUT'];
44
+ this.dispatchEvent = eventService.createDispatcherFor('Menew', 'OrderOutput');
45
+ }
46
+ async onOrderCreated(payload, config) {
47
+ const { order } = payload;
48
+ const orderId = parseInt(order.externalId);
49
+ this.logger.log(`Processando pedido #${orderId} na Menew`);
50
+ if (!this.ALLOWED_ORDER_TYPES.includes(order.type)) {
51
+ this.logger.verbose(`Ignorando tipo de pedido não permitido: ${order.type} [${this.ALLOWED_ORDER_TYPES.join(',')}]`);
52
+ this.dispatchEvent({
53
+ eventType: 'INTEGRATION_FAILED',
54
+ orderId,
55
+ metadata: {
56
+ error: `Ignorando tipo de pedido não permitido: ${order.type} [${this.ALLOWED_ORDER_TYPES.join(',')}]`,
57
+ },
58
+ });
59
+ return;
60
+ }
61
+ this.dispatchEvent({
62
+ eventType: 'INTEGRATION_INITIATED',
63
+ orderId,
64
+ });
65
+ try {
66
+ const token = await this.getToken();
67
+ if (!token) {
68
+ throw new Error('Não foi possível autenticar com a Menew');
69
+ }
70
+ this.logger.debug(`Token recebido da Menew: ${token}`);
71
+ const body = this.transformOrder(order, config, token);
72
+ this.dispatchEvent({
73
+ eventType: 'INTEGRATION_PROCESSING',
74
+ orderId,
75
+ metadata: { request: body },
76
+ });
77
+ this.logger.debug(`Enviando pedido para Menew: ${JSON.stringify(body)}`);
78
+ const { data } = await (0, rxjs_1.firstValueFrom)(this.httpService.post(this.MENEW_BASE_URL, body));
79
+ this.dispatchEvent({
80
+ eventType: 'INTEGRATION_COMPLETED',
81
+ orderId,
82
+ metadata: { response: data },
83
+ });
84
+ }
85
+ catch (error) {
86
+ if ((0, axios_2.isAxiosError)(error)) {
87
+ this.logger.error('onOrderCreated: falha ao realizar requisição na Menew', JSON.stringify(error.response?.data));
88
+ this.dispatchEvent({
89
+ eventType: 'INTEGRATION_FAILED',
90
+ orderId,
91
+ metadata: { error: error.response?.data },
92
+ });
93
+ }
94
+ else {
95
+ this.dispatchEvent({
96
+ eventType: 'INTEGRATION_FAILED',
97
+ orderId,
98
+ metadata: { error },
99
+ });
100
+ this.logger.error('onOrderCreated: falha ao criar pedido na Menew', error);
101
+ }
102
+ }
103
+ }
104
+ transformItems(order) {
105
+ const items = order.items.map((item) => ({
106
+ codigo_produto: item.externalCode || item.id,
107
+ observacao: item.specialInstructions || '',
108
+ valor: item.totalPrice.value,
109
+ desconto: 0,
110
+ qnt: item.quantity,
111
+ total: item.totalPrice.value,
112
+ itens_montagem: item.options?.map((itemOption) => ({
113
+ codigo_produto: itemOption.externalCode || itemOption.id,
114
+ observacao: itemOption.specialInstructions || '',
115
+ valor: itemOption.totalPrice.value,
116
+ qnt: itemOption.quantity,
117
+ desconto: 0.0,
118
+ total: itemOption.totalPrice.value,
119
+ })) || [],
120
+ }));
121
+ return items;
122
+ }
123
+ transformPayment(order) {
124
+ return {
125
+ valor: order.payments.methods.reduce((acc, cur) => acc + cur.value, 0),
126
+ forma: order.displayId || '1',
127
+ forma_nome: order.payments.pending === 0
128
+ ? `Online - ${order.payments.methods.map((m) => m.method).join(', ')}`
129
+ : order.payments.methods.map((m) => m.method).join(', '),
130
+ };
131
+ }
132
+ transformOrder(order, config, token) {
133
+ if (!order.customer) {
134
+ throw new core_1.InvalidOrderException('Pedido sem informações do cliente', 'customer');
135
+ }
136
+ if (order.type === 'DELIVERY' && !order.delivery?.deliveryAddress) {
137
+ throw new core_1.InvalidOrderException('Pedido de entrega sem endereço', 'delivery');
138
+ }
139
+ const phone = order.customer?.phone.number.replace(/\D/g, '');
140
+ const deliveryFee = order.otherFees?.find(({ type }) => type === 'DELIVERY_FEE');
141
+ const address = order.delivery?.deliveryAddress;
142
+ const dto = {
143
+ token,
144
+ requests: {
145
+ jsonrpc: '2.0',
146
+ method: 'Pedido/send',
147
+ params: {
148
+ estabelecimento_id: config.ESTABLISHMENT_ID,
149
+ cliente_fone: phone,
150
+ cliente_nome: order.customer.name,
151
+ valor_produtos: order.total.itemsPrice.value,
152
+ valor_total: order.total.orderAmount.value,
153
+ valor_desconto: order.total.discount.value,
154
+ valor_taxa: deliveryFee?.price.value || 0,
155
+ fullservice: 'N',
156
+ entrega_estado: address?.state || '',
157
+ entrega_cidade: address?.city || '',
158
+ entrega_bairronome: address?.district || '',
159
+ entrega_cep: address?.postalCode?.replace(/\D/g, '') || '',
160
+ entrega_logradouro: address?.street || '',
161
+ entrega_numero: address?.number || '',
162
+ entrega_complemento: address?.complement || '',
163
+ entrega_referencia: address?.reference || '',
164
+ entrega_noestabelecimento: order.type === 'DELIVERY' ? 0 : 1,
165
+ itens: this.transformItems(order),
166
+ pagamento: this.transformPayment(order),
167
+ },
168
+ id: order.id,
169
+ },
170
+ };
171
+ return dto;
172
+ }
173
+ async getToken() {
174
+ const { data } = await (0, rxjs_1.firstValueFrom)(this.httpService.post(this.MENEW_BASE_URL, {
175
+ token: null,
176
+ requests: {
177
+ jsonrpc: '2.0',
178
+ method: 'Usuario/login',
179
+ params: {
180
+ usuario: this.MENEW_USER,
181
+ token: this.MENEW_TOKEN,
182
+ },
183
+ id: (0, crypto_1.randomUUID)(),
184
+ },
185
+ }));
186
+ return data;
187
+ }
188
+ };
189
+ exports.MenewOrderOutput = MenewOrderOutput;
190
+ exports.MenewOrderOutput = MenewOrderOutput = MenewOrderOutput_1 = __decorate([
191
+ (0, core_1.RegistryIntegration)({
192
+ id: 'menew',
193
+ category: 'POS',
194
+ type: 'OrderOutput',
195
+ title: 'Menew',
196
+ description: 'Menew, Sistema para gestão de restaurantes.',
197
+ logoUrl: 'https://raichu-uploads.s3.amazonaws.com/logo_menew_LlqUvW.png',
198
+ websiteUrl: 'https://www.menew.com.br',
199
+ configSchema: menew_config_1.MENEW_CONFIG_SCHEMA,
200
+ }),
201
+ (0, common_1.Injectable)(),
202
+ __metadata("design:paramtypes", [core_1.EventsService,
203
+ axios_1.HttpService])
204
+ ], MenewOrderOutput);
205
+ //# sourceMappingURL=menew.order-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menew.order-output.js","sourceRoot":"","sources":["../../../lib/order/menew/menew.order-output.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,oCAQmB;AAEnB,2CAAoD;AACpD,yCAA4C;AAC5C,iCAAqC;AAIrC,+BAAsC;AACtC,mCAAoC;AAEpC,iDAAkE;AAa3D,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAShB;IACQ;IATF,MAAM,GAAG,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,cAAc,CAAC;IACf,UAAU,CAAC;IACX,WAAW,CAAC;IACZ,mBAAmB,CAAC;IACpB,aAAa,CAA6B;IAE3D,YACW,YAA2B,EACnB,WAAwB;QADhC,iBAAY,GAAZ,YAAY,CAAe;QACnB,gBAAW,GAAX,WAAW,CAAa;QAEzC,IAAI,CAAC,cAAc;YACjB,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,0BAA0B,CAAC;QAC3D,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wDAAwD,CACzD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEnD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,mBAAmB,CACnD,OAAO,EACP,aAAa,CACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,OAA2B,EAC3B,MAAmB;QAEnB,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,OAAO,WAAW,CAAC,CAAC;QAE3D,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,2CAA2C,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAChG,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC;gBACjB,SAAS,EAAE,oBAAoB;gBAC/B,OAAO;gBACP,QAAQ,EAAE;oBACR,KAAK,EAAE,2CAA2C,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;iBACvG;aACF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,CAAC;YACjB,SAAS,EAAE,uBAAuB;YAClC,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;YAEvD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAEvD,IAAI,CAAC,aAAa,CAAC;gBACjB,SAAS,EAAE,wBAAwB;gBACnC,OAAO;gBACP,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAC5B,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,qBAAc,EACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CACjD,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC;gBACjB,SAAS,EAAE,uBAAuB;gBAClC,OAAO;gBACP,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC7B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uDAAuD,EACvD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CACrC,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC;oBACjB,SAAS,EAAE,oBAAoB;oBAC/B,OAAO;oBACP,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;iBAC1C,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,aAAa,CAAC;oBACjB,SAAS,EAAE,oBAAoB;oBAC/B,OAAO;oBACP,QAAQ,EAAE,EAAE,KAAK,EAAE;iBACpB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,gDAAgD,EAChD,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,CAAC,KAAY;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvC,cAAc,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE;YAC5C,UAAU,EAAE,IAAI,CAAC,mBAAmB,IAAI,EAAE;YAC1C,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YAC5B,QAAQ,EAAE,CAAC;YACX,GAAG,EAAE,IAAI,CAAC,QAAQ;YAClB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YAC5B,cAAc,EACZ,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACjC,cAAc,EAAE,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,EAAE;gBACxD,UAAU,EAAE,UAAU,CAAC,mBAAmB,IAAI,EAAE;gBAChD,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;gBAClC,GAAG,EAAE,UAAU,CAAC,QAAQ;gBACxB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;aACnC,CAAC,CAAC,IAAI,EAAE;SACZ,CAAC,CAAC,CAAC;QACJ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB,CAAC,KAAY;QAC3B,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YACtE,KAAK,EAAE,KAAK,CAAC,SAAS,IAAI,GAAG;YAC7B,UAAU,EACR,KAAK,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC;gBAC1B,CAAC,CAAC,YAAY,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7D,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,KAAY,EACZ,MAAmB,EACnB,KAAa;QAEb,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,4BAAqB,CAC7B,mCAAmC,EACnC,UAAU,CACX,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC;YAClE,MAAM,IAAI,4BAAqB,CAC7B,gCAAgC,EAChC,UAAU,CACX,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,CACvC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,cAAc,CACtC,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC;QAEhD,MAAM,GAAG,GAAG;YACV,KAAK;YACL,QAAQ,EAAE;gBACR,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE;oBACN,kBAAkB,EAAE,MAAM,CAAC,gBAAgB;oBAC3C,YAAY,EAAE,KAAK;oBACnB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;oBACjC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK;oBAC5C,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK;oBAC1C,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK;oBAC1C,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;oBACzC,WAAW,EAAE,GAAG;oBAChB,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;oBACpC,cAAc,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE;oBACnC,kBAAkB,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE;oBAC3C,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE;oBAC1D,kBAAkB,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE;oBACzC,cAAc,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE;oBACrC,mBAAmB,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;oBAC9C,kBAAkB,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE;oBAC5C,yBAAyB,EAAE,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;oBACjC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;iBACxC;gBACD,EAAE,EAAE,KAAK,CAAC,EAAE;aACb;SACF,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,qBAAc,EACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACzC,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE;gBACR,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI,CAAC,UAAU;oBACxB,KAAK,EAAE,IAAI,CAAC,WAAW;iBACxB;gBACD,EAAE,EAAE,IAAA,mBAAU,GAAE;aACjB;SACF,CAAC,CACH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA3NY,4CAAgB;2BAAhB,gBAAgB;IAX5B,IAAA,0BAAmB,EAAC;QACnB,EAAE,EAAE,OAAO;QACX,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,+DAA+D;QACxE,UAAU,EAAE,0BAA0B;QACtC,YAAY,EAAE,kCAAmB;KAClC,CAAC;IACD,IAAA,mBAAU,GAAE;qCAUc,oBAAa;QACN,mBAAW;GAVhC,gBAAgB,CA2N5B"}
@@ -1,4 +1,4 @@
1
- import { OrderOutputIntegration, IntegrationPayload, EventsService } from '../../core/index.js';
1
+ import { OrderOutputIntegration, IntegrationPayload, EventsService, OtherFee } from '../../core/index.js';
2
2
  import type { Merchant, Order } from '../../core/index.js';
3
3
  import { HttpService } from '@nestjs/axios';
4
4
  import { ItemDto, PagamentoDto, ClienteDto, EnderecoDto, PedidoDto } from './dto/create-order.dto';
@@ -32,6 +32,6 @@ export declare class TotvsChefOrderOutput implements OrderOutputIntegration<Totv
32
32
  transformMerchantAddress(merchant: Merchant): EnderecoDto;
33
33
  transformCustomer(order: Order, merchant: Merchant): ClienteDto;
34
34
  transformDeliveryFee(order: Order): number;
35
- transformTotalValue(order: Order, itens: any[], otherFees: any[]): number;
35
+ transformTotalValue(order: Order, itens: ItemDto[], otherFees: OtherFee[]): number;
36
36
  transformOrder(order: Order, config: TotvsChefConfig, merchant: Merchant, chargeMostExpensive?: string[]): Promise<PedidoDto>;
37
37
  }
@@ -164,11 +164,13 @@ let TotvsChefOrderOutput = TotvsChefOrderOutput_1 = class TotvsChefOrderOutput {
164
164
  }
165
165
  getItens(products, menu, chargeMostExpensive) {
166
166
  const itens = [];
167
- const getHigherPrice = (ItensFracao) => Math.max(...ItensFracao.map((Item) => Item.Produto?.PrecoVenda ?? 0));
168
167
  for (const product of products) {
168
+ const modifiersPriceSum = product.modifiers.reduce((acc, cur) => currency(acc).add(currency(cur.price.actualPrice)
169
+ .multiply(cur.quantity)
170
+ .multiply(product.quantity)).value, 0);
169
171
  const item = this.getItem({
170
172
  ...product,
171
- total: currency(product.total).value,
173
+ total: currency(product.total).subtract(modifiersPriceSum).value,
172
174
  externalVendorCode: product.externalVendorCode ?? '',
173
175
  quantity: product.quantity ?? 1,
174
176
  });
@@ -268,7 +270,6 @@ let TotvsChefOrderOutput = TotvsChefOrderOutput_1 = class TotvsChefOrderOutput {
268
270
  parentItem.ItensFracao?.push(itemFracao);
269
271
  mixCount++;
270
272
  }
271
- continue;
272
273
  }
273
274
  }
274
275
  const useSplit = product.modifiers.some((m) => m.externalVendorCode && m.externalVendorCode.includes('split:'));
@@ -520,7 +521,7 @@ let TotvsChefOrderOutput = TotvsChefOrderOutput_1 = class TotvsChefOrderOutput {
520
521
  }
521
522
  transformCustomer(order, merchant) {
522
523
  const CpfCnpj = order.customer?.documentNumber?.replace(/\D/g, '') || '';
523
- const customer = {
524
+ return {
524
525
  NomeCompleto: order.customer?.name,
525
526
  TipoPessoa: (order.customer?.documentNumber?.length ?? 0) < 12 ? 0 : 1,
526
527
  Sexo: 0,
@@ -532,14 +533,18 @@ let TotvsChefOrderOutput = TotvsChefOrderOutput_1 = class TotvsChefOrderOutput {
532
533
  ConheceuComo: null,
533
534
  RgIE: null,
534
535
  };
535
- return customer;
536
536
  }
537
537
  transformDeliveryFee(order) {
538
538
  const deliveryFee = order.otherFees.find(({ type }) => type === 'DELIVERY_FEE');
539
539
  return deliveryFee?.price.value ?? 0;
540
540
  }
541
541
  transformTotalValue(order, itens, otherFees) {
542
- const itemsTotal = itens.reduce((acc, item) => acc + currency(item.ValorTotal).value, 0);
542
+ const itemsTotal = itens.reduce((acc, item) => {
543
+ const ItensAdicionais = item.ItensAdicionais ?? [];
544
+ return currency(acc)
545
+ .add(ItensAdicionais.reduce((a, c) => currency(c.ValorTotal).add(a).value, 0))
546
+ .add(item.ValorTotal).value;
547
+ }, 0);
543
548
  const feesTotal = otherFees.reduce((acc, fee) => acc + currency(fee.price?.value || 0).value, 0);
544
549
  return currency(itemsTotal)
545
550
  .add(feesTotal)
@@ -565,8 +570,7 @@ let TotvsChefOrderOutput = TotvsChefOrderOutput_1 = class TotvsChefOrderOutput {
565
570
  .join(', ')}`, 'items');
566
571
  }
567
572
  const deliveryFee = this.transformDeliveryFee(order);
568
- let menu = [];
569
- menu = await this.getMenu(config);
573
+ const menu = await this.getMenu(config);
570
574
  const itens = this.getItens(order.items.map((item) => ({
571
575
  name: item.name,
572
576
  externalVendorCode: item.externalCode,
@@ -587,7 +591,7 @@ let TotvsChefOrderOutput = TotvsChefOrderOutput_1 = class TotvsChefOrderOutput {
587
591
  const pagamentos = this.transformPayment(order);
588
592
  const valorTotal = this.transformTotalValue(order, itens, order.otherFees);
589
593
  const cliente = this.transformCustomer(order, merchant);
590
- const dto = {
594
+ return {
591
595
  TaxaDeEntrega: deliveryFee,
592
596
  PagamentoOnline: order.payments.pending === 0,
593
597
  RetirarNaLoja: order.type === 'TAKEOUT',
@@ -603,7 +607,6 @@ let TotvsChefOrderOutput = TotvsChefOrderOutput_1 = class TotvsChefOrderOutput {
603
607
  ObservacaoPedido: order.extraInfo || '',
604
608
  Itens: itens,
605
609
  };
606
- return dto;
607
610
  }
608
611
  };
609
612
  exports.TotvsChefOrderOutput = TotvsChefOrderOutput;
@@ -1 +1 @@
1
- {"version":3,"file":"totvs-chef.order-output.js","sourceRoot":"","sources":["../../../lib/order/totvs-chef/totvs-chef.order-output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"totvs-chef.order-output.js","sourceRoot":"","sources":["../../../lib/order/totvs-chef/totvs-chef.order-output.ts"],"names":[],"mappings":"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"}