isolamento de pacote
This commit is contained in:
commit
f34b66cbe4
96 changed files with 2285 additions and 0 deletions
32
src/autenticacao/_codigoContaSite.ts
Normal file
32
src/autenticacao/_codigoContaSite.ts
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
import { respostaComuns, type tipoResposta } from "p-respostas"
|
||||
|
||||
type tipoPostCodigoContaSite = { site: string }
|
||||
|
||||
import node_fetch from "cross-fetch"
|
||||
|
||||
export const codigoContaSite = async ({
|
||||
url_api_autenticacao,
|
||||
post,
|
||||
}: {
|
||||
url_api_autenticacao: string
|
||||
post: tipoPostCodigoContaSite
|
||||
}): Promise<tipoResposta<string>> => {
|
||||
const url = `${url_api_autenticacao}/api/codigo_prefeitura_site`
|
||||
|
||||
try {
|
||||
const resp = await node_fetch(url, {
|
||||
method: "POST",
|
||||
body: JSON.stringify(post),
|
||||
headers: { "Content-Type": "application/json" },
|
||||
})
|
||||
.then((r) => r.json())
|
||||
.catch((e) =>
|
||||
respostaComuns.erro("Erro ao enviar registros", [e.message]),
|
||||
)
|
||||
.then((r) => r as tipoResposta<string>)
|
||||
|
||||
return resp
|
||||
} catch (e) {
|
||||
return respostaComuns.erro(`erro ao buscar código do site: ${e}`)
|
||||
}
|
||||
}
|
||||
44
src/autenticacao/_usuarios_quipo.ts
Normal file
44
src/autenticacao/_usuarios_quipo.ts
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
import node_fetch from "cross-fetch"
|
||||
import { respostaComuns, type tipoResposta } from "p-respostas"
|
||||
import type { tipo_usuarios__listar_retorno } from "../lista-usuarios"
|
||||
|
||||
export type tipoUsuarioExterno = {
|
||||
_nome: string
|
||||
_email: string
|
||||
_telefone: string
|
||||
vinculo: string
|
||||
inquilino: string
|
||||
chave_produto: string
|
||||
codigo: string
|
||||
_cpf: string
|
||||
}
|
||||
|
||||
export const usuarios_quipo = async ({
|
||||
token_produto,
|
||||
url_api_autenticacao,
|
||||
inquilino,
|
||||
}: {
|
||||
url_api_autenticacao: string
|
||||
token_produto: string
|
||||
inquilino: string
|
||||
}): Promise<tipoResposta<tipo_usuarios__listar_retorno[]>> => {
|
||||
const url = `${url_api_autenticacao}/api/usuarios__listar`
|
||||
|
||||
if (!token_produto) return respostaComuns.erro("token_produto não informado")
|
||||
|
||||
const headers = {
|
||||
token: token_produto,
|
||||
"Content-Type": "application/json",
|
||||
}
|
||||
|
||||
return node_fetch(url, {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ inquilino }),
|
||||
headers,
|
||||
})
|
||||
.then((r) => r.json())
|
||||
.catch((e) =>
|
||||
respostaComuns.erro(`Erro ao buscar usuários quipo governo ${e.message}`),
|
||||
)
|
||||
.then((r) => r as tipoResposta<tipo_usuarios__listar_retorno[]>)
|
||||
}
|
||||
40
src/autenticacao/_usuarios_quipo_vincular.ts
Normal file
40
src/autenticacao/_usuarios_quipo_vincular.ts
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
import node_fetch from "cross-fetch"
|
||||
import { respostaComuns, type tipoResposta } from "p-respostas"
|
||||
|
||||
export const usuarios_quipo_vincular = async ({
|
||||
token_produto,
|
||||
url_api_autenticacao,
|
||||
inquilino_codigo,
|
||||
vinculo,
|
||||
usuario_codigo,
|
||||
email,
|
||||
}: {
|
||||
url_api_autenticacao: string
|
||||
token_produto: string
|
||||
inquilino_codigo: string
|
||||
vinculo: string
|
||||
usuario_codigo?: string
|
||||
email: string
|
||||
}): Promise<tipoResposta<string>> => {
|
||||
const url = `${url_api_autenticacao}/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: { inquilino_codigo, usuario_codigo, 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}`),
|
||||
)
|
||||
}
|
||||
34
src/autenticacao/_validarToken.ts
Normal file
34
src/autenticacao/_validarToken.ts
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import type { tipoResposta } from "p-respostas"
|
||||
|
||||
type tipoPostValidarTokem = { token: string }
|
||||
|
||||
import node_fetch from "cross-fetch"
|
||||
|
||||
/** faz a validação do token */
|
||||
export const validarToken = async ({
|
||||
url_api_autenticacao,
|
||||
post,
|
||||
}: {
|
||||
url_api_autenticacao: string
|
||||
post: tipoPostValidarTokem
|
||||
}): Promise<"valido" | "erro"> => {
|
||||
const url = `${url_api_autenticacao}/api/validar_token`
|
||||
|
||||
try {
|
||||
const resposta = await node_fetch(url, {
|
||||
method: "POST",
|
||||
body: JSON.stringify(post),
|
||||
headers: { "Content-Type": "application/json" },
|
||||
})
|
||||
.then((r) => r.json())
|
||||
.then((r) => r as tipoResposta<any>)
|
||||
.then((resposta) =>
|
||||
resposta.eCerto ? ("valido" as const) : ("erro" as const),
|
||||
)
|
||||
.catch(() => "erro" as const)
|
||||
|
||||
return resposta
|
||||
} catch (_e) {
|
||||
return "erro"
|
||||
}
|
||||
}
|
||||
14
src/autenticacao/index.ts
Normal file
14
src/autenticacao/index.ts
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
import { codigoContaSite } from "./_codigoContaSite"
|
||||
import { type tipoUsuarioExterno, usuarios_quipo } from "./_usuarios_quipo"
|
||||
import { usuarios_quipo_vincular } from "./_usuarios_quipo_vincular"
|
||||
import { validarToken } from "./_validarToken"
|
||||
|
||||
export type { tipoUsuarioExterno }
|
||||
|
||||
/** todas as rotas de comunicação com autenticador partem dessa variável */
|
||||
export const pAutenticacao = {
|
||||
validarToken,
|
||||
codigoContaSite,
|
||||
usuarios_quipo,
|
||||
usuarios_quipo_vincular,
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue