import { HTTPNoBody } 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 FindProductByOwnerParams = pito.Obj({ prod_id: pito.Int(), }); export type FindProductByOwnerParams = pito.Type; // ========================================================================== export const FindProductByOwnerOutput = pito.Obj({ address: pito.Str(), productKind: pito.Enums(ProductKind), productType: pito.Enums(ProductType), moveIn: MoveInDefine, adminExpenses: AdminExpensesDefine, parking : ParkingDefine, furnitures : pito.Arr(FurnitureDefine), title : pito.Str(), description : pito.Str(), note : pito.Opt(pito.Str()), characteristic: pito.Opt(pito.Str()), prices: pito.Arr( pito.Obj({ sellId: pito.Int(), price : PriceDefine, }), { minItems: 1 }, ), }); export type FindProductByOwnerOutput = pito.Type; // ========================================================================== export const FindProductByOwner = HTTPNoBody('GET', '/api/v1/product/product/owner/:prod_id', 'product') .params(FindProductByOwnerParams) .response(FindProductByOwnerOutput) .presets(NeedLogin) .build(); // ==========================================================================