import { z } from 'zod' import { HttpServer, type THttpServer } from '~/libs/http-server' import type { TContentSchema } from '~/pages/form-contents' const newsResponseSchema = z.object({ data: z.object({ Message: z.string(), }), }) type TParameter = { payload: TContentSchema } & THttpServer export const createNewsRequest = async (parameters: TParameter) => { const { payload, ...restParameters } = parameters const { categories, tags, live_at, ...restPayload } = payload const transformedPayload = { ...restPayload, categories: categories.map((category) => category?.id), tags: tags?.map((tag) => tag?.id) || [], live_at: new Date(live_at).toISOString(), } try { const { data } = await HttpServer(restParameters).post( '/api/news/create', transformedPayload, ) return newsResponseSchema.parse(data) } catch (error) { // eslint-disable-next-line unicorn/no-useless-promise-resolve-reject return Promise.reject(error) } }