diff --git a/app/api/admin/users/[[...path]]/route.ts b/app/api/admin/users/[[...path]]/route.ts index b206c595c..95e989ac8 100644 --- a/app/api/admin/users/[[...path]]/route.ts +++ b/app/api/admin/users/[[...path]]/route.ts @@ -65,6 +65,7 @@ async function handle( createdAt: item.createdAt, updatedAt: item.updatedAt, allowToLogin: item.allowToLogin, + isAdmin: item.isAdmin, }; }), }); diff --git a/app/app/(admin)/components/users-table.tsx b/app/app/(admin)/components/users-table.tsx index f6226899e..2756085a5 100644 --- a/app/app/(admin)/components/users-table.tsx +++ b/app/app/(admin)/components/users-table.tsx @@ -188,6 +188,18 @@ function UsersTable({ users, setUsers, loading }: UserInterface) { dataIndex: "updatedAt", render: (value) => getCurrentTime(new Date(value)), }, + { + title: "isAdmin", + dataIndex: "isAdmin", + width: 80, + render: (value) => { + return ( +
+ +
+ ); + }, + }, { title: "allowToLogin", dataIndex: "allowToLogin", diff --git a/lib/auth_client.ts b/lib/auth_client.ts index 9e6b01af9..e129b56f6 100644 --- a/lib/auth_client.ts +++ b/lib/auth_client.ts @@ -1,13 +1,21 @@ import {ADMIN_LIST, isName} from "@/lib/auth_list"; import { JWT } from "next-auth/jwt"; +import { User } from "@prisma/client"; -export async function VerifiedUser(session: JWT |null) { +type CUS_JWT = JWT & { + user: User, +} + + +export async function VerifiedUser(session: CUS_JWT |null) { const userId = session?.sub const name = session?.email || session?.name return !!(name && isName(name) && userId); } -export async function VerifiedAdminUser(session: JWT |null) { - const name = session?.email || session?.name - return !!(name && ADMIN_LIST.includes(name)); -} \ No newline at end of file +export async function VerifiedAdminUser(session: CUS_JWT |null) { + // console.log('-------', session, session?.user?.isAdmin) + return !!session?.user?.isAdmin; + // const name = session?.email || session?.name + // return !!(name && ADMIN_LIST.includes(name)); +} diff --git a/prisma/schema.prisma b/prisma/schema.prisma index a0480f73d..9e5ae9f15 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -25,6 +25,7 @@ model User { createdAt DateTime @default(now()) updatedAt DateTime @updatedAt allowToLogin Boolean @default(true) + isAdmin Boolean? @default(false) accounts Account[] sessions Session[] // sites Site[]