Skip to content

Commit a53b883

Browse files
Merge pull request VitorCarvalho67#65 from Daniel-Alvarenga/main
Start fix compare
2 parents cd7a214 + cdd17d6 commit a53b883

File tree

6 files changed

+27
-23
lines changed

6 files changed

+27
-23
lines changed

client/src/views/funcionario/Boletins.vue

+10-9
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<AsideDashboard pageName='home' />
66
<div class="content">
77
<h1>Boletins a serem validados</h1>
8-
8+
99
<div v-if="boletins.length === 0">Nenhum boletim em análise encontrado.</div>
1010

1111
<div v-for="boletim in boletins" :key="boletim.id" class="boletim-item">
@@ -15,7 +15,9 @@
1515
<strong>Link:</strong> <a :href="boletim.url" target="_blank">Baixar Boletim</a>
1616
</div>
1717
<input type="file" @change="(event) => handleFileChange(event, boletim.id)" />
18-
<button @click="compareBoletim(boletim.id)">Comparar</button>
18+
<button :disabled="!selectedFiles[boletim.id]" @click="compareBoletim(boletim.id)">
19+
Comparar
20+
</button>
1921
</div>
2022
</div>
2123
</main>
@@ -45,28 +47,27 @@ export default {
4547
},
4648
methods: {
4749
async fetchBoletins() {
48-
const token = this.getToken();
49-
const response = await getBoletins(token);
50-
this.boletins = response.data || []; // Assumindo que os dados vêm na estrutura correta
50+
const response = await getBoletins(this.funcionario.token);
51+
this.boletins = response.data;
5152
},
5253
handleFileChange(event, boletimId) {
5354
this.selectedFiles[boletimId] = event.target.files[0];
5455
},
5556
async compareBoletim(boletimId) {
5657
const file = this.selectedFiles[boletimId];
57-
const token = this.getToken();
5858
5959
if (file) {
60-
const response = await compareBoletins(file, boletimId, token);
61-
alert(response.message || 'Erro ao comparar boletim.'); // Você pode modificar essa parte para melhor feedback ao usuário
60+
const response = await compareBoletins(file, boletimId, this.funcionario.token);
61+
alert(response.message || 'Erro ao comparar boletim.');
6262
} else {
6363
alert('Por favor, selecione um arquivo para comparação.');
6464
}
6565
}
6666
},
6767
mixins: [mixinFuncionario],
6868
async created() {
69-
await this.fetchBoletins(); // Carrega os boletins ao criar o componente
69+
await this.getToken();
70+
await this.fetchBoletins();
7071
}
7172
}
7273
</script>

server/src/minioService.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,11 @@ export const uploadToMinio = async (bucketName: string, objectName: string, file
2424
};
2525

2626
export async function downloadFromMinio(bucketName: string, objectName: string): Promise<Buffer> {
27-
const tempFilePath = `../uploads/tmp/${objectName}`;
27+
const tempFilePath = `./uploads/tmp/${objectName}`;
2828
const fileStream = fs.createWriteStream(tempFilePath);
29-
29+
3030
const downloadStream = await minioClient.getObject(bucketName, objectName);
31+
console.log("Here");
3132
downloadStream.pipe(fileStream);
3233

3334
await promisify(stream.finished)(fileStream);

server/src/modules/controllers/funcionarioControllers.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { ValidateRecoveryUseCase } from "../services/funcionario/ValidateRecover
77
import { RefreshTokenUseCase } from "../services/funcionario/RefreshTokenUseCase";
88
import { RegisterVagaUseCase } from "../services/funcionario/RegisterVagasUseCase";
99
import { SetEmpresaParceiraUseCase } from "../services/funcionario/SetAsParceiraUseCase";
10-
import { CompareBoletimDTO, SetEmpresaParceiraDTO } from "../interfaces/funcionarioDTOs";
10+
import { SetEmpresaParceiraDTO } from "../interfaces/funcionarioDTOs";
1111
import { EntidadeEnum } from "../interfaces/sharedDTOs";
1212
import { GetMessagesBetweenUseCase } from "../services/shared/GetChatUseCase";
1313
import { CompareBoletimUseCase } from "../services/funcionario/CompareBoletinsUseCase";
@@ -158,7 +158,9 @@ export class GetMessagesBetweenController {
158158

159159
export class CompareBoletimController {
160160
async handle(req: Request, res: Response): Promise<Response> {
161-
const { boletimId } = req.body;
161+
console.log(req.body);
162+
163+
const boletimId = req.body.boletimId;
162164
const file = req.file as Express.Multer.File;
163165

164166
const compareBoletimUseCase = new CompareBoletimUseCase();

server/src/modules/services/funcionario/CompareBoletinsUseCase.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,22 @@ export class CompareBoletimUseCase {
1616
throw new AppError('Arquivo do boletim não fornecido.');
1717
}
1818

19+
1920
const boletim = await prisma.boletim.findUnique({
2021
where: {
2122
id: boletimId,
2223
},
2324
});
24-
25+
2526
if (!boletim) {
2627
throw new AppError('Boletim não encontrado.');
2728
}
28-
29+
2930
const filePath = path.resolve(file.path);
3031
const fileBuffer = fs.readFileSync(filePath);
31-
32+
3233
const storedBoletimBuffer = await downloadFromMinio('boot', boletim.caminho);
34+
console.log("here");
3335

3436
const isEqual = fileBuffer.equals(storedBoletimBuffer);
3537

server/src/modules/services/funcionario/GetunapprovedUsecase.ts

+1-6
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,6 @@ export class GetBoletinsEmAnaliseUseCase {
1919
}
2020
},
2121
orderBy: [
22-
{
23-
aluno: {
24-
turmas: {}
25-
}
26-
},
2722
{
2823
aluno: {
2924
name: 'asc'
@@ -49,4 +44,4 @@ export class GetBoletinsEmAnaliseUseCase {
4944

5045
return boletinsEmAnalise;
5146
}
52-
}
47+
}

server/src/router/routes/funcionario.routes.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import { Router } from "express";
22
import { funcionarioAuthMiddleware } from '../../middleware/auth/autentication';
33
import { createControllers } from "./imports/funcionario";
4+
import multer from "multer";
45

56
const controllers = createControllers();
7+
const upload = multer({ dest: 'uploads/' });
68
const funcionarioRoutes = Router();
79

810
funcionarioRoutes.post("/validate", controllers.validateFuncionarioController.handle);
@@ -12,11 +14,12 @@ funcionarioRoutes.post("/recovery/validate", controllers.validateRecoveryControl
1214

1315
funcionarioRoutes.get("/init", controllers.initFuncionarioController.handle);
1416

17+
funcionarioRoutes.post('/boletim/compare', upload.single('file'), funcionarioAuthMiddleware, controllers.compareBoletimController.handle);
18+
1519
funcionarioRoutes.use(funcionarioAuthMiddleware);
1620
funcionarioRoutes.post("/register/vaga", controllers.registerVagaController.handle);
1721
funcionarioRoutes.post("/update/empresa", controllers.registerVagaController.handle);
1822
funcionarioRoutes.post("/message/send", controllers.createMessageController.handle);
19-
funcionarioRoutes.post("/boletim/compare", controllers.compareBoletimController.handle);
2023

2124
funcionarioRoutes.get("/auth", (req, res) => {
2225
res.status(200).send("Funcionário autenticado com sucesso.");

0 commit comments

Comments
 (0)