diff --git a/src/modules/business/business.controller.ts b/src/modules/business/business.controller.ts index a476929..5f6272e 100644 --- a/src/modules/business/business.controller.ts +++ b/src/modules/business/business.controller.ts @@ -16,6 +16,11 @@ import { ApiBearerAuth } from '@nestjs/swagger'; export class BusinessController { constructor(private readonly businessService: BusinessService) { } + @Get('public/business/:slug') + getBusinessBySlug(@Param('slug') slug: string) { + return this.businessService.findBySlugOrFail(slug) + } + @Get('super-admin/business/list') @UseGuards(SuperAdminAuthGuard) findAll(@Query() dto: FindBusinessesDto) { diff --git a/src/modules/business/business.service.ts b/src/modules/business/business.service.ts index f0e035e..ad02da3 100644 --- a/src/modules/business/business.service.ts +++ b/src/modules/business/business.service.ts @@ -71,6 +71,14 @@ export class BusinessService { return business } + async findBySlugOrFail(slug: string) { + const business = await this.businessRepository.findOne({ slug }) + if (!business) { + throw new NotFoundException("Business not found") + } + return business + } + async findByIdOrFail(businessId: string) { const business = await this.businessRepository.findOne({ id: businessId }, { populate: ['admin'] }) if (!business) {