From 04fd5c571ffc2a67a9af74bb5144c7f77ff1adf8 Mon Sep 17 00:00:00 2001 From: caturbgs Date: Tue, 14 Dec 2021 16:03:59 +0700 Subject: [PATCH] feat: add change status partner endpoint --- src/users/partner/partner.service.ts | 26 +++++++++++++++++++++++++- src/users/users.controller.ts | 12 ++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/src/users/partner/partner.service.ts b/src/users/partner/partner.service.ts index bbb715b..8d3b23b 100644 --- a/src/users/partner/partner.service.ts +++ b/src/users/partner/partner.service.ts @@ -1,4 +1,10 @@ -import { forwardRef, HttpException, HttpStatus, Inject, Injectable } from '@nestjs/common'; +import { + forwardRef, + HttpException, + HttpStatus, + Inject, + Injectable, +} from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Connection, Not, Repository } from 'typeorm'; import { CoaService } from '../../transaction/coa.service'; @@ -108,6 +114,24 @@ export class PartnerService { return partnerData; } + setStatus = async (id: string, type: string) => { + const partnerData = await this.partnerRepository.findOne({ + id: id, + }); + + if (type === 'active') { + partnerData.status = true; + } else { + partnerData.status = false; + } + + await this.connection.transaction(async (manager) => { + await manager.update(Partner, { id: id }, partnerData); + }); + + return partnerData; + }; + findAllPartner(page) { return this.partnerRepository.findAndCount({ skip: page * 10, diff --git a/src/users/users.controller.ts b/src/users/users.controller.ts index 02e4313..f078627 100644 --- a/src/users/users.controller.ts +++ b/src/users/users.controller.ts @@ -62,6 +62,18 @@ export class UsersController { }; } + @Get('partner/:id/:type') + async setStatusPartner( + @Param('id', ParseUUIDPipe) id: string, + @Param('type') type: string, + ) { + return { + data: await this.partnerService.setStatus(id, type), + statusCode: HttpStatus.CREATED, + message: 'success', + }; + } + @Put('partner/:id') async updatePartner( @Param('id', ParseUUIDPipe) id: string,