chore: add domain verification system
This commit is contained in:
@@ -1,14 +1,51 @@
|
||||
import { Controller, Get, Param } from "@nestjs/common";
|
||||
import { Body, Controller, Get, Param, Post } from "@nestjs/common";
|
||||
|
||||
import { UpdateBusinessDomainDto, VerifyDomainDto } from "./DTO/business-domain.dto";
|
||||
import { BusinessSlugParamDto } from "./DTO/business-slug-param.dto";
|
||||
import { Business } from "./entities/business.entity";
|
||||
import { BusinessesService } from "./services/businesses.service";
|
||||
import { DomainVerificationService } from "./services/domain-verification.service";
|
||||
import { BusinessDec } from "../../common/decorators/business.decorator";
|
||||
|
||||
@Controller("business")
|
||||
export class BusinessesController {
|
||||
constructor(private readonly businessesService: BusinessesService) {}
|
||||
constructor(
|
||||
private readonly businessesService: BusinessesService,
|
||||
private readonly domainVerificationService: DomainVerificationService,
|
||||
) {}
|
||||
|
||||
@Get("slug/:slug")
|
||||
async getBusinessBySlug(@Param() params: BusinessSlugParamDto) {
|
||||
return this.businessesService.getBusinessBySlug(params.slug);
|
||||
}
|
||||
|
||||
@Post()
|
||||
async updateBusinessDomain(@BusinessDec() business: Business, @Body() domainDto: UpdateBusinessDomainDto) {
|
||||
return this.domainVerificationService.updateBusinessDomain(business.id, domainDto);
|
||||
}
|
||||
|
||||
@Get("status")
|
||||
async getDomainStatus(@BusinessDec() business: Business) {
|
||||
return this.domainVerificationService.getDomainVerificationStatus(business.id);
|
||||
}
|
||||
|
||||
@Post("verify")
|
||||
async verifyDomain(@BusinessDec() business: Business, @Body() verifyDto: VerifyDomainDto) {
|
||||
return this.domainVerificationService.initiateVerification(business.id, verifyDto);
|
||||
}
|
||||
|
||||
@Post("verify/check")
|
||||
async checkVerification(@BusinessDec() business: Business) {
|
||||
return this.domainVerificationService.verifyDomain(business.id);
|
||||
}
|
||||
|
||||
@Post("admin/:businessId/verify")
|
||||
async adminVerifyDomain(@Param("businessId") businessId: string, @Body() verifyDto: VerifyDomainDto) {
|
||||
return this.domainVerificationService.initiateVerification(businessId, verifyDto);
|
||||
}
|
||||
|
||||
@Post("admin/:businessId/verify/check")
|
||||
async adminCheckVerification(@Param("businessId") businessId: string) {
|
||||
return this.domainVerificationService.verifyDomain(businessId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user