import { HTTPNoBody } from "@fastify-modular/route"; import { pito } from "pito"; import { NeedLogin } from "../defines"; import { ProductKind } from "../enums"; // ===================================================================================== export const ListProductOwnerParam = pito.Obj({}); export type ListProductOwnerParam = pito.Type; // ===================================================================================== export const ListProductOwnerOption = pito.Obj({ // key userId : pito.Num(), // where prodId : pito.Opt(pito.Int()), productKind: pito.Opt(pito.Enums(ProductKind)), bldNm : pito.Opt(pito.Str()), // 매물이름 bsnsNm : pito.Opt(pito.Str()), // 중개업소명 userName : pito.Opt(pito.Str()), // 중개사명 ownerAuthYn: pito.Opt(pito.Str()), // 집주인인증 // page.. pageNo : pito.Num(), pageSize : pito.Num(), }); export type ListProductOwnerOption = pito.Type; // ===================================================================================== export const ListProductOwnerInput = pito.Obj({}); export type ListProductOwnerInput = pito.Type; // ===================================================================================== export const ListProductOwnerOutput = pito.Obj({ productOwner: pito.Arr( pito.Obj({ prodId : pito.Int(), productKind: pito.Enums(ProductKind), bldNm : pito.Str(), dongNm : pito.Str(), hoNm : pito.Str(), bsnsNm : pito.Str(), // 중개업소명 userName : pito.Str(), // 중개사명 ownerAuthYn: pito.Str(), // 집주인인증 }) ), }); export type ListProductOwnerOutput = pito.Type; // ===================================================================================== export const ListProductOwner = HTTPNoBody( "GET", "/api/v1/admin/product-owner/", "admin" ) .params(ListProductOwnerParam) .query(ListProductOwnerOption) .response(ListProductOwnerOutput) .presets(NeedLogin) .build(); // =====================================================================================