import { HTTPBody } from "@fastify-modular/route"; import { pito } from "pito"; import { NeedLogin } from "../defines"; import { AdStateType, AdUpdateType } from "../enums/ad-state"; // ===================================================================================== export const UpdateSellAdParam = pito.Obj({}); export type UpdateSellAdParam = pito.Type; // ===================================================================================== export const UpdateSellAdInput = pito.Obj({ sellId : pito.Num(), adDayCnt : pito.Num(), adDayNote : pito.Str(), adminNote : pito.Str(), adUpdateType: pito.Enums(AdUpdateType), }); export type UpdateSellAdInput = pito.Type; // ===================================================================================== export const UpdateSellAdOutput = pito.Obj({ sellAd: pito.Obj({ sellId : pito.Num(), pmntId : pito.Str(), firstStartAt: pito.Date(), startAt : pito.Date(), endAt : pito.Date(), adDayCnt : pito.Num(), }), sellAdHistory: pito.Obj({ sellId : pito.Num(), pmntId : pito.Str(), adStateType : pito.Enums(AdStateType), adUpdateType: pito.Enums(AdUpdateType), adMonthCnt : pito.Num(), adDayCnt : pito.Num(), startAt : pito.Date(), endAt : pito.Date(), remainDayCnt: pito.Num(), adDayNote : pito.Str(), adminNote : pito.Str(), procUserId : pito.Num(), }), }); export type UpdateSellAdOutput = pito.Type; // ===================================================================================== export const UpdateSellAd = HTTPBody("PATCH", "/api/v1/admin/sell-ad", "admin") .params(UpdateSellAdParam) .body(UpdateSellAdInput) .response(UpdateSellAdOutput) .presets(NeedLogin) .build(); // =====================================================================================