From 55204e2ce1120d06a98f614ff7d589c8051e968e Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Thu, 10 Oct 2024 19:13:18 +0100 Subject: [PATCH] Started implementing the roles permissions --- src/components/High/Layout.tsx | 3 +- src/components/Sidebar.tsx | 13 - src/hooks/useEntities.tsx | 4 +- src/hooks/useEntityPermissions.tsx | 16 ++ src/interfaces/entity.ts | 1 + src/pages/(admin)/Lists/CodeList.tsx | 6 +- src/pages/(admin)/Lists/GroupList.tsx | 6 +- src/pages/(admin)/Lists/UserList.tsx | 72 +++-- src/pages/api/entities/[id]/index.ts | 33 ++- src/pages/api/entities/groups.ts | 11 +- src/pages/api/entities/index.ts | 18 +- src/pages/api/entities/users.ts | 58 ++-- src/pages/api/groups/[id].ts | 21 +- src/pages/api/invites/[id].ts | 21 +- src/pages/api/payments/[id].ts | 15 +- src/pages/api/paypal/approve.ts | 4 + src/pages/api/roles/[id]/index.ts | 79 ++++++ src/pages/api/roles/[id]/users.ts | 40 +++ src/pages/api/roles/index.ts | 50 ++++ src/pages/api/stats/index.ts | 16 +- src/pages/api/stats/update.ts | 22 +- src/pages/api/user.ts | 8 +- src/pages/assignments/[id].tsx | 22 +- src/pages/assignments/creator/[id].tsx | 6 +- src/pages/assignments/creator/index.tsx | 22 +- src/pages/assignments/index.tsx | 22 +- src/pages/classrooms/[id].tsx | 25 +- src/pages/classrooms/create.tsx | 26 +- src/pages/classrooms/index.tsx | 26 +- src/pages/dashboard/admin.tsx | 23 +- src/pages/dashboard/corporate.tsx | 23 +- src/pages/dashboard/developer.tsx | 23 +- src/pages/dashboard/index.tsx | 21 +- src/pages/dashboard/mastercorporate.tsx | 22 +- src/pages/dashboard/student.tsx | 22 +- src/pages/dashboard/teacher.tsx | 22 +- src/pages/entities/[id]/index.tsx | 289 +++++++++++--------- src/pages/entities/[id]/roles/[role].tsx | 326 +++++++++++++++++++++++ src/pages/entities/[id]/roles/index.tsx | 158 +++++++++++ src/pages/entities/[id]/settings.tsx | 232 ---------------- src/pages/entities/index.tsx | 50 ++-- src/pages/exam.tsx | 27 +- src/pages/exercises.tsx | 27 +- src/pages/generation.tsx | 28 +- src/pages/index.tsx | 21 +- src/pages/login.tsx | 25 +- src/pages/payment-record.tsx | 25 +- src/pages/payment.tsx | 27 +- src/pages/permissions/[id].tsx | 37 +-- src/pages/permissions/index.tsx | 27 +- src/pages/profile.tsx | 24 +- src/pages/record.tsx | 24 +- src/pages/settings.tsx | 24 +- src/pages/stats.tsx | 24 +- src/pages/tickets.tsx | 28 +- src/pages/training/[id]/index.tsx | 27 +- src/pages/training/index.tsx | 24 +- src/pages/users/index.tsx | 20 +- src/pages/users/performance.tsx | 14 +- src/pages/v1/index.tsx | 16 +- src/resources/entityPermissions.ts | 39 +++ src/utils/api.ts | 16 ++ src/utils/entities.be.ts | 30 ++- src/utils/index.ts | 8 + src/utils/permissions.ts | 24 +- src/utils/roles.be.ts | 20 ++ src/utils/users.be.ts | 8 +- 67 files changed, 1357 insertions(+), 1134 deletions(-) create mode 100644 src/hooks/useEntityPermissions.tsx create mode 100644 src/pages/api/roles/[id]/index.ts create mode 100644 src/pages/api/roles/[id]/users.ts create mode 100644 src/pages/api/roles/index.ts create mode 100644 src/pages/entities/[id]/roles/[role].tsx create mode 100644 src/pages/entities/[id]/roles/index.tsx delete mode 100644 src/pages/entities/[id]/settings.tsx create mode 100644 src/resources/entityPermissions.ts create mode 100644 src/utils/api.ts diff --git a/src/components/High/Layout.tsx b/src/components/High/Layout.tsx index f148146f..eb72323f 100644 --- a/src/components/High/Layout.tsx +++ b/src/components/High/Layout.tsx @@ -1,7 +1,7 @@ import {User} from "@/interfaces/user"; import clsx from "clsx"; import {useRouter} from "next/router"; -import BottomBar from "../BottomBar"; +import { ToastContainer } from "react-toastify"; import Navbar from "../Navbar"; import Sidebar from "../Sidebar"; @@ -20,6 +20,7 @@ export default function Layout({user, children, className, bgColor="bg-white", n return (
+ )} - {checkAccess(user, ["developer", "admin", "corporate", "mastercorporate", "agent"]) && ( -