feat: new api

This commit is contained in:
Rewrite0
2023-08-13 17:18:23 +08:00
parent 999a4547c5
commit 5b30aaa4ea
4 changed files with 74 additions and 22 deletions

View File

@@ -47,15 +47,23 @@ export const apiBangumi = {
* @param file - 是否同时删除关联文件。
* @returns axios 请求返回的数据
*/
async deleteRule(bangumiId: number, file: boolean) {
const { data } = await axios.delete<ApiSuccess>(
`api/v1/bangumi/delete/${bangumiId}`,
{
params: {
file,
},
}
);
async deleteRule(bangumiId: number | number[], file: boolean) {
let url = 'api/v1/bangumi/delete';
let ids: undefined | number[];
if (typeof bangumiId === 'number') {
url = `${url}/${bangumiId}`;
} else {
url = `${url}/many`;
ids = bangumiId;
}
const { data } = await axios.delete<ApiSuccess>(url, {
data: ids,
params: {
file,
},
});
return data;
},
@@ -65,15 +73,23 @@ export const apiBangumi = {
* @param file - 是否同时删除关联文件。
* @returns axios 请求返回的数据
*/
async disableRule(bangumiId: number, file: boolean) {
const { data } = await axios.delete<ApiSuccess>(
`api/v1/bangumi/disable/${bangumiId}`,
{
params: {
file,
},
}
);
async disableRule(bangumiId: number | number[], file: boolean) {
let url = 'api/v1/bangumi/disable';
let ids: undefined | number[];
if (typeof bangumiId === 'number') {
url = `${url}/${bangumiId}`;
} else {
url = `${url}/many`;
ids = bangumiId;
}
const { data } = await axios.delete<ApiSuccess>(url, {
data: ids,
params: {
file,
},
});
return data;
},

View File

@@ -6,8 +6,33 @@ export const apiRSS = {
return data!;
},
async add() {
const { data } = await axios.post<RSS>('api/v1/rss/add', {});
async add(rss: RSS) {
const { data } = await axios.post('api/v1/rss/add', rss);
return data!;
},
async delete(rss_id: number) {
const { data } = await axios.delete(`api/v1/rss/delete/${rss_id}`);
return data!;
},
async update(rss_id: number, rss: RSS) {
const { data } = await axios.patch(`api/v1/rss/update/${rss_id}`, rss);
return data!;
},
async refreshAll() {
const { data } = await axios.get('api/v1/rss/refresh/all');
return data!;
},
async refresh(rss_id: number) {
const { data } = await axios.get(`api/v1/rss/refresh/${rss_id}`);
return data!;
},
async getTorrent(rss_id: number) {
const { data } = await axios.get(`api/v1/rss/torrent/${rss_id}`);
return data!;
},
};

11
webui/src/api/search.ts Normal file
View File

@@ -0,0 +1,11 @@
export const apiSearch = {
async get(keyword: string, site = 'mikan') {
const { data } = await axios.get('api/v1/search', {
params: {
site,
keyword,
},
});
return data!;
},
};

View File

@@ -1,8 +1,8 @@
export interface RSS {
id: number;
item_path: string;
name: string;
url: string;
combine: boolean;
aggregate: boolean;
parser: string;
enabled: boolean;
}