From 3693c8db24c4f9878e9a679929debb4a97a3e95b Mon Sep 17 00:00:00 2001 From: marcio Date: Tue, 18 Mar 2025 10:15:51 -0300 Subject: [PATCH] feat: tipos e funcoes de alertas do e-licencie --- dist-import/index.d.mts | 17 ++++- dist-import/index.mjs | 2 +- dist-require/index.d.ts | 17 ++++- dist-require/index.js | 2 +- package.json | 3 +- pnpm-lock.yaml | 15 ++++- src/e-licencie/Alertas/funcoes_alertas.ts | 75 +++++++++++++++++++++++ src/e-licencie/Alertas/index.ts | 2 + src/e-licencie/Alertas/tipos.ts | 12 ++++ src/e-licencie/index.ts | 1 + src/index.ts | 1 + 11 files changed, 141 insertions(+), 6 deletions(-) create mode 100644 src/e-licencie/Alertas/funcoes_alertas.ts create mode 100644 src/e-licencie/Alertas/index.ts create mode 100644 src/e-licencie/Alertas/tipos.ts create mode 100644 src/e-licencie/index.ts diff --git a/dist-import/index.d.mts b/dist-import/index.d.mts index b713451..cdc8460 100644 --- a/dist-import/index.d.mts +++ b/dist-import/index.d.mts @@ -159,4 +159,19 @@ declare const abrirNps: (emDesenvolvimento: boolean) => (parametros: tipo_proxim declare const inquilinoStatus: z.ZodEnum<["ativo", "inativo"]>; declare const statusinquilino: z.ZodEnum<["ativo", "inativo"]>; -export { abrirNps, inquilinoStatus, nomesSincronizacoes, statusinquilino, type tipo_proxima_avaliacao, type tipo_zUsuarioSincronizar, zAuntenticacaoResiduosSolicitar, zEmpreendedorSincronizar, zEmpreendimentoSincronizar, zUsuarioSincronizar }; +type tipos_alertas = { + intervalo_alertas: "D" | "S" | "Q" | "M"; +}; +declare const intervalosDosAlertas: { + [k in tipos_alertas["intervalo_alertas"]]: string; +}; + +declare const enviarHoje: (inter: tipos_alertas["intervalo_alertas"] | null | undefined, data?: string) => boolean; +declare const intervalosTipos: (tipoEntrada: keyof typeof intervalosDosAlertas | undefined | null, log: string[]) => { + campo_situacao: string; + prefixo_assunto: string; + tipo: string; + enviar_hoje: boolean; +}; + +export { abrirNps, enviarHoje, inquilinoStatus, intervalosDosAlertas, intervalosTipos, nomesSincronizacoes, statusinquilino, type tipo_proxima_avaliacao, type tipo_zUsuarioSincronizar, type tipos_alertas, zAuntenticacaoResiduosSolicitar, zEmpreendedorSincronizar, zEmpreendimentoSincronizar, zUsuarioSincronizar }; diff --git a/dist-import/index.mjs b/dist-import/index.mjs index ecc1b77..f68239a 100644 --- a/dist-import/index.mjs +++ b/dist-import/index.mjs @@ -1 +1 @@ -import{z as o}from"zod";var C=o.object({codigo_token:o.string().optional(),codigo_usuario:o.string().uuid(),nome_usuario:o.string(),email_usuario:o.string(),documento_usuario:o.string(),inquilino:o.string(),rotas:o.object({}),url_usuarios:o.string().url(),url_empreendedores:o.string().url(),url_empreendimentos:o.string().url(),tipo_usuario:o.string(),sistema:o.string(),sistema_cor:o.string(),sistema_nome:o.string(),sistema_logo:o.string()}),S=o.object({codigo:o.string().uuid(),documento:o.string(),excluido:o.boolean(),nome:o.string(),permicoes:o.record(o.any()),versao:o.number().int(),credenciais_sinir:o.object({login:o.string().optional(),senha:o.string().optional()}).optional()}),j=o.object({codigo:o.string().uuid(),documento:o.string(),excluido:o.boolean(),nome:o.string(),versao:o.number().int()}),w=o.object({codigo:o.string().uuid(),codigo_empreendedor:o.string().uuid(),documento:o.string(),excluido:o.boolean(),nome:o.string(),unidade_sinir:o.string().nullable().optional(),versao:o.number().int()}),I=o.enum(["usuarios","empreendedores","empreendimentos"]);var a;(function(e){e[e.sucesso=200]="sucesso",e[e.erroConhecido=400]="erroConhecido",e[e.erroPermissao=401]="erroPermissao",e[e.erroNaoEncontrado=404]="erroNaoEncontrado",e[e.erroDesconhecido=500]="erroDesconhecido",e[e.tempoEsgotado=504]="tempoEsgotado"})(a||(a={}));var h=e=>{let c=(r,n)=>({cod:a.sucesso,valor:r,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:n}),u=r=>({cod:a.sucesso,valor:!0,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:r}),p=(r,n)=>({cod:a.erroConhecido,valor:void 0,mensagem:r,eErro:!0,eCerto:!1,detalhes:n}),d=(r,n)=>({cod:a.erroPermissao,valor:void 0,mensagem:r||"Sem permiss\xE3o para esse recurso.",eErro:!0,eCerto:!1,detalhes:n}),g=(r,n)=>({cod:a.erroNaoEncontrado,valor:void 0,mensagem:r||"Registro n\xE3o encontrado ou a execu\xE7\xE3o dessa a\xE7\xE3o depende de um registro existente.",eErro:!0,eCerto:!1,detalhes:n}),_=r=>{let n=e(r),t=`${r.mensagem||"Erro interno"}`;return{cod:a.erroDesconhecido,valor:void 0,mensagem:t,eErro:!0,eCerto:!1,...n}},s=(r,n)=>({cod:a.tempoEsgotado,valor:void 0,mensagem:r||"Tempo de resposta esgotado ao tentar acessar o recurso.",eErro:!0,eCerto:!1,detalhes:n});return{valor:c,valorTrue:u,erro:p,erroPermissao:d,erroInterno:_,naoEncontrado:g,tempoEsgotado:s,erroEspera:s}},v=h(()=>({}));var N=e=>async c=>{let u=e?"http://localhost:5040/nps":"https://carro-de-boi.idz.one/nps",p=`${u}/api`,{sistema:d,inquilino:g,codigo_usuario:_}=c,s=`nps_proxima_avaliacao_${d}_${_}_${g}_0`,l=localStorage.getItem(s);if(!l){let i=new URL(`${p}/${d}/proxima_avaliacao`);for(let[m,b]of Object.entries(c))i.searchParams.append(m,b);let x=(await fetch(i.href).then(m=>m.json()).catch(m=>v.erro(m.message))).valor;x&&localStorage.setItem(s,x)}if(!(l&&new Date().toISOString().slice(0,10)>=l))return;localStorage.removeItem(s);let n=new URL(u);for(let[i,f]of Object.entries(c))n.searchParams.append(i,f);let t=document.createElement("iframe");t.src=n.href,t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.width="100%",t.style.height="100%",t.style.border="none",t.style.zIndex="999999",document.body.appendChild(t),window.addEventListener("message",i=>{i.data==="fechar"&&document.body.removeChild(t)})};import{z as E}from"zod";var z=E.enum(["ativo","inativo"]),T=z;export{N as abrirNps,z as inquilinoStatus,I as nomesSincronizacoes,T as statusinquilino,C as zAuntenticacaoResiduosSolicitar,j as zEmpreendedorSincronizar,w as zEmpreendimentoSincronizar,S as zUsuarioSincronizar}; +import{z as o}from"zod";var C=o.object({codigo_token:o.string().optional(),codigo_usuario:o.string().uuid(),nome_usuario:o.string(),email_usuario:o.string(),documento_usuario:o.string(),inquilino:o.string(),rotas:o.object({}),url_usuarios:o.string().url(),url_empreendedores:o.string().url(),url_empreendimentos:o.string().url(),tipo_usuario:o.string(),sistema:o.string(),sistema_cor:o.string(),sistema_nome:o.string(),sistema_logo:o.string()}),P=o.object({codigo:o.string().uuid(),documento:o.string(),excluido:o.boolean(),nome:o.string(),permicoes:o.record(o.any()),versao:o.number().int(),credenciais_sinir:o.object({login:o.string().optional(),senha:o.string().optional()}).optional()}),w=o.object({codigo:o.string().uuid(),documento:o.string(),excluido:o.boolean(),nome:o.string(),versao:o.number().int()}),k=o.object({codigo:o.string().uuid(),codigo_empreendedor:o.string().uuid(),documento:o.string(),excluido:o.boolean(),nome:o.string(),unidade_sinir:o.string().nullable().optional(),versao:o.number().int()}),$=o.enum(["usuarios","empreendedores","empreendimentos"]);var i;(function(e){e[e.sucesso=200]="sucesso",e[e.erroConhecido=400]="erroConhecido",e[e.erroPermissao=401]="erroPermissao",e[e.erroNaoEncontrado=404]="erroNaoEncontrado",e[e.erroDesconhecido=500]="erroDesconhecido",e[e.tempoEsgotado=504]="tempoEsgotado"})(i||(i={}));var y=e=>{let s=(r,t)=>({cod:i.sucesso,valor:r,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:t}),a=r=>({cod:i.sucesso,valor:!0,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:r}),u=(r,t)=>({cod:i.erroConhecido,valor:void 0,mensagem:r,eErro:!0,eCerto:!1,detalhes:t}),c=(r,t)=>({cod:i.erroPermissao,valor:void 0,mensagem:r||"Sem permiss\xE3o para esse recurso.",eErro:!0,eCerto:!1,detalhes:t}),p=(r,t)=>({cod:i.erroNaoEncontrado,valor:void 0,mensagem:r||"Registro n\xE3o encontrado ou a execu\xE7\xE3o dessa a\xE7\xE3o depende de um registro existente.",eErro:!0,eCerto:!1,detalhes:t}),m=r=>{let t=e(r),n=`${r.mensagem||"Erro interno"}`;return{cod:i.erroDesconhecido,valor:void 0,mensagem:n,eErro:!0,eCerto:!1,...t}},l=(r,t)=>({cod:i.tempoEsgotado,valor:void 0,mensagem:r||"Tempo de resposta esgotado ao tentar acessar o recurso.",eErro:!0,eCerto:!1,detalhes:t});return{valor:s,valorTrue:a,erro:u,erroPermissao:c,erroInterno:m,naoEncontrado:p,tempoEsgotado:l,erroEspera:l}},h=y(()=>({}));var U=e=>async s=>{let a=e?"http://localhost:5040/nps":"https://carro-de-boi.idz.one/nps",u=`${a}/api`,{sistema:c,inquilino:p,codigo_usuario:m}=s,l=`nps_proxima_avaliacao_${c}_${m}_${p}_0`,f=localStorage.getItem(l);if(!f){let d=new URL(`${u}/${c}/proxima_avaliacao`);for(let[_,S]of Object.entries(s))d.searchParams.append(_,S);let v=(await fetch(d.href).then(_=>_.json()).catch(_=>h.erro(_.message))).valor;v&&localStorage.setItem(l,v)}if(!(f&&new Date().toISOString().slice(0,10)>=f))return;localStorage.removeItem(l);let t=new URL(a);for(let[d,x]of Object.entries(s))t.searchParams.append(d,x);let n=document.createElement("iframe");n.src=t.href,n.style.position="fixed",n.style.top="0",n.style.left="0",n.style.width="100%",n.style.height="100%",n.style.border="none",n.style.zIndex="999999",document.body.appendChild(n),window.addEventListener("message",d=>{d.data==="fechar"&&document.body.removeChild(n)})};import{z as E}from"zod";var j=E.enum(["ativo","inativo"]),T=j;import b from"dayjs";import z from"dayjs/plugin/weekOfYear";b.extend(z);var g=(e,s)=>{let a=b(s||void 0);return!e||e=="D"||e=="M"&&a.get("D")==1||e=="S"&&a.get("d")==1||e=="S"&&a.get("d")==1&&a.week()%2==1},Y=(e,s)=>{s.push(`intervalosTipos -> tipoEntrada:${e}`);let a={M:{campo_situacao:"situacao_texto_30",prefixo_assunto:"(Previs\xE3o para os pr\xF3ximos 30 dias) ",tipo:"M",enviar_hoje:g("M")},Q:{campo_situacao:"situacao_texto_15",prefixo_assunto:"(Previs\xE3o para os pr\xF3ximos 15 dias) ",tipo:"Q",enviar_hoje:g("Q")},S:{campo_situacao:"situacao_texto_7",prefixo_assunto:"(Previs\xE3o para os pr\xF3ximos 7 dias) ",tipo:"S",enviar_hoje:g("S")},D:{campo_situacao:"situacao_texto",prefixo_assunto:"",tipo:"D",enviar_hoje:g("D")}},{campo_situacao:u,enviar_hoje:c,prefixo_assunto:p,tipo:m}=a[e||"D"]||a.D;return s.push(u,p,m,c?"S":"N"),{campo_situacao:u,prefixo_assunto:p,tipo:m,enviar_hoje:c}};var G={D:"Di\xE1rio",S:"Semanal, nas segundas-feira",Q:"Quinzenal, nas segundas-feira",M:"Mensal, primeiro dia de cada m\xEAs"};export{U as abrirNps,g as enviarHoje,j as inquilinoStatus,G as intervalosDosAlertas,Y as intervalosTipos,$ as nomesSincronizacoes,T as statusinquilino,C as zAuntenticacaoResiduosSolicitar,w as zEmpreendedorSincronizar,k as zEmpreendimentoSincronizar,P as zUsuarioSincronizar}; diff --git a/dist-require/index.d.ts b/dist-require/index.d.ts index b713451..cdc8460 100644 --- a/dist-require/index.d.ts +++ b/dist-require/index.d.ts @@ -159,4 +159,19 @@ declare const abrirNps: (emDesenvolvimento: boolean) => (parametros: tipo_proxim declare const inquilinoStatus: z.ZodEnum<["ativo", "inativo"]>; declare const statusinquilino: z.ZodEnum<["ativo", "inativo"]>; -export { abrirNps, inquilinoStatus, nomesSincronizacoes, statusinquilino, type tipo_proxima_avaliacao, type tipo_zUsuarioSincronizar, zAuntenticacaoResiduosSolicitar, zEmpreendedorSincronizar, zEmpreendimentoSincronizar, zUsuarioSincronizar }; +type tipos_alertas = { + intervalo_alertas: "D" | "S" | "Q" | "M"; +}; +declare const intervalosDosAlertas: { + [k in tipos_alertas["intervalo_alertas"]]: string; +}; + +declare const enviarHoje: (inter: tipos_alertas["intervalo_alertas"] | null | undefined, data?: string) => boolean; +declare const intervalosTipos: (tipoEntrada: keyof typeof intervalosDosAlertas | undefined | null, log: string[]) => { + campo_situacao: string; + prefixo_assunto: string; + tipo: string; + enviar_hoje: boolean; +}; + +export { abrirNps, enviarHoje, inquilinoStatus, intervalosDosAlertas, intervalosTipos, nomesSincronizacoes, statusinquilino, type tipo_proxima_avaliacao, type tipo_zUsuarioSincronizar, type tipos_alertas, zAuntenticacaoResiduosSolicitar, zEmpreendedorSincronizar, zEmpreendimentoSincronizar, zUsuarioSincronizar }; diff --git a/dist-require/index.js b/dist-require/index.js index b1cbfab..003e708 100644 --- a/dist-require/index.js +++ b/dist-require/index.js @@ -1 +1 @@ -"use strict";var f=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var j=(e,r)=>{for(var i in r)f(e,i,{get:r[i],enumerable:!0})},w=(e,r,i,m)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of C(r))!S.call(e,s)&&s!==i&&f(e,s,{get:()=>r[s],enumerable:!(m=y(r,s))||m.enumerable});return e};var I=e=>w(f({},"__esModule",{value:!0}),e);var T={};j(T,{abrirNps:()=>L,inquilinoStatus:()=>E,nomesSincronizacoes:()=>D,statusinquilino:()=>O,zAuntenticacaoResiduosSolicitar:()=>P,zEmpreendedorSincronizar:()=>U,zEmpreendimentoSincronizar:()=>q,zUsuarioSincronizar:()=>$});module.exports=I(T);var o=require("zod"),P=o.z.object({codigo_token:o.z.string().optional(),codigo_usuario:o.z.string().uuid(),nome_usuario:o.z.string(),email_usuario:o.z.string(),documento_usuario:o.z.string(),inquilino:o.z.string(),rotas:o.z.object({}),url_usuarios:o.z.string().url(),url_empreendedores:o.z.string().url(),url_empreendimentos:o.z.string().url(),tipo_usuario:o.z.string(),sistema:o.z.string(),sistema_cor:o.z.string(),sistema_nome:o.z.string(),sistema_logo:o.z.string()}),$=o.z.object({codigo:o.z.string().uuid(),documento:o.z.string(),excluido:o.z.boolean(),nome:o.z.string(),permicoes:o.z.record(o.z.any()),versao:o.z.number().int(),credenciais_sinir:o.z.object({login:o.z.string().optional(),senha:o.z.string().optional()}).optional()}),U=o.z.object({codigo:o.z.string().uuid(),documento:o.z.string(),excluido:o.z.boolean(),nome:o.z.string(),versao:o.z.number().int()}),q=o.z.object({codigo:o.z.string().uuid(),codigo_empreendedor:o.z.string().uuid(),documento:o.z.string(),excluido:o.z.boolean(),nome:o.z.string(),unidade_sinir:o.z.string().nullable().optional(),versao:o.z.number().int()}),D=o.z.enum(["usuarios","empreendedores","empreendimentos"]);var c;(function(e){e[e.sucesso=200]="sucesso",e[e.erroConhecido=400]="erroConhecido",e[e.erroPermissao=401]="erroPermissao",e[e.erroNaoEncontrado=404]="erroNaoEncontrado",e[e.erroDesconhecido=500]="erroDesconhecido",e[e.tempoEsgotado=504]="tempoEsgotado"})(c||(c={}));var N=e=>{let r=(n,t)=>({cod:c.sucesso,valor:n,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:t}),i=n=>({cod:c.sucesso,valor:!0,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:n}),m=(n,t)=>({cod:c.erroConhecido,valor:void 0,mensagem:n,eErro:!0,eCerto:!1,detalhes:t}),s=(n,t)=>({cod:c.erroPermissao,valor:void 0,mensagem:n||"Sem permiss\xE3o para esse recurso.",eErro:!0,eCerto:!1,detalhes:t}),g=(n,t)=>({cod:c.erroNaoEncontrado,valor:void 0,mensagem:n||"Registro n\xE3o encontrado ou a execu\xE7\xE3o dessa a\xE7\xE3o depende de um registro existente.",eErro:!0,eCerto:!1,detalhes:t}),_=n=>{let t=e(n),a=`${n.mensagem||"Erro interno"}`;return{cod:c.erroDesconhecido,valor:void 0,mensagem:a,eErro:!0,eCerto:!1,...t}},u=(n,t)=>({cod:c.tempoEsgotado,valor:void 0,mensagem:n||"Tempo de resposta esgotado ao tentar acessar o recurso.",eErro:!0,eCerto:!1,detalhes:t});return{valor:r,valorTrue:i,erro:m,erroPermissao:s,erroInterno:_,naoEncontrado:g,tempoEsgotado:u,erroEspera:u}},b=N(()=>({}));var L=e=>async r=>{let i=e?"http://localhost:5040/nps":"https://carro-de-boi.idz.one/nps",m=`${i}/api`,{sistema:s,inquilino:g,codigo_usuario:_}=r,u=`nps_proxima_avaliacao_${s}_${_}_${g}_0`,p=localStorage.getItem(u);if(!p){let d=new URL(`${m}/${s}/proxima_avaliacao`);for(let[l,z]of Object.entries(r))d.searchParams.append(l,z);let v=(await fetch(d.href).then(l=>l.json()).catch(l=>b.erro(l.message))).valor;v&&localStorage.setItem(u,v)}if(!(p&&new Date().toISOString().slice(0,10)>=p))return;localStorage.removeItem(u);let t=new URL(i);for(let[d,x]of Object.entries(r))t.searchParams.append(d,x);let a=document.createElement("iframe");a.src=t.href,a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.width="100%",a.style.height="100%",a.style.border="none",a.style.zIndex="999999",document.body.appendChild(a),window.addEventListener("message",d=>{d.data==="fechar"&&document.body.removeChild(a)})};var h=require("zod"),E=h.z.enum(["ativo","inativo"]),O=E;0&&(module.exports={abrirNps,inquilinoStatus,nomesSincronizacoes,statusinquilino,zAuntenticacaoResiduosSolicitar,zEmpreendedorSincronizar,zEmpreendimentoSincronizar,zUsuarioSincronizar}); +"use strict";var P=Object.create;var x=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var $=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var M=(e,r)=>{for(var t in r)x(e,t,{get:r[t],enumerable:!0})},S=(e,r,t,c)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of k(r))!I.call(e,s)&&s!==t&&x(e,s,{get:()=>r[s],enumerable:!(c=w(r,s))||c.enumerable});return e};var y=(e,r,t)=>(t=e!=null?P($(e)):{},S(r||!e||!e.__esModule?x(t,"default",{value:e,enumerable:!0}):t,e)),Q=e=>S(x({},"__esModule",{value:!0}),e);var B={};M(B,{abrirNps:()=>L,enviarHoje:()=>f,inquilinoStatus:()=>z,intervalosDosAlertas:()=>Y,intervalosTipos:()=>H,nomesSincronizacoes:()=>O,statusinquilino:()=>F,zAuntenticacaoResiduosSolicitar:()=>A,zEmpreendedorSincronizar:()=>U,zEmpreendimentoSincronizar:()=>q,zUsuarioSincronizar:()=>N});module.exports=Q(B);var o=require("zod"),A=o.z.object({codigo_token:o.z.string().optional(),codigo_usuario:o.z.string().uuid(),nome_usuario:o.z.string(),email_usuario:o.z.string(),documento_usuario:o.z.string(),inquilino:o.z.string(),rotas:o.z.object({}),url_usuarios:o.z.string().url(),url_empreendedores:o.z.string().url(),url_empreendimentos:o.z.string().url(),tipo_usuario:o.z.string(),sistema:o.z.string(),sistema_cor:o.z.string(),sistema_nome:o.z.string(),sistema_logo:o.z.string()}),N=o.z.object({codigo:o.z.string().uuid(),documento:o.z.string(),excluido:o.z.boolean(),nome:o.z.string(),permicoes:o.z.record(o.z.any()),versao:o.z.number().int(),credenciais_sinir:o.z.object({login:o.z.string().optional(),senha:o.z.string().optional()}).optional()}),U=o.z.object({codigo:o.z.string().uuid(),documento:o.z.string(),excluido:o.z.boolean(),nome:o.z.string(),versao:o.z.number().int()}),q=o.z.object({codigo:o.z.string().uuid(),codigo_empreendedor:o.z.string().uuid(),documento:o.z.string(),excluido:o.z.boolean(),nome:o.z.string(),unidade_sinir:o.z.string().nullable().optional(),versao:o.z.number().int()}),O=o.z.enum(["usuarios","empreendedores","empreendimentos"]);var u;(function(e){e[e.sucesso=200]="sucesso",e[e.erroConhecido=400]="erroConhecido",e[e.erroPermissao=401]="erroPermissao",e[e.erroNaoEncontrado=404]="erroNaoEncontrado",e[e.erroDesconhecido=500]="erroDesconhecido",e[e.tempoEsgotado=504]="tempoEsgotado"})(u||(u={}));var T=e=>{let r=(a,n)=>({cod:u.sucesso,valor:a,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:n}),t=a=>({cod:u.sucesso,valor:!0,mensagem:void 0,eErro:!1,eCerto:!0,detalhes:a}),c=(a,n)=>({cod:u.erroConhecido,valor:void 0,mensagem:a,eErro:!0,eCerto:!1,detalhes:n}),s=(a,n)=>({cod:u.erroPermissao,valor:void 0,mensagem:a||"Sem permiss\xE3o para esse recurso.",eErro:!0,eCerto:!1,detalhes:n}),p=(a,n)=>({cod:u.erroNaoEncontrado,valor:void 0,mensagem:a||"Registro n\xE3o encontrado ou a execu\xE7\xE3o dessa a\xE7\xE3o depende de um registro existente.",eErro:!0,eCerto:!1,detalhes:n}),m=a=>{let n=e(a),i=`${a.mensagem||"Erro interno"}`;return{cod:u.erroDesconhecido,valor:void 0,mensagem:i,eErro:!0,eCerto:!1,...n}},l=(a,n)=>({cod:u.tempoEsgotado,valor:void 0,mensagem:a||"Tempo de resposta esgotado ao tentar acessar o recurso.",eErro:!0,eCerto:!1,detalhes:n});return{valor:r,valorTrue:t,erro:c,erroPermissao:s,erroInterno:m,naoEncontrado:p,tempoEsgotado:l,erroEspera:l}},E=T(()=>({}));var L=e=>async r=>{let t=e?"http://localhost:5040/nps":"https://carro-de-boi.idz.one/nps",c=`${t}/api`,{sistema:s,inquilino:p,codigo_usuario:m}=r,l=`nps_proxima_avaliacao_${s}_${m}_${p}_0`,g=localStorage.getItem(l);if(!g){let d=new URL(`${c}/${s}/proxima_avaliacao`);for(let[_,C]of Object.entries(r))d.searchParams.append(_,C);let b=(await fetch(d.href).then(_=>_.json()).catch(_=>E.erro(_.message))).valor;b&&localStorage.setItem(l,b)}if(!(g&&new Date().toISOString().slice(0,10)>=g))return;localStorage.removeItem(l);let n=new URL(t);for(let[d,h]of Object.entries(r))n.searchParams.append(d,h);let i=document.createElement("iframe");i.src=n.href,i.style.position="fixed",i.style.top="0",i.style.left="0",i.style.width="100%",i.style.height="100%",i.style.border="none",i.style.zIndex="999999",document.body.appendChild(i),window.addEventListener("message",d=>{d.data==="fechar"&&document.body.removeChild(i)})};var j=require("zod"),z=j.z.enum(["ativo","inativo"]),F=z;var v=y(require("dayjs")),D=y(require("dayjs/plugin/weekOfYear"));v.default.extend(D.default);var f=(e,r)=>{let t=(0,v.default)(r||void 0);return!e||e=="D"||e=="M"&&t.get("D")==1||e=="S"&&t.get("d")==1||e=="S"&&t.get("d")==1&&t.week()%2==1},H=(e,r)=>{r.push(`intervalosTipos -> tipoEntrada:${e}`);let t={M:{campo_situacao:"situacao_texto_30",prefixo_assunto:"(Previs\xE3o para os pr\xF3ximos 30 dias) ",tipo:"M",enviar_hoje:f("M")},Q:{campo_situacao:"situacao_texto_15",prefixo_assunto:"(Previs\xE3o para os pr\xF3ximos 15 dias) ",tipo:"Q",enviar_hoje:f("Q")},S:{campo_situacao:"situacao_texto_7",prefixo_assunto:"(Previs\xE3o para os pr\xF3ximos 7 dias) ",tipo:"S",enviar_hoje:f("S")},D:{campo_situacao:"situacao_texto",prefixo_assunto:"",tipo:"D",enviar_hoje:f("D")}},{campo_situacao:c,enviar_hoje:s,prefixo_assunto:p,tipo:m}=t[e||"D"]||t.D;return r.push(c,p,m,s?"S":"N"),{campo_situacao:c,prefixo_assunto:p,tipo:m,enviar_hoje:s}};var Y={D:"Di\xE1rio",S:"Semanal, nas segundas-feira",Q:"Quinzenal, nas segundas-feira",M:"Mensal, primeiro dia de cada m\xEAs"};0&&(module.exports={abrirNps,enviarHoje,inquilinoStatus,intervalosDosAlertas,intervalosTipos,nomesSincronizacoes,statusinquilino,zAuntenticacaoResiduosSolicitar,zEmpreendedorSincronizar,zEmpreendimentoSincronizar,zUsuarioSincronizar}); diff --git a/package.json b/package.json index a864174..647ee3e 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-drives", - "version": "0.231.0", + "version": "0.233.0", "description": "", "main": "src/index.ts", "exports": { @@ -37,6 +37,7 @@ "dependencies": { "autenticacao-drive": "https://e-licencie.com.br/pacotes/autenticacao-drive-0.8.0.tgz", "cross-fetch": "^4.0.0", + "dayjs": "^1.11.13", "zod": "3.24.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f161c75..6087735 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: cross-fetch: specifier: ^4.0.0 version: 4.0.0 + dayjs: + specifier: ^1.11.13 + version: 1.11.13 zod: specifier: 3.24.1 version: 3.24.1 @@ -446,6 +449,9 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + debug@4.4.0: resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} @@ -759,6 +765,9 @@ packages: zod@3.24.1: resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} + zod@3.24.2: + resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==} + snapshots: '@biomejs/biome@1.9.4': @@ -1030,6 +1039,8 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + dayjs@1.11.13: {} + debug@4.4.0: dependencies: ms: 2.1.3 @@ -1145,7 +1156,7 @@ snapshots: p-respostas@git+http://leitura:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MTQ3NTA1NzYsImlzcyI6IkdpdG5lc3MiLCJwaWQiOjgsInRrbiI6eyJ0eXAiOiJwYXQiLCJpZCI6MzJ9fQ.OYdExOVQm5UI3wfeTaWjmD0o65Y1hrjFz5EvMB1a__U@git.idz.one:3000/git/multi-modulos-ambientais/_respostas.git#6ebb31d2b6b6335cb6e7795e4fc1f5efeb51b5be: dependencies: - zod: 3.24.1 + zod: 3.24.2 package-json-from-dist@1.0.1: {} @@ -1338,3 +1349,5 @@ snapshots: strip-ansi: 7.1.0 zod@3.24.1: {} + + zod@3.24.2: {} diff --git a/src/e-licencie/Alertas/funcoes_alertas.ts b/src/e-licencie/Alertas/funcoes_alertas.ts new file mode 100644 index 0000000..1c87b8c --- /dev/null +++ b/src/e-licencie/Alertas/funcoes_alertas.ts @@ -0,0 +1,75 @@ +import dayjs from "dayjs" +import weekOfYear from "dayjs/plugin/weekOfYear" +import type { intervalosDosAlertas, tipos_alertas } from "./tipos" + +dayjs.extend(weekOfYear) + +export const enviarHoje = ( + inter: tipos_alertas["intervalo_alertas"] | null | undefined, + data?: string, +): boolean => { + const hoje = dayjs(data || undefined) + + if (!inter) return true + + if (inter == "D") return true + + if (inter == "M" && hoje.get("D") == 1) return true + + if (inter == "S" && hoje.get("d") == 1) return true + + if (inter == "S" && hoje.get("d") == 1 && hoje.week() % 2 == 1) return true + + return false +} + +export const intervalosTipos = ( + tipoEntrada: keyof typeof intervalosDosAlertas | undefined | null, + log: string[], +): { + campo_situacao: string //campo que será buscado nas tabelas alertas + prefixo_assunto: string // texto que vai no prefixo + tipo: string //tipo de intervalo + enviar_hoje: boolean //indica se está habilitado para envio hoje +} => { + log.push(`intervalosTipos -> tipoEntrada:${tipoEntrada}`) + + const config: { + [k in keyof typeof intervalosDosAlertas]: { + campo_situacao: string + prefixo_assunto: string + tipo: k + enviar_hoje: boolean + } + } = { + M: { + campo_situacao: "situacao_texto_30", + prefixo_assunto: "(Previsão para os próximos 30 dias) ", + tipo: "M", + enviar_hoje: enviarHoje("M"), + }, + Q: { + campo_situacao: "situacao_texto_15", + prefixo_assunto: "(Previsão para os próximos 15 dias) ", + tipo: "Q", + enviar_hoje: enviarHoje("Q"), + }, + S: { + campo_situacao: "situacao_texto_7", + prefixo_assunto: "(Previsão para os próximos 7 dias) ", + tipo: "S", + enviar_hoje: enviarHoje("S"), + }, + D: { + campo_situacao: "situacao_texto", + prefixo_assunto: "", + tipo: "D", + enviar_hoje: enviarHoje("D"), + }, + } + + const { campo_situacao, enviar_hoje, prefixo_assunto, tipo } = + config[tipoEntrada || "D"] || config.D + log.push(campo_situacao, prefixo_assunto, tipo, enviar_hoje ? "S" : "N") + return { campo_situacao, prefixo_assunto, tipo, enviar_hoje } +} diff --git a/src/e-licencie/Alertas/index.ts b/src/e-licencie/Alertas/index.ts new file mode 100644 index 0000000..276e909 --- /dev/null +++ b/src/e-licencie/Alertas/index.ts @@ -0,0 +1,2 @@ +export * from "./funcoes_alertas" +export * from "./tipos" diff --git a/src/e-licencie/Alertas/tipos.ts b/src/e-licencie/Alertas/tipos.ts new file mode 100644 index 0000000..09de016 --- /dev/null +++ b/src/e-licencie/Alertas/tipos.ts @@ -0,0 +1,12 @@ +export type tipos_alertas = { + intervalo_alertas: "D" | "S" | "Q" | "M" +} + +export const intervalosDosAlertas: { + [k in tipos_alertas["intervalo_alertas"]]: string +} = { + D: "Diário", + S: "Semanal, nas segundas-feira", + Q: "Quinzenal, nas segundas-feira", + M: "Mensal, primeiro dia de cada mês", +} diff --git a/src/e-licencie/index.ts b/src/e-licencie/index.ts new file mode 100644 index 0000000..64182ed --- /dev/null +++ b/src/e-licencie/index.ts @@ -0,0 +1 @@ +export * from "./Alertas" diff --git a/src/index.ts b/src/index.ts index b6f821c..be8b8e2 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,4 @@ export * from "./residuos" export * from "./NPS" export * from "./variaveis" +export * from "./e-licencie"