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