import { HTTPBody } from '@fastify-modular/route'; import { pito } from 'pito'; import { NeedLogin } from '../defines'; import { FurnitureDefine, ProductKind, ProductType } from '../enums'; import { AdminExpensesDefine, MoveInDefine, ParkingDefine, PriceDefine } from '../types'; // ========================================================================== export const UpdateProductBySellerParam = pito.Obj({ prod_id: pito.Num(), }); export type UpdateProductBySellerParam = pito.Type; // ========================================================================== export const UpdateProductBySellerInput = pito.Obj({ productKind: pito.Enums(ProductKind), productType: pito.Enums(ProductType), moveIn: pito.Opt(MoveInDefine), adminExpenses: pito.Opt(AdminExpensesDefine), parking : pito.Opt(ParkingDefine), furniture : pito.Opt(pito.Arr(FurnitureDefine)), title : pito.Opt(pito.Str()), description : pito.Opt(pito.Str()), note : pito.Opt(pito.Str()), characteristic: pito.Opt(pito.Str()), prices: pito.Opt( pito.Arr( pito.Obj({ sellId: pito.Opt(pito.Int()), price : PriceDefine, }), { minItems: 1 }, ), ), // TODO : max 체크 해야할듯 }); export type UpdateProductBySellerInput = pito.Type; // ========================================================================== export const UpdateProductBySellerOption = pito.Obj({}); export type UpdateProductBySellerOption = pito.Type; // ========================================================================== export const UpdateProductBySellerOutput = pito.Obj({ prodId : pito.Int(), sellIds: pito.Arr(pito.Int()), }); export type UpdateProductBySellerOutput = pito.Type; // ========================================================================== export const UpdateProductBySeller = HTTPBody('PATCH', '/api/v1/product/product/seller/:prod_id', 'product') .params(UpdateProductBySellerParam) .body(UpdateProductBySellerInput) .query(UpdateProductBySellerOption) .response(UpdateProductBySellerOutput) .presets(NeedLogin) .build(); // ==========================================================================