import { z } from 'zod' import { HttpServer, type THttpServer } from '~/libs/http-server' const newsSchema = z.object({ data: z.array( z.object({ id: z.string(), title: z.string(), content: z.string(), categories: z.array( z.object({ id: z.string(), name: z.string(), code: z.string(), }), ), tags: z.array( z.object({ id: z.string(), name: z.string(), code: z.string(), }), ), is_premium: z.boolean(), slug: z.string(), featured_image: z.string(), author_id: z.string(), live_at: z.string(), created_at: z.string(), updated_at: z.string(), author: z.object({ id: z.string(), name: z.string(), profile_picture: z.string(), }), }), ), }) export const getNews = async (parameters: THttpServer) => { try { const { data } = await HttpServer(parameters).get(`/api/news`) return newsSchema.parse(data) } catch (error) { // eslint-disable-next-line unicorn/no-useless-promise-resolve-reject return Promise.reject(error) } }