From c69a1babe52981efa4fbb99570f242fb191f3acd Mon Sep 17 00:00:00 2001 From: root Date: Thu, 30 Jul 2026 13:55:30 +0000 Subject: [PATCH] fix: attach admin user avatars --- src/constants/fields.js | 1 + src/features/admin/users/pages/UserFormPage.vue | 8 ++++---- src/features/admin/users/schema/index.js | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/constants/fields.js b/src/constants/fields.js index 5e1b860..2b2241e 100644 --- a/src/constants/fields.js +++ b/src/constants/fields.js @@ -38,6 +38,7 @@ export const fields = { avatar: 'تصویر پروفایل', avatarId: 'تصویر پروفایل', + avatarMediaId: 'تصویر پروفایل', image: 'تصویر', status: 'وضعیت', diff --git a/src/features/admin/users/pages/UserFormPage.vue b/src/features/admin/users/pages/UserFormPage.vue index c86d172..46b1f96 100644 --- a/src/features/admin/users/pages/UserFormPage.vue +++ b/src/features/admin/users/pages/UserFormPage.vue @@ -276,7 +276,7 @@ const form = ref({ provinceId: '', cityId: '', address: '', - avatarId: null, + avatarMediaId: null, password: '', passwordConfirmation: '', }) @@ -322,7 +322,7 @@ watch( provinceId: user?.province?.id || '', cityId: user?.city?.id || '', address: typeof user.address === 'string' ? user.address : user.address?.address || '', - avatarId: user.avatarId ?? user.profile?.avatarId ?? null, + avatarMediaId: null, } initialNationalCode.value = user.nationalCode || '' if (user.avatarUrl) { @@ -340,7 +340,7 @@ const onAvatarCropped = async (file) => { const response = await uploadMutation.mutateAsync(formData) const payload = response?.data ?? response avatar.value = { url: payload?.url, uploadId: payload?.uploadId, ...payload } - form.value.avatarId = payload?.uploadId || payload?.id + form.value.avatarMediaId = payload?.uploadId || payload?.id } catch { /* error handled by global handler */ } @@ -370,7 +370,7 @@ const buildUpdatePayload = () => { nationalCode: form.value.nationalCode, phone: form.value.phone, bio: form.value.bio || '', - avatarId: form.value.avatarId || null, + avatarMediaId: form.value.avatarMediaId || null, } } diff --git a/src/features/admin/users/schema/index.js b/src/features/admin/users/schema/index.js index cc296d4..4cea7e1 100644 --- a/src/features/admin/users/schema/index.js +++ b/src/features/admin/users/schema/index.js @@ -1,4 +1,4 @@ -import { object, string } from 'yup' +import { number, object, string } from 'yup' import { passwordRule } from '@/constants/rules/passwordRule' import { phoneNumberRule } from '@/constants/rules/phoneNumberRule' import { nationalCodeRule } from '@/constants/rules/nationalCodeRule' @@ -20,6 +20,7 @@ const baseUserShape = { provinceId: string().nullable().notRequired(), cityId: string().nullable().notRequired(), address: string().nullable().notRequired(), + avatarMediaId: number().nullable().notRequired(), } export const userAddSchema = object().shape({