import { z } from 'zod' import { HttpServer, type THttpServer } from '~/libs/http-server' import type { TAdsSchema } from '~/pages/form-advertisements' import { datePayload } from '~/utils/formatter' const advertisementsResponseSchema = z.object({ data: z.object({ Message: z.string(), }), }) type TParameters = { payload: TAdsSchema } & THttpServer export const createAdsRequest = async (parameters: TParameters) => { const { payload, ...restParameters } = parameters const transformedPayload = { ...payload, start_date: datePayload(payload.start_date), end_date: datePayload(payload.end_date), } try { const { data } = await HttpServer(restParameters).post( '/api/ads/create', transformedPayload, ) return advertisementsResponseSchema.parse(data) } catch (error) { // eslint-disable-next-line unicorn/no-useless-promise-resolve-reject return Promise.reject(error) } }