File

apps/recallassess/recallassess-api/src/api/client/promo-code/promo-code.controller.ts

Prefix

api/client/promo-code

Description

Client Promo Code Controller Handles promo code validation for the purchase flow

Index

Methods

Methods

Async getPromoCodeDetails
getPromoCodeDetails(code: string)
Decorators :
@Public()
@Get('details/:code')

Get detailed promo code info (only if valid) GET /api/client/promo-code/details/:code

Parameters :
Name Type Optional Description
code string No
  • The promo code

Promo code details or null if invalid

Async validatePromoCode
validatePromoCode(code: string)
Decorators :
@Public()
@Get('validate/:code')

Validate a promo code GET /api/client/promo-code/validate/:code

Parameters :
Name Type Optional Description
code string No
  • The promo code to validate

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);
  }
}

results matching ""

    No results matching ""