/* !!! This is code generated by Prisma. Do not edit directly. !!! */ /* eslint-disable */ // biome-ignore-all lint: generated file // @ts-nocheck /* * This file should be your main import to use Prisma. Through it you get access to all the models, enums, and input types. * If you're looking for something you can import in the client-side of your application, please refer to the `browser.ts` file instead. * * 🟢 You can import this file directly. */ import * as process from 'node:process' import * as path from 'node:path' import { fileURLToPath } from 'node:url' globalThis['__dirname'] = path.dirname(fileURLToPath(import.meta.url)) import * as runtime from "@prisma/client/runtime/client" import * as $Enums from "./enums" import * as $Class from "./internal/class" import * as Prisma from "./internal/prismaNamespace" export * as $Enums from './enums' export * from "./enums" /** * ## Prisma Client * * Type-safe database client for TypeScript * @example * ``` * const prisma = new PrismaClient({ * adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL }) * }) * // Fetch zero or more Users * const users = await prisma.user.findMany() * ``` * * Read more in our [docs](https://pris.ly/d/client). */ export const PrismaClient = $Class.getPrismaClientClass() export type PrismaClient = $Class.PrismaClient export { Prisma } /** * Model User * */ export type User = Prisma.UserModel /** * Model UserProfile * Profil sosial publik. Berisi info yang user pilih untuk dibagikan ke peserta lain * (bio, kota, minat, vibe). Tidak menyimpan data sensitif — KYC tetap di OrganizerVerification. */ export type UserProfile = Prisma.UserProfileModel /** * 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 * */ export type OrganizerVerification = Prisma.OrganizerVerificationModel /** * Model Trip * */ export type Trip = Prisma.TripModel /** * Model TripReview * */ export type TripReview = Prisma.TripReviewModel /** * Model TripImage * */ export type TripImage = Prisma.TripImageModel /** * Model TripParticipant * */ export type TripParticipant = Prisma.TripParticipantModel /** * Model Booking * Booking 1-1 ke TripParticipant. Lifecycle ikut peserta: * - join → Booking PENDING (menunggu approve organizer) * - organizer confirm → AWAITING_PAY (paid trip) atau PAID (free trip) * - peserta + organizer rampungkan pembayaran → PAID * - cancel/reject → CANCELLED * `amount` adalah snapshot harga saat booking dibuat — protect dari perubahan trip.price. */ export type Booking = Prisma.BookingModel /** * Model Payment * Satu attempt pembayaran. Satu Booking bisa punya banyak Payment kalau retry * (di Phase MIDTRANS nanti). Untuk MANUAL biasanya cukup 1 Payment. */ export type Payment = Prisma.PaymentModel /** * Model Refund * Refund = financial event terpisah dari Booking. Satu Booking bisa punya * banyak Refund (partial, multi-tahap). Setiap row auditable: kapan dibuat, * siapa melaporkan, siapa approve, kapan SUCCEEDED. Never delete — kalau * gagal, set status=FAILED + alasan. * * Di MVP refund dimasukkan admin secara manual berdasarkan laporan dari * peserta atau organizer (via WhatsApp/email). Phase berikutnya akan * menambah self-service flow dari user dan organizer. */ export type Refund = Prisma.RefundModel