import { HTTPBody } from '@fastify-modular/route'; import { pito } from 'pito'; import { NeedLogin } from '../defines'; import { PaymentExpire } from '../enums/payment-expire'; // ========================================================================== export const CreatePaymentInput = pito.Obj({ price: pito.Num(), }); export type CreatePaymentInput = pito.Type; // ========================================================================== export const CreatePaymentOption = pito.Obj({ expiredDuration: pito.Opt(pito.Enums(PaymentExpire)), }); export type CreatePaymentOption = pito.Type; // ========================================================================== export const CreatePaymentOutput = pito.Obj({ pmntId: pito.Str(), }); export type CreatePaymentOutput = pito.Type; // ========================================================================== // payment 를 생성함 export const CreatePayment = HTTPBody('POST', '/api/v1/payment/create-payment', 'payment') .body(CreatePaymentInput) .query(CreatePaymentOption) .response(CreatePaymentOutput) .presets(NeedLogin) .build();