@rodrigobeber/patoai-dtos 4.8.7 → 4.8.9
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.
- package/dist/chat/schedule/create-schedule.dto.d.ts +2 -0
- package/dist/crew/index.d.ts +1 -0
- package/dist/crew/index.js +1 -0
- package/dist/crew/reminder-datetime.d.ts +1 -0
- package/dist/crew/reminder-datetime.js +25 -0
- package/dist/crew/reminder.enum.d.ts +18 -1
- package/dist/crew/reminder.enum.js +24 -1
- package/dist/webchat/crm/webchat-lead-history.dto.d.ts +1 -1
- package/package.json +1 -1
package/dist/crew/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from './gender-tokens';
|
|
|
4
4
|
export * from './friendly-variables';
|
|
5
5
|
export * from './follow-up-mode.enum';
|
|
6
6
|
export * from './reminder.enum';
|
|
7
|
+
export * from './reminder-datetime';
|
|
7
8
|
export * from './get-provider.dto';
|
|
8
9
|
export * from './online-mode.enum';
|
|
9
10
|
export * from './unit.dto';
|
package/dist/crew/index.js
CHANGED
|
@@ -20,6 +20,7 @@ __exportStar(require("./gender-tokens"), exports);
|
|
|
20
20
|
__exportStar(require("./friendly-variables"), exports);
|
|
21
21
|
__exportStar(require("./follow-up-mode.enum"), exports);
|
|
22
22
|
__exportStar(require("./reminder.enum"), exports);
|
|
23
|
+
__exportStar(require("./reminder-datetime"), exports);
|
|
23
24
|
__exportStar(require("./get-provider.dto"), exports);
|
|
24
25
|
__exportStar(require("./online-mode.enum"), exports);
|
|
25
26
|
__exportStar(require("./unit.dto"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function formatReminderDateTime(at: Date | string | null | undefined, timezone?: string): string | null;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatReminderDateTime = formatReminderDateTime;
|
|
4
|
+
// Formato do token 'data_hora' dos templates de lembrete. Fonte UNICA, usada tanto no ENVIO
|
|
5
|
+
// (patoai-crew, ReminderTemplateHelper) quanto no PREVIEW do painel (patoai-frontend) — se as duas
|
|
6
|
+
// divergirem, o dono escreve o template olhando um texto e o lead recebe outro.
|
|
7
|
+
// Devolve a expressao COMPLETA ("terca-feira, 28/07 as 16:00"), ja com preposicao e horario: o
|
|
8
|
+
// template NAO deve acrescentar "as" nem "horas" em volta.
|
|
9
|
+
const DEFAULT_TIMEZONE = 'America/Sao_Paulo';
|
|
10
|
+
function formatReminderDateTime(at, timezone) {
|
|
11
|
+
if (!at)
|
|
12
|
+
return null;
|
|
13
|
+
try {
|
|
14
|
+
const tz = timezone || DEFAULT_TIMEZONE;
|
|
15
|
+
const d = at instanceof Date ? at : new Date(at);
|
|
16
|
+
if (isNaN(d.getTime()))
|
|
17
|
+
return null;
|
|
18
|
+
const date = new Intl.DateTimeFormat('pt-BR', { timeZone: tz, weekday: 'long', day: '2-digit', month: '2-digit' }).format(d);
|
|
19
|
+
const time = new Intl.DateTimeFormat('pt-BR', { timeZone: tz, hour: '2-digit', minute: '2-digit' }).format(d);
|
|
20
|
+
return `${date} às ${time}`;
|
|
21
|
+
}
|
|
22
|
+
catch (_a) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -21,8 +21,25 @@ export declare enum ReminderModeEnum {
|
|
|
21
21
|
* O de/para (variável do template -> token) fica em WebChatReminderDto.templateVars.
|
|
22
22
|
* - nome: nome do lead
|
|
23
23
|
* - data_hora: data + hora do agendamento, formatada na timezone do crew
|
|
24
|
+
* - link: link/local da reunião (chat.schedule.ds_location)
|
|
25
|
+
* - anfitriao: quem conduz a reunião (chat.schedule.ds_host)
|
|
26
|
+
*
|
|
27
|
+
* ATENÇÃO: link e anfitriao dependem do provedor de agenda (ver TOKEN_CALENDAR_SUPPORT). Token sem
|
|
28
|
+
* valor NÃO vira string vazia — a Meta recusa parâmetro em branco; o envio falha com motivo legível.
|
|
24
29
|
*/
|
|
25
30
|
export declare enum ReminderTokenEnum {
|
|
26
31
|
NAME = "nome",
|
|
27
|
-
DATETIME = "data_hora"
|
|
32
|
+
DATETIME = "data_hora",
|
|
33
|
+
LINK = "link",
|
|
34
|
+
HOST = "anfitriao"
|
|
28
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Quais tokens cada provedor de agenda consegue preencher. Usado pela tela de Lembretes para avisar
|
|
38
|
+
* antes de salvar uma regra que vai falhar no envio.
|
|
39
|
+
* - google: link real por evento (Meet) + host da conta sorteada
|
|
40
|
+
* - patocal: host = profissional; "link" é só o local fixo da agenda (não há link por evento)
|
|
41
|
+
* - calcom: link sim, host não (o mapper não lê o organizer)
|
|
42
|
+
* - north: só o local fixo; sem host
|
|
43
|
+
* - calendly: nunca cria evento pelo tool
|
|
44
|
+
*/
|
|
45
|
+
export declare const TOKEN_CALENDAR_SUPPORT: Record<string, ReminderTokenEnum[]>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ReminderTokenEnum = exports.ReminderModeEnum = exports.ReminderTriggerEnum = void 0;
|
|
3
|
+
exports.TOKEN_CALENDAR_SUPPORT = exports.ReminderTokenEnum = exports.ReminderModeEnum = exports.ReminderTriggerEnum = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Tipo de disparo de um lembrete de agendamento.
|
|
6
6
|
* - offset: dispara N minutos ANTES do agendamento (relativo a dt_appointment), respeitando a janela comercial.
|
|
@@ -26,9 +26,32 @@ var ReminderModeEnum;
|
|
|
26
26
|
* O de/para (variável do template -> token) fica em WebChatReminderDto.templateVars.
|
|
27
27
|
* - nome: nome do lead
|
|
28
28
|
* - data_hora: data + hora do agendamento, formatada na timezone do crew
|
|
29
|
+
* - link: link/local da reunião (chat.schedule.ds_location)
|
|
30
|
+
* - anfitriao: quem conduz a reunião (chat.schedule.ds_host)
|
|
31
|
+
*
|
|
32
|
+
* ATENÇÃO: link e anfitriao dependem do provedor de agenda (ver TOKEN_CALENDAR_SUPPORT). Token sem
|
|
33
|
+
* valor NÃO vira string vazia — a Meta recusa parâmetro em branco; o envio falha com motivo legível.
|
|
29
34
|
*/
|
|
30
35
|
var ReminderTokenEnum;
|
|
31
36
|
(function (ReminderTokenEnum) {
|
|
32
37
|
ReminderTokenEnum["NAME"] = "nome";
|
|
33
38
|
ReminderTokenEnum["DATETIME"] = "data_hora";
|
|
39
|
+
ReminderTokenEnum["LINK"] = "link";
|
|
40
|
+
ReminderTokenEnum["HOST"] = "anfitriao";
|
|
34
41
|
})(ReminderTokenEnum || (exports.ReminderTokenEnum = ReminderTokenEnum = {}));
|
|
42
|
+
/**
|
|
43
|
+
* Quais tokens cada provedor de agenda consegue preencher. Usado pela tela de Lembretes para avisar
|
|
44
|
+
* antes de salvar uma regra que vai falhar no envio.
|
|
45
|
+
* - google: link real por evento (Meet) + host da conta sorteada
|
|
46
|
+
* - patocal: host = profissional; "link" é só o local fixo da agenda (não há link por evento)
|
|
47
|
+
* - calcom: link sim, host não (o mapper não lê o organizer)
|
|
48
|
+
* - north: só o local fixo; sem host
|
|
49
|
+
* - calendly: nunca cria evento pelo tool
|
|
50
|
+
*/
|
|
51
|
+
exports.TOKEN_CALENDAR_SUPPORT = {
|
|
52
|
+
google: [ReminderTokenEnum.LINK, ReminderTokenEnum.HOST],
|
|
53
|
+
patocal: [ReminderTokenEnum.LINK, ReminderTokenEnum.HOST],
|
|
54
|
+
calcom: [ReminderTokenEnum.LINK],
|
|
55
|
+
north: [ReminderTokenEnum.LINK],
|
|
56
|
+
calendly: []
|
|
57
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type LeadHistoryType = 'stage' | 'mode' | 'unit' | 'followup' | 'template' | 'reminder' | 'spam_block';
|
|
1
|
+
export type LeadHistoryType = 'stage' | 'mode' | 'unit' | 'followup' | 'template' | 'reminder' | 'spam_block' | 'schedule_cancel';
|
|
2
2
|
export interface WebChatLeadHistoryDto {
|
|
3
3
|
idLead: string;
|
|
4
4
|
at: Date;
|