/
effective_wiki
/
web-client
Обзор
Документация
Войти
/
effective_wiki
/
web-client
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
src/api/datasources.ts
62 строки
2 KB
Andrey Lila
feat: add database (WIP)
17 дек 2025, 13:05
17 дек 2025, 13:05
02cd888
Код
Авторство
О чём код?
// datasources-api.ts import { CreateDataSourceRequest, DataSource, ListDataSourcesRequest, ListDataSourcesResponse, UpdateDataSourceRequest, PagesOfDataSourceResponse, } from "@/types/datasource-types"; import { apiGet, apiPost, apiPut, apiDelete } from "./utils"; /* ============================ * /api/datasources * ============================ */ /** Создание DataSource */ export async function createDataSource(data: CreateDataSourceRequest): Promise<DataSource> { return apiPost<DataSource>("/api/datasources", data); } /* ============================ * /api/datasources/list * ============================ */ /** Получение списка DataSource */ export async function listDataSources( data: ListDataSourcesRequest ): Promise<ListDataSourcesResponse> { return apiPost<ListDataSourcesResponse>("/api/datasources/list", data); } /* ============================ * /api/datasources/{id} * ============================ */ /** Получение DataSource по ID */ export async function getDataSourceById(id: string): Promise<DataSource> { return apiGet<DataSource>(`/api/datasources/${id}`); } /** Обновление DataSource */ export async function updateDataSource( id: string, data: UpdateDataSourceRequest ): Promise<{ message: string }> { return apiPut<{ message: string }>(`/api/datasources/${id}`, data); } /** Удаление DataSource */ export async function deleteDataSource(id: string): Promise<{ message: string }> { return apiDelete(`/api/datasources/${id}`); } /* ============================ * /api/datasources/{id}/pages * ============================ */ /** Получение всех страниц DataSource */ export async function getPagesByDataSource(id: string): Promise<PagesOfDataSourceResponse> { return apiGet<PagesOfDataSourceResponse>(`/api/datasources/${id}/pages`); }