apps/recallassess/recallassess-api/src/api/client/promo-code/promo-code.controller.ts
api/client/promo-code
Client Promo Code Controller Handles promo code validation for the purchase flow
Methods |
|
| Async getPromoCodeDetails | ||||||||
getPromoCodeDetails(code: string)
|
||||||||
Decorators :
@Public()
|
||||||||
|
Get detailed promo code info (only if valid) GET /api/client/promo-code/details/:code
Parameters :
Returns :
Promise<ValidPromoCodeDto | null>
Promo code details or null if invalid |
| Async validatePromoCode | ||||||||
validatePromoCode(code: string)
|
||||||||
Decorators :
@Public()
|
||||||||
|
Validate a promo code GET /api/client/promo-code/validate/:code
Parameters :
Returns :
Promise<PromoCodeValidationDto>
Validation result with discount info if valid |
import { Public } from "@bish-nest/core/auth/decorator/public.decorator";
import { Controller, Get, Param } from "@nestjs/common";
import { PromoCodeValidationDto, ValidPromoCodeDto } from "./dto";
import { CLPromoCodeService } from "./promo-code.service";
/**
* Client Promo Code Controller
* Handles promo code validation for the purchase flow
*/
@Controller("api/client/promo-code")
export class CLPromoCodeController {
constructor(private readonly promoCodeService: CLPromoCodeService) {}
/**
* Validate a promo code
* GET /api/client/promo-code/validate/:code
* @param code - The promo code to validate
* @returns Validation result with discount info if valid
*/
@Public()
@Get("validate/:code")
async validatePromoCode(@Param("code") code: string): Promise<PromoCodeValidationDto> {
return this.promoCodeService.validatePromoCode(code);
}
/**
* Get detailed promo code info (only if valid)
* GET /api/client/promo-code/details/:code
* @param code - The promo code
* @returns Promo code details or null if invalid
*/
@Public()
@Get("details/:code")
async getPromoCodeDetails(@Param("code") code: string): Promise<ValidPromoCodeDto | null> {
return this.promoCodeService.getPromoCodeDetails(code);
}
}