feat : creation d'une page d'aministration pour la ajout / modification d'utlisateur

This commit is contained in:
2026-02-09 15:11:15 +01:00
parent 6a892889e3
commit 8d2491ad9e
7 changed files with 33 additions and 21 deletions

View File

@@ -24,10 +24,7 @@
id="user-role"
v-model="form.role"
label="Rôle de l'utilisateur"
:options="[
{ value: ROLE.ROLE_USER, label: 'User' },
{ value: ROLE.ROLE_ADMIN, label: 'Admin' },
]"
:options="ROLE"
/>
<UiTextInput
id="user-password"
@@ -46,7 +43,7 @@
import {computed, reactive, ref, watch} from 'vue'
import {ROLE} from '~/utils/constants'
import {createUser, updateUser, getUser} from '~/services/auth'
import type {UserData} from '~/services/dto/user-data'
import type {UserData, UserFormData} from '~/services/dto/user-data'
const route = useRoute()
const router = useRouter()
@@ -63,10 +60,11 @@ const resolveUserId = (param: unknown) => {
return Number.isFinite(id) ? id : null
}
const form = reactive({
const form = reactive<UserFormData>({
username: '',
role: '',
password: ''
password: '',
role: ''
})
const hydrateFromUser = (user: UserData | null) => {
@@ -76,8 +74,8 @@ const hydrateFromUser = (user: UserData | null) => {
isHydrating.value = true
form.username = user.username ?? ''
const roles = user.roles ?? []
const hasAdmin = roles.includes(ROLE.ROLE_ADMIN)
form.role = hasAdmin ? ROLE.ROLE_ADMIN : ROLE.ROLE_USER
const hasAdmin = roles.includes("ROLE_ADMIN")
form.role = hasAdmin ? "ROLE_ADMIN" : "ROLE_USER"
form.password = ''
isHydrating.value = false
}