From b3681550d89bb45fbb7258aa6750d7fba23d1568 Mon Sep 17 00:00:00 2001 From: Muhammad Abdul Hakim Shibghatallah <70675129+abdulhakim2902@users.noreply.github.com> Date: Wed, 8 Feb 2023 20:42:52 +0700 Subject: [PATCH] fix: update post created at when add post to experience (#766) --- src/services/experience.service.ts | 31 +++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/services/experience.service.ts b/src/services/experience.service.ts index a395c3422..61498a351 100644 --- a/src/services/experience.service.ts +++ b/src/services/experience.service.ts @@ -146,18 +146,35 @@ export class ExperienceService { public async addPost( data: CreateExperiencePostDto, ): Promise { + const experiences = await this.experienceRepository.find({ + where: { + createdBy: this.currentUser[securityId], + }, + }); + + const experienceIds = experiences.map(e => String(e.id)); + const newExperiencePosts = data.experienceIds.map(experienceId => { + return { + experienceId, + postId: data.postId, + }; + }); + return this.experiencePostRepository .deleteAll({ - experienceId: {inq: data.experienceIds}, + experienceId: {inq: experienceIds}, postId: data.postId, }) .then(() => { - const experiencePosts = data.experienceIds.map(experienceId => { - return new ExperiencePost({experienceId, postId: data.postId}); - }); - - return this.experiencePostRepository.createAll(experiencePosts); - }); + return Promise.all([ + this.experiencePostRepository.createAll(newExperiencePosts), + this.postService.updateById(data.postId, { + createdAt: new Date().toString(), + updatedAt: new Date().toString(), + }), + ]); + }) + .then(([experiencePosts]) => experiencePosts); } public async substractPost(