gallery-frontend/src/api/indexes.ts

42 lines
1.1 KiB
TypeScript

import axiosInstance from "./axiosInstance";
export interface IndexResponse {
count: number;
page_size: number;
page: number;
total_pages: number;
results: IndexType[];
}
export interface IndexType {
id: number;
school_index: string;
}
export const getIndexes = async ( page?: number, search?:string ) => {
const res = await axiosInstance.get<IndexResponse>("/api/admin/schools", {
params: { page, search },
});
return res.data;
};
export const getIndexById = async (id: number) => {
const res = await axiosInstance.get<IndexType>(`/api/admin/schools/${id}`);
return res.data;
};
export const createIndex = async (name: string) => {
const res = await axiosInstance.post(`/api/admin/schools/`, { school_index: name });
return res.data;
};
export const updateIndex = async (id: number, name: string) => {
const res = await axiosInstance.put(`/api/admin/schools/${id}`, { school_index: name });
return res.data;
};
export const deleteIndex = async (id: number) => {
const res = await axiosInstance.delete(`/api/admin/schools/${id}`);
return res.data;
};