Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Versão para apresentação final #59

Merged
merged 95 commits into from
May 11, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
b7a2818
[GPJ-30] Inicializa servidor
artn-dev Apr 17, 2022
4ffeaf6
[GPJ-30] Monta base de dados para desenvolvimento
artn-dev Apr 19, 2022
533c290
[GPJ-30] Faz migração da base de dados para criar tabela de usuários
artn-dev Apr 19, 2022
467b288
[GPJ-30] Prepara querries de usuários
artn-dev Apr 19, 2022
e420d29
[GPJ-30] Prepara solicitações de usuário na api
artn-dev Apr 19, 2022
de32706
[GPJ-30] Adiciona interface de usuário remetente à base de dados
artn-dev Apr 19, 2022
44ac1e3
[GPJ-30] Adiciona serviço para cadastro de usuários
artn-dev Apr 19, 2022
4b51e64
[GPJ-30] Implementa cadastro através de cliente
artn-dev Apr 19, 2022
13f891b
[GPJ-30] Adiciona login à api
artn-dev Apr 19, 2022
e5ed94f
[GPJ-30] Implementa login
artn-dev Apr 19, 2022
fb36d1e
[GPJ-30] Conserta logout
artn-dev Apr 19, 2022
0394cf2
[GPJ-30] Une serviços de autentificação e cadastro
artn-dev Apr 19, 2022
75d2d04
[GPJ-30] Muda pontos de entrada de api para cadastrar e apagar usuários
artn-dev Apr 19, 2022
84077f4
[GPJ-30] Login automático depois de cadastro
artn-dev Apr 19, 2022
e49eaca
[GPJ-30] Aplica tipagem em funções de querry
artn-dev Apr 19, 2022
dd8f5d6
[GPJ-30] Função auxiliar para login
artn-dev Apr 19, 2022
871b605
[GPJ-30] Reutiliza definição de MyErrorStateMatcher
artn-dev Apr 20, 2022
c7ac1e9
[GPJ-29] Atualiza campo data
hlaff147 Apr 27, 2022
7684fbe
[GPJ-29] Ajusta botoes criar progresso
hlaff147 Apr 27, 2022
1d37416
[GPJ-29] Estilizar botoes criar progresso
hlaff147 Apr 27, 2022
ee770d7
[GPJ-29] Update value option 'em andamento'
hlaff147 Apr 27, 2022
acd13b1
[GPJ-29] Implementa Editar Processo
hlaff147 Apr 27, 2022
28d69a2
[GPJ-31] Resolve Bugs Editar Processo
hlaff147 May 1, 2022
3569144
Merge pull request #43 from hlaff147/GPJ-29
hlaff147 May 1, 2022
8145eed
Merge branch 'staging' into GPJ-31
hlaff147 May 1, 2022
9947479
Merge pull request #45 from hlaff147/GPJ-31
hlaff147 May 1, 2022
249b88a
[staging] Ajusta posicao dos btns criar e cancelar
hlaff147 May 2, 2022
06bc802
[GPJ-30] Adiciona atalho para comando de gerar migrações
artn-dev May 6, 2022
cd8ed60
Merge pull request #46 from hlaff147/GPJ-30
hlaff147 May 6, 2022
ee96e8b
[GPJ-30] Renomeia coluna "function" para "role"
artn-dev May 9, 2022
733be3e
[GPJ-30] Faz migração para criar tabela de processos
artn-dev May 9, 2022
402a703
[GPJ-30] Adiciona pontos de api para processos
artn-dev May 9, 2022
ba4c7fd
[GPJ-30] Novo ponto de entrada
artn-dev May 9, 2022
589c18e
[GPJ-30] Serviço de usuário atual
artn-dev May 9, 2022
8f02662
[GPJ-30] Liga serviço de processos à api
artn-dev May 9, 2022
91e7d1c
[GPJ-30] Atualiza front-end para lidar com processos no back-end
artn-dev May 9, 2022
9ab58a1
[GPJ-30] Apresenta botão de abrir processos só para advogados
artn-dev May 9, 2022
7e9c829
[GPJ-30] Apresenta botão de deletar processos só para juízes
artn-dev May 9, 2022
6f3f62b
[GPJ-30] Refatora modal de criação de processo
artn-dev May 9, 2022
cc7bd02
[GPJ-30] Adiciona serviço getUserById
artn-dev May 9, 2022
f6bd1d7
[GPJ-30] Isola dados de processo em componente próprio
artn-dev May 9, 2022
ab69367
[GPJ-30] Mudanças estéticas na lista de processos
artn-dev May 9, 2022
7f9a13b
[GPJ-33] Add contact with the responsible lawyer
sergiolbarreto May 9, 2022
46636b8
[GPJ-30] Realiza migração para criar tabela de documentos
artn-dev May 9, 2022
896002c
[GPJ-30] Implementa serviço de documentos na api
artn-dev May 9, 2022
e74fa03
Merge remote-tracking branch 'origin/staging' into GPJ-30
sergiolbarreto May 9, 2022
476c090
Merge pull request #51 from hlaff147/GPJ-30
sergiolbarreto May 9, 2022
fc44a53
[STAGING] Conserta conflitos de tipagem
artn-dev May 10, 2022
6c91607
[GPJ-34] Atualiza api para editar processos
artn-dev May 10, 2022
9e6134c
[GPJ-34] Adiciona componente de edição de processos
artn-dev May 10, 2022
9900cbf
[GPJ-34] Implementa edição de processos
artn-dev May 10, 2022
eef6a9f
Merge pull request #49 from hlaff147/GPJ-33
artn-dev May 10, 2022
d9ba4e8
[GPJ-35] Refatoração de serviço
artn-dev May 10, 2022
2c42834
[GPJ-35] Lida com login mal sucedido
artn-dev May 10, 2022
c8f3425
[GPJ-35] Lida com cadastro mal sucedido
artn-dev May 10, 2022
3b2f5bb
Merge pull request #53 from hlaff147/GPJ-35
artn-dev May 10, 2022
854c733
[GPJ-37] Adiciona dependências de testes
artn-dev May 11, 2022
8f3911b
[GPJ-37] Adiciona configurações de testes
artn-dev May 11, 2022
c552998
[GPJ-37] Adiciona teste de cadastro
artn-dev May 11, 2022
754f073
[GPJ-37] Adiciona teste de login válido
artn-dev May 11, 2022
6f3e6d0
[GPJ-37] Adiciona teste de login inválido
artn-dev May 11, 2022
b5cd187
[GPJ-37] Adiciona teste de dados de usuário por id
artn-dev May 11, 2022
749d883
[GPJ-37] Encerra servidor ao fim dos testes
artn-dev May 11, 2022
6be8f2c
[GPJ-37] Adiciona teste de apagar usuário
artn-dev May 11, 2022
228ef98
[GPJ-37] Adiciona função auxiliar signupUser
artn-dev May 11, 2022
24b941e
[GPJ-37] Adiciona teste de abrir processos
artn-dev May 11, 2022
852efee
[GPJ-37] Adiciona teste de dados de processo por id
artn-dev May 11, 2022
24a5760
[GPJ-37] Adiciona teste de lista de processos por id de advogado
artn-dev May 11, 2022
5a366ae
[GPJ-37] Adiciona teste de lista de processos por id de juiz
artn-dev May 11, 2022
3451faa
[GPJ-37] Adiciona teste de apagar de processo por id
artn-dev May 11, 2022
591527b
[GPJ-37] Generaliza teste de apagar de usuários
artn-dev May 11, 2022
4c50a72
Merge pull request #54 from hlaff147/GPJ-37
artn-dev May 11, 2022
1f1729c
Merge pull request #52 from hlaff147/GPJ-34
artn-dev May 11, 2022
74a20bf
[GPJ-34] Conserta adição de processos à lista
artn-dev May 11, 2022
dfe8c5d
[GPJ-34] Restringe CPF de juiz em formulário de edição de processo
artn-dev May 11, 2022
d8f985e
[GPJ-34] Restringe edição de processos a juízes
artn-dev May 11, 2022
eceb217
[GPJ-34] Recarrega lista de procesos após edição
artn-dev May 11, 2022
b12f188
Merge pull request #55 from hlaff147/GPJ-34
artn-dev May 11, 2022
aebb487
[GPJ-40] Atualiza tabela de processos com colunas defendantId, author…
artn-dev May 11, 2022
eac1892
[GPJ-40] Apagar comentários em template de new-process
artn-dev May 11, 2022
debbe5a
[GPJ-40] Adiciona campo cpf do réu à formulárip de novo processo
artn-dev May 11, 2022
a655606
[GPJ-40] Atualiza base de dados com réu ao entrar em detalhes de proc…
artn-dev May 11, 2022
89f609f
[GPJ-40] Atualiza processo com réus ao cadastrar nova conta
artn-dev May 11, 2022
1168360
[GPJ-40] Remove cargos "cliente" e "reú" de formulário de cadastro
artn-dev May 11, 2022
a90c46e
Merge pull request #56 from hlaff147/GPJ-40
artn-dev May 11, 2022
5d34596
[GPJ-41] Exibe informações de usuário em página de perfil
artn-dev May 11, 2022
050ac0f
[GPJ-41] Adiciona remoção de usuário à api
artn-dev May 11, 2022
74007fb
[GPJ-41] Adiciona opção de deletar conta em perfil
artn-dev May 11, 2022
7939cad
Merge pull request #57 from hlaff147/GPJ-41
artn-dev May 11, 2022
c251d91
[GPJ-36] Adiciona funcionalidade de salvar arquivos
sergiolbarreto May 11, 2022
267e950
Merge branch 'staging' into GPJ-36
artn-dev May 11, 2022
4cafbd4
Merge pull request #58 from hlaff147/GPJ-36
artn-dev May 11, 2022
91073a4
[STAGING] Adiciona connect-multiparty às dependências
artn-dev May 11, 2022
0520f6f
[STAGING] Corrige chamada de UserService.getCurrUser()
artn-dev May 11, 2022
0c71d6a
[STAGING] Apaga comentário
artn-dev May 11, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[GPJ-30] Adiciona pontos de api para processos
  • Loading branch information
