Browse Source

create createRedirectToByUserStatus

Shun Miyazawa 3 years ago
parent
commit
9a8b247151

+ 3 - 1
packages/app/src/interfaces/user.ts

@@ -1,3 +1,5 @@
 export type {
-  IUser, IUserGroupRelation, IUserGroup, IUserHasId, IUserGroupHasId, IUserGroupRelationHasId,
+  IUser, IUserGroupRelation, IUserGroup, IUserHasId, IUserGroupHasId, IUserGroupRelationHasId, IUserStatus,
 } from '@growi/core';
+
+export { USER_STATUS } from '@growi/core';

+ 16 - 0
packages/app/src/server/util/createRedirectToByUserStatus.ts

@@ -0,0 +1,16 @@
+import { USER_STATUS } from '~/interfaces/user';
+import type { IUserStatus } from '~/interfaces/user';
+
+// For unauthorized
+export const createRedirectToByUserStatus = (userStatus: IUserStatus): string | null => {
+  switch (userStatus) {
+    case USER_STATUS.REGISTERED:
+      return '/login/error/registered';
+    case USER_STATUS.SUSPENDED:
+      return '/login/error/suspended';
+    case USER_STATUS.INVITED:
+      return '/invited';
+    default:
+      return null;
+  }
+};