update deed functional

This commit is contained in:
Vincent Alamelle 2023-05-09 15:37:27 +02:00
parent cf7c50f284
commit e6654979cd
3 changed files with 22 additions and 10 deletions

View File

@ -49,8 +49,15 @@ export default class DeedsController extends ApiController {
throw new Error("No uid provided"); throw new Error("No uid provided");
} }
//call service to get prisma entity let deedEntity: Deeds;
const deedEntity: Deeds = await this.deedsService.getByUid(uid); //get query
if (req.query["q"]) {
const query = JSON.parse(req.query["q"] as string);
deedEntity = await this.deedsService.getByUid(uid, query);
} else {
//call service to get prisma entity
deedEntity = await this.deedsService.getByUid(uid);
}
//Hydrate ressource with prisma entity //Hydrate ressource with prisma entity
const deed = Deed.hydrate<Deed>(deedEntity, { strategy: "excludeAll" }); const deed = Deed.hydrate<Deed>(deedEntity, { strategy: "excludeAll" });
@ -61,7 +68,6 @@ export default class DeedsController extends ApiController {
this.httpBadRequest(response, error); this.httpBadRequest(response, error);
return; return;
} }
this.httpSuccess(response, await this.deedsService.getByUid("uid"));
} }
/** /**

View File

@ -72,6 +72,8 @@ export default class DeedsRepository extends BaseRepository {
deed_has_document_types: true, deed_has_document_types: true,
}, },
}; };
console.log(deed.deed_has_document_types);
if (deed.deed_has_document_types) { if (deed.deed_has_document_types) {
updateArgs.data.deed_has_document_types = { updateArgs.data.deed_has_document_types = {
deleteMany: { deed_uid: uid }, deleteMany: { deed_uid: uid },
@ -89,12 +91,16 @@ export default class DeedsRepository extends BaseRepository {
/** /**
* @description : Find unique deed * @description : Find unique deed
*/ */
public async findOneByUid(uid: string): Promise<Deeds> { public async findOneByUid(uid: string, query?: any): Promise<Deeds> {
const deedTypeEntity = await this.model.findUnique({ const findOneArgs: Prisma.DeedsFindUniqueArgs = {
where: { where: {
uid: uid, uid: uid,
}, },
}); };
if (query) {
findOneArgs.include = query;
}
const deedTypeEntity = await this.model.findUnique(findOneArgs);
if (!deedTypeEntity) { if (!deedTypeEntity) {
throw new Error("deed not found"); throw new Error("deed not found");

View File

@ -38,7 +38,7 @@ export default class DeedsService extends BaseService {
* @description : Get a deed by uid * @description : Get a deed by uid
* @throws {Error} If deed-type cannot be get by uid * @throws {Error} If deed-type cannot be get by uid
*/ */
public async getByUid(uid: string) { public async getByUid(uid: string, query?: any) {
return this.deedRepository.findOneByUid(uid); return this.deedRepository.findOneByUid(uid, query);
} }
} }