artn-dev committed May 9, 2022
commit 402a7038d8c71874123848996b64636ac176bf91
85 changes: 85 additions & 0 deletions ProcessosBack/knex/querries/processes.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
import { Process } from "../../../common/process";
import { db } from "../config/database";

const getRandomJudgeId = async (): Promise<number | null> => {
try {
const query = await db("users").select("id").where({ role: "juiz" });
if (!query.length)
throw Error("Não foi possível encontrar um juiz para o processo");

const randomIndex = Math.floor(Math.random() * query.length);
return query[randomIndex].id;
} catch (err: any) {
console.log(err.message);
}

return null;
};

export const createProcess = async (process: any): Promise<number | null> => {
try {
const judgeId = (await getRandomJudgeId()) as any;
process.judgeId = judgeId;

const query = await db("processes").insert(process);
return query[0];
} catch (err: any) {
console.log(err.message);
}
return null;
};

export const getAllProcess = async (): Promise<Process[] | null> => {
try {
const query = await db("processes");
return query;
} catch (err: any) {
console.log(err.message);
}
return null;
};

export const deleteProcess = async (id: number): Promise<number | null> => {
try {
const query = await db("processes").where({ id: id }).del();
return query;
} catch (err: any) {
console.log(err.message);
}

return null;
};

