merge
This commit is contained in:
commit
e498c967be
34 changed files with 674 additions and 232 deletions
|
|
@ -33,7 +33,7 @@ export const usuarios_quipo_governo = async ({
|
|||
})
|
||||
.then((r) => r.json())
|
||||
.catch((e) =>
|
||||
respostaComuns.erro("Erro ao buscar usuários quipo governo", [e.message]),
|
||||
respostaComuns.erro(`Erro ao buscar usuários quipo governo ${e.message}`),
|
||||
)
|
||||
.then((r) => r as tipoResposta<tipoUsuarioExterno[]>)
|
||||
}
|
||||
|
|
|
|||
43
src/autenticacao/_usuarios_quipo_vincular.ts
Normal file
43
src/autenticacao/_usuarios_quipo_vincular.ts
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
import node_fetch from "cross-fetch"
|
||||
import { respostaComuns, type tipoResposta } from "p-respostas"
|
||||
import type { z } from "zod"
|
||||
import type { zAmbiente } from "../ts/ambiente"
|
||||
import { urlAutenticacao } from "./_urlAutenticacao"
|
||||
|
||||
export const usuarios_quipo_vincular = async ({
|
||||
token_produto,
|
||||
ambiente,
|
||||
conta,
|
||||
vinculo,
|
||||
codigo_usuario,
|
||||
email,
|
||||
}: {
|
||||
ambiente: z.infer<typeof zAmbiente>
|
||||
token_produto: string
|
||||
conta: string
|
||||
vinculo: string
|
||||
codigo_usuario?: string
|
||||
email: string
|
||||
}): Promise<tipoResposta<string>> => {
|
||||
const url = `${urlAutenticacao(ambiente)}/api/vinculos__criar`
|
||||
|
||||
if (!token_produto) return respostaComuns.erro("token_produto não informado")
|
||||
const headers = {
|
||||
token: token_produto,
|
||||
"Content-Type": "application/json",
|
||||
}
|
||||
|
||||
const parametros = {
|
||||
vinculos: { codigo_conta: conta, codigo_usuario, vinculo },
|
||||
email: email,
|
||||
}
|
||||
return await node_fetch(url, {
|
||||
headers,
|
||||
body: JSON.stringify(parametros),
|
||||
method: "POST",
|
||||
})
|
||||
.then(async (r) => await r.json())
|
||||
.catch((e) =>
|
||||
respostaComuns.erro(`Erro ao criar vinculo de usuario ${e.message}`),
|
||||
)
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ import {
|
|||
type tipoUsuarioExterno,
|
||||
usuarios_quipo_governo,
|
||||
} from "./_usuarios_quipo_governo"
|
||||
import { usuarios_quipo_vincular } from "./_usuarios_quipo_vincular"
|
||||
import { validarToken } from "./_validarToken"
|
||||
|
||||
export type { tipoUsuarioExterno }
|
||||
|
|
@ -14,4 +15,5 @@ export const pAutenticacao = {
|
|||
urlAutenticacao,
|
||||
codigoContaSite,
|
||||
usuarios_quipo_governo,
|
||||
usuarios_quipo_vincular,
|
||||
}
|
||||
|
|
|
|||
69
src/email/index.ts
Normal file
69
src/email/index.ts
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
import nodemailer from "nodemailer"
|
||||
import { respostaComuns, type tipoResposta } from "p-respostas"
|
||||
|
||||
// const confEmail = {
|
||||
// host: "email-smtp.us-east-1.amazonaws.com",
|
||||
// port: 587,
|
||||
// secure: false,
|
||||
// user: "AKIA2LGJTHGX2ZKMMYHG",
|
||||
// pass: "BFuchUwoUYYDJK8l+pd1NvZxk70PjhMX+KbQy+5HfPDl",
|
||||
// requireTLS: true,
|
||||
// ignoreTLS: false,
|
||||
// emailDe: "nao-responder@e-licencie.com.br",
|
||||
// nomeDe: "🌱 Betha Meio Ambiente",
|
||||
// };
|
||||
const confEmail = {
|
||||
host: "email-smtp.us-east-1.amazonaws.com",
|
||||
port: 587,
|
||||
secure: false,
|
||||
user: "AKIA2LGJTHGX2ZKMMYHG",
|
||||
pass: "BFuchUwoUYYDJK8l+pd1NvZxk70PjhMX+KbQy+5HfPDl",
|
||||
requireTLS: true,
|
||||
ignoreTLS: false,
|
||||
emailDe: "nao-responder@gestao-ambiental-brasil.idz.one",
|
||||
nomeDe: "🌱 Betha Meio Ambiente",
|
||||
}
|
||||
|
||||
export const enviarEmail = async ({
|
||||
email,
|
||||
nome,
|
||||
assunto,
|
||||
texto,
|
||||
htlm,
|
||||
}: {
|
||||
email: string
|
||||
nome?: string
|
||||
assunto: string
|
||||
/** Verão em texto do html, não obrigatório */
|
||||
texto?: string
|
||||
htlm: string
|
||||
}): Promise<tipoResposta<string>> => {
|
||||
const info = await nodemailer
|
||||
.createTransport({
|
||||
host: confEmail.host,
|
||||
port: confEmail.port,
|
||||
secure: confEmail.secure,
|
||||
auth: {
|
||||
user: confEmail.user,
|
||||
pass: confEmail.pass,
|
||||
},
|
||||
})
|
||||
.sendMail({
|
||||
from: { address: confEmail.emailDe, name: confEmail.nomeDe },
|
||||
to: nome ? { address: email, name: nome } : email,
|
||||
subject: assunto,
|
||||
text: texto,
|
||||
html: htlm,
|
||||
})
|
||||
.then(() =>
|
||||
respostaComuns.valor(`Email "${assunto}" enviado para ${email}`),
|
||||
)
|
||||
.catch((err) => {
|
||||
console.error(err)
|
||||
return respostaComuns.erro(
|
||||
`Erro ao enviar email para ${email}: ${err.message}`,
|
||||
)
|
||||
})
|
||||
|
||||
return info
|
||||
}
|
||||
|
|
@ -4,3 +4,4 @@ export * from "./produtos"
|
|||
export * from "./pilao-de-dados"
|
||||
export * from "./residuos"
|
||||
export * from "./NPS"
|
||||
export * from "./email"
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ export const zAuntenticacaoResiduos = z.object({
|
|||
documento_usuario: z.string(),
|
||||
organizacao: z.string(),
|
||||
rotas: z.object({}),
|
||||
tipo_usuario: z.string(),
|
||||
|
||||
// Dados do sistema
|
||||
sistema: z.string(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue