diff --git a/frontend/src/api/settings.ts b/frontend/src/api/settings.ts index 43fc126c..d17c9146 100644 --- a/frontend/src/api/settings.ts +++ b/frontend/src/api/settings.ts @@ -4,7 +4,7 @@ export function get() { return fetchJSON(`/api/settings`, {}); } -export async function update(settings: settings) { +export async function update(settings: ISettings) { await fetchURL(`/api/settings`, { method: "PUT", body: JSON.stringify(settings), diff --git a/frontend/src/types/api.d.ts b/frontend/src/types/api.d.ts index 1309594b..02251bcc 100644 --- a/frontend/src/types/api.d.ts +++ b/frontend/src/types/api.d.ts @@ -18,6 +18,7 @@ interface ApiOpts { interface tusSettings { retryCount: number; + chunkSize: number; } type algo = any; diff --git a/frontend/src/types/settings.d.ts b/frontend/src/types/settings.d.ts new file mode 100644 index 00000000..ceed011d --- /dev/null +++ b/frontend/src/types/settings.d.ts @@ -0,0 +1,73 @@ +interface ISettings { + signup: boolean; + createUserDir: boolean; + userHomeBasePath: string; + defaults: Defaults; + rules: any[]; + branding: SettingsBranding; + tus: SettingsTus; + shell: string[]; + commands: SettingsCommand; +} + +interface SettingsDefaults { + scope: string; + locale: string; + viewMode: string; + singleClick: boolean; + sorting: SettingsSorting; + perm: SettingsPerm; + commands: any[]; + hideDotfiles: boolean; + dateFormat: boolean; +} + +interface SettingsSorting { + by: string; + asc: boolean; +} + +interface SettingsPerm { + admin: boolean; + execute: boolean; + create: boolean; + rename: boolean; + modify: boolean; + delete: boolean; + share: boolean; + download: boolean; +} + +interface SettingsBranding { + name: string; + disableExternal: boolean; + disableUsedPercentage: boolean; + files: string; + theme: string; + color: string; +} + +interface SettingsTus { + chunkSize: number; + retryCount: number; +} + +interface SettingsCommand { + after_copy?: string[]; + after_delete?: string[]; + after_rename?: string[]; + after_save?: string[]; + after_upload?: string[]; + before_copy?: string[]; + before_delete?: string[]; + before_rename?: string[]; + before_save?: string[]; + before_upload?: string[]; +} + +interface SettingsUnit { + KB: number; + MB: number; + GB: number; + TB: number; +} diff --git a/frontend/src/types/toast.d.ts b/frontend/src/types/toast.d.ts new file mode 100644 index 00000000..dc11090c --- /dev/null +++ b/frontend/src/types/toast.d.ts @@ -0,0 +1 @@ +type TToast = (message: string) => void; diff --git a/frontend/src/views/settings/Global.vue b/frontend/src/views/settings/Global.vue index 2dfca0d7..c94a6492 100644 --- a/frontend/src/views/settings/Global.vue +++ b/frontend/src/views/settings/Global.vue @@ -1,25 +1,25 @@ - diff --git a/package.json b/package.json index b83cfa2a..9e5610b7 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,4 @@ { "devDependencies": { - "@typescript-eslint/eslint-plugin": "^6.6.0" } }