opt admin man

This commit is contained in:
sijinhui 2024-04-29 13:21:06 +08:00
parent 81eb6a25bb
commit de704b2d40
4 changed files with 27 additions and 5 deletions

View File

@ -65,6 +65,7 @@ async function handle(
createdAt: item.createdAt, createdAt: item.createdAt,
updatedAt: item.updatedAt, updatedAt: item.updatedAt,
allowToLogin: item.allowToLogin, allowToLogin: item.allowToLogin,
isAdmin: item.isAdmin,
}; };
}), }),
}); });

View File

@ -188,6 +188,18 @@ function UsersTable({ users, setUsers, loading }: UserInterface) {
dataIndex: "updatedAt", dataIndex: "updatedAt",
render: (value) => getCurrentTime(new Date(value)), render: (value) => getCurrentTime(new Date(value)),
}, },
{
title: "isAdmin",
dataIndex: "isAdmin",
width: 80,
render: (value) => {
return (
<div>
<Checkbox defaultChecked={value} disabled></Checkbox>
</div>
);
},
},
{ {
title: "allowToLogin", title: "allowToLogin",
dataIndex: "allowToLogin", dataIndex: "allowToLogin",

View File

@ -1,13 +1,21 @@
import {ADMIN_LIST, isName} from "@/lib/auth_list"; import {ADMIN_LIST, isName} from "@/lib/auth_list";
import { JWT } from "next-auth/jwt"; 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 userId = session?.sub
const name = session?.email || session?.name const name = session?.email || session?.name
return !!(name && isName(name) && userId); return !!(name && isName(name) && userId);
} }
export async function VerifiedAdminUser(session: JWT |null) { export async function VerifiedAdminUser(session: CUS_JWT |null) {
const name = session?.email || session?.name // console.log('-------', session, session?.user?.isAdmin)
return !!(name && ADMIN_LIST.includes(name)); return !!session?.user?.isAdmin;
} // const name = session?.email || session?.name
// return !!(name && ADMIN_LIST.includes(name));
}

View File

@ -25,6 +25,7 @@ model User {
createdAt DateTime @default(now()) createdAt DateTime @default(now())
updatedAt DateTime @updatedAt updatedAt DateTime @updatedAt
allowToLogin Boolean @default(true) allowToLogin Boolean @default(true)
isAdmin Boolean? @default(false)
accounts Account[] accounts Account[]
sessions Session[] sessions Session[]
// sites Site[] // sites Site[]