import { HTTPNoBody } from '@fastify-modular/route'; import { pito } from 'pito'; import { NeedLogin } from '../defines'; import { DealState } from '../enums'; // ========================================================================== export const FindDealByIdParam = pito.Obj({ deal_id: pito.Int(), }); export type FindDealByIdParam = pito.Type; // ========================================================================== export const FindDealByIdOption = pito.Obj({}); export type FindDealByIdOption = pito.Type; // ========================================================================== export const FindDealByIdOutput = pito.Obj({ dealId : pito.Int(), sellId : pito.Int(), seller : pito.Int(), buyId : pito.Int(), buyer : pito.Int(), dealState : DealState, createdAt : pito.Datetime(), updatedAt : pito.Datetime(), completeAt: pito.Opt(pito.Datetime()), }); export type FindDealByIdOutput = pito.Type; // ========================================================================== export const FindDealBySellId = HTTPNoBody('GET', '/api/v1/product/deal/sell/:sell_id', 'deal') .query(FindDealByIdOption) .response(pito.Arr(FindDealByIdOutput)) .build(); // ========================================================================== export const FindDealById = HTTPNoBody('GET', '/api/v1/product/deal/:deal_id', 'deal',) .params(FindDealByIdParam) .query(FindDealByIdOption) .response(FindDealByIdOutput) .presets(NeedLogin) .build();