Client - add password reset in users admin

This commit is contained in:
Sam
2022-03-13 17:41:37 +01:00
parent ce680b0d3e
commit 6371fb0622
11 changed files with 108 additions and 13 deletions

View File

@ -104,14 +104,23 @@ export const actions: ActionTree<IUsersState, IRootState> & IUsersActions = {
payload: IAdminUserPayload
): void {
context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)
context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)
const data: Record<string, boolean> = {}
if (payload.admin !== undefined) {
data.admin = payload.admin
}
if (payload.resetPassword !== undefined) {
data.reset_password = payload.resetPassword
}
authApi
.patch(`users/${payload.username}`, { admin: payload.admin })
.patch(`users/${payload.username}`, data)
.then((res) => {
if (res.data.status === 'success') {
context.commit(
USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS,
res.data.data.users[0]
)
context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)
} else {
handleError(context, null)
}

View File

@ -10,6 +10,7 @@ export enum UsersActions {
export enum UsersGetters {
USER = 'USER',
USERS = 'USERS',
USERS_IS_SUCCESS = 'USERS_IS_SUCCESS',
USERS_LOADING = 'USERS_LOADING',
USERS_PAGINATION = 'USERS_PAGINATION',
}
@ -20,4 +21,5 @@ export enum UsersMutations {
UPDATE_USERS = 'UPDATE_USERS',
UPDATE_USERS_LOADING = 'UPDATE_USERS_LOADING',
UPDATE_USERS_PAGINATION = 'UPDATE_USERS_PAGINATION',
UPDATE_IS_SUCCESS = 'UPDATE_IS_SUCCESS',
}

View File

@ -11,6 +11,9 @@ export const getters: GetterTree<IUsersState, IRootState> & IUsersGetters = {
[USERS_STORE.GETTERS.USERS]: (state: IUsersState) => {
return state.users
},
[USERS_STORE.GETTERS.USERS_IS_SUCCESS]: (state: IUsersState) => {
return state.isSuccess
},
[USERS_STORE.GETTERS.USERS_LOADING]: (state: IUsersState) => {
return state.loading
},

View File

@ -38,4 +38,10 @@ export const mutations: MutationTree<IUsersState> & TUsersMutations = {
) {
state.pagination = pagination
},
[USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS](
state: IUsersState,
isSuccess: boolean
) {
state.isSuccess = isSuccess
},
}

View File

@ -6,5 +6,6 @@ export const usersState: IUsersState = {
user: <IUserProfile>{},
users: [],
loading: false,
isSuccess: false,
pagination: <IPagination>{},
}

View File

@ -18,6 +18,7 @@ export interface IUsersState {
user: IUserProfile
users: IUserProfile[]
loading: boolean
isSuccess: boolean
pagination: IPagination
}
@ -49,6 +50,7 @@ export interface IUsersActions {
export interface IUsersGetters {
[USERS_STORE.GETTERS.USER](state: IUsersState): IUserProfile
[USERS_STORE.GETTERS.USERS](state: IUsersState): IUserProfile[]
[USERS_STORE.GETTERS.USERS_IS_SUCCESS](state: IUsersState): boolean
[USERS_STORE.GETTERS.USERS_LOADING](state: IUsersState): boolean
[USERS_STORE.GETTERS.USERS_PAGINATION](state: IUsersState): IPagination
}
@ -65,6 +67,7 @@ export type TUsersMutations<S = IUsersState> = {
state: S,
pagination: IPagination
): void
[USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS](state: S, isSuccess: boolean): void
}
export type TUsersStoreModule<S = IUsersState> = Omit<