fix seeder (#39)

This commit is contained in:
Arnaud D. Natali 2023-05-10 16:03:17 +02:00 committed by GitHub
commit 56cbdb50b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 37 additions and 9 deletions

View File

@ -4,13 +4,14 @@ import ApiController from "@Common/system/controller-pattern/ApiController";
import { Service } from "typedi"; import { Service } from "typedi";
import FilesService from "@Services/private-services/FilesService/FilesService"; import FilesService from "@Services/private-services/FilesService/FilesService";
import { Files } from "@prisma/client"; import { Files } from "@prisma/client";
import { File } from "le-coffre-resources/dist/SuperAdmin"; import { File, Document } from "le-coffre-resources/dist/SuperAdmin";
import { validateOrReject } from "class-validator"; import { validateOrReject } from "class-validator";
import DocumentsService from "@Services/super-admin/DocumentsService/DocumentsService";
@Controller() @Controller()
@Service() @Service()
export default class FilesController extends ApiController { export default class FilesController extends ApiController {
constructor(private filesService: FilesService) { constructor(private filesService: FilesService, private documentService: DocumentsService) {
super(); super();
} }
@ -58,6 +59,10 @@ export default class FilesController extends ApiController {
//call service to get prisma entity //call service to get prisma entity
const prismaEntityCreated = await this.filesService.create(fileEntity, req.file); const prismaEntityCreated = await this.filesService.create(fileEntity, req.file);
const document: Document = await this.documentService.getByUid(fileEntity.document!.uid!)
document.document_status = "DEPOSITED";
await this.documentService.update(document.uid!, document);
//Hydrate ressource with prisma entity //Hydrate ressource with prisma entity
const fileEntityCreated = File.hydrate<File>(prismaEntityCreated, { const fileEntityCreated = File.hydrate<File>(prismaEntityCreated, {
strategy: "excludeAll", strategy: "excludeAll",

View File

@ -47,6 +47,8 @@ import {
const uidAddress1: string = randomString(); const uidAddress1: string = randomString();
const uidAddress2: string = randomString(); const uidAddress2: string = randomString();
const uidAddress3: string = randomString();
const uidAddress4: string = randomString();
const uidOffice1: string = randomString(); const uidOffice1: string = randomString();
const uidOffice2: string = randomString(); const uidOffice2: string = randomString();
@ -124,6 +126,22 @@ import {
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
}, },
{
uid: uidAddress3,
address: "Rue Pierre Charles",
city: "Paris",
zip_code: 75003,
created_at: new Date(),
updated_at: new Date(),
},
{
uid: uidAddress4,
address: "Rue Pierre Pologne",
city: "Paris",
zip_code: 75003,
created_at: new Date(),
updated_at: new Date(),
},
]; ];
const contacts: Contacts[] = [ const contacts: Contacts[] = [
@ -155,7 +173,7 @@ import {
}, },
{ {
uid: uidContact3, uid: uidContact3,
address_uid: uidAddress2, address_uid: uidAddress3,
first_name: "Maitre Marcelino", first_name: "Maitre Marcelino",
last_name: "Jack", last_name: "Jack",
email: "Marcelino.Jack@example.com", email: "Marcelino.Jack@example.com",
@ -168,7 +186,7 @@ import {
}, },
{ {
uid: uidContact4, uid: uidContact4,
address_uid: uidAddress2, address_uid: uidAddress4,
first_name: "Maitre Massi", first_name: "Maitre Massi",
last_name: "Jack", last_name: "Jack",
email: "Massi.Jack@example.com", email: "Massi.Jack@example.com",
@ -537,4 +555,4 @@ import {
} }
console.log(">MOCK DATA - Seeding completed!"); console.log(">MOCK DATA - Seeding completed!");
})(); })();

View File

@ -48,10 +48,15 @@ export default class FilesService extends BaseService {
* @throws {Error} If file cannot be deleted * @throws {Error} If file cannot be deleted
*/ */
public async delete(uid: string) { public async delete(uid: string) {
const fileToUnpin = await this.filesRepository.findOneByUid(uid); try {
const decryptedFilePath = await this.cryptoService.decrypt(fileToUnpin.file_path, fileToUnpin.iv); const fileToUnpin = await this.filesRepository.findOneByUid(uid);
const fileHash= decryptedFilePath.substring(this.variables.PINATA_GATEWAY.length); const decryptedFilePath = await this.cryptoService.decrypt(fileToUnpin.file_path, fileToUnpin.iv);
await this.ipfsService.unpinFile(fileHash) const fileHash= decryptedFilePath.substring(this.variables.PINATA_GATEWAY.length);
await this.ipfsService.unpinFile(fileHash)
} catch (error) {
console.log(error);
}
return this.filesRepository.delete(uid); return this.filesRepository.delete(uid);
} }