feat : creation d'une page d'aministration pour la ajout / modification d'utlisateur
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user