diff --git a/src/modules/businesses/DTO/business-active-status.dto.ts b/src/modules/businesses/DTO/business-active-status.dto.ts new file mode 100644 index 0000000..580c53d --- /dev/null +++ b/src/modules/businesses/DTO/business-active-status.dto.ts @@ -0,0 +1,10 @@ +import { ApiProperty } from "@nestjs/swagger"; +import { IsBoolean, IsNotEmpty } from "class-validator"; + + +export class BusinessAciveStatusDto { + @IsNotEmpty() + @IsBoolean() + @ApiProperty() + isActive: boolean; +} diff --git a/src/modules/businesses/businesses.controller.ts b/src/modules/businesses/businesses.controller.ts index 05bb88a..bf4045d 100644 --- a/src/modules/businesses/businesses.controller.ts +++ b/src/modules/businesses/businesses.controller.ts @@ -12,6 +12,7 @@ import { BusinessDec } from "../../common/decorators/business.decorator"; import { BusinessInterceptor } from "../../core/interceptors/business.interceptor"; import { SuperAdminRoute } from "../../common/decorators/super-admin.decorator"; import { FindBusinessesDto } from "./DTO/find-businesses.dto"; +import { BusinessAciveStatusDto } from "./DTO/business-active-status.dto"; @Controller("business") export class BusinessesController { @@ -61,6 +62,8 @@ export class BusinessesController { return this.businessesService.purchaseQuota(businessId, purchaseDto); } + //-------------------- Super Admin Routes ---------------------- + @Get("list") @AuthGuards() @SuperAdminRoute() @@ -69,11 +72,11 @@ export class BusinessesController { return this.businessesService.findBusinesses(query) } - @Patch(":id/active/toggle") + @Patch(":id/active") @AuthGuards() @SuperAdminRoute() - @ApiOperation({ summary: "Active/Deactive a businesse" }) - toggleActiveness(@Param('id') id: string) { - return this.businessesService.businessToggleActive(id) + @ApiOperation({ summary: "Activate/Deactivate businesse" }) + updateActiveStatus(@Param('id') id: string, @Body() dto: BusinessAciveStatusDto) { + return this.businessesService.updateBusinesStatus(id, dto.isActive) } } diff --git a/src/modules/businesses/services/businesses.service.ts b/src/modules/businesses/services/businesses.service.ts index 9f309ac..8ddda27 100644 --- a/src/modules/businesses/services/businesses.service.ts +++ b/src/modules/businesses/services/businesses.service.ts @@ -164,17 +164,17 @@ export class BusinessesService { return this.quotaPurchaseService.purchaseQuota(business, purchaseDto); } //********************************************* */ - + async findBusinesses(query: FindBusinessesDto) { return this.businessRepository.findAllPaginated(query) } //********************************************* */ - async businessToggleActive(businessId: string) { + async updateBusinesStatus(businessId: string, isActive: boolean) { const business = await this.getBusinessById(businessId) - business.isActive=!business.isActive + business.isActive = isActive await this.em.flush()