vobi_lib 1.0.1

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/README.md ADDED
@@ -0,0 +1,89 @@
1
+ # Função de Criptografia
2
+
3
+ Essa função permite criptografar um texto utilizando o algoritmo AES (Advanced Encryption Standard) com uma chave fornecida.
4
+
5
+ ## Uso
6
+
7
+ ```typescript
8
+ import { encrypt } from "vobi-lib";
9
+
10
+ const texto = "Mensagem secreta";
11
+ const chave = "chave-secreta";
12
+
13
+ const textoCriptografado = encrypt(texto, chave);
14
+ console.log("Texto criptografado:", textoCriptografado);
15
+ ```
16
+
17
+ ## Parâmetros
18
+
19
+ - `ciphertext`: O texto a ser criptografado. Pode ser de qualquer tipo que seja serializável em JSON.
20
+ - `hashToken`: A chave de criptografia, uma string utilizada para gerar a chave AES.
21
+
22
+ ## Retorno
23
+
24
+ Retorna uma string contendo o texto criptografado.
25
+
26
+ Caso ocorra algum erro durante o processo de criptografia, a função lançará uma exceção do tipo `Error`.
27
+
28
+ ## Exemplo
29
+
30
+ ```typescript
31
+ import { encrypt } from "vobi-lib";
32
+
33
+ const texto = "Mensagem secreta";
34
+ const chave = "chave-secreta";
35
+
36
+ try {
37
+ const textoCriptografado = encrypt(texto, chave);
38
+ console.log("Texto criptografado:", textoCriptografado);
39
+ } catch (error) {
40
+ console.error("Ocorreu um erro ao criptografar o texto:", error);
41
+ }
42
+ ```
43
+
44
+ # Função de Descriptografia
45
+
46
+ Esta função é responsável por decifrar um texto cifrado utilizando o algoritmo AES (Advanced Encryption Standard) com uma chave fornecida.
47
+
48
+ ## Uso
49
+
50
+ ```typescript
51
+ import { decrypt } from "./caminho/para/o/arquivo";
52
+
53
+ const ciphertext = "texto_cifrado"; // Substitua 'texto_cifrado' pelo seu texto cifrado
54
+ const vaultToken = "sua_chave_secreta"; // Substitua 'sua_chave_secreta' pela sua chave de descriptografia
55
+
56
+ try {
57
+ const decryptedText = decrypt(ciphertext, vaultToken);
58
+ console.log(decryptedText);
59
+ } catch (error) {
60
+ console.error("Erro ao descriptografar:", error);
61
+ }
62
+ ```
63
+
64
+ ## Parâmetros
65
+
66
+ - `ciphertext`: Texto cifrado que será decifrado.
67
+ - `vaultToken`: Chave de descriptografia.
68
+
69
+ ## Retorno
70
+
71
+ Retorna um objeto decifrado a partir do texto cifrado fornecido.
72
+
73
+ ## Exemplo
74
+
75
+ ```typescript
76
+ const ciphertext = "U2FsdGVkX1+Jp7JH+QfZKzKfFgMqSx+GKnt+J+Lsm2I="; // Texto cifrado
77
+ const vaultToken = "minha_chave_secreta"; // Chave de descriptografia
78
+
79
+ try {
80
+ const decryptedData = decrypt(ciphertext, vaultToken);
81
+ console.log(decryptedData);
82
+ } catch (error) {
83
+ console.error("Erro ao descriptografar:", error);
84
+ }
85
+ ```
86
+
87
+ Este exemplo irá decifrar o texto cifrado `U2FsdGVkX1+Jp7JH+QfZKzKfFgMqSx+GKnt+J+Lsm2I=` utilizando a chave de descriptografia `minha_chave_secreta` e irá imprimir o objeto decifrado no console.
88
+
89
+ Certifique-se de substituir `texto_cifrado` pelo seu próprio texto cifrado e `sua_chave_secreta` pela sua chave de descriptografia.
@@ -0,0 +1,160 @@
1
+ import moment from 'moment-timezone';
2
+
3
+ declare const IsJsonString: (str: string) => boolean;
4
+
5
+ declare const PromiseEach: (arr: any, fn: any) => Promise<void>;
6
+
7
+ declare const asArray: (value: unknown) => unknown[];
8
+
9
+ declare const asyncForEach: <T>(array: T[], callback: (item: T, index: number, array: T[]) => Promise<void> | void) => Promise<void>;
10
+
11
+ declare const capitalize: (value: string) => string;
12
+
13
+ declare const checkCnpj: (strCnpj: string) => boolean;
14
+
15
+ declare const checkCpf: (strCPF: string, allowEqualDigits?: boolean) => boolean;
16
+
17
+ declare const checkEmail: (email: string) => boolean;
18
+
19
+ declare const containsEncodedComponents: (x: any) => boolean;
20
+
21
+ declare const curry: <T extends (...args: any[]) => any>(fn: T) => (...args: Parameters<T>) => ReturnType<T> | ((...args: any[]) => ReturnType<T>);
22
+
23
+ declare const decrypt: (data: any, secret: any) => string;
24
+
25
+ declare const diffObject: (a: any, b: any) => {};
26
+
27
+ declare const dynamici18nString: (message: string, res: any) => any;
28
+
29
+ declare const elasticTransformOr: (or: any) => any;
30
+
31
+ declare const encrypt: (data: any, secret: string) => string;
32
+
33
+ declare const enumHelper: Record<string, any>;
34
+
35
+ declare const eventBus: {
36
+ on(event: any, callback: any): void;
37
+ dispatch(event: any, data: any): void;
38
+ remove(event: any, callback: any): void;
39
+ };
40
+
41
+ declare const extractAsaasError: (err: any) => any;
42
+
43
+ declare const extractValueFromWhere: (where: any, property: any) => any;
44
+
45
+ declare const getNameWithoutExtension: (name: string) => string;
46
+
47
+ declare const filterAttributes: (data: any, attributes: any) => any;
48
+
49
+ declare const filterEmpty: (array: any) => any;
50
+
51
+ declare const findValue: (arr: any, predicate: any) => null;
52
+
53
+ interface FormatAmountProps {
54
+ decimalCount?: number;
55
+ decimal?: string;
56
+ thousands?: string;
57
+ currencySymbol?: string;
58
+ }
59
+ declare const formatAmount: (amount: any, props?: FormatAmountProps) => string;
60
+
61
+ declare const brazilianDateTime: (date: string) => Date;
62
+ declare const formatDate: (date: string, format: string, locale: string, utc: string, formatMoment: string) => string | moment.Moment | null;
63
+ declare const getNextDay: (date: string, format?: string) => string | Date;
64
+ declare const getNextWeekday: any;
65
+ declare const getPreviewsWeekday: any;
66
+ declare const asDate: (date: string) => moment.Moment | null;
67
+ declare const asBrazilianDate: (date: any) => any;
68
+ declare const brazilianDateToDate: (date: any, customFormat: any) => any;
69
+ declare const monthsBetween: (initialDate: any, endDate: any) => number | null;
70
+ declare const isAfter: (date1: any, date2: any) => boolean | null | undefined;
71
+ declare const getToday: (onlyDate?: boolean) => Date;
72
+ declare const getYesterday: (onlyDate?: boolean) => Date;
73
+ declare const getTomorrow: (onlyDate?: boolean) => Date;
74
+ declare const getMonthNumber: (date: string) => string;
75
+ declare const isOfAge: (dob: any, age: any) => boolean;
76
+ declare const maxDateToList: (list: any) => moment.Moment;
77
+ declare const minDateToList: (list: any) => moment.Moment;
78
+ declare const dateIsValid: (date: string) => boolean;
79
+
80
+ declare const formatNumber: (value?: any) => number | null;
81
+
82
+ declare const getExtension: (fileName: any) => any;
83
+
84
+ declare const imgSrcRegex: RegExp;
85
+
86
+ declare const isNumber: (n: any) => boolean;
87
+
88
+ declare const isValidURL: (str: string) => boolean;
89
+
90
+ declare const getToken: (req: any) => any;
91
+ declare const decodeToken: (req: any, res: any, next: any) => any;
92
+
93
+ declare const makeRefurbishFileUrl: (refurbish: any, userType: any, file: any, isPreview: any) => string;
94
+
95
+ declare const nullIfEmpty: (value: any) => any;
96
+
97
+ declare const padLeft: (number: number, pad?: string) => string;
98
+
99
+ interface ArrayItem {
100
+ value: string;
101
+ label: string;
102
+ [key: string]: any;
103
+ }
104
+ declare const parseArrayAsObject: (array: ArrayItem[], shouldSetValueAsObject?: boolean) => {
105
+ [key: string]: any;
106
+ };
107
+
108
+ declare const parseRouteToModel: (route: any) => any;
109
+
110
+ declare const prepareDoc: (cpfCnpj: string) => string;
111
+
112
+ declare const prepareSession: ({ id, name, email, idCompany, userType, type, isOwner, MGMCode, groupPermission, isActive, limitAccess, company, }: any) => {
113
+ id: any;
114
+ name: any;
115
+ email: any;
116
+ idCompany: any;
117
+ userType: any;
118
+ type: any;
119
+ isOwner: any;
120
+ MGMCode: any;
121
+ groupPermission: any;
122
+ isActive: any;
123
+ limitAccess: any;
124
+ idPlan: any;
125
+ };
126
+
127
+ declare const promiseAny: <T>(promisesArray: Promise<T>[]) => Promise<T>;
128
+
129
+ declare const removeProperty: (prop: any, obj: any) => {};
130
+
131
+ declare const removeSpecialChar: (s: any, trim: any, removeSpace?: boolean) => any;
132
+
133
+ declare const slugify: (str: string) => string;
134
+
135
+ declare const splitList: (inputArray: any, perChunk: any) => any;
136
+
137
+ declare const sum: (array: any, prop: any) => any;
138
+
139
+ declare const sumByFunction: (array: any, func: any) => any;
140
+
141
+ declare const generateRandomToken: () => Promise<string>;
142
+ declare const generatePasswordHash: (password: string) => Promise<string>;
143
+ interface TokenPayload {
144
+ id: string;
145
+ name: string;
146
+ email: string;
147
+ mainRole: string;
148
+ idCompany?: string;
149
+ }
150
+ declare const generateToken: (object: TokenPayload | undefined, audience: string, fullObject?: boolean) => string;
151
+
152
+ declare const valueReplacer: (value: any) => any;
153
+
154
+ type Encode = {
155
+ ciphertext: any;
156
+ hashToken: string;
157
+ uudi?: string;
158
+ };
159
+
160
+ export { type ArrayItem, type Encode, type FormatAmountProps, IsJsonString, PromiseEach, asArray, asBrazilianDate, asDate, asyncForEach, brazilianDateTime, brazilianDateToDate, capitalize, checkCnpj, checkCpf, checkEmail, containsEncodedComponents, curry, dateIsValid, decodeToken, decrypt, diffObject, dynamici18nString, elasticTransformOr, encrypt, enumHelper, eventBus, extractAsaasError, extractValueFromWhere, filterAttributes, filterEmpty, findValue, formatAmount, formatDate, formatNumber, generatePasswordHash, generateRandomToken, generateToken, getExtension, getMonthNumber, getNameWithoutExtension, getNextDay, getNextWeekday, getPreviewsWeekday, getToday, getToken, getTomorrow, getYesterday, imgSrcRegex, isAfter, isNumber, isOfAge, isValidURL, makeRefurbishFileUrl, maxDateToList, minDateToList, monthsBetween, nullIfEmpty, padLeft, parseArrayAsObject, parseRouteToModel, prepareDoc, prepareSession, promiseAny, removeProperty, removeSpecialChar, slugify, splitList, sum, sumByFunction, valueReplacer };
@@ -0,0 +1,160 @@
1
+ import moment from 'moment-timezone';
2
+
3
+ declare const IsJsonString: (str: string) => boolean;
4
+
5
+ declare const PromiseEach: (arr: any, fn: any) => Promise<void>;
6
+
7
+ declare const asArray: (value: unknown) => unknown[];
8
+
9
+ declare const asyncForEach: <T>(array: T[], callback: (item: T, index: number, array: T[]) => Promise<void> | void) => Promise<void>;
10
+
11
+ declare const capitalize: (value: string) => string;
12
+
13
+ declare const checkCnpj: (strCnpj: string) => boolean;
14
+
15
+ declare const checkCpf: (strCPF: string, allowEqualDigits?: boolean) => boolean;
16
+
17
+ declare const checkEmail: (email: string) => boolean;
18
+
19
+ declare const containsEncodedComponents: (x: any) => boolean;
20
+
21
+ declare const curry: <T extends (...args: any[]) => any>(fn: T) => (...args: Parameters<T>) => ReturnType<T> | ((...args: any[]) => ReturnType<T>);
22
+
23
+ declare const decrypt: (data: any, secret: any) => string;
24
+
25
+ declare const diffObject: (a: any, b: any) => {};
26
+
27
+ declare const dynamici18nString: (message: string, res: any) => any;
28
+
29
+ declare const elasticTransformOr: (or: any) => any;
30
+
31
+ declare const encrypt: (data: any, secret: string) => string;
32
+
33
+ declare const enumHelper: Record<string, any>;
34
+
35
+ declare const eventBus: {
36
+ on(event: any, callback: any): void;
37
+ dispatch(event: any, data: any): void;
38
+ remove(event: any, callback: any): void;
39
+ };
40
+
41
+ declare const extractAsaasError: (err: any) => any;
42
+
43
+ declare const extractValueFromWhere: (where: any, property: any) => any;
44
+
45
+ declare const getNameWithoutExtension: (name: string) => string;
46
+
47
+ declare const filterAttributes: (data: any, attributes: any) => any;
48
+
49
+ declare const filterEmpty: (array: any) => any;
50
+
51
+ declare const findValue: (arr: any, predicate: any) => null;
52
+
53
+ interface FormatAmountProps {
54
+ decimalCount?: number;
55
+ decimal?: string;
56
+ thousands?: string;
57
+ currencySymbol?: string;
58
+ }
59
+ declare const formatAmount: (amount: any, props?: FormatAmountProps) => string;
60
+
61
+ declare const brazilianDateTime: (date: string) => Date;
62
+ declare const formatDate: (date: string, format: string, locale: string, utc: string, formatMoment: string) => string | moment.Moment | null;
63
+ declare const getNextDay: (date: string, format?: string) => string | Date;
64
+ declare const getNextWeekday: any;
65
+ declare const getPreviewsWeekday: any;
66
+ declare const asDate: (date: string) => moment.Moment | null;
67
+ declare const asBrazilianDate: (date: any) => any;
68
+ declare const brazilianDateToDate: (date: any, customFormat: any) => any;
69
+ declare const monthsBetween: (initialDate: any, endDate: any) => number | null;
70
+ declare const isAfter: (date1: any, date2: any) => boolean | null | undefined;
71
+ declare const getToday: (onlyDate?: boolean) => Date;
72
+ declare const getYesterday: (onlyDate?: boolean) => Date;
73
+ declare const getTomorrow: (onlyDate?: boolean) => Date;
74
+ declare const getMonthNumber: (date: string) => string;
75
+ declare const isOfAge: (dob: any, age: any) => boolean;
76
+ declare const maxDateToList: (list: any) => moment.Moment;
77
+ declare const minDateToList: (list: any) => moment.Moment;
78
+ declare const dateIsValid: (date: string) => boolean;
79
+
80
+ declare const formatNumber: (value?: any) => number | null;
81
+
82
+ declare const getExtension: (fileName: any) => any;
83
+
84
+ declare const imgSrcRegex: RegExp;
85
+
86
+ declare const isNumber: (n: any) => boolean;
87
+
88
+ declare const isValidURL: (str: string) => boolean;
89
+
90
+ declare const getToken: (req: any) => any;
91
+ declare const decodeToken: (req: any, res: any, next: any) => any;
92
+
93
+ declare const makeRefurbishFileUrl: (refurbish: any, userType: any, file: any, isPreview: any) => string;
94
+
95
+ declare const nullIfEmpty: (value: any) => any;
96
+
97
+ declare const padLeft: (number: number, pad?: string) => string;
98
+
99
+ interface ArrayItem {
100
+ value: string;
101
+ label: string;
102
+ [key: string]: any;
103
+ }
104
+ declare const parseArrayAsObject: (array: ArrayItem[], shouldSetValueAsObject?: boolean) => {
105
+ [key: string]: any;
106
+ };
107
+
108
+ declare const parseRouteToModel: (route: any) => any;
109
+
110
+ declare const prepareDoc: (cpfCnpj: string) => string;
111
+
112
+ declare const prepareSession: ({ id, name, email, idCompany, userType, type, isOwner, MGMCode, groupPermission, isActive, limitAccess, company, }: any) => {
113
+ id: any;
114
+ name: any;
115
+ email: any;
116
+ idCompany: any;
117
+ userType: any;
118
+ type: any;
119
+ isOwner: any;
120
+ MGMCode: any;
121
+ groupPermission: any;
122
+ isActive: any;
123
+ limitAccess: any;
124
+ idPlan: any;
125
+ };
126
+
127
+ declare const promiseAny: <T>(promisesArray: Promise<T>[]) => Promise<T>;
128
+
129
+ declare const removeProperty: (prop: any, obj: any) => {};
130
+
131
+ declare const removeSpecialChar: (s: any, trim: any, removeSpace?: boolean) => any;
132
+
133
+ declare const slugify: (str: string) => string;
134
+
135
+ declare const splitList: (inputArray: any, perChunk: any) => any;
136
+
137
+ declare const sum: (array: any, prop: any) => any;
138
+
139
+ declare const sumByFunction: (array: any, func: any) => any;
140
+
141
+ declare const generateRandomToken: () => Promise<string>;
142
+ declare const generatePasswordHash: (password: string) => Promise<string>;
143
+ interface TokenPayload {
144
+ id: string;
145
+ name: string;
146
+ email: string;
147
+ mainRole: string;
148
+ idCompany?: string;
149
+ }
150
+ declare const generateToken: (object: TokenPayload | undefined, audience: string, fullObject?: boolean) => string;
151
+
152
+ declare const valueReplacer: (value: any) => any;
153
+
154
+ type Encode = {
155
+ ciphertext: any;
156
+ hashToken: string;
157
+ uudi?: string;
158
+ };
159
+
160
+ export { type ArrayItem, type Encode, type FormatAmountProps, IsJsonString, PromiseEach, asArray, asBrazilianDate, asDate, asyncForEach, brazilianDateTime, brazilianDateToDate, capitalize, checkCnpj, checkCpf, checkEmail, containsEncodedComponents, curry, dateIsValid, decodeToken, decrypt, diffObject, dynamici18nString, elasticTransformOr, encrypt, enumHelper, eventBus, extractAsaasError, extractValueFromWhere, filterAttributes, filterEmpty, findValue, formatAmount, formatDate, formatNumber, generatePasswordHash, generateRandomToken, generateToken, getExtension, getMonthNumber, getNameWithoutExtension, getNextDay, getNextWeekday, getPreviewsWeekday, getToday, getToken, getTomorrow, getYesterday, imgSrcRegex, isAfter, isNumber, isOfAge, isValidURL, makeRefurbishFileUrl, maxDateToList, minDateToList, monthsBetween, nullIfEmpty, padLeft, parseArrayAsObject, parseRouteToModel, prepareDoc, prepareSession, promiseAny, removeProperty, removeSpecialChar, slugify, splitList, sum, sumByFunction, valueReplacer };
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";var B=Object.create;var f=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var _=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var q=(e,a)=>{for(var r in a)f(e,r,{get:a[r],enumerable:!0})},v=(e,a,r,n)=>{if(a&&typeof a=="object"||typeof a=="function")for(let o of L(a))!V.call(e,o)&&o!==r&&f(e,o,{get:()=>a[o],enumerable:!(n=k(a,o))||n.enumerable});return e};var d=(e,a,r)=>(r=e!=null?B(_(e)):{},v(a||!e||!e.__esModule?f(r,"default",{value:e,enumerable:!0}):r,e)),G=e=>v(f({},"__esModule",{value:!0}),e);var Ye={};q(Ye,{IsJsonString:()=>F,PromiseEach:()=>M,asArray:()=>b,asBrazilianDate:()=>w,asDate:()=>g,asyncForEach:()=>j,brazilianDateTime:()=>D,brazilianDateToDate:()=>le,capitalize:()=>S,checkCnpj:()=>U,checkCpf:()=>z,checkEmail:()=>Y,containsEncodedComponents:()=>Q,curry:()=>$,dateIsValid:()=>be,decodeToken:()=>Ae,decrypt:()=>H,diffObject:()=>K,dynamici18nString:()=>W,elasticTransformOr:()=>J,encrypt:()=>Z,enumHelper:()=>t,eventBus:()=>X,extractAsaasError:()=>ee,extractValueFromWhere:()=>ae,filterAttributes:()=>re,filterEmpty:()=>ne,findValue:()=>x,formatAmount:()=>oe,formatDate:()=>se,formatNumber:()=>xe,generatePasswordHash:()=>je,generateRandomToken:()=>Me,generateToken:()=>Ue,getExtension:()=>ve,getMonthNumber:()=>fe,getNameWithoutExtension:()=>te,getNextDay:()=>ie,getNextWeekday:()=>R,getPreviewsWeekday:()=>A,getToday:()=>ce,getToken:()=>T,getTomorrow:()=>me,getYesterday:()=>de,imgSrcRegex:()=>Ee,isAfter:()=>pe,isNumber:()=>De,isOfAge:()=>ye,isValidURL:()=>Re,makeRefurbishFileUrl:()=>we,maxDateToList:()=>ge,minDateToList:()=>he,monthsBetween:()=>ue,nullIfEmpty:()=>Ce,padLeft:()=>Te,parseArrayAsObject:()=>Pe,parseRouteToModel:()=>Ne,prepareDoc:()=>Ie,prepareSession:()=>Oe,promiseAny:()=>Be,removeProperty:()=>ke,removeSpecialChar:()=>Le,slugify:()=>_e,splitList:()=>Ve,sum:()=>qe,sumByFunction:()=>Ge,valueReplacer:()=>ze});module.exports=G(Ye);var F=e=>{try{JSON.parse(e)}catch{return!1}return!0};var M=async(e,a)=>{for(let r of e)await a(r)};var b=e=>e==null?[]:Array.isArray(e)?e:[e];var j=async(e,a)=>{await Promise.all(e.map((r,n)=>a(r,n,e)))};var S=e=>{if(typeof e!="string")return"";let a=e.trim();return a.charAt(0).toUpperCase()+a.slice(1)};var U=e=>{let a,r,n,o,i,l,p=!0;if(e.length<14)return!1;for(let u=1;u<e.length;u++)if(e.charAt(u-1)!==e.charAt(u)){p=!1;break}if(!p){l=e.length-2,a=e.substring(0,l),r=e.substring(l),n=0,i=l-7;for(let u=0;u<l;u++)n+=parseInt(a.charAt(u))*i--,i<2&&(i=9);if(o=n%11<2?0:11-n%11,o!==parseInt(r.charAt(0)))return!1;l+=1,a=e.substring(0,l),n=0,i=l-7;for(let u=0;u<l;u++)n+=parseInt(a.charAt(u))*i--,i<2&&(i=9);return o=n%11<2?0:11-n%11,o===parseInt(r.charAt(1))}return!1};var z=(e,a=!1)=>{let r,n;return r=0,e.length<11||!a&&e.split("").every(o=>o===e[0])||(Array.from({length:9}).forEach((o,i)=>{r+=parseInt(e.substring(i,i+1),10)*(11-(i+1))}),n=r*10%11,(n===10||n===11)&&(n=0),n!==parseInt(e.substring(9,10),10))?!1:(r=0,Array.from({length:10}).forEach((o,i)=>{r+=parseInt(e.substring(i,i+1),10)*(12-(i+1))}),n=r*10%11,(n===10||n===11)&&(n=0),n===parseInt(e.substring(10,11),10))};var Y=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e);var Q=e=>decodeURI(e)!==decodeURIComponent(e);var $=e=>(...a)=>e.length>a.length?e.bind(null,...a):e(...a);var y=d(require("crypto-js")),H=(e,a)=>y.AES.decrypt(e,a).toString(y.enc.Utf8);var K=(e,a)=>Object.keys(a).reduce((r,n)=>{if(e[n]===a[n]||n==="lastModifiedBy"||n==="createdAt")return r;let{oldData:o,newData:i}=r;return{oldData:{...o,[n]:e[n]},newData:{...i,[n]:a[n]}}},{});var W=(e,a)=>e&&typeof e=="string"?e.search(/[a-z]\.[a-z]/i)>=0?a.__(e):e:"";var J=e=>{let a={};return e==null||e.forEach(r=>{Object.keys(r).forEach(o=>{typeof r[o]=="string"&&(r[o].toLowerCase()==="true"||r[o].toLowerCase()==="false")?a[o]=r[o].toLowerCase()==="true":a[o]=r[o]})}),a};var E=d(require("crypto-js")),Z=(e,a)=>(typeof e=="object"&&(e=JSON.stringify(e)),E.AES.encrypt(e,a).toString());var t={};t.fileType={receipt:"receipt",paymentVoucher:"paymentVoucher",quote:"quote",others:"others",project:"project",proposal:"proposal",bankBillet:"bankBillet",refund:"refund"};t.refurbishItemStatus={approved:{label:"Aprovado",value:"approved"},rejected:{label:"N\xE3o aprovado",value:"rejected"},pending:{label:"Para aprovar",value:"pending"},activeStatus:["approved","pending"]};t.workReportStatus={preparing:{label:"Em prepara\xE7\xE3o",value:"preparing",color:"warning70"},finished:{label:"Conclu\xEDdo",value:"finished",color:"success40"}};t.refurbishGroup={noGroup:"Sem grupo"};t.proposalStatus={waiting:{id:1,name:"Aguardando envio"},sent:{id:2,name:"Proposta enviada"},accept:{id:3,name:"Proposta aceita"},inactive:{id:4,name:"Arquivada"},allowCustomer:[2,3]};t.companyStatus={created:{id:1,name:"Cadastro iniciado"},onBoarding:{id:2,name:"Aguardando libera\xE7\xE3o"},active:{id:3,name:"Ativo"},blocked:{id:4,name:"Bloqueado"},cancelled:{id:5,name:"Cancelada"}};t.companyType={architect:{id:1,name:"Arquitetura e design de interiores",roles:["architect"]},service:{id:2,name:"Execu\xE7\xE3o de obra"},store:{id:3,name:"Loja de produtos e materiais"},factory:{id:4,name:"Fabricante"},other:{id:10,name:"Outros"}};t.refurbishStatus={new:{id:1,name:"Novo"},contact:{id:2,name:"Em contato"},proposalSent:{id:3,name:"Proposta enviada"},archived:{id:4,name:"Arquivada"},winner:{id:5,name:"Ganha",winner:!0},execution:{id:5,name:"Em andamento"},finished:{id:6,name:"Finalizado"},cancelled:{id:7,name:"Cancelado"},activeOpportunity:[1,2,3],opportunity:[1,2,3,4],project:[5,6,7],end:[4,5,6,7]};t.fixedRefurbishNewStatus={finished:{id:9999999,name:"Finalizado"},cancelled:{id:9999998,name:"Cancelado"},closed:[9999998,9999999]};t.refurbishStage={1:{id:1,name:"Oportunidade"},2:{id:2,name:"Projeto"}};t.roles={admin:{id:"admin",name:"Administrador"},sales:{id:"sales",name:"Venda"},arch:{id:"architect",name:"Arquitetura"},plan:{id:"plan",name:"Planejamento"},work:{id:"work",name:"Obra"},quality:{id:"quality",name:"Qualidade"},supply:{id:"supply",name:"Suprimentos"},contractor:{id:"contractor",name:"Empreiteiro"},beta:{id:"beta",name:"Beta user"}};t.supplierType={1:{value:1,label:"Loja"},2:{value:2,label:"Prestador de servi\xE7o"}};t.userType={guest:{name:"Visitante",value:"guest"},operator:{name:"Operador",value:"operator"},customer:{name:"Cliente",value:"customer"},provider:{name:"Profissional",value:"provider"},system:{name:"Sistema",value:"system"},anonymous:{name:"An\xF4nimo",value:"anonymous"},realTypes:["guest","operator","customer","provider"]};t.userTypesMap={guest:{userType:"guest",type:"visitante",name:"Visitante"},operador:{userType:"operator",type:"operador",name:"Operador"},cliente:{userType:"customer",type:"cliente",name:"Cliente"},profissional:{userType:"provider",type:"profissional",name:"Profissional"},sistema:{userType:"system",type:"sistema",name:"sistema"}};t.dashboardGuideMap={immersion:{label:"Agende sua imers\xE3o",buttonLabel:"Reserve seu hor\xE1rio",link:"webinar-agendamento",bubble:!0},config:{label:"Adicione sua logo e descri\xE7\xE3o",buttonLabel:"Ir para configura\xE7\xF5es",link:"profissional/configuracoes/meu-negocio"},project:{label:"Crie seu primeiro projeto",buttonLabel:"Adicionar projeto",permission:"project"},task:{label:"Adicione suas primeiras tarefas",buttonLabel:"Criar tarefa",permission:"tasks",link:"profissional/produtividade/gestao-tarefas"}};t.subItemsInitialValue={hasSchedule:{checked:!0,label:"Etapas do Cronograma",tooltip:`Aplique as etapas do cronograma, sem as tarefas.
2
+ Para aplicar tamb\xE9m as tarefas desse template, selecione Tarefas logo abaixo`},hasTasks:{checked:!0,label:"Tarefas",parent:"hasSchedule"},hasBudget:{checked:!0,label:"Or\xE7amento"},hasFolders:{checked:!0,label:"Pastas"},hasNotes:{checked:!0,label:"Anota\xE7\xF5es"}};t.catalogFilterType={default:"default",range:"range"};t.specificationGroupBy={refurbishGroup:{model:"refurbishGroup",key:"id",name:"name"},category:"category",costCenter:{model:"costCenter",key:"id",name:"name"}};t.paymentStatus={waitingOrder:1,analyzing:2,waitingRelease:3,released:4,transferred:5,markAsPaid:6,allowTransfer:[3,4],allowChange:[1,6],sendEmail:[4,5]};t.purchaseStatus={waitingOrder:1,analyzing:2,pending:3,waitingPurchase:4,delivered:5,markAsPurchased:6,allowChange:[1,6]};t.actions={cancel:"cancel"};t.orderType={pay:"pay",shop:"shop"};t.personTypes={pf:"pf",pj:"pj"};t.asaasPersonTypes={pf:"FISICA",pj:"JURIDICA"};t.stepAccount={personal:0,address:1,documents:2};t.statusVobiPay={PENDING:{color:"#FF8E1B",label:"Em an\xE1lise"}};t.refurbishItemType={product:1,labor:2,parent:3,composition:4,notParent:[1,2,4],productLabor:[1,2]};t.notificationChannel={system:"system",email:"email",whatsApp:"whatsApp"};t.taskStatus={planned:{id:1,name:"planejado"},execution:{id:2,name:"em andamento"},finished:{id:4,name:"conclu\xEDdo"},cancelled:{id:5,name:"cancelado"},notFinished:[1,2],pending:[1,2],all:[1,2,4,5]};t.priority={low:{id:1,name:"baixa",color:"primary50"},average:{id:2,name:"m\xE9dia",color:"warningSecondary70"},high:{id:3,name:"alta",color:"error50"},all:[1,2,3]};t.companyProgress={0:{name:"B\xE1sico",value:25},1:{name:"Intermedi\xE1rio",value:50},2:{name:"Avan\xE7ado",value:75},3:{name:"Expert",value:100}};t.templateType={construction:{value:"construction",label:"Obra"},project:{value:"project",label:"Projeto"},opportunity:{value:"opportunity",label:"Oportunidade"}};t.templateModule={all:{value:"all",label:"Completo"},budget:{value:"budget",label:"Or\xE7amento"}};t.templateCategory={residential:{value:"residential",label:"Residencial"},commercial:{value:"commercial",label:"Comercial"},others:{value:"others",label:"Outros"}};t.propertyTypes={residential:{value:"residential",label:"Residencial"},commercial:{value:"commercial",label:"Comercial"},others:{value:"others",label:"Outros"}};t.planType={free:{value:"free",label:"freemium"},starter:{value:"starter",label:"Starter"},essential:{value:"essential",label:"Essential"}};t.projectTab={step:"step",list:"list"};t.installmentStatuses={pendingPayment:1,paid:2,confirm:3,paidManually:4,inAnalysis:5,refunded:6,refundRequested:7,onGoingRefund:8,chargebackRequested:9,onGoingChargeback:10,waitingChargeback:11,cancelled:12,all:[1,2,3,4,5,6,7,8,9,10],paidVobiPay:[2,3,7,8,9,10,11],bankStatement:[2,4,6,7,8,9,10,11],allPaid:[2,3,4,7,8,9,10,11],allPaidBalance:[2,4,7,8,9,10,11],allPending:[1,5]};t.paymentStatuses={draft:1,open:2,paid:3,cancelled:4,realValues:[2,3],allStatus:[1,2,3,4]};t.billType={income:"receita",expense:"despesa",transfer:"transferencia"};t.paymentTypeValues={expense:{value:"expense",label:"despesa"},income:{value:"income",label:"receita"},transfer:{value:"transfer",label:"transfer\xEAncia"},payment:{value:"payment",label:"pagamento"}};t.financialCategories={serviceSelling:1,productsSelling:2,fee:3,investimentIncome:4,others:5,advanceFutureCapital:6,capitalIncrease:7,bankLoan:8,institutionLoan:9,partnerLoan:10,paymentShareCapital:11};t.getEnumValue=(e,a,r=["id","name"])=>{let n=null;return!e||!a||Object.keys(e).some(o=>e[o][r[0]]===a?(n=e[o][r[1]],!0):!1),n};t.typePrefix={1:"P",2:"S",4:"C"};t.schemaBusinessCustomError={service:"onboarding.services",description:"onboarding.servicesDescription"};t.stepPayAccount={step1:"step1",step2:"step2",finished:"finished"};t.asaasPixType={CPF:"CPF",CNPJ:"CNPJ",EMAIL:"E-mail",PHONE:"Celular",EVP:"Aleat\xF3ria"};t.paymentTypes={pix:1,bankSlip:2,creditCard:3,debitCard:4,transfer:5,money:6,other:7};t.paymentTypesDesc={1:"Pix",2:"Boleto",3:"Cart\xE3o de cr\xE9dito",4:"Cart\xE3o de d\xE9bito",5:"Transfer\xEAncia",6:"Dinheiro",7:"Outro"};t.vobiPayPaymentType={pix:1,bankSlip:2,creditCard:3,all:[1,2,3],1:"pix",2:"bankSlip",3:"creditCard"};t.asaasPaymentStatus={PENDING:{label:"PENDING",value:t.installmentStatuses.pendingPayment},RECEIVED:{label:"RECEIVED",value:t.installmentStatuses.paid},CONFIRMED:{label:"CONFIRMED",value:t.installmentStatuses.confirm},OVERDUE:{label:"OVERDUE",value:null},REFUNDED:{label:"REFUNDED",value:t.installmentStatuses.refunded},RECEIVED_IN_CASH:{label:"RECEIVED_IN_CASH",value:t.installmentStatuses.paidManually},REFUND_REQUESTED:{label:"REFUND_REQUESTED",value:t.installmentStatuses.refundRequested},REFUND_IN_PROGRESS:{label:"REFUND_IN_PROGRESS",value:t.installmentStatuses.onGoingRefund},CHARGEBACK_REQUESTED:{label:"CHARGEBACK_REQUESTED",value:t.installmentStatuses.chargebackRequested},CHARGEBACK_DISPUTE:{label:"CHARGEBACK_DISPUTE",value:t.installmentStatuses.onGoingChargeback},AWAITING_CHARGEBACK_REVERSAL:{label:"AWAITING_CHARGEBACK_REVERSAL",value:t.installmentStatuses.waitingChargeback},DUNNING_REQUESTED:{label:"DUNNING_REQUESTED",value:null},DUNNING_RECEIVED:{label:"DUNNING_RECEIVED",value:null},AWAITING_RISK_ANALYSIS:{label:"AWAITING_RISK_ANALYSIS",value:t.installmentStatuses.inAnalysis}};t.maxLimitPayment={credit:{value:2e4,label:"20.000,00"},installment:{value:15e4,label:"150.000,00"},minimumInstallmentValue:{value:10,label:"10,00"},maximumInstallments:{value:12}};t.asaasWithdrawStatus={PENDING:"PENDING",PROCESSING:"PROCESSING",DONE:"DONE",FAILED:"FAILED",CANCELLED:"CANCELLED",BLOCKED:"BLOCKED"};t.withdrawStatuses={DONE:"Efetuada",PENDING:"Pendente",BANK_PROCESSING:"Processando",CANCELLED:"Cancelada",FAILED:"Falhou",BLOCKED:"Bloqueado",group:{done:["DONE"],open:["PENDING","BANK_PROCESSING"],error:["CANCELLED","FAILED","BLOCKED"]}};t.vobiPayBankAccountType={corrente:"CONTA_CORRENTE",poupanca:"CONTA_POUPANCA",salario:"CONTA_SALARIO",pagamento:"CONTA_DE_PAGAMENTO"};t.withdrawSteps={list:1,fillData:2,confirmData:3};t.billingManagerStatus={pending:1,send:2,error:3,discarded:4,notSent:5,sending:6};t.billingManagerStatusDesc={1:"Aguardando",2:"Enviado",3:"Erro",4:"Descartado",5:"N\xE3o enviado",6:"Enviando"};t.billingManagerChannels={allChannels:["email","sms","whatsapp"],email:{value:"email",label:"E-mail"},sms:{value:"sms",label:"SMS"},whatsapp:{value:"whatsapp",label:"WhatsApp"}};t.billingManagerType={allTypes:["DC","D-3","D0","D+1","D+3","D+6"],billingRulerType:["D-3","D0","D+1","D+3","D+6"],DC:{label:"Cria\xE7\xE3o da cobran\xE7a",value:"DC",tooltip:"Ao criar a cobran\xE7a",message:"de cobran\xE7a criada para {customerName} {value}"},"D-3":{label:"3 dias antes do vencimento",value:"D-3",tooltip:"3 dias antes do vencimento das parcelas",message:"de aviso de vencimento em 3 dias para {customerName} {value}"},D0:{label:"Dia do vencimento",value:"D0",tooltip:"No dia do vencimento da parcela",message:"de aviso de cobran\xE7a vencendo hoje para {customerName} {value}"},"D+1":{label:"1 dia ap\xF3s o vencimento",value:"D+1",tooltip:"1 dia ap\xF3s o vencimento de cada parcela",message:"de aviso de cobran\xE7a vencida h\xE1 1 dia para {customerName} {value}"},"D+3":{label:"3 dias ap\xF3s o vencimento",value:"D+3",tooltip:"3 dias ap\xF3s o vencimento de cada parcela",message:"de aviso de cobran\xE7a vencida h\xE1 3 dias para {customerName} {value}"},"D+6":{label:"6 dias ap\xF3s o vencimento",value:"D+6",tooltip:"6 dias ap\xF3s o vencimento de cada parcela",message:"de aviso de cobran\xE7a vencida h\xE1 6 dias para {customerName} {value}"}};t.paymentCreditPermission={allowed:2e4,blocked:0};t.withdrawLimit={pj:{daytime:2e4,nightly:5e3},pf:{daytime:2e4,nightly:5e3}};t.sinapiCostOriginTranslate=[{sinapi:"CR",platform:"Coeficiente de Representatividade"},{sinapi:"C",platform:"Calculado"},{sinapi:"AS",platform:"Custo atribu\xEDdo S\xE3o Paulo"}];t.externalBase={sinapi:"SINAPI",all:["SINAPI"]};t.purchaseSolicitationStatus={draft:1,open:2,quote:3,buy:4,closed:5,canceled:6,editable:[1,2,3],ongoing:[2,3,4]};t.purchaseSolicitationStatusColor={[t.purchaseSolicitationStatus.draft]:"warningSecondary70",[t.purchaseSolicitationStatus.open]:"warningSecondary70",[t.purchaseSolicitationStatus.quote]:"primary50",[t.purchaseSolicitationStatus.buy]:"success30",[t.purchaseSolicitationStatus.canceled]:"danger50",[t.purchaseSolicitationStatus.closed]:"neutral40"};t.purchaseOrderStatus={draft:7,open:8,sent:9,accepted:10,refused:11,closed:12,requestableRefund:[10,12],chargeableAdministrationFee:[10,12],editable:[7,8,9],ongoing:[8,9],finished:[10,12]};t.purchaseOrderStatusColor={[t.purchaseOrderStatus.open]:"warningSecondary70",[t.purchaseOrderStatus.sent]:"primary40",[t.purchaseOrderStatus.accepted]:"success30",[t.purchaseOrderStatus.refused]:"error50",[t.purchaseOrderStatus.closed]:"neutral40"};t.paymentOrderType={fee:"fee",refund:"refund",order:"order"};t.purchaseItemsStatus={all:"all",notPurchased:"not-purchased",notBudgeted:"not-budgeted",requested:"requested",purchased:"purchased"};t.optionsRefurbishReport={financialPhysical:"financialPhysics",budgeted:"budgeted",financial:"financial",physic:"physic",financialPhysicBudgeted:{value:"financialPhysics.budgeted"},physicBudgeted:{value:"physic.budgeted"},physicAccomplished:{value:"physic.accomplished"},financialBudgeted:{value:"financial.budgeted"},financialAccomplished:{value:"financial.accomplished"},financialBudAcp:{value:"financial.budgetedAccomplished"},physicBudAcp:{value:"physic.budgetedAccomplished"}};t.refurbishReportType={budgeted:[t.optionsRefurbishReport.financialPhysicBudgeted.value,t.optionsRefurbishReport.physicBudgeted.value,t.optionsRefurbishReport.financialBudgeted.value],accomplished:[t.optionsRefurbishReport.physicAccomplished.value,t.optionsRefurbishReport.financialAccomplished.value],budgetedAccomplished:[t.optionsRefurbishReport.financialBudAcp.value,t.optionsRefurbishReport.physicBudAcp.value],common:[t.optionsRefurbishReport.financialPhysicBudgeted.value,t.optionsRefurbishReport.physicBudgeted.value,t.optionsRefurbishReport.physicBudAcp.value,t.optionsRefurbishReport.financialBudgeted.value,t.optionsRefurbishReport.financialBudAcp.value],measurement:[t.optionsRefurbishReport.physicAccomplished.value],financial:[t.optionsRefurbishReport.financialAccomplished.value],customColumns:[t.optionsRefurbishReport.physicBudAcp.value,t.optionsRefurbishReport.financialBudAcp.value],simpleExport:[t.optionsRefurbishReport.physicAccomplished.value,t.optionsRefurbishReport.financialAccomplished.value,t.optionsRefurbishReport.physicBudgeted.value,t.optionsRefurbishReport.financialBudgeted.value]};t.purchaseQuoteStatus={draft:13,open:14,pendingResponse:15,quoted:16,buy:17,finished:18,editable:[13,14,15],ongoing:[14,15,16,17]};t.purchaseQuoteStatusColor={[t.purchaseQuoteStatus.draft]:"warningSecondary70",[t.purchaseQuoteStatus.open]:"warningSecondary70",[t.purchaseQuoteStatus.pendingResponse]:"warningSecondary70",[t.purchaseQuoteStatus.quoted]:"primary40",[t.purchaseQuoteStatus.buy]:"success30",[t.purchaseQuoteStatus.finished]:"neutral40"};t.quoteSupplierStatus={pending:{id:1,name:"N\xE3o enviado",color:"neutral40"},waitingResponse:{id:2,name:"Aguardando resposta",color:"warningSecondary70"},refused:{id:3,name:"Recusado",color:"error40"},answered:{id:4,name:"Respondido",color:"primary50"},analyzed:{id:5,name:"Analisado",color:"primary50"},buy:{id:6,name:"Compra e contrata\xE7\xE3o",color:"success30"},finished:{id:7,name:"Finalizado",color:"success30"},withoutResponse:[1,2],answeredOptions:[4,5,6,7],canApprove:[4,5],canCreateOrder:[4,5,6]};t.quoteSupplierMoveStatus={[t.quoteSupplierStatus.pending.id]:{forward:[t.quoteSupplierStatus.waitingResponse],back:[]},[t.quoteSupplierStatus.waitingResponse.id]:{forward:[t.quoteSupplierStatus.answered,t.quoteSupplierStatus.refused],back:[t.quoteSupplierStatus.pending]},[t.quoteSupplierStatus.refused.id]:{forward:[],back:[t.quoteSupplierStatus.pending,t.quoteSupplierStatus.waitingResponse]},[t.quoteSupplierStatus.answered.id]:{forward:[t.quoteSupplierStatus.analyzed,t.quoteSupplierStatus.refused],back:[t.quoteSupplierStatus.waitingResponse]},[t.quoteSupplierStatus.analyzed.id]:{forward:[t.quoteSupplierStatus.refused],back:[t.quoteSupplierStatus.answered]},[t.quoteSupplierStatus.buy.id]:{forward:[],back:[]},[t.quoteSupplierStatus.finished.id]:{forward:[],back:[]}};t.extraValuesPayment={taxes:"taxes",discount:"discount",shipping:"shipping",dueDateDiscount:"dueDateDiscount",dueDateDiscountType:"dueDateDiscountType",dueDateLimitDays:"dueDateLimitDays",fine:"fine",fineType:"fineType",interest:"interest"};t.extraValuesPaymentType={simple:[t.extraValuesPayment.taxes,t.extraValuesPayment.discount,t.extraValuesPayment.shipping],asaas:[t.extraValuesPayment.dueDateDiscount,t.extraValuesPayment.dueDateDiscountType,t.extraValuesPayment.dueDateLimitDays,t.extraValuesPayment.fine,t.extraValuesPayment.fineType,t.extraValuesPayment.interest]};t.fineInterestDiscountType={percentage:{value:"PERCENTAGE",label:"Percentual"},fixed:{value:"FIXED",label:"Valor fixo"}};t.paymentPermissions={financialResume:"financialResume",financialSupplier:"financialSupplier",financialOwnBusiness:"financialOwnBusiness",financialIncome:"financialIncome",financialExpense:"financialExpense",financialTransfer:"financialTransfer",financialResults:"financialResults",financialBankStatement:"financialBankStatement",financialReport:"financialReport",projectResume:"projectResume",projectSupplier:"projectSupplier",projectOwnBusiness:"projectOwnBusiness",projectIncome:"projectIncome",projectExpense:"projectExpense",projectResults:"projectResults",projectBudgetedAccomplished:"projectBudgetedAccomplished"};t.mapOrderField={r:"idRefurbishItem",i:"idItem",e:"externalBaseCode"};var X={on(e,a){document.addEventListener(e,a)},dispatch(e,a){document.dispatchEvent(new CustomEvent(e,{detail:a}))},remove(e,a){document.removeEventListener(e,a)}};var ee=e=>{var n,o,i,l;let a=(l=(i=(o=(n=e==null?void 0:e.response)==null?void 0:n.data)==null?void 0:o.errors)==null?void 0:i[0])==null?void 0:l.description;return a==null?void 0:a.replace(/(asaas|Asaas)/g,"Vobi Pay")};var x=(e,a)=>{if(Array.isArray(e)===!1)return null;let r=null;return e.some(n=>(r=a(n),!!r)),r};var ae=(e,a)=>e?e[a]?e[a]:x(e.or,r=>r[a]):null;var te=e=>{let a=e.lastIndexOf(".");return a===-1?e:e.substring(0,a)};var re=(e,a)=>e&&e.length&&a&&a.length?e.map(r=>Object.entries(r).filter(([n])=>a.includes(n)).reduce((n,[o,i])=>Object.assign(n,{[o]:i}),{})):[];var ne=e=>e.filter(a=>b(a).length>0&&a);var oe=(e,a={})=>{let r={decimalCount:2,decimal:",",thousands:".",...a},{decimal:n,thousands:o,currencySymbol:i}=r,{decimalCount:l}=r;try{l=Math.abs(l),l=isNaN(l)?2:l;let p=e<0?"-":"",u=parseInt(e=Math.abs(Number(e)||0).toFixed(l),10).toString(),m=u.length>3?u.length%3:0;return(i?`${p}${i}`:p)+(m?u.substr(0,m)+o:"")+u.substr(m).replace(/(\d{3})(?=\d)/g,`$1${o}`)+(l?n+Math.abs(e-parseInt(u,10)).toFixed(l).slice(2):"")}catch(p){return console.log(p),""}};var c=d(require("moment-timezone")),D=e=>{let a=e?new Date(e):new Date,r={timeZone:"America/Sao_Paulo"},n=a.toLocaleString("en-US",r);return new Date(n)},se=(e,a,r,n,o)=>{if(!e)return null;if(o)return(0,c.default)(e,a);let i=c.default.utc(e);return n||i.local(),r&&i.locale(r),i.format(a)},ie=(e,a="YYYY-MM-DD")=>{let r=(0,c.default)(e,a).add(1,"days");return typeof e=="string"?r.format(a):r.toDate()},R=(e=new Date,a=1)=>{let r=new Date(e.setDate(e.getDate()+a));return r.getDay()%6?r:R(r)},A=(e=new Date,a=1)=>{let r=new Date(e.setDate(e.getDate()-a));return r.getDay()%6?r:A(r)},g=e=>e?c.default.utc(e).local():null,w=e=>e&&c.default.tz(new Date(e),"America/Sao_Paulo"),le=(e,a)=>{let r=w(e);return r&&r.format(a||"YYYY-MM-DDTHH:mm:ssZ")},ue=(e,a)=>{if(!e||!a)return null;let r=g(e),n=g(a);return!r||!n?null:n.diff(r,"months")},pe=(e,a)=>{var r;return!e||!a?null:(r=g(e))==null?void 0:r.isAfter(a)},ce=(e=!0)=>{let a=new Date;return e?new Date(a.getFullYear(),a.getMonth(),a.getDate()):a},de=(e=!0)=>{let a=new Date;return e?new Date(a.getFullYear(),a.getMonth(),a.getDate()-1):a},me=(e=!0)=>{let a=new Date;return e?new Date(a.getFullYear(),a.getMonth(),a.getDate()+1):a},fe=e=>{let a=D(e);return`${a.getFullYear()}${a.getMonth().toString().padStart(2,"0")}`},ye=(e,a)=>{let r=new Date(e),n=new Date;return new Date(n.getFullYear()-a,n.getMonth(),n.getDate()).getTime()>r.getTime()},ge=e=>c.default.max(e),he=e=>c.default.min(e),be=e=>(0,c.default)(e).isValid();var Se=d(require("dayjs"));var xe=e=>{var a,r;return e?Number(e&&typeof e!="number"?(r=(a=e==null?void 0:e.replace("R$",""))==null?void 0:a.replace(",","."))==null?void 0:r.replace(/\s/g,""):e):null};var ve=e=>{let a=e.indexOf("."),r=e.length;return a&&r?e.substr(a,r):""};var Ee=new RegExp('<img[^>]+src="(https://vobi-storage[^">]+)"',"gm");var De=e=>!isNaN(parseFloat(e))&&!isNaN(e-0);var Re=e=>{try{return!!new URL(e)}catch{return!1}};var C=d(require("jwt-decode")),T=e=>{var a,r;return(a=e.headers)!=null&&a.authorization&&((r=e.headers)==null?void 0:r.authorization.split(" ")[0])==="Bearer"?e.headers.authorization.split(" ")[1]:e.query&&e.query.token?e.query.token:null},Ae=(e,a,r)=>{try{let n=T(e);if(n){let{user:o,isCustomerView:i,accessedBy:l,vaultToken:p}=(0,C.default)(n);e.user={...o,isCustomerView:i,accessedBy:l,vaultToken:p}}return r()}catch(n){console.log("err",n);let o=new Error("Invalid token");return r(o)}};var we=(e,a,r,n)=>{let o=e.idStatus>=5?"projetos":"oportunidades",i=a==="customer"?"cliente":"profissional",l=`/${i}/${o}/perfil/${e.id}`,p=`/${i}`;return`${{operator:l,provider:l,customer:p}}/arquivos?arquivo=${r.id}${n?"&visualizar":""}`};var Ce=e=>(e==null?void 0:e.length)===0?null:e;var Te=(e,a="0000")=>(a+e).slice(a.length*-1);var Pe=(e,a=!1)=>{let r={};for(let n=0;n<e.length;n++){let o=e[n];r[o.value]=a?{...o}:o.label}return r};var Ne=e=>e.replace(/ /g,"").split("-").reduce((a,r)=>a+S(r),"");var Ie=e=>e==null?void 0:e.replace(/[,-./]/g,"");var Oe=({id:e,name:a,email:r,idCompany:n,userType:o,type:i,isOwner:l,MGMCode:p,groupPermission:u,isActive:m,limitAccess:O,company:h})=>({id:e,name:a,email:r,idCompany:n,userType:o,type:i,isOwner:l,MGMCode:p,groupPermission:u,isActive:m,limitAccess:O,idPlan:h==null?void 0:h.idPlan});var Be=e=>{let a=new Array(e.length),r=0;return new Promise((n,o)=>{e.forEach((i,l)=>{Promise.resolve(i).then(n).catch(p=>{a[l]=p,r+=1,r===e.length&&o(a)})})})};var ke=(e,a)=>Object.keys(a).filter(r=>r!==e).reduce((r,n)=>({...r,[n]:a[n]}),{});var Le=(e,a,r=!0)=>{if(!e)return e;let n=e.toLowerCase();return r&&(n=n.replace(new RegExp("\\s","g"),"")),n=n.replace(new RegExp("[\xE0\xE1\xE2\xE3\xE4\xE5]","g"),"a"),n=n.replace(new RegExp("\xE6","g"),"ae"),n=n.replace(new RegExp("\xE7","g"),"c"),n=n.replace(new RegExp("[\xE8\xE9\xEA\xEB]","g"),"e"),n=n.replace(new RegExp("[\xEC\xED\xEE\xEF]","g"),"i"),n=n.replace(new RegExp("\xF1","g"),"n"),n=n.replace(new RegExp("[\xF2\xF3\xF4\xF5\xF6]","g"),"o"),n=n.replace(new RegExp("\u0153","g"),"oe"),n=n.replace(new RegExp("[\xF9\xFA\xFB\xFC]","g"),"u"),n=n.replace(new RegExp("[\xFD\xFF]","g"),"y"),n=n.replace("'",""),n=n.replace("\xB4",""),n=n.replace("`",""),a&&(n=n.replace(new RegExp("\\W","g"),"")),n};var _e=e=>e==null?void 0:e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-zA-Z0-9-/\s]/g,"").replace(/\//g,"").replace(/\s+/g,"-").toLowerCase();var Ve=(e,a)=>e.reduce((r,n,o)=>{let i=Math.floor(o/a),l=[...r];return r[i]||(l[i]=[]),l[i].push(n),l},[]);var qe=(e,a)=>(e==null?void 0:e.map(r=>a?r[a]:r).reduce((r,n)=>r+(Number(n||0)||0),0))||0;var Ge=(e,a)=>(e==null?void 0:e.map(r=>a(r)).reduce((r,n)=>r+(Number(n||0)||0),0))||0;var P=d(require("bcrypt")),N=d(require("crypto")),I=d(require("jsonwebtoken"));var Fe="myScret",Me=async()=>N.default.randomBytes(20).toString("hex"),je=e=>P.default.hash(e,10),Ue=(e={},a,r=!1)=>{let n=r?e:{id:e.id,name:e.name,email:e.email,mainRole:e.mainRole,userType:a,...a===t.userType.provider.value&&{idCompany:e.idCompany}};return I.default.sign(n,Fe,{expiresIn:60*60*2,audience:a})};var ze=e=>e.length===2?[e[0].replace(/\./g,""),e[1].replace(/\./g,"")]:e;0&&(module.exports={IsJsonString,PromiseEach,asArray,asBrazilianDate,asDate,asyncForEach,brazilianDateTime,brazilianDateToDate,capitalize,checkCnpj,checkCpf,checkEmail,containsEncodedComponents,curry,dateIsValid,decodeToken,decrypt,diffObject,dynamici18nString,elasticTransformOr,encrypt,enumHelper,eventBus,extractAsaasError,extractValueFromWhere,filterAttributes,filterEmpty,findValue,formatAmount,formatDate,formatNumber,generatePasswordHash,generateRandomToken,generateToken,getExtension,getMonthNumber,getNameWithoutExtension,getNextDay,getNextWeekday,getPreviewsWeekday,getToday,getToken,getTomorrow,getYesterday,imgSrcRegex,isAfter,isNumber,isOfAge,isValidURL,makeRefurbishFileUrl,maxDateToList,minDateToList,monthsBetween,nullIfEmpty,padLeft,parseArrayAsObject,parseRouteToModel,prepareDoc,prepareSession,promiseAny,removeProperty,removeSpecialChar,slugify,splitList,sum,sumByFunction,valueReplacer});
package/dist/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ var O=e=>{try{JSON.parse(e)}catch{return!1}return!0};var L=async(e,t)=>{for(let n of e)await t(n)};var h=e=>e==null?[]:Array.isArray(e)?e:[e];var F=async(e,t)=>{await Promise.all(e.map((n,r)=>t(n,r,e)))};var b=e=>{if(typeof e!="string")return"";let t=e.trim();return t.charAt(0).toUpperCase()+t.slice(1)};var Y=e=>{let t,n,r,i,l,u,c=!0;if(e.length<14)return!1;for(let p=1;p<e.length;p++)if(e.charAt(p-1)!==e.charAt(p)){c=!1;break}if(!c){u=e.length-2,t=e.substring(0,u),n=e.substring(u),r=0,l=u-7;for(let p=0;p<u;p++)r+=parseInt(t.charAt(p))*l--,l<2&&(l=9);if(i=r%11<2?0:11-r%11,i!==parseInt(n.charAt(0)))return!1;u+=1,t=e.substring(0,u),r=0,l=u-7;for(let p=0;p<u;p++)r+=parseInt(t.charAt(p))*l--,l<2&&(l=9);return i=r%11<2?0:11-r%11,i===parseInt(n.charAt(1))}return!1};var H=(e,t=!1)=>{let n,r;return n=0,e.length<11||!t&&e.split("").every(i=>i===e[0])||(Array.from({length:9}).forEach((i,l)=>{n+=parseInt(e.substring(l,l+1),10)*(11-(l+1))}),r=n*10%11,(r===10||r===11)&&(r=0),r!==parseInt(e.substring(9,10),10))?!1:(n=0,Array.from({length:10}).forEach((i,l)=>{n+=parseInt(e.substring(l,l+1),10)*(12-(l+1))}),r=n*10%11,(r===10||r===11)&&(r=0),r===parseInt(e.substring(10,11),10))};var J=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e);var ee=e=>decodeURI(e)!==decodeURIComponent(e);var re=e=>(...t)=>e.length>t.length?e.bind(null,...t):e(...t);import*as f from"crypto-js";var se=(e,t)=>f.AES.decrypt(e,t).toString(f.enc.Utf8);var ue=(e,t)=>Object.keys(t).reduce((n,r)=>{if(e[r]===t[r]||r==="lastModifiedBy"||r==="createdAt")return n;let{oldData:i,newData:l}=n;return{oldData:{...i,[r]:e[r]},newData:{...l,[r]:t[r]}}},{});var de=(e,t)=>e&&typeof e=="string"?e.search(/[a-z]\.[a-z]/i)>=0?t.__(e):e:"";var ye=e=>{let t={};return e==null||e.forEach(n=>{Object.keys(n).forEach(i=>{typeof n[i]=="string"&&(n[i].toLowerCase()==="true"||n[i].toLowerCase()==="false")?t[i]=n[i].toLowerCase()==="true":t[i]=n[i]})}),t};import*as S from"crypto-js";var be=(e,t)=>(typeof e=="object"&&(e=JSON.stringify(e)),S.AES.encrypt(e,t).toString());var a={};a.fileType={receipt:"receipt",paymentVoucher:"paymentVoucher",quote:"quote",others:"others",project:"project",proposal:"proposal",bankBillet:"bankBillet",refund:"refund"};a.refurbishItemStatus={approved:{label:"Aprovado",value:"approved"},rejected:{label:"N\xE3o aprovado",value:"rejected"},pending:{label:"Para aprovar",value:"pending"},activeStatus:["approved","pending"]};a.workReportStatus={preparing:{label:"Em prepara\xE7\xE3o",value:"preparing",color:"warning70"},finished:{label:"Conclu\xEDdo",value:"finished",color:"success40"}};a.refurbishGroup={noGroup:"Sem grupo"};a.proposalStatus={waiting:{id:1,name:"Aguardando envio"},sent:{id:2,name:"Proposta enviada"},accept:{id:3,name:"Proposta aceita"},inactive:{id:4,name:"Arquivada"},allowCustomer:[2,3]};a.companyStatus={created:{id:1,name:"Cadastro iniciado"},onBoarding:{id:2,name:"Aguardando libera\xE7\xE3o"},active:{id:3,name:"Ativo"},blocked:{id:4,name:"Bloqueado"},cancelled:{id:5,name:"Cancelada"}};a.companyType={architect:{id:1,name:"Arquitetura e design de interiores",roles:["architect"]},service:{id:2,name:"Execu\xE7\xE3o de obra"},store:{id:3,name:"Loja de produtos e materiais"},factory:{id:4,name:"Fabricante"},other:{id:10,name:"Outros"}};a.refurbishStatus={new:{id:1,name:"Novo"},contact:{id:2,name:"Em contato"},proposalSent:{id:3,name:"Proposta enviada"},archived:{id:4,name:"Arquivada"},winner:{id:5,name:"Ganha",winner:!0},execution:{id:5,name:"Em andamento"},finished:{id:6,name:"Finalizado"},cancelled:{id:7,name:"Cancelado"},activeOpportunity:[1,2,3],opportunity:[1,2,3,4],project:[5,6,7],end:[4,5,6,7]};a.fixedRefurbishNewStatus={finished:{id:9999999,name:"Finalizado"},cancelled:{id:9999998,name:"Cancelado"},closed:[9999998,9999999]};a.refurbishStage={1:{id:1,name:"Oportunidade"},2:{id:2,name:"Projeto"}};a.roles={admin:{id:"admin",name:"Administrador"},sales:{id:"sales",name:"Venda"},arch:{id:"architect",name:"Arquitetura"},plan:{id:"plan",name:"Planejamento"},work:{id:"work",name:"Obra"},quality:{id:"quality",name:"Qualidade"},supply:{id:"supply",name:"Suprimentos"},contractor:{id:"contractor",name:"Empreiteiro"},beta:{id:"beta",name:"Beta user"}};a.supplierType={1:{value:1,label:"Loja"},2:{value:2,label:"Prestador de servi\xE7o"}};a.userType={guest:{name:"Visitante",value:"guest"},operator:{name:"Operador",value:"operator"},customer:{name:"Cliente",value:"customer"},provider:{name:"Profissional",value:"provider"},system:{name:"Sistema",value:"system"},anonymous:{name:"An\xF4nimo",value:"anonymous"},realTypes:["guest","operator","customer","provider"]};a.userTypesMap={guest:{userType:"guest",type:"visitante",name:"Visitante"},operador:{userType:"operator",type:"operador",name:"Operador"},cliente:{userType:"customer",type:"cliente",name:"Cliente"},profissional:{userType:"provider",type:"profissional",name:"Profissional"},sistema:{userType:"system",type:"sistema",name:"sistema"}};a.dashboardGuideMap={immersion:{label:"Agende sua imers\xE3o",buttonLabel:"Reserve seu hor\xE1rio",link:"webinar-agendamento",bubble:!0},config:{label:"Adicione sua logo e descri\xE7\xE3o",buttonLabel:"Ir para configura\xE7\xF5es",link:"profissional/configuracoes/meu-negocio"},project:{label:"Crie seu primeiro projeto",buttonLabel:"Adicionar projeto",permission:"project"},task:{label:"Adicione suas primeiras tarefas",buttonLabel:"Criar tarefa",permission:"tasks",link:"profissional/produtividade/gestao-tarefas"}};a.subItemsInitialValue={hasSchedule:{checked:!0,label:"Etapas do Cronograma",tooltip:`Aplique as etapas do cronograma, sem as tarefas.
2
+ Para aplicar tamb\xE9m as tarefas desse template, selecione Tarefas logo abaixo`},hasTasks:{checked:!0,label:"Tarefas",parent:"hasSchedule"},hasBudget:{checked:!0,label:"Or\xE7amento"},hasFolders:{checked:!0,label:"Pastas"},hasNotes:{checked:!0,label:"Anota\xE7\xF5es"}};a.catalogFilterType={default:"default",range:"range"};a.specificationGroupBy={refurbishGroup:{model:"refurbishGroup",key:"id",name:"name"},category:"category",costCenter:{model:"costCenter",key:"id",name:"name"}};a.paymentStatus={waitingOrder:1,analyzing:2,waitingRelease:3,released:4,transferred:5,markAsPaid:6,allowTransfer:[3,4],allowChange:[1,6],sendEmail:[4,5]};a.purchaseStatus={waitingOrder:1,analyzing:2,pending:3,waitingPurchase:4,delivered:5,markAsPurchased:6,allowChange:[1,6]};a.actions={cancel:"cancel"};a.orderType={pay:"pay",shop:"shop"};a.personTypes={pf:"pf",pj:"pj"};a.asaasPersonTypes={pf:"FISICA",pj:"JURIDICA"};a.stepAccount={personal:0,address:1,documents:2};a.statusVobiPay={PENDING:{color:"#FF8E1B",label:"Em an\xE1lise"}};a.refurbishItemType={product:1,labor:2,parent:3,composition:4,notParent:[1,2,4],productLabor:[1,2]};a.notificationChannel={system:"system",email:"email",whatsApp:"whatsApp"};a.taskStatus={planned:{id:1,name:"planejado"},execution:{id:2,name:"em andamento"},finished:{id:4,name:"conclu\xEDdo"},cancelled:{id:5,name:"cancelado"},notFinished:[1,2],pending:[1,2],all:[1,2,4,5]};a.priority={low:{id:1,name:"baixa",color:"primary50"},average:{id:2,name:"m\xE9dia",color:"warningSecondary70"},high:{id:3,name:"alta",color:"error50"},all:[1,2,3]};a.companyProgress={0:{name:"B\xE1sico",value:25},1:{name:"Intermedi\xE1rio",value:50},2:{name:"Avan\xE7ado",value:75},3:{name:"Expert",value:100}};a.templateType={construction:{value:"construction",label:"Obra"},project:{value:"project",label:"Projeto"},opportunity:{value:"opportunity",label:"Oportunidade"}};a.templateModule={all:{value:"all",label:"Completo"},budget:{value:"budget",label:"Or\xE7amento"}};a.templateCategory={residential:{value:"residential",label:"Residencial"},commercial:{value:"commercial",label:"Comercial"},others:{value:"others",label:"Outros"}};a.propertyTypes={residential:{value:"residential",label:"Residencial"},commercial:{value:"commercial",label:"Comercial"},others:{value:"others",label:"Outros"}};a.planType={free:{value:"free",label:"freemium"},starter:{value:"starter",label:"Starter"},essential:{value:"essential",label:"Essential"}};a.projectTab={step:"step",list:"list"};a.installmentStatuses={pendingPayment:1,paid:2,confirm:3,paidManually:4,inAnalysis:5,refunded:6,refundRequested:7,onGoingRefund:8,chargebackRequested:9,onGoingChargeback:10,waitingChargeback:11,cancelled:12,all:[1,2,3,4,5,6,7,8,9,10],paidVobiPay:[2,3,7,8,9,10,11],bankStatement:[2,4,6,7,8,9,10,11],allPaid:[2,3,4,7,8,9,10,11],allPaidBalance:[2,4,7,8,9,10,11],allPending:[1,5]};a.paymentStatuses={draft:1,open:2,paid:3,cancelled:4,realValues:[2,3],allStatus:[1,2,3,4]};a.billType={income:"receita",expense:"despesa",transfer:"transferencia"};a.paymentTypeValues={expense:{value:"expense",label:"despesa"},income:{value:"income",label:"receita"},transfer:{value:"transfer",label:"transfer\xEAncia"},payment:{value:"payment",label:"pagamento"}};a.financialCategories={serviceSelling:1,productsSelling:2,fee:3,investimentIncome:4,others:5,advanceFutureCapital:6,capitalIncrease:7,bankLoan:8,institutionLoan:9,partnerLoan:10,paymentShareCapital:11};a.getEnumValue=(e,t,n=["id","name"])=>{let r=null;return!e||!t||Object.keys(e).some(i=>e[i][n[0]]===t?(r=e[i][n[1]],!0):!1),r};a.typePrefix={1:"P",2:"S",4:"C"};a.schemaBusinessCustomError={service:"onboarding.services",description:"onboarding.servicesDescription"};a.stepPayAccount={step1:"step1",step2:"step2",finished:"finished"};a.asaasPixType={CPF:"CPF",CNPJ:"CNPJ",EMAIL:"E-mail",PHONE:"Celular",EVP:"Aleat\xF3ria"};a.paymentTypes={pix:1,bankSlip:2,creditCard:3,debitCard:4,transfer:5,money:6,other:7};a.paymentTypesDesc={1:"Pix",2:"Boleto",3:"Cart\xE3o de cr\xE9dito",4:"Cart\xE3o de d\xE9bito",5:"Transfer\xEAncia",6:"Dinheiro",7:"Outro"};a.vobiPayPaymentType={pix:1,bankSlip:2,creditCard:3,all:[1,2,3],1:"pix",2:"bankSlip",3:"creditCard"};a.asaasPaymentStatus={PENDING:{label:"PENDING",value:a.installmentStatuses.pendingPayment},RECEIVED:{label:"RECEIVED",value:a.installmentStatuses.paid},CONFIRMED:{label:"CONFIRMED",value:a.installmentStatuses.confirm},OVERDUE:{label:"OVERDUE",value:null},REFUNDED:{label:"REFUNDED",value:a.installmentStatuses.refunded},RECEIVED_IN_CASH:{label:"RECEIVED_IN_CASH",value:a.installmentStatuses.paidManually},REFUND_REQUESTED:{label:"REFUND_REQUESTED",value:a.installmentStatuses.refundRequested},REFUND_IN_PROGRESS:{label:"REFUND_IN_PROGRESS",value:a.installmentStatuses.onGoingRefund},CHARGEBACK_REQUESTED:{label:"CHARGEBACK_REQUESTED",value:a.installmentStatuses.chargebackRequested},CHARGEBACK_DISPUTE:{label:"CHARGEBACK_DISPUTE",value:a.installmentStatuses.onGoingChargeback},AWAITING_CHARGEBACK_REVERSAL:{label:"AWAITING_CHARGEBACK_REVERSAL",value:a.installmentStatuses.waitingChargeback},DUNNING_REQUESTED:{label:"DUNNING_REQUESTED",value:null},DUNNING_RECEIVED:{label:"DUNNING_RECEIVED",value:null},AWAITING_RISK_ANALYSIS:{label:"AWAITING_RISK_ANALYSIS",value:a.installmentStatuses.inAnalysis}};a.maxLimitPayment={credit:{value:2e4,label:"20.000,00"},installment:{value:15e4,label:"150.000,00"},minimumInstallmentValue:{value:10,label:"10,00"},maximumInstallments:{value:12}};a.asaasWithdrawStatus={PENDING:"PENDING",PROCESSING:"PROCESSING",DONE:"DONE",FAILED:"FAILED",CANCELLED:"CANCELLED",BLOCKED:"BLOCKED"};a.withdrawStatuses={DONE:"Efetuada",PENDING:"Pendente",BANK_PROCESSING:"Processando",CANCELLED:"Cancelada",FAILED:"Falhou",BLOCKED:"Bloqueado",group:{done:["DONE"],open:["PENDING","BANK_PROCESSING"],error:["CANCELLED","FAILED","BLOCKED"]}};a.vobiPayBankAccountType={corrente:"CONTA_CORRENTE",poupanca:"CONTA_POUPANCA",salario:"CONTA_SALARIO",pagamento:"CONTA_DE_PAGAMENTO"};a.withdrawSteps={list:1,fillData:2,confirmData:3};a.billingManagerStatus={pending:1,send:2,error:3,discarded:4,notSent:5,sending:6};a.billingManagerStatusDesc={1:"Aguardando",2:"Enviado",3:"Erro",4:"Descartado",5:"N\xE3o enviado",6:"Enviando"};a.billingManagerChannels={allChannels:["email","sms","whatsapp"],email:{value:"email",label:"E-mail"},sms:{value:"sms",label:"SMS"},whatsapp:{value:"whatsapp",label:"WhatsApp"}};a.billingManagerType={allTypes:["DC","D-3","D0","D+1","D+3","D+6"],billingRulerType:["D-3","D0","D+1","D+3","D+6"],DC:{label:"Cria\xE7\xE3o da cobran\xE7a",value:"DC",tooltip:"Ao criar a cobran\xE7a",message:"de cobran\xE7a criada para {customerName} {value}"},"D-3":{label:"3 dias antes do vencimento",value:"D-3",tooltip:"3 dias antes do vencimento das parcelas",message:"de aviso de vencimento em 3 dias para {customerName} {value}"},D0:{label:"Dia do vencimento",value:"D0",tooltip:"No dia do vencimento da parcela",message:"de aviso de cobran\xE7a vencendo hoje para {customerName} {value}"},"D+1":{label:"1 dia ap\xF3s o vencimento",value:"D+1",tooltip:"1 dia ap\xF3s o vencimento de cada parcela",message:"de aviso de cobran\xE7a vencida h\xE1 1 dia para {customerName} {value}"},"D+3":{label:"3 dias ap\xF3s o vencimento",value:"D+3",tooltip:"3 dias ap\xF3s o vencimento de cada parcela",message:"de aviso de cobran\xE7a vencida h\xE1 3 dias para {customerName} {value}"},"D+6":{label:"6 dias ap\xF3s o vencimento",value:"D+6",tooltip:"6 dias ap\xF3s o vencimento de cada parcela",message:"de aviso de cobran\xE7a vencida h\xE1 6 dias para {customerName} {value}"}};a.paymentCreditPermission={allowed:2e4,blocked:0};a.withdrawLimit={pj:{daytime:2e4,nightly:5e3},pf:{daytime:2e4,nightly:5e3}};a.sinapiCostOriginTranslate=[{sinapi:"CR",platform:"Coeficiente de Representatividade"},{sinapi:"C",platform:"Calculado"},{sinapi:"AS",platform:"Custo atribu\xEDdo S\xE3o Paulo"}];a.externalBase={sinapi:"SINAPI",all:["SINAPI"]};a.purchaseSolicitationStatus={draft:1,open:2,quote:3,buy:4,closed:5,canceled:6,editable:[1,2,3],ongoing:[2,3,4]};a.purchaseSolicitationStatusColor={[a.purchaseSolicitationStatus.draft]:"warningSecondary70",[a.purchaseSolicitationStatus.open]:"warningSecondary70",[a.purchaseSolicitationStatus.quote]:"primary50",[a.purchaseSolicitationStatus.buy]:"success30",[a.purchaseSolicitationStatus.canceled]:"danger50",[a.purchaseSolicitationStatus.closed]:"neutral40"};a.purchaseOrderStatus={draft:7,open:8,sent:9,accepted:10,refused:11,closed:12,requestableRefund:[10,12],chargeableAdministrationFee:[10,12],editable:[7,8,9],ongoing:[8,9],finished:[10,12]};a.purchaseOrderStatusColor={[a.purchaseOrderStatus.open]:"warningSecondary70",[a.purchaseOrderStatus.sent]:"primary40",[a.purchaseOrderStatus.accepted]:"success30",[a.purchaseOrderStatus.refused]:"error50",[a.purchaseOrderStatus.closed]:"neutral40"};a.paymentOrderType={fee:"fee",refund:"refund",order:"order"};a.purchaseItemsStatus={all:"all",notPurchased:"not-purchased",notBudgeted:"not-budgeted",requested:"requested",purchased:"purchased"};a.optionsRefurbishReport={financialPhysical:"financialPhysics",budgeted:"budgeted",financial:"financial",physic:"physic",financialPhysicBudgeted:{value:"financialPhysics.budgeted"},physicBudgeted:{value:"physic.budgeted"},physicAccomplished:{value:"physic.accomplished"},financialBudgeted:{value:"financial.budgeted"},financialAccomplished:{value:"financial.accomplished"},financialBudAcp:{value:"financial.budgetedAccomplished"},physicBudAcp:{value:"physic.budgetedAccomplished"}};a.refurbishReportType={budgeted:[a.optionsRefurbishReport.financialPhysicBudgeted.value,a.optionsRefurbishReport.physicBudgeted.value,a.optionsRefurbishReport.financialBudgeted.value],accomplished:[a.optionsRefurbishReport.physicAccomplished.value,a.optionsRefurbishReport.financialAccomplished.value],budgetedAccomplished:[a.optionsRefurbishReport.financialBudAcp.value,a.optionsRefurbishReport.physicBudAcp.value],common:[a.optionsRefurbishReport.financialPhysicBudgeted.value,a.optionsRefurbishReport.physicBudgeted.value,a.optionsRefurbishReport.physicBudAcp.value,a.optionsRefurbishReport.financialBudgeted.value,a.optionsRefurbishReport.financialBudAcp.value],measurement:[a.optionsRefurbishReport.physicAccomplished.value],financial:[a.optionsRefurbishReport.financialAccomplished.value],customColumns:[a.optionsRefurbishReport.physicBudAcp.value,a.optionsRefurbishReport.financialBudAcp.value],simpleExport:[a.optionsRefurbishReport.physicAccomplished.value,a.optionsRefurbishReport.financialAccomplished.value,a.optionsRefurbishReport.physicBudgeted.value,a.optionsRefurbishReport.financialBudgeted.value]};a.purchaseQuoteStatus={draft:13,open:14,pendingResponse:15,quoted:16,buy:17,finished:18,editable:[13,14,15],ongoing:[14,15,16,17]};a.purchaseQuoteStatusColor={[a.purchaseQuoteStatus.draft]:"warningSecondary70",[a.purchaseQuoteStatus.open]:"warningSecondary70",[a.purchaseQuoteStatus.pendingResponse]:"warningSecondary70",[a.purchaseQuoteStatus.quoted]:"primary40",[a.purchaseQuoteStatus.buy]:"success30",[a.purchaseQuoteStatus.finished]:"neutral40"};a.quoteSupplierStatus={pending:{id:1,name:"N\xE3o enviado",color:"neutral40"},waitingResponse:{id:2,name:"Aguardando resposta",color:"warningSecondary70"},refused:{id:3,name:"Recusado",color:"error40"},answered:{id:4,name:"Respondido",color:"primary50"},analyzed:{id:5,name:"Analisado",color:"primary50"},buy:{id:6,name:"Compra e contrata\xE7\xE3o",color:"success30"},finished:{id:7,name:"Finalizado",color:"success30"},withoutResponse:[1,2],answeredOptions:[4,5,6,7],canApprove:[4,5],canCreateOrder:[4,5,6]};a.quoteSupplierMoveStatus={[a.quoteSupplierStatus.pending.id]:{forward:[a.quoteSupplierStatus.waitingResponse],back:[]},[a.quoteSupplierStatus.waitingResponse.id]:{forward:[a.quoteSupplierStatus.answered,a.quoteSupplierStatus.refused],back:[a.quoteSupplierStatus.pending]},[a.quoteSupplierStatus.refused.id]:{forward:[],back:[a.quoteSupplierStatus.pending,a.quoteSupplierStatus.waitingResponse]},[a.quoteSupplierStatus.answered.id]:{forward:[a.quoteSupplierStatus.analyzed,a.quoteSupplierStatus.refused],back:[a.quoteSupplierStatus.waitingResponse]},[a.quoteSupplierStatus.analyzed.id]:{forward:[a.quoteSupplierStatus.refused],back:[a.quoteSupplierStatus.answered]},[a.quoteSupplierStatus.buy.id]:{forward:[],back:[]},[a.quoteSupplierStatus.finished.id]:{forward:[],back:[]}};a.extraValuesPayment={taxes:"taxes",discount:"discount",shipping:"shipping",dueDateDiscount:"dueDateDiscount",dueDateDiscountType:"dueDateDiscountType",dueDateLimitDays:"dueDateLimitDays",fine:"fine",fineType:"fineType",interest:"interest"};a.extraValuesPaymentType={simple:[a.extraValuesPayment.taxes,a.extraValuesPayment.discount,a.extraValuesPayment.shipping],asaas:[a.extraValuesPayment.dueDateDiscount,a.extraValuesPayment.dueDateDiscountType,a.extraValuesPayment.dueDateLimitDays,a.extraValuesPayment.fine,a.extraValuesPayment.fineType,a.extraValuesPayment.interest]};a.fineInterestDiscountType={percentage:{value:"PERCENTAGE",label:"Percentual"},fixed:{value:"FIXED",label:"Valor fixo"}};a.paymentPermissions={financialResume:"financialResume",financialSupplier:"financialSupplier",financialOwnBusiness:"financialOwnBusiness",financialIncome:"financialIncome",financialExpense:"financialExpense",financialTransfer:"financialTransfer",financialResults:"financialResults",financialBankStatement:"financialBankStatement",financialReport:"financialReport",projectResume:"projectResume",projectSupplier:"projectSupplier",projectOwnBusiness:"projectOwnBusiness",projectIncome:"projectIncome",projectExpense:"projectExpense",projectResults:"projectResults",projectBudgetedAccomplished:"projectBudgetedAccomplished"};a.mapOrderField={r:"idRefurbishItem",i:"idItem",e:"externalBaseCode"};var De={on(e,t){document.addEventListener(e,t)},dispatch(e,t){document.dispatchEvent(new CustomEvent(e,{detail:t}))},remove(e,t){document.removeEventListener(e,t)}};var we=e=>{var r,i,l,u;let t=(u=(l=(i=(r=e==null?void 0:e.response)==null?void 0:r.data)==null?void 0:i.errors)==null?void 0:l[0])==null?void 0:u.description;return t==null?void 0:t.replace(/(asaas|Asaas)/g,"Vobi Pay")};var x=(e,t)=>{if(Array.isArray(e)===!1)return null;let n=null;return e.some(r=>(n=t(r),!!n)),n};var Oe=(e,t)=>e?e[t]?e[t]:x(e.or,n=>n[t]):null;var Le=e=>{let t=e.lastIndexOf(".");return t===-1?e:e.substring(0,t)};var qe=(e,t)=>e&&e.length&&t&&t.length?e.map(n=>Object.entries(n).filter(([r])=>t.includes(r)).reduce((r,[i,l])=>Object.assign(r,{[i]:l}),{})):[];var je=e=>e.filter(t=>h(t).length>0&&t);var Ye=(e,t={})=>{let n={decimalCount:2,decimal:",",thousands:".",...t},{decimal:r,thousands:i,currencySymbol:l}=n,{decimalCount:u}=n;try{u=Math.abs(u),u=isNaN(u)?2:u;let c=e<0?"-":"",p=parseInt(e=Math.abs(Number(e)||0).toFixed(u),10).toString(),m=p.length>3?p.length%3:0;return(l?`${c}${l}`:c)+(m?p.substr(0,m)+i:"")+p.substr(m).replace(/(\d{3})(?=\d)/g,`$1${i}`)+(u?r+Math.abs(e-parseInt(p,10)).toFixed(u).slice(2):"")}catch(c){return console.log(c),""}};import d from"moment-timezone";var E=e=>{let t=e?new Date(e):new Date,n={timeZone:"America/Sao_Paulo"},r=t.toLocaleString("en-US",n);return new Date(r)},Ke=(e,t,n,r,i)=>{if(!e)return null;if(i)return d(e,t);let l=d.utc(e);return r||l.local(),n&&l.locale(n),l.format(t)},We=(e,t="YYYY-MM-DD")=>{let n=d(e,t).add(1,"days");return typeof e=="string"?n.format(t):n.toDate()},D=(e=new Date,t=1)=>{let n=new Date(e.setDate(e.getDate()+t));return n.getDay()%6?n:D(n)},R=(e=new Date,t=1)=>{let n=new Date(e.setDate(e.getDate()-t));return n.getDay()%6?n:R(n)},g=e=>e?d.utc(e).local():null,A=e=>e&&d.tz(new Date(e),"America/Sao_Paulo"),Je=(e,t)=>{let n=A(e);return n&&n.format(t||"YYYY-MM-DDTHH:mm:ssZ")},Ze=(e,t)=>{if(!e||!t)return null;let n=g(e),r=g(t);return!n||!r?null:r.diff(n,"months")},Xe=(e,t)=>{var n;return!e||!t?null:(n=g(e))==null?void 0:n.isAfter(t)},ea=(e=!0)=>{let t=new Date;return e?new Date(t.getFullYear(),t.getMonth(),t.getDate()):t},aa=(e=!0)=>{let t=new Date;return e?new Date(t.getFullYear(),t.getMonth(),t.getDate()-1):t},ta=(e=!0)=>{let t=new Date;return e?new Date(t.getFullYear(),t.getMonth(),t.getDate()+1):t},ra=e=>{let t=E(e);return`${t.getFullYear()}${t.getMonth().toString().padStart(2,"0")}`},na=(e,t)=>{let n=new Date(e),r=new Date;return new Date(r.getFullYear()-t,r.getMonth(),r.getDate()).getTime()>n.getTime()},oa=e=>d.max(e),sa=e=>d.min(e),ia=e=>d(e).isValid();import ca from"dayjs";var fa=e=>{var t,n;return e?Number(e&&typeof e!="number"?(n=(t=e==null?void 0:e.replace("R$",""))==null?void 0:t.replace(",","."))==null?void 0:n.replace(/\s/g,""):e):null};var ha=e=>{let t=e.indexOf("."),n=e.length;return t&&n?e.substr(t,n):""};var xa=new RegExp('<img[^>]+src="(https://vobi-storage[^">]+)"',"gm");var Da=e=>!isNaN(parseFloat(e))&&!isNaN(e-0);var wa=e=>{try{return!!new URL(e)}catch{return!1}};import w from"jwt-decode";var C=e=>{var t,n;return(t=e.headers)!=null&&t.authorization&&((n=e.headers)==null?void 0:n.authorization.split(" ")[0])==="Bearer"?e.headers.authorization.split(" ")[1]:e.query&&e.query.token?e.query.token:null},Na=(e,t,n)=>{try{let r=C(e);if(r){let{user:i,isCustomerView:l,accessedBy:u,vaultToken:c}=w(r);e.user={...i,isCustomerView:l,accessedBy:u,vaultToken:c}}return n()}catch(r){console.log("err",r);let i=new Error("Invalid token");return n(i)}};var Ba=(e,t,n,r)=>{let i=e.idStatus>=5?"projetos":"oportunidades",l=t==="customer"?"cliente":"profissional",u=`/${l}/${i}/perfil/${e.id}`,c=`/${l}`;return`${{operator:u,provider:u,customer:c}}/arquivos?arquivo=${n.id}${r?"&visualizar":""}`};var _a=e=>(e==null?void 0:e.length)===0?null:e;var Ga=(e,t="0000")=>(t+e).slice(t.length*-1);var ja=(e,t=!1)=>{let n={};for(let r=0;r<e.length;r++){let i=e[r];n[i.value]=t?{...i}:i.label}return n};var Qa=e=>e.replace(/ /g,"").split("-").reduce((t,n)=>t+b(n),"");var Ka=e=>e==null?void 0:e.replace(/[,-./]/g,"");var Za=({id:e,name:t,email:n,idCompany:r,userType:i,type:l,isOwner:u,MGMCode:c,groupPermission:p,isActive:m,limitAccess:v,company:y})=>({id:e,name:t,email:n,idCompany:r,userType:i,type:l,isOwner:u,MGMCode:c,groupPermission:p,isActive:m,limitAccess:v,idPlan:y==null?void 0:y.idPlan});var at=e=>{let t=new Array(e.length),n=0;return new Promise((r,i)=>{e.forEach((l,u)=>{Promise.resolve(l).then(r).catch(c=>{t[u]=c,n+=1,n===e.length&&i(t)})})})};var nt=(e,t)=>Object.keys(t).filter(n=>n!==e).reduce((n,r)=>({...n,[r]:t[r]}),{});var it=(e,t,n=!0)=>{if(!e)return e;let r=e.toLowerCase();return n&&(r=r.replace(new RegExp("\\s","g"),"")),r=r.replace(new RegExp("[\xE0\xE1\xE2\xE3\xE4\xE5]","g"),"a"),r=r.replace(new RegExp("\xE6","g"),"ae"),r=r.replace(new RegExp("\xE7","g"),"c"),r=r.replace(new RegExp("[\xE8\xE9\xEA\xEB]","g"),"e"),r=r.replace(new RegExp("[\xEC\xED\xEE\xEF]","g"),"i"),r=r.replace(new RegExp("\xF1","g"),"n"),r=r.replace(new RegExp("[\xF2\xF3\xF4\xF5\xF6]","g"),"o"),r=r.replace(new RegExp("\u0153","g"),"oe"),r=r.replace(new RegExp("[\xF9\xFA\xFB\xFC]","g"),"u"),r=r.replace(new RegExp("[\xFD\xFF]","g"),"y"),r=r.replace("'",""),r=r.replace("\xB4",""),r=r.replace("`",""),t&&(r=r.replace(new RegExp("\\W","g"),"")),r};var pt=e=>e==null?void 0:e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-zA-Z0-9-/\s]/g,"").replace(/\//g,"").replace(/\s+/g,"-").toLowerCase();var mt=(e,t)=>e.reduce((n,r,i)=>{let l=Math.floor(i/t),u=[...n];return n[l]||(u[l]=[]),u[l].push(r),u},[]);var gt=(e,t)=>(e==null?void 0:e.map(n=>t?n[t]:n).reduce((n,r)=>n+(Number(r||0)||0),0))||0;var St=(e,t)=>(e==null?void 0:e.map(n=>t(n)).reduce((n,r)=>n+(Number(r||0)||0),0))||0;import T from"bcrypt";import P from"crypto";import N from"jsonwebtoken";var I="myScret",Ct=async()=>P.randomBytes(20).toString("hex"),Tt=e=>T.hash(e,10),Pt=(e={},t,n=!1)=>{let r=n?e:{id:e.id,name:e.name,email:e.email,mainRole:e.mainRole,userType:t,...t===a.userType.provider.value&&{idCompany:e.idCompany}};return N.sign(r,I,{expiresIn:60*60*2,audience:t})};var Ot=e=>e.length===2?[e[0].replace(/\./g,""),e[1].replace(/\./g,"")]:e;export{O as IsJsonString,L as PromiseEach,h as asArray,A as asBrazilianDate,g as asDate,F as asyncForEach,E as brazilianDateTime,Je as brazilianDateToDate,b as capitalize,Y as checkCnpj,H as checkCpf,J as checkEmail,ee as containsEncodedComponents,re as curry,ia as dateIsValid,Na as decodeToken,se as decrypt,ue as diffObject,de as dynamici18nString,ye as elasticTransformOr,be as encrypt,a as enumHelper,De as eventBus,we as extractAsaasError,Oe as extractValueFromWhere,qe as filterAttributes,je as filterEmpty,x as findValue,Ye as formatAmount,Ke as formatDate,fa as formatNumber,Tt as generatePasswordHash,Ct as generateRandomToken,Pt as generateToken,ha as getExtension,ra as getMonthNumber,Le as getNameWithoutExtension,We as getNextDay,D as getNextWeekday,R as getPreviewsWeekday,ea as getToday,C as getToken,ta as getTomorrow,aa as getYesterday,xa as imgSrcRegex,Xe as isAfter,Da as isNumber,na as isOfAge,wa as isValidURL,Ba as makeRefurbishFileUrl,oa as maxDateToList,sa as minDateToList,Ze as monthsBetween,_a as nullIfEmpty,Ga as padLeft,ja as parseArrayAsObject,Qa as parseRouteToModel,Ka as prepareDoc,Za as prepareSession,at as promiseAny,nt as removeProperty,it as removeSpecialChar,pt as slugify,mt as splitList,gt as sum,St as sumByFunction,Ot as valueReplacer};
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "vobi_lib",
3
+ "version": "1.0.1",
4
+ "description": "Vobi Library",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
8
+ "homepage": "https://www.vobi.com.br",
9
+ "repository": {
10
+ "url": "git+https://github.com/home-hero-tech/vobi-lib.git"
11
+ },
12
+ "publishConfig": {
13
+ "registry": "https://registry.npmjs.org/"
14
+ },
15
+ "scripts": {
16
+ "build": "rm -rf dist && tsup",
17
+ "test": "vitest"
18
+ },
19
+ "keywords": [],
20
+ "author": "",
21
+ "license": "ISC",
22
+ "dependencies": {
23
+ "@types/bcrypt": "^5.0.2",
24
+ "@types/crypto-js": "^4.2.2",
25
+ "@types/jsonwebtoken": "^9.0.6",
26
+ "@types/moment": "^2.13.0",
27
+ "@types/moment-timezone": "^0.5.30",
28
+ "bcrypt": "^5.1.1",
29
+ "crypto": "^1.0.1",
30
+ "crypto-js": "^4.2.0",
31
+ "dayjs": "^1.11.11",
32
+ "jsonwebtoken": "^9.0.2",
33
+ "jwt-decode": "^3.1.2",
34
+ "moment": "^2.29.4",
35
+ "moment-timezone": "^0.5.45"
36
+ },
37
+ "devDependencies": {
38
+ "@types/node": "^20.12.12",
39
+ "@types/typescript": "^2.0.0",
40
+ "tsup": "^8.0.2",
41
+ "typescript": "^5.4.5",
42
+ "vitest": "^1.6.0"
43
+ }
44
+ }