import { Controller, Get, Query, UseGuards } from '@nestjs/common' import { ThirdPartyAuthorizationGuard } from '../../../guards' import { Plans } from '../domain' import { PlanResult } from '../domain/types' import { PlansAvailableParam } from './params' @UseGuards(ThirdPartyAuthorizationGuard) @Controller('api-payment/plans') export class PlansController { constructor(private readonly plans: Plans) {} @Get('/available') async getAvailable(@Query() { countryCode, unitAcronym, category }: PlansAvailableParam): Promise> { return this.plans.getAvailable(countryCode, unitAcronym, category === 'premium' ? true : null) } }