46 lines
1001 B
TypeScript
46 lines
1001 B
TypeScript
import Base from "./base";
|
|
import {H3Event} from "h3";
|
|
|
|
export type Category = {
|
|
id: number;
|
|
siteId: number;
|
|
parentId?: number;
|
|
title: string;
|
|
code: string;
|
|
description?: string;
|
|
thumbnail?: string;
|
|
keyword?: string;
|
|
taxonomy?: string;
|
|
type: number;
|
|
layout?: number;
|
|
template?: string;
|
|
feature?: string;
|
|
settings?: string;
|
|
order?: number;
|
|
isPublished?: boolean;
|
|
publishType?: number;
|
|
publishedBy?: string;
|
|
publishedOn?: string;
|
|
status: number;
|
|
} & Base;
|
|
|
|
export type CategoryTree = Category & {
|
|
children?: Category[]
|
|
}
|
|
|
|
export const list = async (event : H3Event) => {
|
|
try {
|
|
const { site, apiUrl } = useRuntimeConfig().public;
|
|
const query = getQuery(event)
|
|
const { items }: CategoryTree[] | any = await $fetch(`${apiUrl}/cms/category/tree/site:1`, {
|
|
method: "GET",
|
|
headers: new Headers({
|
|
site: getSite(query.site).toString(),
|
|
}),
|
|
});
|
|
return { items } ;
|
|
} catch (error) {
|
|
handleError(error);
|
|
}
|
|
};
|