mirror of
https://github.com/PeterMaquiran/tvone.git
synced 2026-04-19 20:26:06 +00:00
66 lines
3.5 KiB
TypeScript
66 lines
3.5 KiB
TypeScript
const API = "http://localhost:3001/categories";
|
|
|
|
export interface Category {
|
|
id: string;
|
|
name: string;
|
|
slug: string;
|
|
parentId?: string | null;
|
|
children?: Category[];
|
|
}
|
|
|
|
//var token = 'eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJzSnBBLWUtcTEyc3ZVUlpLLUpCbU9lVzQxVDhIcGRKQnlLYlVkbHQxVDNZIn0.eyJleHAiOjE3NzY1NjA0MzIsImlhdCI6MTc3NjU2MDEzMiwiYXV0aF90aW1lIjoxNzc2NTYwMTMyLCJqdGkiOiI4ZTUzYmY3YS0wNDMzLTQ4MzQtOGE4NS02NjQ4YTMyOTliYWIiLCJpc3MiOiJodHRwczovL2tleWNsb2FrLnBldGVybWFxdWlyYW4ueHl6L3JlYWxtcy90dm9uZSIsImF1ZCI6ImFjY291bnQiLCJzdWIiOiJiY2RkYTYwOS00OThhLTQxNzgtYTEwMy04N2QzN2IxN2U1YzMiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJ0dm9uZS13ZWIiLCJzZXNzaW9uX3N0YXRlIjoiMWVlZDBhOTMtOGFlNi00ZDBlLTg0MjItMGJmYTA3ZmViYTBiIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwczovL3R2b25lLnBldGVybWFxdWlyYW4ueHl6IiwiaHR0cDovL2xvY2FsaG9zdDozMDAwIl0sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJvZmZsaW5lX2FjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIiwiZGVmYXVsdC1yb2xlcy10dm9uZSJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoib3BlbmlkIGVtYWlsIHByb2ZpbGUiLCJzaWQiOiIxZWVkMGE5My04YWU2LTRkMGUtODQyMi0wYmZhMDdmZWJhMGIiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6IlBldGVyIE1hcXVpcmFuIiwicHJlZmVycmVkX3VzZXJuYW1lIjoicGV0ZXJtYXF1aXJhbjI5QGdtYWlsLmNvbSIsImdpdmVuX25hbWUiOiJQZXRlciIsImZhbWlseV9uYW1lIjoiTWFxdWlyYW4iLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jTG5QUmpKbllhZ2tDT0VIbVRGY1IyZVVOaWNSLU45bG5QQkZuV0RSa0hnVF9JeHpocz1zOTYtYyIsImVtYWlsIjoicGV0ZXJtYXF1aXJhbjI5QGdtYWlsLmNvbSJ9.K9uo2g2nK7VjkcCfVyex39iCAAV32ASTSsF0jicUAWlupv8IwYOv4wToyGyetC7yfAqpxaPqeHIOd_QJ3V60jQeJu10J_P78BHw01oe1ONczmAMm3Lt175-i70m8lOmPFXhVPbzGCLrUxWtOC1npS1to1y_QvtMmU11owcZvjy7InV4KpOUUmJkp2OMiSEpDV7tiVNBm7YtoXHhCeTN3-jpipV16yhBJuMfdyVhqK0gYT_z6bnbkvND6F1XG2D-A0cYwuc2NYeSwQT-F3Gxyw09JioZTEN_mn6sMRjy2zgm4oz0Owc1Qv6Exi2my32734e8Y7o-0RcFZpUFfkegdFA';
|
|
|
|
export async function getCategoriesTree(): Promise<Category[]> {
|
|
const res = await fetch(`${API}/`, {credentials: "include", headers: {
|
|
//Authorization: "Bearer "+token,
|
|
}});
|
|
const data = await res.json();
|
|
return Array.isArray(data) ? data : data?.data ?? [];
|
|
}
|
|
|
|
export async function getCategoriesFlat(): Promise<Category[]> {
|
|
const res = await fetch(API, {credentials: "include",headers: {
|
|
// Authorization: "Bearer "+token,
|
|
}});
|
|
const data = await res.json();
|
|
return Array.isArray(data) ? data : [];
|
|
}
|
|
|
|
export async function createCategory(payload: Partial<Category>) {
|
|
return fetch(API, {
|
|
method: "POST",
|
|
headers: { "Content-Type": "application/json" },
|
|
credentials: "include",
|
|
body: JSON.stringify(payload),
|
|
});
|
|
}
|
|
|
|
export async function updateCategory(id: string, payload: Partial<Category>) {
|
|
return fetch(`${API}/${id}`, {
|
|
method: "PATCH",
|
|
headers: { "Content-Type": "application/json" },
|
|
credentials: "include",
|
|
body: JSON.stringify(payload),
|
|
});
|
|
}
|
|
|
|
export async function deleteCategory(id: string) {
|
|
return fetch(`${API}/${id}`, { method: "DELETE", credentials: "include", });
|
|
}
|
|
|
|
|
|
export async function getTree(): Promise<Category[]> {
|
|
const res = await fetch(`${API}/`, {credentials: "include",headers: {
|
|
// Authorization: "Bearer "+token,
|
|
}});
|
|
const data = await res.json();
|
|
return Array.isArray(data) ? data : data?.data ?? [];
|
|
}
|
|
|
|
export async function getFlat(): Promise<Category[]> {
|
|
const res = await fetch(API, {credentials: "include",headers: {
|
|
// Authorization: "Bearer "+token,
|
|
}});
|
|
const data = await res.json();
|
|
return Array.isArray(data) ? data : [];
|
|
} |