change: webui api accept model.

This commit is contained in:
EstrellaXD
2023-08-20 12:20:12 +08:00
parent bffb3dfdc2
commit bb05f40df8
11 changed files with 50 additions and 51 deletions

View File

@@ -1,5 +1,6 @@
import type { BangumiRule, BangumiUpdate } from '#/bangumi';
import type { ApiSuccess } from '#/api';
import type { UniversalResponse } from '#/message';
import type { ApiResponse } from '#/api';
export const apiBangumi = {
/**
@@ -34,7 +35,7 @@ export const apiBangumi = {
async updateRule(bangumiId: number, bangumiRule: BangumiRule) {
const rule = omit(bangumiRule, ['id']);
const { data } = await axios.patch<ApiSuccess>(
const { data } = await axios.patch< ApiResponse >(
`api/v1/bangumi/update/${bangumiId}`,
rule
);
@@ -58,7 +59,7 @@ export const apiBangumi = {
ids = bangumiId;
}
const { data } = await axios.delete<ApiSuccess>(url, {
const { data } = await axios.delete< ApiResponse >(url, {
data: ids,
params: {
file,
@@ -84,7 +85,7 @@ export const apiBangumi = {
ids = bangumiId;
}
const { data } = await axios.delete<ApiSuccess>(url, {
const { data } = await axios.delete< ApiResponse >(url, {
data: ids,
params: {
file,
@@ -98,7 +99,7 @@ export const apiBangumi = {
* @param bangumiId - 需要启用的 bangumi 的 id
*/
async enableRule(bangumiId: number) {
const { data } = await axios.get<ApiSuccess>(
const { data } = await axios.get< UniversalResponse >(
`api/v1/bangumi/enable/${bangumiId}`
);
return data;
@@ -108,9 +109,7 @@ export const apiBangumi = {
* 重置所有 bangumi 数据
*/
async resetAll() {
const { data } = await axios.get<{
message: 'OK';
}>('api/v1/bangumi/resetAll');
const { data } = await axios.get< ApiResponse >('api/v1/bangumi/resetAll');
return data;
},
};

View File

@@ -3,23 +3,8 @@ export const apiCheck = {
* 检测下载器
*/
async downloader() {
const { data } = await axios.get('api/v1/check/downloader');
const { data } = await axios.get<Boolean>('api/v1/check/downloader');
return data;
},
/**
* 检测 RSS
*/
async rss() {
const { data } = await axios.get('api/v1/check/rss');
return data;
},
/**
* 检测所有
*/
async all() {
const { data } = await axios.get('api/v1/check');
return data;
},
};
}

View File

@@ -1,11 +1,12 @@
import type { Config } from '#/config';
import type { UniversalResponse } from '#/message';
export const apiConfig = {
/**
* 获取 config 数据
*/
async getConfig() {
const { data } = await axios.get<Config>('api/v1/getConfig');
const { data } = await axios.get<Config>('api/v1/config/get');
return data;
},
@@ -14,10 +15,10 @@ export const apiConfig = {
* @param newConfig - 需要更新的 config
*/
async updateConfig(newConfig: Config) {
const { data } = await axios.post<{
message: 'Success' | 'Failed to update config';
}>('api/v1/updateConfig', newConfig);
return data.message === 'Success';
const { data } = await axios.patch<UniversalResponse>(
'api/v1/config/update',
newConfig
);
return data;
},
};

View File

@@ -1,4 +1,5 @@
import type { BangumiRule } from '#/bangumi';
import type { UniversalResponse } from '#/message';
interface Status {
status: 'Success';
@@ -30,11 +31,11 @@ export const apiDownload = {
* @param bangumiData - Bangumi 数据
*/
async collection(bangumiData: BangumiRule) {
const { data } = await axios.post<Status>(
const { data } = await axios.post< UniversalResponse >(
'api/v1/download/collection',
bangumiData
);
return data.status === 'Success';
return data;
},
/**
@@ -42,10 +43,10 @@ export const apiDownload = {
* @param bangumiData - Bangumi 数据
*/
async subscribe(bangumiData: BangumiRule) {
const { data } = await axios.post<Status>(
const { data } = await axios.post< UniversalResponse >(
'api/v1/download/subscribe',
bangumiData
);
return data.status === 'Success';
return data;
},
};

View File

@@ -1,3 +1,5 @@
import type { UniversalResponse } from "#/message";
export const apiLog = {
async getLog() {
const { data } = await axios.get<string>('api/v1/log');
@@ -5,7 +7,7 @@ export const apiLog = {
},
async clearLog() {
const { data } = await axios.get<{ status: 'ok' }>('api/v1/log/clear');
return data.status === 'ok';
const { data } = await axios.get<UniversalResponse>('api/v1/log/clear');
return data;
},
};

View File

@@ -1,30 +1,29 @@
interface Success {
status: 'ok';
}
import type { UniversalResponse } from "#/message";
export const apiProgram = {
/**
* 重启
*/
async restart() {
const { data } = await axios.get<Success>('api/v1/restart');
return data.status === 'ok';
const { data } = await axios.get< UniversalResponse >('api/v1/restart');
return data;
},
/**
* 启动
*/
async start() {
const { data } = await axios.get<Success>('api/v1/start');
return data.status === 'ok';
const { data } = await axios.get< UniversalResponse >('api/v1/start');
return data;
},
/**
* 停止
*/
async stop() {
const { data } = await axios.get<Success>('api/v1/stop');
return data.status === 'ok';
const { data } = await axios.get< UniversalResponse >('api/v1/stop');
return data;
},
/**
@@ -42,7 +41,7 @@ export const apiProgram = {
* 终止
*/
async shutdown() {
const { data } = await axios.get<Success>('api/v1/shutdown');
return data.status === 'ok';
const { data } = await axios.get< UniversalResponse >('api/v1/shutdown');
return data;
},
};