export const getProcessesByLaywerId = async (
lawyerId: number
): Promise<Process[] | null> => {
try {
const query = await db("processes").where({ lawyerId: lawyerId }).select();
return query.length ? query : null;
} catch (err: any) {
console.log(err.message);
}
return null;
};

export const getProcessesByJudgeId = async (
judgeId: number
): Promise<Process[] | null> => {
try {
const query = await db("processes").where({ judgeId: judgeId }).select();
return query.length ? query : null;
} catch (err: any) {
console.log(err.message);
}
return null;
};

export const getProcessById = async (id: number): Promise<Process | null> => {
try {
const query = await db("processes").where({ id: id }).select();
return query.length ? query[0] : null;
} catch (err: any) {
console.log(err.message);
}
return null;
};
88 changes: 87 additions & 1 deletion ProcessosBack/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,15 @@ import {
} from "./knex/querries/users";
import { db } from "./knex/config/database";
import { User } from "../common/user";
import {
createProcess,
deleteProcess,
getAllProcess as getAllProcesses,
getProcessById,
getProcessesByJudgeId,
getProcessesByLaywerId,
} from "./knex/querries/processes";
import { Process } from "../common/process";

const express = require("express");
const bodyParser = require("body-parser");
Expand Down Expand Up @@ -49,7 +58,7 @@ app.get("/api/usuarios", async (req: Request, res: Response) => {
}
});

