CEC-2977 Filter portal access based on auth provider (#231)

* fix/fleet-vehicles-search

* fix/fleet-name-update

* Update hasRole logic, create RoleWrap component

* Add MAGNA and MAGNAGROUP env vars

* Add Permissions

Co-authored-by: jwu-fisker <jwu@fiskerinc.com>
This commit is contained in:
arpanetus
2022-11-09 06:46:33 +06:00
committed by GitHub
parent 94950d583e
commit f2f046968e
76 changed files with 1321 additions and 917 deletions

View File

@@ -1,10 +1,10 @@
import React, { Suspense } from "react";
import { Switch } from "react-router-dom";
import { AuthRoute, TYPES } from "../Routes/AuthRoute";
import { MessageBar } from "../MessageBar";
import { Permissions } from "../../utils/roles";
import { useUserContext } from "../Contexts/UserContext";
import { Roles } from "../../utils/roles";
import { MessageBar } from "../MessageBar";
import { AuthRoute, TYPES } from "../Routes/AuthRoute";
const CANFilterCreate = React.lazy(() => import("../CANFilter/Add"));
const CANFilterUpdate = React.lazy(() => import("../CANFilter/Update"));
@@ -39,7 +39,7 @@ const SuppliersList = React.lazy(() => import("../Suppliers/List"));
const SupplierDetails = React.lazy(() => import("../Suppliers/Details"));
const Datascope = React.lazy(() => import("../Dashboard"));
const SiteRoutes = () => {
const { token, groups } = useUserContext();
const { token, groups, providers } = useUserContext();
return (
<Suspense fallback={"Loading..."}>
<MessageBar />
@@ -57,7 +57,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.CREATE]}
rolesPerGroup={Permissions.FiskerCreate}
providers={providers}
/>
<AuthRoute
path="/filter-update"
@@ -65,7 +66,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.CREATE]}
rolesPerGroup={Permissions.FiskerCreate}
providers={providers}
/>
<AuthRoute
path="/fleets"
@@ -73,7 +75,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.READ, Roles.CREATE]}
rolesPerGroup={Permissions.FiskerRead}
providers={providers}
/>
<AuthRoute
path="/fleet/:name/vehicle-add"
@@ -81,7 +84,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.READ, Roles.CREATE]}
rolesPerGroup={Permissions.FiskerRead}
providers={providers}
/>
<AuthRoute
path="/fleet/:name/filter-add"
@@ -89,7 +93,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.READ, Roles.CREATE]}
rolesPerGroup={Permissions.FiskerRead}
providers={providers}
/>
<AuthRoute
path="/fleet/:name/filter-update"
@@ -97,7 +102,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.READ, Roles.CREATE]}
rolesPerGroup={Permissions.FiskerRead}
providers={providers}
/>
<AuthRoute
path="/fleet/:name"
@@ -105,7 +111,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.READ, Roles.CREATE]}
rolesPerGroup={Permissions.FiskerRead}
providers={providers}
/>
<AuthRoute
path="/fleet-add"
@@ -113,7 +120,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.CREATE]}
rolesPerGroup={Permissions.FiskerRead}
providers={providers}
/>
<AuthRoute
path="/fleet-update"
@@ -121,7 +129,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.CREATE]}
rolesPerGroup={Permissions.FiskerCreate}
providers={providers}
/>
<AuthRoute
path="/home"
@@ -135,7 +144,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.READ, Roles.CREATE]}
rolesPerGroup={Permissions.FiskerMagnaRead}
providers={providers}
/>
<AuthRoute
path="/package-deploy/:manifest_id"
@@ -143,7 +153,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.CREATE]}
rolesPerGroup={Permissions.FiskerMagnaRead}
providers={providers}
/>
<AuthRoute
path="/package-status/:manifest_id"
@@ -151,7 +162,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.READ, Roles.CREATE]}
rolesPerGroup={Permissions.FiskerMagnaRead}
providers={providers}
/>
<AuthRoute
path="/package-update/:manifest_id"
@@ -159,7 +171,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.READ, Roles.CREATE]}
rolesPerGroup={Permissions.FiskerRead}
providers={providers}
/>
<AuthRoute
path="/vehicles"
@@ -167,7 +180,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.READ, Roles.CREATE]}
rolesPerGroup={Permissions.FiskerMagnaRead}
providers={providers}
/>
<AuthRoute
path="/vehicle-add"
@@ -175,7 +189,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.CREATE]}
rolesPerGroup={Permissions.FiskerCreate}
providers={providers}
/>
<AuthRoute
path="/vehicle-status/:vin/:carupdateid"
@@ -183,7 +198,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.READ, Roles.CREATE]}
rolesPerGroup={Permissions.FiskerMagnaRead}
providers={providers}
/>
<AuthRoute
path="/vehicle-status/:vin"
@@ -191,7 +207,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.READ, Roles.CREATE]}
rolesPerGroup={Permissions.FiskerMagnaRead}
providers={providers}
/>
<AuthRoute
path="/vehicle-update"
@@ -199,7 +216,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.CREATE]}
rolesPerGroup={Permissions.FiskerCreate}
providers={providers}
/>
<AuthRoute
path="/tools/certificates/add"
@@ -207,7 +225,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.CERTIFICATES]}
rolesPerGroup={Permissions.FiskerCertificate}
providers={providers}
/>
<AuthRoute
path="/tools/sms/send"
@@ -215,7 +234,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.CREATE]}
rolesPerGroup={Permissions.FiskerCreate}
providers={providers}
/>
<AuthRoute
path="/suppliers"
@@ -223,7 +243,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.APPROVESUPPLIERS]}
rolesPerGroup={Permissions.FiskerSupplierAdmin}
providers={providers}
/>
<AuthRoute
path="/supplier/:email"
@@ -231,7 +252,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.APPROVESUPPLIERS]}
rolesPerGroup={Permissions.FiskerSupplierAdmin}
providers={providers}
/>
<AuthRoute
path="/datascope"
@@ -239,7 +261,8 @@ const SiteRoutes = () => {
type={TYPES.PROTECTED}
token={token}
groups={groups}
roles={[Roles.READ, Roles.CREATE]}
rolesPerGroup={Permissions.FiskerRead}
providers={providers}
/>
<PageNotFound />
</Switch>