+
diff --git a/src/store/bangumi.ts b/src/store/bangumi.ts
index edd960bc..ce512411 100644
--- a/src/store/bangumi.ts
+++ b/src/store/bangumi.ts
@@ -1,12 +1,41 @@
-import type { BangumiItem } from '#/bangumi';
+import type { BangumiRule } from '#/bangumi';
export const useBangumiStore = defineStore('bangumi', () => {
- const data = ref
();
+ const message = useMessage();
+ const data = ref();
const getAll = async () => {
const res = await apiBangumi.getAll();
data.value = res;
};
- return { data, getAll };
+ const updateRule = async (newRule: BangumiRule) => {
+ try {
+ const res = await apiBangumi.updateRule(newRule);
+ if (res.status === 'success') {
+ message.success('Update Success!');
+ return true;
+ } else {
+ message.error('Update Failed!');
+ }
+ } catch (error) {
+ message.error('Operation Failed!');
+ }
+ };
+
+ const removeRule = async (bangumiId: number, deleteFile = false) => {
+ try {
+ const res = await apiBangumi.deleteRule(bangumiId, deleteFile);
+ if (res.status === 'success') {
+ message.success(`${res.msg} Success!`);
+ return true;
+ } else {
+ message.error('Delete Failed!');
+ }
+ } catch (error) {
+ message.error('Operation Failed!');
+ }
+ };
+
+ return { data, getAll, updateRule, removeRule };
});
diff --git a/src/store/config.ts b/src/store/config.ts
index b3c417f3..e60ffbe3 100644
--- a/src/store/config.ts
+++ b/src/store/config.ts
@@ -59,9 +59,9 @@ export const useConfigStore = defineStore('config', () => {
const setConfig = async () => {
const status = await apiConfig.updateConfig(config.value);
if (status) {
- message.success('apply success!');
+ message.success('Apply Success!');
} else {
- message.error('apply fail!');
+ message.error('Apply Failed!');
}
};
diff --git a/src/store/program.ts b/src/store/program.ts
index ccd907de..0a03b6c9 100644
--- a/src/store/program.ts
+++ b/src/store/program.ts
@@ -24,7 +24,7 @@ export const useProgramStore = defineStore('program', () => {
if (success) {
message.success(`${handle} Success!`);
} else {
- message.error(`${handle} Fail!`);
+ message.error(`${handle} Failed!`);
}
}
diff --git a/types/bangumi.ts b/types/bangumi.ts
index a0f2a79c..eeed433d 100644
--- a/types/bangumi.ts
+++ b/types/bangumi.ts
@@ -1,18 +1,21 @@
-export interface BangumiItem {
+export interface BangumiRule {
+ added: boolean;
+ deleted: boolean;
+ dpi: string;
+ eps_collect: boolean;
+ filter: string[];
+ group_name: string;
id: number;
official_title: string;
- year: string | null;
- title_raw: string;
+ offset: number;
+ poster_link: string | null;
+ rss_link: string[];
+ rule_name: string;
+ save_path: string;
season: number;
season_raw: string;
- group_name: string;
- dpi: string;
- source: string;
+ source: string | null;
subtitle: string;
- eps_collect: boolean;
- offset: number;
- filter: string[];
- rss_link: string[];
- poster_link: string;
- added: boolean;
+ title_raw: string;
+ year: string | null;
}
diff --git a/types/components.ts b/types/components.ts
index d0e89ea1..3965f370 100644
--- a/types/components.ts
+++ b/types/components.ts
@@ -15,5 +15,13 @@ export interface AbSettingProps {
export type SettingItem = AbSettingProps & {
configKey: keyof T;
- data?: any;
};
+
+export interface AbEditRule {
+ id: number;
+ official_title: string;
+ year: string;
+ season: number;
+ offset: number;
+ filter: string[];
+}
diff --git a/types/error.ts b/types/error.ts
index 324609ad..405071df 100644
--- a/types/error.ts
+++ b/types/error.ts
@@ -4,7 +4,7 @@ export type LoginError = 'Password error' | 'User not found';
export type ApiErrorMessage = AuthError | LoginError;
-export type ApiError = {
+export interface ApiError {
status: 401 | 404 | 422;
detail: ApiErrorMessage;
-};
+}