fix: Remove suspended user-related route blocking
This commit is contained in:
@@ -54,7 +54,9 @@ const routes: RouteNode[] = [
|
||||
if (!gr.ok) {
|
||||
return gr;
|
||||
}
|
||||
return guard.notForbidden();
|
||||
return {
|
||||
ok: true,
|
||||
};
|
||||
},
|
||||
children: [
|
||||
// question and answer
|
||||
@@ -309,7 +311,7 @@ const routes: RouteNode[] = [
|
||||
path: '/users/account-suspended',
|
||||
page: 'pages/Users/Suspended',
|
||||
guard: () => {
|
||||
return guard.forbidden();
|
||||
return guard.notLogged();
|
||||
},
|
||||
},
|
||||
{
|
||||
|
||||
+2
-30
@@ -47,7 +47,6 @@ type TLoginState = {
|
||||
isLogged: boolean;
|
||||
isNotActivated: boolean;
|
||||
isActivated: boolean;
|
||||
isForbidden: boolean;
|
||||
isNormal: boolean;
|
||||
isAdmin: boolean;
|
||||
isModerator: boolean;
|
||||
@@ -72,7 +71,6 @@ export const deriveLoginState = (): TLoginState => {
|
||||
isLogged: false,
|
||||
isNotActivated: false,
|
||||
isActivated: false,
|
||||
isForbidden: false,
|
||||
isNormal: false,
|
||||
isAdmin: false,
|
||||
isModerator: false,
|
||||
@@ -87,10 +85,8 @@ export const deriveLoginState = (): TLoginState => {
|
||||
if (ls.isLogged && user.mail_status === 2) {
|
||||
ls.isNotActivated = true;
|
||||
}
|
||||
if (ls.isLogged && user.status === 'suspended') {
|
||||
ls.isForbidden = true;
|
||||
}
|
||||
if (ls.isActivated && !ls.isForbidden) {
|
||||
|
||||
if (ls.isActivated) {
|
||||
ls.isNormal = true;
|
||||
}
|
||||
if (ls.isNormal && user.role_id === 2) {
|
||||
@@ -204,26 +200,6 @@ export const activated = () => {
|
||||
return gr;
|
||||
};
|
||||
|
||||
export const forbidden = () => {
|
||||
const gr: TGuardResult = { ok: true };
|
||||
const us = deriveLoginState();
|
||||
if (gr.ok && !us.isForbidden) {
|
||||
gr.ok = false;
|
||||
gr.redirect = RouteAlias.home;
|
||||
}
|
||||
return gr;
|
||||
};
|
||||
|
||||
export const notForbidden = () => {
|
||||
const gr: TGuardResult = { ok: true };
|
||||
const us = deriveLoginState();
|
||||
if (us.isForbidden) {
|
||||
gr.ok = false;
|
||||
gr.redirect = RouteAlias.suspended;
|
||||
}
|
||||
return gr;
|
||||
};
|
||||
|
||||
export const admin = () => {
|
||||
const gr = logged();
|
||||
const us = deriveLoginState();
|
||||
@@ -322,10 +298,6 @@ export const tryNormalLogged = (canNavigate: boolean = false) => {
|
||||
}
|
||||
if (us.isNotActivated) {
|
||||
floppyNavigation.navigate(RouteAlias.inactive);
|
||||
} else if (us.isForbidden) {
|
||||
floppyNavigation.navigate(RouteAlias.suspended, {
|
||||
handler: 'replace',
|
||||
});
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user