Added basic RBAC component BOD-232

This commit is contained in:
Patrick Fic
2020-08-10 16:07:30 -07:00
parent 0df61a2701
commit 83c83ac06e
52 changed files with 670 additions and 288 deletions

View File

@@ -23,6 +23,7 @@ import {
sendPasswordResetSuccess,
validatePasswordResetSuccess,
validatePasswordResetFailure,
setAuthlevel,
} from "./user.actions";
import UserActionTypes from "./user.types";
@@ -199,6 +200,26 @@ export function* validatePasswordResetStart({ payload: { password, code } }) {
}
}
export function* onSetShopDetails() {
yield takeLatest(
UserActionTypes.SET_SHOP_DETAILS,
SetAuthLevelFromShopDetails
);
}
export function* SetAuthLevelFromShopDetails({ payload }) {
try {
const userEmail = yield select((state) => state.user.currentUser.email);
const authRecord = payload.associations.filter(
(a) => a.useremail === userEmail
);
yield put(setAuthlevel(authRecord[0] ? authRecord[0].authlevel : 0));
} catch (error) {
yield put(signInFailure(error.message));
}
}
export function* userSagas() {
yield all([
call(onEmailSignInStart),
@@ -210,5 +231,6 @@ export function* userSagas() {
call(onSignInSuccess),
call(onSendPasswordResetStart),
call(onValidatePasswordResetStart),
call(onSetShopDetails),
]);
}