From 05d0929f7a62540a292f2635969531d9a994669e Mon Sep 17 00:00:00 2001 From: arifal Date: Tue, 28 Apr 2026 23:10:21 +0700 Subject: [PATCH] feat: secure KYC storage, Google OAuth, terms gating --- .gitignore | 3 + app/accept-terms/form.tsx | 89 + app/accept-terms/page.tsx | 27 + app/admin/verifications/page.tsx | 19 +- app/api/files/kyc/[id]/[kind]/route.ts | 63 + app/api/upload/kyc/route.ts | 54 + app/generated/prisma/browser.ts | 6 + app/generated/prisma/client.ts | 6 + app/generated/prisma/commonInputTypes.ts | 54 + app/generated/prisma/internal/class.ts | 18 +- .../prisma/internal/prismaNamespace.ts | 131 +- .../prisma/internal/prismaNamespaceBrowser.ts | 26 +- app/generated/prisma/models.ts | 1 + app/generated/prisma/models/Account.ts | 1649 +++++++++++++++++ .../prisma/models/OrganizerVerification.ts | 286 +-- app/generated/prisma/models/User.ts | 235 ++- app/login/page.tsx | 9 + app/register/page.tsx | 9 + app/verify/page.tsx | 16 +- components/shared/google-sign-in-button.tsx | 46 + docker-compose.yml | 2 - env.example | 14 +- features/auth/actions.ts | 16 + features/organizer/actions.ts | 4 +- features/organizer/components/review-card.tsx | 29 +- features/organizer/components/verify-form.tsx | 149 +- features/organizer/schemas.ts | 12 +- lib/auth.ts | 28 +- lib/crypto.ts | 55 + lib/secure-storage.ts | 102 + package-lock.json | 11 + package.json | 1 + .../20260428142829_kyc_encrypt/migration.sql | 27 + .../20260428154650_google_oauth/migration.sql | 26 + prisma/schema.prisma | 39 +- prisma/seed.ts | 17 +- proxy.ts | 37 + server/repositories/organizer.repo.ts | 4 +- server/repositories/user.repo.ts | 7 + server/services/organizer.service.ts | 20 +- types/next-auth.d.ts | 2 + 41 files changed, 3087 insertions(+), 262 deletions(-) create mode 100644 app/accept-terms/form.tsx create mode 100644 app/accept-terms/page.tsx create mode 100644 app/api/files/kyc/[id]/[kind]/route.ts create mode 100644 app/api/upload/kyc/route.ts create mode 100644 app/generated/prisma/models/Account.ts create mode 100644 components/shared/google-sign-in-button.tsx create mode 100644 lib/crypto.ts create mode 100644 lib/secure-storage.ts create mode 100644 prisma/migrations/20260428142829_kyc_encrypt/migration.sql create mode 100644 prisma/migrations/20260428154650_google_oauth/migration.sql create mode 100644 proxy.ts diff --git a/.gitignore b/.gitignore index 5ef6a52..2d9cbc4 100644 --- a/.gitignore +++ b/.gitignore @@ -33,6 +33,9 @@ yarn-error.log* # env files (can opt-in for committing if needed) .env* +# private uploads (KYC: KTP / selfie). Never serve directly. +/uploads/ + # vercel .vercel diff --git a/app/accept-terms/form.tsx b/app/accept-terms/form.tsx new file mode 100644 index 0000000..ba65342 --- /dev/null +++ b/app/accept-terms/form.tsx @@ -0,0 +1,89 @@ +"use client"; + +import { useState } from "react"; +import Link from "next/link"; +import { useRouter } from "next/navigation"; +import { signOut, useSession } from "next-auth/react"; +import { acceptTermsAction } from "@/features/auth/actions"; + +export function AcceptTermsForm() { + const router = useRouter(); + const { update } = useSession(); + const [checked, setChecked] = useState(false); + const [error, setError] = useState(""); + const [loading, setLoading] = useState(false); + + async function handleAccept() { + setError(""); + setLoading(true); + const result = await acceptTermsAction(); + if (result.error) { + setError(result.error); + setLoading(false); + return; + } + // Refresh JWT supaya middleware lihat acceptedTermsAndPrivacy=true + await update(); + router.replace("/"); + router.refresh(); + } + + return ( +
+ {error && ( +
+ {error} +
+ )} + + + +
+ + +
+
+ ); +} diff --git a/app/accept-terms/page.tsx b/app/accept-terms/page.tsx new file mode 100644 index 0000000..33a5b56 --- /dev/null +++ b/app/accept-terms/page.tsx @@ -0,0 +1,27 @@ +import { redirect } from "next/navigation"; +import { getServerSession } from "next-auth"; +import { authOptions } from "@/lib/auth"; +import { userRepo } from "@/server/repositories/user.repo"; +import { AcceptTermsForm } from "./form"; + +export default async function AcceptTermsPage() { + const session = await getServerSession(authOptions); + if (!session?.user) redirect("/login?callbackUrl=/accept-terms"); + + // Source of truth = DB (token bisa stale). + const user = await userRepo.findById(session.user.id); + if (user?.acceptedTermsAndPrivacy) redirect("/"); + + return ( +
+

+ Satu langkah lagi +

+

+ Sebelum melanjutkan, mohon baca dan setujui Syarat & Ketentuan dan + Kebijakan Privasi SeTrip. +

+ +
+ ); +} diff --git a/app/admin/verifications/page.tsx b/app/admin/verifications/page.tsx index 7bf57fa..e10d8db 100644 --- a/app/admin/verifications/page.tsx +++ b/app/admin/verifications/page.tsx @@ -3,6 +3,7 @@ import { getServerSession } from "next-auth"; import { authOptions } from "@/lib/auth"; import { isAdminEmail } from "@/lib/admin"; import { organizerRepo } from "@/server/repositories/organizer.repo"; +import { organizerService } from "@/server/services/organizer.service"; import { ReviewCard } from "@/features/organizer/components/review-card"; type Tab = "PENDING" | "APPROVED" | "REJECTED"; @@ -28,7 +29,23 @@ export default async function AdminVerificationsPage({ searchParams }: PageProps const tab: Tab = params.tab === "APPROVED" || params.tab === "REJECTED" ? params.tab : "PENDING"; - const items = await organizerRepo.listByStatus(tab); + const rows = await organizerRepo.listByStatus(tab); + const items = rows.map((v) => ({ + id: v.id, + fullName: v.fullName, + nik: organizerService.decryptNik(v.nikEncrypted), + birthDate: v.birthDate, + address: v.address, + bankName: v.bankName, + bankAccountNumber: v.bankAccountNumber, + bankAccountName: v.bankAccountName, + status: v.status, + rejectionReason: v.rejectionReason, + reviewedAt: v.reviewedAt, + createdAt: v.createdAt, + user: v.user, + reviewedBy: v.reviewedBy, + })); const tabs: { key: Tab; label: string }[] = [ { key: "PENDING", label: "Pending" }, diff --git a/app/api/files/kyc/[id]/[kind]/route.ts b/app/api/files/kyc/[id]/[kind]/route.ts new file mode 100644 index 0000000..b83e6f3 --- /dev/null +++ b/app/api/files/kyc/[id]/[kind]/route.ts @@ -0,0 +1,63 @@ +import { NextRequest, NextResponse } from "next/server"; +import { getServerSession } from "next-auth"; +import { authOptions } from "@/lib/auth"; +import { isAdminEmail } from "@/lib/admin"; +import { organizerRepo } from "@/server/repositories/organizer.repo"; +import { + isKycKind, + mimeFromKey, + readDecrypted, +} from "@/lib/secure-storage"; + +export const runtime = "nodejs"; +export const dynamic = "force-dynamic"; + +interface RouteCtx { + params: Promise<{ id: string; kind: string }>; +} + +export async function GET(_req: NextRequest, ctx: RouteCtx) { + const session = await getServerSession(authOptions); + if (!session?.user) { + return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); + } + + const { id, kind } = await ctx.params; + if (!isKycKind(kind)) { + return NextResponse.json({ error: "Kind tidak valid" }, { status: 400 }); + } + + const verification = await organizerRepo.findById(id); + if (!verification) { + return NextResponse.json({ error: "Tidak ditemukan" }, { status: 404 }); + } + + const isOwner = verification.userId === session.user.id; + const isAdmin = isAdminEmail(session.user.email); + if (!isOwner && !isAdmin) { + return NextResponse.json({ error: "Forbidden" }, { status: 403 }); + } + + const key = kind === "ktp" ? verification.ktpImageKey : verification.selfieKey; + if (!key) { + return NextResponse.json({ error: "File belum diunggah" }, { status: 404 }); + } + + let plain: Buffer; + try { + plain = await readDecrypted(kind, key); + } catch { + return NextResponse.json({ error: "File tidak dapat dibuka" }, { status: 500 }); + } + + return new NextResponse(new Uint8Array(plain), { + status: 200, + headers: { + "Content-Type": mimeFromKey(key), + "Content-Length": String(plain.length), + "Cache-Control": "private, no-store", + "X-Content-Type-Options": "nosniff", + "Content-Disposition": `inline; filename="${kind}-${id}"`, + }, + }); +} diff --git a/app/api/upload/kyc/route.ts b/app/api/upload/kyc/route.ts new file mode 100644 index 0000000..30482b2 --- /dev/null +++ b/app/api/upload/kyc/route.ts @@ -0,0 +1,54 @@ +import { NextRequest, NextResponse } from "next/server"; +import { getServerSession } from "next-auth"; +import { authOptions } from "@/lib/auth"; +import { + ALLOWED_KYC_MIME, + MAX_KYC_FILE_BYTES, + isKycKind, + saveEncrypted, +} from "@/lib/secure-storage"; + +export const runtime = "nodejs"; +export const dynamic = "force-dynamic"; + +export async function POST(req: NextRequest) { + const session = await getServerSession(authOptions); + if (!session?.user) { + return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); + } + + let form: FormData; + try { + form = await req.formData(); + } catch { + return NextResponse.json({ error: "Body bukan multipart/form-data" }, { status: 400 }); + } + + const kind = String(form.get("kind") ?? ""); + const file = form.get("file"); + + if (!isKycKind(kind)) { + return NextResponse.json({ error: "kind harus 'ktp' atau 'selfie'" }, { status: 400 }); + } + if (!(file instanceof File)) { + return NextResponse.json({ error: "File wajib diisi" }, { status: 400 }); + } + if (!ALLOWED_KYC_MIME.has(file.type)) { + return NextResponse.json( + { error: "Hanya menerima JPG, PNG, atau WebP" }, + { status: 415 }, + ); + } + if (file.size > MAX_KYC_FILE_BYTES) { + return NextResponse.json({ error: "File maksimal 5MB" }, { status: 413 }); + } + + const buf = Buffer.from(await file.arrayBuffer()); + const meta = await saveEncrypted(kind, buf, file.type); + + return NextResponse.json({ + key: meta.key, + mime: meta.mime, + size: meta.size, + }); +} diff --git a/app/generated/prisma/browser.ts b/app/generated/prisma/browser.ts index 36551fd..bb40f02 100644 --- a/app/generated/prisma/browser.ts +++ b/app/generated/prisma/browser.ts @@ -22,6 +22,12 @@ export * from './enums'; * */ export type User = Prisma.UserModel +/** + * Model Account + * Tabel link akun OAuth pihak ketiga (Google, dst). Diisi oleh PrismaAdapter NextAuth. + * Session tidak pakai DB — kita pakai JWT, jadi Session/VerificationToken tidak perlu. + */ +export type Account = Prisma.AccountModel /** * Model OrganizerVerification * diff --git a/app/generated/prisma/client.ts b/app/generated/prisma/client.ts index 5e1973a..0a0dfa6 100644 --- a/app/generated/prisma/client.ts +++ b/app/generated/prisma/client.ts @@ -46,6 +46,12 @@ export { Prisma } * */ export type User = Prisma.UserModel +/** + * Model Account + * Tabel link akun OAuth pihak ketiga (Google, dst). Diisi oleh PrismaAdapter NextAuth. + * Session tidak pakai DB — kita pakai JWT, jadi Session/VerificationToken tidak perlu. + */ +export type Account = Prisma.AccountModel /** * Model OrganizerVerification * diff --git a/app/generated/prisma/commonInputTypes.ts b/app/generated/prisma/commonInputTypes.ts index acfd982..d1c1d4d 100644 --- a/app/generated/prisma/commonInputTypes.ts +++ b/app/generated/prisma/commonInputTypes.ts @@ -148,6 +148,33 @@ export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { _max?: Prisma.NestedDateTimeFilter<$PrismaModel> } +export type IntNullableFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntNullableFilter<$PrismaModel> | number | null +} + +export type IntNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _avg?: Prisma.NestedFloatNullableFilter<$PrismaModel> + _sum?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedIntNullableFilter<$PrismaModel> + _max?: Prisma.NestedIntNullableFilter<$PrismaModel> +} + export type EnumVerificationStatusFilter<$PrismaModel = never> = { equals?: $Enums.VerificationStatus | Prisma.EnumVerificationStatusFieldRefInput<$PrismaModel> in?: $Enums.VerificationStatus[] | Prisma.ListEnumVerificationStatusFieldRefInput<$PrismaModel> @@ -373,6 +400,33 @@ export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { _max?: Prisma.NestedDateTimeFilter<$PrismaModel> } +export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _avg?: Prisma.NestedFloatNullableFilter<$PrismaModel> + _sum?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedIntNullableFilter<$PrismaModel> + _max?: Prisma.NestedIntNullableFilter<$PrismaModel> +} + +export type NestedFloatNullableFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatNullableFilter<$PrismaModel> | number | null +} + export type NestedEnumVerificationStatusFilter<$PrismaModel = never> = { equals?: $Enums.VerificationStatus | Prisma.EnumVerificationStatusFieldRefInput<$PrismaModel> in?: $Enums.VerificationStatus[] | Prisma.ListEnumVerificationStatusFieldRefInput<$PrismaModel> diff --git a/app/generated/prisma/internal/class.ts b/app/generated/prisma/internal/class.ts index e010416..4408a8f 100644 --- a/app/generated/prisma/internal/class.ts +++ b/app/generated/prisma/internal/class.ts @@ -20,7 +20,7 @@ const config: runtime.GetPrismaClientConfig = { "clientVersion": "7.7.0", "engineVersion": "75cbdc1eb7150937890ad5465d861175c6624711", "activeProvider": "postgresql", - "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../app/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel User {\n id String @id @default(cuid())\n name String\n email String @unique\n password String\n image String?\n /// Apakah user telah menyetujui Syarat & Ketentuan dan Kebijakan Privasi\n acceptedTermsAndPrivacy Boolean @default(false)\n /// Waktu user menyetujui Syarat & Ketentuan dan Kebijakan Privasi\n acceptedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n trips Trip[]\n participations TripParticipant[]\n tripReviews TripReview[]\n\n organizerVerification OrganizerVerification? @relation(\"OrganizerVerificationOwner\")\n reviewedVerifications OrganizerVerification[] @relation(\"OrganizerVerificationReviewer\")\n}\n\nmodel OrganizerVerification {\n id String @id @default(cuid())\n userId String @unique\n user User @relation(\"OrganizerVerificationOwner\", fields: [userId], references: [id], onDelete: Cascade)\n\n /// Nama lengkap sesuai KTP\n fullName String\n /// Nomor Induk Kependudukan (PII — perlakukan sensitif)\n nik String @unique\n birthDate DateTime\n address String\n\n /// URL foto KTP (untuk MVP pakai hosting; pindah ke storage privat untuk produksi)\n ktpImageUrl String\n /// URL selfie memegang KTP\n selfieUrl String\n\n bankName String\n bankAccountNumber String\n bankAccountName String\n\n status VerificationStatus @default(PENDING)\n rejectionReason String?\n reviewedAt DateTime?\n reviewedById String?\n reviewedBy User? @relation(\"OrganizerVerificationReviewer\", fields: [reviewedById], references: [id])\n verifiedAt DateTime?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum VerificationStatus {\n PENDING\n APPROVED\n REJECTED\n}\n\nmodel Trip {\n id String @id @default(cuid())\n title String\n description String?\n mountain String\n location String\n /// Titik kumpul / meeting point (teks bebas)\n meetingPoint String?\n /// Itinerary hari per hari (teks bebas, bullet OK)\n itinerary String?\n /// Yang termasuk harga (teks bebas)\n whatsIncluded String?\n /// Yang tidak termasuk (teks bebas)\n whatsExcluded String?\n date DateTime\n endDate DateTime?\n maxParticipants Int\n price Int\n status TripStatus @default(OPEN)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n organizerId String\n organizer User @relation(fields: [organizerId], references: [id])\n\n participants TripParticipant[]\n images TripImage[]\n reviews TripReview[]\n}\n\nmodel TripReview {\n id String @id @default(cuid())\n rating Int\n comment String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n tripId String\n trip Trip @relation(fields: [tripId], references: [id], onDelete: Cascade)\n\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@unique([tripId, userId])\n}\n\nmodel TripImage {\n id String @id @default(cuid())\n url String\n caption String?\n order Int @default(0)\n\n tripId String\n trip Trip @relation(fields: [tripId], references: [id], onDelete: Cascade)\n}\n\nmodel TripParticipant {\n id String @id @default(cuid())\n status ParticipantStatus @default(PENDING)\n createdAt DateTime @default(now())\n /// Peserta menekan \"Saya sudah bayar\" (pembayaran manual)\n markedPaidAt DateTime?\n /// Organizer mengonfirmasi uang sudah masuk\n paymentConfirmedAt DateTime?\n\n tripId String\n trip Trip @relation(fields: [tripId], references: [id])\n\n userId String\n user User @relation(fields: [userId], references: [id])\n\n @@unique([tripId, userId])\n}\n\nenum TripStatus {\n OPEN\n FULL\n CLOSED\n COMPLETED\n}\n\nenum ParticipantStatus {\n PENDING\n CONFIRMED\n CANCELLED\n}\n", + "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../app/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel User {\n id String @id @default(cuid())\n name String\n email String @unique\n /// Hash bcrypt. Null untuk user yang sign-in via OAuth (mis. Google).\n password String?\n image String?\n /// Apakah user telah menyetujui Syarat & Ketentuan dan Kebijakan Privasi\n acceptedTermsAndPrivacy Boolean @default(false)\n /// Waktu user menyetujui Syarat & Ketentuan dan Kebijakan Privasi\n acceptedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n accounts Account[]\n trips Trip[]\n participations TripParticipant[]\n tripReviews TripReview[]\n\n organizerVerification OrganizerVerification? @relation(\"OrganizerVerificationOwner\")\n reviewedVerifications OrganizerVerification[] @relation(\"OrganizerVerificationReviewer\")\n}\n\n/// Tabel link akun OAuth pihak ketiga (Google, dst). Diisi oleh PrismaAdapter NextAuth.\n/// Session tidak pakai DB — kita pakai JWT, jadi Session/VerificationToken tidak perlu.\nmodel Account {\n id String @id @default(cuid())\n userId String\n type String\n provider String\n providerAccountId String\n refresh_token String?\n access_token String?\n expires_at Int?\n token_type String?\n scope String?\n id_token String?\n session_state String?\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@unique([provider, providerAccountId])\n}\n\nmodel OrganizerVerification {\n id String @id @default(cuid())\n userId String @unique\n user User @relation(\"OrganizerVerificationOwner\", fields: [userId], references: [id], onDelete: Cascade)\n\n /// Nama lengkap sesuai KTP\n fullName String\n /// NIK terenkripsi (AES-256-GCM, base64). Plaintext tidak disimpan.\n nikEncrypted String\n /// HMAC-SHA256(NIK + pepper) untuk uniqueness lookup tanpa membuka plaintext.\n nikHash String @unique\n birthDate DateTime\n address String\n\n /// Storage key foto KTP (mis. `ktp/.jpg`). File disimpan terenkripsi di luar /public.\n ktpImageKey String\n /// Storage key selfie memegang KTP.\n selfieKey String\n\n bankName String\n bankAccountNumber String\n bankAccountName String\n\n status VerificationStatus @default(PENDING)\n rejectionReason String?\n reviewedAt DateTime?\n reviewedById String?\n reviewedBy User? @relation(\"OrganizerVerificationReviewer\", fields: [reviewedById], references: [id])\n verifiedAt DateTime?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum VerificationStatus {\n PENDING\n APPROVED\n REJECTED\n}\n\nmodel Trip {\n id String @id @default(cuid())\n title String\n description String?\n mountain String\n location String\n /// Titik kumpul / meeting point (teks bebas)\n meetingPoint String?\n /// Itinerary hari per hari (teks bebas, bullet OK)\n itinerary String?\n /// Yang termasuk harga (teks bebas)\n whatsIncluded String?\n /// Yang tidak termasuk (teks bebas)\n whatsExcluded String?\n date DateTime\n endDate DateTime?\n maxParticipants Int\n price Int\n status TripStatus @default(OPEN)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n organizerId String\n organizer User @relation(fields: [organizerId], references: [id])\n\n participants TripParticipant[]\n images TripImage[]\n reviews TripReview[]\n}\n\nmodel TripReview {\n id String @id @default(cuid())\n rating Int\n comment String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n tripId String\n trip Trip @relation(fields: [tripId], references: [id], onDelete: Cascade)\n\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@unique([tripId, userId])\n}\n\nmodel TripImage {\n id String @id @default(cuid())\n url String\n caption String?\n order Int @default(0)\n\n tripId String\n trip Trip @relation(fields: [tripId], references: [id], onDelete: Cascade)\n}\n\nmodel TripParticipant {\n id String @id @default(cuid())\n status ParticipantStatus @default(PENDING)\n createdAt DateTime @default(now())\n /// Peserta menekan \"Saya sudah bayar\" (pembayaran manual)\n markedPaidAt DateTime?\n /// Organizer mengonfirmasi uang sudah masuk\n paymentConfirmedAt DateTime?\n\n tripId String\n trip Trip @relation(fields: [tripId], references: [id])\n\n userId String\n user User @relation(fields: [userId], references: [id])\n\n @@unique([tripId, userId])\n}\n\nenum TripStatus {\n OPEN\n FULL\n CLOSED\n COMPLETED\n}\n\nenum ParticipantStatus {\n PENDING\n CONFIRMED\n CANCELLED\n}\n", "runtimeDataModel": { "models": {}, "enums": {}, @@ -32,10 +32,10 @@ const config: runtime.GetPrismaClientConfig = { } } -config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"acceptedTermsAndPrivacy\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"acceptedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"trips\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToUser\"},{\"name\":\"participations\",\"kind\":\"object\",\"type\":\"TripParticipant\",\"relationName\":\"TripParticipantToUser\"},{\"name\":\"tripReviews\",\"kind\":\"object\",\"type\":\"TripReview\",\"relationName\":\"TripReviewToUser\"},{\"name\":\"organizerVerification\",\"kind\":\"object\",\"type\":\"OrganizerVerification\",\"relationName\":\"OrganizerVerificationOwner\"},{\"name\":\"reviewedVerifications\",\"kind\":\"object\",\"type\":\"OrganizerVerification\",\"relationName\":\"OrganizerVerificationReviewer\"}],\"dbName\":null},\"OrganizerVerification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OrganizerVerificationOwner\"},{\"name\":\"fullName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nik\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ktpImageUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"selfieUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bankName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bankAccountNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bankAccountName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"VerificationStatus\"},{\"name\":\"rejectionReason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"reviewedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OrganizerVerificationReviewer\"},{\"name\":\"verifiedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Trip\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mountain\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"meetingPoint\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"itinerary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"whatsIncluded\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"whatsExcluded\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"maxParticipants\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"price\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"TripStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organizerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organizer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TripToUser\"},{\"name\":\"participants\",\"kind\":\"object\",\"type\":\"TripParticipant\",\"relationName\":\"TripToTripParticipant\"},{\"name\":\"images\",\"kind\":\"object\",\"type\":\"TripImage\",\"relationName\":\"TripToTripImage\"},{\"name\":\"reviews\",\"kind\":\"object\",\"type\":\"TripReview\",\"relationName\":\"TripToTripReview\"}],\"dbName\":null},\"TripReview\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"comment\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToTripReview\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TripReviewToUser\"}],\"dbName\":null},\"TripImage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"caption\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToTripImage\"}],\"dbName\":null},\"TripParticipant\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ParticipantStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"markedPaidAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"paymentConfirmedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToTripParticipant\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TripParticipantToUser\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"acceptedTermsAndPrivacy\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"acceptedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToUser\"},{\"name\":\"trips\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToUser\"},{\"name\":\"participations\",\"kind\":\"object\",\"type\":\"TripParticipant\",\"relationName\":\"TripParticipantToUser\"},{\"name\":\"tripReviews\",\"kind\":\"object\",\"type\":\"TripReview\",\"relationName\":\"TripReviewToUser\"},{\"name\":\"organizerVerification\",\"kind\":\"object\",\"type\":\"OrganizerVerification\",\"relationName\":\"OrganizerVerificationOwner\"},{\"name\":\"reviewedVerifications\",\"kind\":\"object\",\"type\":\"OrganizerVerification\",\"relationName\":\"OrganizerVerificationReviewer\"}],\"dbName\":null},\"Account\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerAccountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"token_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"id_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"session_state\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AccountToUser\"}],\"dbName\":null},\"OrganizerVerification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OrganizerVerificationOwner\"},{\"name\":\"fullName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nikEncrypted\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nikHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ktpImageKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"selfieKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bankName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bankAccountNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bankAccountName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"VerificationStatus\"},{\"name\":\"rejectionReason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"reviewedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OrganizerVerificationReviewer\"},{\"name\":\"verifiedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Trip\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mountain\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"meetingPoint\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"itinerary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"whatsIncluded\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"whatsExcluded\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"maxParticipants\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"price\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"TripStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organizerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organizer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TripToUser\"},{\"name\":\"participants\",\"kind\":\"object\",\"type\":\"TripParticipant\",\"relationName\":\"TripToTripParticipant\"},{\"name\":\"images\",\"kind\":\"object\",\"type\":\"TripImage\",\"relationName\":\"TripToTripImage\"},{\"name\":\"reviews\",\"kind\":\"object\",\"type\":\"TripReview\",\"relationName\":\"TripToTripReview\"}],\"dbName\":null},\"TripReview\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rating\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"comment\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToTripReview\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TripReviewToUser\"}],\"dbName\":null},\"TripImage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"caption\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToTripImage\"}],\"dbName\":null},\"TripParticipant\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ParticipantStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"markedPaidAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"paymentConfirmedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tripId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trip\",\"kind\":\"object\",\"type\":\"Trip\",\"relationName\":\"TripToTripParticipant\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TripParticipantToUser\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") config.parameterizationSchema = { - strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"organizer\",\"trip\",\"user\",\"participants\",\"images\",\"reviews\",\"_count\",\"trips\",\"participations\",\"tripReviews\",\"reviewedBy\",\"organizerVerification\",\"reviewedVerifications\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"data\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"create\",\"update\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"having\",\"_min\",\"_max\",\"User.groupBy\",\"User.aggregate\",\"OrganizerVerification.findUnique\",\"OrganizerVerification.findUniqueOrThrow\",\"OrganizerVerification.findFirst\",\"OrganizerVerification.findFirstOrThrow\",\"OrganizerVerification.findMany\",\"OrganizerVerification.createOne\",\"OrganizerVerification.createMany\",\"OrganizerVerification.createManyAndReturn\",\"OrganizerVerification.updateOne\",\"OrganizerVerification.updateMany\",\"OrganizerVerification.updateManyAndReturn\",\"OrganizerVerification.upsertOne\",\"OrganizerVerification.deleteOne\",\"OrganizerVerification.deleteMany\",\"OrganizerVerification.groupBy\",\"OrganizerVerification.aggregate\",\"Trip.findUnique\",\"Trip.findUniqueOrThrow\",\"Trip.findFirst\",\"Trip.findFirstOrThrow\",\"Trip.findMany\",\"Trip.createOne\",\"Trip.createMany\",\"Trip.createManyAndReturn\",\"Trip.updateOne\",\"Trip.updateMany\",\"Trip.updateManyAndReturn\",\"Trip.upsertOne\",\"Trip.deleteOne\",\"Trip.deleteMany\",\"_avg\",\"_sum\",\"Trip.groupBy\",\"Trip.aggregate\",\"TripReview.findUnique\",\"TripReview.findUniqueOrThrow\",\"TripReview.findFirst\",\"TripReview.findFirstOrThrow\",\"TripReview.findMany\",\"TripReview.createOne\",\"TripReview.createMany\",\"TripReview.createManyAndReturn\",\"TripReview.updateOne\",\"TripReview.updateMany\",\"TripReview.updateManyAndReturn\",\"TripReview.upsertOne\",\"TripReview.deleteOne\",\"TripReview.deleteMany\",\"TripReview.groupBy\",\"TripReview.aggregate\",\"TripImage.findUnique\",\"TripImage.findUniqueOrThrow\",\"TripImage.findFirst\",\"TripImage.findFirstOrThrow\",\"TripImage.findMany\",\"TripImage.createOne\",\"TripImage.createMany\",\"TripImage.createManyAndReturn\",\"TripImage.updateOne\",\"TripImage.updateMany\",\"TripImage.updateManyAndReturn\",\"TripImage.upsertOne\",\"TripImage.deleteOne\",\"TripImage.deleteMany\",\"TripImage.groupBy\",\"TripImage.aggregate\",\"TripParticipant.findUnique\",\"TripParticipant.findUniqueOrThrow\",\"TripParticipant.findFirst\",\"TripParticipant.findFirstOrThrow\",\"TripParticipant.findMany\",\"TripParticipant.createOne\",\"TripParticipant.createMany\",\"TripParticipant.createManyAndReturn\",\"TripParticipant.updateOne\",\"TripParticipant.updateMany\",\"TripParticipant.updateManyAndReturn\",\"TripParticipant.upsertOne\",\"TripParticipant.deleteOne\",\"TripParticipant.deleteMany\",\"TripParticipant.groupBy\",\"TripParticipant.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"ParticipantStatus\",\"status\",\"createdAt\",\"markedPaidAt\",\"paymentConfirmedAt\",\"tripId\",\"userId\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"url\",\"caption\",\"order\",\"rating\",\"comment\",\"updatedAt\",\"title\",\"description\",\"mountain\",\"location\",\"meetingPoint\",\"itinerary\",\"whatsIncluded\",\"whatsExcluded\",\"date\",\"endDate\",\"maxParticipants\",\"price\",\"TripStatus\",\"organizerId\",\"fullName\",\"nik\",\"birthDate\",\"address\",\"ktpImageUrl\",\"selfieUrl\",\"bankName\",\"bankAccountNumber\",\"bankAccountName\",\"VerificationStatus\",\"rejectionReason\",\"reviewedAt\",\"reviewedById\",\"verifiedAt\",\"name\",\"email\",\"password\",\"image\",\"acceptedTermsAndPrivacy\",\"acceptedAt\",\"every\",\"some\",\"none\",\"tripId_userId\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"), - graph: "sQM5YBEKAADWAQAgCwAA1wEAIAwAANgBACAOAADZAQAgDwAA2gEAIHgAANQBADB5AAAaABB6AADUAQAwewEAAAABfkAAzgEAIZMBQADOAQAhsAEBAM0BACGxAQEAAAABsgEBAM0BACGzAQEA0AEAIbQBIADVAQAhtQFAANEBACEBAAAAAQAgGAMAANIBACAGAADXAQAgBwAA5QEAIAgAANgBACB4AADjAQAweQAAAwAQegAA4wEAMHsBAM0BACF9AADkAaEBIn5AAM4BACGTAUAAzgEAIZQBAQDNAQAhlQEBANABACGWAQEAzQEAIZcBAQDNAQAhmAEBANABACGZAQEA0AEAIZoBAQDQAQAhmwEBANABACGcAUAAzgEAIZ0BQADRAQAhngECAN0BACGfAQIA3QEAIaEBAQDNAQAhCgMAAIADACAGAAD8AgAgBwAAggMAIAgAAP0CACCVAQAA5gEAIJgBAADmAQAgmQEAAOYBACCaAQAA5gEAIJsBAADmAQAgnQEAAOYBACAYAwAA0gEAIAYAANcBACAHAADlAQAgCAAA2AEAIHgAAOMBADB5AAADABB6AADjAQAwewEAAAABfQAA5AGhASJ-QADOAQAhkwFAAM4BACGUAQEAzQEAIZUBAQDQAQAhlgEBAM0BACGXAQEAzQEAIZgBAQDQAQAhmQEBANABACGaAQEA0AEAIZsBAQDQAQAhnAFAAM4BACGdAUAA0QEAIZ4BAgDdAQAhnwECAN0BACGhAQEAzQEAIQMAAAADACABAAAEADACAAAFACAMBAAA3gEAIAUAANIBACB4AADhAQAweQAABwAQegAA4QEAMHsBAM0BACF9AADiAX0ifkAAzgEAIX9AANEBACGAAUAA0QEAIYEBAQDNAQAhggEBAM0BACEEBAAAgQMAIAUAAIADACB_AADmAQAggAEAAOYBACANBAAA3gEAIAUAANIBACB4AADhAQAweQAABwAQegAA4QEAMHsBAAAAAX0AAOIBfSJ-QADOAQAhf0AA0QEAIYABQADRAQAhgQEBAM0BACGCAQEAzQEAIbkBAADgAQAgAwAAAAcAIAEAAAgAMAIAAAkAIAkEAADeAQAgeAAA3wEAMHkAAAsAEHoAAN8BADB7AQDNAQAhgQEBAM0BACGOAQEAzQEAIY8BAQDQAQAhkAECAN0BACECBAAAgQMAII8BAADmAQAgCQQAAN4BACB4AADfAQAweQAACwAQegAA3wEAMHsBAAAAAYEBAQDNAQAhjgEBAM0BACGPAQEA0AEAIZABAgDdAQAhAwAAAAsAIAEAAAwAMAIAAA0AIAwEAADeAQAgBQAA0gEAIHgAANwBADB5AAAPABB6AADcAQAwewEAzQEAIX5AAM4BACGBAQEAzQEAIYIBAQDNAQAhkQECAN0BACGSAQEA0AEAIZMBQADOAQAhAwQAAIEDACAFAACAAwAgkgEAAOYBACANBAAA3gEAIAUAANIBACB4AADcAQAweQAADwAQegAA3AEAMHsBAAAAAX5AAM4BACGBAQEAzQEAIYIBAQDNAQAhkQECAN0BACGSAQEA0AEAIZMBQADOAQAhuQEAANsBACADAAAADwAgAQAAEAAwAgAAEQAgAQAAAAcAIAEAAAALACABAAAADwAgAwAAAAcAIAEAAAgAMAIAAAkAIAMAAAAPACABAAAQADACAAARACAXBQAA0gEAIA0AANMBACB4AADMAQAweQAAGAAQegAAzAEAMHsBAM0BACF9AADPAawBIn5AAM4BACGCAQEAzQEAIZMBQADOAQAhogEBAM0BACGjAQEAzQEAIaQBQADOAQAhpQEBAM0BACGmAQEAzQEAIacBAQDNAQAhqAEBAM0BACGpAQEAzQEAIaoBAQDNAQAhrAEBANABACGtAUAA0QEAIa4BAQDQAQAhrwFAANEBACEBAAAAGAAgEQoAANYBACALAADXAQAgDAAA2AEAIA4AANkBACAPAADaAQAgeAAA1AEAMHkAABoAEHoAANQBADB7AQDNAQAhfkAAzgEAIZMBQADOAQAhsAEBAM0BACGxAQEAzQEAIbIBAQDNAQAhswEBANABACG0ASAA1QEAIbUBQADRAQAhAQAAABoAIAYFAACAAwAgDQAAgAMAIKwBAADmAQAgrQEAAOYBACCuAQAA5gEAIK8BAADmAQAgFwUAANIBACANAADTAQAgeAAAzAEAMHkAABgAEHoAAMwBADB7AQAAAAF9AADPAawBIn5AAM4BACGCAQEAAAABkwFAAM4BACGiAQEAzQEAIaMBAQAAAAGkAUAAzgEAIaUBAQDNAQAhpgEBAM0BACGnAQEAzQEAIagBAQDNAQAhqQEBAM0BACGqAQEAzQEAIawBAQDQAQAhrQFAANEBACGuAQEA0AEAIa8BQADRAQAhAwAAABgAIAEAABwAMAIAAB0AIAEAAAADACABAAAABwAgAQAAAA8AIAEAAAAYACABAAAAAQAgBwoAAPsCACALAAD8AgAgDAAA_QIAIA4AAP4CACAPAAD_AgAgswEAAOYBACC1AQAA5gEAIAMAAAAaACABAAAkADACAAABACADAAAAGgAgAQAAJAAwAgAAAQAgAwAAABoAIAEAACQAMAIAAAEAIA4KAAD2AgAgCwAA9wIAIAwAAPgCACAOAAD5AgAgDwAA-gIAIHsBAAAAAX5AAAAAAZMBQAAAAAGwAQEAAAABsQEBAAAAAbIBAQAAAAGzAQEAAAABtAEgAAAAAbUBQAAAAAEBFQAAKAAgCXsBAAAAAX5AAAAAAZMBQAAAAAGwAQEAAAABsQEBAAAAAbIBAQAAAAGzAQEAAAABtAEgAAAAAbUBQAAAAAEBFQAAKgAwARUAACoAMA4KAADCAgAgCwAAwwIAIAwAAMQCACAOAADFAgAgDwAAxgIAIHsBAOoBACF-QADsAQAhkwFAAOwBACGwAQEA6gEAIbEBAQDqAQAhsgEBAOoBACGzAQEA9wEAIbQBIADBAgAhtQFAAO0BACECAAAAAQAgFQAALQAgCXsBAOoBACF-QADsAQAhkwFAAOwBACGwAQEA6gEAIbEBAQDqAQAhsgEBAOoBACGzAQEA9wEAIbQBIADBAgAhtQFAAO0BACECAAAAGgAgFQAALwAgAgAAABoAIBUAAC8AIAMAAAABACAcAAAoACAdAAAtACABAAAAAQAgAQAAABoAIAUJAAC-AgAgIgAAwAIAICMAAL8CACCzAQAA5gEAILUBAADmAQAgDHgAAMgBADB5AAA2ABB6AADIAQAwewEAqgEAIX5AAKwBACGTAUAArAEAIbABAQCqAQAhsQEBAKoBACGyAQEAqgEAIbMBAQC5AQAhtAEgAMkBACG1AUAArQEAIQMAAAAaACABAAA1ADAhAAA2ACADAAAAGgAgAQAAJAAwAgAAAQAgAQAAAB0AIAEAAAAdACADAAAAGAAgAQAAHAAwAgAAHQAgAwAAABgAIAEAABwAMAIAAB0AIAMAAAAYACABAAAcADACAAAdACAUBQAAvAIAIA0AAL0CACB7AQAAAAF9AAAArAECfkAAAAABggEBAAAAAZMBQAAAAAGiAQEAAAABowEBAAAAAaQBQAAAAAGlAQEAAAABpgEBAAAAAacBAQAAAAGoAQEAAAABqQEBAAAAAaoBAQAAAAGsAQEAAAABrQFAAAAAAa4BAQAAAAGvAUAAAAABARUAAD4AIBJ7AQAAAAF9AAAArAECfkAAAAABggEBAAAAAZMBQAAAAAGiAQEAAAABowEBAAAAAaQBQAAAAAGlAQEAAAABpgEBAAAAAacBAQAAAAGoAQEAAAABqQEBAAAAAaoBAQAAAAGsAQEAAAABrQFAAAAAAa4BAQAAAAGvAUAAAAABARUAAEAAMAEVAABAADABAAAAGgAgFAUAALoCACANAAC7AgAgewEA6gEAIX0AALkCrAEifkAA7AEAIYIBAQDqAQAhkwFAAOwBACGiAQEA6gEAIaMBAQDqAQAhpAFAAOwBACGlAQEA6gEAIaYBAQDqAQAhpwEBAOoBACGoAQEA6gEAIakBAQDqAQAhqgEBAOoBACGsAQEA9wEAIa0BQADtAQAhrgEBAPcBACGvAUAA7QEAIQIAAAAdACAVAABEACASewEA6gEAIX0AALkCrAEifkAA7AEAIYIBAQDqAQAhkwFAAOwBACGiAQEA6gEAIaMBAQDqAQAhpAFAAOwBACGlAQEA6gEAIaYBAQDqAQAhpwEBAOoBACGoAQEA6gEAIakBAQDqAQAhqgEBAOoBACGsAQEA9wEAIa0BQADtAQAhrgEBAPcBACGvAUAA7QEAIQIAAAAYACAVAABGACACAAAAGAAgFQAARgAgAQAAABoAIAMAAAAdACAcAAA-ACAdAABEACABAAAAHQAgAQAAABgAIAcJAAC2AgAgIgAAuAIAICMAALcCACCsAQAA5gEAIK0BAADmAQAgrgEAAOYBACCvAQAA5gEAIBV4AADEAQAweQAATgAQegAAxAEAMHsBAKoBACF9AADFAawBIn5AAKwBACGCAQEAqgEAIZMBQACsAQAhogEBAKoBACGjAQEAqgEAIaQBQACsAQAhpQEBAKoBACGmAQEAqgEAIacBAQCqAQAhqAEBAKoBACGpAQEAqgEAIaoBAQCqAQAhrAEBALkBACGtAUAArQEAIa4BAQC5AQAhrwFAAK0BACEDAAAAGAAgAQAATQAwIQAATgAgAwAAABgAIAEAABwAMAIAAB0AIAEAAAAFACABAAAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgFQMAALICACAGAACzAgAgBwAAtAIAIAgAALUCACB7AQAAAAF9AAAAoQECfkAAAAABkwFAAAAAAZQBAQAAAAGVAQEAAAABlgEBAAAAAZcBAQAAAAGYAQEAAAABmQEBAAAAAZoBAQAAAAGbAQEAAAABnAFAAAAAAZ0BQAAAAAGeAQIAAAABnwECAAAAAaEBAQAAAAEBFQAAVgAgEXsBAAAAAX0AAAChAQJ-QAAAAAGTAUAAAAABlAEBAAAAAZUBAQAAAAGWAQEAAAABlwEBAAAAAZgBAQAAAAGZAQEAAAABmgEBAAAAAZsBAQAAAAGcAUAAAAABnQFAAAAAAZ4BAgAAAAGfAQIAAAABoQEBAAAAAQEVAABYADABFQAAWAAwFQMAAIoCACAGAACLAgAgBwAAjAIAIAgAAI0CACB7AQDqAQAhfQAAiQKhASJ-QADsAQAhkwFAAOwBACGUAQEA6gEAIZUBAQD3AQAhlgEBAOoBACGXAQEA6gEAIZgBAQD3AQAhmQEBAPcBACGaAQEA9wEAIZsBAQD3AQAhnAFAAOwBACGdAUAA7QEAIZ4BAgD4AQAhnwECAPgBACGhAQEA6gEAIQIAAAAFACAVAABbACARewEA6gEAIX0AAIkCoQEifkAA7AEAIZMBQADsAQAhlAEBAOoBACGVAQEA9wEAIZYBAQDqAQAhlwEBAOoBACGYAQEA9wEAIZkBAQD3AQAhmgEBAPcBACGbAQEA9wEAIZwBQADsAQAhnQFAAO0BACGeAQIA-AEAIZ8BAgD4AQAhoQEBAOoBACECAAAAAwAgFQAAXQAgAgAAAAMAIBUAAF0AIAMAAAAFACAcAABWACAdAABbACABAAAABQAgAQAAAAMAIAsJAACEAgAgIgAAhwIAICMAAIYCACBEAACFAgAgRQAAiAIAIJUBAADmAQAgmAEAAOYBACCZAQAA5gEAIJoBAADmAQAgmwEAAOYBACCdAQAA5gEAIBR4AADAAQAweQAAZAAQegAAwAEAMHsBAKoBACF9AADBAaEBIn5AAKwBACGTAUAArAEAIZQBAQCqAQAhlQEBALkBACGWAQEAqgEAIZcBAQCqAQAhmAEBALkBACGZAQEAuQEAIZoBAQC5AQAhmwEBALkBACGcAUAArAEAIZ0BQACtAQAhngECALoBACGfAQIAugEAIaEBAQCqAQAhAwAAAAMAIAEAAGMAMCEAAGQAIAMAAAADACABAAAEADACAAAFACABAAAAEQAgAQAAABEAIAMAAAAPACABAAAQADACAAARACADAAAADwAgAQAAEAAwAgAAEQAgAwAAAA8AIAEAABAAMAIAABEAIAkEAACCAgAgBQAAgwIAIHsBAAAAAX5AAAAAAYEBAQAAAAGCAQEAAAABkQECAAAAAZIBAQAAAAGTAUAAAAABARUAAGwAIAd7AQAAAAF-QAAAAAGBAQEAAAABggEBAAAAAZEBAgAAAAGSAQEAAAABkwFAAAAAAQEVAABuADABFQAAbgAwCQQAAIACACAFAACBAgAgewEA6gEAIX5AAOwBACGBAQEA6gEAIYIBAQDqAQAhkQECAPgBACGSAQEA9wEAIZMBQADsAQAhAgAAABEAIBUAAHEAIAd7AQDqAQAhfkAA7AEAIYEBAQDqAQAhggEBAOoBACGRAQIA-AEAIZIBAQD3AQAhkwFAAOwBACECAAAADwAgFQAAcwAgAgAAAA8AIBUAAHMAIAMAAAARACAcAABsACAdAABxACABAAAAEQAgAQAAAA8AIAYJAAD7AQAgIgAA_gEAICMAAP0BACBEAAD8AQAgRQAA_wEAIJIBAADmAQAgCngAAL8BADB5AAB6ABB6AAC_AQAwewEAqgEAIX5AAKwBACGBAQEAqgEAIYIBAQCqAQAhkQECALoBACGSAQEAuQEAIZMBQACsAQAhAwAAAA8AIAEAAHkAMCEAAHoAIAMAAAAPACABAAAQADACAAARACABAAAADQAgAQAAAA0AIAMAAAALACABAAAMADACAAANACADAAAACwAgAQAADAAwAgAADQAgAwAAAAsAIAEAAAwAMAIAAA0AIAYEAAD6AQAgewEAAAABgQEBAAAAAY4BAQAAAAGPAQEAAAABkAECAAAAAQEVAACCAQAgBXsBAAAAAYEBAQAAAAGOAQEAAAABjwEBAAAAAZABAgAAAAEBFQAAhAEAMAEVAACEAQAwBgQAAPkBACB7AQDqAQAhgQEBAOoBACGOAQEA6gEAIY8BAQD3AQAhkAECAPgBACECAAAADQAgFQAAhwEAIAV7AQDqAQAhgQEBAOoBACGOAQEA6gEAIY8BAQD3AQAhkAECAPgBACECAAAACwAgFQAAiQEAIAIAAAALACAVAACJAQAgAwAAAA0AIBwAAIIBACAdAACHAQAgAQAAAA0AIAEAAAALACAGCQAA8gEAICIAAPUBACAjAAD0AQAgRAAA8wEAIEUAAPYBACCPAQAA5gEAIAh4AAC4AQAweQAAkAEAEHoAALgBADB7AQCqAQAhgQEBAKoBACGOAQEAqgEAIY8BAQC5AQAhkAECALoBACEDAAAACwAgAQAAjwEAMCEAAJABACADAAAACwAgAQAADAAwAgAADQAgAQAAAAkAIAEAAAAJACADAAAABwAgAQAACAAwAgAACQAgAwAAAAcAIAEAAAgAMAIAAAkAIAMAAAAHACABAAAIADACAAAJACAJBAAA8AEAIAUAAPEBACB7AQAAAAF9AAAAfQJ-QAAAAAF_QAAAAAGAAUAAAAABgQEBAAAAAYIBAQAAAAEBFQAAmAEAIAd7AQAAAAF9AAAAfQJ-QAAAAAF_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_AQAwewEAqgEAIX5AAKwBACGBAQEAqgEAIYIBAQCqAQAhkQECALoBACGSAQEAuQEAIZMBQACsAQAhFHgAAMABADB5AABkABB6AADAAQAwewEAqgEAIX0AAMEBoQEifkAArAEAIZMBQACsAQAhlAEBAKoBACGVAQEAuQEAIZYBAQCqAQAhlwEBAKoBACGYAQEAuQEAIZkBAQC5AQAhmgEBALkBACGbAQEAuQEAIZwBQACsAQAhnQFAAK0BACGeAQIAugEAIZ8BAgC6AQAhoQEBAKoBACEHCQAAsgEAICIAAMMBACAjAADDAQAggwEAAAChAQKEAQAAAKEBCIUBAAAAoQEIigEAAMIBoQEiBwkAALIBACAiAADDAQAgIwAAwwEAIIMBAAAAoQEChAEAAAChAQiFAQAAAKEBCIoBAADCAaEBIgSDAQAAAKEBAoQBAAAAoQEIhQEAAAChAQiKAQAAwwGhASIVeAAAxAEAMHkAAE4AEHoAAMQBADB7AQCqAQAhfQAAxQGsASJ-QACsAQAhggEBAKoBACGTAUAArAEAIaIBAQCqAQAhowEBAKoBACGkAUAArAEAIaUBAQCqAQAhpgEBAKoBACGnAQEAqgEAIagBAQCqAQAhqQEBAKoBACGqAQEAqgEAIawBAQC5AQAhrQFAAK0BACGuAQEAuQEAIa8BQACtAQAhBwkAALIBACAiAADHAQAgIwAAxwEAIIMBAAAArAEChAEAAACsAQiFAQAAAKwBCIoBAADGAawBIgcJAACyAQAgIgAAxwEAICMAAMcBACCDAQAAAKwBAoQBAAAArAEIhQEAAACsAQiKAQAAxgGsASIEgwEAAACsAQKEAQAAAKwBCIUBAAAArAEIigEAAMcBrAEiDHgAAMgBADB5AAA2ABB6AADIAQAwewEAqgEAIX5AAKwBACGTAUAArAEAIbABAQCqAQAhsQEBAKoBACGyAQEAqgEAIbMBAQC5AQAhtAEgAMkBACG1AUAArQEAIQUJAACyAQAgIgAAywEAICMAAMsBACCDASAAAAABigEgAMoBACEFCQAAsgEAICIAAMsBACAjAADLAQAggwEgAAAAAYoBIADKAQAhAoMBIAAAAAGKASAAywEAIRcFAADSAQAgDQAA0wEAIHgAAMwBADB5AAAYABB6AADMAQAwewEAzQEAIX0AAM8BrAEifkAAzgEAIYIBAQDNAQAhkwFAAM4BACGiAQEAzQEAIaMBAQDNAQAhpAFAAM4BACGlAQEAzQEAIaYBAQDNAQAhpwEBAM0BACGoAQEAzQEAIakBAQDNAQAhqgEBAM0BACGsAQEA0AEAIa0BQADRAQAhrgEBANABACGvAUAA0QEAIQuDAQEAAAABhAEBAAAABIUBAQAAAASGAQEAAAABhwEBAAAAAYgBAQAAAAGJAQEAAAABigEBALcBACGLAQEAAAABjAEBAAAAAY0BAQAAAAEIgwFAAAAAAYQBQAAAAASFAUAAAAAEhgFAAAAAAYcBQAAAAAGIAUAAAAABiQFAAAAAAYoBQACzAQAhBIMBAAAArAEChAEAAACsAQiFAQAAAKwBCIoBAADHAawBIguDAQEAAAABhAEBAAAABYUBAQAAAAWGAQEAAAABhwEBAAAAAYgBAQAAAAGJAQEAAAABigEBAL4BACGLAQEAAAABjAEBAAAAAY0BAQAAAAEIgwFAAAAAAYQBQAAAAAWFAUAAAAAFhgFAAAAAAYcBQAAAAAGIAUAAAAABiQFAAAAAAYoBQACwAQAhEwoAANYBACALAADXAQAgDAAA2AEAIA4AANkBACAPAADaAQAgeAAA1AEAMHkAABoAEHoAANQBADB7AQDNAQAhfkAAzgEAIZMBQADOAQAhsAEBAM0BACGxAQEAzQEAIbIBAQDNAQAhswEBANABACG0ASAA1QEAIbUBQADRAQAhugEAABoAILsBAAAaACATCgAA1gEAIAsAANcBACAMAADYAQAgDgAA2QEAIA8AANoBACB4AADUAQAweQAAGgAQegAA1AEAMHsBAM0BACF-QADOAQAhkwFAAM4BACGwAQEAzQEAIbEBAQDNAQAhsgEBAM0BACGzAQEA0AEAIbQBIADVAQAhtQFAANEBACG6AQAAGgAguwEAABoAIBEKAADWAQAgCwAA1wEAIAwAANgBACAOAADZAQAgDwAA2gEAIHgAANQBADB5AAAaABB6AADUAQAwewEAzQEAIX5AAM4BACGTAUAAzgEAIbABAQDNAQAhsQEBAM0BACGyAQEAzQEAIbMBAQDQAQAhtAEgANUBACG1AUAA0QEAIQKDASAAAAABigEgAMsBACEDtgEAAAMAILcBAAADACC4AQAAAwAgA7YBAAAHACC3AQAABwAguAEAAAcAIAO2AQAADwAgtwEAAA8AILgBAAAPACAZBQAA0gEAIA0AANMBACB4AADMAQAweQAAGAAQegAAzAEAMHsBAM0BACF9AADPAawBIn5AAM4BACGCAQEAzQEAIZMBQADOAQAhogEBAM0BACGjAQEAzQEAIaQBQADOAQAhpQEBAM0BACGmAQEAzQEAIacBAQDNAQAhqAEBAM0BACGpAQEAzQEAIaoBAQDNAQAhrAEBANABACGtAUAA0QEAIa4BAQDQAQAhrwFAANEBACG6AQAAGAAguwEAABgAIAO2AQAAGAAgtwEAABgAILgBAAAYACACgQEBAAAAAYIBAQAAAAEMBAAA3gEAIAUAANIBACB4AADcAQAweQAADwAQegAA3AEAMHsBAM0BACF-QADOAQAhgQEBAM0BACGCAQEAzQEAIZEBAgDdAQAhkgEBANABACGTAUAAzgEAIQiDAQIAAAABhAECAAAABIUBAgAAAASGAQIAAAABhwECAAAAAYgBAgAAAAGJAQIAAAABigECALIBACEaAwAA0gEAIAYAANcBACAHAADlAQAgCAAA2AEAIHgAAOMBADB5AAADABB6AADjAQAwewEAzQEAIX0AAOQBoQEifkAAzgEAIZMBQADOAQAhlAEBAM0BACGVAQEA0AEAIZYBAQDNAQAhlwEBAM0BACGYAQEA0AEAIZkBAQDQAQAhmgEBANABACGbAQEA0AEAIZwBQADOAQAhnQFAANEBACGeAQIA3QEAIZ8BAgDdAQAhoQEBAM0BACG6AQAAAwAguwEAAAMAIAkEAADeAQAgeAAA3wEAMHkAAAsAEHoAAN8BADB7AQDNAQAhgQEBAM0BACGOAQEAzQEAIY8BAQDQAQAhkAECAN0BACECgQEBAAAAAYIBAQAAAAEMBAAA3gEAIAUAANIBACB4AADhAQAweQAABwAQegAA4QEAMHsBAM0BACF9AADiAX0ifkAAzgEAIX9AANEBACGAAUAA0QEAIYEBAQDNAQAhggEBAM0BACEEgwEAAAB9AoQBAAAAfQiFAQAAAH0IigEAALUBfSIYAwAA0gEAIAYAANcBACAHAADlAQAgCAAA2AEAIHgAAOMBADB5AAADABB6AADjAQAwewEAzQEAIX0AAOQBoQEifkAAzgEAIZMBQADOAQAhlAEBAM0BACGVAQEA0AEAIZYBAQDNAQAhlwEBAM0BACGYAQEA0AEAIZkBAQDQAQAhmgEBANABACGbAQEA0AEAIZwBQADOAQAhnQFAANEBACGeAQIA3QEAIZ8BAgDdAQAhoQEBAM0BACEEgwEAAAChAQKEAQAAAKEBCIUBAAAAoQEIigEAAMMBoQEiA7YBAAALACC3AQAACwAguAEAAAsAIAAAAAABvwEBAAAAAQG_AQAAAH0CAb8BQAAAAAEBvwFAAAAAAQUcAACqAwAgHQAAsAMAILwBAACrAwAgvQEAAK8DACDCAQAABQAgBRwAAKgDACAdAACtAwAgvAEAAKkDACC9AQAArAMAIMIBAAABACADHAAAqgMAILwBAACrAwAgwgEAAAUAIAMcAACoAwAgvAEAAKkDACDCAQAAAQAgAAAAAAABvwEBAAAAAQW_AQIAAAABxQECAAAAAcYBAgAAAAHHAQIAAAAByAECAAAAAQUcAACjAwAgHQAApgMAILwBAACkAwAgvQEAAKUDACDCAQAABQAgAxwAAKMDACC8AQAApAMAIMIBAAAFACAAAAAAAAUcAACbAwAgHQAAoQMAILwBAACcAwAgvQEAAKADACDCAQAABQAgBRwAAJkDACAdAACeAwAgvAEAAJoDACC9AQAAnQMAIMIBAAABACADHAAAmwMAILwBAACcAwAgwgEAAAUAIAMcAACZAwAgvAEAAJoDACDCAQAAAQAgAAAAAAABvwEAAAChAQIFHAAAkQMAIB0AAJcDACC8AQAAkgMAIL0BAACWAwAgwgEAAAEAIAscAACmAgAwHQAAqwIAMLwBAACnAgAwvQEAAKgCADC-AQAAqQIAIL8BAACqAgAwwAEAAKoCADDBAQAAqgIAMMIBAACqAgAwwwEAAKwCADDEAQAArQIAMAscAACaAgAwHQAAnwIAMLwBAACbAgAwvQEAAJwCADC-AQAAnQIAIL8BAACeAgAwwAEAAJ4CADDBAQAAngIAMMIBAACeAgAwwwEAAKACADDEAQAAoQIAMAscAACOAgAwHQAAkwIAMLwBAACPAgAwvQEAAJACADC-AQAAkQIAIL8BAACSAgAwwAEAAJICADDBAQAAkgIAMMIBAACSAgAwwwEAAJQCADDEAQAAlQIAMAcFAACDAgAgewEAAAABfkAAAAABggEBAAAAAZEBAgAAAAGSAQEAAAABkwFAAAAAAQIAAAARACAcAACZAgAgAwAAABEAIBwAAJkCACAdAACYAgAgARUAAJUDADANBAAA3gEAIAUAANIBACB4AADcAQAweQAADwAQegAA3AEAMHsBAAAAAX5AAM4BACGBAQEAzQEAIYIBAQDNAQAhkQECAN0BACGSAQEA0AEAIZMBQADOAQAhuQEAANsBACACAAAAEQAgFQAAmAIAIAIAAACWAgAgFQAAlwIAIAp4AACVAgAweQAAlgIAEHoAAJUCADB7AQDNAQAhfkAAzgEAIYEBAQDNAQAhggEBAM0BACGRAQIA3QEAIZIBAQDQAQAhkwFAAM4BACEKeAAAlQIAMHkAAJYCABB6AACVAgAwewEAzQEAIX5AAM4BACGBAQEAzQEAIYIBAQDNAQAhkQECAN0BACGSAQEA0AEAIZMBQADOAQAhBnsBAOoBACF-QADsAQAhggEBAOoBACGRAQIA-AEAIZIBAQD3AQAhkwFAAOwBACEHBQAAgQIAIHsBAOoBACF-QADsAQAhggEBAOoBACGRAQIA-AEAIZIBAQD3AQAhkwFAAOwBACEHBQAAgwIAIHsBAAAAAX5AAAAAAYIBAQAAAAGRAQIAAAABkgEBAAAAAZMBQAAAAAEEewEAAAABjgEBAAAAAY8BAQAAAAGQAQIAAAABAgAAAA0AIBwAAKUCACADAAAADQAgHAAApQIAIB0AAKQCACABFQAAlAMAMAkEAADeAQAgeAAA3wEAMHkAAAsAEHoAAN8BADB7AQAAAAGBAQEAzQEAIY4BAQDNAQAhjwEBANABACGQAQIA3QEAIQIAAAANACAVAACkAgAgAgAAAKICACAVAACjAgAgCHgAAKECADB5AACiAgAQegAAoQIAMHsBAM0BACGBAQEAzQEAIY4BAQDNAQAhjwEBANABACGQAQIA3QEAIQh4AAChAgAweQAAogIAEHoAAKECADB7AQDNAQAhgQEBAM0BACGOAQEAzQEAIY8BAQDQAQAhkAECAN0BACEEewEA6gEAIY4BAQDqAQAhjwEBAPcBACGQAQIA-AEAIQR7AQDqAQAhjgEBAOoBACGPAQEA9wEAIZABAgD4AQAhBHsBAAAAAY4BAQAAAAGPAQEAAAABkAECAAAAAQcFAADxAQAgewEAAAABfQAAAH0CfkAAAAABf0AAAAABgAFAAAAAAYIBAQAAAAECAAAACQAgHAAAsQIAIAMAAAAJACAcAACxAgAgHQAAsAIAIAEVAACTAwAwDQQAAN4BACAFAADSAQAgeAAA4QEAMHkAAAcAEHoAAOEBADB7AQAAAAF9AADiAX0ifkAAzgEAIX9AANEBACGAAUAA0QEAIYEBAQDNAQAhggEBAM0BACG5AQAA4AEAIAIAAAAJACAVAACwAgAgAgAAAK4CACAVAACvAgAgCngAAK0CADB5AACuAgAQegAArQIAMHsBAM0BACF9AADiAX0ifkAAzgEAIX9AANEBACGAAUAA0QEAIYEBAQDNAQAhggEBAM0BACEKeAAArQIAMHkAAK4CABB6AACtAgAwewEAzQEAIX0AAOIBfSJ-QADOAQAhf0AA0QEAIYABQADRAQAhgQEBAM0BACGCAQEAzQEAIQZ7AQDqAQAhfQAA6wF9In5AAOwBACF_QADtAQAhgAFAAO0BACGCAQEA6gEAIQcFAADvAQAgewEA6gEAIX0AAOsBfSJ-QADsAQAhf0AA7QEAIYABQADtAQAhggEBAOoBACEHBQAA8QEAIHsBAAAAAX0AAAB9An5AAAAAAX9AAAAAAYABQAAAAAGCAQEAAAABAxwAAJEDACC8AQAAkgMAIMIBAAABACAEHAAApgIAMLwBAACnAgAwvgEAAKkCACDCAQAAqgIAMAQcAACaAgAwvAEAAJsCADC-AQAAnQIAIMIBAACeAgAwBBwAAI4CADC8AQAAjwIAML4BAACRAgAgwgEAAJICADAAAAABvwEAAACsAQIFHAAAiQMAIB0AAI8DACC8AQAAigMAIL0BAACOAwAgwgEAAAEAIAccAACHAwAgHQAAjAMAILwBAACIAwAgvQEAAIsDACDAAQAAGgAgwQEAABoAIMIBAAABACADHAAAiQMAILwBAACKAwAgwgEAAAEAIAMcAACHAwAgvAEAAIgDACDCAQAAAQAgAAAAAb8BIAAAAAELHAAA6gIAMB0AAO8CADC8AQAA6wIAML0BAADsAgAwvgEAAO0CACC_AQAA7gIAMMABAADuAgAwwQEAAO4CADDCAQAA7gIAMMMBAADwAgAwxAEAAPECADALHAAA4QIAMB0AAOUCADC8AQAA4gIAML0BAADjAgAwvgEAAOQCACC_AQAAqgIAMMABAACqAgAwwQEAAKoCADDCAQAAqgIAMMMBAADmAgAwxAEAAK0CADALHAAA2AIAMB0AANwCADC8AQAA2QIAML0BAADaAgAwvgEAANsCACC_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-QAAAAAF_QAAAAAGAAUAAAAABgQEBAAAAAQIAAAAJACAcAADpAgAgAwAAAAkAIBwAAOkCACAdAADoAgAgARUAAIQDADACAAAACQAgFQAA6AIAIAIAAACuAgAgFQAA5wIAIAZ7AQDqAQAhfQAA6wF9In5AAOwBACF_QADtAQAhgAFAAO0BACGBAQEA6gEAIQcEAADuAQAgewEA6gEAIX0AAOsBfSJ-QADsAQAhf0AA7QEAIYABQADtAQAhgQEBAOoBACEHBAAA8AEAIHsBAAAAAX0AAAB9An5AAAAAAX9AAAAAAYABQAAAAAGBAQEAAAABEwYAALMCACAHAAC0AgAgCAAAtQIAIHsBAAAAAX0AAAChAQJ-QAAAAAGTAUAAAAABlAEBAAAAAZUBAQAAAAGWAQEAAAABlwEBAAAAAZgBAQAAAAGZAQEAAAABmgEBAAAAAZsBAQAAAAGcAUAAAAABnQFAAAAAAZ4BAgAAAAGfAQIAAAABAgAAAAUAIBwAAPUCACADAAAABQAgHAAA9QIAIB0AAPQCACABFQAAgwMAMBgDAADSAQAgBgAA1wEAIAcAAOUBACAIAADYAQAgeAAA4wEAMHkAAAMAEHoAAOMBADB7AQAAAAF9AADkAaEBIn5AAM4BACGTAUAAzgEAIZQBAQDNAQAhlQEBANABACGWAQEAzQEAIZcBAQDNAQAhmAEBANABACGZAQEA0AEAIZoBAQDQAQAhmwEBANABACGcAUAAzgEAIZ0BQADRAQAhngECAN0BACGfAQIA3QEAIaEBAQDNAQAhAgAAAAUAIBUAAPQCACACAAAA8gIAIBUAAPMCACAUeAAA8QIAMHkAAPICABB6AADxAgAwewEAzQEAIX0AAOQBoQEifkAAzgEAIZMBQADOAQAhlAEBAM0BACGVAQEA0AEAIZYBAQDNAQAhlwEBAM0BACGYAQEA0AEAIZkBAQDQAQAhmgEBANABACGbAQEA0AEAIZwBQADOAQAhnQFAANEBACGeAQIA3QEAIZ8BAgDdAQAhoQEBAM0BACEUeAAA8QIAMHkAAPICABB6AADxAgAwewEAzQEAIX0AAOQBoQEifkAAzgEAIZMBQADOAQAhlAEBAM0BACGVAQEA0AEAIZYBAQDNAQAhlwEBAM0BACGYAQEA0AEAIZkBAQDQAQAhmgEBANABACGbAQEA0AEAIZwBQADOAQAhnQFAANEBACGeAQIA3QEAIZ8BAgDdAQAhoQEBAM0BACEQewEA6gEAIX0AAIkCoQEifkAA7AEAIZMBQADsAQAhlAEBAOoBACGVAQEA9wEAIZYBAQDqAQAhlwEBAOoBACGYAQEA9wEAIZkBAQD3AQAhmgEBAPcBACGbAQEA9wEAIZwBQADsAQAhnQFAAO0BACGeAQIA-AEAIZ8BAgD4AQAhEwYAAIsCACAHAACMAgAgCAAAjQIAIHsBAOoBACF9AACJAqEBIn5AAOwBACGTAUAA7AEAIZQBAQDqAQAhlQEBAPcBACGWAQEA6gEAIZcBAQDqAQAhmAEBAPcBACGZAQEA9wEAIZoBAQD3AQAhmwEBAPcBACGcAUAA7AEAIZ0BQADtAQAhngECAPgBACGfAQIA-AEAIRMGAACzAgAgBwAAtAIAIAgAALUCACB7AQAAAAF9AAAAoQECfkAAAAABkwFAAAAAAZQBAQAAAAGVAQEAAAABlgEBAAAAAZcBAQAAAAGYAQEAAAABmQEBAAAAAZoBAQAAAAGbAQEAAAABnAFAAAAAAZ0BQAAAAAGeAQIAAAABnwECAAAAAQQcAADqAgAwvAEAAOsCADC-AQAA7QIAIMIBAADuAgAwBBwAAOECADC8AQAA4gIAML4BAADkAgAgwgEAAKoCADAEHAAA2AIAMLwBAADZAgAwvgEAANsCACDCAQAAkgIAMAMcAADTAgAgvAEAANQCACDCAQAAHQAgBBwAAMcCADC8AQAAyAIAML4BAADKAgAgwgEAAMsCADAAAAAGBQAAgAMAIA0AAIADACCsAQAA5gEAIK0BAADmAQAgrgEAAOYBACCvAQAA5gEAIAAHCgAA-wIAIAsAAPwCACAMAAD9AgAgDgAA_gIAIA8AAP8CACCzAQAA5gEAILUBAADmAQAgCgMAAIADACAGAAD8AgAgBwAAggMAIAgAAP0CACCVAQAA5gEAIJgBAADmAQAgmQEAAOYBACCaAQAA5gEAIJsBAADmAQAgnQEAAOYBACAAEHsBAAAAAX0AAAChAQJ-QAAAAAGTAUAAAAABlAEBAAAAAZUBAQAAAAGWAQEAAAABlwEBAAAAAZgBAQAAAAGZAQEAAAABmgEBAAAAAZsBAQAAAAGcAUAAAAABnQFAAAAAAZ4BAgAAAAGfAQIAAAABBnsBAAAAAX0AAAB9An5AAAAAAX9AAAAAAYABQAAAAAGBAQEAAAABBnsBAAAAAX5AAAAAAYEBAQAAAAGRAQIAAAABkgEBAAAAAZMBQAAAAAERewEAAAABfQAAAKwBAn5AAAAAAYIBAQAAAAGTAUAAAAABogEBAAAAAaMBAQAAAAGkAUAAAAABpQEBAAAAAaYBAQAAAAGnAQEAAAABqAEBAAAAAakBAQAAAAGqAQEAAAABrAEBAAAAAa0BQAAAAAGvAUAAAAABDQoAAPYCACALAAD3AgAgDAAA-AIAIA4AAPkCACB7AQAAAAF-QAAAAAGTAUAAAAABsAEBAAAAAbEBAQAAAAGyAQEAAAABswEBAAAAAbQBIAAAAAG1AUAAAAABAgAAAAEAIBwAAIcDACANCgAA9gIAIAsAAPcCACAMAAD4AgAgDwAA-gIAIHsBAAAAAX5AAAAAAZMBQAAAAAGwAQEAAAABsQEBAAAAAbIBAQAAAAGzAQEAAAABtAEgAAAAAbUBQAAAAAECAAAAAQAgHAAAiQMAIAMAAAAaACAcAACHAwAgHQAAjQMAIA8AAAAaACAKAADCAgAgCwAAwwIAIAwAAMQCACAOAADFAgAgFQAAjQMAIHsBAOoBACF-QADsAQAhkwFAAOwBACGwAQEA6gEAIbEBAQDqAQAhsgEBAOoBACGzAQEA9wEAIbQBIADBAgAhtQFAAO0BACENCgAAwgIAIAsAAMMCACAMAADEAgAgDgAAxQIAIHsBAOoBACF-QADsAQAhkwFAAOwBACGwAQEA6gEAIbEBAQDqAQAhsgEBAOoBACGzAQEA9wEAIbQBIADBAgAhtQFAAO0BACEDAAAAGgAgHAAAiQMAIB0AAJADACAPAAAAGgAgCgAAwgIAIAsAAMMCACAMAADEAgAgDwAAxgIAIBUAAJADACB7AQDqAQAhfkAA7AEAIZMBQADsAQAhsAEBAOoBACGxAQEA6gEAIbIBAQDqAQAhswEBAPcBACG0ASAAwQIAIbUBQADtAQAhDQoAAMICACALAADDAgAgDAAAxAIAIA8AAMYCACB7AQDqAQAhfkAA7AEAIZMBQADsAQAhsAEBAOoBACGxAQEA6gEAIbIBAQDqAQAhswEBAPcBACG0ASAAwQIAIbUBQADtAQAhDQsAAPcCACAMAAD4AgAgDgAA-QIAIA8AAPoCACB7AQAAAAF-QAAAAAGTAUAAAAABsAEBAAAAAbEBAQAAAAGyAQEAAAABswEBAAAAAbQBIAAAAAG1AUAAAAABAgAAAAEAIBwAAJEDACAGewEAAAABfQAAAH0CfkAAAAABf0AAAAABgAFAAAAAAYIBAQAAAAEEewEAAAABjgEBAAAAAY8BAQAAAAGQAQIAAAABBnsBAAAAAX5AAAAAAYIBAQAAAAGRAQIAAAABkgEBAAAAAZMBQAAAAAEDAAAAGgAgHAAAkQMAIB0AAJgDACAPAAAAGgAgCwAAwwIAIAwAAMQCACAOAADFAgAgDwAAxgIAIBUAAJgDACB7AQDqAQAhfkAA7AEAIZMBQADsAQAhsAEBAOoBACGxAQEA6gEAIbIBAQDqAQAhswEBAPcBACG0ASAAwQIAIbUBQADtAQAhDQsAAMMCACAMAADEAgAgDgAAxQIAIA8AAMYCACB7AQDqAQAhfkAA7AEAIZMBQADsAQAhsAEBAOoBACGxAQEA6gEAIbIBAQDqAQAhswEBAPcBACG0ASAAwQIAIbUBQADtAQAhDQoAAPYCACALAAD3AgAgDgAA-QIAIA8AAPoCACB7AQAAAAF-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-AEAIaEBAQDqAQAhBgkACAoGAgsWAwwXBQ4ZBw8eBwUDAAEGCgMHDgQIEgUJAAYCBAACBQABAQQAAgIEAAIFAAEDBhMABxQACBUAAgUAAQ0bAQQKHwALIAAMIQAPIgAAAAADCQANIgAOIwAPAAAAAwkADSIADiMADwIFAAENQwECBQABDUkBAwkAFCIAFSMAFgAAAAMJABQiABUjABYBAwABAQMAAQUJABsiAB4jAB9EABxFAB0AAAAAAAUJABsiAB4jAB9EABxFAB0CBAACBQABAgQAAgUAAQUJACQiACcjAChEACVFACYAAAAAAAUJACQiACcjAChEACVFACYBBAACAQQAAgUJAC0iADAjADFEAC5FAC8AAAAAAAUJAC0iADAjADFEAC5FAC8CBAACBQABAgQAAgUAAQMJADYiADcjADgAAAADCQA2IgA3IwA4EAIBESMBEiUBEyYBFCcBFikBFysJGCwKGS4BGjAJGzELHjIBHzMBIDQJJDcMJTgQJjkHJzoHKDsHKTwHKj0HKz8HLEEJLUIRLkUHL0cJMEgSMUoHMksHM0wJNE8TNVAXNlECN1ICOFMCOVQCOlUCO1cCPFkJPVoYPlwCP14JQF8ZQWACQmECQ2IJRmUaR2YgSGcFSWgFSmkFS2oFTGsFTW0FTm8JT3AhUHIFUXQJUnUiU3YFVHcFVXgJVnsjV3wpWH0EWX4EWn8EW4ABBFyBAQRdgwEEXoUBCV-GASpgiAEEYYoBCWKLAStjjAEEZI0BBGWOAQlmkQEsZ5IBMmiTAQNplAEDapUBA2uWAQNslwEDbZkBA26bAQlvnAEzcJ4BA3GgAQlyoQE0c6IBA3SjAQN1pAEJdqcBNXeoATk" + strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"accounts\",\"organizer\",\"trip\",\"participants\",\"images\",\"reviews\",\"_count\",\"trips\",\"participations\",\"tripReviews\",\"reviewedBy\",\"organizerVerification\",\"reviewedVerifications\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"data\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"create\",\"update\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"having\",\"_min\",\"_max\",\"User.groupBy\",\"User.aggregate\",\"Account.findUnique\",\"Account.findUniqueOrThrow\",\"Account.findFirst\",\"Account.findFirstOrThrow\",\"Account.findMany\",\"Account.createOne\",\"Account.createMany\",\"Account.createManyAndReturn\",\"Account.updateOne\",\"Account.updateMany\",\"Account.updateManyAndReturn\",\"Account.upsertOne\",\"Account.deleteOne\",\"Account.deleteMany\",\"_avg\",\"_sum\",\"Account.groupBy\",\"Account.aggregate\",\"OrganizerVerification.findUnique\",\"OrganizerVerification.findUniqueOrThrow\",\"OrganizerVerification.findFirst\",\"OrganizerVerification.findFirstOrThrow\",\"OrganizerVerification.findMany\",\"OrganizerVerification.createOne\",\"OrganizerVerification.createMany\",\"OrganizerVerification.createManyAndReturn\",\"OrganizerVerification.updateOne\",\"OrganizerVerification.updateMany\",\"OrganizerVerification.updateManyAndReturn\",\"OrganizerVerification.upsertOne\",\"OrganizerVerification.deleteOne\",\"OrganizerVerification.deleteMany\",\"OrganizerVerification.groupBy\",\"OrganizerVerification.aggregate\",\"Trip.findUnique\",\"Trip.findUniqueOrThrow\",\"Trip.findFirst\",\"Trip.findFirstOrThrow\",\"Trip.findMany\",\"Trip.createOne\",\"Trip.createMany\",\"Trip.createManyAndReturn\",\"Trip.updateOne\",\"Trip.updateMany\",\"Trip.updateManyAndReturn\",\"Trip.upsertOne\",\"Trip.deleteOne\",\"Trip.deleteMany\",\"Trip.groupBy\",\"Trip.aggregate\",\"TripReview.findUnique\",\"TripReview.findUniqueOrThrow\",\"TripReview.findFirst\",\"TripReview.findFirstOrThrow\",\"TripReview.findMany\",\"TripReview.createOne\",\"TripReview.createMany\",\"TripReview.createManyAndReturn\",\"TripReview.updateOne\",\"TripReview.updateMany\",\"TripReview.updateManyAndReturn\",\"TripReview.upsertOne\",\"TripReview.deleteOne\",\"TripReview.deleteMany\",\"TripReview.groupBy\",\"TripReview.aggregate\",\"TripImage.findUnique\",\"TripImage.findUniqueOrThrow\",\"TripImage.findFirst\",\"TripImage.findFirstOrThrow\",\"TripImage.findMany\",\"TripImage.createOne\",\"TripImage.createMany\",\"TripImage.createManyAndReturn\",\"TripImage.updateOne\",\"TripImage.updateMany\",\"TripImage.updateManyAndReturn\",\"TripImage.upsertOne\",\"TripImage.deleteOne\",\"TripImage.deleteMany\",\"TripImage.groupBy\",\"TripImage.aggregate\",\"TripParticipant.findUnique\",\"TripParticipant.findUniqueOrThrow\",\"TripParticipant.findFirst\",\"TripParticipant.findFirstOrThrow\",\"TripParticipant.findMany\",\"TripParticipant.createOne\",\"TripParticipant.createMany\",\"TripParticipant.createManyAndReturn\",\"TripParticipant.updateOne\",\"TripParticipant.updateMany\",\"TripParticipant.updateManyAndReturn\",\"TripParticipant.upsertOne\",\"TripParticipant.deleteOne\",\"TripParticipant.deleteMany\",\"TripParticipant.groupBy\",\"TripParticipant.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"ParticipantStatus\",\"status\",\"createdAt\",\"markedPaidAt\",\"paymentConfirmedAt\",\"tripId\",\"userId\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"url\",\"caption\",\"order\",\"rating\",\"comment\",\"updatedAt\",\"title\",\"description\",\"mountain\",\"location\",\"meetingPoint\",\"itinerary\",\"whatsIncluded\",\"whatsExcluded\",\"date\",\"endDate\",\"maxParticipants\",\"price\",\"TripStatus\",\"organizerId\",\"fullName\",\"nikEncrypted\",\"nikHash\",\"birthDate\",\"address\",\"ktpImageKey\",\"selfieKey\",\"bankName\",\"bankAccountNumber\",\"bankAccountName\",\"VerificationStatus\",\"rejectionReason\",\"reviewedAt\",\"reviewedById\",\"verifiedAt\",\"type\",\"provider\",\"providerAccountId\",\"refresh_token\",\"access_token\",\"expires_at\",\"token_type\",\"scope\",\"id_token\",\"session_state\",\"name\",\"email\",\"password\",\"image\",\"acceptedTermsAndPrivacy\",\"acceptedAt\",\"every\",\"some\",\"none\",\"tripId_userId\",\"provider_providerAccountId\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"), + graph: "8QNDcBIEAAD1AQAgCwAA9gEAIAwAAPcBACANAAD4AQAgDwAA-QEAIBAAAPoBACCJAQAA8wEAMIoBAAAeABCLAQAA8wEAMIwBAQAAAAGPAUAA7QEAIaQBQADtAQAhzAEBAOwBACHNAQEAAAABzgEBAO8BACHPAQEA7wEAIdABIAD0AQAh0QFAAPABACEBAAAAAQAgEAMAAPEBACCJAQAAhwIAMIoBAAADABCLAQAAhwIAMIwBAQDsAQAhkwEBAOwBACHCAQEA7AEAIcMBAQDsAQAhxAEBAOwBACHFAQEA7wEAIcYBAQDvAQAhxwECAIgCACHIAQEA7wEAIckBAQDvAQAhygEBAO8BACHLAQEA7wEAIQgDAAC6AwAgxQEAAIkCACDGAQAAiQIAIMcBAACJAgAgyAEAAIkCACDJAQAAiQIAIMoBAACJAgAgywEAAIkCACARAwAA8QEAIIkBAACHAgAwigEAAAMAEIsBAACHAgAwjAEBAAAAAZMBAQDsAQAhwgEBAOwBACHDAQEA7AEAIcQBAQDsAQAhxQEBAO8BACHGAQEA7wEAIccBAgCIAgAhyAEBAO8BACHJAQEA7wEAIcoBAQDvAQAhywEBAO8BACHWAQAAhgIAIAMAAAADACABAAAEADACAAAFACAYBQAA8QEAIAcAAPcBACAIAACFAgAgCQAA-AEAIIkBAACDAgAwigEAAAcAEIsBAACDAgAwjAEBAOwBACGOAQAAhAKyASKPAUAA7QEAIaQBQADtAQAhpQEBAOwBACGmAQEA7wEAIacBAQDsAQAhqAEBAOwBACGpAQEA7wEAIaoBAQDvAQAhqwEBAO8BACGsAQEA7wEAIa0BQADtAQAhrgFAAPABACGvAQIA_QEAIbABAgD9AQAhsgEBAOwBACEKBQAAugMAIAcAALYDACAIAAC8AwAgCQAAtwMAIKYBAACJAgAgqQEAAIkCACCqAQAAiQIAIKsBAACJAgAgrAEAAIkCACCuAQAAiQIAIBgFAADxAQAgBwAA9wEAIAgAAIUCACAJAAD4AQAgiQEAAIMCADCKAQAABwAQiwEAAIMCADCMAQEAAAABjgEAAIQCsgEijwFAAO0BACGkAUAA7QEAIaUBAQDsAQAhpgEBAO8BACGnAQEA7AEAIagBAQDsAQAhqQEBAO8BACGqAQEA7wEAIasBAQDvAQAhrAEBAO8BACGtAUAA7QEAIa4BQADwAQAhrwECAP0BACGwAQIA_QEAIbIBAQDsAQAhAwAAAAcAIAEAAAgAMAIAAAkAIAwDAADxAQAgBgAA_gEAIIkBAACBAgAwigEAAAsAEIsBAACBAgAwjAEBAOwBACGOAQAAggKOASKPAUAA7QEAIZABQADwAQAhkQFAAPABACGSAQEA7AEAIZMBAQDsAQAhBAMAALoDACAGAAC7AwAgkAEAAIkCACCRAQAAiQIAIA0DAADxAQAgBgAA_gEAIIkBAACBAgAwigEAAAsAEIsBAACBAgAwjAEBAAAAAY4BAACCAo4BIo8BQADtAQAhkAFAAPABACGRAUAA8AEAIZIBAQDsAQAhkwEBAOwBACHVAQAAgAIAIAMAAAALACABAAAMADACAAANACAJBgAA_gEAIIkBAAD_AQAwigEAAA8AEIsBAAD_AQAwjAEBAOwBACGSAQEA7AEAIZ8BAQDsAQAhoAEBAO8BACGhAQIA_QEAIQIGAAC7AwAgoAEAAIkCACAJBgAA_gEAIIkBAAD_AQAwigEAAA8AEIsBAAD_AQAwjAEBAAAAAZIBAQDsAQAhnwEBAOwBACGgAQEA7wEAIaEBAgD9AQAhAwAAAA8AIAEAABAAMAIAABEAIAwDAADxAQAgBgAA_gEAIIkBAAD8AQAwigEAABMAEIsBAAD8AQAwjAEBAOwBACGPAUAA7QEAIZIBAQDsAQAhkwEBAOwBACGiAQIA_QEAIaMBAQDvAQAhpAFAAO0BACEDAwAAugMAIAYAALsDACCjAQAAiQIAIA0DAADxAQAgBgAA_gEAIIkBAAD8AQAwigEAABMAEIsBAAD8AQAwjAEBAAAAAY8BQADtAQAhkgEBAOwBACGTAQEA7AEAIaIBAgD9AQAhowEBAO8BACGkAUAA7QEAIdUBAAD7AQAgAwAAABMAIAEAABQAMAIAABUAIAEAAAALACABAAAADwAgAQAAABMAIAMAAAALACABAAAMADACAAANACADAAAAEwAgAQAAFAAwAgAAFQAgGAMAAPEBACAOAADyAQAgiQEAAOsBADCKAQAAHAAQiwEAAOsBADCMAQEA7AEAIY4BAADuAb4BIo8BQADtAQAhkwEBAOwBACGkAUAA7QEAIbMBAQDsAQAhtAEBAOwBACG1AQEA7AEAIbYBQADtAQAhtwEBAOwBACG4AQEA7AEAIbkBAQDsAQAhugEBAOwBACG7AQEA7AEAIbwBAQDsAQAhvgEBAO8BACG_AUAA8AEAIcABAQDvAQAhwQFAAPABACEBAAAAHAAgEgQAAPUBACALAAD2AQAgDAAA9wEAIA0AAPgBACAPAAD5AQAgEAAA-gEAIIkBAADzAQAwigEAAB4AEIsBAADzAQAwjAEBAOwBACGPAUAA7QEAIaQBQADtAQAhzAEBAOwBACHNAQEA7AEAIc4BAQDvAQAhzwEBAO8BACHQASAA9AEAIdEBQADwAQAhAQAAAB4AIAYDAAC6AwAgDgAAugMAIL4BAACJAgAgvwEAAIkCACDAAQAAiQIAIMEBAACJAgAgGAMAAPEBACAOAADyAQAgiQEAAOsBADCKAQAAHAAQiwEAAOsBADCMAQEAAAABjgEAAO4BvgEijwFAAO0BACGTAQEAAAABpAFAAO0BACGzAQEA7AEAIbQBAQDsAQAhtQEBAAAAAbYBQADtAQAhtwEBAOwBACG4AQEA7AEAIbkBAQDsAQAhugEBAOwBACG7AQEA7AEAIbwBAQDsAQAhvgEBAO8BACG_AUAA8AEAIcABAQDvAQAhwQFAAPABACEDAAAAHAAgAQAAIAAwAgAAIQAgAQAAAAMAIAEAAAAHACABAAAACwAgAQAAABMAIAEAAAAcACABAAAAAQAgCQQAALQDACALAAC1AwAgDAAAtgMAIA0AALcDACAPAAC4AwAgEAAAuQMAIM4BAACJAgAgzwEAAIkCACDRAQAAiQIAIAMAAAAeACABAAApADACAAABACADAAAAHgAgAQAAKQAwAgAAAQAgAwAAAB4AIAEAACkAMAIAAAEAIA8EAACuAwAgCwAArwMAIAwAALADACANAACxAwAgDwAAsgMAIBAAALMDACCMAQEAAAABjwFAAAAAAaQBQAAAAAHMAQEAAAABzQEBAAAAAc4BAQAAAAHPAQEAAAAB0AEgAAAAAdEBQAAAAAEBFgAALQAgCYwBAQAAAAGPAUAAAAABpAFAAAAAAcwBAQAAAAHNAQEAAAABzgEBAAAAAc8BAQAAAAHQASAAAAAB0QFAAAAAAQEWAAAvADABFgAALwAwDwQAAO0CACALAADuAgAgDAAA7wIAIA0AAPACACAPAADxAgAgEAAA8gIAIIwBAQCNAgAhjwFAAI8CACGkAUAAjwIAIcwBAQCNAgAhzQEBAI0CACHOAQEAmgIAIc8BAQCaAgAh0AEgAOwCACHRAUAAkAIAIQIAAAABACAWAAAyACAJjAEBAI0CACGPAUAAjwIAIaQBQACPAgAhzAEBAI0CACHNAQEAjQIAIc4BAQCaAgAhzwEBAJoCACHQASAA7AIAIdEBQACQAgAhAgAAAB4AIBYAADQAIAIAAAAeACAWAAA0ACADAAAAAQAgHQAALQAgHgAAMgAgAQAAAAEAIAEAAAAeACAGCgAA6QIAICMAAOsCACAkAADqAgAgzgEAAIkCACDPAQAAiQIAINEBAACJAgAgDIkBAADnAQAwigEAADsAEIsBAADnAQAwjAEBAMUBACGPAUAAxwEAIaQBQADHAQAhzAEBAMUBACHNAQEAxQEAIc4BAQDUAQAhzwEBANQBACHQASAA6AEAIdEBQADIAQAhAwAAAB4AIAEAADoAMCIAADsAIAMAAAAeACABAAApADACAAABACABAAAABQAgAQAAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIA0DAADoAgAgjAEBAAAAAZMBAQAAAAHCAQEAAAABwwEBAAAAAcQBAQAAAAHFAQEAAAABxgEBAAAAAccBAgAAAAHIAQEAAAAByQEBAAAAAcoBAQAAAAHLAQEAAAABARYAAEMAIAyMAQEAAAABkwEBAAAAAcIBAQAAAAHDAQEAAAABxAEBAAAAAcUBAQAAAAHGAQEAAAABxwECAAAAAcgBAQAAAAHJAQEAAAABygEBAAAAAcsBAQAAAAEBFgAARQAwARYAAEUAMA0DAADnAgAgjAEBAI0CACGTAQEAjQIAIcIBAQCNAgAhwwEBAI0CACHEAQEAjQIAIcUBAQCaAgAhxgEBAJoCACHHAQIA5gIAIcgBAQCaAgAhyQEBAJoCACHKAQEAmgIAIcsBAQCaAgAhAgAAAAUAIBYAAEgAIAyMAQEAjQIAIZMBAQCNAgAhwgEBAI0CACHDAQEAjQIAIcQBAQCNAgAhxQEBAJoCACHGAQEAmgIAIccBAgDmAgAhyAEBAJoCACHJAQEAmgIAIcoBAQCaAgAhywEBAJoCACECAAAAAwAgFgAASgAgAgAAAAMAIBYAAEoAIAMAAAAFACAdAABDACAeAABIACABAAAABQAgAQAAAAMAIAwKAADhAgAgIwAA5AIAICQAAOMCACA1AADiAgAgNgAA5QIAIMUBAACJAgAgxgEAAIkCACDHAQAAiQIAIMgBAACJAgAgyQEAAIkCACDKAQAAiQIAIMsBAACJAgAgD4kBAADjAQAwigEAAFEAEIsBAADjAQAwjAEBAMUBACGTAQEAxQEAIcIBAQDFAQAhwwEBAMUBACHEAQEAxQEAIcUBAQDUAQAhxgEBANQBACHHAQIA5AEAIcgBAQDUAQAhyQEBANQBACHKAQEA1AEAIcsBAQDUAQAhAwAAAAMAIAEAAFAAMCIAAFEAIAMAAAADACABAAAEADACAAAFACABAAAAIQAgAQAAACEAIAMAAAAcACABAAAgADACAAAhACADAAAAHAAgAQAAIAAwAgAAIQAgAwAAABwAIAEAACAAMAIAACEAIBUDAADfAgAgDgAA4AIAIIwBAQAAAAGOAQAAAL4BAo8BQAAAAAGTAQEAAAABpAFAAAAAAbMBAQAAAAG0AQEAAAABtQEBAAAAAbYBQAAAAAG3AQEAAAABuAEBAAAAAbkBAQAAAAG6AQEAAAABuwEBAAAAAbwBAQAAAAG-AQEAAAABvwFAAAAAAcABAQAAAAHBAUAAAAABARYAAFkAIBOMAQEAAAABjgEAAAC-AQKPAUAAAAABkwEBAAAAAaQBQAAAAAGzAQEAAAABtAEBAAAAAbUBAQAAAAG2AUAAAAABtwEBAAAAAbgBAQAAAAG5AQEAAAABugEBAAAAAbsBAQAAAAG8AQEAAAABvgEBAAAAAb8BQAAAAAHAAQEAAAABwQFAAAAAAQEWAABbADABFgAAWwAwAQAAAB4AIBUDAADdAgAgDgAA3gIAIIwBAQCNAgAhjgEAANwCvgEijwFAAI8CACGTAQEAjQIAIaQBQACPAgAhswEBAI0CACG0AQEAjQIAIbUBAQCNAgAhtgFAAI8CACG3AQEAjQIAIbgBAQCNAgAhuQEBAI0CACG6AQEAjQIAIbsBAQCNAgAhvAEBAI0CACG-AQEAmgIAIb8BQACQAgAhwAEBAJoCACHBAUAAkAIAIQIAAAAhACAWAABfACATjAEBAI0CACGOAQAA3AK-ASKPAUAAjwIAIZMBAQCNAgAhpAFAAI8CACGzAQEAjQIAIbQBAQCNAgAhtQEBAI0CACG2AUAAjwIAIbcBAQCNAgAhuAEBAI0CACG5AQEAjQIAIboBAQCNAgAhuwEBAI0CACG8AQEAjQIAIb4BAQCaAgAhvwFAAJACACHAAQEAmgIAIcEBQACQAgAhAgAAABwAIBYAAGEAIAIAAAAcACAWAABhACABAAAAHgAgAwAAACEAIB0AAFkAIB4AAF8AIAEAAAAhACABAAAAHAAgBwoAANkCACAjAADbAgAgJAAA2gIAIL4BAACJAgAgvwEAAIkCACDAAQAAiQIAIMEBAACJAgAgFokBAADfAQAwigEAAGkAEIsBAADfAQAwjAEBAMUBACGOAQAA4AG-ASKPAUAAxwEAIZMBAQDFAQAhpAFAAMcBACGzAQEAxQEAIbQBAQDFAQAhtQEBAMUBACG2AUAAxwEAIbcBAQDFAQAhuAEBAMUBACG5AQEAxQEAIboBAQDFAQAhuwEBAMUBACG8AQEAxQEAIb4BAQDUAQAhvwFAAMgBACHAAQEA1AEAIcEBQADIAQAhAwAAABwAIAEAAGgAMCIAAGkAIAMAAAAcACABAAAgADACAAAhACABAAAACQAgAQAAAAkAIAMAAAAHACABAAAIADACAAAJACADAAAABwAgAQAACAAwAgAACQAgAwAAAAcAIAEAAAgAMAIAAAkAIBUFAADVAgAgBwAA1gIAIAgAANcCACAJAADYAgAgjAEBAAAAAY4BAAAAsgECjwFAAAAAAaQBQAAAAAGlAQEAAAABpgEBAAAAAacBAQAAAAGoAQEAAAABqQEBAAAAAaoBAQAAAAGrAQEAAAABrAEBAAAAAa0BQAAAAAGuAUAAAAABrwECAAAAAbABAgAAAAGyAQEAAAABARYAAHEAIBGMAQEAAAABjgEAAACyAQKPAUAAAAABpAFAAAAAAaUBAQAAAAGmAQEAAAABpwEBAAAAAagBAQAAAAGpAQEAAAABqgEBAAAAAasBAQAAAAGsAQEAAAABrQFAAAAAAa4BQAAAAAGvAQIAAAABsAECAAAAAbIBAQAAAAEBFgAAcwAwARYAAHMAMBUFAACtAgAgBwAArgIAIAgAAK8CACAJAACwAgAgjAEBAI0CACGOAQAArAKyASKPAUAAjwIAIaQBQACPAgAhpQEBAI0CACGmAQEAmgIAIacBAQCNAgAhqAEBAI0CACGpAQEAmgIAIaoBAQCaAgAhqwEBAJoCACGsAQEAmgIAIa0BQACPAgAhrgFAAJACACGvAQIAmwIAIbABAgCbAgAhsgEBAI0CACECAAAACQAgFgAAdgAgEYwBAQCNAgAhjgEAAKwCsgEijwFAAI8CACGkAUAAjwIAIaUBAQCNAgAhpgEBAJoCACGnAQEAjQIAIagBAQCNAgAhqQEBAJoCACGqAQEAmgIAIasBAQCaAgAhrAEBAJoCACGtAUAAjwIAIa4BQACQAgAhrwECAJsCACGwAQIAmwIAIbIBAQCNAgAhAgAAAAcAIBYAAHgAIAIAAAAHACAWAAB4ACADAAAACQAgHQAAcQAgHgAAdgAgAQAAAAkAIAEAAAAHACALCgAApwIAICMAAKoCACAkAACpAgAgNQAAqAIAIDYAAKsCACCmAQAAiQIAIKkBAACJAgAgqgEAAIkCACCrAQAAiQIAIKwBAACJAgAgrgEAAIkCACAUiQEAANsBADCKAQAAfwAQiwEAANsBADCMAQEAxQEAIY4BAADcAbIBIo8BQADHAQAhpAFAAMcBACGlAQEAxQEAIaYBAQDUAQAhpwEBAMUBACGoAQEAxQEAIakBAQDUAQAhqgEBANQBACGrAQEA1AEAIawBAQDUAQAhrQFAAMcBACGuAUAAyAEAIa8BAgDVAQAhsAECANUBACGyAQEAxQEAIQMAAAAHACABAAB-ADAiAAB_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-AQibAQAA4QG-ASIHCgAAzQEAICMAAOIBACAkAADiAQAglAEAAAC-AQKVAQAAAL4BCJYBAAAAvgEImwEAAOEBvgEiBJQBAAAAvgEClQEAAAC-AQiWAQAAAL4BCJsBAADiAb4BIg-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_AUAA8AEAIcABAQDvAQAhwQFAAPABACHXAQAAHAAg2AEAABwAIAPSAQAAHAAg0wEAABwAINQBAAAcACACkgEBAAAAAZMBAQAAAAEMAwAA8QEAIAYAAP4BACCJAQAA_AEAMIoBAAATABCLAQAA_AEAMIwBAQDsAQAhjwFAAO0BACGSAQEA7AEAIZMBAQDsAQAhogECAP0BACGjAQEA7wEAIaQBQADtAQAhCJQBAgAAAAGVAQIAAAAElgECAAAABJcBAgAAAAGYAQIAAAABmQECAAAAAZoBAgAAAAGbAQIAzQEAIRoFAADxAQAgBwAA9wEAIAgAAIUCACAJAAD4AQAgiQEAAIMCADCKAQAABwAQiwEAAIMCADCMAQEA7AEAIY4BAACEArIBIo8BQADtAQAhpAFAAO0BACGlAQEA7AEAIaYBAQDvAQAhpwEBAOwBACGoAQEA7AEAIakBAQDvAQAhqgEBAO8BACGrAQEA7wEAIawBAQDvAQAhrQFAAO0BACGuAUAA8AEAIa8BAgD9AQAhsAECAP0BACGyAQEA7AEAIdcBAAAHACDYAQAABwAgCQYAAP4BACCJAQAA_wEAMIoBAAAPABCLAQAA_wEAMIwBAQDsAQAhkgEBAOwBACGfAQEA7AEAIaABAQDvAQAhoQECAP0BACECkgEBAAAAAZMBAQAAAAEMAwAA8QEAIAYAAP4BACCJAQAAgQIAMIoBAAALABCLAQAAgQIAMIwBAQDsAQAhjgEAAIICjgEijwFAAO0BACGQAUAA8AEAIZEBQADwAQAhkgEBAOwBACGTAQEA7AEAIQSUAQAAAI4BApUBAAAAjgEIlgEAAACOAQibAQAA0AGOASIYBQAA8QEAIAcAAPcBACAIAACFAgAgCQAA-AEAIIkBAACDAgAwigEAAAcAEIsBAACDAgAwjAEBAOwBACGOAQAAhAKyASKPAUAA7QEAIaQBQADtAQAhpQEBAOwBACGmAQEA7wEAIacBAQDsAQAhqAEBAOwBACGpAQEA7wEAIaoBAQDvAQAhqwEBAO8BACGsAQEA7wEAIa0BQADtAQAhrgFAAPABACGvAQIA_QEAIbABAgD9AQAhsgEBAOwBACEElAEAAACyAQKVAQAAALIBCJYBAAAAsgEImwEAAN4BsgEiA9IBAAAPACDTAQAADwAg1AEAAA8AIALDAQEAAAABxAEBAAAAARADAADxAQAgiQEAAIcCADCKAQAAAwAQiwEAAIcCADCMAQEA7AEAIZMBAQDsAQAhwgEBAOwBACHDAQEA7AEAIcQBAQDsAQAhxQEBAO8BACHGAQEA7wEAIccBAgCIAgAhyAEBAO8BACHJAQEA7wEAIcoBAQDvAQAhywEBAO8BACEIlAECAAAAAZUBAgAAAAWWAQIAAAAFlwECAAAAAZgBAgAAAAGZAQIAAAABmgECAAAAAZsBAgDKAQAhAAAAAAHcAQEAAAABAdwBAAAAjgECAdwBQAAAAAEB3AFAAAAAAQUdAADqAwAgHgAA8AMAINkBAADrAwAg2gEAAO8DACDfAQAACQAgBR0AAOgDACAeAADtAwAg2QEAAOkDACDaAQAA7AMAIN8BAAABACADHQAA6gMAINkBAADrAwAg3wEAAAkAIAMdAADoAwAg2QEAAOkDACDfAQAAAQAgAAAAAAAB3AEBAAAAAQXcAQIAAAAB4gECAAAAAeMBAgAAAAHkAQIAAAAB5QECAAAAAQUdAADjAwAgHgAA5gMAINkBAADkAwAg2gEAAOUDACDfAQAACQAgAx0AAOMDACDZAQAA5AMAIN8BAAAJACAAAAAAAAUdAADbAwAgHgAA4QMAINkBAADcAwAg2gEAAOADACDfAQAACQAgBR0AANkDACAeAADeAwAg2QEAANoDACDaAQAA3QMAIN8BAAABACADHQAA2wMAINkBAADcAwAg3wEAAAkAIAMdAADZAwAg2QEAANoDACDfAQAAAQAgAAAAAAAB3AEAAACyAQIFHQAA0QMAIB4AANcDACDZAQAA0gMAINoBAADWAwAg3wEAAAEAIAsdAADJAgAwHgAAzgIAMNkBAADKAgAw2gEAAMsCADDbAQAAzAIAINwBAADNAgAw3QEAAM0CADDeAQAAzQIAMN8BAADNAgAw4AEAAM8CADDhAQAA0AIAMAsdAAC9AgAwHgAAwgIAMNkBAAC-AgAw2gEAAL8CADDbAQAAwAIAINwBAADBAgAw3QEAAMECADDeAQAAwQIAMN8BAADBAgAw4AEAAMMCADDhAQAAxAIAMAsdAACxAgAwHgAAtgIAMNkBAACyAgAw2gEAALMCADDbAQAAtAIAINwBAAC1AgAw3QEAALUCADDeAQAAtQIAMN8BAAC1AgAw4AEAALcCADDhAQAAuAIAMAcDAACmAgAgjAEBAAAAAY8BQAAAAAGTAQEAAAABogECAAAAAaMBAQAAAAGkAUAAAAABAgAAABUAIB0AALwCACADAAAAFQAgHQAAvAIAIB4AALsCACABFgAA1QMAMA0DAADxAQAgBgAA_gEAIIkBAAD8AQAwigEAABMAEIsBAAD8AQAwjAEBAAAAAY8BQADtAQAhkgEBAOwBACGTAQEA7AEAIaIBAgD9AQAhowEBAO8BACGkAUAA7QEAIdUBAAD7AQAgAgAAABUAIBYAALsCACACAAAAuQIAIBYAALoCACAKiQEAALgCADCKAQAAuQIAEIsBAAC4AgAwjAEBAOwBACGPAUAA7QEAIZIBAQDsAQAhkwEBAOwBACGiAQIA_QEAIaMBAQDvAQAhpAFAAO0BACEKiQEAALgCADCKAQAAuQIAEIsBAAC4AgAwjAEBAOwBACGPAUAA7QEAIZIBAQDsAQAhkwEBAOwBACGiAQIA_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_AgAgHgAAggMAINkBAACAAwAg2gEAAIEDACDdAQAAHAAg3gEAABwAIN8BAAAhACALHQAA8wIAMB4AAPgCADDZAQAA9AIAMNoBAAD1AgAw2wEAAPYCACDcAQAA9wIAMN0BAAD3AgAw3gEAAPcCADDfAQAA9wIAMOABAAD5AgAw4QEAAPoCADATAwAA3wIAIIwBAQAAAAGOAQAAAL4BAo8BQAAAAAGTAQEAAAABpAFAAAAAAbMBAQAAAAG0AQEAAAABtQEBAAAAAbYBQAAAAAG3AQEAAAABuAEBAAAAAbkBAQAAAAG6AQEAAAABuwEBAAAAAbwBAQAAAAG-AQEAAAABvwFAAAAAAcEBQAAAAAECAAAAIQAgHQAA_gIAIAMAAAAhACAdAAD-AgAgHgAA_QIAIAEWAADBAwAwGAMAAPEBACAOAADyAQAgiQEAAOsBADCKAQAAHAAQiwEAAOsBADCMAQEAAAABjgEAAO4BvgEijwFAAO0BACGTAQEAAAABpAFAAO0BACGzAQEA7AEAIbQBAQDsAQAhtQEBAAAAAbYBQADtAQAhtwEBAOwBACG4AQEA7AEAIbkBAQDsAQAhugEBAOwBACG7AQEA7AEAIbwBAQDsAQAhvgEBAO8BACG_AUAA8AEAIcABAQDvAQAhwQFAAPABACECAAAAIQAgFgAA_QIAIAIAAAD7AgAgFgAA_AIAIBaJAQAA-gIAMIoBAAD7AgAQiwEAAPoCADCMAQEA7AEAIY4BAADuAb4BIo8BQADtAQAhkwEBAOwBACGkAUAA7QEAIbMBAQDsAQAhtAEBAOwBACG1AQEA7AEAIbYBQADtAQAhtwEBAOwBACG4AQEA7AEAIbkBAQDsAQAhugEBAOwBACG7AQEA7AEAIbwBAQDsAQAhvgEBAO8BACG_AUAA8AEAIcABAQDvAQAhwQFAAPABACEWiQEAAPoCADCKAQAA-wIAEIsBAAD6AgAwjAEBAOwBACGOAQAA7gG-ASKPAUAA7QEAIZMBAQDsAQAhpAFAAO0BACGzAQEA7AEAIbQBAQDsAQAhtQEBAOwBACG2AUAA7QEAIbcBAQDsAQAhuAEBAOwBACG5AQEA7AEAIboBAQDsAQAhuwEBAOwBACG8AQEA7AEAIb4BAQDvAQAhvwFAAPABACHAAQEA7wEAIcEBQADwAQAhEowBAQCNAgAhjgEAANwCvgEijwFAAI8CACGTAQEAjQIAIaQBQACPAgAhswEBAI0CACG0AQEAjQIAIbUBAQCNAgAhtgFAAI8CACG3AQEAjQIAIbgBAQCNAgAhuQEBAI0CACG6AQEAjQIAIbsBAQCNAgAhvAEBAI0CACG-AQEAmgIAIb8BQACQAgAhwQFAAJACACETAwAA3QIAIIwBAQCNAgAhjgEAANwCvgEijwFAAI8CACGTAQEAjQIAIaQBQACPAgAhswEBAI0CACG0AQEAjQIAIbUBAQCNAgAhtgFAAI8CACG3AQEAjQIAIbgBAQCNAgAhuQEBAI0CACG6AQEAjQIAIbsBAQCNAgAhvAEBAI0CACG-AQEAmgIAIb8BQACQAgAhwQFAAJACACETAwAA3wIAIIwBAQAAAAGOAQAAAL4BAo8BQAAAAAGTAQEAAAABpAFAAAAAAbMBAQAAAAG0AQEAAAABtQEBAAAAAbYBQAAAAAG3AQEAAAABuAEBAAAAAbkBAQAAAAG6AQEAAAABuwEBAAAAAbwBAQAAAAG-AQEAAAABvwFAAAAAAcEBQAAAAAETDgAA4AIAIIwBAQAAAAGOAQAAAL4BAo8BQAAAAAGkAUAAAAABswEBAAAAAbQBAQAAAAG1AQEAAAABtgFAAAAAAbcBAQAAAAG4AQEAAAABuQEBAAAAAboBAQAAAAG7AQEAAAABvAEBAAAAAb4BAQAAAAG_AUAAAAABwAEBAAAAAcEBQAAAAAECAAAAIQAgHQAA_wIAIAMAAAAcACAdAAD_AgAgHgAAgwMAIBUAAAAcACAOAADeAgAgFgAAgwMAIIwBAQCNAgAhjgEAANwCvgEijwFAAI8CACGkAUAAjwIAIbMBAQCNAgAhtAEBAI0CACG1AQEAjQIAIbYBQACPAgAhtwEBAI0CACG4AQEAjQIAIbkBAQCNAgAhugEBAI0CACG7AQEAjQIAIbwBAQCNAgAhvgEBAJoCACG_AUAAkAIAIcABAQCaAgAhwQFAAJACACETDgAA3gIAIIwBAQCNAgAhjgEAANwCvgEijwFAAI8CACGkAUAAjwIAIbMBAQCNAgAhtAEBAI0CACG1AQEAjQIAIbYBQACPAgAhtwEBAI0CACG4AQEAjQIAIbkBAQCNAgAhugEBAI0CACG7AQEAjQIAIbwBAQCNAgAhvgEBAJoCACG_AUAAkAIAIcABAQCaAgAhwQFAAJACACEHBgAApQIAIIwBAQAAAAGPAUAAAAABkgEBAAAAAaIBAgAAAAGjAQEAAAABpAFAAAAAAQIAAAAVACAdAACMAwAgAwAAABUAIB0AAIwDACAeAACLAwAgARYAAMADADACAAAAFQAgFgAAiwMAIAIAAAC5AgAgFgAAigMAIAaMAQEAjQIAIY8BQACPAgAhkgEBAI0CACGiAQIAmwIAIaMBAQCaAgAhpAFAAI8CACEHBgAAowIAIIwBAQCNAgAhjwFAAI8CACGSAQEAjQIAIaIBAgCbAgAhowEBAJoCACGkAUAAjwIAIQcGAAClAgAgjAEBAAAAAY8BQAAAAAGSAQEAAAABogECAAAAAaMBAQAAAAGkAUAAAAABBwYAAJMCACCMAQEAAAABjgEAAACOAQKPAUAAAAABkAFAAAAAAZEBQAAAAAGSAQEAAAABAgAAAA0AIB0AAJUDACADAAAADQAgHQAAlQMAIB4AAJQDACABFgAAvwMAMAIAAAANACAWAACUAwAgAgAAANECACAWAACTAwAgBowBAQCNAgAhjgEAAI4CjgEijwFAAI8CACGQAUAAkAIAIZEBQACQAgAhkgEBAI0CACEHBgAAkQIAIIwBAQCNAgAhjgEAAI4CjgEijwFAAI8CACGQAUAAkAIAIZEBQACQAgAhkgEBAI0CACEHBgAAkwIAIIwBAQAAAAGOAQAAAI4BAo8BQAAAAAGQAUAAAAABkQFAAAAAAZIBAQAAAAETBwAA1gIAIAgAANcCACAJAADYAgAgjAEBAAAAAY4BAAAAsgECjwFAAAAAAaQBQAAAAAGlAQEAAAABpgEBAAAAAacBAQAAAAGoAQEAAAABqQEBAAAAAaoBAQAAAAGrAQEAAAABrAEBAAAAAa0BQAAAAAGuAUAAAAABrwECAAAAAbABAgAAAAECAAAACQAgHQAAoQMAIAMAAAAJACAdAAChAwAgHgAAoAMAIAEWAAC-AwAwGAUAAPEBACAHAAD3AQAgCAAAhQIAIAkAAPgBACCJAQAAgwIAMIoBAAAHABCLAQAAgwIAMIwBAQAAAAGOAQAAhAKyASKPAUAA7QEAIaQBQADtAQAhpQEBAOwBACGmAQEA7wEAIacBAQDsAQAhqAEBAOwBACGpAQEA7wEAIaoBAQDvAQAhqwEBAO8BACGsAQEA7wEAIa0BQADtAQAhrgFAAPABACGvAQIA_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_AgAg2QEAAIADACDfAQAAIQAgBB0AAPMCADDZAQAA9AIAMNsBAAD2AgAg3wEAAPcCADAAAAAABgMAALoDACAOAAC6AwAgvgEAAIkCACC_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-AQSGAb8BCocBwgE_iAHDAUM" } async function decodeBase64AsWasm(wasmBase64: string): Promise { @@ -198,6 +198,16 @@ export interface PrismaClient< */ get user(): Prisma.UserDelegate; + /** + * `prisma.account`: Exposes CRUD operations for the **Account** model. + * Example usage: + * ```ts + * // Fetch zero or more Accounts + * const accounts = await prisma.account.findMany() + * ``` + */ + get account(): Prisma.AccountDelegate; + /** * `prisma.organizerVerification`: Exposes CRUD operations for the **OrganizerVerification** model. * Example usage: diff --git a/app/generated/prisma/internal/prismaNamespace.ts b/app/generated/prisma/internal/prismaNamespace.ts index 0205ea4..38ead5f 100644 --- a/app/generated/prisma/internal/prismaNamespace.ts +++ b/app/generated/prisma/internal/prismaNamespace.ts @@ -385,6 +385,7 @@ type FieldRefInputType = Model extends never ? never : FieldRe export const ModelName = { User: 'User', + Account: 'Account', OrganizerVerification: 'OrganizerVerification', Trip: 'Trip', TripReview: 'TripReview', @@ -405,7 +406,7 @@ export type TypeMap + fields: Prisma.AccountFieldRefs + operations: { + findUnique: { + args: Prisma.AccountFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.AccountFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.AccountFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.AccountFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.AccountFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.AccountCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.AccountCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.AccountCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.AccountDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.AccountUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.AccountDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.AccountUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.AccountUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.AccountUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.AccountAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.AccountGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.AccountCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } OrganizerVerification: { payload: Prisma.$OrganizerVerificationPayload fields: Prisma.OrganizerVerificationFieldRefs @@ -907,15 +982,34 @@ export const UserScalarFieldEnum = { export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] +export const AccountScalarFieldEnum = { + id: 'id', + userId: 'userId', + type: 'type', + provider: 'provider', + providerAccountId: 'providerAccountId', + refresh_token: 'refresh_token', + access_token: 'access_token', + expires_at: 'expires_at', + token_type: 'token_type', + scope: 'scope', + id_token: 'id_token', + session_state: 'session_state' +} as const + +export type AccountScalarFieldEnum = (typeof AccountScalarFieldEnum)[keyof typeof AccountScalarFieldEnum] + + export const OrganizerVerificationScalarFieldEnum = { id: 'id', userId: 'userId', fullName: 'fullName', - nik: 'nik', + nikEncrypted: 'nikEncrypted', + nikHash: 'nikHash', birthDate: 'birthDate', address: 'address', - ktpImageUrl: 'ktpImageUrl', - selfieUrl: 'selfieUrl', + ktpImageKey: 'ktpImageKey', + selfieKey: 'selfieKey', bankName: 'bankName', bankAccountNumber: 'bankAccountNumber', bankAccountName: 'bankAccountName', @@ -1056,20 +1150,6 @@ export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaM -/** - * Reference to a field of type 'VerificationStatus' - */ -export type EnumVerificationStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'VerificationStatus'> - - - -/** - * Reference to a field of type 'VerificationStatus[]' - */ -export type ListEnumVerificationStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'VerificationStatus[]'> - - - /** * Reference to a field of type 'Int' */ @@ -1084,6 +1164,20 @@ export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, +/** + * Reference to a field of type 'VerificationStatus' + */ +export type EnumVerificationStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'VerificationStatus'> + + + +/** + * Reference to a field of type 'VerificationStatus[]' + */ +export type ListEnumVerificationStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'VerificationStatus[]'> + + + /** * Reference to a field of type 'TripStatus' */ @@ -1221,6 +1315,7 @@ export type PrismaClientOptions = ({ } export type GlobalOmitConfig = { user?: Prisma.UserOmit + account?: Prisma.AccountOmit organizerVerification?: Prisma.OrganizerVerificationOmit trip?: Prisma.TripOmit tripReview?: Prisma.TripReviewOmit diff --git a/app/generated/prisma/internal/prismaNamespaceBrowser.ts b/app/generated/prisma/internal/prismaNamespaceBrowser.ts index bdad7e8..8280f75 100644 --- a/app/generated/prisma/internal/prismaNamespaceBrowser.ts +++ b/app/generated/prisma/internal/prismaNamespaceBrowser.ts @@ -52,6 +52,7 @@ export const AnyNull = runtime.AnyNull export const ModelName = { User: 'User', + Account: 'Account', OrganizerVerification: 'OrganizerVerification', Trip: 'Trip', TripReview: 'TripReview', @@ -90,15 +91,34 @@ export const UserScalarFieldEnum = { export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] +export const AccountScalarFieldEnum = { + id: 'id', + userId: 'userId', + type: 'type', + provider: 'provider', + providerAccountId: 'providerAccountId', + refresh_token: 'refresh_token', + access_token: 'access_token', + expires_at: 'expires_at', + token_type: 'token_type', + scope: 'scope', + id_token: 'id_token', + session_state: 'session_state' +} as const + +export type AccountScalarFieldEnum = (typeof AccountScalarFieldEnum)[keyof typeof AccountScalarFieldEnum] + + export const OrganizerVerificationScalarFieldEnum = { id: 'id', userId: 'userId', fullName: 'fullName', - nik: 'nik', + nikEncrypted: 'nikEncrypted', + nikHash: 'nikHash', birthDate: 'birthDate', address: 'address', - ktpImageUrl: 'ktpImageUrl', - selfieUrl: 'selfieUrl', + ktpImageKey: 'ktpImageKey', + selfieKey: 'selfieKey', bankName: 'bankName', bankAccountNumber: 'bankAccountNumber', bankAccountName: 'bankAccountName', diff --git a/app/generated/prisma/models.ts b/app/generated/prisma/models.ts index 405db2b..24a7fdc 100644 --- a/app/generated/prisma/models.ts +++ b/app/generated/prisma/models.ts @@ -9,6 +9,7 @@ * 🟢 You can import this file directly. */ export type * from './models/User' +export type * from './models/Account' export type * from './models/OrganizerVerification' export type * from './models/Trip' export type * from './models/TripReview' diff --git a/app/generated/prisma/models/Account.ts b/app/generated/prisma/models/Account.ts new file mode 100644 index 0000000..3c7938a --- /dev/null +++ b/app/generated/prisma/models/Account.ts @@ -0,0 +1,1649 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Account` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model Account + * Tabel link akun OAuth pihak ketiga (Google, dst). Diisi oleh PrismaAdapter NextAuth. + * Session tidak pakai DB — kita pakai JWT, jadi Session/VerificationToken tidak perlu. + */ +export type AccountModel = runtime.Types.Result.DefaultSelection + +export type AggregateAccount = { + _count: AccountCountAggregateOutputType | null + _avg: AccountAvgAggregateOutputType | null + _sum: AccountSumAggregateOutputType | null + _min: AccountMinAggregateOutputType | null + _max: AccountMaxAggregateOutputType | null +} + +export type AccountAvgAggregateOutputType = { + expires_at: number | null +} + +export type AccountSumAggregateOutputType = { + expires_at: number | null +} + +export type AccountMinAggregateOutputType = { + id: string | null + userId: string | null + type: string | null + provider: string | null + providerAccountId: string | null + refresh_token: string | null + access_token: string | null + expires_at: number | null + token_type: string | null + scope: string | null + id_token: string | null + session_state: string | null +} + +export type AccountMaxAggregateOutputType = { + id: string | null + userId: string | null + type: string | null + provider: string | null + providerAccountId: string | null + refresh_token: string | null + access_token: string | null + expires_at: number | null + token_type: string | null + scope: string | null + id_token: string | null + session_state: string | null +} + +export type AccountCountAggregateOutputType = { + id: number + userId: number + type: number + provider: number + providerAccountId: number + refresh_token: number + access_token: number + expires_at: number + token_type: number + scope: number + id_token: number + session_state: number + _all: number +} + + +export type AccountAvgAggregateInputType = { + expires_at?: true +} + +export type AccountSumAggregateInputType = { + expires_at?: true +} + +export type AccountMinAggregateInputType = { + id?: true + userId?: true + type?: true + provider?: true + providerAccountId?: true + refresh_token?: true + access_token?: true + expires_at?: true + token_type?: true + scope?: true + id_token?: true + session_state?: true +} + +export type AccountMaxAggregateInputType = { + id?: true + userId?: true + type?: true + provider?: true + providerAccountId?: true + refresh_token?: true + access_token?: true + expires_at?: true + token_type?: true + scope?: true + id_token?: true + session_state?: true +} + +export type AccountCountAggregateInputType = { + id?: true + userId?: true + type?: true + provider?: true + providerAccountId?: true + refresh_token?: true + access_token?: true + expires_at?: true + token_type?: true + scope?: true + id_token?: true + session_state?: true + _all?: true +} + +export type AccountAggregateArgs = { + /** + * Filter which Account to aggregate. + */ + where?: Prisma.AccountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Accounts to fetch. + */ + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.AccountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Accounts from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Accounts. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Accounts + **/ + _count?: true | AccountCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: AccountAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: AccountSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: AccountMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: AccountMaxAggregateInputType +} + +export type GetAccountAggregateType = { + [P in keyof T & keyof AggregateAccount]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type AccountGroupByArgs = { + where?: Prisma.AccountWhereInput + orderBy?: Prisma.AccountOrderByWithAggregationInput | Prisma.AccountOrderByWithAggregationInput[] + by: Prisma.AccountScalarFieldEnum[] | Prisma.AccountScalarFieldEnum + having?: Prisma.AccountScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: AccountCountAggregateInputType | true + _avg?: AccountAvgAggregateInputType + _sum?: AccountSumAggregateInputType + _min?: AccountMinAggregateInputType + _max?: AccountMaxAggregateInputType +} + +export type AccountGroupByOutputType = { + id: string + userId: string + type: string + provider: string + providerAccountId: string + refresh_token: string | null + access_token: string | null + expires_at: number | null + token_type: string | null + scope: string | null + id_token: string | null + session_state: string | null + _count: AccountCountAggregateOutputType | null + _avg: AccountAvgAggregateOutputType | null + _sum: AccountSumAggregateOutputType | null + _min: AccountMinAggregateOutputType | null + _max: AccountMaxAggregateOutputType | null +} + +export type GetAccountGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof AccountGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type AccountWhereInput = { + AND?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] + OR?: Prisma.AccountWhereInput[] + NOT?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] + id?: Prisma.StringFilter<"Account"> | string + userId?: Prisma.StringFilter<"Account"> | string + type?: Prisma.StringFilter<"Account"> | string + provider?: Prisma.StringFilter<"Account"> | string + providerAccountId?: Prisma.StringFilter<"Account"> | string + refresh_token?: Prisma.StringNullableFilter<"Account"> | string | null + access_token?: Prisma.StringNullableFilter<"Account"> | string | null + expires_at?: Prisma.IntNullableFilter<"Account"> | number | null + token_type?: Prisma.StringNullableFilter<"Account"> | string | null + scope?: Prisma.StringNullableFilter<"Account"> | string | null + id_token?: Prisma.StringNullableFilter<"Account"> | string | null + session_state?: Prisma.StringNullableFilter<"Account"> | string | null + user?: Prisma.XOR +} + +export type AccountOrderByWithRelationInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + type?: Prisma.SortOrder + provider?: Prisma.SortOrder + providerAccountId?: Prisma.SortOrder + refresh_token?: Prisma.SortOrderInput | Prisma.SortOrder + access_token?: Prisma.SortOrderInput | Prisma.SortOrder + expires_at?: Prisma.SortOrderInput | Prisma.SortOrder + token_type?: Prisma.SortOrderInput | Prisma.SortOrder + scope?: Prisma.SortOrderInput | Prisma.SortOrder + id_token?: Prisma.SortOrderInput | Prisma.SortOrder + session_state?: Prisma.SortOrderInput | Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput +} + +export type AccountWhereUniqueInput = Prisma.AtLeast<{ + id?: string + provider_providerAccountId?: Prisma.AccountProviderProviderAccountIdCompoundUniqueInput + AND?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] + OR?: Prisma.AccountWhereInput[] + NOT?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] + userId?: Prisma.StringFilter<"Account"> | string + type?: Prisma.StringFilter<"Account"> | string + provider?: Prisma.StringFilter<"Account"> | string + providerAccountId?: Prisma.StringFilter<"Account"> | string + refresh_token?: Prisma.StringNullableFilter<"Account"> | string | null + access_token?: Prisma.StringNullableFilter<"Account"> | string | null + expires_at?: Prisma.IntNullableFilter<"Account"> | number | null + token_type?: Prisma.StringNullableFilter<"Account"> | string | null + scope?: Prisma.StringNullableFilter<"Account"> | string | null + id_token?: Prisma.StringNullableFilter<"Account"> | string | null + session_state?: Prisma.StringNullableFilter<"Account"> | string | null + user?: Prisma.XOR +}, "id" | "provider_providerAccountId"> + +export type AccountOrderByWithAggregationInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + type?: Prisma.SortOrder + provider?: Prisma.SortOrder + providerAccountId?: Prisma.SortOrder + refresh_token?: Prisma.SortOrderInput | Prisma.SortOrder + access_token?: Prisma.SortOrderInput | Prisma.SortOrder + expires_at?: Prisma.SortOrderInput | Prisma.SortOrder + token_type?: Prisma.SortOrderInput | Prisma.SortOrder + scope?: Prisma.SortOrderInput | Prisma.SortOrder + id_token?: Prisma.SortOrderInput | Prisma.SortOrder + session_state?: Prisma.SortOrderInput | Prisma.SortOrder + _count?: Prisma.AccountCountOrderByAggregateInput + _avg?: Prisma.AccountAvgOrderByAggregateInput + _max?: Prisma.AccountMaxOrderByAggregateInput + _min?: Prisma.AccountMinOrderByAggregateInput + _sum?: Prisma.AccountSumOrderByAggregateInput +} + +export type AccountScalarWhereWithAggregatesInput = { + AND?: Prisma.AccountScalarWhereWithAggregatesInput | Prisma.AccountScalarWhereWithAggregatesInput[] + OR?: Prisma.AccountScalarWhereWithAggregatesInput[] + NOT?: Prisma.AccountScalarWhereWithAggregatesInput | Prisma.AccountScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Account"> | string + userId?: Prisma.StringWithAggregatesFilter<"Account"> | string + type?: Prisma.StringWithAggregatesFilter<"Account"> | string + provider?: Prisma.StringWithAggregatesFilter<"Account"> | string + providerAccountId?: Prisma.StringWithAggregatesFilter<"Account"> | string + refresh_token?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + access_token?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + expires_at?: Prisma.IntNullableWithAggregatesFilter<"Account"> | number | null + token_type?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + scope?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + id_token?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + session_state?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null +} + +export type AccountCreateInput = { + id?: string + type: string + provider: string + providerAccountId: string + refresh_token?: string | null + access_token?: string | null + expires_at?: number | null + token_type?: string | null + scope?: string | null + id_token?: string | null + session_state?: string | null + user: Prisma.UserCreateNestedOneWithoutAccountsInput +} + +export type AccountUncheckedCreateInput = { + id?: string + userId: string + type: string + provider: string + providerAccountId: string + refresh_token?: string | null + access_token?: string | null + expires_at?: number | null + token_type?: string | null + scope?: string | null + id_token?: string | null + session_state?: string | null +} + +export type AccountUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + user?: Prisma.UserUpdateOneRequiredWithoutAccountsNestedInput +} + +export type AccountUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type AccountCreateManyInput = { + id?: string + userId: string + type: string + provider: string + providerAccountId: string + refresh_token?: string | null + access_token?: string | null + expires_at?: number | null + token_type?: string | null + scope?: string | null + id_token?: string | null + session_state?: string | null +} + +export type AccountUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type AccountUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type AccountListRelationFilter = { + every?: Prisma.AccountWhereInput + some?: Prisma.AccountWhereInput + none?: Prisma.AccountWhereInput +} + +export type AccountOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type AccountProviderProviderAccountIdCompoundUniqueInput = { + provider: string + providerAccountId: string +} + +export type AccountCountOrderByAggregateInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + type?: Prisma.SortOrder + provider?: Prisma.SortOrder + providerAccountId?: Prisma.SortOrder + refresh_token?: Prisma.SortOrder + access_token?: Prisma.SortOrder + expires_at?: Prisma.SortOrder + token_type?: Prisma.SortOrder + scope?: Prisma.SortOrder + id_token?: Prisma.SortOrder + session_state?: Prisma.SortOrder +} + +export type AccountAvgOrderByAggregateInput = { + expires_at?: Prisma.SortOrder +} + +export type AccountMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + type?: Prisma.SortOrder + provider?: Prisma.SortOrder + providerAccountId?: Prisma.SortOrder + refresh_token?: Prisma.SortOrder + access_token?: Prisma.SortOrder + expires_at?: Prisma.SortOrder + token_type?: Prisma.SortOrder + scope?: Prisma.SortOrder + id_token?: Prisma.SortOrder + session_state?: Prisma.SortOrder +} + +export type AccountMinOrderByAggregateInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + type?: Prisma.SortOrder + provider?: Prisma.SortOrder + providerAccountId?: Prisma.SortOrder + refresh_token?: Prisma.SortOrder + access_token?: Prisma.SortOrder + expires_at?: Prisma.SortOrder + token_type?: Prisma.SortOrder + scope?: Prisma.SortOrder + id_token?: Prisma.SortOrder + session_state?: Prisma.SortOrder +} + +export type AccountSumOrderByAggregateInput = { + expires_at?: Prisma.SortOrder +} + +export type AccountCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.AccountCreateWithoutUserInput[] | Prisma.AccountUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.AccountCreateOrConnectWithoutUserInput | Prisma.AccountCreateOrConnectWithoutUserInput[] + createMany?: Prisma.AccountCreateManyUserInputEnvelope + connect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] +} + +export type AccountUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.AccountCreateWithoutUserInput[] | Prisma.AccountUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.AccountCreateOrConnectWithoutUserInput | Prisma.AccountCreateOrConnectWithoutUserInput[] + createMany?: Prisma.AccountCreateManyUserInputEnvelope + connect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] +} + +export type AccountUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.AccountCreateWithoutUserInput[] | Prisma.AccountUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.AccountCreateOrConnectWithoutUserInput | Prisma.AccountCreateOrConnectWithoutUserInput[] + upsert?: Prisma.AccountUpsertWithWhereUniqueWithoutUserInput | Prisma.AccountUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.AccountCreateManyUserInputEnvelope + set?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + disconnect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + delete?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + connect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + update?: Prisma.AccountUpdateWithWhereUniqueWithoutUserInput | Prisma.AccountUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.AccountUpdateManyWithWhereWithoutUserInput | Prisma.AccountUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.AccountScalarWhereInput | Prisma.AccountScalarWhereInput[] +} + +export type AccountUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.AccountCreateWithoutUserInput[] | Prisma.AccountUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.AccountCreateOrConnectWithoutUserInput | Prisma.AccountCreateOrConnectWithoutUserInput[] + upsert?: Prisma.AccountUpsertWithWhereUniqueWithoutUserInput | Prisma.AccountUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.AccountCreateManyUserInputEnvelope + set?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + disconnect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + delete?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + connect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + update?: Prisma.AccountUpdateWithWhereUniqueWithoutUserInput | Prisma.AccountUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.AccountUpdateManyWithWhereWithoutUserInput | Prisma.AccountUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.AccountScalarWhereInput | Prisma.AccountScalarWhereInput[] +} + +export type NullableIntFieldUpdateOperationsInput = { + set?: number | null + increment?: number + decrement?: number + multiply?: number + divide?: number +} + +export type AccountCreateWithoutUserInput = { + id?: string + type: string + provider: string + providerAccountId: string + refresh_token?: string | null + access_token?: string | null + expires_at?: number | null + token_type?: string | null + scope?: string | null + id_token?: string | null + session_state?: string | null +} + +export type AccountUncheckedCreateWithoutUserInput = { + id?: string + type: string + provider: string + providerAccountId: string + refresh_token?: string | null + access_token?: string | null + expires_at?: number | null + token_type?: string | null + scope?: string | null + id_token?: string | null + session_state?: string | null +} + +export type AccountCreateOrConnectWithoutUserInput = { + where: Prisma.AccountWhereUniqueInput + create: Prisma.XOR +} + +export type AccountCreateManyUserInputEnvelope = { + data: Prisma.AccountCreateManyUserInput | Prisma.AccountCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type AccountUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.AccountWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type AccountUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.AccountWhereUniqueInput + data: Prisma.XOR +} + +export type AccountUpdateManyWithWhereWithoutUserInput = { + where: Prisma.AccountScalarWhereInput + data: Prisma.XOR +} + +export type AccountScalarWhereInput = { + AND?: Prisma.AccountScalarWhereInput | Prisma.AccountScalarWhereInput[] + OR?: Prisma.AccountScalarWhereInput[] + NOT?: Prisma.AccountScalarWhereInput | Prisma.AccountScalarWhereInput[] + id?: Prisma.StringFilter<"Account"> | string + userId?: Prisma.StringFilter<"Account"> | string + type?: Prisma.StringFilter<"Account"> | string + provider?: Prisma.StringFilter<"Account"> | string + providerAccountId?: Prisma.StringFilter<"Account"> | string + refresh_token?: Prisma.StringNullableFilter<"Account"> | string | null + access_token?: Prisma.StringNullableFilter<"Account"> | string | null + expires_at?: Prisma.IntNullableFilter<"Account"> | number | null + token_type?: Prisma.StringNullableFilter<"Account"> | string | null + scope?: Prisma.StringNullableFilter<"Account"> | string | null + id_token?: Prisma.StringNullableFilter<"Account"> | string | null + session_state?: Prisma.StringNullableFilter<"Account"> | string | null +} + +export type AccountCreateManyUserInput = { + id?: string + type: string + provider: string + providerAccountId: string + refresh_token?: string | null + access_token?: string | null + expires_at?: number | null + token_type?: string | null + scope?: string | null + id_token?: string | null + session_state?: string | null +} + +export type AccountUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type AccountUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type AccountUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + + + +export type AccountSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + userId?: boolean + type?: boolean + provider?: boolean + providerAccountId?: boolean + refresh_token?: boolean + access_token?: boolean + expires_at?: boolean + token_type?: boolean + scope?: boolean + id_token?: boolean + session_state?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["account"]> + +export type AccountSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + userId?: boolean + type?: boolean + provider?: boolean + providerAccountId?: boolean + refresh_token?: boolean + access_token?: boolean + expires_at?: boolean + token_type?: boolean + scope?: boolean + id_token?: boolean + session_state?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["account"]> + +export type AccountSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + userId?: boolean + type?: boolean + provider?: boolean + providerAccountId?: boolean + refresh_token?: boolean + access_token?: boolean + expires_at?: boolean + token_type?: boolean + scope?: boolean + id_token?: boolean + session_state?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["account"]> + +export type AccountSelectScalar = { + id?: boolean + userId?: boolean + type?: boolean + provider?: boolean + providerAccountId?: boolean + refresh_token?: boolean + access_token?: boolean + expires_at?: boolean + token_type?: boolean + scope?: boolean + id_token?: boolean + session_state?: boolean +} + +export type AccountOmit = runtime.Types.Extensions.GetOmit<"id" | "userId" | "type" | "provider" | "providerAccountId" | "refresh_token" | "access_token" | "expires_at" | "token_type" | "scope" | "id_token" | "session_state", ExtArgs["result"]["account"]> +export type AccountInclude = { + user?: boolean | Prisma.UserDefaultArgs +} +export type AccountIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} +export type AccountIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} + +export type $AccountPayload = { + name: "Account" + objects: { + user: Prisma.$UserPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + userId: string + type: string + provider: string + providerAccountId: string + refresh_token: string | null + access_token: string | null + expires_at: number | null + token_type: string | null + scope: string | null + id_token: string | null + session_state: string | null + }, ExtArgs["result"]["account"]> + composites: {} +} + +export type AccountGetPayload = runtime.Types.Result.GetResult + +export type AccountCountArgs = + Omit & { + select?: AccountCountAggregateInputType | true + } + +export interface AccountDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Account'], meta: { name: 'Account' } } + /** + * Find zero or one Account that matches the filter. + * @param {AccountFindUniqueArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Account that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {AccountFindUniqueOrThrowArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Account that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountFindFirstArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Account that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountFindFirstOrThrowArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Accounts that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Accounts + * const accounts = await prisma.account.findMany() + * + * // Get first 10 Accounts + * const accounts = await prisma.account.findMany({ take: 10 }) + * + * // Only select the `id` + * const accountWithIdOnly = await prisma.account.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Account. + * @param {AccountCreateArgs} args - Arguments to create a Account. + * @example + * // Create one Account + * const Account = await prisma.account.create({ + * data: { + * // ... data to create a Account + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Accounts. + * @param {AccountCreateManyArgs} args - Arguments to create many Accounts. + * @example + * // Create many Accounts + * const account = await prisma.account.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Accounts and returns the data saved in the database. + * @param {AccountCreateManyAndReturnArgs} args - Arguments to create many Accounts. + * @example + * // Create many Accounts + * const account = await prisma.account.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Accounts and only return the `id` + * const accountWithIdOnly = await prisma.account.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Account. + * @param {AccountDeleteArgs} args - Arguments to delete one Account. + * @example + * // Delete one Account + * const Account = await prisma.account.delete({ + * where: { + * // ... filter to delete one Account + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Account. + * @param {AccountUpdateArgs} args - Arguments to update one Account. + * @example + * // Update one Account + * const account = await prisma.account.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Accounts. + * @param {AccountDeleteManyArgs} args - Arguments to filter Accounts to delete. + * @example + * // Delete a few Accounts + * const { count } = await prisma.account.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Accounts. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Accounts + * const account = await prisma.account.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Accounts and returns the data updated in the database. + * @param {AccountUpdateManyAndReturnArgs} args - Arguments to update many Accounts. + * @example + * // Update many Accounts + * const account = await prisma.account.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Accounts and only return the `id` + * const accountWithIdOnly = await prisma.account.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Account. + * @param {AccountUpsertArgs} args - Arguments to update or create a Account. + * @example + * // Update or create a Account + * const account = await prisma.account.upsert({ + * create: { + * // ... data to create a Account + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Account we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Accounts. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountCountArgs} args - Arguments to filter Accounts to count. + * @example + * // Count the number of Accounts + * const count = await prisma.account.count({ + * where: { + * // ... the filter for the Accounts we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Account. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Account. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends AccountGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: AccountGroupByArgs['orderBy'] } + : { orderBy?: AccountGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetAccountGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Account model + */ +readonly fields: AccountFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Account. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__AccountClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Account model + */ +export interface AccountFieldRefs { + readonly id: Prisma.FieldRef<"Account", 'String'> + readonly userId: Prisma.FieldRef<"Account", 'String'> + readonly type: Prisma.FieldRef<"Account", 'String'> + readonly provider: Prisma.FieldRef<"Account", 'String'> + readonly providerAccountId: Prisma.FieldRef<"Account", 'String'> + readonly refresh_token: Prisma.FieldRef<"Account", 'String'> + readonly access_token: Prisma.FieldRef<"Account", 'String'> + readonly expires_at: Prisma.FieldRef<"Account", 'Int'> + readonly token_type: Prisma.FieldRef<"Account", 'String'> + readonly scope: Prisma.FieldRef<"Account", 'String'> + readonly id_token: Prisma.FieldRef<"Account", 'String'> + readonly session_state: Prisma.FieldRef<"Account", 'String'> +} + + +// Custom InputTypes +/** + * Account findUnique + */ +export type AccountFindUniqueArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Account to fetch. + */ + where: Prisma.AccountWhereUniqueInput +} + +/** + * Account findUniqueOrThrow + */ +export type AccountFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Account to fetch. + */ + where: Prisma.AccountWhereUniqueInput +} + +/** + * Account findFirst + */ +export type AccountFindFirstArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Account to fetch. + */ + where?: Prisma.AccountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Accounts to fetch. + */ + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Accounts. + */ + cursor?: Prisma.AccountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Accounts from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Accounts. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Accounts. + */ + distinct?: Prisma.AccountScalarFieldEnum | Prisma.AccountScalarFieldEnum[] +} + +/** + * Account findFirstOrThrow + */ +export type AccountFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Account to fetch. + */ + where?: Prisma.AccountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Accounts to fetch. + */ + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Accounts. + */ + cursor?: Prisma.AccountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Accounts from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Accounts. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Accounts. + */ + distinct?: Prisma.AccountScalarFieldEnum | Prisma.AccountScalarFieldEnum[] +} + +/** + * Account findMany + */ +export type AccountFindManyArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Accounts to fetch. + */ + where?: Prisma.AccountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Accounts to fetch. + */ + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Accounts. + */ + cursor?: Prisma.AccountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Accounts from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Accounts. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Accounts. + */ + distinct?: Prisma.AccountScalarFieldEnum | Prisma.AccountScalarFieldEnum[] +} + +/** + * Account create + */ +export type AccountCreateArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * The data needed to create a Account. + */ + data: Prisma.XOR +} + +/** + * Account createMany + */ +export type AccountCreateManyArgs = { + /** + * The data used to create many Accounts. + */ + data: Prisma.AccountCreateManyInput | Prisma.AccountCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Account createManyAndReturn + */ +export type AccountCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * The data used to create many Accounts. + */ + data: Prisma.AccountCreateManyInput | Prisma.AccountCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountIncludeCreateManyAndReturn | null +} + +/** + * Account update + */ +export type AccountUpdateArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * The data needed to update a Account. + */ + data: Prisma.XOR + /** + * Choose, which Account to update. + */ + where: Prisma.AccountWhereUniqueInput +} + +/** + * Account updateMany + */ +export type AccountUpdateManyArgs = { + /** + * The data used to update Accounts. + */ + data: Prisma.XOR + /** + * Filter which Accounts to update + */ + where?: Prisma.AccountWhereInput + /** + * Limit how many Accounts to update. + */ + limit?: number +} + +/** + * Account updateManyAndReturn + */ +export type AccountUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * The data used to update Accounts. + */ + data: Prisma.XOR + /** + * Filter which Accounts to update + */ + where?: Prisma.AccountWhereInput + /** + * Limit how many Accounts to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountIncludeUpdateManyAndReturn | null +} + +/** + * Account upsert + */ +export type AccountUpsertArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * The filter to search for the Account to update in case it exists. + */ + where: Prisma.AccountWhereUniqueInput + /** + * In case the Account found by the `where` argument doesn't exist, create a new Account with this data. + */ + create: Prisma.XOR + /** + * In case the Account was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Account delete + */ +export type AccountDeleteArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter which Account to delete. + */ + where: Prisma.AccountWhereUniqueInput +} + +/** + * Account deleteMany + */ +export type AccountDeleteManyArgs = { + /** + * Filter which Accounts to delete + */ + where?: Prisma.AccountWhereInput + /** + * Limit how many Accounts to delete. + */ + limit?: number +} + +/** + * Account without action + */ +export type AccountDefaultArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null +} diff --git a/app/generated/prisma/models/OrganizerVerification.ts b/app/generated/prisma/models/OrganizerVerification.ts index 304f7de..a4ac187 100644 --- a/app/generated/prisma/models/OrganizerVerification.ts +++ b/app/generated/prisma/models/OrganizerVerification.ts @@ -28,11 +28,12 @@ export type OrganizerVerificationMinAggregateOutputType = { id: string | null userId: string | null fullName: string | null - nik: string | null + nikEncrypted: string | null + nikHash: string | null birthDate: Date | null address: string | null - ktpImageUrl: string | null - selfieUrl: string | null + ktpImageKey: string | null + selfieKey: string | null bankName: string | null bankAccountNumber: string | null bankAccountName: string | null @@ -49,11 +50,12 @@ export type OrganizerVerificationMaxAggregateOutputType = { id: string | null userId: string | null fullName: string | null - nik: string | null + nikEncrypted: string | null + nikHash: string | null birthDate: Date | null address: string | null - ktpImageUrl: string | null - selfieUrl: string | null + ktpImageKey: string | null + selfieKey: string | null bankName: string | null bankAccountNumber: string | null bankAccountName: string | null @@ -70,11 +72,12 @@ export type OrganizerVerificationCountAggregateOutputType = { id: number userId: number fullName: number - nik: number + nikEncrypted: number + nikHash: number birthDate: number address: number - ktpImageUrl: number - selfieUrl: number + ktpImageKey: number + selfieKey: number bankName: number bankAccountNumber: number bankAccountName: number @@ -93,11 +96,12 @@ export type OrganizerVerificationMinAggregateInputType = { id?: true userId?: true fullName?: true - nik?: true + nikEncrypted?: true + nikHash?: true birthDate?: true address?: true - ktpImageUrl?: true - selfieUrl?: true + ktpImageKey?: true + selfieKey?: true bankName?: true bankAccountNumber?: true bankAccountName?: true @@ -114,11 +118,12 @@ export type OrganizerVerificationMaxAggregateInputType = { id?: true userId?: true fullName?: true - nik?: true + nikEncrypted?: true + nikHash?: true birthDate?: true address?: true - ktpImageUrl?: true - selfieUrl?: true + ktpImageKey?: true + selfieKey?: true bankName?: true bankAccountNumber?: true bankAccountName?: true @@ -135,11 +140,12 @@ export type OrganizerVerificationCountAggregateInputType = { id?: true userId?: true fullName?: true - nik?: true + nikEncrypted?: true + nikHash?: true birthDate?: true address?: true - ktpImageUrl?: true - selfieUrl?: true + ktpImageKey?: true + selfieKey?: true bankName?: true bankAccountNumber?: true bankAccountName?: true @@ -229,11 +235,12 @@ export type OrganizerVerificationGroupByOutputType = { id: string userId: string fullName: string - nik: string + nikEncrypted: string + nikHash: string birthDate: Date address: string - ktpImageUrl: string - selfieUrl: string + ktpImageKey: string + selfieKey: string bankName: string bankAccountNumber: string bankAccountName: string @@ -271,11 +278,12 @@ export type OrganizerVerificationWhereInput = { id?: Prisma.StringFilter<"OrganizerVerification"> | string userId?: Prisma.StringFilter<"OrganizerVerification"> | string fullName?: Prisma.StringFilter<"OrganizerVerification"> | string - nik?: Prisma.StringFilter<"OrganizerVerification"> | string + nikEncrypted?: Prisma.StringFilter<"OrganizerVerification"> | string + nikHash?: Prisma.StringFilter<"OrganizerVerification"> | string birthDate?: Prisma.DateTimeFilter<"OrganizerVerification"> | Date | string address?: Prisma.StringFilter<"OrganizerVerification"> | string - ktpImageUrl?: Prisma.StringFilter<"OrganizerVerification"> | string - selfieUrl?: Prisma.StringFilter<"OrganizerVerification"> | string + ktpImageKey?: Prisma.StringFilter<"OrganizerVerification"> | string + selfieKey?: Prisma.StringFilter<"OrganizerVerification"> | string bankName?: Prisma.StringFilter<"OrganizerVerification"> | string bankAccountNumber?: Prisma.StringFilter<"OrganizerVerification"> | string bankAccountName?: Prisma.StringFilter<"OrganizerVerification"> | string @@ -294,11 +302,12 @@ export type OrganizerVerificationOrderByWithRelationInput = { id?: Prisma.SortOrder userId?: Prisma.SortOrder fullName?: Prisma.SortOrder - nik?: Prisma.SortOrder + nikEncrypted?: Prisma.SortOrder + nikHash?: Prisma.SortOrder birthDate?: Prisma.SortOrder address?: Prisma.SortOrder - ktpImageUrl?: Prisma.SortOrder - selfieUrl?: Prisma.SortOrder + ktpImageKey?: Prisma.SortOrder + selfieKey?: Prisma.SortOrder bankName?: Prisma.SortOrder bankAccountNumber?: Prisma.SortOrder bankAccountName?: Prisma.SortOrder @@ -316,15 +325,16 @@ export type OrganizerVerificationOrderByWithRelationInput = { export type OrganizerVerificationWhereUniqueInput = Prisma.AtLeast<{ id?: string userId?: string - nik?: string + nikHash?: string AND?: Prisma.OrganizerVerificationWhereInput | Prisma.OrganizerVerificationWhereInput[] OR?: Prisma.OrganizerVerificationWhereInput[] NOT?: Prisma.OrganizerVerificationWhereInput | Prisma.OrganizerVerificationWhereInput[] fullName?: Prisma.StringFilter<"OrganizerVerification"> | string + nikEncrypted?: Prisma.StringFilter<"OrganizerVerification"> | string birthDate?: Prisma.DateTimeFilter<"OrganizerVerification"> | Date | string address?: Prisma.StringFilter<"OrganizerVerification"> | string - ktpImageUrl?: Prisma.StringFilter<"OrganizerVerification"> | string - selfieUrl?: Prisma.StringFilter<"OrganizerVerification"> | string + ktpImageKey?: Prisma.StringFilter<"OrganizerVerification"> | string + selfieKey?: Prisma.StringFilter<"OrganizerVerification"> | string bankName?: Prisma.StringFilter<"OrganizerVerification"> | string bankAccountNumber?: Prisma.StringFilter<"OrganizerVerification"> | string bankAccountName?: Prisma.StringFilter<"OrganizerVerification"> | string @@ -337,17 +347,18 @@ export type OrganizerVerificationWhereUniqueInput = Prisma.AtLeast<{ updatedAt?: Prisma.DateTimeFilter<"OrganizerVerification"> | Date | string user?: Prisma.XOR reviewedBy?: Prisma.XOR | null -}, "id" | "userId" | "nik"> +}, "id" | "userId" | "nikHash"> export type OrganizerVerificationOrderByWithAggregationInput = { id?: Prisma.SortOrder userId?: Prisma.SortOrder fullName?: Prisma.SortOrder - nik?: Prisma.SortOrder + nikEncrypted?: Prisma.SortOrder + nikHash?: Prisma.SortOrder birthDate?: Prisma.SortOrder address?: Prisma.SortOrder - ktpImageUrl?: Prisma.SortOrder - selfieUrl?: Prisma.SortOrder + ktpImageKey?: Prisma.SortOrder + selfieKey?: Prisma.SortOrder bankName?: Prisma.SortOrder bankAccountNumber?: Prisma.SortOrder bankAccountName?: Prisma.SortOrder @@ -370,11 +381,12 @@ export type OrganizerVerificationScalarWhereWithAggregatesInput = { id?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string userId?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string fullName?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string - nik?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string + nikEncrypted?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string + nikHash?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string birthDate?: Prisma.DateTimeWithAggregatesFilter<"OrganizerVerification"> | Date | string address?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string - ktpImageUrl?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string - selfieUrl?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string + ktpImageKey?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string + selfieKey?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string bankName?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string bankAccountNumber?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string bankAccountName?: Prisma.StringWithAggregatesFilter<"OrganizerVerification"> | string @@ -390,11 +402,12 @@ export type OrganizerVerificationScalarWhereWithAggregatesInput = { export type OrganizerVerificationCreateInput = { id?: string fullName: string - nik: string + nikEncrypted: string + nikHash: string birthDate: Date | string address: string - ktpImageUrl: string - selfieUrl: string + ktpImageKey: string + selfieKey: string bankName: string bankAccountNumber: string bankAccountName: string @@ -412,11 +425,12 @@ export type OrganizerVerificationUncheckedCreateInput = { id?: string userId: string fullName: string - nik: string + nikEncrypted: string + nikHash: string birthDate: Date | string address: string - ktpImageUrl: string - selfieUrl: string + ktpImageKey: string + selfieKey: string bankName: string bankAccountNumber: string bankAccountName: string @@ -432,11 +446,12 @@ export type OrganizerVerificationUncheckedCreateInput = { export type OrganizerVerificationUpdateInput = { id?: Prisma.StringFieldUpdateOperationsInput | string fullName?: Prisma.StringFieldUpdateOperationsInput | string - nik?: Prisma.StringFieldUpdateOperationsInput | string + nikEncrypted?: Prisma.StringFieldUpdateOperationsInput | string + nikHash?: Prisma.StringFieldUpdateOperationsInput | string birthDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string address?: Prisma.StringFieldUpdateOperationsInput | string - ktpImageUrl?: Prisma.StringFieldUpdateOperationsInput | string - selfieUrl?: Prisma.StringFieldUpdateOperationsInput | string + ktpImageKey?: Prisma.StringFieldUpdateOperationsInput | string + selfieKey?: Prisma.StringFieldUpdateOperationsInput | string bankName?: Prisma.StringFieldUpdateOperationsInput | string bankAccountNumber?: Prisma.StringFieldUpdateOperationsInput | string bankAccountName?: Prisma.StringFieldUpdateOperationsInput | string @@ -454,11 +469,12 @@ export type OrganizerVerificationUncheckedUpdateInput = { id?: Prisma.StringFieldUpdateOperationsInput | string userId?: Prisma.StringFieldUpdateOperationsInput | string fullName?: Prisma.StringFieldUpdateOperationsInput | string - nik?: Prisma.StringFieldUpdateOperationsInput | string + nikEncrypted?: Prisma.StringFieldUpdateOperationsInput | string + nikHash?: Prisma.StringFieldUpdateOperationsInput | string birthDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string address?: Prisma.StringFieldUpdateOperationsInput | string - ktpImageUrl?: Prisma.StringFieldUpdateOperationsInput | string - selfieUrl?: Prisma.StringFieldUpdateOperationsInput | string + ktpImageKey?: Prisma.StringFieldUpdateOperationsInput | string + selfieKey?: Prisma.StringFieldUpdateOperationsInput | string bankName?: Prisma.StringFieldUpdateOperationsInput | string bankAccountNumber?: Prisma.StringFieldUpdateOperationsInput | string bankAccountName?: Prisma.StringFieldUpdateOperationsInput | string @@ -475,11 +491,12 @@ export type OrganizerVerificationCreateManyInput = { id?: string userId: string fullName: string - nik: string + nikEncrypted: string + nikHash: string birthDate: Date | string address: string - ktpImageUrl: string - selfieUrl: string + ktpImageKey: string + selfieKey: string bankName: string bankAccountNumber: string bankAccountName: string @@ -495,11 +512,12 @@ export type OrganizerVerificationCreateManyInput = { export type OrganizerVerificationUpdateManyMutationInput = { id?: Prisma.StringFieldUpdateOperationsInput | string fullName?: Prisma.StringFieldUpdateOperationsInput | string - nik?: Prisma.StringFieldUpdateOperationsInput | string + nikEncrypted?: Prisma.StringFieldUpdateOperationsInput | string + nikHash?: Prisma.StringFieldUpdateOperationsInput | string birthDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string address?: Prisma.StringFieldUpdateOperationsInput | string - ktpImageUrl?: Prisma.StringFieldUpdateOperationsInput | string - selfieUrl?: Prisma.StringFieldUpdateOperationsInput | string + ktpImageKey?: Prisma.StringFieldUpdateOperationsInput | string + selfieKey?: Prisma.StringFieldUpdateOperationsInput | string bankName?: Prisma.StringFieldUpdateOperationsInput | string bankAccountNumber?: Prisma.StringFieldUpdateOperationsInput | string bankAccountName?: Prisma.StringFieldUpdateOperationsInput | string @@ -515,11 +533,12 @@ export type OrganizerVerificationUncheckedUpdateManyInput = { id?: Prisma.StringFieldUpdateOperationsInput | string userId?: Prisma.StringFieldUpdateOperationsInput | string fullName?: Prisma.StringFieldUpdateOperationsInput | string - nik?: Prisma.StringFieldUpdateOperationsInput | string + nikEncrypted?: Prisma.StringFieldUpdateOperationsInput | string + nikHash?: Prisma.StringFieldUpdateOperationsInput | string birthDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string address?: Prisma.StringFieldUpdateOperationsInput | string - ktpImageUrl?: Prisma.StringFieldUpdateOperationsInput | string - selfieUrl?: Prisma.StringFieldUpdateOperationsInput | string + ktpImageKey?: Prisma.StringFieldUpdateOperationsInput | string + selfieKey?: Prisma.StringFieldUpdateOperationsInput | string bankName?: Prisma.StringFieldUpdateOperationsInput | string bankAccountNumber?: Prisma.StringFieldUpdateOperationsInput | string bankAccountName?: Prisma.StringFieldUpdateOperationsInput | string @@ -551,11 +570,12 @@ export type OrganizerVerificationCountOrderByAggregateInput = { id?: Prisma.SortOrder userId?: Prisma.SortOrder fullName?: Prisma.SortOrder - nik?: Prisma.SortOrder + nikEncrypted?: Prisma.SortOrder + nikHash?: Prisma.SortOrder birthDate?: Prisma.SortOrder address?: Prisma.SortOrder - ktpImageUrl?: Prisma.SortOrder - selfieUrl?: Prisma.SortOrder + ktpImageKey?: Prisma.SortOrder + selfieKey?: Prisma.SortOrder bankName?: Prisma.SortOrder bankAccountNumber?: Prisma.SortOrder bankAccountName?: Prisma.SortOrder @@ -572,11 +592,12 @@ export type OrganizerVerificationMaxOrderByAggregateInput = { id?: Prisma.SortOrder userId?: Prisma.SortOrder fullName?: Prisma.SortOrder - nik?: Prisma.SortOrder + nikEncrypted?: Prisma.SortOrder + nikHash?: Prisma.SortOrder birthDate?: Prisma.SortOrder address?: Prisma.SortOrder - ktpImageUrl?: Prisma.SortOrder - selfieUrl?: Prisma.SortOrder + ktpImageKey?: Prisma.SortOrder + selfieKey?: Prisma.SortOrder bankName?: Prisma.SortOrder bankAccountNumber?: Prisma.SortOrder bankAccountName?: Prisma.SortOrder @@ -593,11 +614,12 @@ export type OrganizerVerificationMinOrderByAggregateInput = { id?: Prisma.SortOrder userId?: Prisma.SortOrder fullName?: Prisma.SortOrder - nik?: Prisma.SortOrder + nikEncrypted?: Prisma.SortOrder + nikHash?: Prisma.SortOrder birthDate?: Prisma.SortOrder address?: Prisma.SortOrder - ktpImageUrl?: Prisma.SortOrder - selfieUrl?: Prisma.SortOrder + ktpImageKey?: Prisma.SortOrder + selfieKey?: Prisma.SortOrder bankName?: Prisma.SortOrder bankAccountNumber?: Prisma.SortOrder bankAccountName?: Prisma.SortOrder @@ -691,11 +713,12 @@ export type EnumVerificationStatusFieldUpdateOperationsInput = { export type OrganizerVerificationCreateWithoutUserInput = { id?: string fullName: string - nik: string + nikEncrypted: string + nikHash: string birthDate: Date | string address: string - ktpImageUrl: string - selfieUrl: string + ktpImageKey: string + selfieKey: string bankName: string bankAccountNumber: string bankAccountName: string @@ -711,11 +734,12 @@ export type OrganizerVerificationCreateWithoutUserInput = { export type OrganizerVerificationUncheckedCreateWithoutUserInput = { id?: string fullName: string - nik: string + nikEncrypted: string + nikHash: string birthDate: Date | string address: string - ktpImageUrl: string - selfieUrl: string + ktpImageKey: string + selfieKey: string bankName: string bankAccountNumber: string bankAccountName: string @@ -736,11 +760,12 @@ export type OrganizerVerificationCreateOrConnectWithoutUserInput = { export type OrganizerVerificationCreateWithoutReviewedByInput = { id?: string fullName: string - nik: string + nikEncrypted: string + nikHash: string birthDate: Date | string address: string - ktpImageUrl: string - selfieUrl: string + ktpImageKey: string + selfieKey: string bankName: string bankAccountNumber: string bankAccountName: string @@ -757,11 +782,12 @@ export type OrganizerVerificationUncheckedCreateWithoutReviewedByInput = { id?: string userId: string fullName: string - nik: string + nikEncrypted: string + nikHash: string birthDate: Date | string address: string - ktpImageUrl: string - selfieUrl: string + ktpImageKey: string + selfieKey: string bankName: string bankAccountNumber: string bankAccountName: string @@ -797,11 +823,12 @@ export type OrganizerVerificationUpdateToOneWithWhereWithoutUserInput = { export type OrganizerVerificationUpdateWithoutUserInput = { id?: Prisma.StringFieldUpdateOperationsInput | string fullName?: Prisma.StringFieldUpdateOperationsInput | string - nik?: Prisma.StringFieldUpdateOperationsInput | string + nikEncrypted?: Prisma.StringFieldUpdateOperationsInput | string + nikHash?: Prisma.StringFieldUpdateOperationsInput | string birthDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string address?: Prisma.StringFieldUpdateOperationsInput | string - ktpImageUrl?: Prisma.StringFieldUpdateOperationsInput | string - selfieUrl?: Prisma.StringFieldUpdateOperationsInput | string + ktpImageKey?: Prisma.StringFieldUpdateOperationsInput | string + selfieKey?: Prisma.StringFieldUpdateOperationsInput | string bankName?: Prisma.StringFieldUpdateOperationsInput | string bankAccountNumber?: Prisma.StringFieldUpdateOperationsInput | string bankAccountName?: Prisma.StringFieldUpdateOperationsInput | string @@ -817,11 +844,12 @@ export type OrganizerVerificationUpdateWithoutUserInput = { export type OrganizerVerificationUncheckedUpdateWithoutUserInput = { id?: Prisma.StringFieldUpdateOperationsInput | string fullName?: Prisma.StringFieldUpdateOperationsInput | string - nik?: Prisma.StringFieldUpdateOperationsInput | string + nikEncrypted?: Prisma.StringFieldUpdateOperationsInput | string + nikHash?: Prisma.StringFieldUpdateOperationsInput | string birthDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string address?: Prisma.StringFieldUpdateOperationsInput | string - ktpImageUrl?: Prisma.StringFieldUpdateOperationsInput | string - selfieUrl?: Prisma.StringFieldUpdateOperationsInput | string + ktpImageKey?: Prisma.StringFieldUpdateOperationsInput | string + selfieKey?: Prisma.StringFieldUpdateOperationsInput | string bankName?: Prisma.StringFieldUpdateOperationsInput | string bankAccountNumber?: Prisma.StringFieldUpdateOperationsInput | string bankAccountName?: Prisma.StringFieldUpdateOperationsInput | string @@ -857,11 +885,12 @@ export type OrganizerVerificationScalarWhereInput = { id?: Prisma.StringFilter<"OrganizerVerification"> | string userId?: Prisma.StringFilter<"OrganizerVerification"> | string fullName?: Prisma.StringFilter<"OrganizerVerification"> | string - nik?: Prisma.StringFilter<"OrganizerVerification"> | string + nikEncrypted?: Prisma.StringFilter<"OrganizerVerification"> | string + nikHash?: Prisma.StringFilter<"OrganizerVerification"> | string birthDate?: Prisma.DateTimeFilter<"OrganizerVerification"> | Date | string address?: Prisma.StringFilter<"OrganizerVerification"> | string - ktpImageUrl?: Prisma.StringFilter<"OrganizerVerification"> | string - selfieUrl?: Prisma.StringFilter<"OrganizerVerification"> | string + ktpImageKey?: Prisma.StringFilter<"OrganizerVerification"> | string + selfieKey?: Prisma.StringFilter<"OrganizerVerification"> | string bankName?: Prisma.StringFilter<"OrganizerVerification"> | string bankAccountNumber?: Prisma.StringFilter<"OrganizerVerification"> | string bankAccountName?: Prisma.StringFilter<"OrganizerVerification"> | string @@ -878,11 +907,12 @@ export type OrganizerVerificationCreateManyReviewedByInput = { id?: string userId: string fullName: string - nik: string + nikEncrypted: string + nikHash: string birthDate: Date | string address: string - ktpImageUrl: string - selfieUrl: string + ktpImageKey: string + selfieKey: string bankName: string bankAccountNumber: string bankAccountName: string @@ -897,11 +927,12 @@ export type OrganizerVerificationCreateManyReviewedByInput = { export type OrganizerVerificationUpdateWithoutReviewedByInput = { id?: Prisma.StringFieldUpdateOperationsInput | string fullName?: Prisma.StringFieldUpdateOperationsInput | string - nik?: Prisma.StringFieldUpdateOperationsInput | string + nikEncrypted?: Prisma.StringFieldUpdateOperationsInput | string + nikHash?: Prisma.StringFieldUpdateOperationsInput | string birthDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string address?: Prisma.StringFieldUpdateOperationsInput | string - ktpImageUrl?: Prisma.StringFieldUpdateOperationsInput | string - selfieUrl?: Prisma.StringFieldUpdateOperationsInput | string + ktpImageKey?: Prisma.StringFieldUpdateOperationsInput | string + selfieKey?: Prisma.StringFieldUpdateOperationsInput | string bankName?: Prisma.StringFieldUpdateOperationsInput | string bankAccountNumber?: Prisma.StringFieldUpdateOperationsInput | string bankAccountName?: Prisma.StringFieldUpdateOperationsInput | string @@ -918,11 +949,12 @@ export type OrganizerVerificationUncheckedUpdateWithoutReviewedByInput = { id?: Prisma.StringFieldUpdateOperationsInput | string userId?: Prisma.StringFieldUpdateOperationsInput | string fullName?: Prisma.StringFieldUpdateOperationsInput | string - nik?: Prisma.StringFieldUpdateOperationsInput | string + nikEncrypted?: Prisma.StringFieldUpdateOperationsInput | string + nikHash?: Prisma.StringFieldUpdateOperationsInput | string birthDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string address?: Prisma.StringFieldUpdateOperationsInput | string - ktpImageUrl?: Prisma.StringFieldUpdateOperationsInput | string - selfieUrl?: Prisma.StringFieldUpdateOperationsInput | string + ktpImageKey?: Prisma.StringFieldUpdateOperationsInput | string + selfieKey?: Prisma.StringFieldUpdateOperationsInput | string bankName?: Prisma.StringFieldUpdateOperationsInput | string bankAccountNumber?: Prisma.StringFieldUpdateOperationsInput | string bankAccountName?: Prisma.StringFieldUpdateOperationsInput | string @@ -938,11 +970,12 @@ export type OrganizerVerificationUncheckedUpdateManyWithoutReviewedByInput = { id?: Prisma.StringFieldUpdateOperationsInput | string userId?: Prisma.StringFieldUpdateOperationsInput | string fullName?: Prisma.StringFieldUpdateOperationsInput | string - nik?: Prisma.StringFieldUpdateOperationsInput | string + nikEncrypted?: Prisma.StringFieldUpdateOperationsInput | string + nikHash?: Prisma.StringFieldUpdateOperationsInput | string birthDate?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string address?: Prisma.StringFieldUpdateOperationsInput | string - ktpImageUrl?: Prisma.StringFieldUpdateOperationsInput | string - selfieUrl?: Prisma.StringFieldUpdateOperationsInput | string + ktpImageKey?: Prisma.StringFieldUpdateOperationsInput | string + selfieKey?: Prisma.StringFieldUpdateOperationsInput | string bankName?: Prisma.StringFieldUpdateOperationsInput | string bankAccountNumber?: Prisma.StringFieldUpdateOperationsInput | string bankAccountName?: Prisma.StringFieldUpdateOperationsInput | string @@ -960,11 +993,12 @@ export type OrganizerVerificationSelect = runtime.Types.Extensions.GetOmit<"id" | "userId" | "fullName" | "nik" | "birthDate" | "address" | "ktpImageUrl" | "selfieUrl" | "bankName" | "bankAccountNumber" | "bankAccountName" | "status" | "rejectionReason" | "reviewedAt" | "reviewedById" | "verifiedAt" | "createdAt" | "updatedAt", ExtArgs["result"]["organizerVerification"]> +export type OrganizerVerificationOmit = runtime.Types.Extensions.GetOmit<"id" | "userId" | "fullName" | "nikEncrypted" | "nikHash" | "birthDate" | "address" | "ktpImageKey" | "selfieKey" | "bankName" | "bankAccountNumber" | "bankAccountName" | "status" | "rejectionReason" | "reviewedAt" | "reviewedById" | "verifiedAt" | "createdAt" | "updatedAt", ExtArgs["result"]["organizerVerification"]> export type OrganizerVerificationInclude = { user?: boolean | Prisma.UserDefaultArgs reviewedBy?: boolean | Prisma.OrganizerVerification$reviewedByArgs @@ -1074,19 +1111,23 @@ export type $OrganizerVerificationPayload.jpg`). File disimpan terenkripsi di luar /public. */ - ktpImageUrl: string + ktpImageKey: string /** - * URL selfie memegang KTP + * Storage key selfie memegang KTP. */ - selfieUrl: string + selfieKey: string bankName: string bankAccountNumber: string bankAccountName: string @@ -1525,11 +1566,12 @@ export interface OrganizerVerificationFieldRefs { readonly id: Prisma.FieldRef<"OrganizerVerification", 'String'> readonly userId: Prisma.FieldRef<"OrganizerVerification", 'String'> readonly fullName: Prisma.FieldRef<"OrganizerVerification", 'String'> - readonly nik: Prisma.FieldRef<"OrganizerVerification", 'String'> + readonly nikEncrypted: Prisma.FieldRef<"OrganizerVerification", 'String'> + readonly nikHash: Prisma.FieldRef<"OrganizerVerification", 'String'> readonly birthDate: Prisma.FieldRef<"OrganizerVerification", 'DateTime'> readonly address: Prisma.FieldRef<"OrganizerVerification", 'String'> - readonly ktpImageUrl: Prisma.FieldRef<"OrganizerVerification", 'String'> - readonly selfieUrl: Prisma.FieldRef<"OrganizerVerification", 'String'> + readonly ktpImageKey: Prisma.FieldRef<"OrganizerVerification", 'String'> + readonly selfieKey: Prisma.FieldRef<"OrganizerVerification", 'String'> readonly bankName: Prisma.FieldRef<"OrganizerVerification", 'String'> readonly bankAccountNumber: Prisma.FieldRef<"OrganizerVerification", 'String'> readonly bankAccountName: Prisma.FieldRef<"OrganizerVerification", 'String'> diff --git a/app/generated/prisma/models/User.ts b/app/generated/prisma/models/User.ts index e1c099f..210151d 100644 --- a/app/generated/prisma/models/User.ts +++ b/app/generated/prisma/models/User.ts @@ -175,7 +175,7 @@ export type UserGroupByOutputType = { id: string name: string email: string - password: string + password: string | null image: string | null acceptedTermsAndPrivacy: boolean acceptedAt: Date | null @@ -208,12 +208,13 @@ export type UserWhereInput = { id?: Prisma.StringFilter<"User"> | string name?: Prisma.StringFilter<"User"> | string email?: Prisma.StringFilter<"User"> | string - password?: Prisma.StringFilter<"User"> | string + password?: Prisma.StringNullableFilter<"User"> | string | null image?: Prisma.StringNullableFilter<"User"> | string | null acceptedTermsAndPrivacy?: Prisma.BoolFilter<"User"> | boolean acceptedAt?: Prisma.DateTimeNullableFilter<"User"> | Date | string | null createdAt?: Prisma.DateTimeFilter<"User"> | Date | string updatedAt?: Prisma.DateTimeFilter<"User"> | Date | string + accounts?: Prisma.AccountListRelationFilter trips?: Prisma.TripListRelationFilter participations?: Prisma.TripParticipantListRelationFilter tripReviews?: Prisma.TripReviewListRelationFilter @@ -225,12 +226,13 @@ export type UserOrderByWithRelationInput = { id?: Prisma.SortOrder name?: Prisma.SortOrder email?: Prisma.SortOrder - password?: Prisma.SortOrder + password?: Prisma.SortOrderInput | Prisma.SortOrder image?: Prisma.SortOrderInput | Prisma.SortOrder acceptedTermsAndPrivacy?: Prisma.SortOrder acceptedAt?: Prisma.SortOrderInput | Prisma.SortOrder createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder + accounts?: Prisma.AccountOrderByRelationAggregateInput trips?: Prisma.TripOrderByRelationAggregateInput participations?: Prisma.TripParticipantOrderByRelationAggregateInput tripReviews?: Prisma.TripReviewOrderByRelationAggregateInput @@ -245,12 +247,13 @@ export type UserWhereUniqueInput = Prisma.AtLeast<{ OR?: Prisma.UserWhereInput[] NOT?: Prisma.UserWhereInput | Prisma.UserWhereInput[] name?: Prisma.StringFilter<"User"> | string - password?: Prisma.StringFilter<"User"> | string + password?: Prisma.StringNullableFilter<"User"> | string | null image?: Prisma.StringNullableFilter<"User"> | string | null acceptedTermsAndPrivacy?: Prisma.BoolFilter<"User"> | boolean acceptedAt?: Prisma.DateTimeNullableFilter<"User"> | Date | string | null createdAt?: Prisma.DateTimeFilter<"User"> | Date | string updatedAt?: Prisma.DateTimeFilter<"User"> | Date | string + accounts?: Prisma.AccountListRelationFilter trips?: Prisma.TripListRelationFilter participations?: Prisma.TripParticipantListRelationFilter tripReviews?: Prisma.TripReviewListRelationFilter @@ -262,7 +265,7 @@ export type UserOrderByWithAggregationInput = { id?: Prisma.SortOrder name?: Prisma.SortOrder email?: Prisma.SortOrder - password?: Prisma.SortOrder + password?: Prisma.SortOrderInput | Prisma.SortOrder image?: Prisma.SortOrderInput | Prisma.SortOrder acceptedTermsAndPrivacy?: Prisma.SortOrder acceptedAt?: Prisma.SortOrderInput | Prisma.SortOrder @@ -280,7 +283,7 @@ export type UserScalarWhereWithAggregatesInput = { id?: Prisma.StringWithAggregatesFilter<"User"> | string name?: Prisma.StringWithAggregatesFilter<"User"> | string email?: Prisma.StringWithAggregatesFilter<"User"> | string - password?: Prisma.StringWithAggregatesFilter<"User"> | string + password?: Prisma.StringNullableWithAggregatesFilter<"User"> | string | null image?: Prisma.StringNullableWithAggregatesFilter<"User"> | string | null acceptedTermsAndPrivacy?: Prisma.BoolWithAggregatesFilter<"User"> | boolean acceptedAt?: Prisma.DateTimeNullableWithAggregatesFilter<"User"> | Date | string | null @@ -292,12 +295,13 @@ export type UserCreateInput = { id?: string name: string email: string - password: string + password?: string | null image?: string | null acceptedTermsAndPrivacy?: boolean acceptedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput trips?: Prisma.TripCreateNestedManyWithoutOrganizerInput participations?: Prisma.TripParticipantCreateNestedManyWithoutUserInput tripReviews?: Prisma.TripReviewCreateNestedManyWithoutUserInput @@ -309,12 +313,13 @@ export type UserUncheckedCreateInput = { id?: string name: string email: string - password: string + password?: string | null image?: string | null acceptedTermsAndPrivacy?: boolean acceptedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput trips?: Prisma.TripUncheckedCreateNestedManyWithoutOrganizerInput participations?: Prisma.TripParticipantUncheckedCreateNestedManyWithoutUserInput tripReviews?: Prisma.TripReviewUncheckedCreateNestedManyWithoutUserInput @@ -326,12 +331,13 @@ export type UserUpdateInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput trips?: Prisma.TripUpdateManyWithoutOrganizerNestedInput participations?: Prisma.TripParticipantUpdateManyWithoutUserNestedInput tripReviews?: Prisma.TripReviewUpdateManyWithoutUserNestedInput @@ -343,12 +349,13 @@ export type UserUncheckedUpdateInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput trips?: Prisma.TripUncheckedUpdateManyWithoutOrganizerNestedInput participations?: Prisma.TripParticipantUncheckedUpdateManyWithoutUserNestedInput tripReviews?: Prisma.TripReviewUncheckedUpdateManyWithoutUserNestedInput @@ -360,7 +367,7 @@ export type UserCreateManyInput = { id?: string name: string email: string - password: string + password?: string | null image?: string | null acceptedTermsAndPrivacy?: boolean acceptedAt?: Date | string | null @@ -372,7 +379,7 @@ export type UserUpdateManyMutationInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -384,7 +391,7 @@ export type UserUncheckedUpdateManyInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -458,6 +465,20 @@ export type DateTimeFieldUpdateOperationsInput = { set?: Date | string } +export type UserCreateNestedOneWithoutAccountsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutAccountsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutAccountsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutAccountsInput + upsert?: Prisma.UserUpsertWithoutAccountsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutAccountsInput> +} + export type UserCreateNestedOneWithoutOrganizerVerificationInput = { create?: Prisma.XOR connectOrCreate?: Prisma.UserCreateOrConnectWithoutOrganizerVerificationInput @@ -530,11 +551,11 @@ export type UserUpdateOneRequiredWithoutParticipationsNestedInput = { update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutParticipationsInput> } -export type UserCreateWithoutOrganizerVerificationInput = { +export type UserCreateWithoutAccountsInput = { id?: string name: string email: string - password: string + password?: string | null image?: string | null acceptedTermsAndPrivacy?: boolean acceptedAt?: Date | string | null @@ -543,6 +564,91 @@ export type UserCreateWithoutOrganizerVerificationInput = { trips?: Prisma.TripCreateNestedManyWithoutOrganizerInput participations?: Prisma.TripParticipantCreateNestedManyWithoutUserInput tripReviews?: Prisma.TripReviewCreateNestedManyWithoutUserInput + organizerVerification?: Prisma.OrganizerVerificationCreateNestedOneWithoutUserInput + reviewedVerifications?: Prisma.OrganizerVerificationCreateNestedManyWithoutReviewedByInput +} + +export type UserUncheckedCreateWithoutAccountsInput = { + id?: string + name: string + email: string + password?: string | null + image?: string | null + acceptedTermsAndPrivacy?: boolean + acceptedAt?: Date | string | null + createdAt?: Date | string + updatedAt?: Date | string + trips?: Prisma.TripUncheckedCreateNestedManyWithoutOrganizerInput + participations?: Prisma.TripParticipantUncheckedCreateNestedManyWithoutUserInput + tripReviews?: Prisma.TripReviewUncheckedCreateNestedManyWithoutUserInput + organizerVerification?: Prisma.OrganizerVerificationUncheckedCreateNestedOneWithoutUserInput + reviewedVerifications?: Prisma.OrganizerVerificationUncheckedCreateNestedManyWithoutReviewedByInput +} + +export type UserCreateOrConnectWithoutAccountsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutAccountsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutAccountsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutAccountsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean + acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + trips?: Prisma.TripUpdateManyWithoutOrganizerNestedInput + participations?: Prisma.TripParticipantUpdateManyWithoutUserNestedInput + tripReviews?: Prisma.TripReviewUpdateManyWithoutUserNestedInput + organizerVerification?: Prisma.OrganizerVerificationUpdateOneWithoutUserNestedInput + reviewedVerifications?: Prisma.OrganizerVerificationUpdateManyWithoutReviewedByNestedInput +} + +export type UserUncheckedUpdateWithoutAccountsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean + acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + trips?: Prisma.TripUncheckedUpdateManyWithoutOrganizerNestedInput + participations?: Prisma.TripParticipantUncheckedUpdateManyWithoutUserNestedInput + tripReviews?: Prisma.TripReviewUncheckedUpdateManyWithoutUserNestedInput + organizerVerification?: Prisma.OrganizerVerificationUncheckedUpdateOneWithoutUserNestedInput + reviewedVerifications?: Prisma.OrganizerVerificationUncheckedUpdateManyWithoutReviewedByNestedInput +} + +export type UserCreateWithoutOrganizerVerificationInput = { + id?: string + name: string + email: string + password?: string | null + image?: string | null + acceptedTermsAndPrivacy?: boolean + acceptedAt?: Date | string | null + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput + trips?: Prisma.TripCreateNestedManyWithoutOrganizerInput + participations?: Prisma.TripParticipantCreateNestedManyWithoutUserInput + tripReviews?: Prisma.TripReviewCreateNestedManyWithoutUserInput reviewedVerifications?: Prisma.OrganizerVerificationCreateNestedManyWithoutReviewedByInput } @@ -550,12 +656,13 @@ export type UserUncheckedCreateWithoutOrganizerVerificationInput = { id?: string name: string email: string - password: string + password?: string | null image?: string | null acceptedTermsAndPrivacy?: boolean acceptedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput trips?: Prisma.TripUncheckedCreateNestedManyWithoutOrganizerInput participations?: Prisma.TripParticipantUncheckedCreateNestedManyWithoutUserInput tripReviews?: Prisma.TripReviewUncheckedCreateNestedManyWithoutUserInput @@ -571,12 +678,13 @@ export type UserCreateWithoutReviewedVerificationsInput = { id?: string name: string email: string - password: string + password?: string | null image?: string | null acceptedTermsAndPrivacy?: boolean acceptedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput trips?: Prisma.TripCreateNestedManyWithoutOrganizerInput participations?: Prisma.TripParticipantCreateNestedManyWithoutUserInput tripReviews?: Prisma.TripReviewCreateNestedManyWithoutUserInput @@ -587,12 +695,13 @@ export type UserUncheckedCreateWithoutReviewedVerificationsInput = { id?: string name: string email: string - password: string + password?: string | null image?: string | null acceptedTermsAndPrivacy?: boolean acceptedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput trips?: Prisma.TripUncheckedCreateNestedManyWithoutOrganizerInput participations?: Prisma.TripParticipantUncheckedCreateNestedManyWithoutUserInput tripReviews?: Prisma.TripReviewUncheckedCreateNestedManyWithoutUserInput @@ -619,12 +728,13 @@ export type UserUpdateWithoutOrganizerVerificationInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput trips?: Prisma.TripUpdateManyWithoutOrganizerNestedInput participations?: Prisma.TripParticipantUpdateManyWithoutUserNestedInput tripReviews?: Prisma.TripReviewUpdateManyWithoutUserNestedInput @@ -635,12 +745,13 @@ export type UserUncheckedUpdateWithoutOrganizerVerificationInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput trips?: Prisma.TripUncheckedUpdateManyWithoutOrganizerNestedInput participations?: Prisma.TripParticipantUncheckedUpdateManyWithoutUserNestedInput tripReviews?: Prisma.TripReviewUncheckedUpdateManyWithoutUserNestedInput @@ -662,12 +773,13 @@ export type UserUpdateWithoutReviewedVerificationsInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput trips?: Prisma.TripUpdateManyWithoutOrganizerNestedInput participations?: Prisma.TripParticipantUpdateManyWithoutUserNestedInput tripReviews?: Prisma.TripReviewUpdateManyWithoutUserNestedInput @@ -678,12 +790,13 @@ export type UserUncheckedUpdateWithoutReviewedVerificationsInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput trips?: Prisma.TripUncheckedUpdateManyWithoutOrganizerNestedInput participations?: Prisma.TripParticipantUncheckedUpdateManyWithoutUserNestedInput tripReviews?: Prisma.TripReviewUncheckedUpdateManyWithoutUserNestedInput @@ -694,12 +807,13 @@ export type UserCreateWithoutTripsInput = { id?: string name: string email: string - password: string + password?: string | null image?: string | null acceptedTermsAndPrivacy?: boolean acceptedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput participations?: Prisma.TripParticipantCreateNestedManyWithoutUserInput tripReviews?: Prisma.TripReviewCreateNestedManyWithoutUserInput organizerVerification?: Prisma.OrganizerVerificationCreateNestedOneWithoutUserInput @@ -710,12 +824,13 @@ export type UserUncheckedCreateWithoutTripsInput = { id?: string name: string email: string - password: string + password?: string | null image?: string | null acceptedTermsAndPrivacy?: boolean acceptedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput participations?: Prisma.TripParticipantUncheckedCreateNestedManyWithoutUserInput tripReviews?: Prisma.TripReviewUncheckedCreateNestedManyWithoutUserInput organizerVerification?: Prisma.OrganizerVerificationUncheckedCreateNestedOneWithoutUserInput @@ -742,12 +857,13 @@ export type UserUpdateWithoutTripsInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput participations?: Prisma.TripParticipantUpdateManyWithoutUserNestedInput tripReviews?: Prisma.TripReviewUpdateManyWithoutUserNestedInput organizerVerification?: Prisma.OrganizerVerificationUpdateOneWithoutUserNestedInput @@ -758,12 +874,13 @@ export type UserUncheckedUpdateWithoutTripsInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput participations?: Prisma.TripParticipantUncheckedUpdateManyWithoutUserNestedInput tripReviews?: Prisma.TripReviewUncheckedUpdateManyWithoutUserNestedInput organizerVerification?: Prisma.OrganizerVerificationUncheckedUpdateOneWithoutUserNestedInput @@ -774,12 +891,13 @@ export type UserCreateWithoutTripReviewsInput = { id?: string name: string email: string - password: string + password?: string | null image?: string | null acceptedTermsAndPrivacy?: boolean acceptedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput trips?: Prisma.TripCreateNestedManyWithoutOrganizerInput participations?: Prisma.TripParticipantCreateNestedManyWithoutUserInput organizerVerification?: Prisma.OrganizerVerificationCreateNestedOneWithoutUserInput @@ -790,12 +908,13 @@ export type UserUncheckedCreateWithoutTripReviewsInput = { id?: string name: string email: string - password: string + password?: string | null image?: string | null acceptedTermsAndPrivacy?: boolean acceptedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput trips?: Prisma.TripUncheckedCreateNestedManyWithoutOrganizerInput participations?: Prisma.TripParticipantUncheckedCreateNestedManyWithoutUserInput organizerVerification?: Prisma.OrganizerVerificationUncheckedCreateNestedOneWithoutUserInput @@ -822,12 +941,13 @@ export type UserUpdateWithoutTripReviewsInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput trips?: Prisma.TripUpdateManyWithoutOrganizerNestedInput participations?: Prisma.TripParticipantUpdateManyWithoutUserNestedInput organizerVerification?: Prisma.OrganizerVerificationUpdateOneWithoutUserNestedInput @@ -838,12 +958,13 @@ export type UserUncheckedUpdateWithoutTripReviewsInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput trips?: Prisma.TripUncheckedUpdateManyWithoutOrganizerNestedInput participations?: Prisma.TripParticipantUncheckedUpdateManyWithoutUserNestedInput organizerVerification?: Prisma.OrganizerVerificationUncheckedUpdateOneWithoutUserNestedInput @@ -854,12 +975,13 @@ export type UserCreateWithoutParticipationsInput = { id?: string name: string email: string - password: string + password?: string | null image?: string | null acceptedTermsAndPrivacy?: boolean acceptedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput trips?: Prisma.TripCreateNestedManyWithoutOrganizerInput tripReviews?: Prisma.TripReviewCreateNestedManyWithoutUserInput organizerVerification?: Prisma.OrganizerVerificationCreateNestedOneWithoutUserInput @@ -870,12 +992,13 @@ export type UserUncheckedCreateWithoutParticipationsInput = { id?: string name: string email: string - password: string + password?: string | null image?: string | null acceptedTermsAndPrivacy?: boolean acceptedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput trips?: Prisma.TripUncheckedCreateNestedManyWithoutOrganizerInput tripReviews?: Prisma.TripReviewUncheckedCreateNestedManyWithoutUserInput organizerVerification?: Prisma.OrganizerVerificationUncheckedCreateNestedOneWithoutUserInput @@ -902,12 +1025,13 @@ export type UserUpdateWithoutParticipationsInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput trips?: Prisma.TripUpdateManyWithoutOrganizerNestedInput tripReviews?: Prisma.TripReviewUpdateManyWithoutUserNestedInput organizerVerification?: Prisma.OrganizerVerificationUpdateOneWithoutUserNestedInput @@ -918,12 +1042,13 @@ export type UserUncheckedUpdateWithoutParticipationsInput = { id?: Prisma.StringFieldUpdateOperationsInput | string name?: Prisma.StringFieldUpdateOperationsInput | string email?: Prisma.StringFieldUpdateOperationsInput | string - password?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.NullableStringFieldUpdateOperationsInput | string | null image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null acceptedTermsAndPrivacy?: Prisma.BoolFieldUpdateOperationsInput | boolean acceptedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput trips?: Prisma.TripUncheckedUpdateManyWithoutOrganizerNestedInput tripReviews?: Prisma.TripReviewUncheckedUpdateManyWithoutUserNestedInput organizerVerification?: Prisma.OrganizerVerificationUncheckedUpdateOneWithoutUserNestedInput @@ -936,6 +1061,7 @@ export type UserUncheckedUpdateWithoutParticipationsInput = { */ export type UserCountOutputType = { + accounts: number trips: number participations: number tripReviews: number @@ -943,6 +1069,7 @@ export type UserCountOutputType = { } export type UserCountOutputTypeSelect = { + accounts?: boolean | UserCountOutputTypeCountAccountsArgs trips?: boolean | UserCountOutputTypeCountTripsArgs participations?: boolean | UserCountOutputTypeCountParticipationsArgs tripReviews?: boolean | UserCountOutputTypeCountTripReviewsArgs @@ -959,6 +1086,13 @@ export type UserCountOutputTypeDefaultArgs | null } +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountAccountsArgs = { + where?: Prisma.AccountWhereInput +} + /** * UserCountOutputType without action */ @@ -998,6 +1132,7 @@ export type UserSelect trips?: boolean | Prisma.User$tripsArgs participations?: boolean | Prisma.User$participationsArgs tripReviews?: boolean | Prisma.User$tripReviewsArgs @@ -1044,6 +1179,7 @@ export type UserSelectScalar = { export type UserOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "email" | "password" | "image" | "acceptedTermsAndPrivacy" | "acceptedAt" | "createdAt" | "updatedAt", ExtArgs["result"]["user"]> export type UserInclude = { + accounts?: boolean | Prisma.User$accountsArgs trips?: boolean | Prisma.User$tripsArgs participations?: boolean | Prisma.User$participationsArgs tripReviews?: boolean | Prisma.User$tripReviewsArgs @@ -1057,6 +1193,7 @@ export type UserIncludeUpdateManyAndReturn = { name: "User" objects: { + accounts: Prisma.$AccountPayload[] trips: Prisma.$TripPayload[] participations: Prisma.$TripParticipantPayload[] tripReviews: Prisma.$TripReviewPayload[] @@ -1067,7 +1204,10 @@ export type $UserPayload extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" + accounts = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> trips = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> participations = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> tripReviews = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> @@ -1908,6 +2049,30 @@ export type UserDeleteManyArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + where?: Prisma.AccountWhereInput + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + cursor?: Prisma.AccountWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.AccountScalarFieldEnum | Prisma.AccountScalarFieldEnum[] +} + /** * User.trips */ diff --git a/app/login/page.tsx b/app/login/page.tsx index fb2aa6d..1bd1670 100644 --- a/app/login/page.tsx +++ b/app/login/page.tsx @@ -5,6 +5,7 @@ import { signIn } from "next-auth/react"; import { useRouter, useSearchParams } from "next/navigation"; import Link from "next/link"; import Image from "next/image"; +import { GoogleSignInButton } from "@/components/shared/google-sign-in-button"; function safeInternalPath(raw: string | null): string { if (!raw || !raw.startsWith("/") || raw.startsWith("//")) return "/"; @@ -84,6 +85,14 @@ function LoginForm() { )} + + +
+ + atau + +
+
)} + + +
+ + atau + +
+