install and handle casle & prevent page dashboard & handle register and code verfication & get data in clinics page
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import { AbilityBuilder, createMongoAbility } from "@casl/ability";
|
||||
|
||||
export function defineAbilitiesFor(user) {
|
||||
const { can, cannot, build } = new AbilityBuilder(createMongoAbility);
|
||||
|
||||
if (user?.role === "admin") {
|
||||
can("access", "Dashboard");
|
||||
} else if (user?.role === "manager") {
|
||||
can("access", "Dashboard");
|
||||
} else {
|
||||
can("access", "Dashboard");
|
||||
// cannot("access", "Dashboard");
|
||||
}
|
||||
|
||||
return build();
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
import { cookies } from "next/headers";
|
||||
|
||||
export async function getUser() {
|
||||
const cookieStore = cookies();
|
||||
const raw = cookieStore.get("user");
|
||||
if (!raw) return null;
|
||||
return JSON.parse(raw.value);
|
||||
}
|
||||
Reference in New Issue
Block a user