import { HTTPNoBody } from '@fastify-modular/route'; import { pito } from 'pito'; import { NeedLogin } from '../defines'; import { PriceTypeDefine } from '../enums'; import { UserInformationDefine } from '../types'; export const ListSellAdBySellOrderParam = pito.Obj({ }); export type ListSellAdBySellOrderParam = pito.Type; export const ListSellAdBySellOrderOption = pito.Obj({ id: pito.Arr( pito.Obj({ sellId: pito.Num(), }) ), }); export type ListSellAdBySellOrderOption = pito.Type< typeof ListSellAdBySellOrderOption >; export const ListSellAdBySellOrderOutput = pito.Obj({ found: pito.Arr(pito.Obj({ user: UserInformationDefine, pmnt: pito.Obj({ pmntId : pito.Opt(pito.UUID()), pmntPrice: pito.Opt(pito.Num()), createdAt: pito.Opt(pito.Datetime()), payedAt : pito.Opt(pito.Opt(pito.Datetime())), }), ad: pito.Obj({ sellId : pito.Opt(pito.Num()), startAt: pito.Opt(pito.Datetime()), endAt : pito.Opt(pito.Datetime()), }), order: pito.Obj({ sellId : pito.Opt(pito.Num()), title : pito.Opt(pito.Str()), bldNm : pito.Opt(pito.Str()), dongNm : pito.Opt(pito.Str()), hoNm : pito.Opt(pito.Str()), priceType: pito.Opt(PriceTypeDefine), }), })), }); export type ListSellAdBySellOrderOutput = pito.Type; export const ListSellAdBySellOrder = HTTPNoBody( "GET", "/api/v1/product/sell-ad/sell-order/", "ad" ) .params(ListSellAdBySellOrderParam) .query(ListSellAdBySellOrderOption) .response(ListSellAdBySellOrderOutput) .presets(NeedLogin) .build();