feat: implement category fetching and integrate into header menus

This commit is contained in:
Ardeman
2025-03-02 12:06:30 +08:00
parent cfc864cb43
commit 25e136ba72
5 changed files with 48 additions and 44 deletions
+25
View File
@@ -0,0 +1,25 @@
import { z } from 'zod'
import { HttpServer, type THttpServer } from '~/libs/http-server'
const categorySchema = z.object({
data: z.array(
z.object({
id: z.string(),
code: z.string(),
name: z.string(),
}),
),
})
export type TCategorySchema = z.infer<typeof categorySchema>
export const getCategories = async (parameters?: THttpServer) => {
try {
const { data } = await HttpServer(parameters).get(`/api/category`)
return categorySchema.parse(data)
} catch (error) {
// eslint-disable-next-line unicorn/no-useless-promise-resolve-reject
return Promise.reject(error)
}
}