diff --git a/app/app/(admin)/components/users-table.modules.scss b/app/app/(admin)/components/users-table.modules.scss new file mode 100644 index 000000000..1820de0d1 --- /dev/null +++ b/app/app/(admin)/components/users-table.modules.scss @@ -0,0 +1,9 @@ + +input { + text-align: left !important +} + + +.ant-input { + text-align: left !important +} \ No newline at end of file diff --git a/app/app/(admin)/components/users-table.tsx b/app/app/(admin)/components/users-table.tsx index 3302c29d9..98d2e5882 100644 --- a/app/app/(admin)/components/users-table.tsx +++ b/app/app/(admin)/components/users-table.tsx @@ -1,5 +1,6 @@ "use client"; +import "./users-table.modules.scss"; import React, { Dispatch, SetStateAction, useEffect, useState } from "react"; import { User } from "@prisma/client"; import { @@ -50,7 +51,7 @@ function UserTableSearchInput({ users, setUsers, setLoading }: UserInterface) { setLoading(true); const fetchUsers = async () => { try { - const url = new URL("/api/admin/users/", window.location.href); + const url = new URL("/api/admin/users", window.location.href); url.searchParams.append("search", searchText); console.log(url, "url"); const response = await fetch(url); @@ -95,7 +96,7 @@ function UsersTable({ users, setUsers, loading }: UserInterface) { const confirmPassword = async (id: string) => { console.log("-----", newPassword, id); try { - fetch(`/api/admin/users/${id}/`, { + fetch(`/api/admin/users/${id}`, { method: "put", headers: { "Content-Type": "application/json", diff --git a/app/app/login.scss b/app/app/login.scss index 3acaa4440..a91bef414 100644 --- a/app/app/login.scss +++ b/app/app/login.scss @@ -9,10 +9,6 @@ margin-right: auto } -input { - text-align: left !important; -} - .signin hr { text-align: center; border: 0; diff --git a/lib/auth.ts b/lib/auth.ts index ba770b26d..279bcceeb 100644 --- a/lib/auth.ts +++ b/lib/auth.ts @@ -4,6 +4,7 @@ import EmailProvider from "next-auth/providers/email"; import CredentialsProvider from "next-auth/providers/credentials"; import {PrismaAdapter} from "@next-auth/prisma-adapter"; import prisma from "@/lib/prisma"; +import { User } from "@prisma/client"; import {ADMIN_LIST, isEmail, isName} from "@/lib/auth_list"; import {createTransport} from "nodemailer"; @@ -140,6 +141,12 @@ export const authOptions: NextAuthOptions = { // console.log('555555555,', session, token) return session; }, + // 过滤不存在的用户,目前没用 + // async signIn({ user, account, profile, email, credentials }) { + // const existingUser = await existUser(user as User); + // console.log('---', user, 'account', account, 'email', email, 'exist', existingUser) + // return !!existingUser; + // } }, }; @@ -233,21 +240,24 @@ export async function VerifiedAdminUser() { // }; // } +async function existUser(user: {[key: string]: string} | User ) { + const conditions = []; + if (user?.name) { + conditions.push({ name: user.name }); + } + if (user?.email) { + conditions.push({ email: user.email }); + } + return conditions.length ? await prisma.user.findFirst({ + where: { + AND: conditions, + }, + }) : null +} export async function insertUser(user: {[key: string]: string}) { try { - const conditions = []; - if (user?.name) { - conditions.push({ name: user.name }); - } - if (user?.email) { - conditions.push({ email: user.email }); - } - const existingUser = conditions.length? await prisma.user.findFirst({ - where: { - AND: conditions, - }, - }) : null; + const existingUser = await existUser(user); // console.log('[LOG]', existingUser, user, '=======') if (!existingUser) { return await prisma.user.create({