import { z } from 'zod' import { HttpServer, type THttpServer } from '~/libs/http-server' export const categoryResponseSchema = z.object({ id: z.string(), name: z.string(), code: z.string(), }) const categoriesResponseSchema = z.object({ data: z.array(categoryResponseSchema), }) export type TCategoryResponse = z.infer export type TCategoriesResponse = z.infer export const getCategories = async (parameters?: THttpServer) => { try { const { data } = await HttpServer(parameters).get(`/api/category`) return categoriesResponseSchema.parse(data) } catch (error) { // eslint-disable-next-line unicorn/no-useless-promise-resolve-reject return Promise.reject(error) } }