mirror of
https://github.com/JetSprow/J-Board-Lite.git
synced 2026-05-01 01:14:10 +05:30
fix: require email verification before activation
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import type { Prisma, SubscriptionRiskEvent } from "@prisma/client";
|
||||
import type { Prisma, SubscriptionRiskEvent, UserStatus } from "@prisma/client";
|
||||
import { prisma } from "@/lib/prisma";
|
||||
import { parsePage } from "@/lib/utils";
|
||||
import {
|
||||
@@ -11,7 +11,7 @@ type RiskUser = {
|
||||
id: string;
|
||||
email: string;
|
||||
name: string | null;
|
||||
status: "ACTIVE" | "DISABLED" | "BANNED";
|
||||
status: UserStatus;
|
||||
};
|
||||
|
||||
type RiskSubscription = {
|
||||
|
||||
@@ -44,6 +44,7 @@ export default async function UsersPage({
|
||||
options: [
|
||||
{ label: "全部状态", value: "" },
|
||||
{ label: "正常", value: "ACTIVE" },
|
||||
{ label: "待邮箱验证", value: "PENDING_EMAIL" },
|
||||
{ label: "禁用", value: "DISABLED" },
|
||||
{ label: "封禁", value: "BANNED" },
|
||||
],
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Prisma } from "@prisma/client";
|
||||
import type { Prisma, UserStatus } from "@prisma/client";
|
||||
import { prisma } from "@/lib/prisma";
|
||||
import { parsePage } from "@/lib/utils";
|
||||
|
||||
@@ -31,7 +31,7 @@ export async function getAdminUsers(
|
||||
|
||||
const where = {
|
||||
...(role ? { role: role as "ADMIN" | "USER" } : {}),
|
||||
...(status ? { status: status as "ACTIVE" | "DISABLED" | "BANNED" } : {}),
|
||||
...(status ? { status: status as UserStatus } : {}),
|
||||
...(q
|
||||
? {
|
||||
OR: [
|
||||
|
||||
@@ -90,6 +90,7 @@ export async function POST(req: Request) {
|
||||
data: {
|
||||
email,
|
||||
emailVerifiedAt: config.emailVerificationRequired ? null : new Date(),
|
||||
status: config.emailVerificationRequired ? "PENDING_EMAIL" : "ACTIVE",
|
||||
password: hashedPassword,
|
||||
name: name || null,
|
||||
invitedById: inviterId,
|
||||
|
||||
Reference in New Issue
Block a user