mirror of
https://github.com/JetSprow/J-Board-Lite.git
synced 2026-05-01 01:14:10 +05:30
feat: switch panel database to sqlite
This commit is contained in:
@@ -36,8 +36,8 @@ export async function getAnnouncements(
|
||||
...(q
|
||||
? {
|
||||
OR: [
|
||||
{ title: { contains: q, mode: "insensitive" as const } },
|
||||
{ body: { contains: q, mode: "insensitive" as const } },
|
||||
{ title: { contains: q } },
|
||||
{ body: { contains: q } },
|
||||
],
|
||||
}
|
||||
: {}),
|
||||
|
||||
@@ -14,11 +14,11 @@ export async function getAuditLogs(
|
||||
...(q
|
||||
? {
|
||||
OR: [
|
||||
{ action: { contains: q, mode: "insensitive" as const } },
|
||||
{ targetType: { contains: q, mode: "insensitive" as const } },
|
||||
{ targetLabel: { contains: q, mode: "insensitive" as const } },
|
||||
{ actorEmail: { contains: q, mode: "insensitive" as const } },
|
||||
{ message: { contains: q, mode: "insensitive" as const } },
|
||||
{ action: { contains: q } },
|
||||
{ targetType: { contains: q } },
|
||||
{ targetLabel: { contains: q } },
|
||||
{ actorEmail: { contains: q } },
|
||||
{ message: { contains: q } },
|
||||
],
|
||||
}
|
||||
: {}),
|
||||
|
||||
@@ -41,8 +41,8 @@ export async function getNodeServers(
|
||||
...(q
|
||||
? {
|
||||
OR: [
|
||||
{ name: { contains: q, mode: "insensitive" as const } },
|
||||
{ panelUrl: { contains: q, mode: "insensitive" as const } },
|
||||
{ name: { contains: q } },
|
||||
{ panelUrl: { contains: q } },
|
||||
],
|
||||
}
|
||||
: {}),
|
||||
|
||||
@@ -30,10 +30,10 @@ export async function getAdminOrders(
|
||||
...(q
|
||||
? {
|
||||
OR: [
|
||||
{ user: { email: { contains: q, mode: "insensitive" as const } } },
|
||||
{ user: { name: { contains: q, mode: "insensitive" as const } } },
|
||||
{ plan: { name: { contains: q, mode: "insensitive" as const } } },
|
||||
{ tradeNo: { contains: q, mode: "insensitive" as const } },
|
||||
{ user: { email: { contains: q } } },
|
||||
{ user: { name: { contains: q } } },
|
||||
{ plan: { name: { contains: q } } },
|
||||
{ tradeNo: { contains: q } },
|
||||
],
|
||||
}
|
||||
: {}),
|
||||
|
||||
@@ -36,8 +36,8 @@ export async function getAdminPlans(
|
||||
...(q
|
||||
? {
|
||||
OR: [
|
||||
{ name: { contains: q, mode: "insensitive" as const } },
|
||||
{ description: { contains: q, mode: "insensitive" as const } },
|
||||
{ name: { contains: q } },
|
||||
{ description: { contains: q } },
|
||||
],
|
||||
}
|
||||
: {}),
|
||||
|
||||
@@ -26,8 +26,8 @@ export async function getStreamingServices(
|
||||
...(q
|
||||
? {
|
||||
OR: [
|
||||
{ name: { contains: q, mode: "insensitive" as const } },
|
||||
{ description: { contains: q, mode: "insensitive" as const } },
|
||||
{ name: { contains: q } },
|
||||
{ description: { contains: q } },
|
||||
],
|
||||
}
|
||||
: {}),
|
||||
|
||||
@@ -40,8 +40,8 @@ async function searchRelatedIds(q: string) {
|
||||
prisma.user.findMany({
|
||||
where: {
|
||||
OR: [
|
||||
{ email: { contains: q, mode: "insensitive" } },
|
||||
{ name: { contains: q, mode: "insensitive" } },
|
||||
{ email: { contains: q } },
|
||||
{ name: { contains: q } },
|
||||
],
|
||||
},
|
||||
select: { id: true },
|
||||
@@ -51,9 +51,9 @@ async function searchRelatedIds(q: string) {
|
||||
where: {
|
||||
OR: [
|
||||
{ id: q },
|
||||
{ user: { email: { contains: q, mode: "insensitive" } } },
|
||||
{ user: { name: { contains: q, mode: "insensitive" } } },
|
||||
{ plan: { name: { contains: q, mode: "insensitive" } } },
|
||||
{ user: { email: { contains: q } } },
|
||||
{ user: { name: { contains: q } } },
|
||||
{ plan: { name: { contains: q } } },
|
||||
],
|
||||
},
|
||||
select: { id: true },
|
||||
@@ -87,8 +87,8 @@ export async function getSubscriptionRiskEvents(
|
||||
{ id: q },
|
||||
{ userId: q },
|
||||
{ subscriptionId: q },
|
||||
{ ip: { contains: q, mode: "insensitive" as const } },
|
||||
{ message: { contains: q, mode: "insensitive" as const } },
|
||||
{ ip: { contains: q } },
|
||||
{ message: { contains: q } },
|
||||
...(userIds.length > 0 ? [{ userId: { in: userIds } }] : []),
|
||||
...(subscriptionIds.length > 0 ? [{ subscriptionId: { in: subscriptionIds } }] : []),
|
||||
],
|
||||
|
||||
@@ -40,9 +40,9 @@ export async function getAdminSubscriptions(
|
||||
...(q
|
||||
? {
|
||||
OR: [
|
||||
{ user: { email: { contains: q, mode: "insensitive" as const } } },
|
||||
{ user: { name: { contains: q, mode: "insensitive" as const } } },
|
||||
{ plan: { name: { contains: q, mode: "insensitive" as const } } },
|
||||
{ user: { email: { contains: q } } },
|
||||
{ user: { name: { contains: q } } },
|
||||
{ plan: { name: { contains: q } } },
|
||||
],
|
||||
}
|
||||
: {}),
|
||||
|
||||
@@ -49,9 +49,9 @@ export async function getAdminSupportTickets(
|
||||
...(q
|
||||
? {
|
||||
OR: [
|
||||
{ subject: { contains: q, mode: "insensitive" as const } },
|
||||
{ category: { contains: q, mode: "insensitive" as const } },
|
||||
{ user: { email: { contains: q, mode: "insensitive" as const } } },
|
||||
{ subject: { contains: q } },
|
||||
{ category: { contains: q } },
|
||||
{ user: { email: { contains: q } } },
|
||||
],
|
||||
}
|
||||
: {}),
|
||||
|
||||
@@ -32,9 +32,9 @@ export async function getAdminTaskRuns(
|
||||
...(q
|
||||
? {
|
||||
OR: [
|
||||
{ title: { contains: q, mode: "insensitive" as const } },
|
||||
{ errorMessage: { contains: q, mode: "insensitive" as const } },
|
||||
{ targetType: { contains: q, mode: "insensitive" as const } },
|
||||
{ title: { contains: q } },
|
||||
{ errorMessage: { contains: q } },
|
||||
{ targetType: { contains: q } },
|
||||
],
|
||||
}
|
||||
: {}),
|
||||
|
||||
@@ -44,9 +44,9 @@ export async function getTrafficClients(
|
||||
...(q
|
||||
? {
|
||||
OR: [
|
||||
{ user: { email: { contains: q, mode: "insensitive" as const } } },
|
||||
{ inbound: { server: { name: { contains: q, mode: "insensitive" as const } } } },
|
||||
{ email: { contains: q, mode: "insensitive" as const } },
|
||||
{ user: { email: { contains: q } } },
|
||||
{ inbound: { server: { name: { contains: q } } } },
|
||||
{ email: { contains: q } },
|
||||
],
|
||||
}
|
||||
: {}),
|
||||
|
||||
@@ -35,10 +35,10 @@ export async function getAdminUsers(
|
||||
...(q
|
||||
? {
|
||||
OR: [
|
||||
{ email: { contains: q, mode: "insensitive" as const } },
|
||||
{ name: { contains: q, mode: "insensitive" as const } },
|
||||
{ inviteCode: { contains: q, mode: "insensitive" as const } },
|
||||
{ invitedBy: { email: { contains: q, mode: "insensitive" as const } } },
|
||||
{ email: { contains: q } },
|
||||
{ name: { contains: q } },
|
||||
{ inviteCode: { contains: q } },
|
||||
{ invitedBy: { email: { contains: q } } },
|
||||
],
|
||||
}
|
||||
: {}),
|
||||
|
||||
@@ -14,11 +14,11 @@ export async function GET(req: Request) {
|
||||
where: q
|
||||
? {
|
||||
OR: [
|
||||
{ action: { contains: q, mode: "insensitive" } },
|
||||
{ targetType: { contains: q, mode: "insensitive" } },
|
||||
{ targetLabel: { contains: q, mode: "insensitive" } },
|
||||
{ actorEmail: { contains: q, mode: "insensitive" } },
|
||||
{ message: { contains: q, mode: "insensitive" } },
|
||||
{ action: { contains: q } },
|
||||
{ targetType: { contains: q } },
|
||||
{ targetLabel: { contains: q } },
|
||||
{ actorEmail: { contains: q } },
|
||||
{ message: { contains: q } },
|
||||
],
|
||||
}
|
||||
: undefined,
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { PrismaClient, type Prisma } from "@prisma/client";
|
||||
import { PrismaPg } from "@prisma/adapter-pg";
|
||||
import { PrismaBetterSqlite3 } from "@prisma/adapter-better-sqlite3";
|
||||
|
||||
const globalForPrisma = globalThis as unknown as { prisma: PrismaClient };
|
||||
|
||||
function createClient() {
|
||||
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL });
|
||||
const adapter = new PrismaBetterSqlite3({
|
||||
url: process.env.DATABASE_URL || "file:./storage/jboard.db",
|
||||
});
|
||||
return new PrismaClient({ adapter });
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user