From e79c2ca88ba41c98a402a9a8f21d16b5dc8588a0 Mon Sep 17 00:00:00 2001 From: Gauthier Roebroeck Date: Fri, 23 May 2025 17:41:08 +0800 Subject: [PATCH] user password change form --- next-ui/src/colada/mutations/update-user.ts | 15 ++++++ .../components/dialogs/DialogConfirmEdit.vue | 46 +++++++++++-------- .../forms/user/FormUserChangePassword.vue | 34 ++++++++++---- next-ui/src/pages/server/users.vue | 25 ++++++++-- 4 files changed, 85 insertions(+), 35 deletions(-) diff --git a/next-ui/src/colada/mutations/update-user.ts b/next-ui/src/colada/mutations/update-user.ts index bf3d6c310..389a39c73 100644 --- a/next-ui/src/colada/mutations/update-user.ts +++ b/next-ui/src/colada/mutations/update-user.ts @@ -18,3 +18,18 @@ export const useUpdateUser = defineMutation(() => { }, }) }) + +export const useUpdateUserPassword = defineMutation(() => { + return useMutation({ + mutation: ({userId, newPassword}: { userId: string, newPassword: string }) => + komgaClient.PATCH('/api/v2/users/{id}/password', { + params: {path: {id: userId}}, + body: { + password: newPassword, + }, + }), + onError: (error) => { + console.log('update user password error', error) + }, + }) +}) diff --git a/next-ui/src/components/dialogs/DialogConfirmEdit.vue b/next-ui/src/components/dialogs/DialogConfirmEdit.vue index 2de6f9851..7b0504562 100644 --- a/next-ui/src/components/dialogs/DialogConfirmEdit.vue +++ b/next-ui/src/components/dialogs/DialogConfirmEdit.vue @@ -10,12 +10,15 @@ @save="close()" > @@ -50,6 +52,10 @@ const record = defineModel('record', {required: true}) const formValid = ref(false) +function submitForm(callback: () => void) { + if(formValid.value) callback() +} + export interface Props { title?: string, subtitle?: string, diff --git a/next-ui/src/components/forms/user/FormUserChangePassword.vue b/next-ui/src/components/forms/user/FormUserChangePassword.vue index ca407e59a..5b81178d2 100644 --- a/next-ui/src/components/forms/user/FormUserChangePassword.vue +++ b/next-ui/src/components/forms/user/FormUserChangePassword.vue @@ -1,17 +1,31 @@ diff --git a/next-ui/src/pages/server/users.vue b/next-ui/src/pages/server/users.vue index 3748239a9..f4e1dbbfa 100644 --- a/next-ui/src/pages/server/users.vue +++ b/next-ui/src/pages/server/users.vue @@ -61,12 +61,12 @@