app.delete("/api/apagar", async (req: Request, res: Response) => {
app.delete("/api/apagar-usuario", async (req: Request, res: Response) => {
const cpf: string = req.body.cpf;
const success = await deleteUser(cpf);

Expand All @@ -75,6 +84,83 @@ app.get("/api/auth", async (req: Request, res: Response) => {
}
});

app.post("/api/abrir-processo", async (req: Request, res: Response) => {
var process = req.body;
const processId = await createProcess(process);

if (processId) {
process = await getProcessById(processId);
console.log(
`[SERVIDOR] Processo ${process.name} foi registrado com id ${processId}`
);
res.send({ success: process });
} else {
res.send({ failure: "Processo não pode ser aberto" });
}
});

app.delete("/api/apagar-processo", async (req: Request, res: Response) => {
const id: number = req.body.id;
const success = await deleteProcess(id);

if (success) {
console.log(`[SERVIDOR] Processo id ${id} foi deletado da base de dados`);
res.send({ success: `Processo id ${id} deletado com sucesso` });
} else {
res.send({ failure: `Não pode deletar processo id: ${id}` });
}
});

app.get("/api/processos", async (req: Request, res: Response) => {
const lawyerId = req.query.lawyerId as string;
const judgeId = req.query.judgeId as string;

let processes: Process[] | null = null;

console.log(lawyerId, judgeId);

if (!lawyerId && !judgeId) {
processes = await getAllProcesses();
console.log(`[SERVIDOR] Buscando ${processes?.length} processos`);
} else if (lawyerId !== "") {
processes = await getProcessesByLaywerId(parseInt(lawyerId));
console.log(
`[SERVIDOR] Buscando ${processes?.length} processos de advogado id ${lawyerId}`
);
} else if (judgeId !== "") {
processes = await getProcessesByJudgeId(parseInt(judgeId));
console.log(
`[SERVIDOR] Buscando ${processes?.length} processos de juiz id ${judgeId}`
);
}

if (processes) {
res.send({ success: processes });
} else {
res.send({ failure: "Não pode buscar processos" });
}
});

app.get("/api/processo", async (req: Request, res: Response) => {
const id = req.query.id as string;

if (!id) {
res.send({
failure: "Por favor, ofereça uma forma de identificar o processo",
});
return;
}

const process = await getProcessById(parseInt(id));

if (process) {
console.log(`[SERVIDOR] Buscando processos ${id}`);
res.send({ success: process });
} else {
res.send({ failure: `Não pode encontrar processos com id ${id}` });
}
});

var server = app.listen(3000, async () => {
console.log("[SERVIDOR] Servidor aberto na porta 3000");
console.log("[SERVIDOR] Servidor conectado à base de dados");
Expand Down