import { HTTPNoBody } from '@fastify-modular/route'; import { pito } from 'pito'; import { NeedLogin } from '../defines'; import { PeriodType, PriceType, ProductKind } from '../enums'; // ========================================================================== export const ListProductMarketOption = pito.Obj({ filterPeriod : pito.Opt(pito.Enums(PeriodType)), filterProductKind: pito.Opt(pito.Enums(ProductKind)), filterPriceType : pito.Opt(pito.Enums(PriceType)), filterBldNm : pito.Opt(pito.Str()), pageSize : pito.Opt(pito.Int({ minimum: 0, maximum: 100 })), pageNo : pito.Opt(pito.Int({ minimum: 1 })), }); export type ListProductMarketOption = pito.Type; // ========================================================================== export const ListProductMarketOutput = pito.Obj({ found: pito.Arr(pito.Obj({ createdAt : pito.Date(), productId : pito.Num(), productKind: pito.Enums(ProductKind), bldNm : pito.Str(), dongNm : pito.Str(), hoNm : pito.Str(), note : pito.Str(), })), }); export type ListProductMarketOutput = pito.Type; // ========================================================================== export const ListProductMarket = HTTPNoBody('GET', '/api/v1/product/product/market', 'product') .query(ListProductMarketOption) .response(ListProductMarketOutput) .presets(NeedLogin) .build(); // ==========================================================================