/** * Client **/ import * as runtime from '@prisma/client/runtime/library.js'; import $Types = runtime.Types // general types import $Public = runtime.Types.Public import $Utils = runtime.Types.Utils import $Extensions = runtime.Types.Extensions import $Result = runtime.Types.Result export type PrismaPromise = $Public.PrismaPromise /** * Model City * */ export type City = $Result.DefaultSelection /** * Model AdminUser * */ export type AdminUser = $Result.DefaultSelection /** * Model AppSession * An issued APP token (customer app / sales-expert app), so it can be revoked * before it expires — the counterpart of AdminSession for the other token family. * * WHY A SEPARATE TABLE AND NO FOREIGN KEY * --------------------------------------- * An app token's `sub` is a Customer id for a customer and an **AdminUser id** * for a sales expert (D21). One FK cannot point at two tables, so the subject is * stored as a plain id plus its type. The rows are short-lived operational data, * not part of the accounting model, so the missing FK costs nothing here. */ export type AppSession = $Result.DefaultSelection /** * Model AdminSession * An issued admin-panel JWT, so it can be revoked before it expires. * * WHY THIS EXISTS * --------------- * The admin token is self-contained and valid for 12h, which means nothing — * not disabling the account, not a central "sign out everywhere" — could cut a * session short: the token kept working until it expired. With the central IAM * in the loop that gap became visible (an IAM session revocation had no effect * here), so every issued token now carries a `jti` recorded on this table and * JwtStrategy refuses a token whose row is revoked. * * Rows are written ONLY while tracking is enabled, and JwtStrategy only * enforces them while it is enabled, so a deployment that does not want the * extra lookup behaves exactly as before. */ export type AdminSession = $Result.DefaultSelection /** * Model SalesExpertProfile * The sales-expert fields legacy kept on the `customers` row (type=1) and that * were lost when a sales expert became an AdminUser (D17). * * A separate table rather than columns on AdminUser: these are meaningful only * for role = SALES_EXPERT and would be permanently null for every other admin. * A row is created for every SALES_EXPERT by the migration, and upserted by the * service whenever one is created or a user's role becomes SALES_EXPERT — but * readers still left-join, so a missing profile degrades to nulls rather than * dropping the agent from the grid. * * `reagent_id` is deliberately NOT here — see D17: in the reference it was a * side effect of the shared customers form, and filling it removed that expert * from the selectable-agent list (queryReagent, AdminController.php:420). */ export type SalesExpertProfile = $Result.DefaultSelection /** * Model Customer * */ export type Customer = $Result.DefaultSelection /** * Model CustomerAddress * */ export type CustomerAddress = $Result.DefaultSelection /** * Model Branch * */ export type Branch = $Result.DefaultSelection /** * Model Workshop * */ export type Workshop = $Result.DefaultSelection /** * Model Category * */ export type Category = $Result.DefaultSelection /** * Model Brand * */ export type Brand = $Result.DefaultSelection /** * Model Collection * Curated product groupings — replaces legacy "Ciny/CinyProduct" (a tagging * feature, NOT a gold-price snapshot mechanism, despite the misleading legacy name). */ export type Collection = $Result.DefaultSelection /** * Model CollectionProduct * */ export type CollectionProduct = $Result.DefaultSelection /** * Model Product * */ export type Product = $Result.DefaultSelection /** * Model ProductImage * */ export type ProductImage = $Result.DefaultSelection /** * Model ProductVariant * */ export type ProductVariant = $Result.DefaultSelection /** * Model Order * */ export type Order = $Result.DefaultSelection /** * Model OrderItem * */ export type OrderItem = $Result.DefaultSelection /** * Model OrderStatusEvent * */ export type OrderStatusEvent = $Result.DefaultSelection /** * Model PreOrder * */ export type PreOrder = $Result.DefaultSelection /** * Model PreOrderStatusEvent * */ export type PreOrderStatusEvent = $Result.DefaultSelection /** * Model LedgerEntry * */ export type LedgerEntry = $Result.DefaultSelection /** * Model GoldPriceQuote * Replaces legacy WebServiceGold / ConfigStatic.gold_price — timestamped price feed. */ export type GoldPriceQuote = $Result.DefaultSelection /** * Model WalletBonus * Time-limited gold cashback bonus — replaces the legacy Rooyesh\Wallet gold credit. */ export type WalletBonus = $Result.DefaultSelection /** * Model UserType * */ export type UserType = $Result.DefaultSelection /** * Model Permission * */ export type Permission = $Result.DefaultSelection /** * Model Comment * */ export type Comment = $Result.DefaultSelection /** * Model Setting * */ export type Setting = $Result.DefaultSelection /** * Model Promotion * */ export type Promotion = $Result.DefaultSelection /** * Model PromotionExclusion * Legacy "ignore" table (views/offersIgnore) — specific products, categories, * customers or brands excluded from the automatic discount engine. * Legacy posts { type, item_id[] }: "type" reuses the promotion scope codes * (1 محصولات | 2 دسته بندی | 3 مشتری | 4 برند) and "itemId" is the excluded row. */ export type PromotionExclusion = $Result.DefaultSelection /** * Model BranchAllocation * */ export type BranchAllocation = $Result.DefaultSelection /** * Model BranchAllocationItem * */ export type BranchAllocationItem = $Result.DefaultSelection /** * Model SmsMessage * */ export type SmsMessage = $Result.DefaultSelection /** * Model Notification * */ export type Notification = $Result.DefaultSelection /** * Model NotificationRecipient * Per-customer delivery + read state — legacy `GET notify/read/{id}`. */ export type NotificationRecipient = $Result.DefaultSelection /** * Model NewsletterSubscriber * Legacy views/newsletters — the mailing-list signups collected by the site. */ export type NewsletterSubscriber = $Result.DefaultSelection /** * Model CustomerActivityLog * Legacy views/statics — the customer activity log the "آمار" screen reads * (`log/list/customer`, `log/ago/{customerId}`). */ export type CustomerActivityLog = $Result.DefaultSelection /** * Model UploadedFile * */ export type UploadedFile = $Result.DefaultSelection /** * Model CustomerOtp * One OTP login challenge for a customer. * * Ports henza_server's flow (ApiMobileController.php:39-78), where userAuth * generated rand(1000,9999), stored it on the customer row as `send_password` * and sent it by SMS, and userVerfiy compared the submitted code against it * (mismatch -> HTTP 422). * * Three deliberate improvements over the reference, approved by the user * (docs/parity/DECISIONS.md D6 and T1): * 1. the code is stored as a bcrypt hash, never in plain text — the * reference kept it readable in a customer column; * 2. it expires (`expiresAt`) — the reference's code stayed valid forever; * 3. attempts are counted and the challenge locks out — the reference had * no limit at all. * The parity behaviour itself is the code comparison and the rejection. */ export type CustomerOtp = $Result.DefaultSelection /** * Enums */ export namespace $Enums { export const AdminRole: { SUPER_ADMIN: 'SUPER_ADMIN', SYSTEM_APPROVER: 'SYSTEM_APPROVER', SALES_EXPERT: 'SALES_EXPERT', WORKSHOP_SUPERVISOR: 'WORKSHOP_SUPERVISOR', ACCOUNTANT: 'ACCOUNTANT' }; export type AdminRole = (typeof AdminRole)[keyof typeof AdminRole] export const CustomerKind: { SALES_AGENT: 'SALES_AGENT', APP_SHOPKEEPER: 'APP_SHOPKEEPER', WALK_IN_SHOPKEEPER: 'WALK_IN_SHOPKEEPER', BANKER: 'BANKER', WORKSHOP_SUPERVISOR: 'WORKSHOP_SUPERVISOR', RETAIL: 'RETAIL' }; export type CustomerKind = (typeof CustomerKind)[keyof typeof CustomerKind] export const VerificationStep: { UNVERIFIED: 'UNVERIFIED', STEP_ONE_SUBMITTED: 'STEP_ONE_SUBMITTED', STEP_TWO_SUBMITTED: 'STEP_TWO_SUBMITTED', VERIFIED: 'VERIFIED' }; export type VerificationStep = (typeof VerificationStep)[keyof typeof VerificationStep] export const ProductImageRole: { FEATURED: 'FEATURED', FEATURED_MOBILE: 'FEATURED_MOBILE', GALLERY: 'GALLERY', GALLERY_MOBILE: 'GALLERY_MOBILE' }; export type ProductImageRole = (typeof ProductImageRole)[keyof typeof ProductImageRole] export const OrderChannel: { RETAIL: 'RETAIL', WHOLESALE: 'WHOLESALE' }; export type OrderChannel = (typeof OrderChannel)[keyof typeof OrderChannel] export const OrderStatus: { SUSPENDED: 'SUSPENDED', PLACED: 'PLACED', ADMIN_APPROVED: 'ADMIN_APPROVED', SOURCING: 'SOURCING', PREPARING: 'PREPARING', DELIVERED_TO_AGENT: 'DELIVERED_TO_AGENT', DELIVERED_TO_CUSTOMER: 'DELIVERED_TO_CUSTOMER', CANCELLED: 'CANCELLED' }; export type OrderStatus = (typeof OrderStatus)[keyof typeof OrderStatus] export const PreOrderStatus: { PLACED: 'PLACED', ADMIN_APPROVED: 'ADMIN_APPROVED', WORKSHOP_APPROVED: 'WORKSHOP_APPROVED', READY_TO_SHIP: 'READY_TO_SHIP', DELIVERED: 'DELIVERED', CANCELLED: 'CANCELLED' }; export type PreOrderStatus = (typeof PreOrderStatus)[keyof typeof PreOrderStatus] export const LedgerCurrency: { GOLD_GRAM: 'GOLD_GRAM', RIAL: 'RIAL' }; export type LedgerCurrency = (typeof LedgerCurrency)[keyof typeof LedgerCurrency] export const LedgerDirection: { DEBIT: 'DEBIT', CREDIT: 'CREDIT' }; export type LedgerDirection = (typeof LedgerDirection)[keyof typeof LedgerDirection] export const LedgerSourceType: { ORDER_STOCK: 'ORDER_STOCK', ORDER_PRE_ORDER: 'ORDER_PRE_ORDER', REPAYMENT_MELTED_GOLD: 'REPAYMENT_MELTED_GOLD', REPAYMENT_TRANSFER: 'REPAYMENT_TRANSFER', REPAYMENT_CHEQUE: 'REPAYMENT_CHEQUE', REPAYMENT_CASH: 'REPAYMENT_CASH', WALLET_BONUS: 'WALLET_BONUS', ADJUSTMENT: 'ADJUSTMENT' }; export type LedgerSourceType = (typeof LedgerSourceType)[keyof typeof LedgerSourceType] export const CommentStatus: { PENDING: 'PENDING', APPROVED: 'APPROVED', REJECTED: 'REJECTED' }; export type CommentStatus = (typeof CommentStatus)[keyof typeof CommentStatus] export const PromotionScope: { PRODUCT: 'PRODUCT', CATEGORY: 'CATEGORY', CUSTOMER: 'CUSTOMER', BRAND: 'BRAND' }; export type PromotionScope = (typeof PromotionScope)[keyof typeof PromotionScope] export const PromotionUsage: { ONCE: 'ONCE', UNTIL_END_DATE: 'UNTIL_END_DATE' }; export type PromotionUsage = (typeof PromotionUsage)[keyof typeof PromotionUsage] export const MessageAudience: { SINGLE_NUMBER: 'SINGLE_NUMBER', MULTIPLE_NUMBERS: 'MULTIPLE_NUMBERS', ALL_CUSTOMERS: 'ALL_CUSTOMERS', WHOLESALE_CUSTOMERS: 'WHOLESALE_CUSTOMERS', RETAIL_CUSTOMERS: 'RETAIL_CUSTOMERS', SALES_AGENTS: 'SALES_AGENTS' }; export type MessageAudience = (typeof MessageAudience)[keyof typeof MessageAudience] } export type AdminRole = $Enums.AdminRole export const AdminRole: typeof $Enums.AdminRole export type CustomerKind = $Enums.CustomerKind export const CustomerKind: typeof $Enums.CustomerKind export type VerificationStep = $Enums.VerificationStep export const VerificationStep: typeof $Enums.VerificationStep export type ProductImageRole = $Enums.ProductImageRole export const ProductImageRole: typeof $Enums.ProductImageRole export type OrderChannel = $Enums.OrderChannel export const OrderChannel: typeof $Enums.OrderChannel export type OrderStatus = $Enums.OrderStatus export const OrderStatus: typeof $Enums.OrderStatus export type PreOrderStatus = $Enums.PreOrderStatus export const PreOrderStatus: typeof $Enums.PreOrderStatus export type LedgerCurrency = $Enums.LedgerCurrency export const LedgerCurrency: typeof $Enums.LedgerCurrency export type LedgerDirection = $Enums.LedgerDirection export const LedgerDirection: typeof $Enums.LedgerDirection export type LedgerSourceType = $Enums.LedgerSourceType export const LedgerSourceType: typeof $Enums.LedgerSourceType export type CommentStatus = $Enums.CommentStatus export const CommentStatus: typeof $Enums.CommentStatus export type PromotionScope = $Enums.PromotionScope export const PromotionScope: typeof $Enums.PromotionScope export type PromotionUsage = $Enums.PromotionUsage export const PromotionUsage: typeof $Enums.PromotionUsage export type MessageAudience = $Enums.MessageAudience export const MessageAudience: typeof $Enums.MessageAudience /** * ## Prisma Client ʲˢ * * Type-safe database client for TypeScript & Node.js * @example * ``` * const prisma = new PrismaClient() * // Fetch zero or more Cities * const cities = await prisma.city.findMany() * ``` * * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ export class PrismaClient< ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs > { [K: symbol]: { types: Prisma.TypeMap['other'] } /** * ## Prisma Client ʲˢ * * Type-safe database client for TypeScript & Node.js * @example * ``` * const prisma = new PrismaClient() * // Fetch zero or more Cities * const cities = await prisma.city.findMany() * ``` * * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ constructor(optionsArg ?: Prisma.Subset); $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): void; /** * Connect with the database */ $connect(): $Utils.JsPromise; /** * Disconnect from the database */ $disconnect(): $Utils.JsPromise; /** * Add a middleware * @deprecated since 4.16.0. For new code, prefer client extensions instead. * @see https://pris.ly/d/extensions */ $use(cb: Prisma.Middleware): void /** * Executes a prepared raw query and returns the number of affected rows. * @example * ``` * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};` * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Executes a raw query and returns the number of affected rows. * Susceptible to SQL injections, see documentation. * @example * ``` * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com') * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; /** * Performs a prepared raw query and returns the `SELECT` data. * @example * ``` * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};` * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Performs a raw query and returns the `SELECT` data. * Susceptible to SQL injections, see documentation. * @example * ``` * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com') * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; /** * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole. * @example * ``` * const [george, bob, alice] = await prisma.$transaction([ * prisma.user.create({ data: { name: 'George' } }), * prisma.user.create({ data: { name: 'Bob' } }), * prisma.user.create({ data: { name: 'Alice' } }), * ]) * ``` * * Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions). */ $transaction

[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise> $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs> /** * `prisma.city`: Exposes CRUD operations for the **City** model. * Example usage: * ```ts * // Fetch zero or more Cities * const cities = await prisma.city.findMany() * ``` */ get city(): Prisma.CityDelegate; /** * `prisma.adminUser`: Exposes CRUD operations for the **AdminUser** model. * Example usage: * ```ts * // Fetch zero or more AdminUsers * const adminUsers = await prisma.adminUser.findMany() * ``` */ get adminUser(): Prisma.AdminUserDelegate; /** * `prisma.appSession`: Exposes CRUD operations for the **AppSession** model. * Example usage: * ```ts * // Fetch zero or more AppSessions * const appSessions = await prisma.appSession.findMany() * ``` */ get appSession(): Prisma.AppSessionDelegate; /** * `prisma.adminSession`: Exposes CRUD operations for the **AdminSession** model. * Example usage: * ```ts * // Fetch zero or more AdminSessions * const adminSessions = await prisma.adminSession.findMany() * ``` */ get adminSession(): Prisma.AdminSessionDelegate; /** * `prisma.salesExpertProfile`: Exposes CRUD operations for the **SalesExpertProfile** model. * Example usage: * ```ts * // Fetch zero or more SalesExpertProfiles * const salesExpertProfiles = await prisma.salesExpertProfile.findMany() * ``` */ get salesExpertProfile(): Prisma.SalesExpertProfileDelegate; /** * `prisma.customer`: Exposes CRUD operations for the **Customer** model. * Example usage: * ```ts * // Fetch zero or more Customers * const customers = await prisma.customer.findMany() * ``` */ get customer(): Prisma.CustomerDelegate; /** * `prisma.customerAddress`: Exposes CRUD operations for the **CustomerAddress** model. * Example usage: * ```ts * // Fetch zero or more CustomerAddresses * const customerAddresses = await prisma.customerAddress.findMany() * ``` */ get customerAddress(): Prisma.CustomerAddressDelegate; /** * `prisma.branch`: Exposes CRUD operations for the **Branch** model. * Example usage: * ```ts * // Fetch zero or more Branches * const branches = await prisma.branch.findMany() * ``` */ get branch(): Prisma.BranchDelegate; /** * `prisma.workshop`: Exposes CRUD operations for the **Workshop** model. * Example usage: * ```ts * // Fetch zero or more Workshops * const workshops = await prisma.workshop.findMany() * ``` */ get workshop(): Prisma.WorkshopDelegate; /** * `prisma.category`: Exposes CRUD operations for the **Category** model. * Example usage: * ```ts * // Fetch zero or more Categories * const categories = await prisma.category.findMany() * ``` */ get category(): Prisma.CategoryDelegate; /** * `prisma.brand`: Exposes CRUD operations for the **Brand** model. * Example usage: * ```ts * // Fetch zero or more Brands * const brands = await prisma.brand.findMany() * ``` */ get brand(): Prisma.BrandDelegate; /** * `prisma.collection`: Exposes CRUD operations for the **Collection** model. * Example usage: * ```ts * // Fetch zero or more Collections * const collections = await prisma.collection.findMany() * ``` */ get collection(): Prisma.CollectionDelegate; /** * `prisma.collectionProduct`: Exposes CRUD operations for the **CollectionProduct** model. * Example usage: * ```ts * // Fetch zero or more CollectionProducts * const collectionProducts = await prisma.collectionProduct.findMany() * ``` */ get collectionProduct(): Prisma.CollectionProductDelegate; /** * `prisma.product`: Exposes CRUD operations for the **Product** model. * Example usage: * ```ts * // Fetch zero or more Products * const products = await prisma.product.findMany() * ``` */ get product(): Prisma.ProductDelegate; /** * `prisma.productImage`: Exposes CRUD operations for the **ProductImage** model. * Example usage: * ```ts * // Fetch zero or more ProductImages * const productImages = await prisma.productImage.findMany() * ``` */ get productImage(): Prisma.ProductImageDelegate; /** * `prisma.productVariant`: Exposes CRUD operations for the **ProductVariant** model. * Example usage: * ```ts * // Fetch zero or more ProductVariants * const productVariants = await prisma.productVariant.findMany() * ``` */ get productVariant(): Prisma.ProductVariantDelegate; /** * `prisma.order`: Exposes CRUD operations for the **Order** model. * Example usage: * ```ts * // Fetch zero or more Orders * const orders = await prisma.order.findMany() * ``` */ get order(): Prisma.OrderDelegate; /** * `prisma.orderItem`: Exposes CRUD operations for the **OrderItem** model. * Example usage: * ```ts * // Fetch zero or more OrderItems * const orderItems = await prisma.orderItem.findMany() * ``` */ get orderItem(): Prisma.OrderItemDelegate; /** * `prisma.orderStatusEvent`: Exposes CRUD operations for the **OrderStatusEvent** model. * Example usage: * ```ts * // Fetch zero or more OrderStatusEvents * const orderStatusEvents = await prisma.orderStatusEvent.findMany() * ``` */ get orderStatusEvent(): Prisma.OrderStatusEventDelegate; /** * `prisma.preOrder`: Exposes CRUD operations for the **PreOrder** model. * Example usage: * ```ts * // Fetch zero or more PreOrders * const preOrders = await prisma.preOrder.findMany() * ``` */ get preOrder(): Prisma.PreOrderDelegate; /** * `prisma.preOrderStatusEvent`: Exposes CRUD operations for the **PreOrderStatusEvent** model. * Example usage: * ```ts * // Fetch zero or more PreOrderStatusEvents * const preOrderStatusEvents = await prisma.preOrderStatusEvent.findMany() * ``` */ get preOrderStatusEvent(): Prisma.PreOrderStatusEventDelegate; /** * `prisma.ledgerEntry`: Exposes CRUD operations for the **LedgerEntry** model. * Example usage: * ```ts * // Fetch zero or more LedgerEntries * const ledgerEntries = await prisma.ledgerEntry.findMany() * ``` */ get ledgerEntry(): Prisma.LedgerEntryDelegate; /** * `prisma.goldPriceQuote`: Exposes CRUD operations for the **GoldPriceQuote** model. * Example usage: * ```ts * // Fetch zero or more GoldPriceQuotes * const goldPriceQuotes = await prisma.goldPriceQuote.findMany() * ``` */ get goldPriceQuote(): Prisma.GoldPriceQuoteDelegate; /** * `prisma.walletBonus`: Exposes CRUD operations for the **WalletBonus** model. * Example usage: * ```ts * // Fetch zero or more WalletBonuses * const walletBonuses = await prisma.walletBonus.findMany() * ``` */ get walletBonus(): Prisma.WalletBonusDelegate; /** * `prisma.userType`: Exposes CRUD operations for the **UserType** model. * Example usage: * ```ts * // Fetch zero or more UserTypes * const userTypes = await prisma.userType.findMany() * ``` */ get userType(): Prisma.UserTypeDelegate; /** * `prisma.permission`: Exposes CRUD operations for the **Permission** model. * Example usage: * ```ts * // Fetch zero or more Permissions * const permissions = await prisma.permission.findMany() * ``` */ get permission(): Prisma.PermissionDelegate; /** * `prisma.comment`: Exposes CRUD operations for the **Comment** model. * Example usage: * ```ts * // Fetch zero or more Comments * const comments = await prisma.comment.findMany() * ``` */ get comment(): Prisma.CommentDelegate; /** * `prisma.setting`: Exposes CRUD operations for the **Setting** model. * Example usage: * ```ts * // Fetch zero or more Settings * const settings = await prisma.setting.findMany() * ``` */ get setting(): Prisma.SettingDelegate; /** * `prisma.promotion`: Exposes CRUD operations for the **Promotion** model. * Example usage: * ```ts * // Fetch zero or more Promotions * const promotions = await prisma.promotion.findMany() * ``` */ get promotion(): Prisma.PromotionDelegate; /** * `prisma.promotionExclusion`: Exposes CRUD operations for the **PromotionExclusion** model. * Example usage: * ```ts * // Fetch zero or more PromotionExclusions * const promotionExclusions = await prisma.promotionExclusion.findMany() * ``` */ get promotionExclusion(): Prisma.PromotionExclusionDelegate; /** * `prisma.branchAllocation`: Exposes CRUD operations for the **BranchAllocation** model. * Example usage: * ```ts * // Fetch zero or more BranchAllocations * const branchAllocations = await prisma.branchAllocation.findMany() * ``` */ get branchAllocation(): Prisma.BranchAllocationDelegate; /** * `prisma.branchAllocationItem`: Exposes CRUD operations for the **BranchAllocationItem** model. * Example usage: * ```ts * // Fetch zero or more BranchAllocationItems * const branchAllocationItems = await prisma.branchAllocationItem.findMany() * ``` */ get branchAllocationItem(): Prisma.BranchAllocationItemDelegate; /** * `prisma.smsMessage`: Exposes CRUD operations for the **SmsMessage** model. * Example usage: * ```ts * // Fetch zero or more SmsMessages * const smsMessages = await prisma.smsMessage.findMany() * ``` */ get smsMessage(): Prisma.SmsMessageDelegate; /** * `prisma.notification`: Exposes CRUD operations for the **Notification** model. * Example usage: * ```ts * // Fetch zero or more Notifications * const notifications = await prisma.notification.findMany() * ``` */ get notification(): Prisma.NotificationDelegate; /** * `prisma.notificationRecipient`: Exposes CRUD operations for the **NotificationRecipient** model. * Example usage: * ```ts * // Fetch zero or more NotificationRecipients * const notificationRecipients = await prisma.notificationRecipient.findMany() * ``` */ get notificationRecipient(): Prisma.NotificationRecipientDelegate; /** * `prisma.newsletterSubscriber`: Exposes CRUD operations for the **NewsletterSubscriber** model. * Example usage: * ```ts * // Fetch zero or more NewsletterSubscribers * const newsletterSubscribers = await prisma.newsletterSubscriber.findMany() * ``` */ get newsletterSubscriber(): Prisma.NewsletterSubscriberDelegate; /** * `prisma.customerActivityLog`: Exposes CRUD operations for the **CustomerActivityLog** model. * Example usage: * ```ts * // Fetch zero or more CustomerActivityLogs * const customerActivityLogs = await prisma.customerActivityLog.findMany() * ``` */ get customerActivityLog(): Prisma.CustomerActivityLogDelegate; /** * `prisma.uploadedFile`: Exposes CRUD operations for the **UploadedFile** model. * Example usage: * ```ts * // Fetch zero or more UploadedFiles * const uploadedFiles = await prisma.uploadedFile.findMany() * ``` */ get uploadedFile(): Prisma.UploadedFileDelegate; /** * `prisma.customerOtp`: Exposes CRUD operations for the **CustomerOtp** model. * Example usage: * ```ts * // Fetch zero or more CustomerOtps * const customerOtps = await prisma.customerOtp.findMany() * ``` */ get customerOtp(): Prisma.CustomerOtpDelegate; } export namespace Prisma { export import DMMF = runtime.DMMF export type PrismaPromise = $Public.PrismaPromise /** * Validator */ export import validator = runtime.Public.validator /** * Prisma Errors */ export import PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export import PrismaClientInitializationError = runtime.PrismaClientInitializationError export import PrismaClientValidationError = runtime.PrismaClientValidationError export import NotFoundError = runtime.NotFoundError /** * Re-export of sql-template-tag */ export import sql = runtime.sqltag export import empty = runtime.empty export import join = runtime.join export import raw = runtime.raw export import Sql = runtime.Sql /** * Decimal.js */ export import Decimal = runtime.Decimal export type DecimalJsLike = runtime.DecimalJsLike /** * Metrics */ export type Metrics = runtime.Metrics export type Metric = runtime.Metric export type MetricHistogram = runtime.MetricHistogram export type MetricHistogramBucket = runtime.MetricHistogramBucket /** * Extensions */ export import Extension = $Extensions.UserArgs export import getExtensionContext = runtime.Extensions.getExtensionContext export import Args = $Public.Args export import Payload = $Public.Payload export import Result = $Public.Result export import Exact = $Public.Exact /** * Prisma Client JS version: 5.22.0 * Query Engine version: 605197351a3c8bdd595af2d2a9bc3025bca48ea2 */ export type PrismaVersion = { client: string } export const prismaVersion: PrismaVersion /** * Utility Types */ export import JsonObject = runtime.JsonObject export import JsonArray = runtime.JsonArray export import JsonValue = runtime.JsonValue export import InputJsonObject = runtime.InputJsonObject export import InputJsonArray = runtime.InputJsonArray export import InputJsonValue = runtime.InputJsonValue /** * Types of the values used to represent different kinds of `null` values when working with JSON fields. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ namespace NullTypes { /** * Type of `Prisma.DbNull`. * * You cannot use other instances of this class. Please use the `Prisma.DbNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class DbNull { private DbNull: never private constructor() } /** * Type of `Prisma.JsonNull`. * * You cannot use other instances of this class. Please use the `Prisma.JsonNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class JsonNull { private JsonNull: never private constructor() } /** * Type of `Prisma.AnyNull`. * * You cannot use other instances of this class. Please use the `Prisma.AnyNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class AnyNull { private AnyNull: never private constructor() } } /** * Helper for filtering JSON entries that have `null` on the database (empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const DbNull: NullTypes.DbNull /** * Helper for filtering JSON entries that have JSON `null` values (not empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const JsonNull: NullTypes.JsonNull /** * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull` * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const AnyNull: NullTypes.AnyNull type SelectAndInclude = { select: any include: any } type SelectAndOmit = { select: any omit: any } /** * Get the type of the value, that the Promise holds. */ export type PromiseType> = T extends PromiseLike ? U : T; /** * Get the return type of a function which returns a Promise. */ export type PromiseReturnType $Utils.JsPromise> = PromiseType> /** * From T, pick a set of properties whose keys are in the union K */ type Prisma__Pick = { [P in K]: T[P]; }; export type Enumerable = T | Array; export type RequiredKeys = { [K in keyof T]-?: {} extends Prisma__Pick ? never : K }[keyof T] export type TruthyKeys = keyof { [K in keyof T as T[K] extends false | undefined | null ? never : K]: K } export type TrueKeys = TruthyKeys>> /** * Subset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection */ export type Subset = { [key in keyof T]: key extends keyof U ? T[key] : never; }; /** * SelectSubset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection. * Additionally, it validates, if both select and include are present. If the case, it errors. */ export type SelectSubset = { [key in keyof T]: key extends keyof U ? T[key] : never } & (T extends SelectAndInclude ? 'Please either choose `select` or `include`.' : T extends SelectAndOmit ? 'Please either choose `select` or `omit`.' : {}) /** * Subset + Intersection * @desc From `T` pick properties that exist in `U` and intersect `K` */ export type SubsetIntersection = { [key in keyof T]: key extends keyof U ? T[key] : never } & K type Without = { [P in Exclude]?: never }; /** * XOR is needed to have a real mutually exclusive union type * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types */ type XOR = T extends object ? U extends object ? (Without & U) | (Without & T) : U : T /** * Is T a Record? */ type IsObject = T extends Array ? False : T extends Date ? False : T extends Uint8Array ? False : T extends BigInt ? False : T extends object ? True : False /** * If it's T[], return T */ export type UnEnumerate = T extends Array ? U : T /** * From ts-toolbelt */ type __Either = Omit & { // Merge all but K [P in K]: Prisma__Pick // With K possibilities }[K] type EitherStrict = Strict<__Either> type EitherLoose = ComputeRaw<__Either> type _Either< O extends object, K extends Key, strict extends Boolean > = { 1: EitherStrict 0: EitherLoose }[strict] type Either< O extends object, K extends Key, strict extends Boolean = 1 > = O extends unknown ? _Either : never export type Union = any type PatchUndefined = { [K in keyof O]: O[K] extends undefined ? At : O[K] } & {} /** Helper Types for "Merge" **/ export type IntersectOf = ( U extends unknown ? (k: U) => void : never ) extends (k: infer I) => void ? I : never export type Overwrite = { [K in keyof O]: K extends keyof O1 ? O1[K] : O[K]; } & {}; type _Merge = IntersectOf; }>>; type Key = string | number | symbol; type AtBasic = K extends keyof O ? O[K] : never; type AtStrict = O[K & keyof O]; type AtLoose = O extends unknown ? AtStrict : never; export type At = { 1: AtStrict; 0: AtLoose; }[strict]; export type ComputeRaw = A extends Function ? A : { [K in keyof A]: A[K]; } & {}; export type OptionalFlat = { [K in keyof O]?: O[K]; } & {}; type _Record = { [P in K]: T; }; // cause typescript not to expand types and preserve names type NoExpand = T extends unknown ? T : never; // this type assumes the passed object is entirely optional type AtLeast = NoExpand< O extends unknown ? | (K extends keyof O ? { [P in K]: O[P] } & O : O) | {[P in keyof O as P extends K ? K : never]-?: O[P]} & O : never>; type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; export type Strict = ComputeRaw<_Strict>; /** End Helper Types for "Merge" **/ export type Merge = ComputeRaw<_Merge>>; /** A [[Boolean]] */ export type Boolean = True | False // /** // 1 // */ export type True = 1 /** 0 */ export type False = 0 export type Not = { 0: 1 1: 0 }[B] export type Extends = [A1] extends [never] ? 0 // anything `never` is false : A1 extends A2 ? 1 : 0 export type Has = Not< Extends, U1> > export type Or = { 0: { 0: 0 1: 1 } 1: { 0: 1 1: 1 } }[B1][B2] export type Keys = U extends unknown ? keyof U : never type Cast = A extends B ? A : B; export const type: unique symbol; /** * Used by group by */ export type GetScalarType = O extends object ? { [P in keyof T]: P extends keyof O ? O[P] : never } : never type FieldPaths< T, U = Omit > = IsObject extends True ? U : T type GetHavingFields = { [K in keyof T]: Or< Or, Extends<'AND', K>>, Extends<'NOT', K> > extends True ? // infer is only needed to not hit TS limit // based on the brilliant idea of Pierre-Antoine Mills // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437 T[K] extends infer TK ? GetHavingFields extends object ? Merge> : never> : never : {} extends FieldPaths ? never : K }[keyof T] /** * Convert tuple to union */ type _TupleToUnion = T extends (infer E)[] ? E : never type TupleToUnion = _TupleToUnion type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T /** * Like `Pick`, but additionally can also accept an array of keys */ type PickEnumerable | keyof T> = Prisma__Pick> /** * Exclude all keys with underscores */ type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T export type FieldRef = runtime.FieldRef type FieldRefInputType = Model extends never ? never : FieldRef export const ModelName: { City: 'City', AdminUser: 'AdminUser', AppSession: 'AppSession', AdminSession: 'AdminSession', SalesExpertProfile: 'SalesExpertProfile', Customer: 'Customer', CustomerAddress: 'CustomerAddress', Branch: 'Branch', Workshop: 'Workshop', Category: 'Category', Brand: 'Brand', Collection: 'Collection', CollectionProduct: 'CollectionProduct', Product: 'Product', ProductImage: 'ProductImage', ProductVariant: 'ProductVariant', Order: 'Order', OrderItem: 'OrderItem', OrderStatusEvent: 'OrderStatusEvent', PreOrder: 'PreOrder', PreOrderStatusEvent: 'PreOrderStatusEvent', LedgerEntry: 'LedgerEntry', GoldPriceQuote: 'GoldPriceQuote', WalletBonus: 'WalletBonus', UserType: 'UserType', Permission: 'Permission', Comment: 'Comment', Setting: 'Setting', Promotion: 'Promotion', PromotionExclusion: 'PromotionExclusion', BranchAllocation: 'BranchAllocation', BranchAllocationItem: 'BranchAllocationItem', SmsMessage: 'SmsMessage', Notification: 'Notification', NotificationRecipient: 'NotificationRecipient', NewsletterSubscriber: 'NewsletterSubscriber', CustomerActivityLog: 'CustomerActivityLog', UploadedFile: 'UploadedFile', CustomerOtp: 'CustomerOtp' }; export type ModelName = (typeof ModelName)[keyof typeof ModelName] export type Datasources = { db?: Datasource } interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs, clientOptions: PrismaClientOptions }, $Utils.Record> { returns: Prisma.TypeMap } export type TypeMap = { meta: { modelProps: "city" | "adminUser" | "appSession" | "adminSession" | "salesExpertProfile" | "customer" | "customerAddress" | "branch" | "workshop" | "category" | "brand" | "collection" | "collectionProduct" | "product" | "productImage" | "productVariant" | "order" | "orderItem" | "orderStatusEvent" | "preOrder" | "preOrderStatusEvent" | "ledgerEntry" | "goldPriceQuote" | "walletBonus" | "userType" | "permission" | "comment" | "setting" | "promotion" | "promotionExclusion" | "branchAllocation" | "branchAllocationItem" | "smsMessage" | "notification" | "notificationRecipient" | "newsletterSubscriber" | "customerActivityLog" | "uploadedFile" | "customerOtp" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { City: { payload: Prisma.$CityPayload fields: Prisma.CityFieldRefs operations: { findUnique: { args: Prisma.CityFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.CityFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.CityFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.CityFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.CityFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.CityCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.CityCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.CityCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.CityDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.CityUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.CityDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.CityUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.CityUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.CityAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.CityGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.CityCountArgs result: $Utils.Optional | number } } } AdminUser: { payload: Prisma.$AdminUserPayload fields: Prisma.AdminUserFieldRefs operations: { findUnique: { args: Prisma.AdminUserFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.AdminUserFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.AdminUserFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.AdminUserFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.AdminUserFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.AdminUserCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.AdminUserCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.AdminUserCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.AdminUserDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.AdminUserUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.AdminUserDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.AdminUserUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.AdminUserUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.AdminUserAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.AdminUserGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.AdminUserCountArgs result: $Utils.Optional | number } } } AppSession: { payload: Prisma.$AppSessionPayload fields: Prisma.AppSessionFieldRefs operations: { findUnique: { args: Prisma.AppSessionFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.AppSessionFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.AppSessionFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.AppSessionFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.AppSessionFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.AppSessionCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.AppSessionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.AppSessionCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.AppSessionDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.AppSessionUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.AppSessionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.AppSessionUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.AppSessionUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.AppSessionAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.AppSessionGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.AppSessionCountArgs result: $Utils.Optional | number } } } AdminSession: { payload: Prisma.$AdminSessionPayload fields: Prisma.AdminSessionFieldRefs operations: { findUnique: { args: Prisma.AdminSessionFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.AdminSessionFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.AdminSessionFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.AdminSessionFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.AdminSessionFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.AdminSessionCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.AdminSessionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.AdminSessionCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.AdminSessionDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.AdminSessionUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.AdminSessionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.AdminSessionUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.AdminSessionUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.AdminSessionAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.AdminSessionGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.AdminSessionCountArgs result: $Utils.Optional | number } } } SalesExpertProfile: { payload: Prisma.$SalesExpertProfilePayload fields: Prisma.SalesExpertProfileFieldRefs operations: { findUnique: { args: Prisma.SalesExpertProfileFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SalesExpertProfileFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.SalesExpertProfileFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SalesExpertProfileFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.SalesExpertProfileFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.SalesExpertProfileCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.SalesExpertProfileCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SalesExpertProfileCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.SalesExpertProfileDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.SalesExpertProfileUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.SalesExpertProfileDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SalesExpertProfileUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.SalesExpertProfileUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.SalesExpertProfileAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.SalesExpertProfileGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.SalesExpertProfileCountArgs result: $Utils.Optional | number } } } Customer: { payload: Prisma.$CustomerPayload fields: Prisma.CustomerFieldRefs operations: { findUnique: { args: Prisma.CustomerFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.CustomerFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.CustomerFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.CustomerFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.CustomerFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.CustomerCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.CustomerCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.CustomerCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.CustomerDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.CustomerUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.CustomerDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.CustomerUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.CustomerUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.CustomerAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.CustomerGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.CustomerCountArgs result: $Utils.Optional | number } } } CustomerAddress: { payload: Prisma.$CustomerAddressPayload fields: Prisma.CustomerAddressFieldRefs operations: { findUnique: { args: Prisma.CustomerAddressFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.CustomerAddressFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.CustomerAddressFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.CustomerAddressFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.CustomerAddressFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.CustomerAddressCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.CustomerAddressCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.CustomerAddressCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.CustomerAddressDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.CustomerAddressUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.CustomerAddressDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.CustomerAddressUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.CustomerAddressUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.CustomerAddressAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.CustomerAddressGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.CustomerAddressCountArgs result: $Utils.Optional | number } } } Branch: { payload: Prisma.$BranchPayload fields: Prisma.BranchFieldRefs operations: { findUnique: { args: Prisma.BranchFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.BranchFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.BranchFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.BranchFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.BranchFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.BranchCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.BranchCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.BranchCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.BranchDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.BranchUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.BranchDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.BranchUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.BranchUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.BranchAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.BranchGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.BranchCountArgs result: $Utils.Optional | number } } } Workshop: { payload: Prisma.$WorkshopPayload fields: Prisma.WorkshopFieldRefs operations: { findUnique: { args: Prisma.WorkshopFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.WorkshopFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.WorkshopFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.WorkshopFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.WorkshopFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.WorkshopCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.WorkshopCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.WorkshopCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.WorkshopDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.WorkshopUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.WorkshopDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.WorkshopUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.WorkshopUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.WorkshopAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.WorkshopGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.WorkshopCountArgs result: $Utils.Optional | number } } } Category: { payload: Prisma.$CategoryPayload fields: Prisma.CategoryFieldRefs operations: { findUnique: { args: Prisma.CategoryFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.CategoryFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.CategoryFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.CategoryFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.CategoryFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.CategoryCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.CategoryCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.CategoryCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.CategoryDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.CategoryUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.CategoryDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.CategoryUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.CategoryUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.CategoryAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.CategoryGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.CategoryCountArgs result: $Utils.Optional | number } } } Brand: { payload: Prisma.$BrandPayload fields: Prisma.BrandFieldRefs operations: { findUnique: { args: Prisma.BrandFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.BrandFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.BrandFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.BrandFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.BrandFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.BrandCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.BrandCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.BrandCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.BrandDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.BrandUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.BrandDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.BrandUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.BrandUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.BrandAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.BrandGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.BrandCountArgs result: $Utils.Optional | number } } } Collection: { payload: Prisma.$CollectionPayload fields: Prisma.CollectionFieldRefs operations: { findUnique: { args: Prisma.CollectionFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.CollectionFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.CollectionFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.CollectionFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.CollectionFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.CollectionCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.CollectionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.CollectionCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.CollectionDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.CollectionUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.CollectionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.CollectionUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.CollectionUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.CollectionAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.CollectionGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.CollectionCountArgs result: $Utils.Optional | number } } } CollectionProduct: { payload: Prisma.$CollectionProductPayload fields: Prisma.CollectionProductFieldRefs operations: { findUnique: { args: Prisma.CollectionProductFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.CollectionProductFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.CollectionProductFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.CollectionProductFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.CollectionProductFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.CollectionProductCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.CollectionProductCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.CollectionProductCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.CollectionProductDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.CollectionProductUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.CollectionProductDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.CollectionProductUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.CollectionProductUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.CollectionProductAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.CollectionProductGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.CollectionProductCountArgs result: $Utils.Optional | number } } } Product: { payload: Prisma.$ProductPayload fields: Prisma.ProductFieldRefs operations: { findUnique: { args: Prisma.ProductFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.ProductFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.ProductFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.ProductFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.ProductFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.ProductCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.ProductCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.ProductCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.ProductDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.ProductUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.ProductDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.ProductUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.ProductUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.ProductAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.ProductGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.ProductCountArgs result: $Utils.Optional | number } } } ProductImage: { payload: Prisma.$ProductImagePayload fields: Prisma.ProductImageFieldRefs operations: { findUnique: { args: Prisma.ProductImageFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.ProductImageFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.ProductImageFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.ProductImageFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.ProductImageFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.ProductImageCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.ProductImageCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.ProductImageCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.ProductImageDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.ProductImageUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.ProductImageDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.ProductImageUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.ProductImageUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.ProductImageAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.ProductImageGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.ProductImageCountArgs result: $Utils.Optional | number } } } ProductVariant: { payload: Prisma.$ProductVariantPayload fields: Prisma.ProductVariantFieldRefs operations: { findUnique: { args: Prisma.ProductVariantFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.ProductVariantFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.ProductVariantFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.ProductVariantFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.ProductVariantFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.ProductVariantCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.ProductVariantCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.ProductVariantCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.ProductVariantDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.ProductVariantUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.ProductVariantDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.ProductVariantUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.ProductVariantUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.ProductVariantAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.ProductVariantGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.ProductVariantCountArgs result: $Utils.Optional | number } } } Order: { payload: Prisma.$OrderPayload fields: Prisma.OrderFieldRefs operations: { findUnique: { args: Prisma.OrderFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.OrderFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.OrderFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.OrderFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.OrderFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.OrderCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.OrderCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.OrderCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.OrderDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.OrderUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.OrderDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.OrderUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.OrderUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.OrderAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.OrderGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.OrderCountArgs result: $Utils.Optional | number } } } OrderItem: { payload: Prisma.$OrderItemPayload fields: Prisma.OrderItemFieldRefs operations: { findUnique: { args: Prisma.OrderItemFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.OrderItemFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.OrderItemFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.OrderItemFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.OrderItemFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.OrderItemCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.OrderItemCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.OrderItemCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.OrderItemDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.OrderItemUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.OrderItemDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.OrderItemUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.OrderItemUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.OrderItemAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.OrderItemGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.OrderItemCountArgs result: $Utils.Optional | number } } } OrderStatusEvent: { payload: Prisma.$OrderStatusEventPayload fields: Prisma.OrderStatusEventFieldRefs operations: { findUnique: { args: Prisma.OrderStatusEventFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.OrderStatusEventFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.OrderStatusEventFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.OrderStatusEventFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.OrderStatusEventFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.OrderStatusEventCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.OrderStatusEventCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.OrderStatusEventCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.OrderStatusEventDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.OrderStatusEventUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.OrderStatusEventDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.OrderStatusEventUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.OrderStatusEventUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.OrderStatusEventAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.OrderStatusEventGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.OrderStatusEventCountArgs result: $Utils.Optional | number } } } PreOrder: { payload: Prisma.$PreOrderPayload fields: Prisma.PreOrderFieldRefs operations: { findUnique: { args: Prisma.PreOrderFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.PreOrderFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.PreOrderFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.PreOrderFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.PreOrderFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.PreOrderCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.PreOrderCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.PreOrderCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.PreOrderDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.PreOrderUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.PreOrderDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.PreOrderUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.PreOrderUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.PreOrderAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.PreOrderGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.PreOrderCountArgs result: $Utils.Optional | number } } } PreOrderStatusEvent: { payload: Prisma.$PreOrderStatusEventPayload fields: Prisma.PreOrderStatusEventFieldRefs operations: { findUnique: { args: Prisma.PreOrderStatusEventFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.PreOrderStatusEventFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.PreOrderStatusEventFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.PreOrderStatusEventFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.PreOrderStatusEventFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.PreOrderStatusEventCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.PreOrderStatusEventCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.PreOrderStatusEventCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.PreOrderStatusEventDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.PreOrderStatusEventUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.PreOrderStatusEventDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.PreOrderStatusEventUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.PreOrderStatusEventUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.PreOrderStatusEventAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.PreOrderStatusEventGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.PreOrderStatusEventCountArgs result: $Utils.Optional | number } } } LedgerEntry: { payload: Prisma.$LedgerEntryPayload fields: Prisma.LedgerEntryFieldRefs operations: { findUnique: { args: Prisma.LedgerEntryFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.LedgerEntryFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.LedgerEntryFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.LedgerEntryFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.LedgerEntryFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.LedgerEntryCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.LedgerEntryCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.LedgerEntryCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.LedgerEntryDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.LedgerEntryUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.LedgerEntryDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.LedgerEntryUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.LedgerEntryUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.LedgerEntryAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.LedgerEntryGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.LedgerEntryCountArgs result: $Utils.Optional | number } } } GoldPriceQuote: { payload: Prisma.$GoldPriceQuotePayload fields: Prisma.GoldPriceQuoteFieldRefs operations: { findUnique: { args: Prisma.GoldPriceQuoteFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.GoldPriceQuoteFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.GoldPriceQuoteFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.GoldPriceQuoteFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.GoldPriceQuoteFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.GoldPriceQuoteCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.GoldPriceQuoteCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.GoldPriceQuoteCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.GoldPriceQuoteDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.GoldPriceQuoteUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.GoldPriceQuoteDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.GoldPriceQuoteUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.GoldPriceQuoteUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.GoldPriceQuoteAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.GoldPriceQuoteGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.GoldPriceQuoteCountArgs result: $Utils.Optional | number } } } WalletBonus: { payload: Prisma.$WalletBonusPayload fields: Prisma.WalletBonusFieldRefs operations: { findUnique: { args: Prisma.WalletBonusFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.WalletBonusFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.WalletBonusFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.WalletBonusFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.WalletBonusFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.WalletBonusCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.WalletBonusCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.WalletBonusCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.WalletBonusDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.WalletBonusUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.WalletBonusDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.WalletBonusUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.WalletBonusUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.WalletBonusAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.WalletBonusGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.WalletBonusCountArgs result: $Utils.Optional | number } } } UserType: { payload: Prisma.$UserTypePayload fields: Prisma.UserTypeFieldRefs operations: { findUnique: { args: Prisma.UserTypeFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.UserTypeFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.UserTypeFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.UserTypeFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.UserTypeFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.UserTypeCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.UserTypeCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.UserTypeCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.UserTypeDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.UserTypeUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.UserTypeDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.UserTypeUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.UserTypeUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.UserTypeAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.UserTypeGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.UserTypeCountArgs result: $Utils.Optional | number } } } Permission: { payload: Prisma.$PermissionPayload fields: Prisma.PermissionFieldRefs operations: { findUnique: { args: Prisma.PermissionFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.PermissionFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.PermissionFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.PermissionFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.PermissionFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.PermissionCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.PermissionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.PermissionCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.PermissionDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.PermissionUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.PermissionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.PermissionUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.PermissionUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.PermissionAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.PermissionGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.PermissionCountArgs result: $Utils.Optional | number } } } Comment: { payload: Prisma.$CommentPayload fields: Prisma.CommentFieldRefs operations: { findUnique: { args: Prisma.CommentFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.CommentFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.CommentFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.CommentFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.CommentFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.CommentCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.CommentCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.CommentCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.CommentDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.CommentUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.CommentDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.CommentUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.CommentUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.CommentAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.CommentGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.CommentCountArgs result: $Utils.Optional | number } } } Setting: { payload: Prisma.$SettingPayload fields: Prisma.SettingFieldRefs operations: { findUnique: { args: Prisma.SettingFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SettingFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.SettingFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SettingFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.SettingFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.SettingCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.SettingCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SettingCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.SettingDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.SettingUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.SettingDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SettingUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.SettingUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.SettingAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.SettingGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.SettingCountArgs result: $Utils.Optional | number } } } Promotion: { payload: Prisma.$PromotionPayload fields: Prisma.PromotionFieldRefs operations: { findUnique: { args: Prisma.PromotionFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.PromotionFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.PromotionFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.PromotionFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.PromotionFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.PromotionCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.PromotionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.PromotionCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.PromotionDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.PromotionUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.PromotionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.PromotionUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.PromotionUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.PromotionAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.PromotionGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.PromotionCountArgs result: $Utils.Optional | number } } } PromotionExclusion: { payload: Prisma.$PromotionExclusionPayload fields: Prisma.PromotionExclusionFieldRefs operations: { findUnique: { args: Prisma.PromotionExclusionFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.PromotionExclusionFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.PromotionExclusionFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.PromotionExclusionFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.PromotionExclusionFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.PromotionExclusionCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.PromotionExclusionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.PromotionExclusionCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.PromotionExclusionDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.PromotionExclusionUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.PromotionExclusionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.PromotionExclusionUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.PromotionExclusionUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.PromotionExclusionAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.PromotionExclusionGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.PromotionExclusionCountArgs result: $Utils.Optional | number } } } BranchAllocation: { payload: Prisma.$BranchAllocationPayload fields: Prisma.BranchAllocationFieldRefs operations: { findUnique: { args: Prisma.BranchAllocationFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.BranchAllocationFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.BranchAllocationFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.BranchAllocationFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.BranchAllocationFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.BranchAllocationCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.BranchAllocationCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.BranchAllocationCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.BranchAllocationDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.BranchAllocationUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.BranchAllocationDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.BranchAllocationUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.BranchAllocationUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.BranchAllocationAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.BranchAllocationGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.BranchAllocationCountArgs result: $Utils.Optional | number } } } BranchAllocationItem: { payload: Prisma.$BranchAllocationItemPayload fields: Prisma.BranchAllocationItemFieldRefs operations: { findUnique: { args: Prisma.BranchAllocationItemFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.BranchAllocationItemFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.BranchAllocationItemFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.BranchAllocationItemFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.BranchAllocationItemFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.BranchAllocationItemCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.BranchAllocationItemCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.BranchAllocationItemCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.BranchAllocationItemDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.BranchAllocationItemUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.BranchAllocationItemDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.BranchAllocationItemUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.BranchAllocationItemUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.BranchAllocationItemAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.BranchAllocationItemGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.BranchAllocationItemCountArgs result: $Utils.Optional | number } } } SmsMessage: { payload: Prisma.$SmsMessagePayload fields: Prisma.SmsMessageFieldRefs operations: { findUnique: { args: Prisma.SmsMessageFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SmsMessageFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.SmsMessageFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SmsMessageFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.SmsMessageFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.SmsMessageCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.SmsMessageCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SmsMessageCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.SmsMessageDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.SmsMessageUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.SmsMessageDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SmsMessageUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.SmsMessageUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.SmsMessageAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.SmsMessageGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.SmsMessageCountArgs result: $Utils.Optional | number } } } Notification: { payload: Prisma.$NotificationPayload fields: Prisma.NotificationFieldRefs operations: { findUnique: { args: Prisma.NotificationFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.NotificationFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.NotificationFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.NotificationFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.NotificationFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.NotificationCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.NotificationCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.NotificationCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.NotificationDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.NotificationUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.NotificationDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.NotificationUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.NotificationUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.NotificationAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.NotificationGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.NotificationCountArgs result: $Utils.Optional | number } } } NotificationRecipient: { payload: Prisma.$NotificationRecipientPayload fields: Prisma.NotificationRecipientFieldRefs operations: { findUnique: { args: Prisma.NotificationRecipientFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.NotificationRecipientFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.NotificationRecipientFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.NotificationRecipientFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.NotificationRecipientFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.NotificationRecipientCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.NotificationRecipientCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.NotificationRecipientCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.NotificationRecipientDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.NotificationRecipientUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.NotificationRecipientDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.NotificationRecipientUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.NotificationRecipientUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.NotificationRecipientAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.NotificationRecipientGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.NotificationRecipientCountArgs result: $Utils.Optional | number } } } NewsletterSubscriber: { payload: Prisma.$NewsletterSubscriberPayload fields: Prisma.NewsletterSubscriberFieldRefs operations: { findUnique: { args: Prisma.NewsletterSubscriberFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.NewsletterSubscriberFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.NewsletterSubscriberFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.NewsletterSubscriberFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.NewsletterSubscriberFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.NewsletterSubscriberCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.NewsletterSubscriberCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.NewsletterSubscriberCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.NewsletterSubscriberDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.NewsletterSubscriberUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.NewsletterSubscriberDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.NewsletterSubscriberUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.NewsletterSubscriberUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.NewsletterSubscriberAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.NewsletterSubscriberGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.NewsletterSubscriberCountArgs result: $Utils.Optional | number } } } CustomerActivityLog: { payload: Prisma.$CustomerActivityLogPayload fields: Prisma.CustomerActivityLogFieldRefs operations: { findUnique: { args: Prisma.CustomerActivityLogFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.CustomerActivityLogFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.CustomerActivityLogFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.CustomerActivityLogFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.CustomerActivityLogFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.CustomerActivityLogCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.CustomerActivityLogCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.CustomerActivityLogCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.CustomerActivityLogDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.CustomerActivityLogUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.CustomerActivityLogDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.CustomerActivityLogUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.CustomerActivityLogUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.CustomerActivityLogAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.CustomerActivityLogGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.CustomerActivityLogCountArgs result: $Utils.Optional | number } } } UploadedFile: { payload: Prisma.$UploadedFilePayload fields: Prisma.UploadedFileFieldRefs operations: { findUnique: { args: Prisma.UploadedFileFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.UploadedFileFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.UploadedFileFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.UploadedFileFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.UploadedFileFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.UploadedFileCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.UploadedFileCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.UploadedFileCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.UploadedFileDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.UploadedFileUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.UploadedFileDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.UploadedFileUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.UploadedFileUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.UploadedFileAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.UploadedFileGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.UploadedFileCountArgs result: $Utils.Optional | number } } } CustomerOtp: { payload: Prisma.$CustomerOtpPayload fields: Prisma.CustomerOtpFieldRefs operations: { findUnique: { args: Prisma.CustomerOtpFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.CustomerOtpFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.CustomerOtpFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.CustomerOtpFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.CustomerOtpFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.CustomerOtpCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.CustomerOtpCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.CustomerOtpCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.CustomerOtpDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.CustomerOtpUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.CustomerOtpDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.CustomerOtpUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.CustomerOtpUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.CustomerOtpAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.CustomerOtpGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.CustomerOtpCountArgs result: $Utils.Optional | number } } } } } & { other: { payload: any operations: { $executeRaw: { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } $executeRawUnsafe: { args: [query: string, ...values: any[]], result: any } $queryRaw: { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } $queryRawUnsafe: { args: [query: string, ...values: any[]], result: any } } } } export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs> export type DefaultPrismaClient = PrismaClient export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' export interface PrismaClientOptions { /** * Overwrites the datasource url from your schema.prisma file */ datasources?: Datasources /** * Overwrites the datasource url from your schema.prisma file */ datasourceUrl?: string /** * @default "colorless" */ errorFormat?: ErrorFormat /** * @example * ``` * // Defaults to stdout * log: ['query', 'info', 'warn', 'error'] * * // Emit as events * log: [ * { emit: 'stdout', level: 'query' }, * { emit: 'stdout', level: 'info' }, * { emit: 'stdout', level: 'warn' } * { emit: 'stdout', level: 'error' } * ] * ``` * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option). */ log?: (LogLevel | LogDefinition)[] /** * The default values for transactionOptions * maxWait ?= 2000 * timeout ?= 5000 */ transactionOptions?: { maxWait?: number timeout?: number isolationLevel?: Prisma.TransactionIsolationLevel } } /* Types for Logging */ export type LogLevel = 'info' | 'query' | 'warn' | 'error' export type LogDefinition = { level: LogLevel emit: 'stdout' | 'event' } export type GetLogType = T extends LogDefinition ? T['emit'] extends 'event' ? T['level'] : never : never export type GetEvents = T extends Array ? GetLogType | GetLogType | GetLogType | GetLogType : never export type QueryEvent = { timestamp: Date query: string params: string duration: number target: string } export type LogEvent = { timestamp: Date message: string target: string } /* End Types for Logging */ export type PrismaAction = | 'findUnique' | 'findUniqueOrThrow' | 'findMany' | 'findFirst' | 'findFirstOrThrow' | 'create' | 'createMany' | 'createManyAndReturn' | 'update' | 'updateMany' | 'upsert' | 'delete' | 'deleteMany' | 'executeRaw' | 'queryRaw' | 'aggregate' | 'count' | 'runCommandRaw' | 'findRaw' | 'groupBy' /** * These options are being passed into the middleware as "params" */ export type MiddlewareParams = { model?: ModelName action: PrismaAction args: any dataPath: string[] runInTransaction: boolean } /** * The `T` type makes sure, that the `return proceed` is not forgotten in the middleware implementation */ export type Middleware = ( params: MiddlewareParams, next: (params: MiddlewareParams) => $Utils.JsPromise, ) => $Utils.JsPromise // tested in getLogLevel.test.ts export function getLogLevel(log: Array): LogLevel | undefined; /** * `PrismaClient` proxy available in interactive transactions. */ export type TransactionClient = Omit export type Datasource = { url?: string } /** * Count Types */ /** * Count Type CityCountOutputType */ export type CityCountOutputType = { customers: number addresses: number branches: number preOrders: number salesExpertProfiles: number } export type CityCountOutputTypeSelect = { customers?: boolean | CityCountOutputTypeCountCustomersArgs addresses?: boolean | CityCountOutputTypeCountAddressesArgs branches?: boolean | CityCountOutputTypeCountBranchesArgs preOrders?: boolean | CityCountOutputTypeCountPreOrdersArgs salesExpertProfiles?: boolean | CityCountOutputTypeCountSalesExpertProfilesArgs } // Custom InputTypes /** * CityCountOutputType without action */ export type CityCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the CityCountOutputType */ select?: CityCountOutputTypeSelect | null } /** * CityCountOutputType without action */ export type CityCountOutputTypeCountCustomersArgs = { where?: CustomerWhereInput } /** * CityCountOutputType without action */ export type CityCountOutputTypeCountAddressesArgs = { where?: CustomerAddressWhereInput } /** * CityCountOutputType without action */ export type CityCountOutputTypeCountBranchesArgs = { where?: BranchWhereInput } /** * CityCountOutputType without action */ export type CityCountOutputTypeCountPreOrdersArgs = { where?: PreOrderWhereInput } /** * CityCountOutputType without action */ export type CityCountOutputTypeCountSalesExpertProfilesArgs = { where?: SalesExpertProfileWhereInput } /** * Count Type AdminUserCountOutputType */ export type AdminUserCountOutputType = { referredCustomers: number supervisedWorkshops: number branchAllocations: number postedLedgerEntries: number orderStatusEvents: number preOrderStatusEvents: number sentSmsMessages: number sentNotifications: number uploadedFiles: number sessions: number } export type AdminUserCountOutputTypeSelect = { referredCustomers?: boolean | AdminUserCountOutputTypeCountReferredCustomersArgs supervisedWorkshops?: boolean | AdminUserCountOutputTypeCountSupervisedWorkshopsArgs branchAllocations?: boolean | AdminUserCountOutputTypeCountBranchAllocationsArgs postedLedgerEntries?: boolean | AdminUserCountOutputTypeCountPostedLedgerEntriesArgs orderStatusEvents?: boolean | AdminUserCountOutputTypeCountOrderStatusEventsArgs preOrderStatusEvents?: boolean | AdminUserCountOutputTypeCountPreOrderStatusEventsArgs sentSmsMessages?: boolean | AdminUserCountOutputTypeCountSentSmsMessagesArgs sentNotifications?: boolean | AdminUserCountOutputTypeCountSentNotificationsArgs uploadedFiles?: boolean | AdminUserCountOutputTypeCountUploadedFilesArgs sessions?: boolean | AdminUserCountOutputTypeCountSessionsArgs } // Custom InputTypes /** * AdminUserCountOutputType without action */ export type AdminUserCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the AdminUserCountOutputType */ select?: AdminUserCountOutputTypeSelect | null } /** * AdminUserCountOutputType without action */ export type AdminUserCountOutputTypeCountReferredCustomersArgs = { where?: CustomerWhereInput } /** * AdminUserCountOutputType without action */ export type AdminUserCountOutputTypeCountSupervisedWorkshopsArgs = { where?: WorkshopWhereInput } /** * AdminUserCountOutputType without action */ export type AdminUserCountOutputTypeCountBranchAllocationsArgs = { where?: BranchAllocationWhereInput } /** * AdminUserCountOutputType without action */ export type AdminUserCountOutputTypeCountPostedLedgerEntriesArgs = { where?: LedgerEntryWhereInput } /** * AdminUserCountOutputType without action */ export type AdminUserCountOutputTypeCountOrderStatusEventsArgs = { where?: OrderStatusEventWhereInput } /** * AdminUserCountOutputType without action */ export type AdminUserCountOutputTypeCountPreOrderStatusEventsArgs = { where?: PreOrderStatusEventWhereInput } /** * AdminUserCountOutputType without action */ export type AdminUserCountOutputTypeCountSentSmsMessagesArgs = { where?: SmsMessageWhereInput } /** * AdminUserCountOutputType without action */ export type AdminUserCountOutputTypeCountSentNotificationsArgs = { where?: NotificationWhereInput } /** * AdminUserCountOutputType without action */ export type AdminUserCountOutputTypeCountUploadedFilesArgs = { where?: UploadedFileWhereInput } /** * AdminUserCountOutputType without action */ export type AdminUserCountOutputTypeCountSessionsArgs = { where?: AdminSessionWhereInput } /** * Count Type CustomerCountOutputType */ export type CustomerCountOutputType = { addresses: number orders: number preOrders: number ledgerEntries: number walletBonuses: number comments: number promotions: number notifications: number activityLogs: number otpChallenges: number } export type CustomerCountOutputTypeSelect = { addresses?: boolean | CustomerCountOutputTypeCountAddressesArgs orders?: boolean | CustomerCountOutputTypeCountOrdersArgs preOrders?: boolean | CustomerCountOutputTypeCountPreOrdersArgs ledgerEntries?: boolean | CustomerCountOutputTypeCountLedgerEntriesArgs walletBonuses?: boolean | CustomerCountOutputTypeCountWalletBonusesArgs comments?: boolean | CustomerCountOutputTypeCountCommentsArgs promotions?: boolean | CustomerCountOutputTypeCountPromotionsArgs notifications?: boolean | CustomerCountOutputTypeCountNotificationsArgs activityLogs?: boolean | CustomerCountOutputTypeCountActivityLogsArgs otpChallenges?: boolean | CustomerCountOutputTypeCountOtpChallengesArgs } // Custom InputTypes /** * CustomerCountOutputType without action */ export type CustomerCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the CustomerCountOutputType */ select?: CustomerCountOutputTypeSelect | null } /** * CustomerCountOutputType without action */ export type CustomerCountOutputTypeCountAddressesArgs = { where?: CustomerAddressWhereInput } /** * CustomerCountOutputType without action */ export type CustomerCountOutputTypeCountOrdersArgs = { where?: OrderWhereInput } /** * CustomerCountOutputType without action */ export type CustomerCountOutputTypeCountPreOrdersArgs = { where?: PreOrderWhereInput } /** * CustomerCountOutputType without action */ export type CustomerCountOutputTypeCountLedgerEntriesArgs = { where?: LedgerEntryWhereInput } /** * CustomerCountOutputType without action */ export type CustomerCountOutputTypeCountWalletBonusesArgs = { where?: WalletBonusWhereInput } /** * CustomerCountOutputType without action */ export type CustomerCountOutputTypeCountCommentsArgs = { where?: CommentWhereInput } /** * CustomerCountOutputType without action */ export type CustomerCountOutputTypeCountPromotionsArgs = { where?: PromotionWhereInput } /** * CustomerCountOutputType without action */ export type CustomerCountOutputTypeCountNotificationsArgs = { where?: NotificationRecipientWhereInput } /** * CustomerCountOutputType without action */ export type CustomerCountOutputTypeCountActivityLogsArgs = { where?: CustomerActivityLogWhereInput } /** * CustomerCountOutputType without action */ export type CustomerCountOutputTypeCountOtpChallengesArgs = { where?: CustomerOtpWhereInput } /** * Count Type BranchCountOutputType */ export type BranchCountOutputType = { adminUsers: number orders: number allocations: number } export type BranchCountOutputTypeSelect = { adminUsers?: boolean | BranchCountOutputTypeCountAdminUsersArgs orders?: boolean | BranchCountOutputTypeCountOrdersArgs allocations?: boolean | BranchCountOutputTypeCountAllocationsArgs } // Custom InputTypes /** * BranchCountOutputType without action */ export type BranchCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the BranchCountOutputType */ select?: BranchCountOutputTypeSelect | null } /** * BranchCountOutputType without action */ export type BranchCountOutputTypeCountAdminUsersArgs = { where?: AdminUserWhereInput } /** * BranchCountOutputType without action */ export type BranchCountOutputTypeCountOrdersArgs = { where?: OrderWhereInput } /** * BranchCountOutputType without action */ export type BranchCountOutputTypeCountAllocationsArgs = { where?: BranchAllocationWhereInput } /** * Count Type WorkshopCountOutputType */ export type WorkshopCountOutputType = { preOrders: number } export type WorkshopCountOutputTypeSelect = { preOrders?: boolean | WorkshopCountOutputTypeCountPreOrdersArgs } // Custom InputTypes /** * WorkshopCountOutputType without action */ export type WorkshopCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the WorkshopCountOutputType */ select?: WorkshopCountOutputTypeSelect | null } /** * WorkshopCountOutputType without action */ export type WorkshopCountOutputTypeCountPreOrdersArgs = { where?: PreOrderWhereInput } /** * Count Type CategoryCountOutputType */ export type CategoryCountOutputType = { children: number products: number promotions: number } export type CategoryCountOutputTypeSelect = { children?: boolean | CategoryCountOutputTypeCountChildrenArgs products?: boolean | CategoryCountOutputTypeCountProductsArgs promotions?: boolean | CategoryCountOutputTypeCountPromotionsArgs } // Custom InputTypes /** * CategoryCountOutputType without action */ export type CategoryCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the CategoryCountOutputType */ select?: CategoryCountOutputTypeSelect | null } /** * CategoryCountOutputType without action */ export type CategoryCountOutputTypeCountChildrenArgs = { where?: CategoryWhereInput } /** * CategoryCountOutputType without action */ export type CategoryCountOutputTypeCountProductsArgs = { where?: ProductWhereInput } /** * CategoryCountOutputType without action */ export type CategoryCountOutputTypeCountPromotionsArgs = { where?: PromotionWhereInput } /** * Count Type BrandCountOutputType */ export type BrandCountOutputType = { products: number promotions: number } export type BrandCountOutputTypeSelect = { products?: boolean | BrandCountOutputTypeCountProductsArgs promotions?: boolean | BrandCountOutputTypeCountPromotionsArgs } // Custom InputTypes /** * BrandCountOutputType without action */ export type BrandCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the BrandCountOutputType */ select?: BrandCountOutputTypeSelect | null } /** * BrandCountOutputType without action */ export type BrandCountOutputTypeCountProductsArgs = { where?: ProductWhereInput } /** * BrandCountOutputType without action */ export type BrandCountOutputTypeCountPromotionsArgs = { where?: PromotionWhereInput } /** * Count Type CollectionCountOutputType */ export type CollectionCountOutputType = { products: number } export type CollectionCountOutputTypeSelect = { products?: boolean | CollectionCountOutputTypeCountProductsArgs } // Custom InputTypes /** * CollectionCountOutputType without action */ export type CollectionCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the CollectionCountOutputType */ select?: CollectionCountOutputTypeSelect | null } /** * CollectionCountOutputType without action */ export type CollectionCountOutputTypeCountProductsArgs = { where?: CollectionProductWhereInput } /** * Count Type ProductCountOutputType */ export type ProductCountOutputType = { variants: number images: number collections: number comments: number promotions: number allocationItems: number } export type ProductCountOutputTypeSelect = { variants?: boolean | ProductCountOutputTypeCountVariantsArgs images?: boolean | ProductCountOutputTypeCountImagesArgs collections?: boolean | ProductCountOutputTypeCountCollectionsArgs comments?: boolean | ProductCountOutputTypeCountCommentsArgs promotions?: boolean | ProductCountOutputTypeCountPromotionsArgs allocationItems?: boolean | ProductCountOutputTypeCountAllocationItemsArgs } // Custom InputTypes /** * ProductCountOutputType without action */ export type ProductCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the ProductCountOutputType */ select?: ProductCountOutputTypeSelect | null } /** * ProductCountOutputType without action */ export type ProductCountOutputTypeCountVariantsArgs = { where?: ProductVariantWhereInput } /** * ProductCountOutputType without action */ export type ProductCountOutputTypeCountImagesArgs = { where?: ProductImageWhereInput } /** * ProductCountOutputType without action */ export type ProductCountOutputTypeCountCollectionsArgs = { where?: CollectionProductWhereInput } /** * ProductCountOutputType without action */ export type ProductCountOutputTypeCountCommentsArgs = { where?: CommentWhereInput } /** * ProductCountOutputType without action */ export type ProductCountOutputTypeCountPromotionsArgs = { where?: PromotionWhereInput } /** * ProductCountOutputType without action */ export type ProductCountOutputTypeCountAllocationItemsArgs = { where?: BranchAllocationItemWhereInput } /** * Count Type ProductImageCountOutputType */ export type ProductImageCountOutputType = { variants: number } export type ProductImageCountOutputTypeSelect = { variants?: boolean | ProductImageCountOutputTypeCountVariantsArgs } // Custom InputTypes /** * ProductImageCountOutputType without action */ export type ProductImageCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the ProductImageCountOutputType */ select?: ProductImageCountOutputTypeSelect | null } /** * ProductImageCountOutputType without action */ export type ProductImageCountOutputTypeCountVariantsArgs = { where?: ProductVariantWhereInput } /** * Count Type ProductVariantCountOutputType */ export type ProductVariantCountOutputType = { orderItems: number } export type ProductVariantCountOutputTypeSelect = { orderItems?: boolean | ProductVariantCountOutputTypeCountOrderItemsArgs } // Custom InputTypes /** * ProductVariantCountOutputType without action */ export type ProductVariantCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the ProductVariantCountOutputType */ select?: ProductVariantCountOutputTypeSelect | null } /** * ProductVariantCountOutputType without action */ export type ProductVariantCountOutputTypeCountOrderItemsArgs = { where?: OrderItemWhereInput } /** * Count Type OrderCountOutputType */ export type OrderCountOutputType = { items: number statusEvents: number ledgerEntries: number } export type OrderCountOutputTypeSelect = { items?: boolean | OrderCountOutputTypeCountItemsArgs statusEvents?: boolean | OrderCountOutputTypeCountStatusEventsArgs ledgerEntries?: boolean | OrderCountOutputTypeCountLedgerEntriesArgs } // Custom InputTypes /** * OrderCountOutputType without action */ export type OrderCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the OrderCountOutputType */ select?: OrderCountOutputTypeSelect | null } /** * OrderCountOutputType without action */ export type OrderCountOutputTypeCountItemsArgs = { where?: OrderItemWhereInput } /** * OrderCountOutputType without action */ export type OrderCountOutputTypeCountStatusEventsArgs = { where?: OrderStatusEventWhereInput } /** * OrderCountOutputType without action */ export type OrderCountOutputTypeCountLedgerEntriesArgs = { where?: LedgerEntryWhereInput } /** * Count Type PreOrderCountOutputType */ export type PreOrderCountOutputType = { statusEvents: number } export type PreOrderCountOutputTypeSelect = { statusEvents?: boolean | PreOrderCountOutputTypeCountStatusEventsArgs } // Custom InputTypes /** * PreOrderCountOutputType without action */ export type PreOrderCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the PreOrderCountOutputType */ select?: PreOrderCountOutputTypeSelect | null } /** * PreOrderCountOutputType without action */ export type PreOrderCountOutputTypeCountStatusEventsArgs = { where?: PreOrderStatusEventWhereInput } /** * Count Type UserTypeCountOutputType */ export type UserTypeCountOutputType = { permissions: number adminUsers: number } export type UserTypeCountOutputTypeSelect = { permissions?: boolean | UserTypeCountOutputTypeCountPermissionsArgs adminUsers?: boolean | UserTypeCountOutputTypeCountAdminUsersArgs } // Custom InputTypes /** * UserTypeCountOutputType without action */ export type UserTypeCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the UserTypeCountOutputType */ select?: UserTypeCountOutputTypeSelect | null } /** * UserTypeCountOutputType without action */ export type UserTypeCountOutputTypeCountPermissionsArgs = { where?: PermissionWhereInput } /** * UserTypeCountOutputType without action */ export type UserTypeCountOutputTypeCountAdminUsersArgs = { where?: AdminUserWhereInput } /** * Count Type CommentCountOutputType */ export type CommentCountOutputType = { replies: number } export type CommentCountOutputTypeSelect = { replies?: boolean | CommentCountOutputTypeCountRepliesArgs } // Custom InputTypes /** * CommentCountOutputType without action */ export type CommentCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the CommentCountOutputType */ select?: CommentCountOutputTypeSelect | null } /** * CommentCountOutputType without action */ export type CommentCountOutputTypeCountRepliesArgs = { where?: CommentWhereInput } /** * Count Type BranchAllocationCountOutputType */ export type BranchAllocationCountOutputType = { items: number } export type BranchAllocationCountOutputTypeSelect = { items?: boolean | BranchAllocationCountOutputTypeCountItemsArgs } // Custom InputTypes /** * BranchAllocationCountOutputType without action */ export type BranchAllocationCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the BranchAllocationCountOutputType */ select?: BranchAllocationCountOutputTypeSelect | null } /** * BranchAllocationCountOutputType without action */ export type BranchAllocationCountOutputTypeCountItemsArgs = { where?: BranchAllocationItemWhereInput } /** * Count Type NotificationCountOutputType */ export type NotificationCountOutputType = { recipients: number } export type NotificationCountOutputTypeSelect = { recipients?: boolean | NotificationCountOutputTypeCountRecipientsArgs } // Custom InputTypes /** * NotificationCountOutputType without action */ export type NotificationCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the NotificationCountOutputType */ select?: NotificationCountOutputTypeSelect | null } /** * NotificationCountOutputType without action */ export type NotificationCountOutputTypeCountRecipientsArgs = { where?: NotificationRecipientWhereInput } /** * Count Type UploadedFileCountOutputType */ export type UploadedFileCountOutputType = { customerAvatars: number adminUserAvatars: number } export type UploadedFileCountOutputTypeSelect = { customerAvatars?: boolean | UploadedFileCountOutputTypeCountCustomerAvatarsArgs adminUserAvatars?: boolean | UploadedFileCountOutputTypeCountAdminUserAvatarsArgs } // Custom InputTypes /** * UploadedFileCountOutputType without action */ export type UploadedFileCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the UploadedFileCountOutputType */ select?: UploadedFileCountOutputTypeSelect | null } /** * UploadedFileCountOutputType without action */ export type UploadedFileCountOutputTypeCountCustomerAvatarsArgs = { where?: CustomerWhereInput } /** * UploadedFileCountOutputType without action */ export type UploadedFileCountOutputTypeCountAdminUserAvatarsArgs = { where?: AdminUserWhereInput } /** * Models */ /** * Model City */ export type AggregateCity = { _count: CityCountAggregateOutputType | null _avg: CityAvgAggregateOutputType | null _sum: CitySumAggregateOutputType | null _min: CityMinAggregateOutputType | null _max: CityMaxAggregateOutputType | null } export type CityAvgAggregateOutputType = { percent: Decimal | null percentAux: Decimal | null } export type CitySumAggregateOutputType = { percent: Decimal | null percentAux: Decimal | null } export type CityMinAggregateOutputType = { id: string | null name: string | null province: string | null percent: Decimal | null percentAux: Decimal | null } export type CityMaxAggregateOutputType = { id: string | null name: string | null province: string | null percent: Decimal | null percentAux: Decimal | null } export type CityCountAggregateOutputType = { id: number name: number province: number percent: number percentAux: number _all: number } export type CityAvgAggregateInputType = { percent?: true percentAux?: true } export type CitySumAggregateInputType = { percent?: true percentAux?: true } export type CityMinAggregateInputType = { id?: true name?: true province?: true percent?: true percentAux?: true } export type CityMaxAggregateInputType = { id?: true name?: true province?: true percent?: true percentAux?: true } export type CityCountAggregateInputType = { id?: true name?: true province?: true percent?: true percentAux?: true _all?: true } export type CityAggregateArgs = { /** * Filter which City to aggregate. */ where?: CityWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Cities to fetch. */ orderBy?: CityOrderByWithRelationInput | CityOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: CityWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Cities 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` Cities. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Cities **/ _count?: true | CityCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: CityAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: CitySumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: CityMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: CityMaxAggregateInputType } export type GetCityAggregateType = { [P in keyof T & keyof AggregateCity]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type CityGroupByArgs = { where?: CityWhereInput orderBy?: CityOrderByWithAggregationInput | CityOrderByWithAggregationInput[] by: CityScalarFieldEnum[] | CityScalarFieldEnum having?: CityScalarWhereWithAggregatesInput take?: number skip?: number _count?: CityCountAggregateInputType | true _avg?: CityAvgAggregateInputType _sum?: CitySumAggregateInputType _min?: CityMinAggregateInputType _max?: CityMaxAggregateInputType } export type CityGroupByOutputType = { id: string name: string province: string | null percent: Decimal | null percentAux: Decimal | null _count: CityCountAggregateOutputType | null _avg: CityAvgAggregateOutputType | null _sum: CitySumAggregateOutputType | null _min: CityMinAggregateOutputType | null _max: CityMaxAggregateOutputType | null } type GetCityGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof CityGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type CitySelect = $Extensions.GetSelect<{ id?: boolean name?: boolean province?: boolean percent?: boolean percentAux?: boolean customers?: boolean | City$customersArgs addresses?: boolean | City$addressesArgs branches?: boolean | City$branchesArgs preOrders?: boolean | City$preOrdersArgs salesExpertProfiles?: boolean | City$salesExpertProfilesArgs _count?: boolean | CityCountOutputTypeDefaultArgs }, ExtArgs["result"]["city"]> export type CitySelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean province?: boolean percent?: boolean percentAux?: boolean }, ExtArgs["result"]["city"]> export type CitySelectScalar = { id?: boolean name?: boolean province?: boolean percent?: boolean percentAux?: boolean } export type CityInclude = { customers?: boolean | City$customersArgs addresses?: boolean | City$addressesArgs branches?: boolean | City$branchesArgs preOrders?: boolean | City$preOrdersArgs salesExpertProfiles?: boolean | City$salesExpertProfilesArgs _count?: boolean | CityCountOutputTypeDefaultArgs } export type CityIncludeCreateManyAndReturn = {} export type $CityPayload = { name: "City" objects: { customers: Prisma.$CustomerPayload[] addresses: Prisma.$CustomerAddressPayload[] branches: Prisma.$BranchPayload[] preOrders: Prisma.$PreOrderPayload[] salesExpertProfiles: Prisma.$SalesExpertProfilePayload[] } scalars: $Extensions.GetPayloadResult<{ id: string name: string province: string | null /** * Legacy cities.percent / percent_aux — per-city wage surcharges the city * screen edits through GET cities/get-percent/{id} and get-percent-aux/{id}. */ percent: Prisma.Decimal | null percentAux: Prisma.Decimal | null }, ExtArgs["result"]["city"]> composites: {} } type CityGetPayload = $Result.GetResult type CityCountArgs = Omit & { select?: CityCountAggregateInputType | true } export interface CityDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['City'], meta: { name: 'City' } } /** * Find zero or one City that matches the filter. * @param {CityFindUniqueArgs} args - Arguments to find a City * @example * // Get one City * const city = await prisma.city.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__CityClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one City that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {CityFindUniqueOrThrowArgs} args - Arguments to find a City * @example * // Get one City * const city = await prisma.city.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__CityClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first City 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 {CityFindFirstArgs} args - Arguments to find a City * @example * // Get one City * const city = await prisma.city.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__CityClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first City 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 {CityFindFirstOrThrowArgs} args - Arguments to find a City * @example * // Get one City * const city = await prisma.city.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__CityClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Cities 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 {CityFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Cities * const cities = await prisma.city.findMany() * * // Get first 10 Cities * const cities = await prisma.city.findMany({ take: 10 }) * * // Only select the `id` * const cityWithIdOnly = await prisma.city.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a City. * @param {CityCreateArgs} args - Arguments to create a City. * @example * // Create one City * const City = await prisma.city.create({ * data: { * // ... data to create a City * } * }) * */ create(args: SelectSubset>): Prisma__CityClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Cities. * @param {CityCreateManyArgs} args - Arguments to create many Cities. * @example * // Create many Cities * const city = await prisma.city.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Cities and returns the data saved in the database. * @param {CityCreateManyAndReturnArgs} args - Arguments to create many Cities. * @example * // Create many Cities * const city = await prisma.city.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Cities and only return the `id` * const cityWithIdOnly = await prisma.city.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a City. * @param {CityDeleteArgs} args - Arguments to delete one City. * @example * // Delete one City * const City = await prisma.city.delete({ * where: { * // ... filter to delete one City * } * }) * */ delete(args: SelectSubset>): Prisma__CityClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one City. * @param {CityUpdateArgs} args - Arguments to update one City. * @example * // Update one City * const city = await prisma.city.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__CityClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Cities. * @param {CityDeleteManyArgs} args - Arguments to filter Cities to delete. * @example * // Delete a few Cities * const { count } = await prisma.city.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Cities. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CityUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Cities * const city = await prisma.city.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one City. * @param {CityUpsertArgs} args - Arguments to update or create a City. * @example * // Update or create a City * const city = await prisma.city.upsert({ * create: { * // ... data to create a City * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the City we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__CityClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Cities. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CityCountArgs} args - Arguments to filter Cities to count. * @example * // Count the number of Cities * const count = await prisma.city.count({ * where: { * // ... the filter for the Cities we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a City. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CityAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by City. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CityGroupByArgs} 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 CityGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: CityGroupByArgs['orderBy'] } : { orderBy?: CityGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCityGroupByPayload : Prisma.PrismaPromise /** * Fields of the City model */ readonly fields: CityFieldRefs; } /** * The delegate class that acts as a "Promise-like" for City. * 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__CityClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" customers = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> addresses = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> branches = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> preOrders = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> salesExpertProfiles = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the City model */ interface CityFieldRefs { readonly id: FieldRef<"City", 'String'> readonly name: FieldRef<"City", 'String'> readonly province: FieldRef<"City", 'String'> readonly percent: FieldRef<"City", 'Decimal'> readonly percentAux: FieldRef<"City", 'Decimal'> } // Custom InputTypes /** * City findUnique */ export type CityFindUniqueArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null /** * Filter, which City to fetch. */ where: CityWhereUniqueInput } /** * City findUniqueOrThrow */ export type CityFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null /** * Filter, which City to fetch. */ where: CityWhereUniqueInput } /** * City findFirst */ export type CityFindFirstArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null /** * Filter, which City to fetch. */ where?: CityWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Cities to fetch. */ orderBy?: CityOrderByWithRelationInput | CityOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Cities. */ cursor?: CityWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Cities 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` Cities. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Cities. */ distinct?: CityScalarFieldEnum | CityScalarFieldEnum[] } /** * City findFirstOrThrow */ export type CityFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null /** * Filter, which City to fetch. */ where?: CityWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Cities to fetch. */ orderBy?: CityOrderByWithRelationInput | CityOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Cities. */ cursor?: CityWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Cities 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` Cities. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Cities. */ distinct?: CityScalarFieldEnum | CityScalarFieldEnum[] } /** * City findMany */ export type CityFindManyArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null /** * Filter, which Cities to fetch. */ where?: CityWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Cities to fetch. */ orderBy?: CityOrderByWithRelationInput | CityOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Cities. */ cursor?: CityWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Cities 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` Cities. */ skip?: number distinct?: CityScalarFieldEnum | CityScalarFieldEnum[] } /** * City create */ export type CityCreateArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null /** * The data needed to create a City. */ data: XOR } /** * City createMany */ export type CityCreateManyArgs = { /** * The data used to create many Cities. */ data: CityCreateManyInput | CityCreateManyInput[] skipDuplicates?: boolean } /** * City createManyAndReturn */ export type CityCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelectCreateManyAndReturn | null /** * The data used to create many Cities. */ data: CityCreateManyInput | CityCreateManyInput[] skipDuplicates?: boolean } /** * City update */ export type CityUpdateArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null /** * The data needed to update a City. */ data: XOR /** * Choose, which City to update. */ where: CityWhereUniqueInput } /** * City updateMany */ export type CityUpdateManyArgs = { /** * The data used to update Cities. */ data: XOR /** * Filter which Cities to update */ where?: CityWhereInput } /** * City upsert */ export type CityUpsertArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null /** * The filter to search for the City to update in case it exists. */ where: CityWhereUniqueInput /** * In case the City found by the `where` argument doesn't exist, create a new City with this data. */ create: XOR /** * In case the City was found with the provided `where` argument, update it with this data. */ update: XOR } /** * City delete */ export type CityDeleteArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null /** * Filter which City to delete. */ where: CityWhereUniqueInput } /** * City deleteMany */ export type CityDeleteManyArgs = { /** * Filter which Cities to delete */ where?: CityWhereInput } /** * City.customers */ export type City$customersArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null where?: CustomerWhereInput orderBy?: CustomerOrderByWithRelationInput | CustomerOrderByWithRelationInput[] cursor?: CustomerWhereUniqueInput take?: number skip?: number distinct?: CustomerScalarFieldEnum | CustomerScalarFieldEnum[] } /** * City.addresses */ export type City$addressesArgs = { /** * Select specific fields to fetch from the CustomerAddress */ select?: CustomerAddressSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerAddressInclude | null where?: CustomerAddressWhereInput orderBy?: CustomerAddressOrderByWithRelationInput | CustomerAddressOrderByWithRelationInput[] cursor?: CustomerAddressWhereUniqueInput take?: number skip?: number distinct?: CustomerAddressScalarFieldEnum | CustomerAddressScalarFieldEnum[] } /** * City.branches */ export type City$branchesArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchInclude | null where?: BranchWhereInput orderBy?: BranchOrderByWithRelationInput | BranchOrderByWithRelationInput[] cursor?: BranchWhereUniqueInput take?: number skip?: number distinct?: BranchScalarFieldEnum | BranchScalarFieldEnum[] } /** * City.preOrders */ export type City$preOrdersArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null where?: PreOrderWhereInput orderBy?: PreOrderOrderByWithRelationInput | PreOrderOrderByWithRelationInput[] cursor?: PreOrderWhereUniqueInput take?: number skip?: number distinct?: PreOrderScalarFieldEnum | PreOrderScalarFieldEnum[] } /** * City.salesExpertProfiles */ export type City$salesExpertProfilesArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelect | null /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileInclude | null where?: SalesExpertProfileWhereInput orderBy?: SalesExpertProfileOrderByWithRelationInput | SalesExpertProfileOrderByWithRelationInput[] cursor?: SalesExpertProfileWhereUniqueInput take?: number skip?: number distinct?: SalesExpertProfileScalarFieldEnum | SalesExpertProfileScalarFieldEnum[] } /** * City without action */ export type CityDefaultArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null } /** * Model AdminUser */ export type AggregateAdminUser = { _count: AdminUserCountAggregateOutputType | null _avg: AdminUserAvgAggregateOutputType | null _sum: AdminUserSumAggregateOutputType | null _min: AdminUserMinAggregateOutputType | null _max: AdminUserMaxAggregateOutputType | null } export type AdminUserAvgAggregateOutputType = { userTypeId: number | null wagePercent: Decimal | null } export type AdminUserSumAggregateOutputType = { userTypeId: number | null wagePercent: Decimal | null } export type AdminUserMinAggregateOutputType = { id: string | null fullName: string | null firstName: string | null lastName: string | null mobile: string | null passwordHash: string | null role: $Enums.AdminRole | null userTypeId: number | null branchId: string | null wagePercent: Decimal | null isActive: boolean | null createdAt: Date | null avatarFileId: string | null address: string | null storeName: string | null pasazhName: string | null memberCode: string | null } export type AdminUserMaxAggregateOutputType = { id: string | null fullName: string | null firstName: string | null lastName: string | null mobile: string | null passwordHash: string | null role: $Enums.AdminRole | null userTypeId: number | null branchId: string | null wagePercent: Decimal | null isActive: boolean | null createdAt: Date | null avatarFileId: string | null address: string | null storeName: string | null pasazhName: string | null memberCode: string | null } export type AdminUserCountAggregateOutputType = { id: number fullName: number firstName: number lastName: number mobile: number passwordHash: number role: number userTypeId: number branchId: number wagePercent: number isActive: number createdAt: number avatarFileId: number address: number storeName: number pasazhName: number memberCode: number _all: number } export type AdminUserAvgAggregateInputType = { userTypeId?: true wagePercent?: true } export type AdminUserSumAggregateInputType = { userTypeId?: true wagePercent?: true } export type AdminUserMinAggregateInputType = { id?: true fullName?: true firstName?: true lastName?: true mobile?: true passwordHash?: true role?: true userTypeId?: true branchId?: true wagePercent?: true isActive?: true createdAt?: true avatarFileId?: true address?: true storeName?: true pasazhName?: true memberCode?: true } export type AdminUserMaxAggregateInputType = { id?: true fullName?: true firstName?: true lastName?: true mobile?: true passwordHash?: true role?: true userTypeId?: true branchId?: true wagePercent?: true isActive?: true createdAt?: true avatarFileId?: true address?: true storeName?: true pasazhName?: true memberCode?: true } export type AdminUserCountAggregateInputType = { id?: true fullName?: true firstName?: true lastName?: true mobile?: true passwordHash?: true role?: true userTypeId?: true branchId?: true wagePercent?: true isActive?: true createdAt?: true avatarFileId?: true address?: true storeName?: true pasazhName?: true memberCode?: true _all?: true } export type AdminUserAggregateArgs = { /** * Filter which AdminUser to aggregate. */ where?: AdminUserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AdminUsers to fetch. */ orderBy?: AdminUserOrderByWithRelationInput | AdminUserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: AdminUserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AdminUsers 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` AdminUsers. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned AdminUsers **/ _count?: true | AdminUserCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: AdminUserAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: AdminUserSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: AdminUserMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: AdminUserMaxAggregateInputType } export type GetAdminUserAggregateType = { [P in keyof T & keyof AggregateAdminUser]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type AdminUserGroupByArgs = { where?: AdminUserWhereInput orderBy?: AdminUserOrderByWithAggregationInput | AdminUserOrderByWithAggregationInput[] by: AdminUserScalarFieldEnum[] | AdminUserScalarFieldEnum having?: AdminUserScalarWhereWithAggregatesInput take?: number skip?: number _count?: AdminUserCountAggregateInputType | true _avg?: AdminUserAvgAggregateInputType _sum?: AdminUserSumAggregateInputType _min?: AdminUserMinAggregateInputType _max?: AdminUserMaxAggregateInputType } export type AdminUserGroupByOutputType = { id: string fullName: string firstName: string | null lastName: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId: number | null branchId: string | null wagePercent: Decimal | null isActive: boolean createdAt: Date avatarFileId: string | null address: string | null storeName: string | null pasazhName: string | null memberCode: string | null _count: AdminUserCountAggregateOutputType | null _avg: AdminUserAvgAggregateOutputType | null _sum: AdminUserSumAggregateOutputType | null _min: AdminUserMinAggregateOutputType | null _max: AdminUserMaxAggregateOutputType | null } type GetAdminUserGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof AdminUserGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type AdminUserSelect = $Extensions.GetSelect<{ id?: boolean fullName?: boolean firstName?: boolean lastName?: boolean mobile?: boolean passwordHash?: boolean role?: boolean userTypeId?: boolean branchId?: boolean wagePercent?: boolean isActive?: boolean createdAt?: boolean avatarFileId?: boolean address?: boolean storeName?: boolean pasazhName?: boolean memberCode?: boolean userType?: boolean | AdminUser$userTypeArgs branch?: boolean | AdminUser$branchArgs avatarFile?: boolean | AdminUser$avatarFileArgs referredCustomers?: boolean | AdminUser$referredCustomersArgs supervisedWorkshops?: boolean | AdminUser$supervisedWorkshopsArgs branchAllocations?: boolean | AdminUser$branchAllocationsArgs postedLedgerEntries?: boolean | AdminUser$postedLedgerEntriesArgs orderStatusEvents?: boolean | AdminUser$orderStatusEventsArgs preOrderStatusEvents?: boolean | AdminUser$preOrderStatusEventsArgs sentSmsMessages?: boolean | AdminUser$sentSmsMessagesArgs sentNotifications?: boolean | AdminUser$sentNotificationsArgs uploadedFiles?: boolean | AdminUser$uploadedFilesArgs salesExpertProfile?: boolean | AdminUser$salesExpertProfileArgs sessions?: boolean | AdminUser$sessionsArgs _count?: boolean | AdminUserCountOutputTypeDefaultArgs }, ExtArgs["result"]["adminUser"]> export type AdminUserSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean fullName?: boolean firstName?: boolean lastName?: boolean mobile?: boolean passwordHash?: boolean role?: boolean userTypeId?: boolean branchId?: boolean wagePercent?: boolean isActive?: boolean createdAt?: boolean avatarFileId?: boolean address?: boolean storeName?: boolean pasazhName?: boolean memberCode?: boolean userType?: boolean | AdminUser$userTypeArgs branch?: boolean | AdminUser$branchArgs avatarFile?: boolean | AdminUser$avatarFileArgs }, ExtArgs["result"]["adminUser"]> export type AdminUserSelectScalar = { id?: boolean fullName?: boolean firstName?: boolean lastName?: boolean mobile?: boolean passwordHash?: boolean role?: boolean userTypeId?: boolean branchId?: boolean wagePercent?: boolean isActive?: boolean createdAt?: boolean avatarFileId?: boolean address?: boolean storeName?: boolean pasazhName?: boolean memberCode?: boolean } export type AdminUserInclude = { userType?: boolean | AdminUser$userTypeArgs branch?: boolean | AdminUser$branchArgs avatarFile?: boolean | AdminUser$avatarFileArgs referredCustomers?: boolean | AdminUser$referredCustomersArgs supervisedWorkshops?: boolean | AdminUser$supervisedWorkshopsArgs branchAllocations?: boolean | AdminUser$branchAllocationsArgs postedLedgerEntries?: boolean | AdminUser$postedLedgerEntriesArgs orderStatusEvents?: boolean | AdminUser$orderStatusEventsArgs preOrderStatusEvents?: boolean | AdminUser$preOrderStatusEventsArgs sentSmsMessages?: boolean | AdminUser$sentSmsMessagesArgs sentNotifications?: boolean | AdminUser$sentNotificationsArgs uploadedFiles?: boolean | AdminUser$uploadedFilesArgs salesExpertProfile?: boolean | AdminUser$salesExpertProfileArgs sessions?: boolean | AdminUser$sessionsArgs _count?: boolean | AdminUserCountOutputTypeDefaultArgs } export type AdminUserIncludeCreateManyAndReturn = { userType?: boolean | AdminUser$userTypeArgs branch?: boolean | AdminUser$branchArgs avatarFile?: boolean | AdminUser$avatarFileArgs } export type $AdminUserPayload = { name: "AdminUser" objects: { userType: Prisma.$UserTypePayload | null branch: Prisma.$BranchPayload | null avatarFile: Prisma.$UploadedFilePayload | null referredCustomers: Prisma.$CustomerPayload[] supervisedWorkshops: Prisma.$WorkshopPayload[] branchAllocations: Prisma.$BranchAllocationPayload[] postedLedgerEntries: Prisma.$LedgerEntryPayload[] orderStatusEvents: Prisma.$OrderStatusEventPayload[] preOrderStatusEvents: Prisma.$PreOrderStatusEventPayload[] sentSmsMessages: Prisma.$SmsMessagePayload[] sentNotifications: Prisma.$NotificationPayload[] uploadedFiles: Prisma.$UploadedFilePayload[] /** * Only ever set for role = SALES_EXPERT (D17). */ salesExpertProfile: Prisma.$SalesExpertProfilePayload | null /** * Issued admin-panel tokens, recorded only while session tracking is on * (AUTH_SESSION_TRACKING, or implicitly whenever the IAM is enabled) so a * token can be revoked before it expires. See AdminSession. */ sessions: Prisma.$AdminSessionPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string /** * ⚠️ Kept in sync BY A DATABASE TRIGGER — `admin_user_sync_full_name`, from * migration 20260922180000. Prisma cannot see it, so a write here may store * something other than what you passed: * * * write the parts -> fullName is rebuilt as "first last" * * write fullName only -> the parts are re-derived from it * * write BOTH in one update -> THE PARTS WIN; the submitted fullName is * discarded * * Re-read after writing if you need the stored value. Same arrangement as * Customer (D0 requirement 7 — the split applies to ALL admins, not only * sales experts). */ fullName: string firstName: string | null lastName: string | null mobile: string passwordHash: string role: $Enums.AdminRole /** * Legacy `users.ut`. Granular ACL lives here (Permission rows hang off UserType); * the coarse `role` enum above is retained for the business rules that already * switch on it. Nullable so existing seeded admins remain valid. */ userTypeId: number | null branchId: string | null wagePercent: Prisma.Decimal | null isActive: boolean createdAt: Date /** * Legacy stored a sales agent as a `customers` row with type=1, so * ReagentCustomer.vue's shared form collected these alongside the * wholesale-customer fields. A sales agent is now an AdminUser * (role=SALES_EXPERT), so these live here instead — only ever set for that * role; every other AdminUser leaves them null. */ avatarFileId: string | null address: string | null storeName: string | null pasazhName: string | null memberCode: string | null }, ExtArgs["result"]["adminUser"]> composites: {} } type AdminUserGetPayload = $Result.GetResult type AdminUserCountArgs = Omit & { select?: AdminUserCountAggregateInputType | true } export interface AdminUserDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['AdminUser'], meta: { name: 'AdminUser' } } /** * Find zero or one AdminUser that matches the filter. * @param {AdminUserFindUniqueArgs} args - Arguments to find a AdminUser * @example * // Get one AdminUser * const adminUser = await prisma.adminUser.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__AdminUserClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one AdminUser that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {AdminUserFindUniqueOrThrowArgs} args - Arguments to find a AdminUser * @example * // Get one AdminUser * const adminUser = await prisma.adminUser.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__AdminUserClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first AdminUser 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 {AdminUserFindFirstArgs} args - Arguments to find a AdminUser * @example * // Get one AdminUser * const adminUser = await prisma.adminUser.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__AdminUserClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first AdminUser 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 {AdminUserFindFirstOrThrowArgs} args - Arguments to find a AdminUser * @example * // Get one AdminUser * const adminUser = await prisma.adminUser.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__AdminUserClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more AdminUsers 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 {AdminUserFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all AdminUsers * const adminUsers = await prisma.adminUser.findMany() * * // Get first 10 AdminUsers * const adminUsers = await prisma.adminUser.findMany({ take: 10 }) * * // Only select the `id` * const adminUserWithIdOnly = await prisma.adminUser.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a AdminUser. * @param {AdminUserCreateArgs} args - Arguments to create a AdminUser. * @example * // Create one AdminUser * const AdminUser = await prisma.adminUser.create({ * data: { * // ... data to create a AdminUser * } * }) * */ create(args: SelectSubset>): Prisma__AdminUserClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many AdminUsers. * @param {AdminUserCreateManyArgs} args - Arguments to create many AdminUsers. * @example * // Create many AdminUsers * const adminUser = await prisma.adminUser.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many AdminUsers and returns the data saved in the database. * @param {AdminUserCreateManyAndReturnArgs} args - Arguments to create many AdminUsers. * @example * // Create many AdminUsers * const adminUser = await prisma.adminUser.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many AdminUsers and only return the `id` * const adminUserWithIdOnly = await prisma.adminUser.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a AdminUser. * @param {AdminUserDeleteArgs} args - Arguments to delete one AdminUser. * @example * // Delete one AdminUser * const AdminUser = await prisma.adminUser.delete({ * where: { * // ... filter to delete one AdminUser * } * }) * */ delete(args: SelectSubset>): Prisma__AdminUserClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one AdminUser. * @param {AdminUserUpdateArgs} args - Arguments to update one AdminUser. * @example * // Update one AdminUser * const adminUser = await prisma.adminUser.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__AdminUserClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more AdminUsers. * @param {AdminUserDeleteManyArgs} args - Arguments to filter AdminUsers to delete. * @example * // Delete a few AdminUsers * const { count } = await prisma.adminUser.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more AdminUsers. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AdminUserUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many AdminUsers * const adminUser = await prisma.adminUser.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one AdminUser. * @param {AdminUserUpsertArgs} args - Arguments to update or create a AdminUser. * @example * // Update or create a AdminUser * const adminUser = await prisma.adminUser.upsert({ * create: { * // ... data to create a AdminUser * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the AdminUser we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__AdminUserClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of AdminUsers. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AdminUserCountArgs} args - Arguments to filter AdminUsers to count. * @example * // Count the number of AdminUsers * const count = await prisma.adminUser.count({ * where: { * // ... the filter for the AdminUsers we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a AdminUser. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AdminUserAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by AdminUser. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AdminUserGroupByArgs} 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 AdminUserGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: AdminUserGroupByArgs['orderBy'] } : { orderBy?: AdminUserGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetAdminUserGroupByPayload : Prisma.PrismaPromise /** * Fields of the AdminUser model */ readonly fields: AdminUserFieldRefs; } /** * The delegate class that acts as a "Promise-like" for AdminUser. * 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__AdminUserClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" userType = {}>(args?: Subset>): Prisma__UserTypeClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> branch = {}>(args?: Subset>): Prisma__BranchClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> avatarFile = {}>(args?: Subset>): Prisma__UploadedFileClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> referredCustomers = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> supervisedWorkshops = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> branchAllocations = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> postedLedgerEntries = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> orderStatusEvents = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> preOrderStatusEvents = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> sentSmsMessages = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> sentNotifications = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> uploadedFiles = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> salesExpertProfile = {}>(args?: Subset>): Prisma__SalesExpertProfileClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> sessions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the AdminUser model */ interface AdminUserFieldRefs { readonly id: FieldRef<"AdminUser", 'String'> readonly fullName: FieldRef<"AdminUser", 'String'> readonly firstName: FieldRef<"AdminUser", 'String'> readonly lastName: FieldRef<"AdminUser", 'String'> readonly mobile: FieldRef<"AdminUser", 'String'> readonly passwordHash: FieldRef<"AdminUser", 'String'> readonly role: FieldRef<"AdminUser", 'AdminRole'> readonly userTypeId: FieldRef<"AdminUser", 'Int'> readonly branchId: FieldRef<"AdminUser", 'String'> readonly wagePercent: FieldRef<"AdminUser", 'Decimal'> readonly isActive: FieldRef<"AdminUser", 'Boolean'> readonly createdAt: FieldRef<"AdminUser", 'DateTime'> readonly avatarFileId: FieldRef<"AdminUser", 'String'> readonly address: FieldRef<"AdminUser", 'String'> readonly storeName: FieldRef<"AdminUser", 'String'> readonly pasazhName: FieldRef<"AdminUser", 'String'> readonly memberCode: FieldRef<"AdminUser", 'String'> } // Custom InputTypes /** * AdminUser findUnique */ export type AdminUserFindUniqueArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null /** * Filter, which AdminUser to fetch. */ where: AdminUserWhereUniqueInput } /** * AdminUser findUniqueOrThrow */ export type AdminUserFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null /** * Filter, which AdminUser to fetch. */ where: AdminUserWhereUniqueInput } /** * AdminUser findFirst */ export type AdminUserFindFirstArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null /** * Filter, which AdminUser to fetch. */ where?: AdminUserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AdminUsers to fetch. */ orderBy?: AdminUserOrderByWithRelationInput | AdminUserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for AdminUsers. */ cursor?: AdminUserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AdminUsers 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` AdminUsers. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of AdminUsers. */ distinct?: AdminUserScalarFieldEnum | AdminUserScalarFieldEnum[] } /** * AdminUser findFirstOrThrow */ export type AdminUserFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null /** * Filter, which AdminUser to fetch. */ where?: AdminUserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AdminUsers to fetch. */ orderBy?: AdminUserOrderByWithRelationInput | AdminUserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for AdminUsers. */ cursor?: AdminUserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AdminUsers 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` AdminUsers. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of AdminUsers. */ distinct?: AdminUserScalarFieldEnum | AdminUserScalarFieldEnum[] } /** * AdminUser findMany */ export type AdminUserFindManyArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null /** * Filter, which AdminUsers to fetch. */ where?: AdminUserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AdminUsers to fetch. */ orderBy?: AdminUserOrderByWithRelationInput | AdminUserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing AdminUsers. */ cursor?: AdminUserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AdminUsers 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` AdminUsers. */ skip?: number distinct?: AdminUserScalarFieldEnum | AdminUserScalarFieldEnum[] } /** * AdminUser create */ export type AdminUserCreateArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null /** * The data needed to create a AdminUser. */ data: XOR } /** * AdminUser createMany */ export type AdminUserCreateManyArgs = { /** * The data used to create many AdminUsers. */ data: AdminUserCreateManyInput | AdminUserCreateManyInput[] skipDuplicates?: boolean } /** * AdminUser createManyAndReturn */ export type AdminUserCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelectCreateManyAndReturn | null /** * The data used to create many AdminUsers. */ data: AdminUserCreateManyInput | AdminUserCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: AdminUserIncludeCreateManyAndReturn | null } /** * AdminUser update */ export type AdminUserUpdateArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null /** * The data needed to update a AdminUser. */ data: XOR /** * Choose, which AdminUser to update. */ where: AdminUserWhereUniqueInput } /** * AdminUser updateMany */ export type AdminUserUpdateManyArgs = { /** * The data used to update AdminUsers. */ data: XOR /** * Filter which AdminUsers to update */ where?: AdminUserWhereInput } /** * AdminUser upsert */ export type AdminUserUpsertArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null /** * The filter to search for the AdminUser to update in case it exists. */ where: AdminUserWhereUniqueInput /** * In case the AdminUser found by the `where` argument doesn't exist, create a new AdminUser with this data. */ create: XOR /** * In case the AdminUser was found with the provided `where` argument, update it with this data. */ update: XOR } /** * AdminUser delete */ export type AdminUserDeleteArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null /** * Filter which AdminUser to delete. */ where: AdminUserWhereUniqueInput } /** * AdminUser deleteMany */ export type AdminUserDeleteManyArgs = { /** * Filter which AdminUsers to delete */ where?: AdminUserWhereInput } /** * AdminUser.userType */ export type AdminUser$userTypeArgs = { /** * Select specific fields to fetch from the UserType */ select?: UserTypeSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserTypeInclude | null where?: UserTypeWhereInput } /** * AdminUser.branch */ export type AdminUser$branchArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchInclude | null where?: BranchWhereInput } /** * AdminUser.avatarFile */ export type AdminUser$avatarFileArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelect | null /** * Choose, which related nodes to fetch as well */ include?: UploadedFileInclude | null where?: UploadedFileWhereInput } /** * AdminUser.referredCustomers */ export type AdminUser$referredCustomersArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null where?: CustomerWhereInput orderBy?: CustomerOrderByWithRelationInput | CustomerOrderByWithRelationInput[] cursor?: CustomerWhereUniqueInput take?: number skip?: number distinct?: CustomerScalarFieldEnum | CustomerScalarFieldEnum[] } /** * AdminUser.supervisedWorkshops */ export type AdminUser$supervisedWorkshopsArgs = { /** * Select specific fields to fetch from the Workshop */ select?: WorkshopSelect | null /** * Choose, which related nodes to fetch as well */ include?: WorkshopInclude | null where?: WorkshopWhereInput orderBy?: WorkshopOrderByWithRelationInput | WorkshopOrderByWithRelationInput[] cursor?: WorkshopWhereUniqueInput take?: number skip?: number distinct?: WorkshopScalarFieldEnum | WorkshopScalarFieldEnum[] } /** * AdminUser.branchAllocations */ export type AdminUser$branchAllocationsArgs = { /** * Select specific fields to fetch from the BranchAllocation */ select?: BranchAllocationSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationInclude | null where?: BranchAllocationWhereInput orderBy?: BranchAllocationOrderByWithRelationInput | BranchAllocationOrderByWithRelationInput[] cursor?: BranchAllocationWhereUniqueInput take?: number skip?: number distinct?: BranchAllocationScalarFieldEnum | BranchAllocationScalarFieldEnum[] } /** * AdminUser.postedLedgerEntries */ export type AdminUser$postedLedgerEntriesArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelect | null /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryInclude | null where?: LedgerEntryWhereInput orderBy?: LedgerEntryOrderByWithRelationInput | LedgerEntryOrderByWithRelationInput[] cursor?: LedgerEntryWhereUniqueInput take?: number skip?: number distinct?: LedgerEntryScalarFieldEnum | LedgerEntryScalarFieldEnum[] } /** * AdminUser.orderStatusEvents */ export type AdminUser$orderStatusEventsArgs = { /** * Select specific fields to fetch from the OrderStatusEvent */ select?: OrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderStatusEventInclude | null where?: OrderStatusEventWhereInput orderBy?: OrderStatusEventOrderByWithRelationInput | OrderStatusEventOrderByWithRelationInput[] cursor?: OrderStatusEventWhereUniqueInput take?: number skip?: number distinct?: OrderStatusEventScalarFieldEnum | OrderStatusEventScalarFieldEnum[] } /** * AdminUser.preOrderStatusEvents */ export type AdminUser$preOrderStatusEventsArgs = { /** * Select specific fields to fetch from the PreOrderStatusEvent */ select?: PreOrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderStatusEventInclude | null where?: PreOrderStatusEventWhereInput orderBy?: PreOrderStatusEventOrderByWithRelationInput | PreOrderStatusEventOrderByWithRelationInput[] cursor?: PreOrderStatusEventWhereUniqueInput take?: number skip?: number distinct?: PreOrderStatusEventScalarFieldEnum | PreOrderStatusEventScalarFieldEnum[] } /** * AdminUser.sentSmsMessages */ export type AdminUser$sentSmsMessagesArgs = { /** * Select specific fields to fetch from the SmsMessage */ select?: SmsMessageSelect | null /** * Choose, which related nodes to fetch as well */ include?: SmsMessageInclude | null where?: SmsMessageWhereInput orderBy?: SmsMessageOrderByWithRelationInput | SmsMessageOrderByWithRelationInput[] cursor?: SmsMessageWhereUniqueInput take?: number skip?: number distinct?: SmsMessageScalarFieldEnum | SmsMessageScalarFieldEnum[] } /** * AdminUser.sentNotifications */ export type AdminUser$sentNotificationsArgs = { /** * Select specific fields to fetch from the Notification */ select?: NotificationSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationInclude | null where?: NotificationWhereInput orderBy?: NotificationOrderByWithRelationInput | NotificationOrderByWithRelationInput[] cursor?: NotificationWhereUniqueInput take?: number skip?: number distinct?: NotificationScalarFieldEnum | NotificationScalarFieldEnum[] } /** * AdminUser.uploadedFiles */ export type AdminUser$uploadedFilesArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelect | null /** * Choose, which related nodes to fetch as well */ include?: UploadedFileInclude | null where?: UploadedFileWhereInput orderBy?: UploadedFileOrderByWithRelationInput | UploadedFileOrderByWithRelationInput[] cursor?: UploadedFileWhereUniqueInput take?: number skip?: number distinct?: UploadedFileScalarFieldEnum | UploadedFileScalarFieldEnum[] } /** * AdminUser.salesExpertProfile */ export type AdminUser$salesExpertProfileArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelect | null /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileInclude | null where?: SalesExpertProfileWhereInput } /** * AdminUser.sessions */ export type AdminUser$sessionsArgs = { /** * Select specific fields to fetch from the AdminSession */ select?: AdminSessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminSessionInclude | null where?: AdminSessionWhereInput orderBy?: AdminSessionOrderByWithRelationInput | AdminSessionOrderByWithRelationInput[] cursor?: AdminSessionWhereUniqueInput take?: number skip?: number distinct?: AdminSessionScalarFieldEnum | AdminSessionScalarFieldEnum[] } /** * AdminUser without action */ export type AdminUserDefaultArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null } /** * Model AppSession */ export type AggregateAppSession = { _count: AppSessionCountAggregateOutputType | null _min: AppSessionMinAggregateOutputType | null _max: AppSessionMaxAggregateOutputType | null } export type AppSessionMinAggregateOutputType = { id: string | null jti: string | null subjectId: string | null subjectType: string | null mobile: string | null iamSessionId: string | null iamSub: string | null ipAddress: string | null userAgent: string | null createdAt: Date | null expiresAt: Date | null lastSeenAt: Date | null revokedAt: Date | null revokedReason: string | null } export type AppSessionMaxAggregateOutputType = { id: string | null jti: string | null subjectId: string | null subjectType: string | null mobile: string | null iamSessionId: string | null iamSub: string | null ipAddress: string | null userAgent: string | null createdAt: Date | null expiresAt: Date | null lastSeenAt: Date | null revokedAt: Date | null revokedReason: string | null } export type AppSessionCountAggregateOutputType = { id: number jti: number subjectId: number subjectType: number mobile: number iamSessionId: number iamSub: number ipAddress: number userAgent: number createdAt: number expiresAt: number lastSeenAt: number revokedAt: number revokedReason: number _all: number } export type AppSessionMinAggregateInputType = { id?: true jti?: true subjectId?: true subjectType?: true mobile?: true iamSessionId?: true iamSub?: true ipAddress?: true userAgent?: true createdAt?: true expiresAt?: true lastSeenAt?: true revokedAt?: true revokedReason?: true } export type AppSessionMaxAggregateInputType = { id?: true jti?: true subjectId?: true subjectType?: true mobile?: true iamSessionId?: true iamSub?: true ipAddress?: true userAgent?: true createdAt?: true expiresAt?: true lastSeenAt?: true revokedAt?: true revokedReason?: true } export type AppSessionCountAggregateInputType = { id?: true jti?: true subjectId?: true subjectType?: true mobile?: true iamSessionId?: true iamSub?: true ipAddress?: true userAgent?: true createdAt?: true expiresAt?: true lastSeenAt?: true revokedAt?: true revokedReason?: true _all?: true } export type AppSessionAggregateArgs = { /** * Filter which AppSession to aggregate. */ where?: AppSessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AppSessions to fetch. */ orderBy?: AppSessionOrderByWithRelationInput | AppSessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: AppSessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AppSessions 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` AppSessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned AppSessions **/ _count?: true | AppSessionCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: AppSessionMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: AppSessionMaxAggregateInputType } export type GetAppSessionAggregateType = { [P in keyof T & keyof AggregateAppSession]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type AppSessionGroupByArgs = { where?: AppSessionWhereInput orderBy?: AppSessionOrderByWithAggregationInput | AppSessionOrderByWithAggregationInput[] by: AppSessionScalarFieldEnum[] | AppSessionScalarFieldEnum having?: AppSessionScalarWhereWithAggregatesInput take?: number skip?: number _count?: AppSessionCountAggregateInputType | true _min?: AppSessionMinAggregateInputType _max?: AppSessionMaxAggregateInputType } export type AppSessionGroupByOutputType = { id: string jti: string subjectId: string subjectType: string mobile: string | null iamSessionId: string | null iamSub: string | null ipAddress: string | null userAgent: string | null createdAt: Date expiresAt: Date | null lastSeenAt: Date | null revokedAt: Date | null revokedReason: string | null _count: AppSessionCountAggregateOutputType | null _min: AppSessionMinAggregateOutputType | null _max: AppSessionMaxAggregateOutputType | null } type GetAppSessionGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof AppSessionGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type AppSessionSelect = $Extensions.GetSelect<{ id?: boolean jti?: boolean subjectId?: boolean subjectType?: boolean mobile?: boolean iamSessionId?: boolean iamSub?: boolean ipAddress?: boolean userAgent?: boolean createdAt?: boolean expiresAt?: boolean lastSeenAt?: boolean revokedAt?: boolean revokedReason?: boolean }, ExtArgs["result"]["appSession"]> export type AppSessionSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean jti?: boolean subjectId?: boolean subjectType?: boolean mobile?: boolean iamSessionId?: boolean iamSub?: boolean ipAddress?: boolean userAgent?: boolean createdAt?: boolean expiresAt?: boolean lastSeenAt?: boolean revokedAt?: boolean revokedReason?: boolean }, ExtArgs["result"]["appSession"]> export type AppSessionSelectScalar = { id?: boolean jti?: boolean subjectId?: boolean subjectType?: boolean mobile?: boolean iamSessionId?: boolean iamSub?: boolean ipAddress?: boolean userAgent?: boolean createdAt?: boolean expiresAt?: boolean lastSeenAt?: boolean revokedAt?: boolean revokedReason?: boolean } export type $AppSessionPayload = { name: "AppSession" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string /** * The token's `jti` claim. Unique: one row per issued token. */ jti: string /** * Customer.id, or AdminUser.id when subjectType is "sales-expert". */ subjectId: string subjectType: string mobile: string | null /** * Set when the login was confirmed by the central IAM: its session id (`sid`) * and stable user id (`sub`), which is what a back-channel logout arrives with. */ iamSessionId: string | null iamSub: string | null ipAddress: string | null userAgent: string | null createdAt: Date expiresAt: Date | null lastSeenAt: Date | null revokedAt: Date | null revokedReason: string | null }, ExtArgs["result"]["appSession"]> composites: {} } type AppSessionGetPayload = $Result.GetResult type AppSessionCountArgs = Omit & { select?: AppSessionCountAggregateInputType | true } export interface AppSessionDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['AppSession'], meta: { name: 'AppSession' } } /** * Find zero or one AppSession that matches the filter. * @param {AppSessionFindUniqueArgs} args - Arguments to find a AppSession * @example * // Get one AppSession * const appSession = await prisma.appSession.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__AppSessionClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one AppSession that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {AppSessionFindUniqueOrThrowArgs} args - Arguments to find a AppSession * @example * // Get one AppSession * const appSession = await prisma.appSession.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__AppSessionClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first AppSession 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 {AppSessionFindFirstArgs} args - Arguments to find a AppSession * @example * // Get one AppSession * const appSession = await prisma.appSession.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__AppSessionClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first AppSession 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 {AppSessionFindFirstOrThrowArgs} args - Arguments to find a AppSession * @example * // Get one AppSession * const appSession = await prisma.appSession.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__AppSessionClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more AppSessions 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 {AppSessionFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all AppSessions * const appSessions = await prisma.appSession.findMany() * * // Get first 10 AppSessions * const appSessions = await prisma.appSession.findMany({ take: 10 }) * * // Only select the `id` * const appSessionWithIdOnly = await prisma.appSession.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a AppSession. * @param {AppSessionCreateArgs} args - Arguments to create a AppSession. * @example * // Create one AppSession * const AppSession = await prisma.appSession.create({ * data: { * // ... data to create a AppSession * } * }) * */ create(args: SelectSubset>): Prisma__AppSessionClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many AppSessions. * @param {AppSessionCreateManyArgs} args - Arguments to create many AppSessions. * @example * // Create many AppSessions * const appSession = await prisma.appSession.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many AppSessions and returns the data saved in the database. * @param {AppSessionCreateManyAndReturnArgs} args - Arguments to create many AppSessions. * @example * // Create many AppSessions * const appSession = await prisma.appSession.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many AppSessions and only return the `id` * const appSessionWithIdOnly = await prisma.appSession.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a AppSession. * @param {AppSessionDeleteArgs} args - Arguments to delete one AppSession. * @example * // Delete one AppSession * const AppSession = await prisma.appSession.delete({ * where: { * // ... filter to delete one AppSession * } * }) * */ delete(args: SelectSubset>): Prisma__AppSessionClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one AppSession. * @param {AppSessionUpdateArgs} args - Arguments to update one AppSession. * @example * // Update one AppSession * const appSession = await prisma.appSession.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__AppSessionClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more AppSessions. * @param {AppSessionDeleteManyArgs} args - Arguments to filter AppSessions to delete. * @example * // Delete a few AppSessions * const { count } = await prisma.appSession.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more AppSessions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AppSessionUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many AppSessions * const appSession = await prisma.appSession.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one AppSession. * @param {AppSessionUpsertArgs} args - Arguments to update or create a AppSession. * @example * // Update or create a AppSession * const appSession = await prisma.appSession.upsert({ * create: { * // ... data to create a AppSession * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the AppSession we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__AppSessionClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of AppSessions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AppSessionCountArgs} args - Arguments to filter AppSessions to count. * @example * // Count the number of AppSessions * const count = await prisma.appSession.count({ * where: { * // ... the filter for the AppSessions we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a AppSession. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AppSessionAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by AppSession. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AppSessionGroupByArgs} 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 AppSessionGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: AppSessionGroupByArgs['orderBy'] } : { orderBy?: AppSessionGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetAppSessionGroupByPayload : Prisma.PrismaPromise /** * Fields of the AppSession model */ readonly fields: AppSessionFieldRefs; } /** * The delegate class that acts as a "Promise-like" for AppSession. * 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__AppSessionClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the AppSession model */ interface AppSessionFieldRefs { readonly id: FieldRef<"AppSession", 'String'> readonly jti: FieldRef<"AppSession", 'String'> readonly subjectId: FieldRef<"AppSession", 'String'> readonly subjectType: FieldRef<"AppSession", 'String'> readonly mobile: FieldRef<"AppSession", 'String'> readonly iamSessionId: FieldRef<"AppSession", 'String'> readonly iamSub: FieldRef<"AppSession", 'String'> readonly ipAddress: FieldRef<"AppSession", 'String'> readonly userAgent: FieldRef<"AppSession", 'String'> readonly createdAt: FieldRef<"AppSession", 'DateTime'> readonly expiresAt: FieldRef<"AppSession", 'DateTime'> readonly lastSeenAt: FieldRef<"AppSession", 'DateTime'> readonly revokedAt: FieldRef<"AppSession", 'DateTime'> readonly revokedReason: FieldRef<"AppSession", 'String'> } // Custom InputTypes /** * AppSession findUnique */ export type AppSessionFindUniqueArgs = { /** * Select specific fields to fetch from the AppSession */ select?: AppSessionSelect | null /** * Filter, which AppSession to fetch. */ where: AppSessionWhereUniqueInput } /** * AppSession findUniqueOrThrow */ export type AppSessionFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the AppSession */ select?: AppSessionSelect | null /** * Filter, which AppSession to fetch. */ where: AppSessionWhereUniqueInput } /** * AppSession findFirst */ export type AppSessionFindFirstArgs = { /** * Select specific fields to fetch from the AppSession */ select?: AppSessionSelect | null /** * Filter, which AppSession to fetch. */ where?: AppSessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AppSessions to fetch. */ orderBy?: AppSessionOrderByWithRelationInput | AppSessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for AppSessions. */ cursor?: AppSessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AppSessions 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` AppSessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of AppSessions. */ distinct?: AppSessionScalarFieldEnum | AppSessionScalarFieldEnum[] } /** * AppSession findFirstOrThrow */ export type AppSessionFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the AppSession */ select?: AppSessionSelect | null /** * Filter, which AppSession to fetch. */ where?: AppSessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AppSessions to fetch. */ orderBy?: AppSessionOrderByWithRelationInput | AppSessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for AppSessions. */ cursor?: AppSessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AppSessions 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` AppSessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of AppSessions. */ distinct?: AppSessionScalarFieldEnum | AppSessionScalarFieldEnum[] } /** * AppSession findMany */ export type AppSessionFindManyArgs = { /** * Select specific fields to fetch from the AppSession */ select?: AppSessionSelect | null /** * Filter, which AppSessions to fetch. */ where?: AppSessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AppSessions to fetch. */ orderBy?: AppSessionOrderByWithRelationInput | AppSessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing AppSessions. */ cursor?: AppSessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AppSessions 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` AppSessions. */ skip?: number distinct?: AppSessionScalarFieldEnum | AppSessionScalarFieldEnum[] } /** * AppSession create */ export type AppSessionCreateArgs = { /** * Select specific fields to fetch from the AppSession */ select?: AppSessionSelect | null /** * The data needed to create a AppSession. */ data: XOR } /** * AppSession createMany */ export type AppSessionCreateManyArgs = { /** * The data used to create many AppSessions. */ data: AppSessionCreateManyInput | AppSessionCreateManyInput[] skipDuplicates?: boolean } /** * AppSession createManyAndReturn */ export type AppSessionCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the AppSession */ select?: AppSessionSelectCreateManyAndReturn | null /** * The data used to create many AppSessions. */ data: AppSessionCreateManyInput | AppSessionCreateManyInput[] skipDuplicates?: boolean } /** * AppSession update */ export type AppSessionUpdateArgs = { /** * Select specific fields to fetch from the AppSession */ select?: AppSessionSelect | null /** * The data needed to update a AppSession. */ data: XOR /** * Choose, which AppSession to update. */ where: AppSessionWhereUniqueInput } /** * AppSession updateMany */ export type AppSessionUpdateManyArgs = { /** * The data used to update AppSessions. */ data: XOR /** * Filter which AppSessions to update */ where?: AppSessionWhereInput } /** * AppSession upsert */ export type AppSessionUpsertArgs = { /** * Select specific fields to fetch from the AppSession */ select?: AppSessionSelect | null /** * The filter to search for the AppSession to update in case it exists. */ where: AppSessionWhereUniqueInput /** * In case the AppSession found by the `where` argument doesn't exist, create a new AppSession with this data. */ create: XOR /** * In case the AppSession was found with the provided `where` argument, update it with this data. */ update: XOR } /** * AppSession delete */ export type AppSessionDeleteArgs = { /** * Select specific fields to fetch from the AppSession */ select?: AppSessionSelect | null /** * Filter which AppSession to delete. */ where: AppSessionWhereUniqueInput } /** * AppSession deleteMany */ export type AppSessionDeleteManyArgs = { /** * Filter which AppSessions to delete */ where?: AppSessionWhereInput } /** * AppSession without action */ export type AppSessionDefaultArgs = { /** * Select specific fields to fetch from the AppSession */ select?: AppSessionSelect | null } /** * Model AdminSession */ export type AggregateAdminSession = { _count: AdminSessionCountAggregateOutputType | null _min: AdminSessionMinAggregateOutputType | null _max: AdminSessionMaxAggregateOutputType | null } export type AdminSessionMinAggregateOutputType = { id: string | null jti: string | null adminUserId: string | null iamSessionId: string | null iamSub: string | null ipAddress: string | null userAgent: string | null createdAt: Date | null expiresAt: Date | null lastSeenAt: Date | null revokedAt: Date | null revokedReason: string | null } export type AdminSessionMaxAggregateOutputType = { id: string | null jti: string | null adminUserId: string | null iamSessionId: string | null iamSub: string | null ipAddress: string | null userAgent: string | null createdAt: Date | null expiresAt: Date | null lastSeenAt: Date | null revokedAt: Date | null revokedReason: string | null } export type AdminSessionCountAggregateOutputType = { id: number jti: number adminUserId: number iamSessionId: number iamSub: number ipAddress: number userAgent: number createdAt: number expiresAt: number lastSeenAt: number revokedAt: number revokedReason: number _all: number } export type AdminSessionMinAggregateInputType = { id?: true jti?: true adminUserId?: true iamSessionId?: true iamSub?: true ipAddress?: true userAgent?: true createdAt?: true expiresAt?: true lastSeenAt?: true revokedAt?: true revokedReason?: true } export type AdminSessionMaxAggregateInputType = { id?: true jti?: true adminUserId?: true iamSessionId?: true iamSub?: true ipAddress?: true userAgent?: true createdAt?: true expiresAt?: true lastSeenAt?: true revokedAt?: true revokedReason?: true } export type AdminSessionCountAggregateInputType = { id?: true jti?: true adminUserId?: true iamSessionId?: true iamSub?: true ipAddress?: true userAgent?: true createdAt?: true expiresAt?: true lastSeenAt?: true revokedAt?: true revokedReason?: true _all?: true } export type AdminSessionAggregateArgs = { /** * Filter which AdminSession to aggregate. */ where?: AdminSessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AdminSessions to fetch. */ orderBy?: AdminSessionOrderByWithRelationInput | AdminSessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: AdminSessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AdminSessions 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` AdminSessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned AdminSessions **/ _count?: true | AdminSessionCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: AdminSessionMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: AdminSessionMaxAggregateInputType } export type GetAdminSessionAggregateType = { [P in keyof T & keyof AggregateAdminSession]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type AdminSessionGroupByArgs = { where?: AdminSessionWhereInput orderBy?: AdminSessionOrderByWithAggregationInput | AdminSessionOrderByWithAggregationInput[] by: AdminSessionScalarFieldEnum[] | AdminSessionScalarFieldEnum having?: AdminSessionScalarWhereWithAggregatesInput take?: number skip?: number _count?: AdminSessionCountAggregateInputType | true _min?: AdminSessionMinAggregateInputType _max?: AdminSessionMaxAggregateInputType } export type AdminSessionGroupByOutputType = { id: string jti: string adminUserId: string iamSessionId: string | null iamSub: string | null ipAddress: string | null userAgent: string | null createdAt: Date expiresAt: Date | null lastSeenAt: Date | null revokedAt: Date | null revokedReason: string | null _count: AdminSessionCountAggregateOutputType | null _min: AdminSessionMinAggregateOutputType | null _max: AdminSessionMaxAggregateOutputType | null } type GetAdminSessionGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof AdminSessionGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type AdminSessionSelect = $Extensions.GetSelect<{ id?: boolean jti?: boolean adminUserId?: boolean iamSessionId?: boolean iamSub?: boolean ipAddress?: boolean userAgent?: boolean createdAt?: boolean expiresAt?: boolean lastSeenAt?: boolean revokedAt?: boolean revokedReason?: boolean adminUser?: boolean | AdminUserDefaultArgs }, ExtArgs["result"]["adminSession"]> export type AdminSessionSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean jti?: boolean adminUserId?: boolean iamSessionId?: boolean iamSub?: boolean ipAddress?: boolean userAgent?: boolean createdAt?: boolean expiresAt?: boolean lastSeenAt?: boolean revokedAt?: boolean revokedReason?: boolean adminUser?: boolean | AdminUserDefaultArgs }, ExtArgs["result"]["adminSession"]> export type AdminSessionSelectScalar = { id?: boolean jti?: boolean adminUserId?: boolean iamSessionId?: boolean iamSub?: boolean ipAddress?: boolean userAgent?: boolean createdAt?: boolean expiresAt?: boolean lastSeenAt?: boolean revokedAt?: boolean revokedReason?: boolean } export type AdminSessionInclude = { adminUser?: boolean | AdminUserDefaultArgs } export type AdminSessionIncludeCreateManyAndReturn = { adminUser?: boolean | AdminUserDefaultArgs } export type $AdminSessionPayload = { name: "AdminSession" objects: { adminUser: Prisma.$AdminUserPayload } scalars: $Extensions.GetPayloadResult<{ id: string /** * The token's `jti` claim. Unique: one row per issued token. */ jti: string adminUserId: string /** * Set when the login was verified by the IAM: its session id (`sid`) and the * stable user id (`sub`) there. Back-channel logout arrives keyed by these — * deliberately here rather than as columns on AdminUser, so enabling the * feature needs no change to an existing table. */ iamSessionId: string | null iamSub: string | null ipAddress: string | null userAgent: string | null createdAt: Date expiresAt: Date | null lastSeenAt: Date | null revokedAt: Date | null revokedReason: string | null }, ExtArgs["result"]["adminSession"]> composites: {} } type AdminSessionGetPayload = $Result.GetResult type AdminSessionCountArgs = Omit & { select?: AdminSessionCountAggregateInputType | true } export interface AdminSessionDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['AdminSession'], meta: { name: 'AdminSession' } } /** * Find zero or one AdminSession that matches the filter. * @param {AdminSessionFindUniqueArgs} args - Arguments to find a AdminSession * @example * // Get one AdminSession * const adminSession = await prisma.adminSession.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__AdminSessionClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one AdminSession that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {AdminSessionFindUniqueOrThrowArgs} args - Arguments to find a AdminSession * @example * // Get one AdminSession * const adminSession = await prisma.adminSession.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__AdminSessionClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first AdminSession 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 {AdminSessionFindFirstArgs} args - Arguments to find a AdminSession * @example * // Get one AdminSession * const adminSession = await prisma.adminSession.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__AdminSessionClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first AdminSession 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 {AdminSessionFindFirstOrThrowArgs} args - Arguments to find a AdminSession * @example * // Get one AdminSession * const adminSession = await prisma.adminSession.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__AdminSessionClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more AdminSessions 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 {AdminSessionFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all AdminSessions * const adminSessions = await prisma.adminSession.findMany() * * // Get first 10 AdminSessions * const adminSessions = await prisma.adminSession.findMany({ take: 10 }) * * // Only select the `id` * const adminSessionWithIdOnly = await prisma.adminSession.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a AdminSession. * @param {AdminSessionCreateArgs} args - Arguments to create a AdminSession. * @example * // Create one AdminSession * const AdminSession = await prisma.adminSession.create({ * data: { * // ... data to create a AdminSession * } * }) * */ create(args: SelectSubset>): Prisma__AdminSessionClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many AdminSessions. * @param {AdminSessionCreateManyArgs} args - Arguments to create many AdminSessions. * @example * // Create many AdminSessions * const adminSession = await prisma.adminSession.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many AdminSessions and returns the data saved in the database. * @param {AdminSessionCreateManyAndReturnArgs} args - Arguments to create many AdminSessions. * @example * // Create many AdminSessions * const adminSession = await prisma.adminSession.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many AdminSessions and only return the `id` * const adminSessionWithIdOnly = await prisma.adminSession.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a AdminSession. * @param {AdminSessionDeleteArgs} args - Arguments to delete one AdminSession. * @example * // Delete one AdminSession * const AdminSession = await prisma.adminSession.delete({ * where: { * // ... filter to delete one AdminSession * } * }) * */ delete(args: SelectSubset>): Prisma__AdminSessionClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one AdminSession. * @param {AdminSessionUpdateArgs} args - Arguments to update one AdminSession. * @example * // Update one AdminSession * const adminSession = await prisma.adminSession.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__AdminSessionClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more AdminSessions. * @param {AdminSessionDeleteManyArgs} args - Arguments to filter AdminSessions to delete. * @example * // Delete a few AdminSessions * const { count } = await prisma.adminSession.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more AdminSessions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AdminSessionUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many AdminSessions * const adminSession = await prisma.adminSession.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one AdminSession. * @param {AdminSessionUpsertArgs} args - Arguments to update or create a AdminSession. * @example * // Update or create a AdminSession * const adminSession = await prisma.adminSession.upsert({ * create: { * // ... data to create a AdminSession * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the AdminSession we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__AdminSessionClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of AdminSessions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AdminSessionCountArgs} args - Arguments to filter AdminSessions to count. * @example * // Count the number of AdminSessions * const count = await prisma.adminSession.count({ * where: { * // ... the filter for the AdminSessions we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a AdminSession. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AdminSessionAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by AdminSession. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AdminSessionGroupByArgs} 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 AdminSessionGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: AdminSessionGroupByArgs['orderBy'] } : { orderBy?: AdminSessionGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetAdminSessionGroupByPayload : Prisma.PrismaPromise /** * Fields of the AdminSession model */ readonly fields: AdminSessionFieldRefs; } /** * The delegate class that acts as a "Promise-like" for AdminSession. * 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__AdminSessionClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" adminUser = {}>(args?: Subset>): Prisma__AdminUserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the AdminSession model */ interface AdminSessionFieldRefs { readonly id: FieldRef<"AdminSession", 'String'> readonly jti: FieldRef<"AdminSession", 'String'> readonly adminUserId: FieldRef<"AdminSession", 'String'> readonly iamSessionId: FieldRef<"AdminSession", 'String'> readonly iamSub: FieldRef<"AdminSession", 'String'> readonly ipAddress: FieldRef<"AdminSession", 'String'> readonly userAgent: FieldRef<"AdminSession", 'String'> readonly createdAt: FieldRef<"AdminSession", 'DateTime'> readonly expiresAt: FieldRef<"AdminSession", 'DateTime'> readonly lastSeenAt: FieldRef<"AdminSession", 'DateTime'> readonly revokedAt: FieldRef<"AdminSession", 'DateTime'> readonly revokedReason: FieldRef<"AdminSession", 'String'> } // Custom InputTypes /** * AdminSession findUnique */ export type AdminSessionFindUniqueArgs = { /** * Select specific fields to fetch from the AdminSession */ select?: AdminSessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminSessionInclude | null /** * Filter, which AdminSession to fetch. */ where: AdminSessionWhereUniqueInput } /** * AdminSession findUniqueOrThrow */ export type AdminSessionFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the AdminSession */ select?: AdminSessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminSessionInclude | null /** * Filter, which AdminSession to fetch. */ where: AdminSessionWhereUniqueInput } /** * AdminSession findFirst */ export type AdminSessionFindFirstArgs = { /** * Select specific fields to fetch from the AdminSession */ select?: AdminSessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminSessionInclude | null /** * Filter, which AdminSession to fetch. */ where?: AdminSessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AdminSessions to fetch. */ orderBy?: AdminSessionOrderByWithRelationInput | AdminSessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for AdminSessions. */ cursor?: AdminSessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AdminSessions 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` AdminSessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of AdminSessions. */ distinct?: AdminSessionScalarFieldEnum | AdminSessionScalarFieldEnum[] } /** * AdminSession findFirstOrThrow */ export type AdminSessionFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the AdminSession */ select?: AdminSessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminSessionInclude | null /** * Filter, which AdminSession to fetch. */ where?: AdminSessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AdminSessions to fetch. */ orderBy?: AdminSessionOrderByWithRelationInput | AdminSessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for AdminSessions. */ cursor?: AdminSessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AdminSessions 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` AdminSessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of AdminSessions. */ distinct?: AdminSessionScalarFieldEnum | AdminSessionScalarFieldEnum[] } /** * AdminSession findMany */ export type AdminSessionFindManyArgs = { /** * Select specific fields to fetch from the AdminSession */ select?: AdminSessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminSessionInclude | null /** * Filter, which AdminSessions to fetch. */ where?: AdminSessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of AdminSessions to fetch. */ orderBy?: AdminSessionOrderByWithRelationInput | AdminSessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing AdminSessions. */ cursor?: AdminSessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` AdminSessions 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` AdminSessions. */ skip?: number distinct?: AdminSessionScalarFieldEnum | AdminSessionScalarFieldEnum[] } /** * AdminSession create */ export type AdminSessionCreateArgs = { /** * Select specific fields to fetch from the AdminSession */ select?: AdminSessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminSessionInclude | null /** * The data needed to create a AdminSession. */ data: XOR } /** * AdminSession createMany */ export type AdminSessionCreateManyArgs = { /** * The data used to create many AdminSessions. */ data: AdminSessionCreateManyInput | AdminSessionCreateManyInput[] skipDuplicates?: boolean } /** * AdminSession createManyAndReturn */ export type AdminSessionCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the AdminSession */ select?: AdminSessionSelectCreateManyAndReturn | null /** * The data used to create many AdminSessions. */ data: AdminSessionCreateManyInput | AdminSessionCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: AdminSessionIncludeCreateManyAndReturn | null } /** * AdminSession update */ export type AdminSessionUpdateArgs = { /** * Select specific fields to fetch from the AdminSession */ select?: AdminSessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminSessionInclude | null /** * The data needed to update a AdminSession. */ data: XOR /** * Choose, which AdminSession to update. */ where: AdminSessionWhereUniqueInput } /** * AdminSession updateMany */ export type AdminSessionUpdateManyArgs = { /** * The data used to update AdminSessions. */ data: XOR /** * Filter which AdminSessions to update */ where?: AdminSessionWhereInput } /** * AdminSession upsert */ export type AdminSessionUpsertArgs = { /** * Select specific fields to fetch from the AdminSession */ select?: AdminSessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminSessionInclude | null /** * The filter to search for the AdminSession to update in case it exists. */ where: AdminSessionWhereUniqueInput /** * In case the AdminSession found by the `where` argument doesn't exist, create a new AdminSession with this data. */ create: XOR /** * In case the AdminSession was found with the provided `where` argument, update it with this data. */ update: XOR } /** * AdminSession delete */ export type AdminSessionDeleteArgs = { /** * Select specific fields to fetch from the AdminSession */ select?: AdminSessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminSessionInclude | null /** * Filter which AdminSession to delete. */ where: AdminSessionWhereUniqueInput } /** * AdminSession deleteMany */ export type AdminSessionDeleteManyArgs = { /** * Filter which AdminSessions to delete */ where?: AdminSessionWhereInput } /** * AdminSession without action */ export type AdminSessionDefaultArgs = { /** * Select specific fields to fetch from the AdminSession */ select?: AdminSessionSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminSessionInclude | null } /** * Model SalesExpertProfile */ export type AggregateSalesExpertProfile = { _count: SalesExpertProfileCountAggregateOutputType | null _avg: SalesExpertProfileAvgAggregateOutputType | null _sum: SalesExpertProfileSumAggregateOutputType | null _min: SalesExpertProfileMinAggregateOutputType | null _max: SalesExpertProfileMaxAggregateOutputType | null } export type SalesExpertProfileAvgAggregateOutputType = { gramLevel: Decimal | null } export type SalesExpertProfileSumAggregateOutputType = { gramLevel: Decimal | null } export type SalesExpertProfileMinAggregateOutputType = { id: string | null adminUserId: string | null cityId: string | null gramLevel: Decimal | null phone: string | null nationalCode: string | null tradingCustomerId: string | null createdAt: Date | null updatedAt: Date | null } export type SalesExpertProfileMaxAggregateOutputType = { id: string | null adminUserId: string | null cityId: string | null gramLevel: Decimal | null phone: string | null nationalCode: string | null tradingCustomerId: string | null createdAt: Date | null updatedAt: Date | null } export type SalesExpertProfileCountAggregateOutputType = { id: number adminUserId: number cityId: number gramLevel: number phone: number nationalCode: number tradingCustomerId: number createdAt: number updatedAt: number _all: number } export type SalesExpertProfileAvgAggregateInputType = { gramLevel?: true } export type SalesExpertProfileSumAggregateInputType = { gramLevel?: true } export type SalesExpertProfileMinAggregateInputType = { id?: true adminUserId?: true cityId?: true gramLevel?: true phone?: true nationalCode?: true tradingCustomerId?: true createdAt?: true updatedAt?: true } export type SalesExpertProfileMaxAggregateInputType = { id?: true adminUserId?: true cityId?: true gramLevel?: true phone?: true nationalCode?: true tradingCustomerId?: true createdAt?: true updatedAt?: true } export type SalesExpertProfileCountAggregateInputType = { id?: true adminUserId?: true cityId?: true gramLevel?: true phone?: true nationalCode?: true tradingCustomerId?: true createdAt?: true updatedAt?: true _all?: true } export type SalesExpertProfileAggregateArgs = { /** * Filter which SalesExpertProfile to aggregate. */ where?: SalesExpertProfileWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SalesExpertProfiles to fetch. */ orderBy?: SalesExpertProfileOrderByWithRelationInput | SalesExpertProfileOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: SalesExpertProfileWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SalesExpertProfiles 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` SalesExpertProfiles. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned SalesExpertProfiles **/ _count?: true | SalesExpertProfileCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: SalesExpertProfileAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: SalesExpertProfileSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: SalesExpertProfileMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: SalesExpertProfileMaxAggregateInputType } export type GetSalesExpertProfileAggregateType = { [P in keyof T & keyof AggregateSalesExpertProfile]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type SalesExpertProfileGroupByArgs = { where?: SalesExpertProfileWhereInput orderBy?: SalesExpertProfileOrderByWithAggregationInput | SalesExpertProfileOrderByWithAggregationInput[] by: SalesExpertProfileScalarFieldEnum[] | SalesExpertProfileScalarFieldEnum having?: SalesExpertProfileScalarWhereWithAggregatesInput take?: number skip?: number _count?: SalesExpertProfileCountAggregateInputType | true _avg?: SalesExpertProfileAvgAggregateInputType _sum?: SalesExpertProfileSumAggregateInputType _min?: SalesExpertProfileMinAggregateInputType _max?: SalesExpertProfileMaxAggregateInputType } export type SalesExpertProfileGroupByOutputType = { id: string adminUserId: string cityId: string | null gramLevel: Decimal phone: string | null nationalCode: string | null tradingCustomerId: string | null createdAt: Date updatedAt: Date _count: SalesExpertProfileCountAggregateOutputType | null _avg: SalesExpertProfileAvgAggregateOutputType | null _sum: SalesExpertProfileSumAggregateOutputType | null _min: SalesExpertProfileMinAggregateOutputType | null _max: SalesExpertProfileMaxAggregateOutputType | null } type GetSalesExpertProfileGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof SalesExpertProfileGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type SalesExpertProfileSelect = $Extensions.GetSelect<{ id?: boolean adminUserId?: boolean cityId?: boolean gramLevel?: boolean phone?: boolean nationalCode?: boolean tradingCustomerId?: boolean createdAt?: boolean updatedAt?: boolean adminUser?: boolean | AdminUserDefaultArgs city?: boolean | SalesExpertProfile$cityArgs tradingCustomer?: boolean | SalesExpertProfile$tradingCustomerArgs }, ExtArgs["result"]["salesExpertProfile"]> export type SalesExpertProfileSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean adminUserId?: boolean cityId?: boolean gramLevel?: boolean phone?: boolean nationalCode?: boolean tradingCustomerId?: boolean createdAt?: boolean updatedAt?: boolean adminUser?: boolean | AdminUserDefaultArgs city?: boolean | SalesExpertProfile$cityArgs tradingCustomer?: boolean | SalesExpertProfile$tradingCustomerArgs }, ExtArgs["result"]["salesExpertProfile"]> export type SalesExpertProfileSelectScalar = { id?: boolean adminUserId?: boolean cityId?: boolean gramLevel?: boolean phone?: boolean nationalCode?: boolean tradingCustomerId?: boolean createdAt?: boolean updatedAt?: boolean } export type SalesExpertProfileInclude = { adminUser?: boolean | AdminUserDefaultArgs city?: boolean | SalesExpertProfile$cityArgs tradingCustomer?: boolean | SalesExpertProfile$tradingCustomerArgs } export type SalesExpertProfileIncludeCreateManyAndReturn = { adminUser?: boolean | AdminUserDefaultArgs city?: boolean | SalesExpertProfile$cityArgs tradingCustomer?: boolean | SalesExpertProfile$tradingCustomerArgs } export type $SalesExpertProfilePayload = { name: "SalesExpertProfile" objects: { adminUser: Prisma.$AdminUserPayload city: Prisma.$CityPayload | null tradingCustomer: Prisma.$CustomerPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string adminUserId: string /** * Legacy customers.city_id — a filterable grid column * (ReagentListModel.js:14) and the source of the commission autofill * (ReagentCustomer.vue:215-228). */ cityId: string | null /** * Legacy customers.gram_level — the «سطح اعتبار» column, filterable. * Decimal(14,4) matches Customer.goldCreditLimitGrams exactly so the same * credit limit has identical precision on both tables. */ gramLevel: Prisma.Decimal /** * Legacy customers.phone (varchar 15) and ncode (varchar 20). The reference * stores both and reads neither back; kept so the form matches it. Neither * is unique and neither has a validation rule in the reference — inventing * one would reject data the reference accepts. */ phone: string | null nationalCode: string | null /** * The Customer row carrying this expert's OWN orders, debt and credit limit. * * The reference stored a sales agent AS a Customer (type=1), so an order the * agent placed from the app was simply their own, against their own * gram_level (ApiMobileController.php:534-535). Here the expert is an * AdminUser (D17), which has no ledger and cannot be an Order's subject, so * this one linked Customer plays that part. * * Distinct from the expert's REFERRED customers, which are ordinary Customer * rows pointing at the AdminUser through Customer.referredByAgentId. * * Null until the expert first signs into the app, when it is created from * this profile. See D21. */ tradingCustomerId: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["salesExpertProfile"]> composites: {} } type SalesExpertProfileGetPayload = $Result.GetResult type SalesExpertProfileCountArgs = Omit & { select?: SalesExpertProfileCountAggregateInputType | true } export interface SalesExpertProfileDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['SalesExpertProfile'], meta: { name: 'SalesExpertProfile' } } /** * Find zero or one SalesExpertProfile that matches the filter. * @param {SalesExpertProfileFindUniqueArgs} args - Arguments to find a SalesExpertProfile * @example * // Get one SalesExpertProfile * const salesExpertProfile = await prisma.salesExpertProfile.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__SalesExpertProfileClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one SalesExpertProfile that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {SalesExpertProfileFindUniqueOrThrowArgs} args - Arguments to find a SalesExpertProfile * @example * // Get one SalesExpertProfile * const salesExpertProfile = await prisma.salesExpertProfile.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__SalesExpertProfileClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first SalesExpertProfile 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 {SalesExpertProfileFindFirstArgs} args - Arguments to find a SalesExpertProfile * @example * // Get one SalesExpertProfile * const salesExpertProfile = await prisma.salesExpertProfile.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__SalesExpertProfileClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first SalesExpertProfile 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 {SalesExpertProfileFindFirstOrThrowArgs} args - Arguments to find a SalesExpertProfile * @example * // Get one SalesExpertProfile * const salesExpertProfile = await prisma.salesExpertProfile.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__SalesExpertProfileClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more SalesExpertProfiles 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 {SalesExpertProfileFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all SalesExpertProfiles * const salesExpertProfiles = await prisma.salesExpertProfile.findMany() * * // Get first 10 SalesExpertProfiles * const salesExpertProfiles = await prisma.salesExpertProfile.findMany({ take: 10 }) * * // Only select the `id` * const salesExpertProfileWithIdOnly = await prisma.salesExpertProfile.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a SalesExpertProfile. * @param {SalesExpertProfileCreateArgs} args - Arguments to create a SalesExpertProfile. * @example * // Create one SalesExpertProfile * const SalesExpertProfile = await prisma.salesExpertProfile.create({ * data: { * // ... data to create a SalesExpertProfile * } * }) * */ create(args: SelectSubset>): Prisma__SalesExpertProfileClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many SalesExpertProfiles. * @param {SalesExpertProfileCreateManyArgs} args - Arguments to create many SalesExpertProfiles. * @example * // Create many SalesExpertProfiles * const salesExpertProfile = await prisma.salesExpertProfile.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many SalesExpertProfiles and returns the data saved in the database. * @param {SalesExpertProfileCreateManyAndReturnArgs} args - Arguments to create many SalesExpertProfiles. * @example * // Create many SalesExpertProfiles * const salesExpertProfile = await prisma.salesExpertProfile.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many SalesExpertProfiles and only return the `id` * const salesExpertProfileWithIdOnly = await prisma.salesExpertProfile.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a SalesExpertProfile. * @param {SalesExpertProfileDeleteArgs} args - Arguments to delete one SalesExpertProfile. * @example * // Delete one SalesExpertProfile * const SalesExpertProfile = await prisma.salesExpertProfile.delete({ * where: { * // ... filter to delete one SalesExpertProfile * } * }) * */ delete(args: SelectSubset>): Prisma__SalesExpertProfileClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one SalesExpertProfile. * @param {SalesExpertProfileUpdateArgs} args - Arguments to update one SalesExpertProfile. * @example * // Update one SalesExpertProfile * const salesExpertProfile = await prisma.salesExpertProfile.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__SalesExpertProfileClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more SalesExpertProfiles. * @param {SalesExpertProfileDeleteManyArgs} args - Arguments to filter SalesExpertProfiles to delete. * @example * // Delete a few SalesExpertProfiles * const { count } = await prisma.salesExpertProfile.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more SalesExpertProfiles. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SalesExpertProfileUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many SalesExpertProfiles * const salesExpertProfile = await prisma.salesExpertProfile.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one SalesExpertProfile. * @param {SalesExpertProfileUpsertArgs} args - Arguments to update or create a SalesExpertProfile. * @example * // Update or create a SalesExpertProfile * const salesExpertProfile = await prisma.salesExpertProfile.upsert({ * create: { * // ... data to create a SalesExpertProfile * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the SalesExpertProfile we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__SalesExpertProfileClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of SalesExpertProfiles. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SalesExpertProfileCountArgs} args - Arguments to filter SalesExpertProfiles to count. * @example * // Count the number of SalesExpertProfiles * const count = await prisma.salesExpertProfile.count({ * where: { * // ... the filter for the SalesExpertProfiles we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a SalesExpertProfile. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SalesExpertProfileAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by SalesExpertProfile. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SalesExpertProfileGroupByArgs} 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 SalesExpertProfileGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: SalesExpertProfileGroupByArgs['orderBy'] } : { orderBy?: SalesExpertProfileGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetSalesExpertProfileGroupByPayload : Prisma.PrismaPromise /** * Fields of the SalesExpertProfile model */ readonly fields: SalesExpertProfileFieldRefs; } /** * The delegate class that acts as a "Promise-like" for SalesExpertProfile. * 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__SalesExpertProfileClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" adminUser = {}>(args?: Subset>): Prisma__AdminUserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> city = {}>(args?: Subset>): Prisma__CityClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> tradingCustomer = {}>(args?: Subset>): Prisma__CustomerClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the SalesExpertProfile model */ interface SalesExpertProfileFieldRefs { readonly id: FieldRef<"SalesExpertProfile", 'String'> readonly adminUserId: FieldRef<"SalesExpertProfile", 'String'> readonly cityId: FieldRef<"SalesExpertProfile", 'String'> readonly gramLevel: FieldRef<"SalesExpertProfile", 'Decimal'> readonly phone: FieldRef<"SalesExpertProfile", 'String'> readonly nationalCode: FieldRef<"SalesExpertProfile", 'String'> readonly tradingCustomerId: FieldRef<"SalesExpertProfile", 'String'> readonly createdAt: FieldRef<"SalesExpertProfile", 'DateTime'> readonly updatedAt: FieldRef<"SalesExpertProfile", 'DateTime'> } // Custom InputTypes /** * SalesExpertProfile findUnique */ export type SalesExpertProfileFindUniqueArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelect | null /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileInclude | null /** * Filter, which SalesExpertProfile to fetch. */ where: SalesExpertProfileWhereUniqueInput } /** * SalesExpertProfile findUniqueOrThrow */ export type SalesExpertProfileFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelect | null /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileInclude | null /** * Filter, which SalesExpertProfile to fetch. */ where: SalesExpertProfileWhereUniqueInput } /** * SalesExpertProfile findFirst */ export type SalesExpertProfileFindFirstArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelect | null /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileInclude | null /** * Filter, which SalesExpertProfile to fetch. */ where?: SalesExpertProfileWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SalesExpertProfiles to fetch. */ orderBy?: SalesExpertProfileOrderByWithRelationInput | SalesExpertProfileOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for SalesExpertProfiles. */ cursor?: SalesExpertProfileWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SalesExpertProfiles 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` SalesExpertProfiles. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of SalesExpertProfiles. */ distinct?: SalesExpertProfileScalarFieldEnum | SalesExpertProfileScalarFieldEnum[] } /** * SalesExpertProfile findFirstOrThrow */ export type SalesExpertProfileFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelect | null /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileInclude | null /** * Filter, which SalesExpertProfile to fetch. */ where?: SalesExpertProfileWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SalesExpertProfiles to fetch. */ orderBy?: SalesExpertProfileOrderByWithRelationInput | SalesExpertProfileOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for SalesExpertProfiles. */ cursor?: SalesExpertProfileWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SalesExpertProfiles 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` SalesExpertProfiles. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of SalesExpertProfiles. */ distinct?: SalesExpertProfileScalarFieldEnum | SalesExpertProfileScalarFieldEnum[] } /** * SalesExpertProfile findMany */ export type SalesExpertProfileFindManyArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelect | null /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileInclude | null /** * Filter, which SalesExpertProfiles to fetch. */ where?: SalesExpertProfileWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SalesExpertProfiles to fetch. */ orderBy?: SalesExpertProfileOrderByWithRelationInput | SalesExpertProfileOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing SalesExpertProfiles. */ cursor?: SalesExpertProfileWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SalesExpertProfiles 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` SalesExpertProfiles. */ skip?: number distinct?: SalesExpertProfileScalarFieldEnum | SalesExpertProfileScalarFieldEnum[] } /** * SalesExpertProfile create */ export type SalesExpertProfileCreateArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelect | null /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileInclude | null /** * The data needed to create a SalesExpertProfile. */ data: XOR } /** * SalesExpertProfile createMany */ export type SalesExpertProfileCreateManyArgs = { /** * The data used to create many SalesExpertProfiles. */ data: SalesExpertProfileCreateManyInput | SalesExpertProfileCreateManyInput[] skipDuplicates?: boolean } /** * SalesExpertProfile createManyAndReturn */ export type SalesExpertProfileCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelectCreateManyAndReturn | null /** * The data used to create many SalesExpertProfiles. */ data: SalesExpertProfileCreateManyInput | SalesExpertProfileCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileIncludeCreateManyAndReturn | null } /** * SalesExpertProfile update */ export type SalesExpertProfileUpdateArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelect | null /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileInclude | null /** * The data needed to update a SalesExpertProfile. */ data: XOR /** * Choose, which SalesExpertProfile to update. */ where: SalesExpertProfileWhereUniqueInput } /** * SalesExpertProfile updateMany */ export type SalesExpertProfileUpdateManyArgs = { /** * The data used to update SalesExpertProfiles. */ data: XOR /** * Filter which SalesExpertProfiles to update */ where?: SalesExpertProfileWhereInput } /** * SalesExpertProfile upsert */ export type SalesExpertProfileUpsertArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelect | null /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileInclude | null /** * The filter to search for the SalesExpertProfile to update in case it exists. */ where: SalesExpertProfileWhereUniqueInput /** * In case the SalesExpertProfile found by the `where` argument doesn't exist, create a new SalesExpertProfile with this data. */ create: XOR /** * In case the SalesExpertProfile was found with the provided `where` argument, update it with this data. */ update: XOR } /** * SalesExpertProfile delete */ export type SalesExpertProfileDeleteArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelect | null /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileInclude | null /** * Filter which SalesExpertProfile to delete. */ where: SalesExpertProfileWhereUniqueInput } /** * SalesExpertProfile deleteMany */ export type SalesExpertProfileDeleteManyArgs = { /** * Filter which SalesExpertProfiles to delete */ where?: SalesExpertProfileWhereInput } /** * SalesExpertProfile.city */ export type SalesExpertProfile$cityArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null where?: CityWhereInput } /** * SalesExpertProfile.tradingCustomer */ export type SalesExpertProfile$tradingCustomerArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null where?: CustomerWhereInput } /** * SalesExpertProfile without action */ export type SalesExpertProfileDefaultArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelect | null /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileInclude | null } /** * Model Customer */ export type AggregateCustomer = { _count: CustomerCountAggregateOutputType | null _avg: CustomerAvgAggregateOutputType | null _sum: CustomerSumAggregateOutputType | null _min: CustomerMinAggregateOutputType | null _max: CustomerMaxAggregateOutputType | null } export type CustomerAvgAggregateOutputType = { goldCreditLimitGrams: Decimal | null goldDebtGrams: Decimal | null fiatDebtRial: Decimal | null makingChargeOffsetPercent: Decimal | null } export type CustomerSumAggregateOutputType = { goldCreditLimitGrams: Decimal | null goldDebtGrams: Decimal | null fiatDebtRial: Decimal | null makingChargeOffsetPercent: Decimal | null } export type CustomerMinAggregateOutputType = { id: string | null fullName: string | null firstName: string | null lastName: string | null mobile: string | null nationalCode: string | null passwordHash: string | null cityId: string | null kind: $Enums.CustomerKind | null phone: string | null address: string | null storeName: string | null pasazhName: string | null zone: string | null memberCode: string | null referredByAgentId: string | null goldCreditLimitGrams: Decimal | null goldDebtGrams: Decimal | null fiatDebtRial: Decimal | null makingChargeOffsetPercent: Decimal | null verificationStep: $Enums.VerificationStep | null nationalIdImageUrl: string | null businessLicenseUrl: string | null shopImageUrl: string | null avatarFileId: string | null canPlaceOrders: boolean | null isActive: boolean | null isArchived: boolean | null createdAt: Date | null updatedAt: Date | null } export type CustomerMaxAggregateOutputType = { id: string | null fullName: string | null firstName: string | null lastName: string | null mobile: string | null nationalCode: string | null passwordHash: string | null cityId: string | null kind: $Enums.CustomerKind | null phone: string | null address: string | null storeName: string | null pasazhName: string | null zone: string | null memberCode: string | null referredByAgentId: string | null goldCreditLimitGrams: Decimal | null goldDebtGrams: Decimal | null fiatDebtRial: Decimal | null makingChargeOffsetPercent: Decimal | null verificationStep: $Enums.VerificationStep | null nationalIdImageUrl: string | null businessLicenseUrl: string | null shopImageUrl: string | null avatarFileId: string | null canPlaceOrders: boolean | null isActive: boolean | null isArchived: boolean | null createdAt: Date | null updatedAt: Date | null } export type CustomerCountAggregateOutputType = { id: number fullName: number firstName: number lastName: number mobile: number nationalCode: number passwordHash: number cityId: number kind: number phone: number address: number storeName: number pasazhName: number zone: number memberCode: number referredByAgentId: number goldCreditLimitGrams: number goldDebtGrams: number fiatDebtRial: number makingChargeOffsetPercent: number verificationStep: number nationalIdImageUrl: number businessLicenseUrl: number shopImageUrl: number avatarFileId: number canPlaceOrders: number isActive: number isArchived: number createdAt: number updatedAt: number _all: number } export type CustomerAvgAggregateInputType = { goldCreditLimitGrams?: true goldDebtGrams?: true fiatDebtRial?: true makingChargeOffsetPercent?: true } export type CustomerSumAggregateInputType = { goldCreditLimitGrams?: true goldDebtGrams?: true fiatDebtRial?: true makingChargeOffsetPercent?: true } export type CustomerMinAggregateInputType = { id?: true fullName?: true firstName?: true lastName?: true mobile?: true nationalCode?: true passwordHash?: true cityId?: true kind?: true phone?: true address?: true storeName?: true pasazhName?: true zone?: true memberCode?: true referredByAgentId?: true goldCreditLimitGrams?: true goldDebtGrams?: true fiatDebtRial?: true makingChargeOffsetPercent?: true verificationStep?: true nationalIdImageUrl?: true businessLicenseUrl?: true shopImageUrl?: true avatarFileId?: true canPlaceOrders?: true isActive?: true isArchived?: true createdAt?: true updatedAt?: true } export type CustomerMaxAggregateInputType = { id?: true fullName?: true firstName?: true lastName?: true mobile?: true nationalCode?: true passwordHash?: true cityId?: true kind?: true phone?: true address?: true storeName?: true pasazhName?: true zone?: true memberCode?: true referredByAgentId?: true goldCreditLimitGrams?: true goldDebtGrams?: true fiatDebtRial?: true makingChargeOffsetPercent?: true verificationStep?: true nationalIdImageUrl?: true businessLicenseUrl?: true shopImageUrl?: true avatarFileId?: true canPlaceOrders?: true isActive?: true isArchived?: true createdAt?: true updatedAt?: true } export type CustomerCountAggregateInputType = { id?: true fullName?: true firstName?: true lastName?: true mobile?: true nationalCode?: true passwordHash?: true cityId?: true kind?: true phone?: true address?: true storeName?: true pasazhName?: true zone?: true memberCode?: true referredByAgentId?: true goldCreditLimitGrams?: true goldDebtGrams?: true fiatDebtRial?: true makingChargeOffsetPercent?: true verificationStep?: true nationalIdImageUrl?: true businessLicenseUrl?: true shopImageUrl?: true avatarFileId?: true canPlaceOrders?: true isActive?: true isArchived?: true createdAt?: true updatedAt?: true _all?: true } export type CustomerAggregateArgs = { /** * Filter which Customer to aggregate. */ where?: CustomerWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Customers to fetch. */ orderBy?: CustomerOrderByWithRelationInput | CustomerOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: CustomerWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Customers 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` Customers. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Customers **/ _count?: true | CustomerCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: CustomerAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: CustomerSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: CustomerMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: CustomerMaxAggregateInputType } export type GetCustomerAggregateType = { [P in keyof T & keyof AggregateCustomer]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type CustomerGroupByArgs = { where?: CustomerWhereInput orderBy?: CustomerOrderByWithAggregationInput | CustomerOrderByWithAggregationInput[] by: CustomerScalarFieldEnum[] | CustomerScalarFieldEnum having?: CustomerScalarWhereWithAggregatesInput take?: number skip?: number _count?: CustomerCountAggregateInputType | true _avg?: CustomerAvgAggregateInputType _sum?: CustomerSumAggregateInputType _min?: CustomerMinAggregateInputType _max?: CustomerMaxAggregateInputType } export type CustomerGroupByOutputType = { id: string fullName: string firstName: string | null lastName: string | null mobile: string nationalCode: string passwordHash: string cityId: string | null kind: $Enums.CustomerKind phone: string | null address: string | null storeName: string | null pasazhName: string | null zone: string | null memberCode: string | null referredByAgentId: string | null goldCreditLimitGrams: Decimal goldDebtGrams: Decimal fiatDebtRial: Decimal makingChargeOffsetPercent: Decimal verificationStep: $Enums.VerificationStep nationalIdImageUrl: string | null businessLicenseUrl: string | null shopImageUrl: string | null avatarFileId: string | null canPlaceOrders: boolean isActive: boolean isArchived: boolean createdAt: Date updatedAt: Date _count: CustomerCountAggregateOutputType | null _avg: CustomerAvgAggregateOutputType | null _sum: CustomerSumAggregateOutputType | null _min: CustomerMinAggregateOutputType | null _max: CustomerMaxAggregateOutputType | null } type GetCustomerGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof CustomerGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type CustomerSelect = $Extensions.GetSelect<{ id?: boolean fullName?: boolean firstName?: boolean lastName?: boolean mobile?: boolean nationalCode?: boolean passwordHash?: boolean cityId?: boolean kind?: boolean phone?: boolean address?: boolean storeName?: boolean pasazhName?: boolean zone?: boolean memberCode?: boolean referredByAgentId?: boolean goldCreditLimitGrams?: boolean goldDebtGrams?: boolean fiatDebtRial?: boolean makingChargeOffsetPercent?: boolean verificationStep?: boolean nationalIdImageUrl?: boolean businessLicenseUrl?: boolean shopImageUrl?: boolean avatarFileId?: boolean canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: boolean updatedAt?: boolean city?: boolean | Customer$cityArgs referredByAgent?: boolean | Customer$referredByAgentArgs salesExpertTradingFor?: boolean | Customer$salesExpertTradingForArgs avatarFile?: boolean | Customer$avatarFileArgs addresses?: boolean | Customer$addressesArgs orders?: boolean | Customer$ordersArgs preOrders?: boolean | Customer$preOrdersArgs ledgerEntries?: boolean | Customer$ledgerEntriesArgs walletBonuses?: boolean | Customer$walletBonusesArgs comments?: boolean | Customer$commentsArgs promotions?: boolean | Customer$promotionsArgs notifications?: boolean | Customer$notificationsArgs activityLogs?: boolean | Customer$activityLogsArgs otpChallenges?: boolean | Customer$otpChallengesArgs _count?: boolean | CustomerCountOutputTypeDefaultArgs }, ExtArgs["result"]["customer"]> export type CustomerSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean fullName?: boolean firstName?: boolean lastName?: boolean mobile?: boolean nationalCode?: boolean passwordHash?: boolean cityId?: boolean kind?: boolean phone?: boolean address?: boolean storeName?: boolean pasazhName?: boolean zone?: boolean memberCode?: boolean referredByAgentId?: boolean goldCreditLimitGrams?: boolean goldDebtGrams?: boolean fiatDebtRial?: boolean makingChargeOffsetPercent?: boolean verificationStep?: boolean nationalIdImageUrl?: boolean businessLicenseUrl?: boolean shopImageUrl?: boolean avatarFileId?: boolean canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: boolean updatedAt?: boolean city?: boolean | Customer$cityArgs referredByAgent?: boolean | Customer$referredByAgentArgs avatarFile?: boolean | Customer$avatarFileArgs }, ExtArgs["result"]["customer"]> export type CustomerSelectScalar = { id?: boolean fullName?: boolean firstName?: boolean lastName?: boolean mobile?: boolean nationalCode?: boolean passwordHash?: boolean cityId?: boolean kind?: boolean phone?: boolean address?: boolean storeName?: boolean pasazhName?: boolean zone?: boolean memberCode?: boolean referredByAgentId?: boolean goldCreditLimitGrams?: boolean goldDebtGrams?: boolean fiatDebtRial?: boolean makingChargeOffsetPercent?: boolean verificationStep?: boolean nationalIdImageUrl?: boolean businessLicenseUrl?: boolean shopImageUrl?: boolean avatarFileId?: boolean canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: boolean updatedAt?: boolean } export type CustomerInclude = { city?: boolean | Customer$cityArgs referredByAgent?: boolean | Customer$referredByAgentArgs salesExpertTradingFor?: boolean | Customer$salesExpertTradingForArgs avatarFile?: boolean | Customer$avatarFileArgs addresses?: boolean | Customer$addressesArgs orders?: boolean | Customer$ordersArgs preOrders?: boolean | Customer$preOrdersArgs ledgerEntries?: boolean | Customer$ledgerEntriesArgs walletBonuses?: boolean | Customer$walletBonusesArgs comments?: boolean | Customer$commentsArgs promotions?: boolean | Customer$promotionsArgs notifications?: boolean | Customer$notificationsArgs activityLogs?: boolean | Customer$activityLogsArgs otpChallenges?: boolean | Customer$otpChallengesArgs _count?: boolean | CustomerCountOutputTypeDefaultArgs } export type CustomerIncludeCreateManyAndReturn = { city?: boolean | Customer$cityArgs referredByAgent?: boolean | Customer$referredByAgentArgs avatarFile?: boolean | Customer$avatarFileArgs } export type $CustomerPayload = { name: "Customer" objects: { city: Prisma.$CityPayload | null referredByAgent: Prisma.$AdminUserPayload | null /** * Set only on the one Customer row that acts as a sales expert's own trading * account (see SalesExpertProfile.tradingCustomerId). Empty for every * ordinary customer. */ salesExpertTradingFor: Prisma.$SalesExpertProfilePayload | null avatarFile: Prisma.$UploadedFilePayload | null addresses: Prisma.$CustomerAddressPayload[] orders: Prisma.$OrderPayload[] preOrders: Prisma.$PreOrderPayload[] ledgerEntries: Prisma.$LedgerEntryPayload[] walletBonuses: Prisma.$WalletBonusPayload[] comments: Prisma.$CommentPayload[] promotions: Prisma.$PromotionPayload[] notifications: Prisma.$NotificationRecipientPayload[] activityLogs: Prisma.$CustomerActivityLogPayload[] otpChallenges: Prisma.$CustomerOtpPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string /** * ⚠️ `fullName`, `firstName` and `lastName` are kept in sync BY A DATABASE * TRIGGER — `customer_sync_full_name`, created in migration * 20260922120000_customer_name_parts. Prisma does not know about it, so a * write here is NOT the whole story: * * * write the parts -> fullName is rebuilt as "first last" * * write fullName only -> the parts are re-derived from it * * write BOTH in one update -> THE PARTS WIN; fullName is overwritten * with "first last" and whatever you passed for fullName is discarded * * So a value you wrote can differ from the value that lands in the row. * Re-read after writing if you need the stored value. Prefer writing the * parts; `fullName` exists for the legacy readers that predate D0. * * Reference has these as two columns from the start * (henza_server 2020_10_01_120430_customers_table.php:18-19 fname/lname); * the port collapsed them, which is the D0 defect. */ fullName: string firstName: string | null lastName: string | null mobile: string nationalCode: string passwordHash: string cityId: string | null /** * Legacy Customer.type — distinguishes بنکدار from مغازه دار, which the * BankerList / ShopkeeperList screens filter on. */ kind: $Enums.CustomerKind /** * Legacy contact + shop columns, shown on the wholesale customer form and as * (hidden-by-default) columns in its grid. */ phone: string | null address: string | null storeName: string | null pasazhName: string | null zone: string | null /** * Legacy mcode — the operator-assigned customer code. */ memberCode: string | null referredByAgentId: string | null goldCreditLimitGrams: Prisma.Decimal goldDebtGrams: Prisma.Decimal fiatDebtRial: Prisma.Decimal /** * Legacy `customers.percent` — the per-customer making-charge offset. It is * ADDED to the variant's making charge when pricing an order line * (henza_pwa src/Mixins/product/index.ts:69-75: * getWage(v) = state.percent + v.percentage_pay) * and it shifts the catalogue making-charge filter bounds * (ApiMobileController.php:391-396,76-77). It is NOT part of the price * formula itself — that extra percent is ConfigStatic['product_price_extra_percent']. * * NOT the wallet cashback rate (storefront ConfigStatic['percent'], D13) and * NOT the wholesale per-line charge (OrderItem.wagePercentSnapshot). * * DB default 0 keeps every existing customer's price unchanged. The * reference's application-layer default for NEW customers is 3 * (AdminController.php:338) and the field is required on create (:354). */ makingChargeOffsetPercent: Prisma.Decimal verificationStep: $Enums.VerificationStep nationalIdImageUrl: string | null businessLicenseUrl: string | null shopImageUrl: string | null /** * Legacy `image_id` — the profile photo (عکس پروفایل) on the sales-agent * form. Legacy stored an FK to its Image table and read it back as a nested * `image: { id, image }`, so this is a relation, not a bare URL string. */ avatarFileId: string | null /** * Legacy had TWO independent switches on a customer: * sts -> may they place orders (this field) * active -> is the account enabled (isActive, below) * The port previously drove both from isActive; they are separate again. */ canPlaceOrders: boolean isActive: boolean /** * Legacy archive flag — the archived list filtered on this, not on isActive. */ isArchived: boolean createdAt: Date updatedAt: Date }, ExtArgs["result"]["customer"]> composites: {} } type CustomerGetPayload = $Result.GetResult type CustomerCountArgs = Omit & { select?: CustomerCountAggregateInputType | true } export interface CustomerDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Customer'], meta: { name: 'Customer' } } /** * Find zero or one Customer that matches the filter. * @param {CustomerFindUniqueArgs} args - Arguments to find a Customer * @example * // Get one Customer * const customer = await prisma.customer.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__CustomerClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Customer that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {CustomerFindUniqueOrThrowArgs} args - Arguments to find a Customer * @example * // Get one Customer * const customer = await prisma.customer.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__CustomerClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Customer 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 {CustomerFindFirstArgs} args - Arguments to find a Customer * @example * // Get one Customer * const customer = await prisma.customer.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__CustomerClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Customer 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 {CustomerFindFirstOrThrowArgs} args - Arguments to find a Customer * @example * // Get one Customer * const customer = await prisma.customer.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__CustomerClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Customers 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 {CustomerFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Customers * const customers = await prisma.customer.findMany() * * // Get first 10 Customers * const customers = await prisma.customer.findMany({ take: 10 }) * * // Only select the `id` * const customerWithIdOnly = await prisma.customer.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Customer. * @param {CustomerCreateArgs} args - Arguments to create a Customer. * @example * // Create one Customer * const Customer = await prisma.customer.create({ * data: { * // ... data to create a Customer * } * }) * */ create(args: SelectSubset>): Prisma__CustomerClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Customers. * @param {CustomerCreateManyArgs} args - Arguments to create many Customers. * @example * // Create many Customers * const customer = await prisma.customer.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Customers and returns the data saved in the database. * @param {CustomerCreateManyAndReturnArgs} args - Arguments to create many Customers. * @example * // Create many Customers * const customer = await prisma.customer.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Customers and only return the `id` * const customerWithIdOnly = await prisma.customer.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Customer. * @param {CustomerDeleteArgs} args - Arguments to delete one Customer. * @example * // Delete one Customer * const Customer = await prisma.customer.delete({ * where: { * // ... filter to delete one Customer * } * }) * */ delete(args: SelectSubset>): Prisma__CustomerClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Customer. * @param {CustomerUpdateArgs} args - Arguments to update one Customer. * @example * // Update one Customer * const customer = await prisma.customer.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__CustomerClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Customers. * @param {CustomerDeleteManyArgs} args - Arguments to filter Customers to delete. * @example * // Delete a few Customers * const { count } = await prisma.customer.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Customers. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Customers * const customer = await prisma.customer.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Customer. * @param {CustomerUpsertArgs} args - Arguments to update or create a Customer. * @example * // Update or create a Customer * const customer = await prisma.customer.upsert({ * create: { * // ... data to create a Customer * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Customer we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__CustomerClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Customers. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerCountArgs} args - Arguments to filter Customers to count. * @example * // Count the number of Customers * const count = await prisma.customer.count({ * where: { * // ... the filter for the Customers we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Customer. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by Customer. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerGroupByArgs} 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 CustomerGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: CustomerGroupByArgs['orderBy'] } : { orderBy?: CustomerGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCustomerGroupByPayload : Prisma.PrismaPromise /** * Fields of the Customer model */ readonly fields: CustomerFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Customer. * 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__CustomerClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" city = {}>(args?: Subset>): Prisma__CityClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> referredByAgent = {}>(args?: Subset>): Prisma__AdminUserClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> salesExpertTradingFor = {}>(args?: Subset>): Prisma__SalesExpertProfileClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> avatarFile = {}>(args?: Subset>): Prisma__UploadedFileClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> addresses = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> orders = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> preOrders = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> ledgerEntries = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> walletBonuses = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> comments = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> promotions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> notifications = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> activityLogs = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> otpChallenges = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the Customer model */ interface CustomerFieldRefs { readonly id: FieldRef<"Customer", 'String'> readonly fullName: FieldRef<"Customer", 'String'> readonly firstName: FieldRef<"Customer", 'String'> readonly lastName: FieldRef<"Customer", 'String'> readonly mobile: FieldRef<"Customer", 'String'> readonly nationalCode: FieldRef<"Customer", 'String'> readonly passwordHash: FieldRef<"Customer", 'String'> readonly cityId: FieldRef<"Customer", 'String'> readonly kind: FieldRef<"Customer", 'CustomerKind'> readonly phone: FieldRef<"Customer", 'String'> readonly address: FieldRef<"Customer", 'String'> readonly storeName: FieldRef<"Customer", 'String'> readonly pasazhName: FieldRef<"Customer", 'String'> readonly zone: FieldRef<"Customer", 'String'> readonly memberCode: FieldRef<"Customer", 'String'> readonly referredByAgentId: FieldRef<"Customer", 'String'> readonly goldCreditLimitGrams: FieldRef<"Customer", 'Decimal'> readonly goldDebtGrams: FieldRef<"Customer", 'Decimal'> readonly fiatDebtRial: FieldRef<"Customer", 'Decimal'> readonly makingChargeOffsetPercent: FieldRef<"Customer", 'Decimal'> readonly verificationStep: FieldRef<"Customer", 'VerificationStep'> readonly nationalIdImageUrl: FieldRef<"Customer", 'String'> readonly businessLicenseUrl: FieldRef<"Customer", 'String'> readonly shopImageUrl: FieldRef<"Customer", 'String'> readonly avatarFileId: FieldRef<"Customer", 'String'> readonly canPlaceOrders: FieldRef<"Customer", 'Boolean'> readonly isActive: FieldRef<"Customer", 'Boolean'> readonly isArchived: FieldRef<"Customer", 'Boolean'> readonly createdAt: FieldRef<"Customer", 'DateTime'> readonly updatedAt: FieldRef<"Customer", 'DateTime'> } // Custom InputTypes /** * Customer findUnique */ export type CustomerFindUniqueArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null /** * Filter, which Customer to fetch. */ where: CustomerWhereUniqueInput } /** * Customer findUniqueOrThrow */ export type CustomerFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null /** * Filter, which Customer to fetch. */ where: CustomerWhereUniqueInput } /** * Customer findFirst */ export type CustomerFindFirstArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null /** * Filter, which Customer to fetch. */ where?: CustomerWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Customers to fetch. */ orderBy?: CustomerOrderByWithRelationInput | CustomerOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Customers. */ cursor?: CustomerWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Customers 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` Customers. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Customers. */ distinct?: CustomerScalarFieldEnum | CustomerScalarFieldEnum[] } /** * Customer findFirstOrThrow */ export type CustomerFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null /** * Filter, which Customer to fetch. */ where?: CustomerWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Customers to fetch. */ orderBy?: CustomerOrderByWithRelationInput | CustomerOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Customers. */ cursor?: CustomerWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Customers 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` Customers. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Customers. */ distinct?: CustomerScalarFieldEnum | CustomerScalarFieldEnum[] } /** * Customer findMany */ export type CustomerFindManyArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null /** * Filter, which Customers to fetch. */ where?: CustomerWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Customers to fetch. */ orderBy?: CustomerOrderByWithRelationInput | CustomerOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Customers. */ cursor?: CustomerWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Customers 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` Customers. */ skip?: number distinct?: CustomerScalarFieldEnum | CustomerScalarFieldEnum[] } /** * Customer create */ export type CustomerCreateArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null /** * The data needed to create a Customer. */ data: XOR } /** * Customer createMany */ export type CustomerCreateManyArgs = { /** * The data used to create many Customers. */ data: CustomerCreateManyInput | CustomerCreateManyInput[] skipDuplicates?: boolean } /** * Customer createManyAndReturn */ export type CustomerCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelectCreateManyAndReturn | null /** * The data used to create many Customers. */ data: CustomerCreateManyInput | CustomerCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: CustomerIncludeCreateManyAndReturn | null } /** * Customer update */ export type CustomerUpdateArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null /** * The data needed to update a Customer. */ data: XOR /** * Choose, which Customer to update. */ where: CustomerWhereUniqueInput } /** * Customer updateMany */ export type CustomerUpdateManyArgs = { /** * The data used to update Customers. */ data: XOR /** * Filter which Customers to update */ where?: CustomerWhereInput } /** * Customer upsert */ export type CustomerUpsertArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null /** * The filter to search for the Customer to update in case it exists. */ where: CustomerWhereUniqueInput /** * In case the Customer found by the `where` argument doesn't exist, create a new Customer with this data. */ create: XOR /** * In case the Customer was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Customer delete */ export type CustomerDeleteArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null /** * Filter which Customer to delete. */ where: CustomerWhereUniqueInput } /** * Customer deleteMany */ export type CustomerDeleteManyArgs = { /** * Filter which Customers to delete */ where?: CustomerWhereInput } /** * Customer.city */ export type Customer$cityArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null where?: CityWhereInput } /** * Customer.referredByAgent */ export type Customer$referredByAgentArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null where?: AdminUserWhereInput } /** * Customer.salesExpertTradingFor */ export type Customer$salesExpertTradingForArgs = { /** * Select specific fields to fetch from the SalesExpertProfile */ select?: SalesExpertProfileSelect | null /** * Choose, which related nodes to fetch as well */ include?: SalesExpertProfileInclude | null where?: SalesExpertProfileWhereInput } /** * Customer.avatarFile */ export type Customer$avatarFileArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelect | null /** * Choose, which related nodes to fetch as well */ include?: UploadedFileInclude | null where?: UploadedFileWhereInput } /** * Customer.addresses */ export type Customer$addressesArgs = { /** * Select specific fields to fetch from the CustomerAddress */ select?: CustomerAddressSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerAddressInclude | null where?: CustomerAddressWhereInput orderBy?: CustomerAddressOrderByWithRelationInput | CustomerAddressOrderByWithRelationInput[] cursor?: CustomerAddressWhereUniqueInput take?: number skip?: number distinct?: CustomerAddressScalarFieldEnum | CustomerAddressScalarFieldEnum[] } /** * Customer.orders */ export type Customer$ordersArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null where?: OrderWhereInput orderBy?: OrderOrderByWithRelationInput | OrderOrderByWithRelationInput[] cursor?: OrderWhereUniqueInput take?: number skip?: number distinct?: OrderScalarFieldEnum | OrderScalarFieldEnum[] } /** * Customer.preOrders */ export type Customer$preOrdersArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null where?: PreOrderWhereInput orderBy?: PreOrderOrderByWithRelationInput | PreOrderOrderByWithRelationInput[] cursor?: PreOrderWhereUniqueInput take?: number skip?: number distinct?: PreOrderScalarFieldEnum | PreOrderScalarFieldEnum[] } /** * Customer.ledgerEntries */ export type Customer$ledgerEntriesArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelect | null /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryInclude | null where?: LedgerEntryWhereInput orderBy?: LedgerEntryOrderByWithRelationInput | LedgerEntryOrderByWithRelationInput[] cursor?: LedgerEntryWhereUniqueInput take?: number skip?: number distinct?: LedgerEntryScalarFieldEnum | LedgerEntryScalarFieldEnum[] } /** * Customer.walletBonuses */ export type Customer$walletBonusesArgs = { /** * Select specific fields to fetch from the WalletBonus */ select?: WalletBonusSelect | null /** * Choose, which related nodes to fetch as well */ include?: WalletBonusInclude | null where?: WalletBonusWhereInput orderBy?: WalletBonusOrderByWithRelationInput | WalletBonusOrderByWithRelationInput[] cursor?: WalletBonusWhereUniqueInput take?: number skip?: number distinct?: WalletBonusScalarFieldEnum | WalletBonusScalarFieldEnum[] } /** * Customer.comments */ export type Customer$commentsArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null where?: CommentWhereInput orderBy?: CommentOrderByWithRelationInput | CommentOrderByWithRelationInput[] cursor?: CommentWhereUniqueInput take?: number skip?: number distinct?: CommentScalarFieldEnum | CommentScalarFieldEnum[] } /** * Customer.promotions */ export type Customer$promotionsArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null where?: PromotionWhereInput orderBy?: PromotionOrderByWithRelationInput | PromotionOrderByWithRelationInput[] cursor?: PromotionWhereUniqueInput take?: number skip?: number distinct?: PromotionScalarFieldEnum | PromotionScalarFieldEnum[] } /** * Customer.notifications */ export type Customer$notificationsArgs = { /** * Select specific fields to fetch from the NotificationRecipient */ select?: NotificationRecipientSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationRecipientInclude | null where?: NotificationRecipientWhereInput orderBy?: NotificationRecipientOrderByWithRelationInput | NotificationRecipientOrderByWithRelationInput[] cursor?: NotificationRecipientWhereUniqueInput take?: number skip?: number distinct?: NotificationRecipientScalarFieldEnum | NotificationRecipientScalarFieldEnum[] } /** * Customer.activityLogs */ export type Customer$activityLogsArgs = { /** * Select specific fields to fetch from the CustomerActivityLog */ select?: CustomerActivityLogSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerActivityLogInclude | null where?: CustomerActivityLogWhereInput orderBy?: CustomerActivityLogOrderByWithRelationInput | CustomerActivityLogOrderByWithRelationInput[] cursor?: CustomerActivityLogWhereUniqueInput take?: number skip?: number distinct?: CustomerActivityLogScalarFieldEnum | CustomerActivityLogScalarFieldEnum[] } /** * Customer.otpChallenges */ export type Customer$otpChallengesArgs = { /** * Select specific fields to fetch from the CustomerOtp */ select?: CustomerOtpSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerOtpInclude | null where?: CustomerOtpWhereInput orderBy?: CustomerOtpOrderByWithRelationInput | CustomerOtpOrderByWithRelationInput[] cursor?: CustomerOtpWhereUniqueInput take?: number skip?: number distinct?: CustomerOtpScalarFieldEnum | CustomerOtpScalarFieldEnum[] } /** * Customer without action */ export type CustomerDefaultArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null } /** * Model CustomerAddress */ export type AggregateCustomerAddress = { _count: CustomerAddressCountAggregateOutputType | null _min: CustomerAddressMinAggregateOutputType | null _max: CustomerAddressMaxAggregateOutputType | null } export type CustomerAddressMinAggregateOutputType = { id: string | null customerId: string | null cityId: string | null addressLine: string | null isDefault: boolean | null } export type CustomerAddressMaxAggregateOutputType = { id: string | null customerId: string | null cityId: string | null addressLine: string | null isDefault: boolean | null } export type CustomerAddressCountAggregateOutputType = { id: number customerId: number cityId: number addressLine: number isDefault: number _all: number } export type CustomerAddressMinAggregateInputType = { id?: true customerId?: true cityId?: true addressLine?: true isDefault?: true } export type CustomerAddressMaxAggregateInputType = { id?: true customerId?: true cityId?: true addressLine?: true isDefault?: true } export type CustomerAddressCountAggregateInputType = { id?: true customerId?: true cityId?: true addressLine?: true isDefault?: true _all?: true } export type CustomerAddressAggregateArgs = { /** * Filter which CustomerAddress to aggregate. */ where?: CustomerAddressWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CustomerAddresses to fetch. */ orderBy?: CustomerAddressOrderByWithRelationInput | CustomerAddressOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: CustomerAddressWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CustomerAddresses 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` CustomerAddresses. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned CustomerAddresses **/ _count?: true | CustomerAddressCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: CustomerAddressMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: CustomerAddressMaxAggregateInputType } export type GetCustomerAddressAggregateType = { [P in keyof T & keyof AggregateCustomerAddress]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type CustomerAddressGroupByArgs = { where?: CustomerAddressWhereInput orderBy?: CustomerAddressOrderByWithAggregationInput | CustomerAddressOrderByWithAggregationInput[] by: CustomerAddressScalarFieldEnum[] | CustomerAddressScalarFieldEnum having?: CustomerAddressScalarWhereWithAggregatesInput take?: number skip?: number _count?: CustomerAddressCountAggregateInputType | true _min?: CustomerAddressMinAggregateInputType _max?: CustomerAddressMaxAggregateInputType } export type CustomerAddressGroupByOutputType = { id: string customerId: string cityId: string | null addressLine: string isDefault: boolean _count: CustomerAddressCountAggregateOutputType | null _min: CustomerAddressMinAggregateOutputType | null _max: CustomerAddressMaxAggregateOutputType | null } type GetCustomerAddressGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof CustomerAddressGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type CustomerAddressSelect = $Extensions.GetSelect<{ id?: boolean customerId?: boolean cityId?: boolean addressLine?: boolean isDefault?: boolean customer?: boolean | CustomerDefaultArgs city?: boolean | CustomerAddress$cityArgs }, ExtArgs["result"]["customerAddress"]> export type CustomerAddressSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean customerId?: boolean cityId?: boolean addressLine?: boolean isDefault?: boolean customer?: boolean | CustomerDefaultArgs city?: boolean | CustomerAddress$cityArgs }, ExtArgs["result"]["customerAddress"]> export type CustomerAddressSelectScalar = { id?: boolean customerId?: boolean cityId?: boolean addressLine?: boolean isDefault?: boolean } export type CustomerAddressInclude = { customer?: boolean | CustomerDefaultArgs city?: boolean | CustomerAddress$cityArgs } export type CustomerAddressIncludeCreateManyAndReturn = { customer?: boolean | CustomerDefaultArgs city?: boolean | CustomerAddress$cityArgs } export type $CustomerAddressPayload = { name: "CustomerAddress" objects: { customer: Prisma.$CustomerPayload city: Prisma.$CityPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string customerId: string cityId: string | null addressLine: string isDefault: boolean }, ExtArgs["result"]["customerAddress"]> composites: {} } type CustomerAddressGetPayload = $Result.GetResult type CustomerAddressCountArgs = Omit & { select?: CustomerAddressCountAggregateInputType | true } export interface CustomerAddressDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['CustomerAddress'], meta: { name: 'CustomerAddress' } } /** * Find zero or one CustomerAddress that matches the filter. * @param {CustomerAddressFindUniqueArgs} args - Arguments to find a CustomerAddress * @example * // Get one CustomerAddress * const customerAddress = await prisma.customerAddress.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__CustomerAddressClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one CustomerAddress that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {CustomerAddressFindUniqueOrThrowArgs} args - Arguments to find a CustomerAddress * @example * // Get one CustomerAddress * const customerAddress = await prisma.customerAddress.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__CustomerAddressClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first CustomerAddress 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 {CustomerAddressFindFirstArgs} args - Arguments to find a CustomerAddress * @example * // Get one CustomerAddress * const customerAddress = await prisma.customerAddress.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__CustomerAddressClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first CustomerAddress 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 {CustomerAddressFindFirstOrThrowArgs} args - Arguments to find a CustomerAddress * @example * // Get one CustomerAddress * const customerAddress = await prisma.customerAddress.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__CustomerAddressClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more CustomerAddresses 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 {CustomerAddressFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all CustomerAddresses * const customerAddresses = await prisma.customerAddress.findMany() * * // Get first 10 CustomerAddresses * const customerAddresses = await prisma.customerAddress.findMany({ take: 10 }) * * // Only select the `id` * const customerAddressWithIdOnly = await prisma.customerAddress.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a CustomerAddress. * @param {CustomerAddressCreateArgs} args - Arguments to create a CustomerAddress. * @example * // Create one CustomerAddress * const CustomerAddress = await prisma.customerAddress.create({ * data: { * // ... data to create a CustomerAddress * } * }) * */ create(args: SelectSubset>): Prisma__CustomerAddressClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many CustomerAddresses. * @param {CustomerAddressCreateManyArgs} args - Arguments to create many CustomerAddresses. * @example * // Create many CustomerAddresses * const customerAddress = await prisma.customerAddress.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many CustomerAddresses and returns the data saved in the database. * @param {CustomerAddressCreateManyAndReturnArgs} args - Arguments to create many CustomerAddresses. * @example * // Create many CustomerAddresses * const customerAddress = await prisma.customerAddress.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many CustomerAddresses and only return the `id` * const customerAddressWithIdOnly = await prisma.customerAddress.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a CustomerAddress. * @param {CustomerAddressDeleteArgs} args - Arguments to delete one CustomerAddress. * @example * // Delete one CustomerAddress * const CustomerAddress = await prisma.customerAddress.delete({ * where: { * // ... filter to delete one CustomerAddress * } * }) * */ delete(args: SelectSubset>): Prisma__CustomerAddressClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one CustomerAddress. * @param {CustomerAddressUpdateArgs} args - Arguments to update one CustomerAddress. * @example * // Update one CustomerAddress * const customerAddress = await prisma.customerAddress.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__CustomerAddressClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more CustomerAddresses. * @param {CustomerAddressDeleteManyArgs} args - Arguments to filter CustomerAddresses to delete. * @example * // Delete a few CustomerAddresses * const { count } = await prisma.customerAddress.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more CustomerAddresses. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerAddressUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many CustomerAddresses * const customerAddress = await prisma.customerAddress.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one CustomerAddress. * @param {CustomerAddressUpsertArgs} args - Arguments to update or create a CustomerAddress. * @example * // Update or create a CustomerAddress * const customerAddress = await prisma.customerAddress.upsert({ * create: { * // ... data to create a CustomerAddress * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the CustomerAddress we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__CustomerAddressClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of CustomerAddresses. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerAddressCountArgs} args - Arguments to filter CustomerAddresses to count. * @example * // Count the number of CustomerAddresses * const count = await prisma.customerAddress.count({ * where: { * // ... the filter for the CustomerAddresses we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a CustomerAddress. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerAddressAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by CustomerAddress. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerAddressGroupByArgs} 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 CustomerAddressGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: CustomerAddressGroupByArgs['orderBy'] } : { orderBy?: CustomerAddressGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCustomerAddressGroupByPayload : Prisma.PrismaPromise /** * Fields of the CustomerAddress model */ readonly fields: CustomerAddressFieldRefs; } /** * The delegate class that acts as a "Promise-like" for CustomerAddress. * 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__CustomerAddressClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" customer = {}>(args?: Subset>): Prisma__CustomerClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> city = {}>(args?: Subset>): Prisma__CityClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the CustomerAddress model */ interface CustomerAddressFieldRefs { readonly id: FieldRef<"CustomerAddress", 'String'> readonly customerId: FieldRef<"CustomerAddress", 'String'> readonly cityId: FieldRef<"CustomerAddress", 'String'> readonly addressLine: FieldRef<"CustomerAddress", 'String'> readonly isDefault: FieldRef<"CustomerAddress", 'Boolean'> } // Custom InputTypes /** * CustomerAddress findUnique */ export type CustomerAddressFindUniqueArgs = { /** * Select specific fields to fetch from the CustomerAddress */ select?: CustomerAddressSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerAddressInclude | null /** * Filter, which CustomerAddress to fetch. */ where: CustomerAddressWhereUniqueInput } /** * CustomerAddress findUniqueOrThrow */ export type CustomerAddressFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the CustomerAddress */ select?: CustomerAddressSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerAddressInclude | null /** * Filter, which CustomerAddress to fetch. */ where: CustomerAddressWhereUniqueInput } /** * CustomerAddress findFirst */ export type CustomerAddressFindFirstArgs = { /** * Select specific fields to fetch from the CustomerAddress */ select?: CustomerAddressSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerAddressInclude | null /** * Filter, which CustomerAddress to fetch. */ where?: CustomerAddressWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CustomerAddresses to fetch. */ orderBy?: CustomerAddressOrderByWithRelationInput | CustomerAddressOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for CustomerAddresses. */ cursor?: CustomerAddressWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CustomerAddresses 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` CustomerAddresses. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of CustomerAddresses. */ distinct?: CustomerAddressScalarFieldEnum | CustomerAddressScalarFieldEnum[] } /** * CustomerAddress findFirstOrThrow */ export type CustomerAddressFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the CustomerAddress */ select?: CustomerAddressSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerAddressInclude | null /** * Filter, which CustomerAddress to fetch. */ where?: CustomerAddressWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CustomerAddresses to fetch. */ orderBy?: CustomerAddressOrderByWithRelationInput | CustomerAddressOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for CustomerAddresses. */ cursor?: CustomerAddressWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CustomerAddresses 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` CustomerAddresses. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of CustomerAddresses. */ distinct?: CustomerAddressScalarFieldEnum | CustomerAddressScalarFieldEnum[] } /** * CustomerAddress findMany */ export type CustomerAddressFindManyArgs = { /** * Select specific fields to fetch from the CustomerAddress */ select?: CustomerAddressSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerAddressInclude | null /** * Filter, which CustomerAddresses to fetch. */ where?: CustomerAddressWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CustomerAddresses to fetch. */ orderBy?: CustomerAddressOrderByWithRelationInput | CustomerAddressOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing CustomerAddresses. */ cursor?: CustomerAddressWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CustomerAddresses 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` CustomerAddresses. */ skip?: number distinct?: CustomerAddressScalarFieldEnum | CustomerAddressScalarFieldEnum[] } /** * CustomerAddress create */ export type CustomerAddressCreateArgs = { /** * Select specific fields to fetch from the CustomerAddress */ select?: CustomerAddressSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerAddressInclude | null /** * The data needed to create a CustomerAddress. */ data: XOR } /** * CustomerAddress createMany */ export type CustomerAddressCreateManyArgs = { /** * The data used to create many CustomerAddresses. */ data: CustomerAddressCreateManyInput | CustomerAddressCreateManyInput[] skipDuplicates?: boolean } /** * CustomerAddress createManyAndReturn */ export type CustomerAddressCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the CustomerAddress */ select?: CustomerAddressSelectCreateManyAndReturn | null /** * The data used to create many CustomerAddresses. */ data: CustomerAddressCreateManyInput | CustomerAddressCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: CustomerAddressIncludeCreateManyAndReturn | null } /** * CustomerAddress update */ export type CustomerAddressUpdateArgs = { /** * Select specific fields to fetch from the CustomerAddress */ select?: CustomerAddressSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerAddressInclude | null /** * The data needed to update a CustomerAddress. */ data: XOR /** * Choose, which CustomerAddress to update. */ where: CustomerAddressWhereUniqueInput } /** * CustomerAddress updateMany */ export type CustomerAddressUpdateManyArgs = { /** * The data used to update CustomerAddresses. */ data: XOR /** * Filter which CustomerAddresses to update */ where?: CustomerAddressWhereInput } /** * CustomerAddress upsert */ export type CustomerAddressUpsertArgs = { /** * Select specific fields to fetch from the CustomerAddress */ select?: CustomerAddressSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerAddressInclude | null /** * The filter to search for the CustomerAddress to update in case it exists. */ where: CustomerAddressWhereUniqueInput /** * In case the CustomerAddress found by the `where` argument doesn't exist, create a new CustomerAddress with this data. */ create: XOR /** * In case the CustomerAddress was found with the provided `where` argument, update it with this data. */ update: XOR } /** * CustomerAddress delete */ export type CustomerAddressDeleteArgs = { /** * Select specific fields to fetch from the CustomerAddress */ select?: CustomerAddressSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerAddressInclude | null /** * Filter which CustomerAddress to delete. */ where: CustomerAddressWhereUniqueInput } /** * CustomerAddress deleteMany */ export type CustomerAddressDeleteManyArgs = { /** * Filter which CustomerAddresses to delete */ where?: CustomerAddressWhereInput } /** * CustomerAddress.city */ export type CustomerAddress$cityArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null where?: CityWhereInput } /** * CustomerAddress without action */ export type CustomerAddressDefaultArgs = { /** * Select specific fields to fetch from the CustomerAddress */ select?: CustomerAddressSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerAddressInclude | null } /** * Model Branch */ export type AggregateBranch = { _count: BranchCountAggregateOutputType | null _min: BranchMinAggregateOutputType | null _max: BranchMaxAggregateOutputType | null } export type BranchMinAggregateOutputType = { id: string | null name: string | null address: string | null phone: string | null isActive: boolean | null cityId: string | null } export type BranchMaxAggregateOutputType = { id: string | null name: string | null address: string | null phone: string | null isActive: boolean | null cityId: string | null } export type BranchCountAggregateOutputType = { id: number name: number address: number phone: number isActive: number cityId: number _all: number } export type BranchMinAggregateInputType = { id?: true name?: true address?: true phone?: true isActive?: true cityId?: true } export type BranchMaxAggregateInputType = { id?: true name?: true address?: true phone?: true isActive?: true cityId?: true } export type BranchCountAggregateInputType = { id?: true name?: true address?: true phone?: true isActive?: true cityId?: true _all?: true } export type BranchAggregateArgs = { /** * Filter which Branch to aggregate. */ where?: BranchWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Branches to fetch. */ orderBy?: BranchOrderByWithRelationInput | BranchOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: BranchWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Branches 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` Branches. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Branches **/ _count?: true | BranchCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: BranchMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: BranchMaxAggregateInputType } export type GetBranchAggregateType = { [P in keyof T & keyof AggregateBranch]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type BranchGroupByArgs = { where?: BranchWhereInput orderBy?: BranchOrderByWithAggregationInput | BranchOrderByWithAggregationInput[] by: BranchScalarFieldEnum[] | BranchScalarFieldEnum having?: BranchScalarWhereWithAggregatesInput take?: number skip?: number _count?: BranchCountAggregateInputType | true _min?: BranchMinAggregateInputType _max?: BranchMaxAggregateInputType } export type BranchGroupByOutputType = { id: string name: string address: string | null phone: string | null isActive: boolean cityId: string | null _count: BranchCountAggregateOutputType | null _min: BranchMinAggregateOutputType | null _max: BranchMaxAggregateOutputType | null } type GetBranchGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof BranchGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type BranchSelect = $Extensions.GetSelect<{ id?: boolean name?: boolean address?: boolean phone?: boolean isActive?: boolean cityId?: boolean city?: boolean | Branch$cityArgs adminUsers?: boolean | Branch$adminUsersArgs orders?: boolean | Branch$ordersArgs allocations?: boolean | Branch$allocationsArgs _count?: boolean | BranchCountOutputTypeDefaultArgs }, ExtArgs["result"]["branch"]> export type BranchSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean address?: boolean phone?: boolean isActive?: boolean cityId?: boolean city?: boolean | Branch$cityArgs }, ExtArgs["result"]["branch"]> export type BranchSelectScalar = { id?: boolean name?: boolean address?: boolean phone?: boolean isActive?: boolean cityId?: boolean } export type BranchInclude = { city?: boolean | Branch$cityArgs adminUsers?: boolean | Branch$adminUsersArgs orders?: boolean | Branch$ordersArgs allocations?: boolean | Branch$allocationsArgs _count?: boolean | BranchCountOutputTypeDefaultArgs } export type BranchIncludeCreateManyAndReturn = { city?: boolean | Branch$cityArgs } export type $BranchPayload = { name: "Branch" objects: { city: Prisma.$CityPayload | null adminUsers: Prisma.$AdminUserPayload[] orders: Prisma.$OrderPayload[] allocations: Prisma.$BranchAllocationPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string name: string /** * Legacy Branch.address / phone — both are columns in the branch grid. */ address: string | null phone: string | null /** * Legacy GET branch/active/{id} toggles this. */ isActive: boolean cityId: string | null }, ExtArgs["result"]["branch"]> composites: {} } type BranchGetPayload = $Result.GetResult type BranchCountArgs = Omit & { select?: BranchCountAggregateInputType | true } export interface BranchDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Branch'], meta: { name: 'Branch' } } /** * Find zero or one Branch that matches the filter. * @param {BranchFindUniqueArgs} args - Arguments to find a Branch * @example * // Get one Branch * const branch = await prisma.branch.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__BranchClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Branch that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {BranchFindUniqueOrThrowArgs} args - Arguments to find a Branch * @example * // Get one Branch * const branch = await prisma.branch.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__BranchClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Branch 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 {BranchFindFirstArgs} args - Arguments to find a Branch * @example * // Get one Branch * const branch = await prisma.branch.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__BranchClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Branch 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 {BranchFindFirstOrThrowArgs} args - Arguments to find a Branch * @example * // Get one Branch * const branch = await prisma.branch.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__BranchClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Branches 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 {BranchFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Branches * const branches = await prisma.branch.findMany() * * // Get first 10 Branches * const branches = await prisma.branch.findMany({ take: 10 }) * * // Only select the `id` * const branchWithIdOnly = await prisma.branch.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Branch. * @param {BranchCreateArgs} args - Arguments to create a Branch. * @example * // Create one Branch * const Branch = await prisma.branch.create({ * data: { * // ... data to create a Branch * } * }) * */ create(args: SelectSubset>): Prisma__BranchClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Branches. * @param {BranchCreateManyArgs} args - Arguments to create many Branches. * @example * // Create many Branches * const branch = await prisma.branch.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Branches and returns the data saved in the database. * @param {BranchCreateManyAndReturnArgs} args - Arguments to create many Branches. * @example * // Create many Branches * const branch = await prisma.branch.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Branches and only return the `id` * const branchWithIdOnly = await prisma.branch.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Branch. * @param {BranchDeleteArgs} args - Arguments to delete one Branch. * @example * // Delete one Branch * const Branch = await prisma.branch.delete({ * where: { * // ... filter to delete one Branch * } * }) * */ delete(args: SelectSubset>): Prisma__BranchClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Branch. * @param {BranchUpdateArgs} args - Arguments to update one Branch. * @example * // Update one Branch * const branch = await prisma.branch.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__BranchClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Branches. * @param {BranchDeleteManyArgs} args - Arguments to filter Branches to delete. * @example * // Delete a few Branches * const { count } = await prisma.branch.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Branches. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BranchUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Branches * const branch = await prisma.branch.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Branch. * @param {BranchUpsertArgs} args - Arguments to update or create a Branch. * @example * // Update or create a Branch * const branch = await prisma.branch.upsert({ * create: { * // ... data to create a Branch * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Branch we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__BranchClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Branches. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BranchCountArgs} args - Arguments to filter Branches to count. * @example * // Count the number of Branches * const count = await prisma.branch.count({ * where: { * // ... the filter for the Branches we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Branch. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BranchAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by Branch. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BranchGroupByArgs} 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 BranchGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: BranchGroupByArgs['orderBy'] } : { orderBy?: BranchGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetBranchGroupByPayload : Prisma.PrismaPromise /** * Fields of the Branch model */ readonly fields: BranchFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Branch. * 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__BranchClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" city = {}>(args?: Subset>): Prisma__CityClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> adminUsers = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> orders = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> allocations = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the Branch model */ interface BranchFieldRefs { readonly id: FieldRef<"Branch", 'String'> readonly name: FieldRef<"Branch", 'String'> readonly address: FieldRef<"Branch", 'String'> readonly phone: FieldRef<"Branch", 'String'> readonly isActive: FieldRef<"Branch", 'Boolean'> readonly cityId: FieldRef<"Branch", 'String'> } // Custom InputTypes /** * Branch findUnique */ export type BranchFindUniqueArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchInclude | null /** * Filter, which Branch to fetch. */ where: BranchWhereUniqueInput } /** * Branch findUniqueOrThrow */ export type BranchFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchInclude | null /** * Filter, which Branch to fetch. */ where: BranchWhereUniqueInput } /** * Branch findFirst */ export type BranchFindFirstArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchInclude | null /** * Filter, which Branch to fetch. */ where?: BranchWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Branches to fetch. */ orderBy?: BranchOrderByWithRelationInput | BranchOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Branches. */ cursor?: BranchWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Branches 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` Branches. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Branches. */ distinct?: BranchScalarFieldEnum | BranchScalarFieldEnum[] } /** * Branch findFirstOrThrow */ export type BranchFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchInclude | null /** * Filter, which Branch to fetch. */ where?: BranchWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Branches to fetch. */ orderBy?: BranchOrderByWithRelationInput | BranchOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Branches. */ cursor?: BranchWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Branches 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` Branches. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Branches. */ distinct?: BranchScalarFieldEnum | BranchScalarFieldEnum[] } /** * Branch findMany */ export type BranchFindManyArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchInclude | null /** * Filter, which Branches to fetch. */ where?: BranchWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Branches to fetch. */ orderBy?: BranchOrderByWithRelationInput | BranchOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Branches. */ cursor?: BranchWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Branches 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` Branches. */ skip?: number distinct?: BranchScalarFieldEnum | BranchScalarFieldEnum[] } /** * Branch create */ export type BranchCreateArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchInclude | null /** * The data needed to create a Branch. */ data: XOR } /** * Branch createMany */ export type BranchCreateManyArgs = { /** * The data used to create many Branches. */ data: BranchCreateManyInput | BranchCreateManyInput[] skipDuplicates?: boolean } /** * Branch createManyAndReturn */ export type BranchCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelectCreateManyAndReturn | null /** * The data used to create many Branches. */ data: BranchCreateManyInput | BranchCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: BranchIncludeCreateManyAndReturn | null } /** * Branch update */ export type BranchUpdateArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchInclude | null /** * The data needed to update a Branch. */ data: XOR /** * Choose, which Branch to update. */ where: BranchWhereUniqueInput } /** * Branch updateMany */ export type BranchUpdateManyArgs = { /** * The data used to update Branches. */ data: XOR /** * Filter which Branches to update */ where?: BranchWhereInput } /** * Branch upsert */ export type BranchUpsertArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchInclude | null /** * The filter to search for the Branch to update in case it exists. */ where: BranchWhereUniqueInput /** * In case the Branch found by the `where` argument doesn't exist, create a new Branch with this data. */ create: XOR /** * In case the Branch was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Branch delete */ export type BranchDeleteArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchInclude | null /** * Filter which Branch to delete. */ where: BranchWhereUniqueInput } /** * Branch deleteMany */ export type BranchDeleteManyArgs = { /** * Filter which Branches to delete */ where?: BranchWhereInput } /** * Branch.city */ export type Branch$cityArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null where?: CityWhereInput } /** * Branch.adminUsers */ export type Branch$adminUsersArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null where?: AdminUserWhereInput orderBy?: AdminUserOrderByWithRelationInput | AdminUserOrderByWithRelationInput[] cursor?: AdminUserWhereUniqueInput take?: number skip?: number distinct?: AdminUserScalarFieldEnum | AdminUserScalarFieldEnum[] } /** * Branch.orders */ export type Branch$ordersArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null where?: OrderWhereInput orderBy?: OrderOrderByWithRelationInput | OrderOrderByWithRelationInput[] cursor?: OrderWhereUniqueInput take?: number skip?: number distinct?: OrderScalarFieldEnum | OrderScalarFieldEnum[] } /** * Branch.allocations */ export type Branch$allocationsArgs = { /** * Select specific fields to fetch from the BranchAllocation */ select?: BranchAllocationSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationInclude | null where?: BranchAllocationWhereInput orderBy?: BranchAllocationOrderByWithRelationInput | BranchAllocationOrderByWithRelationInput[] cursor?: BranchAllocationWhereUniqueInput take?: number skip?: number distinct?: BranchAllocationScalarFieldEnum | BranchAllocationScalarFieldEnum[] } /** * Branch without action */ export type BranchDefaultArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchInclude | null } /** * Model Workshop */ export type AggregateWorkshop = { _count: WorkshopCountAggregateOutputType | null _min: WorkshopMinAggregateOutputType | null _max: WorkshopMaxAggregateOutputType | null } export type WorkshopMinAggregateOutputType = { id: string | null name: string | null address: string | null phone: string | null supervisorId: string | null isActive: boolean | null } export type WorkshopMaxAggregateOutputType = { id: string | null name: string | null address: string | null phone: string | null supervisorId: string | null isActive: boolean | null } export type WorkshopCountAggregateOutputType = { id: number name: number address: number phone: number supervisorId: number isActive: number _all: number } export type WorkshopMinAggregateInputType = { id?: true name?: true address?: true phone?: true supervisorId?: true isActive?: true } export type WorkshopMaxAggregateInputType = { id?: true name?: true address?: true phone?: true supervisorId?: true isActive?: true } export type WorkshopCountAggregateInputType = { id?: true name?: true address?: true phone?: true supervisorId?: true isActive?: true _all?: true } export type WorkshopAggregateArgs = { /** * Filter which Workshop to aggregate. */ where?: WorkshopWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Workshops to fetch. */ orderBy?: WorkshopOrderByWithRelationInput | WorkshopOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: WorkshopWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Workshops 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` Workshops. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Workshops **/ _count?: true | WorkshopCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: WorkshopMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: WorkshopMaxAggregateInputType } export type GetWorkshopAggregateType = { [P in keyof T & keyof AggregateWorkshop]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type WorkshopGroupByArgs = { where?: WorkshopWhereInput orderBy?: WorkshopOrderByWithAggregationInput | WorkshopOrderByWithAggregationInput[] by: WorkshopScalarFieldEnum[] | WorkshopScalarFieldEnum having?: WorkshopScalarWhereWithAggregatesInput take?: number skip?: number _count?: WorkshopCountAggregateInputType | true _min?: WorkshopMinAggregateInputType _max?: WorkshopMaxAggregateInputType } export type WorkshopGroupByOutputType = { id: string name: string address: string | null phone: string | null supervisorId: string | null isActive: boolean _count: WorkshopCountAggregateOutputType | null _min: WorkshopMinAggregateOutputType | null _max: WorkshopMaxAggregateOutputType | null } type GetWorkshopGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof WorkshopGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type WorkshopSelect = $Extensions.GetSelect<{ id?: boolean name?: boolean address?: boolean phone?: boolean supervisorId?: boolean isActive?: boolean supervisor?: boolean | Workshop$supervisorArgs preOrders?: boolean | Workshop$preOrdersArgs _count?: boolean | WorkshopCountOutputTypeDefaultArgs }, ExtArgs["result"]["workshop"]> export type WorkshopSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean address?: boolean phone?: boolean supervisorId?: boolean isActive?: boolean supervisor?: boolean | Workshop$supervisorArgs }, ExtArgs["result"]["workshop"]> export type WorkshopSelectScalar = { id?: boolean name?: boolean address?: boolean phone?: boolean supervisorId?: boolean isActive?: boolean } export type WorkshopInclude = { supervisor?: boolean | Workshop$supervisorArgs preOrders?: boolean | Workshop$preOrdersArgs _count?: boolean | WorkshopCountOutputTypeDefaultArgs } export type WorkshopIncludeCreateManyAndReturn = { supervisor?: boolean | Workshop$supervisorArgs } export type $WorkshopPayload = { name: "Workshop" objects: { supervisor: Prisma.$AdminUserPayload | null preOrders: Prisma.$PreOrderPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string name: string /** * Legacy Workshop.address / phone — both are columns in the workshop grid. */ address: string | null phone: string | null /** * The supervisor created alongside the workshop by the legacy Add form. */ supervisorId: string | null isActive: boolean }, ExtArgs["result"]["workshop"]> composites: {} } type WorkshopGetPayload = $Result.GetResult type WorkshopCountArgs = Omit & { select?: WorkshopCountAggregateInputType | true } export interface WorkshopDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Workshop'], meta: { name: 'Workshop' } } /** * Find zero or one Workshop that matches the filter. * @param {WorkshopFindUniqueArgs} args - Arguments to find a Workshop * @example * // Get one Workshop * const workshop = await prisma.workshop.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__WorkshopClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Workshop that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {WorkshopFindUniqueOrThrowArgs} args - Arguments to find a Workshop * @example * // Get one Workshop * const workshop = await prisma.workshop.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__WorkshopClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Workshop 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 {WorkshopFindFirstArgs} args - Arguments to find a Workshop * @example * // Get one Workshop * const workshop = await prisma.workshop.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__WorkshopClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Workshop 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 {WorkshopFindFirstOrThrowArgs} args - Arguments to find a Workshop * @example * // Get one Workshop * const workshop = await prisma.workshop.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__WorkshopClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Workshops 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 {WorkshopFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Workshops * const workshops = await prisma.workshop.findMany() * * // Get first 10 Workshops * const workshops = await prisma.workshop.findMany({ take: 10 }) * * // Only select the `id` * const workshopWithIdOnly = await prisma.workshop.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Workshop. * @param {WorkshopCreateArgs} args - Arguments to create a Workshop. * @example * // Create one Workshop * const Workshop = await prisma.workshop.create({ * data: { * // ... data to create a Workshop * } * }) * */ create(args: SelectSubset>): Prisma__WorkshopClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Workshops. * @param {WorkshopCreateManyArgs} args - Arguments to create many Workshops. * @example * // Create many Workshops * const workshop = await prisma.workshop.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Workshops and returns the data saved in the database. * @param {WorkshopCreateManyAndReturnArgs} args - Arguments to create many Workshops. * @example * // Create many Workshops * const workshop = await prisma.workshop.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Workshops and only return the `id` * const workshopWithIdOnly = await prisma.workshop.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Workshop. * @param {WorkshopDeleteArgs} args - Arguments to delete one Workshop. * @example * // Delete one Workshop * const Workshop = await prisma.workshop.delete({ * where: { * // ... filter to delete one Workshop * } * }) * */ delete(args: SelectSubset>): Prisma__WorkshopClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Workshop. * @param {WorkshopUpdateArgs} args - Arguments to update one Workshop. * @example * // Update one Workshop * const workshop = await prisma.workshop.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__WorkshopClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Workshops. * @param {WorkshopDeleteManyArgs} args - Arguments to filter Workshops to delete. * @example * // Delete a few Workshops * const { count } = await prisma.workshop.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Workshops. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WorkshopUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Workshops * const workshop = await prisma.workshop.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Workshop. * @param {WorkshopUpsertArgs} args - Arguments to update or create a Workshop. * @example * // Update or create a Workshop * const workshop = await prisma.workshop.upsert({ * create: { * // ... data to create a Workshop * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Workshop we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__WorkshopClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Workshops. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WorkshopCountArgs} args - Arguments to filter Workshops to count. * @example * // Count the number of Workshops * const count = await prisma.workshop.count({ * where: { * // ... the filter for the Workshops we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Workshop. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WorkshopAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by Workshop. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WorkshopGroupByArgs} 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 WorkshopGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: WorkshopGroupByArgs['orderBy'] } : { orderBy?: WorkshopGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetWorkshopGroupByPayload : Prisma.PrismaPromise /** * Fields of the Workshop model */ readonly fields: WorkshopFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Workshop. * 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__WorkshopClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" supervisor = {}>(args?: Subset>): Prisma__AdminUserClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> preOrders = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the Workshop model */ interface WorkshopFieldRefs { readonly id: FieldRef<"Workshop", 'String'> readonly name: FieldRef<"Workshop", 'String'> readonly address: FieldRef<"Workshop", 'String'> readonly phone: FieldRef<"Workshop", 'String'> readonly supervisorId: FieldRef<"Workshop", 'String'> readonly isActive: FieldRef<"Workshop", 'Boolean'> } // Custom InputTypes /** * Workshop findUnique */ export type WorkshopFindUniqueArgs = { /** * Select specific fields to fetch from the Workshop */ select?: WorkshopSelect | null /** * Choose, which related nodes to fetch as well */ include?: WorkshopInclude | null /** * Filter, which Workshop to fetch. */ where: WorkshopWhereUniqueInput } /** * Workshop findUniqueOrThrow */ export type WorkshopFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Workshop */ select?: WorkshopSelect | null /** * Choose, which related nodes to fetch as well */ include?: WorkshopInclude | null /** * Filter, which Workshop to fetch. */ where: WorkshopWhereUniqueInput } /** * Workshop findFirst */ export type WorkshopFindFirstArgs = { /** * Select specific fields to fetch from the Workshop */ select?: WorkshopSelect | null /** * Choose, which related nodes to fetch as well */ include?: WorkshopInclude | null /** * Filter, which Workshop to fetch. */ where?: WorkshopWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Workshops to fetch. */ orderBy?: WorkshopOrderByWithRelationInput | WorkshopOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Workshops. */ cursor?: WorkshopWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Workshops 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` Workshops. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Workshops. */ distinct?: WorkshopScalarFieldEnum | WorkshopScalarFieldEnum[] } /** * Workshop findFirstOrThrow */ export type WorkshopFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Workshop */ select?: WorkshopSelect | null /** * Choose, which related nodes to fetch as well */ include?: WorkshopInclude | null /** * Filter, which Workshop to fetch. */ where?: WorkshopWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Workshops to fetch. */ orderBy?: WorkshopOrderByWithRelationInput | WorkshopOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Workshops. */ cursor?: WorkshopWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Workshops 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` Workshops. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Workshops. */ distinct?: WorkshopScalarFieldEnum | WorkshopScalarFieldEnum[] } /** * Workshop findMany */ export type WorkshopFindManyArgs = { /** * Select specific fields to fetch from the Workshop */ select?: WorkshopSelect | null /** * Choose, which related nodes to fetch as well */ include?: WorkshopInclude | null /** * Filter, which Workshops to fetch. */ where?: WorkshopWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Workshops to fetch. */ orderBy?: WorkshopOrderByWithRelationInput | WorkshopOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Workshops. */ cursor?: WorkshopWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Workshops 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` Workshops. */ skip?: number distinct?: WorkshopScalarFieldEnum | WorkshopScalarFieldEnum[] } /** * Workshop create */ export type WorkshopCreateArgs = { /** * Select specific fields to fetch from the Workshop */ select?: WorkshopSelect | null /** * Choose, which related nodes to fetch as well */ include?: WorkshopInclude | null /** * The data needed to create a Workshop. */ data: XOR } /** * Workshop createMany */ export type WorkshopCreateManyArgs = { /** * The data used to create many Workshops. */ data: WorkshopCreateManyInput | WorkshopCreateManyInput[] skipDuplicates?: boolean } /** * Workshop createManyAndReturn */ export type WorkshopCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Workshop */ select?: WorkshopSelectCreateManyAndReturn | null /** * The data used to create many Workshops. */ data: WorkshopCreateManyInput | WorkshopCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: WorkshopIncludeCreateManyAndReturn | null } /** * Workshop update */ export type WorkshopUpdateArgs = { /** * Select specific fields to fetch from the Workshop */ select?: WorkshopSelect | null /** * Choose, which related nodes to fetch as well */ include?: WorkshopInclude | null /** * The data needed to update a Workshop. */ data: XOR /** * Choose, which Workshop to update. */ where: WorkshopWhereUniqueInput } /** * Workshop updateMany */ export type WorkshopUpdateManyArgs = { /** * The data used to update Workshops. */ data: XOR /** * Filter which Workshops to update */ where?: WorkshopWhereInput } /** * Workshop upsert */ export type WorkshopUpsertArgs = { /** * Select specific fields to fetch from the Workshop */ select?: WorkshopSelect | null /** * Choose, which related nodes to fetch as well */ include?: WorkshopInclude | null /** * The filter to search for the Workshop to update in case it exists. */ where: WorkshopWhereUniqueInput /** * In case the Workshop found by the `where` argument doesn't exist, create a new Workshop with this data. */ create: XOR /** * In case the Workshop was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Workshop delete */ export type WorkshopDeleteArgs = { /** * Select specific fields to fetch from the Workshop */ select?: WorkshopSelect | null /** * Choose, which related nodes to fetch as well */ include?: WorkshopInclude | null /** * Filter which Workshop to delete. */ where: WorkshopWhereUniqueInput } /** * Workshop deleteMany */ export type WorkshopDeleteManyArgs = { /** * Filter which Workshops to delete */ where?: WorkshopWhereInput } /** * Workshop.supervisor */ export type Workshop$supervisorArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null where?: AdminUserWhereInput } /** * Workshop.preOrders */ export type Workshop$preOrdersArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null where?: PreOrderWhereInput orderBy?: PreOrderOrderByWithRelationInput | PreOrderOrderByWithRelationInput[] cursor?: PreOrderWhereUniqueInput take?: number skip?: number distinct?: PreOrderScalarFieldEnum | PreOrderScalarFieldEnum[] } /** * Workshop without action */ export type WorkshopDefaultArgs = { /** * Select specific fields to fetch from the Workshop */ select?: WorkshopSelect | null /** * Choose, which related nodes to fetch as well */ include?: WorkshopInclude | null } /** * Model Category */ export type AggregateCategory = { _count: CategoryCountAggregateOutputType | null _avg: CategoryAvgAggregateOutputType | null _sum: CategorySumAggregateOutputType | null _min: CategoryMinAggregateOutputType | null _max: CategoryMaxAggregateOutputType | null } export type CategoryAvgAggregateOutputType = { type: number | null } export type CategorySumAggregateOutputType = { type: number | null } export type CategoryMinAggregateOutputType = { id: string | null title: string | null type: number | null imageUrl: string | null iconUrl: string | null metaTag: string | null description: string | null parentId: string | null } export type CategoryMaxAggregateOutputType = { id: string | null title: string | null type: number | null imageUrl: string | null iconUrl: string | null metaTag: string | null description: string | null parentId: string | null } export type CategoryCountAggregateOutputType = { id: number title: number type: number imageUrl: number iconUrl: number metaTag: number description: number parentId: number _all: number } export type CategoryAvgAggregateInputType = { type?: true } export type CategorySumAggregateInputType = { type?: true } export type CategoryMinAggregateInputType = { id?: true title?: true type?: true imageUrl?: true iconUrl?: true metaTag?: true description?: true parentId?: true } export type CategoryMaxAggregateInputType = { id?: true title?: true type?: true imageUrl?: true iconUrl?: true metaTag?: true description?: true parentId?: true } export type CategoryCountAggregateInputType = { id?: true title?: true type?: true imageUrl?: true iconUrl?: true metaTag?: true description?: true parentId?: true _all?: true } export type CategoryAggregateArgs = { /** * Filter which Category to aggregate. */ where?: CategoryWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Categories to fetch. */ orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: CategoryWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Categories 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` Categories. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Categories **/ _count?: true | CategoryCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: CategoryAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: CategorySumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: CategoryMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: CategoryMaxAggregateInputType } export type GetCategoryAggregateType = { [P in keyof T & keyof AggregateCategory]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type CategoryGroupByArgs = { where?: CategoryWhereInput orderBy?: CategoryOrderByWithAggregationInput | CategoryOrderByWithAggregationInput[] by: CategoryScalarFieldEnum[] | CategoryScalarFieldEnum having?: CategoryScalarWhereWithAggregatesInput take?: number skip?: number _count?: CategoryCountAggregateInputType | true _avg?: CategoryAvgAggregateInputType _sum?: CategorySumAggregateInputType _min?: CategoryMinAggregateInputType _max?: CategoryMaxAggregateInputType } export type CategoryGroupByOutputType = { id: string title: string type: number imageUrl: string | null iconUrl: string | null metaTag: string | null description: string | null parentId: string | null _count: CategoryCountAggregateOutputType | null _avg: CategoryAvgAggregateOutputType | null _sum: CategorySumAggregateOutputType | null _min: CategoryMinAggregateOutputType | null _max: CategoryMaxAggregateOutputType | null } type GetCategoryGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof CategoryGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type CategorySelect = $Extensions.GetSelect<{ id?: boolean title?: boolean type?: boolean imageUrl?: boolean iconUrl?: boolean metaTag?: boolean description?: boolean parentId?: boolean parent?: boolean | Category$parentArgs children?: boolean | Category$childrenArgs products?: boolean | Category$productsArgs promotions?: boolean | Category$promotionsArgs _count?: boolean | CategoryCountOutputTypeDefaultArgs }, ExtArgs["result"]["category"]> export type CategorySelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean title?: boolean type?: boolean imageUrl?: boolean iconUrl?: boolean metaTag?: boolean description?: boolean parentId?: boolean parent?: boolean | Category$parentArgs }, ExtArgs["result"]["category"]> export type CategorySelectScalar = { id?: boolean title?: boolean type?: boolean imageUrl?: boolean iconUrl?: boolean metaTag?: boolean description?: boolean parentId?: boolean } export type CategoryInclude = { parent?: boolean | Category$parentArgs children?: boolean | Category$childrenArgs products?: boolean | Category$productsArgs promotions?: boolean | Category$promotionsArgs _count?: boolean | CategoryCountOutputTypeDefaultArgs } export type CategoryIncludeCreateManyAndReturn = { parent?: boolean | Category$parentArgs } export type $CategoryPayload = { name: "Category" objects: { parent: Prisma.$CategoryPayload | null children: Prisma.$CategoryPayload[] products: Prisma.$ProductPayload[] promotions: Prisma.$PromotionPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string title: string /** * Legacy Category.type — which storefront the category belongs to: * 1 سایت | 2 اپلیکشن موبایل. Drives the "type_str" grid column. */ type: number /** * Legacy Category.image / icon — the grid renders the image, the storefront the icon. */ imageUrl: string | null iconUrl: string | null /** * Legacy meta tag + description, used for SEO on the site categories. */ metaTag: string | null description: string | null parentId: string | null }, ExtArgs["result"]["category"]> composites: {} } type CategoryGetPayload = $Result.GetResult type CategoryCountArgs = Omit & { select?: CategoryCountAggregateInputType | true } export interface CategoryDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Category'], meta: { name: 'Category' } } /** * Find zero or one Category that matches the filter. * @param {CategoryFindUniqueArgs} args - Arguments to find a Category * @example * // Get one Category * const category = await prisma.category.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Category that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {CategoryFindUniqueOrThrowArgs} args - Arguments to find a Category * @example * // Get one Category * const category = await prisma.category.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Category 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 {CategoryFindFirstArgs} args - Arguments to find a Category * @example * // Get one Category * const category = await prisma.category.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Category 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 {CategoryFindFirstOrThrowArgs} args - Arguments to find a Category * @example * // Get one Category * const category = await prisma.category.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Categories 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 {CategoryFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Categories * const categories = await prisma.category.findMany() * * // Get first 10 Categories * const categories = await prisma.category.findMany({ take: 10 }) * * // Only select the `id` * const categoryWithIdOnly = await prisma.category.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Category. * @param {CategoryCreateArgs} args - Arguments to create a Category. * @example * // Create one Category * const Category = await prisma.category.create({ * data: { * // ... data to create a Category * } * }) * */ create(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Categories. * @param {CategoryCreateManyArgs} args - Arguments to create many Categories. * @example * // Create many Categories * const category = await prisma.category.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Categories and returns the data saved in the database. * @param {CategoryCreateManyAndReturnArgs} args - Arguments to create many Categories. * @example * // Create many Categories * const category = await prisma.category.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Categories and only return the `id` * const categoryWithIdOnly = await prisma.category.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Category. * @param {CategoryDeleteArgs} args - Arguments to delete one Category. * @example * // Delete one Category * const Category = await prisma.category.delete({ * where: { * // ... filter to delete one Category * } * }) * */ delete(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Category. * @param {CategoryUpdateArgs} args - Arguments to update one Category. * @example * // Update one Category * const category = await prisma.category.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Categories. * @param {CategoryDeleteManyArgs} args - Arguments to filter Categories to delete. * @example * // Delete a few Categories * const { count } = await prisma.category.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Categories. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CategoryUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Categories * const category = await prisma.category.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Category. * @param {CategoryUpsertArgs} args - Arguments to update or create a Category. * @example * // Update or create a Category * const category = await prisma.category.upsert({ * create: { * // ... data to create a Category * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Category we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Categories. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CategoryCountArgs} args - Arguments to filter Categories to count. * @example * // Count the number of Categories * const count = await prisma.category.count({ * where: { * // ... the filter for the Categories we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Category. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CategoryAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by Category. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CategoryGroupByArgs} 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 CategoryGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: CategoryGroupByArgs['orderBy'] } : { orderBy?: CategoryGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCategoryGroupByPayload : Prisma.PrismaPromise /** * Fields of the Category model */ readonly fields: CategoryFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Category. * 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__CategoryClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" parent = {}>(args?: Subset>): Prisma__CategoryClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> children = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> products = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> promotions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the Category model */ interface CategoryFieldRefs { readonly id: FieldRef<"Category", 'String'> readonly title: FieldRef<"Category", 'String'> readonly type: FieldRef<"Category", 'Int'> readonly imageUrl: FieldRef<"Category", 'String'> readonly iconUrl: FieldRef<"Category", 'String'> readonly metaTag: FieldRef<"Category", 'String'> readonly description: FieldRef<"Category", 'String'> readonly parentId: FieldRef<"Category", 'String'> } // Custom InputTypes /** * Category findUnique */ export type CategoryFindUniqueArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * Filter, which Category to fetch. */ where: CategoryWhereUniqueInput } /** * Category findUniqueOrThrow */ export type CategoryFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * Filter, which Category to fetch. */ where: CategoryWhereUniqueInput } /** * Category findFirst */ export type CategoryFindFirstArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * Filter, which Category to fetch. */ where?: CategoryWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Categories to fetch. */ orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Categories. */ cursor?: CategoryWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Categories 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` Categories. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Categories. */ distinct?: CategoryScalarFieldEnum | CategoryScalarFieldEnum[] } /** * Category findFirstOrThrow */ export type CategoryFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * Filter, which Category to fetch. */ where?: CategoryWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Categories to fetch. */ orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Categories. */ cursor?: CategoryWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Categories 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` Categories. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Categories. */ distinct?: CategoryScalarFieldEnum | CategoryScalarFieldEnum[] } /** * Category findMany */ export type CategoryFindManyArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * Filter, which Categories to fetch. */ where?: CategoryWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Categories to fetch. */ orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Categories. */ cursor?: CategoryWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Categories 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` Categories. */ skip?: number distinct?: CategoryScalarFieldEnum | CategoryScalarFieldEnum[] } /** * Category create */ export type CategoryCreateArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * The data needed to create a Category. */ data: XOR } /** * Category createMany */ export type CategoryCreateManyArgs = { /** * The data used to create many Categories. */ data: CategoryCreateManyInput | CategoryCreateManyInput[] skipDuplicates?: boolean } /** * Category createManyAndReturn */ export type CategoryCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelectCreateManyAndReturn | null /** * The data used to create many Categories. */ data: CategoryCreateManyInput | CategoryCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: CategoryIncludeCreateManyAndReturn | null } /** * Category update */ export type CategoryUpdateArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * The data needed to update a Category. */ data: XOR /** * Choose, which Category to update. */ where: CategoryWhereUniqueInput } /** * Category updateMany */ export type CategoryUpdateManyArgs = { /** * The data used to update Categories. */ data: XOR /** * Filter which Categories to update */ where?: CategoryWhereInput } /** * Category upsert */ export type CategoryUpsertArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * The filter to search for the Category to update in case it exists. */ where: CategoryWhereUniqueInput /** * In case the Category found by the `where` argument doesn't exist, create a new Category with this data. */ create: XOR /** * In case the Category was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Category delete */ export type CategoryDeleteArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * Filter which Category to delete. */ where: CategoryWhereUniqueInput } /** * Category deleteMany */ export type CategoryDeleteManyArgs = { /** * Filter which Categories to delete */ where?: CategoryWhereInput } /** * Category.parent */ export type Category$parentArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null where?: CategoryWhereInput } /** * Category.children */ export type Category$childrenArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null where?: CategoryWhereInput orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] cursor?: CategoryWhereUniqueInput take?: number skip?: number distinct?: CategoryScalarFieldEnum | CategoryScalarFieldEnum[] } /** * Category.products */ export type Category$productsArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null where?: ProductWhereInput orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] cursor?: ProductWhereUniqueInput take?: number skip?: number distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] } /** * Category.promotions */ export type Category$promotionsArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null where?: PromotionWhereInput orderBy?: PromotionOrderByWithRelationInput | PromotionOrderByWithRelationInput[] cursor?: PromotionWhereUniqueInput take?: number skip?: number distinct?: PromotionScalarFieldEnum | PromotionScalarFieldEnum[] } /** * Category without action */ export type CategoryDefaultArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null } /** * Model Brand */ export type AggregateBrand = { _count: BrandCountAggregateOutputType | null _min: BrandMinAggregateOutputType | null _max: BrandMaxAggregateOutputType | null } export type BrandMinAggregateOutputType = { id: string | null title: string | null } export type BrandMaxAggregateOutputType = { id: string | null title: string | null } export type BrandCountAggregateOutputType = { id: number title: number _all: number } export type BrandMinAggregateInputType = { id?: true title?: true } export type BrandMaxAggregateInputType = { id?: true title?: true } export type BrandCountAggregateInputType = { id?: true title?: true _all?: true } export type BrandAggregateArgs = { /** * Filter which Brand to aggregate. */ where?: BrandWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Brands to fetch. */ orderBy?: BrandOrderByWithRelationInput | BrandOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: BrandWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Brands 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` Brands. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Brands **/ _count?: true | BrandCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: BrandMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: BrandMaxAggregateInputType } export type GetBrandAggregateType = { [P in keyof T & keyof AggregateBrand]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type BrandGroupByArgs = { where?: BrandWhereInput orderBy?: BrandOrderByWithAggregationInput | BrandOrderByWithAggregationInput[] by: BrandScalarFieldEnum[] | BrandScalarFieldEnum having?: BrandScalarWhereWithAggregatesInput take?: number skip?: number _count?: BrandCountAggregateInputType | true _min?: BrandMinAggregateInputType _max?: BrandMaxAggregateInputType } export type BrandGroupByOutputType = { id: string title: string _count: BrandCountAggregateOutputType | null _min: BrandMinAggregateOutputType | null _max: BrandMaxAggregateOutputType | null } type GetBrandGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof BrandGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type BrandSelect = $Extensions.GetSelect<{ id?: boolean title?: boolean products?: boolean | Brand$productsArgs promotions?: boolean | Brand$promotionsArgs _count?: boolean | BrandCountOutputTypeDefaultArgs }, ExtArgs["result"]["brand"]> export type BrandSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean title?: boolean }, ExtArgs["result"]["brand"]> export type BrandSelectScalar = { id?: boolean title?: boolean } export type BrandInclude = { products?: boolean | Brand$productsArgs promotions?: boolean | Brand$promotionsArgs _count?: boolean | BrandCountOutputTypeDefaultArgs } export type BrandIncludeCreateManyAndReturn = {} export type $BrandPayload = { name: "Brand" objects: { products: Prisma.$ProductPayload[] promotions: Prisma.$PromotionPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string title: string }, ExtArgs["result"]["brand"]> composites: {} } type BrandGetPayload = $Result.GetResult type BrandCountArgs = Omit & { select?: BrandCountAggregateInputType | true } export interface BrandDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Brand'], meta: { name: 'Brand' } } /** * Find zero or one Brand that matches the filter. * @param {BrandFindUniqueArgs} args - Arguments to find a Brand * @example * // Get one Brand * const brand = await prisma.brand.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__BrandClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Brand that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {BrandFindUniqueOrThrowArgs} args - Arguments to find a Brand * @example * // Get one Brand * const brand = await prisma.brand.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__BrandClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Brand 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 {BrandFindFirstArgs} args - Arguments to find a Brand * @example * // Get one Brand * const brand = await prisma.brand.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__BrandClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Brand 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 {BrandFindFirstOrThrowArgs} args - Arguments to find a Brand * @example * // Get one Brand * const brand = await prisma.brand.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__BrandClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Brands 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 {BrandFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Brands * const brands = await prisma.brand.findMany() * * // Get first 10 Brands * const brands = await prisma.brand.findMany({ take: 10 }) * * // Only select the `id` * const brandWithIdOnly = await prisma.brand.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Brand. * @param {BrandCreateArgs} args - Arguments to create a Brand. * @example * // Create one Brand * const Brand = await prisma.brand.create({ * data: { * // ... data to create a Brand * } * }) * */ create(args: SelectSubset>): Prisma__BrandClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Brands. * @param {BrandCreateManyArgs} args - Arguments to create many Brands. * @example * // Create many Brands * const brand = await prisma.brand.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Brands and returns the data saved in the database. * @param {BrandCreateManyAndReturnArgs} args - Arguments to create many Brands. * @example * // Create many Brands * const brand = await prisma.brand.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Brands and only return the `id` * const brandWithIdOnly = await prisma.brand.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Brand. * @param {BrandDeleteArgs} args - Arguments to delete one Brand. * @example * // Delete one Brand * const Brand = await prisma.brand.delete({ * where: { * // ... filter to delete one Brand * } * }) * */ delete(args: SelectSubset>): Prisma__BrandClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Brand. * @param {BrandUpdateArgs} args - Arguments to update one Brand. * @example * // Update one Brand * const brand = await prisma.brand.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__BrandClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Brands. * @param {BrandDeleteManyArgs} args - Arguments to filter Brands to delete. * @example * // Delete a few Brands * const { count } = await prisma.brand.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Brands. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BrandUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Brands * const brand = await prisma.brand.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Brand. * @param {BrandUpsertArgs} args - Arguments to update or create a Brand. * @example * // Update or create a Brand * const brand = await prisma.brand.upsert({ * create: { * // ... data to create a Brand * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Brand we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__BrandClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Brands. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BrandCountArgs} args - Arguments to filter Brands to count. * @example * // Count the number of Brands * const count = await prisma.brand.count({ * where: { * // ... the filter for the Brands we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Brand. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BrandAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by Brand. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BrandGroupByArgs} 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 BrandGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: BrandGroupByArgs['orderBy'] } : { orderBy?: BrandGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetBrandGroupByPayload : Prisma.PrismaPromise /** * Fields of the Brand model */ readonly fields: BrandFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Brand. * 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__BrandClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" products = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> promotions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the Brand model */ interface BrandFieldRefs { readonly id: FieldRef<"Brand", 'String'> readonly title: FieldRef<"Brand", 'String'> } // Custom InputTypes /** * Brand findUnique */ export type BrandFindUniqueArgs = { /** * Select specific fields to fetch from the Brand */ select?: BrandSelect | null /** * Choose, which related nodes to fetch as well */ include?: BrandInclude | null /** * Filter, which Brand to fetch. */ where: BrandWhereUniqueInput } /** * Brand findUniqueOrThrow */ export type BrandFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Brand */ select?: BrandSelect | null /** * Choose, which related nodes to fetch as well */ include?: BrandInclude | null /** * Filter, which Brand to fetch. */ where: BrandWhereUniqueInput } /** * Brand findFirst */ export type BrandFindFirstArgs = { /** * Select specific fields to fetch from the Brand */ select?: BrandSelect | null /** * Choose, which related nodes to fetch as well */ include?: BrandInclude | null /** * Filter, which Brand to fetch. */ where?: BrandWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Brands to fetch. */ orderBy?: BrandOrderByWithRelationInput | BrandOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Brands. */ cursor?: BrandWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Brands 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` Brands. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Brands. */ distinct?: BrandScalarFieldEnum | BrandScalarFieldEnum[] } /** * Brand findFirstOrThrow */ export type BrandFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Brand */ select?: BrandSelect | null /** * Choose, which related nodes to fetch as well */ include?: BrandInclude | null /** * Filter, which Brand to fetch. */ where?: BrandWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Brands to fetch. */ orderBy?: BrandOrderByWithRelationInput | BrandOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Brands. */ cursor?: BrandWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Brands 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` Brands. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Brands. */ distinct?: BrandScalarFieldEnum | BrandScalarFieldEnum[] } /** * Brand findMany */ export type BrandFindManyArgs = { /** * Select specific fields to fetch from the Brand */ select?: BrandSelect | null /** * Choose, which related nodes to fetch as well */ include?: BrandInclude | null /** * Filter, which Brands to fetch. */ where?: BrandWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Brands to fetch. */ orderBy?: BrandOrderByWithRelationInput | BrandOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Brands. */ cursor?: BrandWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Brands 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` Brands. */ skip?: number distinct?: BrandScalarFieldEnum | BrandScalarFieldEnum[] } /** * Brand create */ export type BrandCreateArgs = { /** * Select specific fields to fetch from the Brand */ select?: BrandSelect | null /** * Choose, which related nodes to fetch as well */ include?: BrandInclude | null /** * The data needed to create a Brand. */ data: XOR } /** * Brand createMany */ export type BrandCreateManyArgs = { /** * The data used to create many Brands. */ data: BrandCreateManyInput | BrandCreateManyInput[] skipDuplicates?: boolean } /** * Brand createManyAndReturn */ export type BrandCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Brand */ select?: BrandSelectCreateManyAndReturn | null /** * The data used to create many Brands. */ data: BrandCreateManyInput | BrandCreateManyInput[] skipDuplicates?: boolean } /** * Brand update */ export type BrandUpdateArgs = { /** * Select specific fields to fetch from the Brand */ select?: BrandSelect | null /** * Choose, which related nodes to fetch as well */ include?: BrandInclude | null /** * The data needed to update a Brand. */ data: XOR /** * Choose, which Brand to update. */ where: BrandWhereUniqueInput } /** * Brand updateMany */ export type BrandUpdateManyArgs = { /** * The data used to update Brands. */ data: XOR /** * Filter which Brands to update */ where?: BrandWhereInput } /** * Brand upsert */ export type BrandUpsertArgs = { /** * Select specific fields to fetch from the Brand */ select?: BrandSelect | null /** * Choose, which related nodes to fetch as well */ include?: BrandInclude | null /** * The filter to search for the Brand to update in case it exists. */ where: BrandWhereUniqueInput /** * In case the Brand found by the `where` argument doesn't exist, create a new Brand with this data. */ create: XOR /** * In case the Brand was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Brand delete */ export type BrandDeleteArgs = { /** * Select specific fields to fetch from the Brand */ select?: BrandSelect | null /** * Choose, which related nodes to fetch as well */ include?: BrandInclude | null /** * Filter which Brand to delete. */ where: BrandWhereUniqueInput } /** * Brand deleteMany */ export type BrandDeleteManyArgs = { /** * Filter which Brands to delete */ where?: BrandWhereInput } /** * Brand.products */ export type Brand$productsArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null where?: ProductWhereInput orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] cursor?: ProductWhereUniqueInput take?: number skip?: number distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] } /** * Brand.promotions */ export type Brand$promotionsArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null where?: PromotionWhereInput orderBy?: PromotionOrderByWithRelationInput | PromotionOrderByWithRelationInput[] cursor?: PromotionWhereUniqueInput take?: number skip?: number distinct?: PromotionScalarFieldEnum | PromotionScalarFieldEnum[] } /** * Brand without action */ export type BrandDefaultArgs = { /** * Select specific fields to fetch from the Brand */ select?: BrandSelect | null /** * Choose, which related nodes to fetch as well */ include?: BrandInclude | null } /** * Model Collection */ export type AggregateCollection = { _count: CollectionCountAggregateOutputType | null _min: CollectionMinAggregateOutputType | null _max: CollectionMaxAggregateOutputType | null } export type CollectionMinAggregateOutputType = { id: string | null title: string | null description: string | null isActive: boolean | null } export type CollectionMaxAggregateOutputType = { id: string | null title: string | null description: string | null isActive: boolean | null } export type CollectionCountAggregateOutputType = { id: number title: number description: number isActive: number _all: number } export type CollectionMinAggregateInputType = { id?: true title?: true description?: true isActive?: true } export type CollectionMaxAggregateInputType = { id?: true title?: true description?: true isActive?: true } export type CollectionCountAggregateInputType = { id?: true title?: true description?: true isActive?: true _all?: true } export type CollectionAggregateArgs = { /** * Filter which Collection to aggregate. */ where?: CollectionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Collections to fetch. */ orderBy?: CollectionOrderByWithRelationInput | CollectionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: CollectionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Collections 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` Collections. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Collections **/ _count?: true | CollectionCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: CollectionMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: CollectionMaxAggregateInputType } export type GetCollectionAggregateType = { [P in keyof T & keyof AggregateCollection]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type CollectionGroupByArgs = { where?: CollectionWhereInput orderBy?: CollectionOrderByWithAggregationInput | CollectionOrderByWithAggregationInput[] by: CollectionScalarFieldEnum[] | CollectionScalarFieldEnum having?: CollectionScalarWhereWithAggregatesInput take?: number skip?: number _count?: CollectionCountAggregateInputType | true _min?: CollectionMinAggregateInputType _max?: CollectionMaxAggregateInputType } export type CollectionGroupByOutputType = { id: string title: string description: string | null isActive: boolean _count: CollectionCountAggregateOutputType | null _min: CollectionMinAggregateOutputType | null _max: CollectionMaxAggregateOutputType | null } type GetCollectionGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof CollectionGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type CollectionSelect = $Extensions.GetSelect<{ id?: boolean title?: boolean description?: boolean isActive?: boolean products?: boolean | Collection$productsArgs _count?: boolean | CollectionCountOutputTypeDefaultArgs }, ExtArgs["result"]["collection"]> export type CollectionSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean title?: boolean description?: boolean isActive?: boolean }, ExtArgs["result"]["collection"]> export type CollectionSelectScalar = { id?: boolean title?: boolean description?: boolean isActive?: boolean } export type CollectionInclude = { products?: boolean | Collection$productsArgs _count?: boolean | CollectionCountOutputTypeDefaultArgs } export type CollectionIncludeCreateManyAndReturn = {} export type $CollectionPayload = { name: "Collection" objects: { products: Prisma.$CollectionProductPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string title: string description: string | null isActive: boolean }, ExtArgs["result"]["collection"]> composites: {} } type CollectionGetPayload = $Result.GetResult type CollectionCountArgs = Omit & { select?: CollectionCountAggregateInputType | true } export interface CollectionDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Collection'], meta: { name: 'Collection' } } /** * Find zero or one Collection that matches the filter. * @param {CollectionFindUniqueArgs} args - Arguments to find a Collection * @example * // Get one Collection * const collection = await prisma.collection.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Collection that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {CollectionFindUniqueOrThrowArgs} args - Arguments to find a Collection * @example * // Get one Collection * const collection = await prisma.collection.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Collection 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 {CollectionFindFirstArgs} args - Arguments to find a Collection * @example * // Get one Collection * const collection = await prisma.collection.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Collection 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 {CollectionFindFirstOrThrowArgs} args - Arguments to find a Collection * @example * // Get one Collection * const collection = await prisma.collection.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Collections 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 {CollectionFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Collections * const collections = await prisma.collection.findMany() * * // Get first 10 Collections * const collections = await prisma.collection.findMany({ take: 10 }) * * // Only select the `id` * const collectionWithIdOnly = await prisma.collection.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Collection. * @param {CollectionCreateArgs} args - Arguments to create a Collection. * @example * // Create one Collection * const Collection = await prisma.collection.create({ * data: { * // ... data to create a Collection * } * }) * */ create(args: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Collections. * @param {CollectionCreateManyArgs} args - Arguments to create many Collections. * @example * // Create many Collections * const collection = await prisma.collection.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Collections and returns the data saved in the database. * @param {CollectionCreateManyAndReturnArgs} args - Arguments to create many Collections. * @example * // Create many Collections * const collection = await prisma.collection.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Collections and only return the `id` * const collectionWithIdOnly = await prisma.collection.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Collection. * @param {CollectionDeleteArgs} args - Arguments to delete one Collection. * @example * // Delete one Collection * const Collection = await prisma.collection.delete({ * where: { * // ... filter to delete one Collection * } * }) * */ delete(args: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Collection. * @param {CollectionUpdateArgs} args - Arguments to update one Collection. * @example * // Update one Collection * const collection = await prisma.collection.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Collections. * @param {CollectionDeleteManyArgs} args - Arguments to filter Collections to delete. * @example * // Delete a few Collections * const { count } = await prisma.collection.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Collections. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Collections * const collection = await prisma.collection.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Collection. * @param {CollectionUpsertArgs} args - Arguments to update or create a Collection. * @example * // Update or create a Collection * const collection = await prisma.collection.upsert({ * create: { * // ... data to create a Collection * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Collection we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Collections. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionCountArgs} args - Arguments to filter Collections to count. * @example * // Count the number of Collections * const count = await prisma.collection.count({ * where: { * // ... the filter for the Collections we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Collection. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by Collection. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionGroupByArgs} 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 CollectionGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: CollectionGroupByArgs['orderBy'] } : { orderBy?: CollectionGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCollectionGroupByPayload : Prisma.PrismaPromise /** * Fields of the Collection model */ readonly fields: CollectionFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Collection. * 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__CollectionClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" products = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the Collection model */ interface CollectionFieldRefs { readonly id: FieldRef<"Collection", 'String'> readonly title: FieldRef<"Collection", 'String'> readonly description: FieldRef<"Collection", 'String'> readonly isActive: FieldRef<"Collection", 'Boolean'> } // Custom InputTypes /** * Collection findUnique */ export type CollectionFindUniqueArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * Filter, which Collection to fetch. */ where: CollectionWhereUniqueInput } /** * Collection findUniqueOrThrow */ export type CollectionFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * Filter, which Collection to fetch. */ where: CollectionWhereUniqueInput } /** * Collection findFirst */ export type CollectionFindFirstArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * Filter, which Collection to fetch. */ where?: CollectionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Collections to fetch. */ orderBy?: CollectionOrderByWithRelationInput | CollectionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Collections. */ cursor?: CollectionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Collections 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` Collections. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Collections. */ distinct?: CollectionScalarFieldEnum | CollectionScalarFieldEnum[] } /** * Collection findFirstOrThrow */ export type CollectionFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * Filter, which Collection to fetch. */ where?: CollectionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Collections to fetch. */ orderBy?: CollectionOrderByWithRelationInput | CollectionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Collections. */ cursor?: CollectionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Collections 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` Collections. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Collections. */ distinct?: CollectionScalarFieldEnum | CollectionScalarFieldEnum[] } /** * Collection findMany */ export type CollectionFindManyArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * Filter, which Collections to fetch. */ where?: CollectionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Collections to fetch. */ orderBy?: CollectionOrderByWithRelationInput | CollectionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Collections. */ cursor?: CollectionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Collections 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` Collections. */ skip?: number distinct?: CollectionScalarFieldEnum | CollectionScalarFieldEnum[] } /** * Collection create */ export type CollectionCreateArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * The data needed to create a Collection. */ data: XOR } /** * Collection createMany */ export type CollectionCreateManyArgs = { /** * The data used to create many Collections. */ data: CollectionCreateManyInput | CollectionCreateManyInput[] skipDuplicates?: boolean } /** * Collection createManyAndReturn */ export type CollectionCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelectCreateManyAndReturn | null /** * The data used to create many Collections. */ data: CollectionCreateManyInput | CollectionCreateManyInput[] skipDuplicates?: boolean } /** * Collection update */ export type CollectionUpdateArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * The data needed to update a Collection. */ data: XOR /** * Choose, which Collection to update. */ where: CollectionWhereUniqueInput } /** * Collection updateMany */ export type CollectionUpdateManyArgs = { /** * The data used to update Collections. */ data: XOR /** * Filter which Collections to update */ where?: CollectionWhereInput } /** * Collection upsert */ export type CollectionUpsertArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * The filter to search for the Collection to update in case it exists. */ where: CollectionWhereUniqueInput /** * In case the Collection found by the `where` argument doesn't exist, create a new Collection with this data. */ create: XOR /** * In case the Collection was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Collection delete */ export type CollectionDeleteArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * Filter which Collection to delete. */ where: CollectionWhereUniqueInput } /** * Collection deleteMany */ export type CollectionDeleteManyArgs = { /** * Filter which Collections to delete */ where?: CollectionWhereInput } /** * Collection.products */ export type Collection$productsArgs = { /** * Select specific fields to fetch from the CollectionProduct */ select?: CollectionProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionProductInclude | null where?: CollectionProductWhereInput orderBy?: CollectionProductOrderByWithRelationInput | CollectionProductOrderByWithRelationInput[] cursor?: CollectionProductWhereUniqueInput take?: number skip?: number distinct?: CollectionProductScalarFieldEnum | CollectionProductScalarFieldEnum[] } /** * Collection without action */ export type CollectionDefaultArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null } /** * Model CollectionProduct */ export type AggregateCollectionProduct = { _count: CollectionProductCountAggregateOutputType | null _min: CollectionProductMinAggregateOutputType | null _max: CollectionProductMaxAggregateOutputType | null } export type CollectionProductMinAggregateOutputType = { collectionId: string | null productId: string | null } export type CollectionProductMaxAggregateOutputType = { collectionId: string | null productId: string | null } export type CollectionProductCountAggregateOutputType = { collectionId: number productId: number _all: number } export type CollectionProductMinAggregateInputType = { collectionId?: true productId?: true } export type CollectionProductMaxAggregateInputType = { collectionId?: true productId?: true } export type CollectionProductCountAggregateInputType = { collectionId?: true productId?: true _all?: true } export type CollectionProductAggregateArgs = { /** * Filter which CollectionProduct to aggregate. */ where?: CollectionProductWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CollectionProducts to fetch. */ orderBy?: CollectionProductOrderByWithRelationInput | CollectionProductOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: CollectionProductWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CollectionProducts 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` CollectionProducts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned CollectionProducts **/ _count?: true | CollectionProductCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: CollectionProductMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: CollectionProductMaxAggregateInputType } export type GetCollectionProductAggregateType = { [P in keyof T & keyof AggregateCollectionProduct]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type CollectionProductGroupByArgs = { where?: CollectionProductWhereInput orderBy?: CollectionProductOrderByWithAggregationInput | CollectionProductOrderByWithAggregationInput[] by: CollectionProductScalarFieldEnum[] | CollectionProductScalarFieldEnum having?: CollectionProductScalarWhereWithAggregatesInput take?: number skip?: number _count?: CollectionProductCountAggregateInputType | true _min?: CollectionProductMinAggregateInputType _max?: CollectionProductMaxAggregateInputType } export type CollectionProductGroupByOutputType = { collectionId: string productId: string _count: CollectionProductCountAggregateOutputType | null _min: CollectionProductMinAggregateOutputType | null _max: CollectionProductMaxAggregateOutputType | null } type GetCollectionProductGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof CollectionProductGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type CollectionProductSelect = $Extensions.GetSelect<{ collectionId?: boolean productId?: boolean collection?: boolean | CollectionDefaultArgs product?: boolean | ProductDefaultArgs }, ExtArgs["result"]["collectionProduct"]> export type CollectionProductSelectCreateManyAndReturn = $Extensions.GetSelect<{ collectionId?: boolean productId?: boolean collection?: boolean | CollectionDefaultArgs product?: boolean | ProductDefaultArgs }, ExtArgs["result"]["collectionProduct"]> export type CollectionProductSelectScalar = { collectionId?: boolean productId?: boolean } export type CollectionProductInclude = { collection?: boolean | CollectionDefaultArgs product?: boolean | ProductDefaultArgs } export type CollectionProductIncludeCreateManyAndReturn = { collection?: boolean | CollectionDefaultArgs product?: boolean | ProductDefaultArgs } export type $CollectionProductPayload = { name: "CollectionProduct" objects: { collection: Prisma.$CollectionPayload product: Prisma.$ProductPayload } scalars: $Extensions.GetPayloadResult<{ collectionId: string productId: string }, ExtArgs["result"]["collectionProduct"]> composites: {} } type CollectionProductGetPayload = $Result.GetResult type CollectionProductCountArgs = Omit & { select?: CollectionProductCountAggregateInputType | true } export interface CollectionProductDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['CollectionProduct'], meta: { name: 'CollectionProduct' } } /** * Find zero or one CollectionProduct that matches the filter. * @param {CollectionProductFindUniqueArgs} args - Arguments to find a CollectionProduct * @example * // Get one CollectionProduct * const collectionProduct = await prisma.collectionProduct.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__CollectionProductClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one CollectionProduct that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {CollectionProductFindUniqueOrThrowArgs} args - Arguments to find a CollectionProduct * @example * // Get one CollectionProduct * const collectionProduct = await prisma.collectionProduct.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__CollectionProductClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first CollectionProduct 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 {CollectionProductFindFirstArgs} args - Arguments to find a CollectionProduct * @example * // Get one CollectionProduct * const collectionProduct = await prisma.collectionProduct.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__CollectionProductClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first CollectionProduct 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 {CollectionProductFindFirstOrThrowArgs} args - Arguments to find a CollectionProduct * @example * // Get one CollectionProduct * const collectionProduct = await prisma.collectionProduct.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__CollectionProductClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more CollectionProducts 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 {CollectionProductFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all CollectionProducts * const collectionProducts = await prisma.collectionProduct.findMany() * * // Get first 10 CollectionProducts * const collectionProducts = await prisma.collectionProduct.findMany({ take: 10 }) * * // Only select the `collectionId` * const collectionProductWithCollectionIdOnly = await prisma.collectionProduct.findMany({ select: { collectionId: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a CollectionProduct. * @param {CollectionProductCreateArgs} args - Arguments to create a CollectionProduct. * @example * // Create one CollectionProduct * const CollectionProduct = await prisma.collectionProduct.create({ * data: { * // ... data to create a CollectionProduct * } * }) * */ create(args: SelectSubset>): Prisma__CollectionProductClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many CollectionProducts. * @param {CollectionProductCreateManyArgs} args - Arguments to create many CollectionProducts. * @example * // Create many CollectionProducts * const collectionProduct = await prisma.collectionProduct.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many CollectionProducts and returns the data saved in the database. * @param {CollectionProductCreateManyAndReturnArgs} args - Arguments to create many CollectionProducts. * @example * // Create many CollectionProducts * const collectionProduct = await prisma.collectionProduct.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many CollectionProducts and only return the `collectionId` * const collectionProductWithCollectionIdOnly = await prisma.collectionProduct.createManyAndReturn({ * select: { collectionId: 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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a CollectionProduct. * @param {CollectionProductDeleteArgs} args - Arguments to delete one CollectionProduct. * @example * // Delete one CollectionProduct * const CollectionProduct = await prisma.collectionProduct.delete({ * where: { * // ... filter to delete one CollectionProduct * } * }) * */ delete(args: SelectSubset>): Prisma__CollectionProductClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one CollectionProduct. * @param {CollectionProductUpdateArgs} args - Arguments to update one CollectionProduct. * @example * // Update one CollectionProduct * const collectionProduct = await prisma.collectionProduct.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__CollectionProductClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more CollectionProducts. * @param {CollectionProductDeleteManyArgs} args - Arguments to filter CollectionProducts to delete. * @example * // Delete a few CollectionProducts * const { count } = await prisma.collectionProduct.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more CollectionProducts. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionProductUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many CollectionProducts * const collectionProduct = await prisma.collectionProduct.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one CollectionProduct. * @param {CollectionProductUpsertArgs} args - Arguments to update or create a CollectionProduct. * @example * // Update or create a CollectionProduct * const collectionProduct = await prisma.collectionProduct.upsert({ * create: { * // ... data to create a CollectionProduct * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the CollectionProduct we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__CollectionProductClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of CollectionProducts. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionProductCountArgs} args - Arguments to filter CollectionProducts to count. * @example * // Count the number of CollectionProducts * const count = await prisma.collectionProduct.count({ * where: { * // ... the filter for the CollectionProducts we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a CollectionProduct. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionProductAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by CollectionProduct. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionProductGroupByArgs} 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 CollectionProductGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: CollectionProductGroupByArgs['orderBy'] } : { orderBy?: CollectionProductGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCollectionProductGroupByPayload : Prisma.PrismaPromise /** * Fields of the CollectionProduct model */ readonly fields: CollectionProductFieldRefs; } /** * The delegate class that acts as a "Promise-like" for CollectionProduct. * 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__CollectionProductClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" collection = {}>(args?: Subset>): Prisma__CollectionClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> product = {}>(args?: Subset>): Prisma__ProductClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the CollectionProduct model */ interface CollectionProductFieldRefs { readonly collectionId: FieldRef<"CollectionProduct", 'String'> readonly productId: FieldRef<"CollectionProduct", 'String'> } // Custom InputTypes /** * CollectionProduct findUnique */ export type CollectionProductFindUniqueArgs = { /** * Select specific fields to fetch from the CollectionProduct */ select?: CollectionProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionProductInclude | null /** * Filter, which CollectionProduct to fetch. */ where: CollectionProductWhereUniqueInput } /** * CollectionProduct findUniqueOrThrow */ export type CollectionProductFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the CollectionProduct */ select?: CollectionProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionProductInclude | null /** * Filter, which CollectionProduct to fetch. */ where: CollectionProductWhereUniqueInput } /** * CollectionProduct findFirst */ export type CollectionProductFindFirstArgs = { /** * Select specific fields to fetch from the CollectionProduct */ select?: CollectionProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionProductInclude | null /** * Filter, which CollectionProduct to fetch. */ where?: CollectionProductWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CollectionProducts to fetch. */ orderBy?: CollectionProductOrderByWithRelationInput | CollectionProductOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for CollectionProducts. */ cursor?: CollectionProductWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CollectionProducts 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` CollectionProducts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of CollectionProducts. */ distinct?: CollectionProductScalarFieldEnum | CollectionProductScalarFieldEnum[] } /** * CollectionProduct findFirstOrThrow */ export type CollectionProductFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the CollectionProduct */ select?: CollectionProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionProductInclude | null /** * Filter, which CollectionProduct to fetch. */ where?: CollectionProductWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CollectionProducts to fetch. */ orderBy?: CollectionProductOrderByWithRelationInput | CollectionProductOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for CollectionProducts. */ cursor?: CollectionProductWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CollectionProducts 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` CollectionProducts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of CollectionProducts. */ distinct?: CollectionProductScalarFieldEnum | CollectionProductScalarFieldEnum[] } /** * CollectionProduct findMany */ export type CollectionProductFindManyArgs = { /** * Select specific fields to fetch from the CollectionProduct */ select?: CollectionProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionProductInclude | null /** * Filter, which CollectionProducts to fetch. */ where?: CollectionProductWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CollectionProducts to fetch. */ orderBy?: CollectionProductOrderByWithRelationInput | CollectionProductOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing CollectionProducts. */ cursor?: CollectionProductWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CollectionProducts 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` CollectionProducts. */ skip?: number distinct?: CollectionProductScalarFieldEnum | CollectionProductScalarFieldEnum[] } /** * CollectionProduct create */ export type CollectionProductCreateArgs = { /** * Select specific fields to fetch from the CollectionProduct */ select?: CollectionProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionProductInclude | null /** * The data needed to create a CollectionProduct. */ data: XOR } /** * CollectionProduct createMany */ export type CollectionProductCreateManyArgs = { /** * The data used to create many CollectionProducts. */ data: CollectionProductCreateManyInput | CollectionProductCreateManyInput[] skipDuplicates?: boolean } /** * CollectionProduct createManyAndReturn */ export type CollectionProductCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the CollectionProduct */ select?: CollectionProductSelectCreateManyAndReturn | null /** * The data used to create many CollectionProducts. */ data: CollectionProductCreateManyInput | CollectionProductCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: CollectionProductIncludeCreateManyAndReturn | null } /** * CollectionProduct update */ export type CollectionProductUpdateArgs = { /** * Select specific fields to fetch from the CollectionProduct */ select?: CollectionProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionProductInclude | null /** * The data needed to update a CollectionProduct. */ data: XOR /** * Choose, which CollectionProduct to update. */ where: CollectionProductWhereUniqueInput } /** * CollectionProduct updateMany */ export type CollectionProductUpdateManyArgs = { /** * The data used to update CollectionProducts. */ data: XOR /** * Filter which CollectionProducts to update */ where?: CollectionProductWhereInput } /** * CollectionProduct upsert */ export type CollectionProductUpsertArgs = { /** * Select specific fields to fetch from the CollectionProduct */ select?: CollectionProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionProductInclude | null /** * The filter to search for the CollectionProduct to update in case it exists. */ where: CollectionProductWhereUniqueInput /** * In case the CollectionProduct found by the `where` argument doesn't exist, create a new CollectionProduct with this data. */ create: XOR /** * In case the CollectionProduct was found with the provided `where` argument, update it with this data. */ update: XOR } /** * CollectionProduct delete */ export type CollectionProductDeleteArgs = { /** * Select specific fields to fetch from the CollectionProduct */ select?: CollectionProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionProductInclude | null /** * Filter which CollectionProduct to delete. */ where: CollectionProductWhereUniqueInput } /** * CollectionProduct deleteMany */ export type CollectionProductDeleteManyArgs = { /** * Filter which CollectionProducts to delete */ where?: CollectionProductWhereInput } /** * CollectionProduct without action */ export type CollectionProductDefaultArgs = { /** * Select specific fields to fetch from the CollectionProduct */ select?: CollectionProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionProductInclude | null } /** * Model Product */ export type AggregateProduct = { _count: ProductCountAggregateOutputType | null _avg: ProductAvgAggregateOutputType | null _sum: ProductSumAggregateOutputType | null _min: ProductMinAggregateOutputType | null _max: ProductMaxAggregateOutputType | null } export type ProductAvgAggregateOutputType = { showType: number | null } export type ProductSumAggregateOutputType = { showType: number | null } export type ProductMinAggregateOutputType = { id: string | null title: string | null description: string | null categoryId: string | null brandId: string | null productCode: string | null showType: number | null isActive: boolean | null createdAt: Date | null } export type ProductMaxAggregateOutputType = { id: string | null title: string | null description: string | null categoryId: string | null brandId: string | null productCode: string | null showType: number | null isActive: boolean | null createdAt: Date | null } export type ProductCountAggregateOutputType = { id: number title: number description: number categoryId: number brandId: number productCode: number showType: number isActive: number createdAt: number _all: number } export type ProductAvgAggregateInputType = { showType?: true } export type ProductSumAggregateInputType = { showType?: true } export type ProductMinAggregateInputType = { id?: true title?: true description?: true categoryId?: true brandId?: true productCode?: true showType?: true isActive?: true createdAt?: true } export type ProductMaxAggregateInputType = { id?: true title?: true description?: true categoryId?: true brandId?: true productCode?: true showType?: true isActive?: true createdAt?: true } export type ProductCountAggregateInputType = { id?: true title?: true description?: true categoryId?: true brandId?: true productCode?: true showType?: true isActive?: true createdAt?: true _all?: true } export type ProductAggregateArgs = { /** * Filter which Product to aggregate. */ where?: ProductWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Products to fetch. */ orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: ProductWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Products 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` Products. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Products **/ _count?: true | ProductCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: ProductAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: ProductSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: ProductMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: ProductMaxAggregateInputType } export type GetProductAggregateType = { [P in keyof T & keyof AggregateProduct]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type ProductGroupByArgs = { where?: ProductWhereInput orderBy?: ProductOrderByWithAggregationInput | ProductOrderByWithAggregationInput[] by: ProductScalarFieldEnum[] | ProductScalarFieldEnum having?: ProductScalarWhereWithAggregatesInput take?: number skip?: number _count?: ProductCountAggregateInputType | true _avg?: ProductAvgAggregateInputType _sum?: ProductSumAggregateInputType _min?: ProductMinAggregateInputType _max?: ProductMaxAggregateInputType } export type ProductGroupByOutputType = { id: string title: string description: string | null categoryId: string | null brandId: string | null productCode: string | null showType: number isActive: boolean createdAt: Date _count: ProductCountAggregateOutputType | null _avg: ProductAvgAggregateOutputType | null _sum: ProductSumAggregateOutputType | null _min: ProductMinAggregateOutputType | null _max: ProductMaxAggregateOutputType | null } type GetProductGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof ProductGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type ProductSelect = $Extensions.GetSelect<{ id?: boolean title?: boolean description?: boolean categoryId?: boolean brandId?: boolean productCode?: boolean showType?: boolean isActive?: boolean createdAt?: boolean category?: boolean | Product$categoryArgs brand?: boolean | Product$brandArgs variants?: boolean | Product$variantsArgs images?: boolean | Product$imagesArgs collections?: boolean | Product$collectionsArgs comments?: boolean | Product$commentsArgs promotions?: boolean | Product$promotionsArgs allocationItems?: boolean | Product$allocationItemsArgs _count?: boolean | ProductCountOutputTypeDefaultArgs }, ExtArgs["result"]["product"]> export type ProductSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean title?: boolean description?: boolean categoryId?: boolean brandId?: boolean productCode?: boolean showType?: boolean isActive?: boolean createdAt?: boolean category?: boolean | Product$categoryArgs brand?: boolean | Product$brandArgs }, ExtArgs["result"]["product"]> export type ProductSelectScalar = { id?: boolean title?: boolean description?: boolean categoryId?: boolean brandId?: boolean productCode?: boolean showType?: boolean isActive?: boolean createdAt?: boolean } export type ProductInclude = { category?: boolean | Product$categoryArgs brand?: boolean | Product$brandArgs variants?: boolean | Product$variantsArgs images?: boolean | Product$imagesArgs collections?: boolean | Product$collectionsArgs comments?: boolean | Product$commentsArgs promotions?: boolean | Product$promotionsArgs allocationItems?: boolean | Product$allocationItemsArgs _count?: boolean | ProductCountOutputTypeDefaultArgs } export type ProductIncludeCreateManyAndReturn = { category?: boolean | Product$categoryArgs brand?: boolean | Product$brandArgs } export type $ProductPayload = { name: "Product" objects: { category: Prisma.$CategoryPayload | null brand: Prisma.$BrandPayload | null variants: Prisma.$ProductVariantPayload[] images: Prisma.$ProductImagePayload[] collections: Prisma.$CollectionProductPayload[] comments: Prisma.$CommentPayload[] promotions: Prisma.$PromotionPayload[] allocationItems: Prisma.$BranchAllocationItemPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string title: string description: string | null categoryId: string | null brandId: string | null /** * Legacy Product.product_code — the human-facing SKU shown in the grid. */ productCode: string | null /** * Legacy Product.show_type: 1 site, 2 mobile, 3 both. */ showType: number isActive: boolean createdAt: Date }, ExtArgs["result"]["product"]> composites: {} } type ProductGetPayload = $Result.GetResult type ProductCountArgs = Omit & { select?: ProductCountAggregateInputType | true } export interface ProductDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Product'], meta: { name: 'Product' } } /** * Find zero or one Product that matches the filter. * @param {ProductFindUniqueArgs} args - Arguments to find a Product * @example * // Get one Product * const product = await prisma.product.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Product that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {ProductFindUniqueOrThrowArgs} args - Arguments to find a Product * @example * // Get one Product * const product = await prisma.product.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Product 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 {ProductFindFirstArgs} args - Arguments to find a Product * @example * // Get one Product * const product = await prisma.product.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Product 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 {ProductFindFirstOrThrowArgs} args - Arguments to find a Product * @example * // Get one Product * const product = await prisma.product.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Products 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 {ProductFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Products * const products = await prisma.product.findMany() * * // Get first 10 Products * const products = await prisma.product.findMany({ take: 10 }) * * // Only select the `id` * const productWithIdOnly = await prisma.product.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Product. * @param {ProductCreateArgs} args - Arguments to create a Product. * @example * // Create one Product * const Product = await prisma.product.create({ * data: { * // ... data to create a Product * } * }) * */ create(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Products. * @param {ProductCreateManyArgs} args - Arguments to create many Products. * @example * // Create many Products * const product = await prisma.product.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Products and returns the data saved in the database. * @param {ProductCreateManyAndReturnArgs} args - Arguments to create many Products. * @example * // Create many Products * const product = await prisma.product.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Products and only return the `id` * const productWithIdOnly = await prisma.product.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Product. * @param {ProductDeleteArgs} args - Arguments to delete one Product. * @example * // Delete one Product * const Product = await prisma.product.delete({ * where: { * // ... filter to delete one Product * } * }) * */ delete(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Product. * @param {ProductUpdateArgs} args - Arguments to update one Product. * @example * // Update one Product * const product = await prisma.product.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Products. * @param {ProductDeleteManyArgs} args - Arguments to filter Products to delete. * @example * // Delete a few Products * const { count } = await prisma.product.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Products. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Products * const product = await prisma.product.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Product. * @param {ProductUpsertArgs} args - Arguments to update or create a Product. * @example * // Update or create a Product * const product = await prisma.product.upsert({ * create: { * // ... data to create a Product * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Product we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Products. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductCountArgs} args - Arguments to filter Products to count. * @example * // Count the number of Products * const count = await prisma.product.count({ * where: { * // ... the filter for the Products we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Product. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by Product. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductGroupByArgs} 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 ProductGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: ProductGroupByArgs['orderBy'] } : { orderBy?: ProductGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetProductGroupByPayload : Prisma.PrismaPromise /** * Fields of the Product model */ readonly fields: ProductFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Product. * 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__ProductClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" category = {}>(args?: Subset>): Prisma__CategoryClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> brand = {}>(args?: Subset>): Prisma__BrandClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> variants = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> images = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> collections = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> comments = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> promotions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> allocationItems = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the Product model */ interface ProductFieldRefs { readonly id: FieldRef<"Product", 'String'> readonly title: FieldRef<"Product", 'String'> readonly description: FieldRef<"Product", 'String'> readonly categoryId: FieldRef<"Product", 'String'> readonly brandId: FieldRef<"Product", 'String'> readonly productCode: FieldRef<"Product", 'String'> readonly showType: FieldRef<"Product", 'Int'> readonly isActive: FieldRef<"Product", 'Boolean'> readonly createdAt: FieldRef<"Product", 'DateTime'> } // Custom InputTypes /** * Product findUnique */ export type ProductFindUniqueArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * Filter, which Product to fetch. */ where: ProductWhereUniqueInput } /** * Product findUniqueOrThrow */ export type ProductFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * Filter, which Product to fetch. */ where: ProductWhereUniqueInput } /** * Product findFirst */ export type ProductFindFirstArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * Filter, which Product to fetch. */ where?: ProductWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Products to fetch. */ orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Products. */ cursor?: ProductWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Products 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` Products. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Products. */ distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] } /** * Product findFirstOrThrow */ export type ProductFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * Filter, which Product to fetch. */ where?: ProductWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Products to fetch. */ orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Products. */ cursor?: ProductWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Products 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` Products. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Products. */ distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] } /** * Product findMany */ export type ProductFindManyArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * Filter, which Products to fetch. */ where?: ProductWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Products to fetch. */ orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Products. */ cursor?: ProductWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Products 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` Products. */ skip?: number distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] } /** * Product create */ export type ProductCreateArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * The data needed to create a Product. */ data: XOR } /** * Product createMany */ export type ProductCreateManyArgs = { /** * The data used to create many Products. */ data: ProductCreateManyInput | ProductCreateManyInput[] skipDuplicates?: boolean } /** * Product createManyAndReturn */ export type ProductCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelectCreateManyAndReturn | null /** * The data used to create many Products. */ data: ProductCreateManyInput | ProductCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: ProductIncludeCreateManyAndReturn | null } /** * Product update */ export type ProductUpdateArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * The data needed to update a Product. */ data: XOR /** * Choose, which Product to update. */ where: ProductWhereUniqueInput } /** * Product updateMany */ export type ProductUpdateManyArgs = { /** * The data used to update Products. */ data: XOR /** * Filter which Products to update */ where?: ProductWhereInput } /** * Product upsert */ export type ProductUpsertArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * The filter to search for the Product to update in case it exists. */ where: ProductWhereUniqueInput /** * In case the Product found by the `where` argument doesn't exist, create a new Product with this data. */ create: XOR /** * In case the Product was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Product delete */ export type ProductDeleteArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * Filter which Product to delete. */ where: ProductWhereUniqueInput } /** * Product deleteMany */ export type ProductDeleteManyArgs = { /** * Filter which Products to delete */ where?: ProductWhereInput } /** * Product.category */ export type Product$categoryArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null where?: CategoryWhereInput } /** * Product.brand */ export type Product$brandArgs = { /** * Select specific fields to fetch from the Brand */ select?: BrandSelect | null /** * Choose, which related nodes to fetch as well */ include?: BrandInclude | null where?: BrandWhereInput } /** * Product.variants */ export type Product$variantsArgs = { /** * Select specific fields to fetch from the ProductVariant */ select?: ProductVariantSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductVariantInclude | null where?: ProductVariantWhereInput orderBy?: ProductVariantOrderByWithRelationInput | ProductVariantOrderByWithRelationInput[] cursor?: ProductVariantWhereUniqueInput take?: number skip?: number distinct?: ProductVariantScalarFieldEnum | ProductVariantScalarFieldEnum[] } /** * Product.images */ export type Product$imagesArgs = { /** * Select specific fields to fetch from the ProductImage */ select?: ProductImageSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductImageInclude | null where?: ProductImageWhereInput orderBy?: ProductImageOrderByWithRelationInput | ProductImageOrderByWithRelationInput[] cursor?: ProductImageWhereUniqueInput take?: number skip?: number distinct?: ProductImageScalarFieldEnum | ProductImageScalarFieldEnum[] } /** * Product.collections */ export type Product$collectionsArgs = { /** * Select specific fields to fetch from the CollectionProduct */ select?: CollectionProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionProductInclude | null where?: CollectionProductWhereInput orderBy?: CollectionProductOrderByWithRelationInput | CollectionProductOrderByWithRelationInput[] cursor?: CollectionProductWhereUniqueInput take?: number skip?: number distinct?: CollectionProductScalarFieldEnum | CollectionProductScalarFieldEnum[] } /** * Product.comments */ export type Product$commentsArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null where?: CommentWhereInput orderBy?: CommentOrderByWithRelationInput | CommentOrderByWithRelationInput[] cursor?: CommentWhereUniqueInput take?: number skip?: number distinct?: CommentScalarFieldEnum | CommentScalarFieldEnum[] } /** * Product.promotions */ export type Product$promotionsArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null where?: PromotionWhereInput orderBy?: PromotionOrderByWithRelationInput | PromotionOrderByWithRelationInput[] cursor?: PromotionWhereUniqueInput take?: number skip?: number distinct?: PromotionScalarFieldEnum | PromotionScalarFieldEnum[] } /** * Product.allocationItems */ export type Product$allocationItemsArgs = { /** * Select specific fields to fetch from the BranchAllocationItem */ select?: BranchAllocationItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationItemInclude | null where?: BranchAllocationItemWhereInput orderBy?: BranchAllocationItemOrderByWithRelationInput | BranchAllocationItemOrderByWithRelationInput[] cursor?: BranchAllocationItemWhereUniqueInput take?: number skip?: number distinct?: BranchAllocationItemScalarFieldEnum | BranchAllocationItemScalarFieldEnum[] } /** * Product without action */ export type ProductDefaultArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null } /** * Model ProductImage */ export type AggregateProductImage = { _count: ProductImageCountAggregateOutputType | null _avg: ProductImageAvgAggregateOutputType | null _sum: ProductImageSumAggregateOutputType | null _min: ProductImageMinAggregateOutputType | null _max: ProductImageMaxAggregateOutputType | null } export type ProductImageAvgAggregateOutputType = { sortOrder: number | null } export type ProductImageSumAggregateOutputType = { sortOrder: number | null } export type ProductImageMinAggregateOutputType = { id: string | null productId: string | null url: string | null sortOrder: number | null role: $Enums.ProductImageRole | null } export type ProductImageMaxAggregateOutputType = { id: string | null productId: string | null url: string | null sortOrder: number | null role: $Enums.ProductImageRole | null } export type ProductImageCountAggregateOutputType = { id: number productId: number url: number sortOrder: number role: number _all: number } export type ProductImageAvgAggregateInputType = { sortOrder?: true } export type ProductImageSumAggregateInputType = { sortOrder?: true } export type ProductImageMinAggregateInputType = { id?: true productId?: true url?: true sortOrder?: true role?: true } export type ProductImageMaxAggregateInputType = { id?: true productId?: true url?: true sortOrder?: true role?: true } export type ProductImageCountAggregateInputType = { id?: true productId?: true url?: true sortOrder?: true role?: true _all?: true } export type ProductImageAggregateArgs = { /** * Filter which ProductImage to aggregate. */ where?: ProductImageWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of ProductImages to fetch. */ orderBy?: ProductImageOrderByWithRelationInput | ProductImageOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: ProductImageWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` ProductImages 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` ProductImages. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned ProductImages **/ _count?: true | ProductImageCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: ProductImageAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: ProductImageSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: ProductImageMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: ProductImageMaxAggregateInputType } export type GetProductImageAggregateType = { [P in keyof T & keyof AggregateProductImage]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type ProductImageGroupByArgs = { where?: ProductImageWhereInput orderBy?: ProductImageOrderByWithAggregationInput | ProductImageOrderByWithAggregationInput[] by: ProductImageScalarFieldEnum[] | ProductImageScalarFieldEnum having?: ProductImageScalarWhereWithAggregatesInput take?: number skip?: number _count?: ProductImageCountAggregateInputType | true _avg?: ProductImageAvgAggregateInputType _sum?: ProductImageSumAggregateInputType _min?: ProductImageMinAggregateInputType _max?: ProductImageMaxAggregateInputType } export type ProductImageGroupByOutputType = { id: string productId: string url: string sortOrder: number role: $Enums.ProductImageRole _count: ProductImageCountAggregateOutputType | null _avg: ProductImageAvgAggregateOutputType | null _sum: ProductImageSumAggregateOutputType | null _min: ProductImageMinAggregateOutputType | null _max: ProductImageMaxAggregateOutputType | null } type GetProductImageGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof ProductImageGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type ProductImageSelect = $Extensions.GetSelect<{ id?: boolean productId?: boolean url?: boolean sortOrder?: boolean role?: boolean product?: boolean | ProductDefaultArgs variants?: boolean | ProductImage$variantsArgs _count?: boolean | ProductImageCountOutputTypeDefaultArgs }, ExtArgs["result"]["productImage"]> export type ProductImageSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean productId?: boolean url?: boolean sortOrder?: boolean role?: boolean product?: boolean | ProductDefaultArgs }, ExtArgs["result"]["productImage"]> export type ProductImageSelectScalar = { id?: boolean productId?: boolean url?: boolean sortOrder?: boolean role?: boolean } export type ProductImageInclude = { product?: boolean | ProductDefaultArgs variants?: boolean | ProductImage$variantsArgs _count?: boolean | ProductImageCountOutputTypeDefaultArgs } export type ProductImageIncludeCreateManyAndReturn = { product?: boolean | ProductDefaultArgs } export type $ProductImagePayload = { name: "ProductImage" objects: { product: Prisma.$ProductPayload /** * Variants that display this image. A gallery image may back several * variants (one photo, several weights), which is why this is a plain * one-to-many and not a join table. */ variants: Prisma.$ProductVariantPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string productId: string url: string sortOrder: number /** * Legacy had 4 distinct upload slots (تصویر شاخص / تصویر شاخص موبایل / * گالری تصاویر سایت / گالری تصاویر موبایل) — GALLERY is the default so * existing rows and any generic "just attach an image" caller keep working. */ role: $Enums.ProductImageRole }, ExtArgs["result"]["productImage"]> composites: {} } type ProductImageGetPayload = $Result.GetResult type ProductImageCountArgs = Omit & { select?: ProductImageCountAggregateInputType | true } export interface ProductImageDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['ProductImage'], meta: { name: 'ProductImage' } } /** * Find zero or one ProductImage that matches the filter. * @param {ProductImageFindUniqueArgs} args - Arguments to find a ProductImage * @example * // Get one ProductImage * const productImage = await prisma.productImage.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__ProductImageClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one ProductImage that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {ProductImageFindUniqueOrThrowArgs} args - Arguments to find a ProductImage * @example * // Get one ProductImage * const productImage = await prisma.productImage.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__ProductImageClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first ProductImage 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 {ProductImageFindFirstArgs} args - Arguments to find a ProductImage * @example * // Get one ProductImage * const productImage = await prisma.productImage.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__ProductImageClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first ProductImage 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 {ProductImageFindFirstOrThrowArgs} args - Arguments to find a ProductImage * @example * // Get one ProductImage * const productImage = await prisma.productImage.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__ProductImageClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more ProductImages 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 {ProductImageFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all ProductImages * const productImages = await prisma.productImage.findMany() * * // Get first 10 ProductImages * const productImages = await prisma.productImage.findMany({ take: 10 }) * * // Only select the `id` * const productImageWithIdOnly = await prisma.productImage.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a ProductImage. * @param {ProductImageCreateArgs} args - Arguments to create a ProductImage. * @example * // Create one ProductImage * const ProductImage = await prisma.productImage.create({ * data: { * // ... data to create a ProductImage * } * }) * */ create(args: SelectSubset>): Prisma__ProductImageClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many ProductImages. * @param {ProductImageCreateManyArgs} args - Arguments to create many ProductImages. * @example * // Create many ProductImages * const productImage = await prisma.productImage.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many ProductImages and returns the data saved in the database. * @param {ProductImageCreateManyAndReturnArgs} args - Arguments to create many ProductImages. * @example * // Create many ProductImages * const productImage = await prisma.productImage.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many ProductImages and only return the `id` * const productImageWithIdOnly = await prisma.productImage.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a ProductImage. * @param {ProductImageDeleteArgs} args - Arguments to delete one ProductImage. * @example * // Delete one ProductImage * const ProductImage = await prisma.productImage.delete({ * where: { * // ... filter to delete one ProductImage * } * }) * */ delete(args: SelectSubset>): Prisma__ProductImageClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one ProductImage. * @param {ProductImageUpdateArgs} args - Arguments to update one ProductImage. * @example * // Update one ProductImage * const productImage = await prisma.productImage.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__ProductImageClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more ProductImages. * @param {ProductImageDeleteManyArgs} args - Arguments to filter ProductImages to delete. * @example * // Delete a few ProductImages * const { count } = await prisma.productImage.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more ProductImages. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductImageUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many ProductImages * const productImage = await prisma.productImage.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one ProductImage. * @param {ProductImageUpsertArgs} args - Arguments to update or create a ProductImage. * @example * // Update or create a ProductImage * const productImage = await prisma.productImage.upsert({ * create: { * // ... data to create a ProductImage * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the ProductImage we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__ProductImageClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of ProductImages. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductImageCountArgs} args - Arguments to filter ProductImages to count. * @example * // Count the number of ProductImages * const count = await prisma.productImage.count({ * where: { * // ... the filter for the ProductImages we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a ProductImage. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductImageAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by ProductImage. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductImageGroupByArgs} 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 ProductImageGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: ProductImageGroupByArgs['orderBy'] } : { orderBy?: ProductImageGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetProductImageGroupByPayload : Prisma.PrismaPromise /** * Fields of the ProductImage model */ readonly fields: ProductImageFieldRefs; } /** * The delegate class that acts as a "Promise-like" for ProductImage. * 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__ProductImageClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" product = {}>(args?: Subset>): Prisma__ProductClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> variants = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the ProductImage model */ interface ProductImageFieldRefs { readonly id: FieldRef<"ProductImage", 'String'> readonly productId: FieldRef<"ProductImage", 'String'> readonly url: FieldRef<"ProductImage", 'String'> readonly sortOrder: FieldRef<"ProductImage", 'Int'> readonly role: FieldRef<"ProductImage", 'ProductImageRole'> } // Custom InputTypes /** * ProductImage findUnique */ export type ProductImageFindUniqueArgs = { /** * Select specific fields to fetch from the ProductImage */ select?: ProductImageSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductImageInclude | null /** * Filter, which ProductImage to fetch. */ where: ProductImageWhereUniqueInput } /** * ProductImage findUniqueOrThrow */ export type ProductImageFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the ProductImage */ select?: ProductImageSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductImageInclude | null /** * Filter, which ProductImage to fetch. */ where: ProductImageWhereUniqueInput } /** * ProductImage findFirst */ export type ProductImageFindFirstArgs = { /** * Select specific fields to fetch from the ProductImage */ select?: ProductImageSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductImageInclude | null /** * Filter, which ProductImage to fetch. */ where?: ProductImageWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of ProductImages to fetch. */ orderBy?: ProductImageOrderByWithRelationInput | ProductImageOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for ProductImages. */ cursor?: ProductImageWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` ProductImages 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` ProductImages. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of ProductImages. */ distinct?: ProductImageScalarFieldEnum | ProductImageScalarFieldEnum[] } /** * ProductImage findFirstOrThrow */ export type ProductImageFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the ProductImage */ select?: ProductImageSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductImageInclude | null /** * Filter, which ProductImage to fetch. */ where?: ProductImageWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of ProductImages to fetch. */ orderBy?: ProductImageOrderByWithRelationInput | ProductImageOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for ProductImages. */ cursor?: ProductImageWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` ProductImages 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` ProductImages. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of ProductImages. */ distinct?: ProductImageScalarFieldEnum | ProductImageScalarFieldEnum[] } /** * ProductImage findMany */ export type ProductImageFindManyArgs = { /** * Select specific fields to fetch from the ProductImage */ select?: ProductImageSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductImageInclude | null /** * Filter, which ProductImages to fetch. */ where?: ProductImageWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of ProductImages to fetch. */ orderBy?: ProductImageOrderByWithRelationInput | ProductImageOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing ProductImages. */ cursor?: ProductImageWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` ProductImages 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` ProductImages. */ skip?: number distinct?: ProductImageScalarFieldEnum | ProductImageScalarFieldEnum[] } /** * ProductImage create */ export type ProductImageCreateArgs = { /** * Select specific fields to fetch from the ProductImage */ select?: ProductImageSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductImageInclude | null /** * The data needed to create a ProductImage. */ data: XOR } /** * ProductImage createMany */ export type ProductImageCreateManyArgs = { /** * The data used to create many ProductImages. */ data: ProductImageCreateManyInput | ProductImageCreateManyInput[] skipDuplicates?: boolean } /** * ProductImage createManyAndReturn */ export type ProductImageCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the ProductImage */ select?: ProductImageSelectCreateManyAndReturn | null /** * The data used to create many ProductImages. */ data: ProductImageCreateManyInput | ProductImageCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: ProductImageIncludeCreateManyAndReturn | null } /** * ProductImage update */ export type ProductImageUpdateArgs = { /** * Select specific fields to fetch from the ProductImage */ select?: ProductImageSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductImageInclude | null /** * The data needed to update a ProductImage. */ data: XOR /** * Choose, which ProductImage to update. */ where: ProductImageWhereUniqueInput } /** * ProductImage updateMany */ export type ProductImageUpdateManyArgs = { /** * The data used to update ProductImages. */ data: XOR /** * Filter which ProductImages to update */ where?: ProductImageWhereInput } /** * ProductImage upsert */ export type ProductImageUpsertArgs = { /** * Select specific fields to fetch from the ProductImage */ select?: ProductImageSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductImageInclude | null /** * The filter to search for the ProductImage to update in case it exists. */ where: ProductImageWhereUniqueInput /** * In case the ProductImage found by the `where` argument doesn't exist, create a new ProductImage with this data. */ create: XOR /** * In case the ProductImage was found with the provided `where` argument, update it with this data. */ update: XOR } /** * ProductImage delete */ export type ProductImageDeleteArgs = { /** * Select specific fields to fetch from the ProductImage */ select?: ProductImageSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductImageInclude | null /** * Filter which ProductImage to delete. */ where: ProductImageWhereUniqueInput } /** * ProductImage deleteMany */ export type ProductImageDeleteManyArgs = { /** * Filter which ProductImages to delete */ where?: ProductImageWhereInput } /** * ProductImage.variants */ export type ProductImage$variantsArgs = { /** * Select specific fields to fetch from the ProductVariant */ select?: ProductVariantSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductVariantInclude | null where?: ProductVariantWhereInput orderBy?: ProductVariantOrderByWithRelationInput | ProductVariantOrderByWithRelationInput[] cursor?: ProductVariantWhereUniqueInput take?: number skip?: number distinct?: ProductVariantScalarFieldEnum | ProductVariantScalarFieldEnum[] } /** * ProductImage without action */ export type ProductImageDefaultArgs = { /** * Select specific fields to fetch from the ProductImage */ select?: ProductImageSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductImageInclude | null } /** * Model ProductVariant */ export type AggregateProductVariant = { _count: ProductVariantCountAggregateOutputType | null _avg: ProductVariantAvgAggregateOutputType | null _sum: ProductVariantSumAggregateOutputType | null _min: ProductVariantMinAggregateOutputType | null _max: ProductVariantMaxAggregateOutputType | null } export type ProductVariantAvgAggregateOutputType = { rashWeightGrams: Decimal | null defaultWagePercent: Decimal | null qty: number | null } export type ProductVariantSumAggregateOutputType = { rashWeightGrams: Decimal | null defaultWagePercent: Decimal | null qty: number | null } export type ProductVariantMinAggregateOutputType = { id: string | null productId: string | null title: string | null sku: string | null rashWeightGrams: Decimal | null defaultWagePercent: Decimal | null qty: number | null isPreOrder: boolean | null isActive: boolean | null imageId: string | null } export type ProductVariantMaxAggregateOutputType = { id: string | null productId: string | null title: string | null sku: string | null rashWeightGrams: Decimal | null defaultWagePercent: Decimal | null qty: number | null isPreOrder: boolean | null isActive: boolean | null imageId: string | null } export type ProductVariantCountAggregateOutputType = { id: number productId: number title: number sku: number rashWeightGrams: number defaultWagePercent: number qty: number isPreOrder: number isActive: number imageId: number _all: number } export type ProductVariantAvgAggregateInputType = { rashWeightGrams?: true defaultWagePercent?: true qty?: true } export type ProductVariantSumAggregateInputType = { rashWeightGrams?: true defaultWagePercent?: true qty?: true } export type ProductVariantMinAggregateInputType = { id?: true productId?: true title?: true sku?: true rashWeightGrams?: true defaultWagePercent?: true qty?: true isPreOrder?: true isActive?: true imageId?: true } export type ProductVariantMaxAggregateInputType = { id?: true productId?: true title?: true sku?: true rashWeightGrams?: true defaultWagePercent?: true qty?: true isPreOrder?: true isActive?: true imageId?: true } export type ProductVariantCountAggregateInputType = { id?: true productId?: true title?: true sku?: true rashWeightGrams?: true defaultWagePercent?: true qty?: true isPreOrder?: true isActive?: true imageId?: true _all?: true } export type ProductVariantAggregateArgs = { /** * Filter which ProductVariant to aggregate. */ where?: ProductVariantWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of ProductVariants to fetch. */ orderBy?: ProductVariantOrderByWithRelationInput | ProductVariantOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: ProductVariantWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` ProductVariants 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` ProductVariants. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned ProductVariants **/ _count?: true | ProductVariantCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: ProductVariantAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: ProductVariantSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: ProductVariantMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: ProductVariantMaxAggregateInputType } export type GetProductVariantAggregateType = { [P in keyof T & keyof AggregateProductVariant]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type ProductVariantGroupByArgs = { where?: ProductVariantWhereInput orderBy?: ProductVariantOrderByWithAggregationInput | ProductVariantOrderByWithAggregationInput[] by: ProductVariantScalarFieldEnum[] | ProductVariantScalarFieldEnum having?: ProductVariantScalarWhereWithAggregatesInput take?: number skip?: number _count?: ProductVariantCountAggregateInputType | true _avg?: ProductVariantAvgAggregateInputType _sum?: ProductVariantSumAggregateInputType _min?: ProductVariantMinAggregateInputType _max?: ProductVariantMaxAggregateInputType } export type ProductVariantGroupByOutputType = { id: string productId: string title: string sku: string | null rashWeightGrams: Decimal defaultWagePercent: Decimal qty: number isPreOrder: boolean isActive: boolean imageId: string | null _count: ProductVariantCountAggregateOutputType | null _avg: ProductVariantAvgAggregateOutputType | null _sum: ProductVariantSumAggregateOutputType | null _min: ProductVariantMinAggregateOutputType | null _max: ProductVariantMaxAggregateOutputType | null } type GetProductVariantGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof ProductVariantGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type ProductVariantSelect = $Extensions.GetSelect<{ id?: boolean productId?: boolean title?: boolean sku?: boolean rashWeightGrams?: boolean defaultWagePercent?: boolean qty?: boolean isPreOrder?: boolean isActive?: boolean imageId?: boolean product?: boolean | ProductDefaultArgs image?: boolean | ProductVariant$imageArgs orderItems?: boolean | ProductVariant$orderItemsArgs _count?: boolean | ProductVariantCountOutputTypeDefaultArgs }, ExtArgs["result"]["productVariant"]> export type ProductVariantSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean productId?: boolean title?: boolean sku?: boolean rashWeightGrams?: boolean defaultWagePercent?: boolean qty?: boolean isPreOrder?: boolean isActive?: boolean imageId?: boolean product?: boolean | ProductDefaultArgs image?: boolean | ProductVariant$imageArgs }, ExtArgs["result"]["productVariant"]> export type ProductVariantSelectScalar = { id?: boolean productId?: boolean title?: boolean sku?: boolean rashWeightGrams?: boolean defaultWagePercent?: boolean qty?: boolean isPreOrder?: boolean isActive?: boolean imageId?: boolean } export type ProductVariantInclude = { product?: boolean | ProductDefaultArgs image?: boolean | ProductVariant$imageArgs orderItems?: boolean | ProductVariant$orderItemsArgs _count?: boolean | ProductVariantCountOutputTypeDefaultArgs } export type ProductVariantIncludeCreateManyAndReturn = { product?: boolean | ProductDefaultArgs image?: boolean | ProductVariant$imageArgs } export type $ProductVariantPayload = { name: "ProductVariant" objects: { product: Prisma.$ProductPayload image: Prisma.$ProductImagePayload | null orderItems: Prisma.$OrderItemPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string productId: string title: string sku: string | null /** * Base/raw weight before making charge ("rash weight"). */ rashWeightGrams: Prisma.Decimal /** * Default making-charge percentage applied on top of rash weight. */ defaultWagePercent: Prisma.Decimal /** * Legacy ProductVariant.qty — on-hand stock. The cart refuses a variant with * qty 0 unless it is flagged pre-order, so both fields are required for that * guard to work (see apps/admin-panel/src/stores/cart.ts). */ qty: number /** * Legacy is_pre_order: orderable even at zero stock. */ isPreOrder: boolean isActive: boolean /** * The gallery image shown for this variant, picked from its own product's * images — never a re-uploaded copy. onDelete: SetNull because dropping an * image must never cascade into the variant: OrderItem rows reference * variants, so losing one would break order history. */ imageId: string | null }, ExtArgs["result"]["productVariant"]> composites: {} } type ProductVariantGetPayload = $Result.GetResult type ProductVariantCountArgs = Omit & { select?: ProductVariantCountAggregateInputType | true } export interface ProductVariantDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['ProductVariant'], meta: { name: 'ProductVariant' } } /** * Find zero or one ProductVariant that matches the filter. * @param {ProductVariantFindUniqueArgs} args - Arguments to find a ProductVariant * @example * // Get one ProductVariant * const productVariant = await prisma.productVariant.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__ProductVariantClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one ProductVariant that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {ProductVariantFindUniqueOrThrowArgs} args - Arguments to find a ProductVariant * @example * // Get one ProductVariant * const productVariant = await prisma.productVariant.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__ProductVariantClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first ProductVariant 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 {ProductVariantFindFirstArgs} args - Arguments to find a ProductVariant * @example * // Get one ProductVariant * const productVariant = await prisma.productVariant.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__ProductVariantClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first ProductVariant 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 {ProductVariantFindFirstOrThrowArgs} args - Arguments to find a ProductVariant * @example * // Get one ProductVariant * const productVariant = await prisma.productVariant.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__ProductVariantClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more ProductVariants 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 {ProductVariantFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all ProductVariants * const productVariants = await prisma.productVariant.findMany() * * // Get first 10 ProductVariants * const productVariants = await prisma.productVariant.findMany({ take: 10 }) * * // Only select the `id` * const productVariantWithIdOnly = await prisma.productVariant.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a ProductVariant. * @param {ProductVariantCreateArgs} args - Arguments to create a ProductVariant. * @example * // Create one ProductVariant * const ProductVariant = await prisma.productVariant.create({ * data: { * // ... data to create a ProductVariant * } * }) * */ create(args: SelectSubset>): Prisma__ProductVariantClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many ProductVariants. * @param {ProductVariantCreateManyArgs} args - Arguments to create many ProductVariants. * @example * // Create many ProductVariants * const productVariant = await prisma.productVariant.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many ProductVariants and returns the data saved in the database. * @param {ProductVariantCreateManyAndReturnArgs} args - Arguments to create many ProductVariants. * @example * // Create many ProductVariants * const productVariant = await prisma.productVariant.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many ProductVariants and only return the `id` * const productVariantWithIdOnly = await prisma.productVariant.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a ProductVariant. * @param {ProductVariantDeleteArgs} args - Arguments to delete one ProductVariant. * @example * // Delete one ProductVariant * const ProductVariant = await prisma.productVariant.delete({ * where: { * // ... filter to delete one ProductVariant * } * }) * */ delete(args: SelectSubset>): Prisma__ProductVariantClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one ProductVariant. * @param {ProductVariantUpdateArgs} args - Arguments to update one ProductVariant. * @example * // Update one ProductVariant * const productVariant = await prisma.productVariant.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__ProductVariantClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more ProductVariants. * @param {ProductVariantDeleteManyArgs} args - Arguments to filter ProductVariants to delete. * @example * // Delete a few ProductVariants * const { count } = await prisma.productVariant.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more ProductVariants. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductVariantUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many ProductVariants * const productVariant = await prisma.productVariant.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one ProductVariant. * @param {ProductVariantUpsertArgs} args - Arguments to update or create a ProductVariant. * @example * // Update or create a ProductVariant * const productVariant = await prisma.productVariant.upsert({ * create: { * // ... data to create a ProductVariant * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the ProductVariant we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__ProductVariantClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of ProductVariants. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductVariantCountArgs} args - Arguments to filter ProductVariants to count. * @example * // Count the number of ProductVariants * const count = await prisma.productVariant.count({ * where: { * // ... the filter for the ProductVariants we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a ProductVariant. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductVariantAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by ProductVariant. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductVariantGroupByArgs} 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 ProductVariantGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: ProductVariantGroupByArgs['orderBy'] } : { orderBy?: ProductVariantGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetProductVariantGroupByPayload : Prisma.PrismaPromise /** * Fields of the ProductVariant model */ readonly fields: ProductVariantFieldRefs; } /** * The delegate class that acts as a "Promise-like" for ProductVariant. * 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__ProductVariantClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" product = {}>(args?: Subset>): Prisma__ProductClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> image = {}>(args?: Subset>): Prisma__ProductImageClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> orderItems = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the ProductVariant model */ interface ProductVariantFieldRefs { readonly id: FieldRef<"ProductVariant", 'String'> readonly productId: FieldRef<"ProductVariant", 'String'> readonly title: FieldRef<"ProductVariant", 'String'> readonly sku: FieldRef<"ProductVariant", 'String'> readonly rashWeightGrams: FieldRef<"ProductVariant", 'Decimal'> readonly defaultWagePercent: FieldRef<"ProductVariant", 'Decimal'> readonly qty: FieldRef<"ProductVariant", 'Int'> readonly isPreOrder: FieldRef<"ProductVariant", 'Boolean'> readonly isActive: FieldRef<"ProductVariant", 'Boolean'> readonly imageId: FieldRef<"ProductVariant", 'String'> } // Custom InputTypes /** * ProductVariant findUnique */ export type ProductVariantFindUniqueArgs = { /** * Select specific fields to fetch from the ProductVariant */ select?: ProductVariantSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductVariantInclude | null /** * Filter, which ProductVariant to fetch. */ where: ProductVariantWhereUniqueInput } /** * ProductVariant findUniqueOrThrow */ export type ProductVariantFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the ProductVariant */ select?: ProductVariantSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductVariantInclude | null /** * Filter, which ProductVariant to fetch. */ where: ProductVariantWhereUniqueInput } /** * ProductVariant findFirst */ export type ProductVariantFindFirstArgs = { /** * Select specific fields to fetch from the ProductVariant */ select?: ProductVariantSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductVariantInclude | null /** * Filter, which ProductVariant to fetch. */ where?: ProductVariantWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of ProductVariants to fetch. */ orderBy?: ProductVariantOrderByWithRelationInput | ProductVariantOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for ProductVariants. */ cursor?: ProductVariantWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` ProductVariants 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` ProductVariants. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of ProductVariants. */ distinct?: ProductVariantScalarFieldEnum | ProductVariantScalarFieldEnum[] } /** * ProductVariant findFirstOrThrow */ export type ProductVariantFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the ProductVariant */ select?: ProductVariantSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductVariantInclude | null /** * Filter, which ProductVariant to fetch. */ where?: ProductVariantWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of ProductVariants to fetch. */ orderBy?: ProductVariantOrderByWithRelationInput | ProductVariantOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for ProductVariants. */ cursor?: ProductVariantWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` ProductVariants 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` ProductVariants. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of ProductVariants. */ distinct?: ProductVariantScalarFieldEnum | ProductVariantScalarFieldEnum[] } /** * ProductVariant findMany */ export type ProductVariantFindManyArgs = { /** * Select specific fields to fetch from the ProductVariant */ select?: ProductVariantSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductVariantInclude | null /** * Filter, which ProductVariants to fetch. */ where?: ProductVariantWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of ProductVariants to fetch. */ orderBy?: ProductVariantOrderByWithRelationInput | ProductVariantOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing ProductVariants. */ cursor?: ProductVariantWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` ProductVariants 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` ProductVariants. */ skip?: number distinct?: ProductVariantScalarFieldEnum | ProductVariantScalarFieldEnum[] } /** * ProductVariant create */ export type ProductVariantCreateArgs = { /** * Select specific fields to fetch from the ProductVariant */ select?: ProductVariantSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductVariantInclude | null /** * The data needed to create a ProductVariant. */ data: XOR } /** * ProductVariant createMany */ export type ProductVariantCreateManyArgs = { /** * The data used to create many ProductVariants. */ data: ProductVariantCreateManyInput | ProductVariantCreateManyInput[] skipDuplicates?: boolean } /** * ProductVariant createManyAndReturn */ export type ProductVariantCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the ProductVariant */ select?: ProductVariantSelectCreateManyAndReturn | null /** * The data used to create many ProductVariants. */ data: ProductVariantCreateManyInput | ProductVariantCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: ProductVariantIncludeCreateManyAndReturn | null } /** * ProductVariant update */ export type ProductVariantUpdateArgs = { /** * Select specific fields to fetch from the ProductVariant */ select?: ProductVariantSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductVariantInclude | null /** * The data needed to update a ProductVariant. */ data: XOR /** * Choose, which ProductVariant to update. */ where: ProductVariantWhereUniqueInput } /** * ProductVariant updateMany */ export type ProductVariantUpdateManyArgs = { /** * The data used to update ProductVariants. */ data: XOR /** * Filter which ProductVariants to update */ where?: ProductVariantWhereInput } /** * ProductVariant upsert */ export type ProductVariantUpsertArgs = { /** * Select specific fields to fetch from the ProductVariant */ select?: ProductVariantSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductVariantInclude | null /** * The filter to search for the ProductVariant to update in case it exists. */ where: ProductVariantWhereUniqueInput /** * In case the ProductVariant found by the `where` argument doesn't exist, create a new ProductVariant with this data. */ create: XOR /** * In case the ProductVariant was found with the provided `where` argument, update it with this data. */ update: XOR } /** * ProductVariant delete */ export type ProductVariantDeleteArgs = { /** * Select specific fields to fetch from the ProductVariant */ select?: ProductVariantSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductVariantInclude | null /** * Filter which ProductVariant to delete. */ where: ProductVariantWhereUniqueInput } /** * ProductVariant deleteMany */ export type ProductVariantDeleteManyArgs = { /** * Filter which ProductVariants to delete */ where?: ProductVariantWhereInput } /** * ProductVariant.image */ export type ProductVariant$imageArgs = { /** * Select specific fields to fetch from the ProductImage */ select?: ProductImageSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductImageInclude | null where?: ProductImageWhereInput } /** * ProductVariant.orderItems */ export type ProductVariant$orderItemsArgs = { /** * Select specific fields to fetch from the OrderItem */ select?: OrderItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderItemInclude | null where?: OrderItemWhereInput orderBy?: OrderItemOrderByWithRelationInput | OrderItemOrderByWithRelationInput[] cursor?: OrderItemWhereUniqueInput take?: number skip?: number distinct?: OrderItemScalarFieldEnum | OrderItemScalarFieldEnum[] } /** * ProductVariant without action */ export type ProductVariantDefaultArgs = { /** * Select specific fields to fetch from the ProductVariant */ select?: ProductVariantSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductVariantInclude | null } /** * Model Order */ export type AggregateOrder = { _count: OrderCountAggregateOutputType | null _avg: OrderAvgAggregateOutputType | null _sum: OrderSumAggregateOutputType | null _min: OrderMinAggregateOutputType | null _max: OrderMaxAggregateOutputType | null } export type OrderAvgAggregateOutputType = { totalGoldWeightGrams: Decimal | null wageWeightGrams: Decimal | null flatRialCharge: Decimal | null } export type OrderSumAggregateOutputType = { totalGoldWeightGrams: Decimal | null wageWeightGrams: Decimal | null flatRialCharge: Decimal | null } export type OrderMinAggregateOutputType = { id: string | null orderNumber: string | null customerId: string | null branchId: string | null channel: $Enums.OrderChannel | null status: $Enums.OrderStatus | null totalGoldWeightGrams: Decimal | null wageWeightGrams: Decimal | null flatRialCharge: Decimal | null isSuspendedOverCreditLimit: boolean | null deliveredAt: Date | null createdAt: Date | null updatedAt: Date | null } export type OrderMaxAggregateOutputType = { id: string | null orderNumber: string | null customerId: string | null branchId: string | null channel: $Enums.OrderChannel | null status: $Enums.OrderStatus | null totalGoldWeightGrams: Decimal | null wageWeightGrams: Decimal | null flatRialCharge: Decimal | null isSuspendedOverCreditLimit: boolean | null deliveredAt: Date | null createdAt: Date | null updatedAt: Date | null } export type OrderCountAggregateOutputType = { id: number orderNumber: number customerId: number branchId: number channel: number status: number totalGoldWeightGrams: number wageWeightGrams: number flatRialCharge: number isSuspendedOverCreditLimit: number deliveredAt: number createdAt: number updatedAt: number _all: number } export type OrderAvgAggregateInputType = { totalGoldWeightGrams?: true wageWeightGrams?: true flatRialCharge?: true } export type OrderSumAggregateInputType = { totalGoldWeightGrams?: true wageWeightGrams?: true flatRialCharge?: true } export type OrderMinAggregateInputType = { id?: true orderNumber?: true customerId?: true branchId?: true channel?: true status?: true totalGoldWeightGrams?: true wageWeightGrams?: true flatRialCharge?: true isSuspendedOverCreditLimit?: true deliveredAt?: true createdAt?: true updatedAt?: true } export type OrderMaxAggregateInputType = { id?: true orderNumber?: true customerId?: true branchId?: true channel?: true status?: true totalGoldWeightGrams?: true wageWeightGrams?: true flatRialCharge?: true isSuspendedOverCreditLimit?: true deliveredAt?: true createdAt?: true updatedAt?: true } export type OrderCountAggregateInputType = { id?: true orderNumber?: true customerId?: true branchId?: true channel?: true status?: true totalGoldWeightGrams?: true wageWeightGrams?: true flatRialCharge?: true isSuspendedOverCreditLimit?: true deliveredAt?: true createdAt?: true updatedAt?: true _all?: true } export type OrderAggregateArgs = { /** * Filter which Order to aggregate. */ where?: OrderWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Orders to fetch. */ orderBy?: OrderOrderByWithRelationInput | OrderOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: OrderWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Orders 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` Orders. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Orders **/ _count?: true | OrderCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: OrderAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: OrderSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: OrderMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: OrderMaxAggregateInputType } export type GetOrderAggregateType = { [P in keyof T & keyof AggregateOrder]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type OrderGroupByArgs = { where?: OrderWhereInput orderBy?: OrderOrderByWithAggregationInput | OrderOrderByWithAggregationInput[] by: OrderScalarFieldEnum[] | OrderScalarFieldEnum having?: OrderScalarWhereWithAggregatesInput take?: number skip?: number _count?: OrderCountAggregateInputType | true _avg?: OrderAvgAggregateInputType _sum?: OrderSumAggregateInputType _min?: OrderMinAggregateInputType _max?: OrderMaxAggregateInputType } export type OrderGroupByOutputType = { id: string orderNumber: string customerId: string branchId: string | null channel: $Enums.OrderChannel status: $Enums.OrderStatus totalGoldWeightGrams: Decimal wageWeightGrams: Decimal flatRialCharge: Decimal isSuspendedOverCreditLimit: boolean deliveredAt: Date | null createdAt: Date updatedAt: Date _count: OrderCountAggregateOutputType | null _avg: OrderAvgAggregateOutputType | null _sum: OrderSumAggregateOutputType | null _min: OrderMinAggregateOutputType | null _max: OrderMaxAggregateOutputType | null } type GetOrderGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof OrderGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type OrderSelect = $Extensions.GetSelect<{ id?: boolean orderNumber?: boolean customerId?: boolean branchId?: boolean channel?: boolean status?: boolean totalGoldWeightGrams?: boolean wageWeightGrams?: boolean flatRialCharge?: boolean isSuspendedOverCreditLimit?: boolean deliveredAt?: boolean createdAt?: boolean updatedAt?: boolean customer?: boolean | CustomerDefaultArgs branch?: boolean | Order$branchArgs items?: boolean | Order$itemsArgs statusEvents?: boolean | Order$statusEventsArgs ledgerEntries?: boolean | Order$ledgerEntriesArgs convertedFromPreOrder?: boolean | Order$convertedFromPreOrderArgs _count?: boolean | OrderCountOutputTypeDefaultArgs }, ExtArgs["result"]["order"]> export type OrderSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean orderNumber?: boolean customerId?: boolean branchId?: boolean channel?: boolean status?: boolean totalGoldWeightGrams?: boolean wageWeightGrams?: boolean flatRialCharge?: boolean isSuspendedOverCreditLimit?: boolean deliveredAt?: boolean createdAt?: boolean updatedAt?: boolean customer?: boolean | CustomerDefaultArgs branch?: boolean | Order$branchArgs }, ExtArgs["result"]["order"]> export type OrderSelectScalar = { id?: boolean orderNumber?: boolean customerId?: boolean branchId?: boolean channel?: boolean status?: boolean totalGoldWeightGrams?: boolean wageWeightGrams?: boolean flatRialCharge?: boolean isSuspendedOverCreditLimit?: boolean deliveredAt?: boolean createdAt?: boolean updatedAt?: boolean } export type OrderInclude = { customer?: boolean | CustomerDefaultArgs branch?: boolean | Order$branchArgs items?: boolean | Order$itemsArgs statusEvents?: boolean | Order$statusEventsArgs ledgerEntries?: boolean | Order$ledgerEntriesArgs convertedFromPreOrder?: boolean | Order$convertedFromPreOrderArgs _count?: boolean | OrderCountOutputTypeDefaultArgs } export type OrderIncludeCreateManyAndReturn = { customer?: boolean | CustomerDefaultArgs branch?: boolean | Order$branchArgs } export type $OrderPayload = { name: "Order" objects: { customer: Prisma.$CustomerPayload branch: Prisma.$BranchPayload | null items: Prisma.$OrderItemPayload[] statusEvents: Prisma.$OrderStatusEventPayload[] ledgerEntries: Prisma.$LedgerEntryPayload[] convertedFromPreOrder: Prisma.$PreOrderPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string orderNumber: string customerId: string branchId: string | null /** * Which sales channel placed this order — see OrderChannel. */ channel: $Enums.OrderChannel status: $Enums.OrderStatus /** * Total gold weight incl. wage across all items ("allGram" / order.w). */ totalGoldWeightGrams: Prisma.Decimal /** * Pure making-charge weight component (totalGoldWeightGrams minus raw weight sum). */ wageWeightGrams: Prisma.Decimal /** * Flat Rial charge independent of gold price (e.g. stones) — legacy rial_input. */ flatRialCharge: Prisma.Decimal isSuspendedOverCreditLimit: boolean deliveredAt: Date | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["order"]> composites: {} } type OrderGetPayload = $Result.GetResult type OrderCountArgs = Omit & { select?: OrderCountAggregateInputType | true } export interface OrderDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Order'], meta: { name: 'Order' } } /** * Find zero or one Order that matches the filter. * @param {OrderFindUniqueArgs} args - Arguments to find a Order * @example * // Get one Order * const order = await prisma.order.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__OrderClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Order that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {OrderFindUniqueOrThrowArgs} args - Arguments to find a Order * @example * // Get one Order * const order = await prisma.order.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__OrderClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Order 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 {OrderFindFirstArgs} args - Arguments to find a Order * @example * // Get one Order * const order = await prisma.order.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__OrderClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Order 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 {OrderFindFirstOrThrowArgs} args - Arguments to find a Order * @example * // Get one Order * const order = await prisma.order.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__OrderClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Orders 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 {OrderFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Orders * const orders = await prisma.order.findMany() * * // Get first 10 Orders * const orders = await prisma.order.findMany({ take: 10 }) * * // Only select the `id` * const orderWithIdOnly = await prisma.order.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Order. * @param {OrderCreateArgs} args - Arguments to create a Order. * @example * // Create one Order * const Order = await prisma.order.create({ * data: { * // ... data to create a Order * } * }) * */ create(args: SelectSubset>): Prisma__OrderClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Orders. * @param {OrderCreateManyArgs} args - Arguments to create many Orders. * @example * // Create many Orders * const order = await prisma.order.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Orders and returns the data saved in the database. * @param {OrderCreateManyAndReturnArgs} args - Arguments to create many Orders. * @example * // Create many Orders * const order = await prisma.order.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Orders and only return the `id` * const orderWithIdOnly = await prisma.order.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Order. * @param {OrderDeleteArgs} args - Arguments to delete one Order. * @example * // Delete one Order * const Order = await prisma.order.delete({ * where: { * // ... filter to delete one Order * } * }) * */ delete(args: SelectSubset>): Prisma__OrderClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Order. * @param {OrderUpdateArgs} args - Arguments to update one Order. * @example * // Update one Order * const order = await prisma.order.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__OrderClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Orders. * @param {OrderDeleteManyArgs} args - Arguments to filter Orders to delete. * @example * // Delete a few Orders * const { count } = await prisma.order.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Orders. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {OrderUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Orders * const order = await prisma.order.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Order. * @param {OrderUpsertArgs} args - Arguments to update or create a Order. * @example * // Update or create a Order * const order = await prisma.order.upsert({ * create: { * // ... data to create a Order * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Order we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__OrderClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Orders. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {OrderCountArgs} args - Arguments to filter Orders to count. * @example * // Count the number of Orders * const count = await prisma.order.count({ * where: { * // ... the filter for the Orders we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Order. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {OrderAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by Order. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {OrderGroupByArgs} 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 OrderGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: OrderGroupByArgs['orderBy'] } : { orderBy?: OrderGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetOrderGroupByPayload : Prisma.PrismaPromise /** * Fields of the Order model */ readonly fields: OrderFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Order. * 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__OrderClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" customer = {}>(args?: Subset>): Prisma__CustomerClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> branch = {}>(args?: Subset>): Prisma__BranchClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> items = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> statusEvents = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> ledgerEntries = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> convertedFromPreOrder = {}>(args?: Subset>): Prisma__PreOrderClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the Order model */ interface OrderFieldRefs { readonly id: FieldRef<"Order", 'String'> readonly orderNumber: FieldRef<"Order", 'String'> readonly customerId: FieldRef<"Order", 'String'> readonly branchId: FieldRef<"Order", 'String'> readonly channel: FieldRef<"Order", 'OrderChannel'> readonly status: FieldRef<"Order", 'OrderStatus'> readonly totalGoldWeightGrams: FieldRef<"Order", 'Decimal'> readonly wageWeightGrams: FieldRef<"Order", 'Decimal'> readonly flatRialCharge: FieldRef<"Order", 'Decimal'> readonly isSuspendedOverCreditLimit: FieldRef<"Order", 'Boolean'> readonly deliveredAt: FieldRef<"Order", 'DateTime'> readonly createdAt: FieldRef<"Order", 'DateTime'> readonly updatedAt: FieldRef<"Order", 'DateTime'> } // Custom InputTypes /** * Order findUnique */ export type OrderFindUniqueArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null /** * Filter, which Order to fetch. */ where: OrderWhereUniqueInput } /** * Order findUniqueOrThrow */ export type OrderFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null /** * Filter, which Order to fetch. */ where: OrderWhereUniqueInput } /** * Order findFirst */ export type OrderFindFirstArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null /** * Filter, which Order to fetch. */ where?: OrderWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Orders to fetch. */ orderBy?: OrderOrderByWithRelationInput | OrderOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Orders. */ cursor?: OrderWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Orders 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` Orders. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Orders. */ distinct?: OrderScalarFieldEnum | OrderScalarFieldEnum[] } /** * Order findFirstOrThrow */ export type OrderFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null /** * Filter, which Order to fetch. */ where?: OrderWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Orders to fetch. */ orderBy?: OrderOrderByWithRelationInput | OrderOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Orders. */ cursor?: OrderWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Orders 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` Orders. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Orders. */ distinct?: OrderScalarFieldEnum | OrderScalarFieldEnum[] } /** * Order findMany */ export type OrderFindManyArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null /** * Filter, which Orders to fetch. */ where?: OrderWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Orders to fetch. */ orderBy?: OrderOrderByWithRelationInput | OrderOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Orders. */ cursor?: OrderWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Orders 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` Orders. */ skip?: number distinct?: OrderScalarFieldEnum | OrderScalarFieldEnum[] } /** * Order create */ export type OrderCreateArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null /** * The data needed to create a Order. */ data: XOR } /** * Order createMany */ export type OrderCreateManyArgs = { /** * The data used to create many Orders. */ data: OrderCreateManyInput | OrderCreateManyInput[] skipDuplicates?: boolean } /** * Order createManyAndReturn */ export type OrderCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelectCreateManyAndReturn | null /** * The data used to create many Orders. */ data: OrderCreateManyInput | OrderCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: OrderIncludeCreateManyAndReturn | null } /** * Order update */ export type OrderUpdateArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null /** * The data needed to update a Order. */ data: XOR /** * Choose, which Order to update. */ where: OrderWhereUniqueInput } /** * Order updateMany */ export type OrderUpdateManyArgs = { /** * The data used to update Orders. */ data: XOR /** * Filter which Orders to update */ where?: OrderWhereInput } /** * Order upsert */ export type OrderUpsertArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null /** * The filter to search for the Order to update in case it exists. */ where: OrderWhereUniqueInput /** * In case the Order found by the `where` argument doesn't exist, create a new Order with this data. */ create: XOR /** * In case the Order was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Order delete */ export type OrderDeleteArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null /** * Filter which Order to delete. */ where: OrderWhereUniqueInput } /** * Order deleteMany */ export type OrderDeleteManyArgs = { /** * Filter which Orders to delete */ where?: OrderWhereInput } /** * Order.branch */ export type Order$branchArgs = { /** * Select specific fields to fetch from the Branch */ select?: BranchSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchInclude | null where?: BranchWhereInput } /** * Order.items */ export type Order$itemsArgs = { /** * Select specific fields to fetch from the OrderItem */ select?: OrderItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderItemInclude | null where?: OrderItemWhereInput orderBy?: OrderItemOrderByWithRelationInput | OrderItemOrderByWithRelationInput[] cursor?: OrderItemWhereUniqueInput take?: number skip?: number distinct?: OrderItemScalarFieldEnum | OrderItemScalarFieldEnum[] } /** * Order.statusEvents */ export type Order$statusEventsArgs = { /** * Select specific fields to fetch from the OrderStatusEvent */ select?: OrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderStatusEventInclude | null where?: OrderStatusEventWhereInput orderBy?: OrderStatusEventOrderByWithRelationInput | OrderStatusEventOrderByWithRelationInput[] cursor?: OrderStatusEventWhereUniqueInput take?: number skip?: number distinct?: OrderStatusEventScalarFieldEnum | OrderStatusEventScalarFieldEnum[] } /** * Order.ledgerEntries */ export type Order$ledgerEntriesArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelect | null /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryInclude | null where?: LedgerEntryWhereInput orderBy?: LedgerEntryOrderByWithRelationInput | LedgerEntryOrderByWithRelationInput[] cursor?: LedgerEntryWhereUniqueInput take?: number skip?: number distinct?: LedgerEntryScalarFieldEnum | LedgerEntryScalarFieldEnum[] } /** * Order.convertedFromPreOrder */ export type Order$convertedFromPreOrderArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null where?: PreOrderWhereInput } /** * Order without action */ export type OrderDefaultArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null } /** * Model OrderItem */ export type AggregateOrderItem = { _count: OrderItemCountAggregateOutputType | null _avg: OrderItemAvgAggregateOutputType | null _sum: OrderItemSumAggregateOutputType | null _min: OrderItemMinAggregateOutputType | null _max: OrderItemMaxAggregateOutputType | null } export type OrderItemAvgAggregateOutputType = { quantity: number | null rashWeightGramsSnapshot: Decimal | null wagePercentSnapshot: Decimal | null discountPercentSnapshot: Decimal | null computedWeightGrams: Decimal | null flatRialCharge: Decimal | null } export type OrderItemSumAggregateOutputType = { quantity: number | null rashWeightGramsSnapshot: Decimal | null wagePercentSnapshot: Decimal | null discountPercentSnapshot: Decimal | null computedWeightGrams: Decimal | null flatRialCharge: Decimal | null } export type OrderItemMinAggregateOutputType = { id: string | null orderId: string | null productVariantId: string | null quantity: number | null rashWeightGramsSnapshot: Decimal | null wagePercentSnapshot: Decimal | null discountPercentSnapshot: Decimal | null computedWeightGrams: Decimal | null flatRialCharge: Decimal | null } export type OrderItemMaxAggregateOutputType = { id: string | null orderId: string | null productVariantId: string | null quantity: number | null rashWeightGramsSnapshot: Decimal | null wagePercentSnapshot: Decimal | null discountPercentSnapshot: Decimal | null computedWeightGrams: Decimal | null flatRialCharge: Decimal | null } export type OrderItemCountAggregateOutputType = { id: number orderId: number productVariantId: number quantity: number rashWeightGramsSnapshot: number wagePercentSnapshot: number discountPercentSnapshot: number computedWeightGrams: number flatRialCharge: number _all: number } export type OrderItemAvgAggregateInputType = { quantity?: true rashWeightGramsSnapshot?: true wagePercentSnapshot?: true discountPercentSnapshot?: true computedWeightGrams?: true flatRialCharge?: true } export type OrderItemSumAggregateInputType = { quantity?: true rashWeightGramsSnapshot?: true wagePercentSnapshot?: true discountPercentSnapshot?: true computedWeightGrams?: true flatRialCharge?: true } export type OrderItemMinAggregateInputType = { id?: true orderId?: true productVariantId?: true quantity?: true rashWeightGramsSnapshot?: true wagePercentSnapshot?: true discountPercentSnapshot?: true computedWeightGrams?: true flatRialCharge?: true } export type OrderItemMaxAggregateInputType = { id?: true orderId?: true productVariantId?: true quantity?: true rashWeightGramsSnapshot?: true wagePercentSnapshot?: true discountPercentSnapshot?: true computedWeightGrams?: true flatRialCharge?: true } export type OrderItemCountAggregateInputType = { id?: true orderId?: true productVariantId?: true quantity?: true rashWeightGramsSnapshot?: true wagePercentSnapshot?: true discountPercentSnapshot?: true computedWeightGrams?: true flatRialCharge?: true _all?: true } export type OrderItemAggregateArgs = { /** * Filter which OrderItem to aggregate. */ where?: OrderItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of OrderItems to fetch. */ orderBy?: OrderItemOrderByWithRelationInput | OrderItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: OrderItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` OrderItems 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` OrderItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned OrderItems **/ _count?: true | OrderItemCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: OrderItemAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: OrderItemSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: OrderItemMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: OrderItemMaxAggregateInputType } export type GetOrderItemAggregateType = { [P in keyof T & keyof AggregateOrderItem]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type OrderItemGroupByArgs = { where?: OrderItemWhereInput orderBy?: OrderItemOrderByWithAggregationInput | OrderItemOrderByWithAggregationInput[] by: OrderItemScalarFieldEnum[] | OrderItemScalarFieldEnum having?: OrderItemScalarWhereWithAggregatesInput take?: number skip?: number _count?: OrderItemCountAggregateInputType | true _avg?: OrderItemAvgAggregateInputType _sum?: OrderItemSumAggregateInputType _min?: OrderItemMinAggregateInputType _max?: OrderItemMaxAggregateInputType } export type OrderItemGroupByOutputType = { id: string orderId: string productVariantId: string quantity: number rashWeightGramsSnapshot: Decimal wagePercentSnapshot: Decimal discountPercentSnapshot: Decimal computedWeightGrams: Decimal flatRialCharge: Decimal _count: OrderItemCountAggregateOutputType | null _avg: OrderItemAvgAggregateOutputType | null _sum: OrderItemSumAggregateOutputType | null _min: OrderItemMinAggregateOutputType | null _max: OrderItemMaxAggregateOutputType | null } type GetOrderItemGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof OrderItemGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type OrderItemSelect = $Extensions.GetSelect<{ id?: boolean orderId?: boolean productVariantId?: boolean quantity?: boolean rashWeightGramsSnapshot?: boolean wagePercentSnapshot?: boolean discountPercentSnapshot?: boolean computedWeightGrams?: boolean flatRialCharge?: boolean order?: boolean | OrderDefaultArgs productVariant?: boolean | ProductVariantDefaultArgs }, ExtArgs["result"]["orderItem"]> export type OrderItemSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean orderId?: boolean productVariantId?: boolean quantity?: boolean rashWeightGramsSnapshot?: boolean wagePercentSnapshot?: boolean discountPercentSnapshot?: boolean computedWeightGrams?: boolean flatRialCharge?: boolean order?: boolean | OrderDefaultArgs productVariant?: boolean | ProductVariantDefaultArgs }, ExtArgs["result"]["orderItem"]> export type OrderItemSelectScalar = { id?: boolean orderId?: boolean productVariantId?: boolean quantity?: boolean rashWeightGramsSnapshot?: boolean wagePercentSnapshot?: boolean discountPercentSnapshot?: boolean computedWeightGrams?: boolean flatRialCharge?: boolean } export type OrderItemInclude = { order?: boolean | OrderDefaultArgs productVariant?: boolean | ProductVariantDefaultArgs } export type OrderItemIncludeCreateManyAndReturn = { order?: boolean | OrderDefaultArgs productVariant?: boolean | ProductVariantDefaultArgs } export type $OrderItemPayload = { name: "OrderItem" objects: { order: Prisma.$OrderPayload productVariant: Prisma.$ProductVariantPayload } scalars: $Extensions.GetPayloadResult<{ id: string orderId: string productVariantId: string quantity: number rashWeightGramsSnapshot: Prisma.Decimal wagePercentSnapshot: Prisma.Decimal discountPercentSnapshot: Prisma.Decimal /** * computed: rash*(1 + (wagePercent-discount)/100) */ computedWeightGrams: Prisma.Decimal flatRialCharge: Prisma.Decimal }, ExtArgs["result"]["orderItem"]> composites: {} } type OrderItemGetPayload = $Result.GetResult type OrderItemCountArgs = Omit & { select?: OrderItemCountAggregateInputType | true } export interface OrderItemDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['OrderItem'], meta: { name: 'OrderItem' } } /** * Find zero or one OrderItem that matches the filter. * @param {OrderItemFindUniqueArgs} args - Arguments to find a OrderItem * @example * // Get one OrderItem * const orderItem = await prisma.orderItem.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__OrderItemClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one OrderItem that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {OrderItemFindUniqueOrThrowArgs} args - Arguments to find a OrderItem * @example * // Get one OrderItem * const orderItem = await prisma.orderItem.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__OrderItemClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first OrderItem 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 {OrderItemFindFirstArgs} args - Arguments to find a OrderItem * @example * // Get one OrderItem * const orderItem = await prisma.orderItem.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__OrderItemClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first OrderItem 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 {OrderItemFindFirstOrThrowArgs} args - Arguments to find a OrderItem * @example * // Get one OrderItem * const orderItem = await prisma.orderItem.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__OrderItemClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more OrderItems 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 {OrderItemFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all OrderItems * const orderItems = await prisma.orderItem.findMany() * * // Get first 10 OrderItems * const orderItems = await prisma.orderItem.findMany({ take: 10 }) * * // Only select the `id` * const orderItemWithIdOnly = await prisma.orderItem.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a OrderItem. * @param {OrderItemCreateArgs} args - Arguments to create a OrderItem. * @example * // Create one OrderItem * const OrderItem = await prisma.orderItem.create({ * data: { * // ... data to create a OrderItem * } * }) * */ create(args: SelectSubset>): Prisma__OrderItemClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many OrderItems. * @param {OrderItemCreateManyArgs} args - Arguments to create many OrderItems. * @example * // Create many OrderItems * const orderItem = await prisma.orderItem.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many OrderItems and returns the data saved in the database. * @param {OrderItemCreateManyAndReturnArgs} args - Arguments to create many OrderItems. * @example * // Create many OrderItems * const orderItem = await prisma.orderItem.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many OrderItems and only return the `id` * const orderItemWithIdOnly = await prisma.orderItem.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a OrderItem. * @param {OrderItemDeleteArgs} args - Arguments to delete one OrderItem. * @example * // Delete one OrderItem * const OrderItem = await prisma.orderItem.delete({ * where: { * // ... filter to delete one OrderItem * } * }) * */ delete(args: SelectSubset>): Prisma__OrderItemClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one OrderItem. * @param {OrderItemUpdateArgs} args - Arguments to update one OrderItem. * @example * // Update one OrderItem * const orderItem = await prisma.orderItem.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__OrderItemClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more OrderItems. * @param {OrderItemDeleteManyArgs} args - Arguments to filter OrderItems to delete. * @example * // Delete a few OrderItems * const { count } = await prisma.orderItem.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more OrderItems. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {OrderItemUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many OrderItems * const orderItem = await prisma.orderItem.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one OrderItem. * @param {OrderItemUpsertArgs} args - Arguments to update or create a OrderItem. * @example * // Update or create a OrderItem * const orderItem = await prisma.orderItem.upsert({ * create: { * // ... data to create a OrderItem * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the OrderItem we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__OrderItemClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of OrderItems. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {OrderItemCountArgs} args - Arguments to filter OrderItems to count. * @example * // Count the number of OrderItems * const count = await prisma.orderItem.count({ * where: { * // ... the filter for the OrderItems we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a OrderItem. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {OrderItemAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by OrderItem. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {OrderItemGroupByArgs} 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 OrderItemGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: OrderItemGroupByArgs['orderBy'] } : { orderBy?: OrderItemGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetOrderItemGroupByPayload : Prisma.PrismaPromise /** * Fields of the OrderItem model */ readonly fields: OrderItemFieldRefs; } /** * The delegate class that acts as a "Promise-like" for OrderItem. * 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__OrderItemClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" order = {}>(args?: Subset>): Prisma__OrderClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> productVariant = {}>(args?: Subset>): Prisma__ProductVariantClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the OrderItem model */ interface OrderItemFieldRefs { readonly id: FieldRef<"OrderItem", 'String'> readonly orderId: FieldRef<"OrderItem", 'String'> readonly productVariantId: FieldRef<"OrderItem", 'String'> readonly quantity: FieldRef<"OrderItem", 'Int'> readonly rashWeightGramsSnapshot: FieldRef<"OrderItem", 'Decimal'> readonly wagePercentSnapshot: FieldRef<"OrderItem", 'Decimal'> readonly discountPercentSnapshot: FieldRef<"OrderItem", 'Decimal'> readonly computedWeightGrams: FieldRef<"OrderItem", 'Decimal'> readonly flatRialCharge: FieldRef<"OrderItem", 'Decimal'> } // Custom InputTypes /** * OrderItem findUnique */ export type OrderItemFindUniqueArgs = { /** * Select specific fields to fetch from the OrderItem */ select?: OrderItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderItemInclude | null /** * Filter, which OrderItem to fetch. */ where: OrderItemWhereUniqueInput } /** * OrderItem findUniqueOrThrow */ export type OrderItemFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the OrderItem */ select?: OrderItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderItemInclude | null /** * Filter, which OrderItem to fetch. */ where: OrderItemWhereUniqueInput } /** * OrderItem findFirst */ export type OrderItemFindFirstArgs = { /** * Select specific fields to fetch from the OrderItem */ select?: OrderItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderItemInclude | null /** * Filter, which OrderItem to fetch. */ where?: OrderItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of OrderItems to fetch. */ orderBy?: OrderItemOrderByWithRelationInput | OrderItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for OrderItems. */ cursor?: OrderItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` OrderItems 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` OrderItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of OrderItems. */ distinct?: OrderItemScalarFieldEnum | OrderItemScalarFieldEnum[] } /** * OrderItem findFirstOrThrow */ export type OrderItemFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the OrderItem */ select?: OrderItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderItemInclude | null /** * Filter, which OrderItem to fetch. */ where?: OrderItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of OrderItems to fetch. */ orderBy?: OrderItemOrderByWithRelationInput | OrderItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for OrderItems. */ cursor?: OrderItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` OrderItems 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` OrderItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of OrderItems. */ distinct?: OrderItemScalarFieldEnum | OrderItemScalarFieldEnum[] } /** * OrderItem findMany */ export type OrderItemFindManyArgs = { /** * Select specific fields to fetch from the OrderItem */ select?: OrderItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderItemInclude | null /** * Filter, which OrderItems to fetch. */ where?: OrderItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of OrderItems to fetch. */ orderBy?: OrderItemOrderByWithRelationInput | OrderItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing OrderItems. */ cursor?: OrderItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` OrderItems 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` OrderItems. */ skip?: number distinct?: OrderItemScalarFieldEnum | OrderItemScalarFieldEnum[] } /** * OrderItem create */ export type OrderItemCreateArgs = { /** * Select specific fields to fetch from the OrderItem */ select?: OrderItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderItemInclude | null /** * The data needed to create a OrderItem. */ data: XOR } /** * OrderItem createMany */ export type OrderItemCreateManyArgs = { /** * The data used to create many OrderItems. */ data: OrderItemCreateManyInput | OrderItemCreateManyInput[] skipDuplicates?: boolean } /** * OrderItem createManyAndReturn */ export type OrderItemCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the OrderItem */ select?: OrderItemSelectCreateManyAndReturn | null /** * The data used to create many OrderItems. */ data: OrderItemCreateManyInput | OrderItemCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: OrderItemIncludeCreateManyAndReturn | null } /** * OrderItem update */ export type OrderItemUpdateArgs = { /** * Select specific fields to fetch from the OrderItem */ select?: OrderItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderItemInclude | null /** * The data needed to update a OrderItem. */ data: XOR /** * Choose, which OrderItem to update. */ where: OrderItemWhereUniqueInput } /** * OrderItem updateMany */ export type OrderItemUpdateManyArgs = { /** * The data used to update OrderItems. */ data: XOR /** * Filter which OrderItems to update */ where?: OrderItemWhereInput } /** * OrderItem upsert */ export type OrderItemUpsertArgs = { /** * Select specific fields to fetch from the OrderItem */ select?: OrderItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderItemInclude | null /** * The filter to search for the OrderItem to update in case it exists. */ where: OrderItemWhereUniqueInput /** * In case the OrderItem found by the `where` argument doesn't exist, create a new OrderItem with this data. */ create: XOR /** * In case the OrderItem was found with the provided `where` argument, update it with this data. */ update: XOR } /** * OrderItem delete */ export type OrderItemDeleteArgs = { /** * Select specific fields to fetch from the OrderItem */ select?: OrderItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderItemInclude | null /** * Filter which OrderItem to delete. */ where: OrderItemWhereUniqueInput } /** * OrderItem deleteMany */ export type OrderItemDeleteManyArgs = { /** * Filter which OrderItems to delete */ where?: OrderItemWhereInput } /** * OrderItem without action */ export type OrderItemDefaultArgs = { /** * Select specific fields to fetch from the OrderItem */ select?: OrderItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderItemInclude | null } /** * Model OrderStatusEvent */ export type AggregateOrderStatusEvent = { _count: OrderStatusEventCountAggregateOutputType | null _min: OrderStatusEventMinAggregateOutputType | null _max: OrderStatusEventMaxAggregateOutputType | null } export type OrderStatusEventMinAggregateOutputType = { id: string | null orderId: string | null fromStatus: $Enums.OrderStatus | null toStatus: $Enums.OrderStatus | null note: string | null actorAdminUserId: string | null createdAt: Date | null } export type OrderStatusEventMaxAggregateOutputType = { id: string | null orderId: string | null fromStatus: $Enums.OrderStatus | null toStatus: $Enums.OrderStatus | null note: string | null actorAdminUserId: string | null createdAt: Date | null } export type OrderStatusEventCountAggregateOutputType = { id: number orderId: number fromStatus: number toStatus: number note: number actorAdminUserId: number createdAt: number _all: number } export type OrderStatusEventMinAggregateInputType = { id?: true orderId?: true fromStatus?: true toStatus?: true note?: true actorAdminUserId?: true createdAt?: true } export type OrderStatusEventMaxAggregateInputType = { id?: true orderId?: true fromStatus?: true toStatus?: true note?: true actorAdminUserId?: true createdAt?: true } export type OrderStatusEventCountAggregateInputType = { id?: true orderId?: true fromStatus?: true toStatus?: true note?: true actorAdminUserId?: true createdAt?: true _all?: true } export type OrderStatusEventAggregateArgs = { /** * Filter which OrderStatusEvent to aggregate. */ where?: OrderStatusEventWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of OrderStatusEvents to fetch. */ orderBy?: OrderStatusEventOrderByWithRelationInput | OrderStatusEventOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: OrderStatusEventWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` OrderStatusEvents 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` OrderStatusEvents. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned OrderStatusEvents **/ _count?: true | OrderStatusEventCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: OrderStatusEventMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: OrderStatusEventMaxAggregateInputType } export type GetOrderStatusEventAggregateType = { [P in keyof T & keyof AggregateOrderStatusEvent]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type OrderStatusEventGroupByArgs = { where?: OrderStatusEventWhereInput orderBy?: OrderStatusEventOrderByWithAggregationInput | OrderStatusEventOrderByWithAggregationInput[] by: OrderStatusEventScalarFieldEnum[] | OrderStatusEventScalarFieldEnum having?: OrderStatusEventScalarWhereWithAggregatesInput take?: number skip?: number _count?: OrderStatusEventCountAggregateInputType | true _min?: OrderStatusEventMinAggregateInputType _max?: OrderStatusEventMaxAggregateInputType } export type OrderStatusEventGroupByOutputType = { id: string orderId: string fromStatus: $Enums.OrderStatus | null toStatus: $Enums.OrderStatus note: string | null actorAdminUserId: string | null createdAt: Date _count: OrderStatusEventCountAggregateOutputType | null _min: OrderStatusEventMinAggregateOutputType | null _max: OrderStatusEventMaxAggregateOutputType | null } type GetOrderStatusEventGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof OrderStatusEventGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type OrderStatusEventSelect = $Extensions.GetSelect<{ id?: boolean orderId?: boolean fromStatus?: boolean toStatus?: boolean note?: boolean actorAdminUserId?: boolean createdAt?: boolean order?: boolean | OrderDefaultArgs actorAdminUser?: boolean | OrderStatusEvent$actorAdminUserArgs }, ExtArgs["result"]["orderStatusEvent"]> export type OrderStatusEventSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean orderId?: boolean fromStatus?: boolean toStatus?: boolean note?: boolean actorAdminUserId?: boolean createdAt?: boolean order?: boolean | OrderDefaultArgs actorAdminUser?: boolean | OrderStatusEvent$actorAdminUserArgs }, ExtArgs["result"]["orderStatusEvent"]> export type OrderStatusEventSelectScalar = { id?: boolean orderId?: boolean fromStatus?: boolean toStatus?: boolean note?: boolean actorAdminUserId?: boolean createdAt?: boolean } export type OrderStatusEventInclude = { order?: boolean | OrderDefaultArgs actorAdminUser?: boolean | OrderStatusEvent$actorAdminUserArgs } export type OrderStatusEventIncludeCreateManyAndReturn = { order?: boolean | OrderDefaultArgs actorAdminUser?: boolean | OrderStatusEvent$actorAdminUserArgs } export type $OrderStatusEventPayload = { name: "OrderStatusEvent" objects: { order: Prisma.$OrderPayload actorAdminUser: Prisma.$AdminUserPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string orderId: string fromStatus: $Enums.OrderStatus | null toStatus: $Enums.OrderStatus note: string | null actorAdminUserId: string | null createdAt: Date }, ExtArgs["result"]["orderStatusEvent"]> composites: {} } type OrderStatusEventGetPayload = $Result.GetResult type OrderStatusEventCountArgs = Omit & { select?: OrderStatusEventCountAggregateInputType | true } export interface OrderStatusEventDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['OrderStatusEvent'], meta: { name: 'OrderStatusEvent' } } /** * Find zero or one OrderStatusEvent that matches the filter. * @param {OrderStatusEventFindUniqueArgs} args - Arguments to find a OrderStatusEvent * @example * // Get one OrderStatusEvent * const orderStatusEvent = await prisma.orderStatusEvent.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__OrderStatusEventClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one OrderStatusEvent that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {OrderStatusEventFindUniqueOrThrowArgs} args - Arguments to find a OrderStatusEvent * @example * // Get one OrderStatusEvent * const orderStatusEvent = await prisma.orderStatusEvent.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__OrderStatusEventClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first OrderStatusEvent 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 {OrderStatusEventFindFirstArgs} args - Arguments to find a OrderStatusEvent * @example * // Get one OrderStatusEvent * const orderStatusEvent = await prisma.orderStatusEvent.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__OrderStatusEventClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first OrderStatusEvent 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 {OrderStatusEventFindFirstOrThrowArgs} args - Arguments to find a OrderStatusEvent * @example * // Get one OrderStatusEvent * const orderStatusEvent = await prisma.orderStatusEvent.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__OrderStatusEventClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more OrderStatusEvents 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 {OrderStatusEventFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all OrderStatusEvents * const orderStatusEvents = await prisma.orderStatusEvent.findMany() * * // Get first 10 OrderStatusEvents * const orderStatusEvents = await prisma.orderStatusEvent.findMany({ take: 10 }) * * // Only select the `id` * const orderStatusEventWithIdOnly = await prisma.orderStatusEvent.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a OrderStatusEvent. * @param {OrderStatusEventCreateArgs} args - Arguments to create a OrderStatusEvent. * @example * // Create one OrderStatusEvent * const OrderStatusEvent = await prisma.orderStatusEvent.create({ * data: { * // ... data to create a OrderStatusEvent * } * }) * */ create(args: SelectSubset>): Prisma__OrderStatusEventClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many OrderStatusEvents. * @param {OrderStatusEventCreateManyArgs} args - Arguments to create many OrderStatusEvents. * @example * // Create many OrderStatusEvents * const orderStatusEvent = await prisma.orderStatusEvent.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many OrderStatusEvents and returns the data saved in the database. * @param {OrderStatusEventCreateManyAndReturnArgs} args - Arguments to create many OrderStatusEvents. * @example * // Create many OrderStatusEvents * const orderStatusEvent = await prisma.orderStatusEvent.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many OrderStatusEvents and only return the `id` * const orderStatusEventWithIdOnly = await prisma.orderStatusEvent.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a OrderStatusEvent. * @param {OrderStatusEventDeleteArgs} args - Arguments to delete one OrderStatusEvent. * @example * // Delete one OrderStatusEvent * const OrderStatusEvent = await prisma.orderStatusEvent.delete({ * where: { * // ... filter to delete one OrderStatusEvent * } * }) * */ delete(args: SelectSubset>): Prisma__OrderStatusEventClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one OrderStatusEvent. * @param {OrderStatusEventUpdateArgs} args - Arguments to update one OrderStatusEvent. * @example * // Update one OrderStatusEvent * const orderStatusEvent = await prisma.orderStatusEvent.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__OrderStatusEventClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more OrderStatusEvents. * @param {OrderStatusEventDeleteManyArgs} args - Arguments to filter OrderStatusEvents to delete. * @example * // Delete a few OrderStatusEvents * const { count } = await prisma.orderStatusEvent.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more OrderStatusEvents. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {OrderStatusEventUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many OrderStatusEvents * const orderStatusEvent = await prisma.orderStatusEvent.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one OrderStatusEvent. * @param {OrderStatusEventUpsertArgs} args - Arguments to update or create a OrderStatusEvent. * @example * // Update or create a OrderStatusEvent * const orderStatusEvent = await prisma.orderStatusEvent.upsert({ * create: { * // ... data to create a OrderStatusEvent * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the OrderStatusEvent we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__OrderStatusEventClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of OrderStatusEvents. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {OrderStatusEventCountArgs} args - Arguments to filter OrderStatusEvents to count. * @example * // Count the number of OrderStatusEvents * const count = await prisma.orderStatusEvent.count({ * where: { * // ... the filter for the OrderStatusEvents we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a OrderStatusEvent. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {OrderStatusEventAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by OrderStatusEvent. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {OrderStatusEventGroupByArgs} 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 OrderStatusEventGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: OrderStatusEventGroupByArgs['orderBy'] } : { orderBy?: OrderStatusEventGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetOrderStatusEventGroupByPayload : Prisma.PrismaPromise /** * Fields of the OrderStatusEvent model */ readonly fields: OrderStatusEventFieldRefs; } /** * The delegate class that acts as a "Promise-like" for OrderStatusEvent. * 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__OrderStatusEventClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" order = {}>(args?: Subset>): Prisma__OrderClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> actorAdminUser = {}>(args?: Subset>): Prisma__AdminUserClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the OrderStatusEvent model */ interface OrderStatusEventFieldRefs { readonly id: FieldRef<"OrderStatusEvent", 'String'> readonly orderId: FieldRef<"OrderStatusEvent", 'String'> readonly fromStatus: FieldRef<"OrderStatusEvent", 'OrderStatus'> readonly toStatus: FieldRef<"OrderStatusEvent", 'OrderStatus'> readonly note: FieldRef<"OrderStatusEvent", 'String'> readonly actorAdminUserId: FieldRef<"OrderStatusEvent", 'String'> readonly createdAt: FieldRef<"OrderStatusEvent", 'DateTime'> } // Custom InputTypes /** * OrderStatusEvent findUnique */ export type OrderStatusEventFindUniqueArgs = { /** * Select specific fields to fetch from the OrderStatusEvent */ select?: OrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderStatusEventInclude | null /** * Filter, which OrderStatusEvent to fetch. */ where: OrderStatusEventWhereUniqueInput } /** * OrderStatusEvent findUniqueOrThrow */ export type OrderStatusEventFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the OrderStatusEvent */ select?: OrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderStatusEventInclude | null /** * Filter, which OrderStatusEvent to fetch. */ where: OrderStatusEventWhereUniqueInput } /** * OrderStatusEvent findFirst */ export type OrderStatusEventFindFirstArgs = { /** * Select specific fields to fetch from the OrderStatusEvent */ select?: OrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderStatusEventInclude | null /** * Filter, which OrderStatusEvent to fetch. */ where?: OrderStatusEventWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of OrderStatusEvents to fetch. */ orderBy?: OrderStatusEventOrderByWithRelationInput | OrderStatusEventOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for OrderStatusEvents. */ cursor?: OrderStatusEventWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` OrderStatusEvents 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` OrderStatusEvents. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of OrderStatusEvents. */ distinct?: OrderStatusEventScalarFieldEnum | OrderStatusEventScalarFieldEnum[] } /** * OrderStatusEvent findFirstOrThrow */ export type OrderStatusEventFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the OrderStatusEvent */ select?: OrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderStatusEventInclude | null /** * Filter, which OrderStatusEvent to fetch. */ where?: OrderStatusEventWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of OrderStatusEvents to fetch. */ orderBy?: OrderStatusEventOrderByWithRelationInput | OrderStatusEventOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for OrderStatusEvents. */ cursor?: OrderStatusEventWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` OrderStatusEvents 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` OrderStatusEvents. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of OrderStatusEvents. */ distinct?: OrderStatusEventScalarFieldEnum | OrderStatusEventScalarFieldEnum[] } /** * OrderStatusEvent findMany */ export type OrderStatusEventFindManyArgs = { /** * Select specific fields to fetch from the OrderStatusEvent */ select?: OrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderStatusEventInclude | null /** * Filter, which OrderStatusEvents to fetch. */ where?: OrderStatusEventWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of OrderStatusEvents to fetch. */ orderBy?: OrderStatusEventOrderByWithRelationInput | OrderStatusEventOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing OrderStatusEvents. */ cursor?: OrderStatusEventWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` OrderStatusEvents 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` OrderStatusEvents. */ skip?: number distinct?: OrderStatusEventScalarFieldEnum | OrderStatusEventScalarFieldEnum[] } /** * OrderStatusEvent create */ export type OrderStatusEventCreateArgs = { /** * Select specific fields to fetch from the OrderStatusEvent */ select?: OrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderStatusEventInclude | null /** * The data needed to create a OrderStatusEvent. */ data: XOR } /** * OrderStatusEvent createMany */ export type OrderStatusEventCreateManyArgs = { /** * The data used to create many OrderStatusEvents. */ data: OrderStatusEventCreateManyInput | OrderStatusEventCreateManyInput[] skipDuplicates?: boolean } /** * OrderStatusEvent createManyAndReturn */ export type OrderStatusEventCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the OrderStatusEvent */ select?: OrderStatusEventSelectCreateManyAndReturn | null /** * The data used to create many OrderStatusEvents. */ data: OrderStatusEventCreateManyInput | OrderStatusEventCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: OrderStatusEventIncludeCreateManyAndReturn | null } /** * OrderStatusEvent update */ export type OrderStatusEventUpdateArgs = { /** * Select specific fields to fetch from the OrderStatusEvent */ select?: OrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderStatusEventInclude | null /** * The data needed to update a OrderStatusEvent. */ data: XOR /** * Choose, which OrderStatusEvent to update. */ where: OrderStatusEventWhereUniqueInput } /** * OrderStatusEvent updateMany */ export type OrderStatusEventUpdateManyArgs = { /** * The data used to update OrderStatusEvents. */ data: XOR /** * Filter which OrderStatusEvents to update */ where?: OrderStatusEventWhereInput } /** * OrderStatusEvent upsert */ export type OrderStatusEventUpsertArgs = { /** * Select specific fields to fetch from the OrderStatusEvent */ select?: OrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderStatusEventInclude | null /** * The filter to search for the OrderStatusEvent to update in case it exists. */ where: OrderStatusEventWhereUniqueInput /** * In case the OrderStatusEvent found by the `where` argument doesn't exist, create a new OrderStatusEvent with this data. */ create: XOR /** * In case the OrderStatusEvent was found with the provided `where` argument, update it with this data. */ update: XOR } /** * OrderStatusEvent delete */ export type OrderStatusEventDeleteArgs = { /** * Select specific fields to fetch from the OrderStatusEvent */ select?: OrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderStatusEventInclude | null /** * Filter which OrderStatusEvent to delete. */ where: OrderStatusEventWhereUniqueInput } /** * OrderStatusEvent deleteMany */ export type OrderStatusEventDeleteManyArgs = { /** * Filter which OrderStatusEvents to delete */ where?: OrderStatusEventWhereInput } /** * OrderStatusEvent.actorAdminUser */ export type OrderStatusEvent$actorAdminUserArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null where?: AdminUserWhereInput } /** * OrderStatusEvent without action */ export type OrderStatusEventDefaultArgs = { /** * Select specific fields to fetch from the OrderStatusEvent */ select?: OrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderStatusEventInclude | null } /** * Model PreOrder */ export type AggregatePreOrder = { _count: PreOrderCountAggregateOutputType | null _avg: PreOrderAvgAggregateOutputType | null _sum: PreOrderSumAggregateOutputType | null _min: PreOrderMinAggregateOutputType | null _max: PreOrderMaxAggregateOutputType | null } export type PreOrderAvgAggregateOutputType = { estimatedWeightGrams: Decimal | null estimatedPriceRial: Decimal | null } export type PreOrderSumAggregateOutputType = { estimatedWeightGrams: Decimal | null estimatedPriceRial: Decimal | null } export type PreOrderMinAggregateOutputType = { id: string | null customerId: string | null cityId: string | null workshopId: string | null status: $Enums.PreOrderStatus | null designImageUrl: string | null colorName: string | null sizeSpec: string | null stoneColor: string | null minaColor: string | null estimatedWeightGrams: Decimal | null estimatedPriceRial: Decimal | null description: string | null convertedOrderId: string | null createdAt: Date | null updatedAt: Date | null } export type PreOrderMaxAggregateOutputType = { id: string | null customerId: string | null cityId: string | null workshopId: string | null status: $Enums.PreOrderStatus | null designImageUrl: string | null colorName: string | null sizeSpec: string | null stoneColor: string | null minaColor: string | null estimatedWeightGrams: Decimal | null estimatedPriceRial: Decimal | null description: string | null convertedOrderId: string | null createdAt: Date | null updatedAt: Date | null } export type PreOrderCountAggregateOutputType = { id: number customerId: number cityId: number workshopId: number status: number designImageUrl: number colorName: number sizeSpec: number stoneColor: number minaColor: number estimatedWeightGrams: number estimatedPriceRial: number description: number convertedOrderId: number createdAt: number updatedAt: number _all: number } export type PreOrderAvgAggregateInputType = { estimatedWeightGrams?: true estimatedPriceRial?: true } export type PreOrderSumAggregateInputType = { estimatedWeightGrams?: true estimatedPriceRial?: true } export type PreOrderMinAggregateInputType = { id?: true customerId?: true cityId?: true workshopId?: true status?: true designImageUrl?: true colorName?: true sizeSpec?: true stoneColor?: true minaColor?: true estimatedWeightGrams?: true estimatedPriceRial?: true description?: true convertedOrderId?: true createdAt?: true updatedAt?: true } export type PreOrderMaxAggregateInputType = { id?: true customerId?: true cityId?: true workshopId?: true status?: true designImageUrl?: true colorName?: true sizeSpec?: true stoneColor?: true minaColor?: true estimatedWeightGrams?: true estimatedPriceRial?: true description?: true convertedOrderId?: true createdAt?: true updatedAt?: true } export type PreOrderCountAggregateInputType = { id?: true customerId?: true cityId?: true workshopId?: true status?: true designImageUrl?: true colorName?: true sizeSpec?: true stoneColor?: true minaColor?: true estimatedWeightGrams?: true estimatedPriceRial?: true description?: true convertedOrderId?: true createdAt?: true updatedAt?: true _all?: true } export type PreOrderAggregateArgs = { /** * Filter which PreOrder to aggregate. */ where?: PreOrderWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of PreOrders to fetch. */ orderBy?: PreOrderOrderByWithRelationInput | PreOrderOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: PreOrderWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` PreOrders 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` PreOrders. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned PreOrders **/ _count?: true | PreOrderCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: PreOrderAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: PreOrderSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: PreOrderMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: PreOrderMaxAggregateInputType } export type GetPreOrderAggregateType = { [P in keyof T & keyof AggregatePreOrder]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type PreOrderGroupByArgs = { where?: PreOrderWhereInput orderBy?: PreOrderOrderByWithAggregationInput | PreOrderOrderByWithAggregationInput[] by: PreOrderScalarFieldEnum[] | PreOrderScalarFieldEnum having?: PreOrderScalarWhereWithAggregatesInput take?: number skip?: number _count?: PreOrderCountAggregateInputType | true _avg?: PreOrderAvgAggregateInputType _sum?: PreOrderSumAggregateInputType _min?: PreOrderMinAggregateInputType _max?: PreOrderMaxAggregateInputType } export type PreOrderGroupByOutputType = { id: string customerId: string cityId: string | null workshopId: string | null status: $Enums.PreOrderStatus designImageUrl: string | null colorName: string | null sizeSpec: string | null stoneColor: string | null minaColor: string | null estimatedWeightGrams: Decimal | null estimatedPriceRial: Decimal | null description: string | null convertedOrderId: string | null createdAt: Date updatedAt: Date _count: PreOrderCountAggregateOutputType | null _avg: PreOrderAvgAggregateOutputType | null _sum: PreOrderSumAggregateOutputType | null _min: PreOrderMinAggregateOutputType | null _max: PreOrderMaxAggregateOutputType | null } type GetPreOrderGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof PreOrderGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type PreOrderSelect = $Extensions.GetSelect<{ id?: boolean customerId?: boolean cityId?: boolean workshopId?: boolean status?: boolean designImageUrl?: boolean colorName?: boolean sizeSpec?: boolean stoneColor?: boolean minaColor?: boolean estimatedWeightGrams?: boolean estimatedPriceRial?: boolean description?: boolean convertedOrderId?: boolean createdAt?: boolean updatedAt?: boolean customer?: boolean | CustomerDefaultArgs city?: boolean | PreOrder$cityArgs workshop?: boolean | PreOrder$workshopArgs convertedOrder?: boolean | PreOrder$convertedOrderArgs statusEvents?: boolean | PreOrder$statusEventsArgs _count?: boolean | PreOrderCountOutputTypeDefaultArgs }, ExtArgs["result"]["preOrder"]> export type PreOrderSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean customerId?: boolean cityId?: boolean workshopId?: boolean status?: boolean designImageUrl?: boolean colorName?: boolean sizeSpec?: boolean stoneColor?: boolean minaColor?: boolean estimatedWeightGrams?: boolean estimatedPriceRial?: boolean description?: boolean convertedOrderId?: boolean createdAt?: boolean updatedAt?: boolean customer?: boolean | CustomerDefaultArgs city?: boolean | PreOrder$cityArgs workshop?: boolean | PreOrder$workshopArgs convertedOrder?: boolean | PreOrder$convertedOrderArgs }, ExtArgs["result"]["preOrder"]> export type PreOrderSelectScalar = { id?: boolean customerId?: boolean cityId?: boolean workshopId?: boolean status?: boolean designImageUrl?: boolean colorName?: boolean sizeSpec?: boolean stoneColor?: boolean minaColor?: boolean estimatedWeightGrams?: boolean estimatedPriceRial?: boolean description?: boolean convertedOrderId?: boolean createdAt?: boolean updatedAt?: boolean } export type PreOrderInclude = { customer?: boolean | CustomerDefaultArgs city?: boolean | PreOrder$cityArgs workshop?: boolean | PreOrder$workshopArgs convertedOrder?: boolean | PreOrder$convertedOrderArgs statusEvents?: boolean | PreOrder$statusEventsArgs _count?: boolean | PreOrderCountOutputTypeDefaultArgs } export type PreOrderIncludeCreateManyAndReturn = { customer?: boolean | CustomerDefaultArgs city?: boolean | PreOrder$cityArgs workshop?: boolean | PreOrder$workshopArgs convertedOrder?: boolean | PreOrder$convertedOrderArgs } export type $PreOrderPayload = { name: "PreOrder" objects: { customer: Prisma.$CustomerPayload city: Prisma.$CityPayload | null workshop: Prisma.$WorkshopPayload | null convertedOrder: Prisma.$OrderPayload | null statusEvents: Prisma.$PreOrderStatusEventPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string customerId: string cityId: string | null workshopId: string | null status: $Enums.PreOrderStatus designImageUrl: string | null colorName: string | null sizeSpec: string | null stoneColor: string | null minaColor: string | null estimatedWeightGrams: Prisma.Decimal | null estimatedPriceRial: Prisma.Decimal | null description: string | null /** * Once priced, an admin converts this into a real (debt-bearing) Order. */ convertedOrderId: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["preOrder"]> composites: {} } type PreOrderGetPayload = $Result.GetResult type PreOrderCountArgs = Omit & { select?: PreOrderCountAggregateInputType | true } export interface PreOrderDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['PreOrder'], meta: { name: 'PreOrder' } } /** * Find zero or one PreOrder that matches the filter. * @param {PreOrderFindUniqueArgs} args - Arguments to find a PreOrder * @example * // Get one PreOrder * const preOrder = await prisma.preOrder.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__PreOrderClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one PreOrder that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {PreOrderFindUniqueOrThrowArgs} args - Arguments to find a PreOrder * @example * // Get one PreOrder * const preOrder = await prisma.preOrder.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__PreOrderClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first PreOrder 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 {PreOrderFindFirstArgs} args - Arguments to find a PreOrder * @example * // Get one PreOrder * const preOrder = await prisma.preOrder.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__PreOrderClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first PreOrder 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 {PreOrderFindFirstOrThrowArgs} args - Arguments to find a PreOrder * @example * // Get one PreOrder * const preOrder = await prisma.preOrder.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__PreOrderClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more PreOrders 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 {PreOrderFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all PreOrders * const preOrders = await prisma.preOrder.findMany() * * // Get first 10 PreOrders * const preOrders = await prisma.preOrder.findMany({ take: 10 }) * * // Only select the `id` * const preOrderWithIdOnly = await prisma.preOrder.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a PreOrder. * @param {PreOrderCreateArgs} args - Arguments to create a PreOrder. * @example * // Create one PreOrder * const PreOrder = await prisma.preOrder.create({ * data: { * // ... data to create a PreOrder * } * }) * */ create(args: SelectSubset>): Prisma__PreOrderClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many PreOrders. * @param {PreOrderCreateManyArgs} args - Arguments to create many PreOrders. * @example * // Create many PreOrders * const preOrder = await prisma.preOrder.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many PreOrders and returns the data saved in the database. * @param {PreOrderCreateManyAndReturnArgs} args - Arguments to create many PreOrders. * @example * // Create many PreOrders * const preOrder = await prisma.preOrder.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many PreOrders and only return the `id` * const preOrderWithIdOnly = await prisma.preOrder.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a PreOrder. * @param {PreOrderDeleteArgs} args - Arguments to delete one PreOrder. * @example * // Delete one PreOrder * const PreOrder = await prisma.preOrder.delete({ * where: { * // ... filter to delete one PreOrder * } * }) * */ delete(args: SelectSubset>): Prisma__PreOrderClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one PreOrder. * @param {PreOrderUpdateArgs} args - Arguments to update one PreOrder. * @example * // Update one PreOrder * const preOrder = await prisma.preOrder.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__PreOrderClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more PreOrders. * @param {PreOrderDeleteManyArgs} args - Arguments to filter PreOrders to delete. * @example * // Delete a few PreOrders * const { count } = await prisma.preOrder.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more PreOrders. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PreOrderUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many PreOrders * const preOrder = await prisma.preOrder.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one PreOrder. * @param {PreOrderUpsertArgs} args - Arguments to update or create a PreOrder. * @example * // Update or create a PreOrder * const preOrder = await prisma.preOrder.upsert({ * create: { * // ... data to create a PreOrder * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the PreOrder we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__PreOrderClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of PreOrders. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PreOrderCountArgs} args - Arguments to filter PreOrders to count. * @example * // Count the number of PreOrders * const count = await prisma.preOrder.count({ * where: { * // ... the filter for the PreOrders we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a PreOrder. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PreOrderAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by PreOrder. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PreOrderGroupByArgs} 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 PreOrderGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: PreOrderGroupByArgs['orderBy'] } : { orderBy?: PreOrderGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetPreOrderGroupByPayload : Prisma.PrismaPromise /** * Fields of the PreOrder model */ readonly fields: PreOrderFieldRefs; } /** * The delegate class that acts as a "Promise-like" for PreOrder. * 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__PreOrderClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" customer = {}>(args?: Subset>): Prisma__CustomerClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> city = {}>(args?: Subset>): Prisma__CityClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> workshop = {}>(args?: Subset>): Prisma__WorkshopClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> convertedOrder = {}>(args?: Subset>): Prisma__OrderClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> statusEvents = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the PreOrder model */ interface PreOrderFieldRefs { readonly id: FieldRef<"PreOrder", 'String'> readonly customerId: FieldRef<"PreOrder", 'String'> readonly cityId: FieldRef<"PreOrder", 'String'> readonly workshopId: FieldRef<"PreOrder", 'String'> readonly status: FieldRef<"PreOrder", 'PreOrderStatus'> readonly designImageUrl: FieldRef<"PreOrder", 'String'> readonly colorName: FieldRef<"PreOrder", 'String'> readonly sizeSpec: FieldRef<"PreOrder", 'String'> readonly stoneColor: FieldRef<"PreOrder", 'String'> readonly minaColor: FieldRef<"PreOrder", 'String'> readonly estimatedWeightGrams: FieldRef<"PreOrder", 'Decimal'> readonly estimatedPriceRial: FieldRef<"PreOrder", 'Decimal'> readonly description: FieldRef<"PreOrder", 'String'> readonly convertedOrderId: FieldRef<"PreOrder", 'String'> readonly createdAt: FieldRef<"PreOrder", 'DateTime'> readonly updatedAt: FieldRef<"PreOrder", 'DateTime'> } // Custom InputTypes /** * PreOrder findUnique */ export type PreOrderFindUniqueArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null /** * Filter, which PreOrder to fetch. */ where: PreOrderWhereUniqueInput } /** * PreOrder findUniqueOrThrow */ export type PreOrderFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null /** * Filter, which PreOrder to fetch. */ where: PreOrderWhereUniqueInput } /** * PreOrder findFirst */ export type PreOrderFindFirstArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null /** * Filter, which PreOrder to fetch. */ where?: PreOrderWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of PreOrders to fetch. */ orderBy?: PreOrderOrderByWithRelationInput | PreOrderOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for PreOrders. */ cursor?: PreOrderWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` PreOrders 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` PreOrders. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of PreOrders. */ distinct?: PreOrderScalarFieldEnum | PreOrderScalarFieldEnum[] } /** * PreOrder findFirstOrThrow */ export type PreOrderFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null /** * Filter, which PreOrder to fetch. */ where?: PreOrderWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of PreOrders to fetch. */ orderBy?: PreOrderOrderByWithRelationInput | PreOrderOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for PreOrders. */ cursor?: PreOrderWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` PreOrders 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` PreOrders. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of PreOrders. */ distinct?: PreOrderScalarFieldEnum | PreOrderScalarFieldEnum[] } /** * PreOrder findMany */ export type PreOrderFindManyArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null /** * Filter, which PreOrders to fetch. */ where?: PreOrderWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of PreOrders to fetch. */ orderBy?: PreOrderOrderByWithRelationInput | PreOrderOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing PreOrders. */ cursor?: PreOrderWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` PreOrders 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` PreOrders. */ skip?: number distinct?: PreOrderScalarFieldEnum | PreOrderScalarFieldEnum[] } /** * PreOrder create */ export type PreOrderCreateArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null /** * The data needed to create a PreOrder. */ data: XOR } /** * PreOrder createMany */ export type PreOrderCreateManyArgs = { /** * The data used to create many PreOrders. */ data: PreOrderCreateManyInput | PreOrderCreateManyInput[] skipDuplicates?: boolean } /** * PreOrder createManyAndReturn */ export type PreOrderCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelectCreateManyAndReturn | null /** * The data used to create many PreOrders. */ data: PreOrderCreateManyInput | PreOrderCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: PreOrderIncludeCreateManyAndReturn | null } /** * PreOrder update */ export type PreOrderUpdateArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null /** * The data needed to update a PreOrder. */ data: XOR /** * Choose, which PreOrder to update. */ where: PreOrderWhereUniqueInput } /** * PreOrder updateMany */ export type PreOrderUpdateManyArgs = { /** * The data used to update PreOrders. */ data: XOR /** * Filter which PreOrders to update */ where?: PreOrderWhereInput } /** * PreOrder upsert */ export type PreOrderUpsertArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null /** * The filter to search for the PreOrder to update in case it exists. */ where: PreOrderWhereUniqueInput /** * In case the PreOrder found by the `where` argument doesn't exist, create a new PreOrder with this data. */ create: XOR /** * In case the PreOrder was found with the provided `where` argument, update it with this data. */ update: XOR } /** * PreOrder delete */ export type PreOrderDeleteArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null /** * Filter which PreOrder to delete. */ where: PreOrderWhereUniqueInput } /** * PreOrder deleteMany */ export type PreOrderDeleteManyArgs = { /** * Filter which PreOrders to delete */ where?: PreOrderWhereInput } /** * PreOrder.city */ export type PreOrder$cityArgs = { /** * Select specific fields to fetch from the City */ select?: CitySelect | null /** * Choose, which related nodes to fetch as well */ include?: CityInclude | null where?: CityWhereInput } /** * PreOrder.workshop */ export type PreOrder$workshopArgs = { /** * Select specific fields to fetch from the Workshop */ select?: WorkshopSelect | null /** * Choose, which related nodes to fetch as well */ include?: WorkshopInclude | null where?: WorkshopWhereInput } /** * PreOrder.convertedOrder */ export type PreOrder$convertedOrderArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null where?: OrderWhereInput } /** * PreOrder.statusEvents */ export type PreOrder$statusEventsArgs = { /** * Select specific fields to fetch from the PreOrderStatusEvent */ select?: PreOrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderStatusEventInclude | null where?: PreOrderStatusEventWhereInput orderBy?: PreOrderStatusEventOrderByWithRelationInput | PreOrderStatusEventOrderByWithRelationInput[] cursor?: PreOrderStatusEventWhereUniqueInput take?: number skip?: number distinct?: PreOrderStatusEventScalarFieldEnum | PreOrderStatusEventScalarFieldEnum[] } /** * PreOrder without action */ export type PreOrderDefaultArgs = { /** * Select specific fields to fetch from the PreOrder */ select?: PreOrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderInclude | null } /** * Model PreOrderStatusEvent */ export type AggregatePreOrderStatusEvent = { _count: PreOrderStatusEventCountAggregateOutputType | null _min: PreOrderStatusEventMinAggregateOutputType | null _max: PreOrderStatusEventMaxAggregateOutputType | null } export type PreOrderStatusEventMinAggregateOutputType = { id: string | null preOrderId: string | null actorAdminUserId: string | null ipAddress: string | null createdAt: Date | null } export type PreOrderStatusEventMaxAggregateOutputType = { id: string | null preOrderId: string | null actorAdminUserId: string | null ipAddress: string | null createdAt: Date | null } export type PreOrderStatusEventCountAggregateOutputType = { id: number preOrderId: number changes: number actorAdminUserId: number ipAddress: number createdAt: number _all: number } export type PreOrderStatusEventMinAggregateInputType = { id?: true preOrderId?: true actorAdminUserId?: true ipAddress?: true createdAt?: true } export type PreOrderStatusEventMaxAggregateInputType = { id?: true preOrderId?: true actorAdminUserId?: true ipAddress?: true createdAt?: true } export type PreOrderStatusEventCountAggregateInputType = { id?: true preOrderId?: true changes?: true actorAdminUserId?: true ipAddress?: true createdAt?: true _all?: true } export type PreOrderStatusEventAggregateArgs = { /** * Filter which PreOrderStatusEvent to aggregate. */ where?: PreOrderStatusEventWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of PreOrderStatusEvents to fetch. */ orderBy?: PreOrderStatusEventOrderByWithRelationInput | PreOrderStatusEventOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: PreOrderStatusEventWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` PreOrderStatusEvents 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` PreOrderStatusEvents. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned PreOrderStatusEvents **/ _count?: true | PreOrderStatusEventCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: PreOrderStatusEventMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: PreOrderStatusEventMaxAggregateInputType } export type GetPreOrderStatusEventAggregateType = { [P in keyof T & keyof AggregatePreOrderStatusEvent]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type PreOrderStatusEventGroupByArgs = { where?: PreOrderStatusEventWhereInput orderBy?: PreOrderStatusEventOrderByWithAggregationInput | PreOrderStatusEventOrderByWithAggregationInput[] by: PreOrderStatusEventScalarFieldEnum[] | PreOrderStatusEventScalarFieldEnum having?: PreOrderStatusEventScalarWhereWithAggregatesInput take?: number skip?: number _count?: PreOrderStatusEventCountAggregateInputType | true _min?: PreOrderStatusEventMinAggregateInputType _max?: PreOrderStatusEventMaxAggregateInputType } export type PreOrderStatusEventGroupByOutputType = { id: string preOrderId: string changes: JsonValue actorAdminUserId: string | null ipAddress: string | null createdAt: Date _count: PreOrderStatusEventCountAggregateOutputType | null _min: PreOrderStatusEventMinAggregateOutputType | null _max: PreOrderStatusEventMaxAggregateOutputType | null } type GetPreOrderStatusEventGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof PreOrderStatusEventGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type PreOrderStatusEventSelect = $Extensions.GetSelect<{ id?: boolean preOrderId?: boolean changes?: boolean actorAdminUserId?: boolean ipAddress?: boolean createdAt?: boolean preOrder?: boolean | PreOrderDefaultArgs actorAdminUser?: boolean | PreOrderStatusEvent$actorAdminUserArgs }, ExtArgs["result"]["preOrderStatusEvent"]> export type PreOrderStatusEventSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean preOrderId?: boolean changes?: boolean actorAdminUserId?: boolean ipAddress?: boolean createdAt?: boolean preOrder?: boolean | PreOrderDefaultArgs actorAdminUser?: boolean | PreOrderStatusEvent$actorAdminUserArgs }, ExtArgs["result"]["preOrderStatusEvent"]> export type PreOrderStatusEventSelectScalar = { id?: boolean preOrderId?: boolean changes?: boolean actorAdminUserId?: boolean ipAddress?: boolean createdAt?: boolean } export type PreOrderStatusEventInclude = { preOrder?: boolean | PreOrderDefaultArgs actorAdminUser?: boolean | PreOrderStatusEvent$actorAdminUserArgs } export type PreOrderStatusEventIncludeCreateManyAndReturn = { preOrder?: boolean | PreOrderDefaultArgs actorAdminUser?: boolean | PreOrderStatusEvent$actorAdminUserArgs } export type $PreOrderStatusEventPayload = { name: "PreOrderStatusEvent" objects: { preOrder: Prisma.$PreOrderPayload actorAdminUser: Prisma.$AdminUserPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string preOrderId: string /** * Field-level diff, e.g. {"status": {"old": "PLACED", "new": "ADMIN_APPROVED"}} */ changes: Prisma.JsonValue actorAdminUserId: string | null ipAddress: string | null createdAt: Date }, ExtArgs["result"]["preOrderStatusEvent"]> composites: {} } type PreOrderStatusEventGetPayload = $Result.GetResult type PreOrderStatusEventCountArgs = Omit & { select?: PreOrderStatusEventCountAggregateInputType | true } export interface PreOrderStatusEventDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['PreOrderStatusEvent'], meta: { name: 'PreOrderStatusEvent' } } /** * Find zero or one PreOrderStatusEvent that matches the filter. * @param {PreOrderStatusEventFindUniqueArgs} args - Arguments to find a PreOrderStatusEvent * @example * // Get one PreOrderStatusEvent * const preOrderStatusEvent = await prisma.preOrderStatusEvent.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__PreOrderStatusEventClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one PreOrderStatusEvent that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {PreOrderStatusEventFindUniqueOrThrowArgs} args - Arguments to find a PreOrderStatusEvent * @example * // Get one PreOrderStatusEvent * const preOrderStatusEvent = await prisma.preOrderStatusEvent.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__PreOrderStatusEventClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first PreOrderStatusEvent 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 {PreOrderStatusEventFindFirstArgs} args - Arguments to find a PreOrderStatusEvent * @example * // Get one PreOrderStatusEvent * const preOrderStatusEvent = await prisma.preOrderStatusEvent.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__PreOrderStatusEventClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first PreOrderStatusEvent 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 {PreOrderStatusEventFindFirstOrThrowArgs} args - Arguments to find a PreOrderStatusEvent * @example * // Get one PreOrderStatusEvent * const preOrderStatusEvent = await prisma.preOrderStatusEvent.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__PreOrderStatusEventClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more PreOrderStatusEvents 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 {PreOrderStatusEventFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all PreOrderStatusEvents * const preOrderStatusEvents = await prisma.preOrderStatusEvent.findMany() * * // Get first 10 PreOrderStatusEvents * const preOrderStatusEvents = await prisma.preOrderStatusEvent.findMany({ take: 10 }) * * // Only select the `id` * const preOrderStatusEventWithIdOnly = await prisma.preOrderStatusEvent.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a PreOrderStatusEvent. * @param {PreOrderStatusEventCreateArgs} args - Arguments to create a PreOrderStatusEvent. * @example * // Create one PreOrderStatusEvent * const PreOrderStatusEvent = await prisma.preOrderStatusEvent.create({ * data: { * // ... data to create a PreOrderStatusEvent * } * }) * */ create(args: SelectSubset>): Prisma__PreOrderStatusEventClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many PreOrderStatusEvents. * @param {PreOrderStatusEventCreateManyArgs} args - Arguments to create many PreOrderStatusEvents. * @example * // Create many PreOrderStatusEvents * const preOrderStatusEvent = await prisma.preOrderStatusEvent.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many PreOrderStatusEvents and returns the data saved in the database. * @param {PreOrderStatusEventCreateManyAndReturnArgs} args - Arguments to create many PreOrderStatusEvents. * @example * // Create many PreOrderStatusEvents * const preOrderStatusEvent = await prisma.preOrderStatusEvent.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many PreOrderStatusEvents and only return the `id` * const preOrderStatusEventWithIdOnly = await prisma.preOrderStatusEvent.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a PreOrderStatusEvent. * @param {PreOrderStatusEventDeleteArgs} args - Arguments to delete one PreOrderStatusEvent. * @example * // Delete one PreOrderStatusEvent * const PreOrderStatusEvent = await prisma.preOrderStatusEvent.delete({ * where: { * // ... filter to delete one PreOrderStatusEvent * } * }) * */ delete(args: SelectSubset>): Prisma__PreOrderStatusEventClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one PreOrderStatusEvent. * @param {PreOrderStatusEventUpdateArgs} args - Arguments to update one PreOrderStatusEvent. * @example * // Update one PreOrderStatusEvent * const preOrderStatusEvent = await prisma.preOrderStatusEvent.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__PreOrderStatusEventClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more PreOrderStatusEvents. * @param {PreOrderStatusEventDeleteManyArgs} args - Arguments to filter PreOrderStatusEvents to delete. * @example * // Delete a few PreOrderStatusEvents * const { count } = await prisma.preOrderStatusEvent.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more PreOrderStatusEvents. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PreOrderStatusEventUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many PreOrderStatusEvents * const preOrderStatusEvent = await prisma.preOrderStatusEvent.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one PreOrderStatusEvent. * @param {PreOrderStatusEventUpsertArgs} args - Arguments to update or create a PreOrderStatusEvent. * @example * // Update or create a PreOrderStatusEvent * const preOrderStatusEvent = await prisma.preOrderStatusEvent.upsert({ * create: { * // ... data to create a PreOrderStatusEvent * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the PreOrderStatusEvent we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__PreOrderStatusEventClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of PreOrderStatusEvents. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PreOrderStatusEventCountArgs} args - Arguments to filter PreOrderStatusEvents to count. * @example * // Count the number of PreOrderStatusEvents * const count = await prisma.preOrderStatusEvent.count({ * where: { * // ... the filter for the PreOrderStatusEvents we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a PreOrderStatusEvent. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PreOrderStatusEventAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by PreOrderStatusEvent. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PreOrderStatusEventGroupByArgs} 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 PreOrderStatusEventGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: PreOrderStatusEventGroupByArgs['orderBy'] } : { orderBy?: PreOrderStatusEventGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetPreOrderStatusEventGroupByPayload : Prisma.PrismaPromise /** * Fields of the PreOrderStatusEvent model */ readonly fields: PreOrderStatusEventFieldRefs; } /** * The delegate class that acts as a "Promise-like" for PreOrderStatusEvent. * 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__PreOrderStatusEventClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" preOrder = {}>(args?: Subset>): Prisma__PreOrderClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> actorAdminUser = {}>(args?: Subset>): Prisma__AdminUserClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the PreOrderStatusEvent model */ interface PreOrderStatusEventFieldRefs { readonly id: FieldRef<"PreOrderStatusEvent", 'String'> readonly preOrderId: FieldRef<"PreOrderStatusEvent", 'String'> readonly changes: FieldRef<"PreOrderStatusEvent", 'Json'> readonly actorAdminUserId: FieldRef<"PreOrderStatusEvent", 'String'> readonly ipAddress: FieldRef<"PreOrderStatusEvent", 'String'> readonly createdAt: FieldRef<"PreOrderStatusEvent", 'DateTime'> } // Custom InputTypes /** * PreOrderStatusEvent findUnique */ export type PreOrderStatusEventFindUniqueArgs = { /** * Select specific fields to fetch from the PreOrderStatusEvent */ select?: PreOrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderStatusEventInclude | null /** * Filter, which PreOrderStatusEvent to fetch. */ where: PreOrderStatusEventWhereUniqueInput } /** * PreOrderStatusEvent findUniqueOrThrow */ export type PreOrderStatusEventFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the PreOrderStatusEvent */ select?: PreOrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderStatusEventInclude | null /** * Filter, which PreOrderStatusEvent to fetch. */ where: PreOrderStatusEventWhereUniqueInput } /** * PreOrderStatusEvent findFirst */ export type PreOrderStatusEventFindFirstArgs = { /** * Select specific fields to fetch from the PreOrderStatusEvent */ select?: PreOrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderStatusEventInclude | null /** * Filter, which PreOrderStatusEvent to fetch. */ where?: PreOrderStatusEventWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of PreOrderStatusEvents to fetch. */ orderBy?: PreOrderStatusEventOrderByWithRelationInput | PreOrderStatusEventOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for PreOrderStatusEvents. */ cursor?: PreOrderStatusEventWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` PreOrderStatusEvents 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` PreOrderStatusEvents. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of PreOrderStatusEvents. */ distinct?: PreOrderStatusEventScalarFieldEnum | PreOrderStatusEventScalarFieldEnum[] } /** * PreOrderStatusEvent findFirstOrThrow */ export type PreOrderStatusEventFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the PreOrderStatusEvent */ select?: PreOrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderStatusEventInclude | null /** * Filter, which PreOrderStatusEvent to fetch. */ where?: PreOrderStatusEventWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of PreOrderStatusEvents to fetch. */ orderBy?: PreOrderStatusEventOrderByWithRelationInput | PreOrderStatusEventOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for PreOrderStatusEvents. */ cursor?: PreOrderStatusEventWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` PreOrderStatusEvents 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` PreOrderStatusEvents. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of PreOrderStatusEvents. */ distinct?: PreOrderStatusEventScalarFieldEnum | PreOrderStatusEventScalarFieldEnum[] } /** * PreOrderStatusEvent findMany */ export type PreOrderStatusEventFindManyArgs = { /** * Select specific fields to fetch from the PreOrderStatusEvent */ select?: PreOrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderStatusEventInclude | null /** * Filter, which PreOrderStatusEvents to fetch. */ where?: PreOrderStatusEventWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of PreOrderStatusEvents to fetch. */ orderBy?: PreOrderStatusEventOrderByWithRelationInput | PreOrderStatusEventOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing PreOrderStatusEvents. */ cursor?: PreOrderStatusEventWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` PreOrderStatusEvents 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` PreOrderStatusEvents. */ skip?: number distinct?: PreOrderStatusEventScalarFieldEnum | PreOrderStatusEventScalarFieldEnum[] } /** * PreOrderStatusEvent create */ export type PreOrderStatusEventCreateArgs = { /** * Select specific fields to fetch from the PreOrderStatusEvent */ select?: PreOrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderStatusEventInclude | null /** * The data needed to create a PreOrderStatusEvent. */ data: XOR } /** * PreOrderStatusEvent createMany */ export type PreOrderStatusEventCreateManyArgs = { /** * The data used to create many PreOrderStatusEvents. */ data: PreOrderStatusEventCreateManyInput | PreOrderStatusEventCreateManyInput[] skipDuplicates?: boolean } /** * PreOrderStatusEvent createManyAndReturn */ export type PreOrderStatusEventCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the PreOrderStatusEvent */ select?: PreOrderStatusEventSelectCreateManyAndReturn | null /** * The data used to create many PreOrderStatusEvents. */ data: PreOrderStatusEventCreateManyInput | PreOrderStatusEventCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: PreOrderStatusEventIncludeCreateManyAndReturn | null } /** * PreOrderStatusEvent update */ export type PreOrderStatusEventUpdateArgs = { /** * Select specific fields to fetch from the PreOrderStatusEvent */ select?: PreOrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderStatusEventInclude | null /** * The data needed to update a PreOrderStatusEvent. */ data: XOR /** * Choose, which PreOrderStatusEvent to update. */ where: PreOrderStatusEventWhereUniqueInput } /** * PreOrderStatusEvent updateMany */ export type PreOrderStatusEventUpdateManyArgs = { /** * The data used to update PreOrderStatusEvents. */ data: XOR /** * Filter which PreOrderStatusEvents to update */ where?: PreOrderStatusEventWhereInput } /** * PreOrderStatusEvent upsert */ export type PreOrderStatusEventUpsertArgs = { /** * Select specific fields to fetch from the PreOrderStatusEvent */ select?: PreOrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderStatusEventInclude | null /** * The filter to search for the PreOrderStatusEvent to update in case it exists. */ where: PreOrderStatusEventWhereUniqueInput /** * In case the PreOrderStatusEvent found by the `where` argument doesn't exist, create a new PreOrderStatusEvent with this data. */ create: XOR /** * In case the PreOrderStatusEvent was found with the provided `where` argument, update it with this data. */ update: XOR } /** * PreOrderStatusEvent delete */ export type PreOrderStatusEventDeleteArgs = { /** * Select specific fields to fetch from the PreOrderStatusEvent */ select?: PreOrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderStatusEventInclude | null /** * Filter which PreOrderStatusEvent to delete. */ where: PreOrderStatusEventWhereUniqueInput } /** * PreOrderStatusEvent deleteMany */ export type PreOrderStatusEventDeleteManyArgs = { /** * Filter which PreOrderStatusEvents to delete */ where?: PreOrderStatusEventWhereInput } /** * PreOrderStatusEvent.actorAdminUser */ export type PreOrderStatusEvent$actorAdminUserArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null where?: AdminUserWhereInput } /** * PreOrderStatusEvent without action */ export type PreOrderStatusEventDefaultArgs = { /** * Select specific fields to fetch from the PreOrderStatusEvent */ select?: PreOrderStatusEventSelect | null /** * Choose, which related nodes to fetch as well */ include?: PreOrderStatusEventInclude | null } /** * Model LedgerEntry */ export type AggregateLedgerEntry = { _count: LedgerEntryCountAggregateOutputType | null _avg: LedgerEntryAvgAggregateOutputType | null _sum: LedgerEntrySumAggregateOutputType | null _min: LedgerEntryMinAggregateOutputType | null _max: LedgerEntryMaxAggregateOutputType | null } export type LedgerEntryAvgAggregateOutputType = { amount: Decimal | null karatPerMille: number | null pricePerGramRialAtEntry: Decimal | null originalValue: Decimal | null priceRial: Decimal | null } export type LedgerEntrySumAggregateOutputType = { amount: Decimal | null karatPerMille: number | null pricePerGramRialAtEntry: Decimal | null originalValue: Decimal | null priceRial: Decimal | null } export type LedgerEntryMinAggregateOutputType = { id: string | null customerId: string | null currency: $Enums.LedgerCurrency | null direction: $Enums.LedgerDirection | null sourceType: $Enums.LedgerSourceType | null amount: Decimal | null karatPerMille: number | null pricePerGramRialAtEntry: Decimal | null orderId: string | null confirmed: boolean | null confirmedAt: Date | null postedByAdminUserId: string | null labName: string | null hallmark: string | null accountName: string | null bankName: string | null transferTo: string | null originalValue: Decimal | null priceRial: Decimal | null receivedAt: Date | null note: string | null createdAt: Date | null } export type LedgerEntryMaxAggregateOutputType = { id: string | null customerId: string | null currency: $Enums.LedgerCurrency | null direction: $Enums.LedgerDirection | null sourceType: $Enums.LedgerSourceType | null amount: Decimal | null karatPerMille: number | null pricePerGramRialAtEntry: Decimal | null orderId: string | null confirmed: boolean | null confirmedAt: Date | null postedByAdminUserId: string | null labName: string | null hallmark: string | null accountName: string | null bankName: string | null transferTo: string | null originalValue: Decimal | null priceRial: Decimal | null receivedAt: Date | null note: string | null createdAt: Date | null } export type LedgerEntryCountAggregateOutputType = { id: number customerId: number currency: number direction: number sourceType: number amount: number karatPerMille: number pricePerGramRialAtEntry: number orderId: number confirmed: number confirmedAt: number postedByAdminUserId: number labName: number hallmark: number accountName: number bankName: number transferTo: number originalValue: number priceRial: number receivedAt: number note: number createdAt: number _all: number } export type LedgerEntryAvgAggregateInputType = { amount?: true karatPerMille?: true pricePerGramRialAtEntry?: true originalValue?: true priceRial?: true } export type LedgerEntrySumAggregateInputType = { amount?: true karatPerMille?: true pricePerGramRialAtEntry?: true originalValue?: true priceRial?: true } export type LedgerEntryMinAggregateInputType = { id?: true customerId?: true currency?: true direction?: true sourceType?: true amount?: true karatPerMille?: true pricePerGramRialAtEntry?: true orderId?: true confirmed?: true confirmedAt?: true postedByAdminUserId?: true labName?: true hallmark?: true accountName?: true bankName?: true transferTo?: true originalValue?: true priceRial?: true receivedAt?: true note?: true createdAt?: true } export type LedgerEntryMaxAggregateInputType = { id?: true customerId?: true currency?: true direction?: true sourceType?: true amount?: true karatPerMille?: true pricePerGramRialAtEntry?: true orderId?: true confirmed?: true confirmedAt?: true postedByAdminUserId?: true labName?: true hallmark?: true accountName?: true bankName?: true transferTo?: true originalValue?: true priceRial?: true receivedAt?: true note?: true createdAt?: true } export type LedgerEntryCountAggregateInputType = { id?: true customerId?: true currency?: true direction?: true sourceType?: true amount?: true karatPerMille?: true pricePerGramRialAtEntry?: true orderId?: true confirmed?: true confirmedAt?: true postedByAdminUserId?: true labName?: true hallmark?: true accountName?: true bankName?: true transferTo?: true originalValue?: true priceRial?: true receivedAt?: true note?: true createdAt?: true _all?: true } export type LedgerEntryAggregateArgs = { /** * Filter which LedgerEntry to aggregate. */ where?: LedgerEntryWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of LedgerEntries to fetch. */ orderBy?: LedgerEntryOrderByWithRelationInput | LedgerEntryOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: LedgerEntryWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` LedgerEntries 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` LedgerEntries. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned LedgerEntries **/ _count?: true | LedgerEntryCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: LedgerEntryAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: LedgerEntrySumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: LedgerEntryMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: LedgerEntryMaxAggregateInputType } export type GetLedgerEntryAggregateType = { [P in keyof T & keyof AggregateLedgerEntry]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type LedgerEntryGroupByArgs = { where?: LedgerEntryWhereInput orderBy?: LedgerEntryOrderByWithAggregationInput | LedgerEntryOrderByWithAggregationInput[] by: LedgerEntryScalarFieldEnum[] | LedgerEntryScalarFieldEnum having?: LedgerEntryScalarWhereWithAggregatesInput take?: number skip?: number _count?: LedgerEntryCountAggregateInputType | true _avg?: LedgerEntryAvgAggregateInputType _sum?: LedgerEntrySumAggregateInputType _min?: LedgerEntryMinAggregateInputType _max?: LedgerEntryMaxAggregateInputType } export type LedgerEntryGroupByOutputType = { id: string customerId: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType amount: Decimal karatPerMille: number | null pricePerGramRialAtEntry: Decimal | null orderId: string | null confirmed: boolean confirmedAt: Date | null postedByAdminUserId: string | null labName: string | null hallmark: string | null accountName: string | null bankName: string | null transferTo: string | null originalValue: Decimal | null priceRial: Decimal | null receivedAt: Date | null note: string | null createdAt: Date _count: LedgerEntryCountAggregateOutputType | null _avg: LedgerEntryAvgAggregateOutputType | null _sum: LedgerEntrySumAggregateOutputType | null _min: LedgerEntryMinAggregateOutputType | null _max: LedgerEntryMaxAggregateOutputType | null } type GetLedgerEntryGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof LedgerEntryGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type LedgerEntrySelect = $Extensions.GetSelect<{ id?: boolean customerId?: boolean currency?: boolean direction?: boolean sourceType?: boolean amount?: boolean karatPerMille?: boolean pricePerGramRialAtEntry?: boolean orderId?: boolean confirmed?: boolean confirmedAt?: boolean postedByAdminUserId?: boolean labName?: boolean hallmark?: boolean accountName?: boolean bankName?: boolean transferTo?: boolean originalValue?: boolean priceRial?: boolean receivedAt?: boolean note?: boolean createdAt?: boolean customer?: boolean | CustomerDefaultArgs order?: boolean | LedgerEntry$orderArgs postedByAdminUser?: boolean | LedgerEntry$postedByAdminUserArgs }, ExtArgs["result"]["ledgerEntry"]> export type LedgerEntrySelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean customerId?: boolean currency?: boolean direction?: boolean sourceType?: boolean amount?: boolean karatPerMille?: boolean pricePerGramRialAtEntry?: boolean orderId?: boolean confirmed?: boolean confirmedAt?: boolean postedByAdminUserId?: boolean labName?: boolean hallmark?: boolean accountName?: boolean bankName?: boolean transferTo?: boolean originalValue?: boolean priceRial?: boolean receivedAt?: boolean note?: boolean createdAt?: boolean customer?: boolean | CustomerDefaultArgs order?: boolean | LedgerEntry$orderArgs postedByAdminUser?: boolean | LedgerEntry$postedByAdminUserArgs }, ExtArgs["result"]["ledgerEntry"]> export type LedgerEntrySelectScalar = { id?: boolean customerId?: boolean currency?: boolean direction?: boolean sourceType?: boolean amount?: boolean karatPerMille?: boolean pricePerGramRialAtEntry?: boolean orderId?: boolean confirmed?: boolean confirmedAt?: boolean postedByAdminUserId?: boolean labName?: boolean hallmark?: boolean accountName?: boolean bankName?: boolean transferTo?: boolean originalValue?: boolean priceRial?: boolean receivedAt?: boolean note?: boolean createdAt?: boolean } export type LedgerEntryInclude = { customer?: boolean | CustomerDefaultArgs order?: boolean | LedgerEntry$orderArgs postedByAdminUser?: boolean | LedgerEntry$postedByAdminUserArgs } export type LedgerEntryIncludeCreateManyAndReturn = { customer?: boolean | CustomerDefaultArgs order?: boolean | LedgerEntry$orderArgs postedByAdminUser?: boolean | LedgerEntry$postedByAdminUserArgs } export type $LedgerEntryPayload = { name: "LedgerEntry" objects: { customer: Prisma.$CustomerPayload order: Prisma.$OrderPayload | null postedByAdminUser: Prisma.$AdminUserPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string customerId: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType /** * Always positive; direction determines the sign applied to the customer balance. */ amount: Prisma.Decimal /** * Purity of the physical instrument, for REPAYMENT_MELTED_GOLD (e.g. 750, 916). */ karatPerMille: number | null /** * Gold price/gram at conversion time, for REPAYMENT_CASH. */ pricePerGramRialAtEntry: Prisma.Decimal | null orderId: string | null /** * Pending entries don't count toward the cached customer balance until confirmed. */ confirmed: boolean confirmedAt: Date | null postedByAdminUserId: string | null /** * Instrument metadata from the legacy "cash" document form. Which fields are * filled depends on sourceType: a melted-gold receipt carries lab/hallmark and * the pre-normalization weight, a cheque carries the account and bank, and a * transfer carries its destination. * Legacy columns: lab, ang, account_name, bank_name, to, original_value, recive_date. */ labName: string | null hallmark: string | null accountName: string | null bankName: string | null transferTo: string | null /** * Weight as handed over, BEFORE karat normalization (legacy original_value). */ originalValue: Prisma.Decimal | null /** * Rial amount for cash/cheque documents (legacy price). */ priceRial: Prisma.Decimal | null receivedAt: Date | null note: string | null createdAt: Date }, ExtArgs["result"]["ledgerEntry"]> composites: {} } type LedgerEntryGetPayload = $Result.GetResult type LedgerEntryCountArgs = Omit & { select?: LedgerEntryCountAggregateInputType | true } export interface LedgerEntryDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['LedgerEntry'], meta: { name: 'LedgerEntry' } } /** * Find zero or one LedgerEntry that matches the filter. * @param {LedgerEntryFindUniqueArgs} args - Arguments to find a LedgerEntry * @example * // Get one LedgerEntry * const ledgerEntry = await prisma.ledgerEntry.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__LedgerEntryClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one LedgerEntry that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {LedgerEntryFindUniqueOrThrowArgs} args - Arguments to find a LedgerEntry * @example * // Get one LedgerEntry * const ledgerEntry = await prisma.ledgerEntry.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__LedgerEntryClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first LedgerEntry 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 {LedgerEntryFindFirstArgs} args - Arguments to find a LedgerEntry * @example * // Get one LedgerEntry * const ledgerEntry = await prisma.ledgerEntry.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__LedgerEntryClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first LedgerEntry 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 {LedgerEntryFindFirstOrThrowArgs} args - Arguments to find a LedgerEntry * @example * // Get one LedgerEntry * const ledgerEntry = await prisma.ledgerEntry.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__LedgerEntryClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more LedgerEntries 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 {LedgerEntryFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all LedgerEntries * const ledgerEntries = await prisma.ledgerEntry.findMany() * * // Get first 10 LedgerEntries * const ledgerEntries = await prisma.ledgerEntry.findMany({ take: 10 }) * * // Only select the `id` * const ledgerEntryWithIdOnly = await prisma.ledgerEntry.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a LedgerEntry. * @param {LedgerEntryCreateArgs} args - Arguments to create a LedgerEntry. * @example * // Create one LedgerEntry * const LedgerEntry = await prisma.ledgerEntry.create({ * data: { * // ... data to create a LedgerEntry * } * }) * */ create(args: SelectSubset>): Prisma__LedgerEntryClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many LedgerEntries. * @param {LedgerEntryCreateManyArgs} args - Arguments to create many LedgerEntries. * @example * // Create many LedgerEntries * const ledgerEntry = await prisma.ledgerEntry.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many LedgerEntries and returns the data saved in the database. * @param {LedgerEntryCreateManyAndReturnArgs} args - Arguments to create many LedgerEntries. * @example * // Create many LedgerEntries * const ledgerEntry = await prisma.ledgerEntry.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many LedgerEntries and only return the `id` * const ledgerEntryWithIdOnly = await prisma.ledgerEntry.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a LedgerEntry. * @param {LedgerEntryDeleteArgs} args - Arguments to delete one LedgerEntry. * @example * // Delete one LedgerEntry * const LedgerEntry = await prisma.ledgerEntry.delete({ * where: { * // ... filter to delete one LedgerEntry * } * }) * */ delete(args: SelectSubset>): Prisma__LedgerEntryClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one LedgerEntry. * @param {LedgerEntryUpdateArgs} args - Arguments to update one LedgerEntry. * @example * // Update one LedgerEntry * const ledgerEntry = await prisma.ledgerEntry.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__LedgerEntryClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more LedgerEntries. * @param {LedgerEntryDeleteManyArgs} args - Arguments to filter LedgerEntries to delete. * @example * // Delete a few LedgerEntries * const { count } = await prisma.ledgerEntry.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more LedgerEntries. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {LedgerEntryUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many LedgerEntries * const ledgerEntry = await prisma.ledgerEntry.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one LedgerEntry. * @param {LedgerEntryUpsertArgs} args - Arguments to update or create a LedgerEntry. * @example * // Update or create a LedgerEntry * const ledgerEntry = await prisma.ledgerEntry.upsert({ * create: { * // ... data to create a LedgerEntry * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the LedgerEntry we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__LedgerEntryClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of LedgerEntries. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {LedgerEntryCountArgs} args - Arguments to filter LedgerEntries to count. * @example * // Count the number of LedgerEntries * const count = await prisma.ledgerEntry.count({ * where: { * // ... the filter for the LedgerEntries we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a LedgerEntry. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {LedgerEntryAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by LedgerEntry. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {LedgerEntryGroupByArgs} 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 LedgerEntryGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: LedgerEntryGroupByArgs['orderBy'] } : { orderBy?: LedgerEntryGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetLedgerEntryGroupByPayload : Prisma.PrismaPromise /** * Fields of the LedgerEntry model */ readonly fields: LedgerEntryFieldRefs; } /** * The delegate class that acts as a "Promise-like" for LedgerEntry. * 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__LedgerEntryClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" customer = {}>(args?: Subset>): Prisma__CustomerClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> order = {}>(args?: Subset>): Prisma__OrderClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> postedByAdminUser = {}>(args?: Subset>): Prisma__AdminUserClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the LedgerEntry model */ interface LedgerEntryFieldRefs { readonly id: FieldRef<"LedgerEntry", 'String'> readonly customerId: FieldRef<"LedgerEntry", 'String'> readonly currency: FieldRef<"LedgerEntry", 'LedgerCurrency'> readonly direction: FieldRef<"LedgerEntry", 'LedgerDirection'> readonly sourceType: FieldRef<"LedgerEntry", 'LedgerSourceType'> readonly amount: FieldRef<"LedgerEntry", 'Decimal'> readonly karatPerMille: FieldRef<"LedgerEntry", 'Int'> readonly pricePerGramRialAtEntry: FieldRef<"LedgerEntry", 'Decimal'> readonly orderId: FieldRef<"LedgerEntry", 'String'> readonly confirmed: FieldRef<"LedgerEntry", 'Boolean'> readonly confirmedAt: FieldRef<"LedgerEntry", 'DateTime'> readonly postedByAdminUserId: FieldRef<"LedgerEntry", 'String'> readonly labName: FieldRef<"LedgerEntry", 'String'> readonly hallmark: FieldRef<"LedgerEntry", 'String'> readonly accountName: FieldRef<"LedgerEntry", 'String'> readonly bankName: FieldRef<"LedgerEntry", 'String'> readonly transferTo: FieldRef<"LedgerEntry", 'String'> readonly originalValue: FieldRef<"LedgerEntry", 'Decimal'> readonly priceRial: FieldRef<"LedgerEntry", 'Decimal'> readonly receivedAt: FieldRef<"LedgerEntry", 'DateTime'> readonly note: FieldRef<"LedgerEntry", 'String'> readonly createdAt: FieldRef<"LedgerEntry", 'DateTime'> } // Custom InputTypes /** * LedgerEntry findUnique */ export type LedgerEntryFindUniqueArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelect | null /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryInclude | null /** * Filter, which LedgerEntry to fetch. */ where: LedgerEntryWhereUniqueInput } /** * LedgerEntry findUniqueOrThrow */ export type LedgerEntryFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelect | null /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryInclude | null /** * Filter, which LedgerEntry to fetch. */ where: LedgerEntryWhereUniqueInput } /** * LedgerEntry findFirst */ export type LedgerEntryFindFirstArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelect | null /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryInclude | null /** * Filter, which LedgerEntry to fetch. */ where?: LedgerEntryWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of LedgerEntries to fetch. */ orderBy?: LedgerEntryOrderByWithRelationInput | LedgerEntryOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for LedgerEntries. */ cursor?: LedgerEntryWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` LedgerEntries 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` LedgerEntries. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of LedgerEntries. */ distinct?: LedgerEntryScalarFieldEnum | LedgerEntryScalarFieldEnum[] } /** * LedgerEntry findFirstOrThrow */ export type LedgerEntryFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelect | null /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryInclude | null /** * Filter, which LedgerEntry to fetch. */ where?: LedgerEntryWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of LedgerEntries to fetch. */ orderBy?: LedgerEntryOrderByWithRelationInput | LedgerEntryOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for LedgerEntries. */ cursor?: LedgerEntryWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` LedgerEntries 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` LedgerEntries. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of LedgerEntries. */ distinct?: LedgerEntryScalarFieldEnum | LedgerEntryScalarFieldEnum[] } /** * LedgerEntry findMany */ export type LedgerEntryFindManyArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelect | null /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryInclude | null /** * Filter, which LedgerEntries to fetch. */ where?: LedgerEntryWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of LedgerEntries to fetch. */ orderBy?: LedgerEntryOrderByWithRelationInput | LedgerEntryOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing LedgerEntries. */ cursor?: LedgerEntryWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` LedgerEntries 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` LedgerEntries. */ skip?: number distinct?: LedgerEntryScalarFieldEnum | LedgerEntryScalarFieldEnum[] } /** * LedgerEntry create */ export type LedgerEntryCreateArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelect | null /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryInclude | null /** * The data needed to create a LedgerEntry. */ data: XOR } /** * LedgerEntry createMany */ export type LedgerEntryCreateManyArgs = { /** * The data used to create many LedgerEntries. */ data: LedgerEntryCreateManyInput | LedgerEntryCreateManyInput[] skipDuplicates?: boolean } /** * LedgerEntry createManyAndReturn */ export type LedgerEntryCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelectCreateManyAndReturn | null /** * The data used to create many LedgerEntries. */ data: LedgerEntryCreateManyInput | LedgerEntryCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryIncludeCreateManyAndReturn | null } /** * LedgerEntry update */ export type LedgerEntryUpdateArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelect | null /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryInclude | null /** * The data needed to update a LedgerEntry. */ data: XOR /** * Choose, which LedgerEntry to update. */ where: LedgerEntryWhereUniqueInput } /** * LedgerEntry updateMany */ export type LedgerEntryUpdateManyArgs = { /** * The data used to update LedgerEntries. */ data: XOR /** * Filter which LedgerEntries to update */ where?: LedgerEntryWhereInput } /** * LedgerEntry upsert */ export type LedgerEntryUpsertArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelect | null /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryInclude | null /** * The filter to search for the LedgerEntry to update in case it exists. */ where: LedgerEntryWhereUniqueInput /** * In case the LedgerEntry found by the `where` argument doesn't exist, create a new LedgerEntry with this data. */ create: XOR /** * In case the LedgerEntry was found with the provided `where` argument, update it with this data. */ update: XOR } /** * LedgerEntry delete */ export type LedgerEntryDeleteArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelect | null /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryInclude | null /** * Filter which LedgerEntry to delete. */ where: LedgerEntryWhereUniqueInput } /** * LedgerEntry deleteMany */ export type LedgerEntryDeleteManyArgs = { /** * Filter which LedgerEntries to delete */ where?: LedgerEntryWhereInput } /** * LedgerEntry.order */ export type LedgerEntry$orderArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Choose, which related nodes to fetch as well */ include?: OrderInclude | null where?: OrderWhereInput } /** * LedgerEntry.postedByAdminUser */ export type LedgerEntry$postedByAdminUserArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null where?: AdminUserWhereInput } /** * LedgerEntry without action */ export type LedgerEntryDefaultArgs = { /** * Select specific fields to fetch from the LedgerEntry */ select?: LedgerEntrySelect | null /** * Choose, which related nodes to fetch as well */ include?: LedgerEntryInclude | null } /** * Model GoldPriceQuote */ export type AggregateGoldPriceQuote = { _count: GoldPriceQuoteCountAggregateOutputType | null _avg: GoldPriceQuoteAvgAggregateOutputType | null _sum: GoldPriceQuoteSumAggregateOutputType | null _min: GoldPriceQuoteMinAggregateOutputType | null _max: GoldPriceQuoteMaxAggregateOutputType | null } export type GoldPriceQuoteAvgAggregateOutputType = { karatPerMille: number | null pricePerGramRial: Decimal | null } export type GoldPriceQuoteSumAggregateOutputType = { karatPerMille: number | null pricePerGramRial: Decimal | null } export type GoldPriceQuoteMinAggregateOutputType = { id: string | null karatPerMille: number | null pricePerGramRial: Decimal | null source: string | null quotedAt: Date | null } export type GoldPriceQuoteMaxAggregateOutputType = { id: string | null karatPerMille: number | null pricePerGramRial: Decimal | null source: string | null quotedAt: Date | null } export type GoldPriceQuoteCountAggregateOutputType = { id: number karatPerMille: number pricePerGramRial: number source: number quotedAt: number _all: number } export type GoldPriceQuoteAvgAggregateInputType = { karatPerMille?: true pricePerGramRial?: true } export type GoldPriceQuoteSumAggregateInputType = { karatPerMille?: true pricePerGramRial?: true } export type GoldPriceQuoteMinAggregateInputType = { id?: true karatPerMille?: true pricePerGramRial?: true source?: true quotedAt?: true } export type GoldPriceQuoteMaxAggregateInputType = { id?: true karatPerMille?: true pricePerGramRial?: true source?: true quotedAt?: true } export type GoldPriceQuoteCountAggregateInputType = { id?: true karatPerMille?: true pricePerGramRial?: true source?: true quotedAt?: true _all?: true } export type GoldPriceQuoteAggregateArgs = { /** * Filter which GoldPriceQuote to aggregate. */ where?: GoldPriceQuoteWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of GoldPriceQuotes to fetch. */ orderBy?: GoldPriceQuoteOrderByWithRelationInput | GoldPriceQuoteOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: GoldPriceQuoteWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` GoldPriceQuotes 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` GoldPriceQuotes. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned GoldPriceQuotes **/ _count?: true | GoldPriceQuoteCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: GoldPriceQuoteAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: GoldPriceQuoteSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: GoldPriceQuoteMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: GoldPriceQuoteMaxAggregateInputType } export type GetGoldPriceQuoteAggregateType = { [P in keyof T & keyof AggregateGoldPriceQuote]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type GoldPriceQuoteGroupByArgs = { where?: GoldPriceQuoteWhereInput orderBy?: GoldPriceQuoteOrderByWithAggregationInput | GoldPriceQuoteOrderByWithAggregationInput[] by: GoldPriceQuoteScalarFieldEnum[] | GoldPriceQuoteScalarFieldEnum having?: GoldPriceQuoteScalarWhereWithAggregatesInput take?: number skip?: number _count?: GoldPriceQuoteCountAggregateInputType | true _avg?: GoldPriceQuoteAvgAggregateInputType _sum?: GoldPriceQuoteSumAggregateInputType _min?: GoldPriceQuoteMinAggregateInputType _max?: GoldPriceQuoteMaxAggregateInputType } export type GoldPriceQuoteGroupByOutputType = { id: string karatPerMille: number pricePerGramRial: Decimal source: string quotedAt: Date _count: GoldPriceQuoteCountAggregateOutputType | null _avg: GoldPriceQuoteAvgAggregateOutputType | null _sum: GoldPriceQuoteSumAggregateOutputType | null _min: GoldPriceQuoteMinAggregateOutputType | null _max: GoldPriceQuoteMaxAggregateOutputType | null } type GetGoldPriceQuoteGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof GoldPriceQuoteGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type GoldPriceQuoteSelect = $Extensions.GetSelect<{ id?: boolean karatPerMille?: boolean pricePerGramRial?: boolean source?: boolean quotedAt?: boolean }, ExtArgs["result"]["goldPriceQuote"]> export type GoldPriceQuoteSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean karatPerMille?: boolean pricePerGramRial?: boolean source?: boolean quotedAt?: boolean }, ExtArgs["result"]["goldPriceQuote"]> export type GoldPriceQuoteSelectScalar = { id?: boolean karatPerMille?: boolean pricePerGramRial?: boolean source?: boolean quotedAt?: boolean } export type $GoldPriceQuotePayload = { name: "GoldPriceQuote" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string karatPerMille: number pricePerGramRial: Prisma.Decimal source: string quotedAt: Date }, ExtArgs["result"]["goldPriceQuote"]> composites: {} } type GoldPriceQuoteGetPayload = $Result.GetResult type GoldPriceQuoteCountArgs = Omit & { select?: GoldPriceQuoteCountAggregateInputType | true } export interface GoldPriceQuoteDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['GoldPriceQuote'], meta: { name: 'GoldPriceQuote' } } /** * Find zero or one GoldPriceQuote that matches the filter. * @param {GoldPriceQuoteFindUniqueArgs} args - Arguments to find a GoldPriceQuote * @example * // Get one GoldPriceQuote * const goldPriceQuote = await prisma.goldPriceQuote.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__GoldPriceQuoteClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one GoldPriceQuote that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {GoldPriceQuoteFindUniqueOrThrowArgs} args - Arguments to find a GoldPriceQuote * @example * // Get one GoldPriceQuote * const goldPriceQuote = await prisma.goldPriceQuote.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__GoldPriceQuoteClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first GoldPriceQuote 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 {GoldPriceQuoteFindFirstArgs} args - Arguments to find a GoldPriceQuote * @example * // Get one GoldPriceQuote * const goldPriceQuote = await prisma.goldPriceQuote.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__GoldPriceQuoteClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first GoldPriceQuote 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 {GoldPriceQuoteFindFirstOrThrowArgs} args - Arguments to find a GoldPriceQuote * @example * // Get one GoldPriceQuote * const goldPriceQuote = await prisma.goldPriceQuote.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__GoldPriceQuoteClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more GoldPriceQuotes 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 {GoldPriceQuoteFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all GoldPriceQuotes * const goldPriceQuotes = await prisma.goldPriceQuote.findMany() * * // Get first 10 GoldPriceQuotes * const goldPriceQuotes = await prisma.goldPriceQuote.findMany({ take: 10 }) * * // Only select the `id` * const goldPriceQuoteWithIdOnly = await prisma.goldPriceQuote.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a GoldPriceQuote. * @param {GoldPriceQuoteCreateArgs} args - Arguments to create a GoldPriceQuote. * @example * // Create one GoldPriceQuote * const GoldPriceQuote = await prisma.goldPriceQuote.create({ * data: { * // ... data to create a GoldPriceQuote * } * }) * */ create(args: SelectSubset>): Prisma__GoldPriceQuoteClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many GoldPriceQuotes. * @param {GoldPriceQuoteCreateManyArgs} args - Arguments to create many GoldPriceQuotes. * @example * // Create many GoldPriceQuotes * const goldPriceQuote = await prisma.goldPriceQuote.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many GoldPriceQuotes and returns the data saved in the database. * @param {GoldPriceQuoteCreateManyAndReturnArgs} args - Arguments to create many GoldPriceQuotes. * @example * // Create many GoldPriceQuotes * const goldPriceQuote = await prisma.goldPriceQuote.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many GoldPriceQuotes and only return the `id` * const goldPriceQuoteWithIdOnly = await prisma.goldPriceQuote.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a GoldPriceQuote. * @param {GoldPriceQuoteDeleteArgs} args - Arguments to delete one GoldPriceQuote. * @example * // Delete one GoldPriceQuote * const GoldPriceQuote = await prisma.goldPriceQuote.delete({ * where: { * // ... filter to delete one GoldPriceQuote * } * }) * */ delete(args: SelectSubset>): Prisma__GoldPriceQuoteClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one GoldPriceQuote. * @param {GoldPriceQuoteUpdateArgs} args - Arguments to update one GoldPriceQuote. * @example * // Update one GoldPriceQuote * const goldPriceQuote = await prisma.goldPriceQuote.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__GoldPriceQuoteClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more GoldPriceQuotes. * @param {GoldPriceQuoteDeleteManyArgs} args - Arguments to filter GoldPriceQuotes to delete. * @example * // Delete a few GoldPriceQuotes * const { count } = await prisma.goldPriceQuote.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more GoldPriceQuotes. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {GoldPriceQuoteUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many GoldPriceQuotes * const goldPriceQuote = await prisma.goldPriceQuote.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one GoldPriceQuote. * @param {GoldPriceQuoteUpsertArgs} args - Arguments to update or create a GoldPriceQuote. * @example * // Update or create a GoldPriceQuote * const goldPriceQuote = await prisma.goldPriceQuote.upsert({ * create: { * // ... data to create a GoldPriceQuote * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the GoldPriceQuote we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__GoldPriceQuoteClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of GoldPriceQuotes. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {GoldPriceQuoteCountArgs} args - Arguments to filter GoldPriceQuotes to count. * @example * // Count the number of GoldPriceQuotes * const count = await prisma.goldPriceQuote.count({ * where: { * // ... the filter for the GoldPriceQuotes we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a GoldPriceQuote. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {GoldPriceQuoteAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by GoldPriceQuote. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {GoldPriceQuoteGroupByArgs} 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 GoldPriceQuoteGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: GoldPriceQuoteGroupByArgs['orderBy'] } : { orderBy?: GoldPriceQuoteGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetGoldPriceQuoteGroupByPayload : Prisma.PrismaPromise /** * Fields of the GoldPriceQuote model */ readonly fields: GoldPriceQuoteFieldRefs; } /** * The delegate class that acts as a "Promise-like" for GoldPriceQuote. * 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__GoldPriceQuoteClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the GoldPriceQuote model */ interface GoldPriceQuoteFieldRefs { readonly id: FieldRef<"GoldPriceQuote", 'String'> readonly karatPerMille: FieldRef<"GoldPriceQuote", 'Int'> readonly pricePerGramRial: FieldRef<"GoldPriceQuote", 'Decimal'> readonly source: FieldRef<"GoldPriceQuote", 'String'> readonly quotedAt: FieldRef<"GoldPriceQuote", 'DateTime'> } // Custom InputTypes /** * GoldPriceQuote findUnique */ export type GoldPriceQuoteFindUniqueArgs = { /** * Select specific fields to fetch from the GoldPriceQuote */ select?: GoldPriceQuoteSelect | null /** * Filter, which GoldPriceQuote to fetch. */ where: GoldPriceQuoteWhereUniqueInput } /** * GoldPriceQuote findUniqueOrThrow */ export type GoldPriceQuoteFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the GoldPriceQuote */ select?: GoldPriceQuoteSelect | null /** * Filter, which GoldPriceQuote to fetch. */ where: GoldPriceQuoteWhereUniqueInput } /** * GoldPriceQuote findFirst */ export type GoldPriceQuoteFindFirstArgs = { /** * Select specific fields to fetch from the GoldPriceQuote */ select?: GoldPriceQuoteSelect | null /** * Filter, which GoldPriceQuote to fetch. */ where?: GoldPriceQuoteWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of GoldPriceQuotes to fetch. */ orderBy?: GoldPriceQuoteOrderByWithRelationInput | GoldPriceQuoteOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for GoldPriceQuotes. */ cursor?: GoldPriceQuoteWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` GoldPriceQuotes 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` GoldPriceQuotes. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of GoldPriceQuotes. */ distinct?: GoldPriceQuoteScalarFieldEnum | GoldPriceQuoteScalarFieldEnum[] } /** * GoldPriceQuote findFirstOrThrow */ export type GoldPriceQuoteFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the GoldPriceQuote */ select?: GoldPriceQuoteSelect | null /** * Filter, which GoldPriceQuote to fetch. */ where?: GoldPriceQuoteWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of GoldPriceQuotes to fetch. */ orderBy?: GoldPriceQuoteOrderByWithRelationInput | GoldPriceQuoteOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for GoldPriceQuotes. */ cursor?: GoldPriceQuoteWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` GoldPriceQuotes 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` GoldPriceQuotes. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of GoldPriceQuotes. */ distinct?: GoldPriceQuoteScalarFieldEnum | GoldPriceQuoteScalarFieldEnum[] } /** * GoldPriceQuote findMany */ export type GoldPriceQuoteFindManyArgs = { /** * Select specific fields to fetch from the GoldPriceQuote */ select?: GoldPriceQuoteSelect | null /** * Filter, which GoldPriceQuotes to fetch. */ where?: GoldPriceQuoteWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of GoldPriceQuotes to fetch. */ orderBy?: GoldPriceQuoteOrderByWithRelationInput | GoldPriceQuoteOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing GoldPriceQuotes. */ cursor?: GoldPriceQuoteWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` GoldPriceQuotes 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` GoldPriceQuotes. */ skip?: number distinct?: GoldPriceQuoteScalarFieldEnum | GoldPriceQuoteScalarFieldEnum[] } /** * GoldPriceQuote create */ export type GoldPriceQuoteCreateArgs = { /** * Select specific fields to fetch from the GoldPriceQuote */ select?: GoldPriceQuoteSelect | null /** * The data needed to create a GoldPriceQuote. */ data: XOR } /** * GoldPriceQuote createMany */ export type GoldPriceQuoteCreateManyArgs = { /** * The data used to create many GoldPriceQuotes. */ data: GoldPriceQuoteCreateManyInput | GoldPriceQuoteCreateManyInput[] skipDuplicates?: boolean } /** * GoldPriceQuote createManyAndReturn */ export type GoldPriceQuoteCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the GoldPriceQuote */ select?: GoldPriceQuoteSelectCreateManyAndReturn | null /** * The data used to create many GoldPriceQuotes. */ data: GoldPriceQuoteCreateManyInput | GoldPriceQuoteCreateManyInput[] skipDuplicates?: boolean } /** * GoldPriceQuote update */ export type GoldPriceQuoteUpdateArgs = { /** * Select specific fields to fetch from the GoldPriceQuote */ select?: GoldPriceQuoteSelect | null /** * The data needed to update a GoldPriceQuote. */ data: XOR /** * Choose, which GoldPriceQuote to update. */ where: GoldPriceQuoteWhereUniqueInput } /** * GoldPriceQuote updateMany */ export type GoldPriceQuoteUpdateManyArgs = { /** * The data used to update GoldPriceQuotes. */ data: XOR /** * Filter which GoldPriceQuotes to update */ where?: GoldPriceQuoteWhereInput } /** * GoldPriceQuote upsert */ export type GoldPriceQuoteUpsertArgs = { /** * Select specific fields to fetch from the GoldPriceQuote */ select?: GoldPriceQuoteSelect | null /** * The filter to search for the GoldPriceQuote to update in case it exists. */ where: GoldPriceQuoteWhereUniqueInput /** * In case the GoldPriceQuote found by the `where` argument doesn't exist, create a new GoldPriceQuote with this data. */ create: XOR /** * In case the GoldPriceQuote was found with the provided `where` argument, update it with this data. */ update: XOR } /** * GoldPriceQuote delete */ export type GoldPriceQuoteDeleteArgs = { /** * Select specific fields to fetch from the GoldPriceQuote */ select?: GoldPriceQuoteSelect | null /** * Filter which GoldPriceQuote to delete. */ where: GoldPriceQuoteWhereUniqueInput } /** * GoldPriceQuote deleteMany */ export type GoldPriceQuoteDeleteManyArgs = { /** * Filter which GoldPriceQuotes to delete */ where?: GoldPriceQuoteWhereInput } /** * GoldPriceQuote without action */ export type GoldPriceQuoteDefaultArgs = { /** * Select specific fields to fetch from the GoldPriceQuote */ select?: GoldPriceQuoteSelect | null } /** * Model WalletBonus */ export type AggregateWalletBonus = { _count: WalletBonusCountAggregateOutputType | null _avg: WalletBonusAvgAggregateOutputType | null _sum: WalletBonusSumAggregateOutputType | null _min: WalletBonusMinAggregateOutputType | null _max: WalletBonusMaxAggregateOutputType | null } export type WalletBonusAvgAggregateOutputType = { goldGrams: Decimal | null } export type WalletBonusSumAggregateOutputType = { goldGrams: Decimal | null } export type WalletBonusMinAggregateOutputType = { id: string | null customerId: string | null orderId: string | null goldGrams: Decimal | null grantedAt: Date | null expiresAt: Date | null consumedAt: Date | null isActive: boolean | null } export type WalletBonusMaxAggregateOutputType = { id: string | null customerId: string | null orderId: string | null goldGrams: Decimal | null grantedAt: Date | null expiresAt: Date | null consumedAt: Date | null isActive: boolean | null } export type WalletBonusCountAggregateOutputType = { id: number customerId: number orderId: number goldGrams: number grantedAt: number expiresAt: number consumedAt: number isActive: number _all: number } export type WalletBonusAvgAggregateInputType = { goldGrams?: true } export type WalletBonusSumAggregateInputType = { goldGrams?: true } export type WalletBonusMinAggregateInputType = { id?: true customerId?: true orderId?: true goldGrams?: true grantedAt?: true expiresAt?: true consumedAt?: true isActive?: true } export type WalletBonusMaxAggregateInputType = { id?: true customerId?: true orderId?: true goldGrams?: true grantedAt?: true expiresAt?: true consumedAt?: true isActive?: true } export type WalletBonusCountAggregateInputType = { id?: true customerId?: true orderId?: true goldGrams?: true grantedAt?: true expiresAt?: true consumedAt?: true isActive?: true _all?: true } export type WalletBonusAggregateArgs = { /** * Filter which WalletBonus to aggregate. */ where?: WalletBonusWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of WalletBonuses to fetch. */ orderBy?: WalletBonusOrderByWithRelationInput | WalletBonusOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: WalletBonusWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` WalletBonuses 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` WalletBonuses. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned WalletBonuses **/ _count?: true | WalletBonusCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: WalletBonusAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: WalletBonusSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: WalletBonusMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: WalletBonusMaxAggregateInputType } export type GetWalletBonusAggregateType = { [P in keyof T & keyof AggregateWalletBonus]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type WalletBonusGroupByArgs = { where?: WalletBonusWhereInput orderBy?: WalletBonusOrderByWithAggregationInput | WalletBonusOrderByWithAggregationInput[] by: WalletBonusScalarFieldEnum[] | WalletBonusScalarFieldEnum having?: WalletBonusScalarWhereWithAggregatesInput take?: number skip?: number _count?: WalletBonusCountAggregateInputType | true _avg?: WalletBonusAvgAggregateInputType _sum?: WalletBonusSumAggregateInputType _min?: WalletBonusMinAggregateInputType _max?: WalletBonusMaxAggregateInputType } export type WalletBonusGroupByOutputType = { id: string customerId: string orderId: string | null goldGrams: Decimal grantedAt: Date expiresAt: Date consumedAt: Date | null isActive: boolean _count: WalletBonusCountAggregateOutputType | null _avg: WalletBonusAvgAggregateOutputType | null _sum: WalletBonusSumAggregateOutputType | null _min: WalletBonusMinAggregateOutputType | null _max: WalletBonusMaxAggregateOutputType | null } type GetWalletBonusGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof WalletBonusGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type WalletBonusSelect = $Extensions.GetSelect<{ id?: boolean customerId?: boolean orderId?: boolean goldGrams?: boolean grantedAt?: boolean expiresAt?: boolean consumedAt?: boolean isActive?: boolean customer?: boolean | CustomerDefaultArgs }, ExtArgs["result"]["walletBonus"]> export type WalletBonusSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean customerId?: boolean orderId?: boolean goldGrams?: boolean grantedAt?: boolean expiresAt?: boolean consumedAt?: boolean isActive?: boolean customer?: boolean | CustomerDefaultArgs }, ExtArgs["result"]["walletBonus"]> export type WalletBonusSelectScalar = { id?: boolean customerId?: boolean orderId?: boolean goldGrams?: boolean grantedAt?: boolean expiresAt?: boolean consumedAt?: boolean isActive?: boolean } export type WalletBonusInclude = { customer?: boolean | CustomerDefaultArgs } export type WalletBonusIncludeCreateManyAndReturn = { customer?: boolean | CustomerDefaultArgs } export type $WalletBonusPayload = { name: "WalletBonus" objects: { customer: Prisma.$CustomerPayload } scalars: $Extensions.GetPayloadResult<{ id: string customerId: string orderId: string | null goldGrams: Prisma.Decimal grantedAt: Date expiresAt: Date consumedAt: Date | null isActive: boolean }, ExtArgs["result"]["walletBonus"]> composites: {} } type WalletBonusGetPayload = $Result.GetResult type WalletBonusCountArgs = Omit & { select?: WalletBonusCountAggregateInputType | true } export interface WalletBonusDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['WalletBonus'], meta: { name: 'WalletBonus' } } /** * Find zero or one WalletBonus that matches the filter. * @param {WalletBonusFindUniqueArgs} args - Arguments to find a WalletBonus * @example * // Get one WalletBonus * const walletBonus = await prisma.walletBonus.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__WalletBonusClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one WalletBonus that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {WalletBonusFindUniqueOrThrowArgs} args - Arguments to find a WalletBonus * @example * // Get one WalletBonus * const walletBonus = await prisma.walletBonus.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__WalletBonusClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first WalletBonus 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 {WalletBonusFindFirstArgs} args - Arguments to find a WalletBonus * @example * // Get one WalletBonus * const walletBonus = await prisma.walletBonus.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__WalletBonusClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first WalletBonus 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 {WalletBonusFindFirstOrThrowArgs} args - Arguments to find a WalletBonus * @example * // Get one WalletBonus * const walletBonus = await prisma.walletBonus.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__WalletBonusClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more WalletBonuses 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 {WalletBonusFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all WalletBonuses * const walletBonuses = await prisma.walletBonus.findMany() * * // Get first 10 WalletBonuses * const walletBonuses = await prisma.walletBonus.findMany({ take: 10 }) * * // Only select the `id` * const walletBonusWithIdOnly = await prisma.walletBonus.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a WalletBonus. * @param {WalletBonusCreateArgs} args - Arguments to create a WalletBonus. * @example * // Create one WalletBonus * const WalletBonus = await prisma.walletBonus.create({ * data: { * // ... data to create a WalletBonus * } * }) * */ create(args: SelectSubset>): Prisma__WalletBonusClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many WalletBonuses. * @param {WalletBonusCreateManyArgs} args - Arguments to create many WalletBonuses. * @example * // Create many WalletBonuses * const walletBonus = await prisma.walletBonus.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many WalletBonuses and returns the data saved in the database. * @param {WalletBonusCreateManyAndReturnArgs} args - Arguments to create many WalletBonuses. * @example * // Create many WalletBonuses * const walletBonus = await prisma.walletBonus.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many WalletBonuses and only return the `id` * const walletBonusWithIdOnly = await prisma.walletBonus.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a WalletBonus. * @param {WalletBonusDeleteArgs} args - Arguments to delete one WalletBonus. * @example * // Delete one WalletBonus * const WalletBonus = await prisma.walletBonus.delete({ * where: { * // ... filter to delete one WalletBonus * } * }) * */ delete(args: SelectSubset>): Prisma__WalletBonusClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one WalletBonus. * @param {WalletBonusUpdateArgs} args - Arguments to update one WalletBonus. * @example * // Update one WalletBonus * const walletBonus = await prisma.walletBonus.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__WalletBonusClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more WalletBonuses. * @param {WalletBonusDeleteManyArgs} args - Arguments to filter WalletBonuses to delete. * @example * // Delete a few WalletBonuses * const { count } = await prisma.walletBonus.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more WalletBonuses. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WalletBonusUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many WalletBonuses * const walletBonus = await prisma.walletBonus.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one WalletBonus. * @param {WalletBonusUpsertArgs} args - Arguments to update or create a WalletBonus. * @example * // Update or create a WalletBonus * const walletBonus = await prisma.walletBonus.upsert({ * create: { * // ... data to create a WalletBonus * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the WalletBonus we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__WalletBonusClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of WalletBonuses. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WalletBonusCountArgs} args - Arguments to filter WalletBonuses to count. * @example * // Count the number of WalletBonuses * const count = await prisma.walletBonus.count({ * where: { * // ... the filter for the WalletBonuses we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a WalletBonus. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WalletBonusAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by WalletBonus. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {WalletBonusGroupByArgs} 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 WalletBonusGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: WalletBonusGroupByArgs['orderBy'] } : { orderBy?: WalletBonusGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetWalletBonusGroupByPayload : Prisma.PrismaPromise /** * Fields of the WalletBonus model */ readonly fields: WalletBonusFieldRefs; } /** * The delegate class that acts as a "Promise-like" for WalletBonus. * 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__WalletBonusClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" customer = {}>(args?: Subset>): Prisma__CustomerClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the WalletBonus model */ interface WalletBonusFieldRefs { readonly id: FieldRef<"WalletBonus", 'String'> readonly customerId: FieldRef<"WalletBonus", 'String'> readonly orderId: FieldRef<"WalletBonus", 'String'> readonly goldGrams: FieldRef<"WalletBonus", 'Decimal'> readonly grantedAt: FieldRef<"WalletBonus", 'DateTime'> readonly expiresAt: FieldRef<"WalletBonus", 'DateTime'> readonly consumedAt: FieldRef<"WalletBonus", 'DateTime'> readonly isActive: FieldRef<"WalletBonus", 'Boolean'> } // Custom InputTypes /** * WalletBonus findUnique */ export type WalletBonusFindUniqueArgs = { /** * Select specific fields to fetch from the WalletBonus */ select?: WalletBonusSelect | null /** * Choose, which related nodes to fetch as well */ include?: WalletBonusInclude | null /** * Filter, which WalletBonus to fetch. */ where: WalletBonusWhereUniqueInput } /** * WalletBonus findUniqueOrThrow */ export type WalletBonusFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the WalletBonus */ select?: WalletBonusSelect | null /** * Choose, which related nodes to fetch as well */ include?: WalletBonusInclude | null /** * Filter, which WalletBonus to fetch. */ where: WalletBonusWhereUniqueInput } /** * WalletBonus findFirst */ export type WalletBonusFindFirstArgs = { /** * Select specific fields to fetch from the WalletBonus */ select?: WalletBonusSelect | null /** * Choose, which related nodes to fetch as well */ include?: WalletBonusInclude | null /** * Filter, which WalletBonus to fetch. */ where?: WalletBonusWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of WalletBonuses to fetch. */ orderBy?: WalletBonusOrderByWithRelationInput | WalletBonusOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for WalletBonuses. */ cursor?: WalletBonusWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` WalletBonuses 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` WalletBonuses. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of WalletBonuses. */ distinct?: WalletBonusScalarFieldEnum | WalletBonusScalarFieldEnum[] } /** * WalletBonus findFirstOrThrow */ export type WalletBonusFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the WalletBonus */ select?: WalletBonusSelect | null /** * Choose, which related nodes to fetch as well */ include?: WalletBonusInclude | null /** * Filter, which WalletBonus to fetch. */ where?: WalletBonusWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of WalletBonuses to fetch. */ orderBy?: WalletBonusOrderByWithRelationInput | WalletBonusOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for WalletBonuses. */ cursor?: WalletBonusWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` WalletBonuses 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` WalletBonuses. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of WalletBonuses. */ distinct?: WalletBonusScalarFieldEnum | WalletBonusScalarFieldEnum[] } /** * WalletBonus findMany */ export type WalletBonusFindManyArgs = { /** * Select specific fields to fetch from the WalletBonus */ select?: WalletBonusSelect | null /** * Choose, which related nodes to fetch as well */ include?: WalletBonusInclude | null /** * Filter, which WalletBonuses to fetch. */ where?: WalletBonusWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of WalletBonuses to fetch. */ orderBy?: WalletBonusOrderByWithRelationInput | WalletBonusOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing WalletBonuses. */ cursor?: WalletBonusWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` WalletBonuses 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` WalletBonuses. */ skip?: number distinct?: WalletBonusScalarFieldEnum | WalletBonusScalarFieldEnum[] } /** * WalletBonus create */ export type WalletBonusCreateArgs = { /** * Select specific fields to fetch from the WalletBonus */ select?: WalletBonusSelect | null /** * Choose, which related nodes to fetch as well */ include?: WalletBonusInclude | null /** * The data needed to create a WalletBonus. */ data: XOR } /** * WalletBonus createMany */ export type WalletBonusCreateManyArgs = { /** * The data used to create many WalletBonuses. */ data: WalletBonusCreateManyInput | WalletBonusCreateManyInput[] skipDuplicates?: boolean } /** * WalletBonus createManyAndReturn */ export type WalletBonusCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the WalletBonus */ select?: WalletBonusSelectCreateManyAndReturn | null /** * The data used to create many WalletBonuses. */ data: WalletBonusCreateManyInput | WalletBonusCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: WalletBonusIncludeCreateManyAndReturn | null } /** * WalletBonus update */ export type WalletBonusUpdateArgs = { /** * Select specific fields to fetch from the WalletBonus */ select?: WalletBonusSelect | null /** * Choose, which related nodes to fetch as well */ include?: WalletBonusInclude | null /** * The data needed to update a WalletBonus. */ data: XOR /** * Choose, which WalletBonus to update. */ where: WalletBonusWhereUniqueInput } /** * WalletBonus updateMany */ export type WalletBonusUpdateManyArgs = { /** * The data used to update WalletBonuses. */ data: XOR /** * Filter which WalletBonuses to update */ where?: WalletBonusWhereInput } /** * WalletBonus upsert */ export type WalletBonusUpsertArgs = { /** * Select specific fields to fetch from the WalletBonus */ select?: WalletBonusSelect | null /** * Choose, which related nodes to fetch as well */ include?: WalletBonusInclude | null /** * The filter to search for the WalletBonus to update in case it exists. */ where: WalletBonusWhereUniqueInput /** * In case the WalletBonus found by the `where` argument doesn't exist, create a new WalletBonus with this data. */ create: XOR /** * In case the WalletBonus was found with the provided `where` argument, update it with this data. */ update: XOR } /** * WalletBonus delete */ export type WalletBonusDeleteArgs = { /** * Select specific fields to fetch from the WalletBonus */ select?: WalletBonusSelect | null /** * Choose, which related nodes to fetch as well */ include?: WalletBonusInclude | null /** * Filter which WalletBonus to delete. */ where: WalletBonusWhereUniqueInput } /** * WalletBonus deleteMany */ export type WalletBonusDeleteManyArgs = { /** * Filter which WalletBonuses to delete */ where?: WalletBonusWhereInput } /** * WalletBonus without action */ export type WalletBonusDefaultArgs = { /** * Select specific fields to fetch from the WalletBonus */ select?: WalletBonusSelect | null /** * Choose, which related nodes to fetch as well */ include?: WalletBonusInclude | null } /** * Model UserType */ export type AggregateUserType = { _count: UserTypeCountAggregateOutputType | null _avg: UserTypeAvgAggregateOutputType | null _sum: UserTypeSumAggregateOutputType | null _min: UserTypeMinAggregateOutputType | null _max: UserTypeMaxAggregateOutputType | null } export type UserTypeAvgAggregateOutputType = { id: number | null } export type UserTypeSumAggregateOutputType = { id: number | null } export type UserTypeMinAggregateOutputType = { id: number | null title: string | null isActive: boolean | null createdAt: Date | null } export type UserTypeMaxAggregateOutputType = { id: number | null title: string | null isActive: boolean | null createdAt: Date | null } export type UserTypeCountAggregateOutputType = { id: number title: number isActive: number createdAt: number _all: number } export type UserTypeAvgAggregateInputType = { id?: true } export type UserTypeSumAggregateInputType = { id?: true } export type UserTypeMinAggregateInputType = { id?: true title?: true isActive?: true createdAt?: true } export type UserTypeMaxAggregateInputType = { id?: true title?: true isActive?: true createdAt?: true } export type UserTypeCountAggregateInputType = { id?: true title?: true isActive?: true createdAt?: true _all?: true } export type UserTypeAggregateArgs = { /** * Filter which UserType to aggregate. */ where?: UserTypeWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserTypes to fetch. */ orderBy?: UserTypeOrderByWithRelationInput | UserTypeOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: UserTypeWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserTypes 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` UserTypes. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned UserTypes **/ _count?: true | UserTypeCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: UserTypeAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: UserTypeSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: UserTypeMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: UserTypeMaxAggregateInputType } export type GetUserTypeAggregateType = { [P in keyof T & keyof AggregateUserType]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type UserTypeGroupByArgs = { where?: UserTypeWhereInput orderBy?: UserTypeOrderByWithAggregationInput | UserTypeOrderByWithAggregationInput[] by: UserTypeScalarFieldEnum[] | UserTypeScalarFieldEnum having?: UserTypeScalarWhereWithAggregatesInput take?: number skip?: number _count?: UserTypeCountAggregateInputType | true _avg?: UserTypeAvgAggregateInputType _sum?: UserTypeSumAggregateInputType _min?: UserTypeMinAggregateInputType _max?: UserTypeMaxAggregateInputType } export type UserTypeGroupByOutputType = { id: number title: string isActive: boolean createdAt: Date _count: UserTypeCountAggregateOutputType | null _avg: UserTypeAvgAggregateOutputType | null _sum: UserTypeSumAggregateOutputType | null _min: UserTypeMinAggregateOutputType | null _max: UserTypeMaxAggregateOutputType | null } type GetUserTypeGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof UserTypeGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type UserTypeSelect = $Extensions.GetSelect<{ id?: boolean title?: boolean isActive?: boolean createdAt?: boolean permissions?: boolean | UserType$permissionsArgs adminUsers?: boolean | UserType$adminUsersArgs _count?: boolean | UserTypeCountOutputTypeDefaultArgs }, ExtArgs["result"]["userType"]> export type UserTypeSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean title?: boolean isActive?: boolean createdAt?: boolean }, ExtArgs["result"]["userType"]> export type UserTypeSelectScalar = { id?: boolean title?: boolean isActive?: boolean createdAt?: boolean } export type UserTypeInclude = { permissions?: boolean | UserType$permissionsArgs adminUsers?: boolean | UserType$adminUsersArgs _count?: boolean | UserTypeCountOutputTypeDefaultArgs } export type UserTypeIncludeCreateManyAndReturn = {} export type $UserTypePayload = { name: "UserType" objects: { permissions: Prisma.$PermissionPayload[] adminUsers: Prisma.$AdminUserPayload[] } scalars: $Extensions.GetPayloadResult<{ /** * Legacy `permission.ut` / `users.ut` — an integer, kept as the PK so seeded * rows keep their legacy identity rather than getting new cuids. */ id: number title: string isActive: boolean createdAt: Date }, ExtArgs["result"]["userType"]> composites: {} } type UserTypeGetPayload = $Result.GetResult type UserTypeCountArgs = Omit & { select?: UserTypeCountAggregateInputType | true } export interface UserTypeDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['UserType'], meta: { name: 'UserType' } } /** * Find zero or one UserType that matches the filter. * @param {UserTypeFindUniqueArgs} args - Arguments to find a UserType * @example * // Get one UserType * const userType = await prisma.userType.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__UserTypeClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one UserType that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {UserTypeFindUniqueOrThrowArgs} args - Arguments to find a UserType * @example * // Get one UserType * const userType = await prisma.userType.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__UserTypeClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first UserType 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 {UserTypeFindFirstArgs} args - Arguments to find a UserType * @example * // Get one UserType * const userType = await prisma.userType.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__UserTypeClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first UserType 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 {UserTypeFindFirstOrThrowArgs} args - Arguments to find a UserType * @example * // Get one UserType * const userType = await prisma.userType.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__UserTypeClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more UserTypes 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 {UserTypeFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all UserTypes * const userTypes = await prisma.userType.findMany() * * // Get first 10 UserTypes * const userTypes = await prisma.userType.findMany({ take: 10 }) * * // Only select the `id` * const userTypeWithIdOnly = await prisma.userType.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a UserType. * @param {UserTypeCreateArgs} args - Arguments to create a UserType. * @example * // Create one UserType * const UserType = await prisma.userType.create({ * data: { * // ... data to create a UserType * } * }) * */ create(args: SelectSubset>): Prisma__UserTypeClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many UserTypes. * @param {UserTypeCreateManyArgs} args - Arguments to create many UserTypes. * @example * // Create many UserTypes * const userType = await prisma.userType.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many UserTypes and returns the data saved in the database. * @param {UserTypeCreateManyAndReturnArgs} args - Arguments to create many UserTypes. * @example * // Create many UserTypes * const userType = await prisma.userType.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many UserTypes and only return the `id` * const userTypeWithIdOnly = await prisma.userType.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a UserType. * @param {UserTypeDeleteArgs} args - Arguments to delete one UserType. * @example * // Delete one UserType * const UserType = await prisma.userType.delete({ * where: { * // ... filter to delete one UserType * } * }) * */ delete(args: SelectSubset>): Prisma__UserTypeClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one UserType. * @param {UserTypeUpdateArgs} args - Arguments to update one UserType. * @example * // Update one UserType * const userType = await prisma.userType.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__UserTypeClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more UserTypes. * @param {UserTypeDeleteManyArgs} args - Arguments to filter UserTypes to delete. * @example * // Delete a few UserTypes * const { count } = await prisma.userType.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more UserTypes. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserTypeUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many UserTypes * const userType = await prisma.userType.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one UserType. * @param {UserTypeUpsertArgs} args - Arguments to update or create a UserType. * @example * // Update or create a UserType * const userType = await prisma.userType.upsert({ * create: { * // ... data to create a UserType * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the UserType we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__UserTypeClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of UserTypes. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserTypeCountArgs} args - Arguments to filter UserTypes to count. * @example * // Count the number of UserTypes * const count = await prisma.userType.count({ * where: { * // ... the filter for the UserTypes we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a UserType. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserTypeAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by UserType. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserTypeGroupByArgs} 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 UserTypeGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: UserTypeGroupByArgs['orderBy'] } : { orderBy?: UserTypeGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetUserTypeGroupByPayload : Prisma.PrismaPromise /** * Fields of the UserType model */ readonly fields: UserTypeFieldRefs; } /** * The delegate class that acts as a "Promise-like" for UserType. * 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__UserTypeClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" permissions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> adminUsers = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the UserType model */ interface UserTypeFieldRefs { readonly id: FieldRef<"UserType", 'Int'> readonly title: FieldRef<"UserType", 'String'> readonly isActive: FieldRef<"UserType", 'Boolean'> readonly createdAt: FieldRef<"UserType", 'DateTime'> } // Custom InputTypes /** * UserType findUnique */ export type UserTypeFindUniqueArgs = { /** * Select specific fields to fetch from the UserType */ select?: UserTypeSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserTypeInclude | null /** * Filter, which UserType to fetch. */ where: UserTypeWhereUniqueInput } /** * UserType findUniqueOrThrow */ export type UserTypeFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the UserType */ select?: UserTypeSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserTypeInclude | null /** * Filter, which UserType to fetch. */ where: UserTypeWhereUniqueInput } /** * UserType findFirst */ export type UserTypeFindFirstArgs = { /** * Select specific fields to fetch from the UserType */ select?: UserTypeSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserTypeInclude | null /** * Filter, which UserType to fetch. */ where?: UserTypeWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserTypes to fetch. */ orderBy?: UserTypeOrderByWithRelationInput | UserTypeOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for UserTypes. */ cursor?: UserTypeWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserTypes 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` UserTypes. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of UserTypes. */ distinct?: UserTypeScalarFieldEnum | UserTypeScalarFieldEnum[] } /** * UserType findFirstOrThrow */ export type UserTypeFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the UserType */ select?: UserTypeSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserTypeInclude | null /** * Filter, which UserType to fetch. */ where?: UserTypeWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserTypes to fetch. */ orderBy?: UserTypeOrderByWithRelationInput | UserTypeOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for UserTypes. */ cursor?: UserTypeWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserTypes 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` UserTypes. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of UserTypes. */ distinct?: UserTypeScalarFieldEnum | UserTypeScalarFieldEnum[] } /** * UserType findMany */ export type UserTypeFindManyArgs = { /** * Select specific fields to fetch from the UserType */ select?: UserTypeSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserTypeInclude | null /** * Filter, which UserTypes to fetch. */ where?: UserTypeWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserTypes to fetch. */ orderBy?: UserTypeOrderByWithRelationInput | UserTypeOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing UserTypes. */ cursor?: UserTypeWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserTypes 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` UserTypes. */ skip?: number distinct?: UserTypeScalarFieldEnum | UserTypeScalarFieldEnum[] } /** * UserType create */ export type UserTypeCreateArgs = { /** * Select specific fields to fetch from the UserType */ select?: UserTypeSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserTypeInclude | null /** * The data needed to create a UserType. */ data: XOR } /** * UserType createMany */ export type UserTypeCreateManyArgs = { /** * The data used to create many UserTypes. */ data: UserTypeCreateManyInput | UserTypeCreateManyInput[] skipDuplicates?: boolean } /** * UserType createManyAndReturn */ export type UserTypeCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the UserType */ select?: UserTypeSelectCreateManyAndReturn | null /** * The data used to create many UserTypes. */ data: UserTypeCreateManyInput | UserTypeCreateManyInput[] skipDuplicates?: boolean } /** * UserType update */ export type UserTypeUpdateArgs = { /** * Select specific fields to fetch from the UserType */ select?: UserTypeSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserTypeInclude | null /** * The data needed to update a UserType. */ data: XOR /** * Choose, which UserType to update. */ where: UserTypeWhereUniqueInput } /** * UserType updateMany */ export type UserTypeUpdateManyArgs = { /** * The data used to update UserTypes. */ data: XOR /** * Filter which UserTypes to update */ where?: UserTypeWhereInput } /** * UserType upsert */ export type UserTypeUpsertArgs = { /** * Select specific fields to fetch from the UserType */ select?: UserTypeSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserTypeInclude | null /** * The filter to search for the UserType to update in case it exists. */ where: UserTypeWhereUniqueInput /** * In case the UserType found by the `where` argument doesn't exist, create a new UserType with this data. */ create: XOR /** * In case the UserType was found with the provided `where` argument, update it with this data. */ update: XOR } /** * UserType delete */ export type UserTypeDeleteArgs = { /** * Select specific fields to fetch from the UserType */ select?: UserTypeSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserTypeInclude | null /** * Filter which UserType to delete. */ where: UserTypeWhereUniqueInput } /** * UserType deleteMany */ export type UserTypeDeleteManyArgs = { /** * Filter which UserTypes to delete */ where?: UserTypeWhereInput } /** * UserType.permissions */ export type UserType$permissionsArgs = { /** * Select specific fields to fetch from the Permission */ select?: PermissionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PermissionInclude | null where?: PermissionWhereInput orderBy?: PermissionOrderByWithRelationInput | PermissionOrderByWithRelationInput[] cursor?: PermissionWhereUniqueInput take?: number skip?: number distinct?: PermissionScalarFieldEnum | PermissionScalarFieldEnum[] } /** * UserType.adminUsers */ export type UserType$adminUsersArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null where?: AdminUserWhereInput orderBy?: AdminUserOrderByWithRelationInput | AdminUserOrderByWithRelationInput[] cursor?: AdminUserWhereUniqueInput take?: number skip?: number distinct?: AdminUserScalarFieldEnum | AdminUserScalarFieldEnum[] } /** * UserType without action */ export type UserTypeDefaultArgs = { /** * Select specific fields to fetch from the UserType */ select?: UserTypeSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserTypeInclude | null } /** * Model Permission */ export type AggregatePermission = { _count: PermissionCountAggregateOutputType | null _avg: PermissionAvgAggregateOutputType | null _sum: PermissionSumAggregateOutputType | null _min: PermissionMinAggregateOutputType | null _max: PermissionMaxAggregateOutputType | null } export type PermissionAvgAggregateOutputType = { userTypeId: number | null } export type PermissionSumAggregateOutputType = { userTypeId: number | null } export type PermissionMinAggregateOutputType = { rid: string | null userTypeId: number | null } export type PermissionMaxAggregateOutputType = { rid: string | null userTypeId: number | null } export type PermissionCountAggregateOutputType = { rid: number userTypeId: number _all: number } export type PermissionAvgAggregateInputType = { userTypeId?: true } export type PermissionSumAggregateInputType = { userTypeId?: true } export type PermissionMinAggregateInputType = { rid?: true userTypeId?: true } export type PermissionMaxAggregateInputType = { rid?: true userTypeId?: true } export type PermissionCountAggregateInputType = { rid?: true userTypeId?: true _all?: true } export type PermissionAggregateArgs = { /** * Filter which Permission to aggregate. */ where?: PermissionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Permissions to fetch. */ orderBy?: PermissionOrderByWithRelationInput | PermissionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: PermissionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Permissions 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` Permissions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Permissions **/ _count?: true | PermissionCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: PermissionAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: PermissionSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: PermissionMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: PermissionMaxAggregateInputType } export type GetPermissionAggregateType = { [P in keyof T & keyof AggregatePermission]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type PermissionGroupByArgs = { where?: PermissionWhereInput orderBy?: PermissionOrderByWithAggregationInput | PermissionOrderByWithAggregationInput[] by: PermissionScalarFieldEnum[] | PermissionScalarFieldEnum having?: PermissionScalarWhereWithAggregatesInput take?: number skip?: number _count?: PermissionCountAggregateInputType | true _avg?: PermissionAvgAggregateInputType _sum?: PermissionSumAggregateInputType _min?: PermissionMinAggregateInputType _max?: PermissionMaxAggregateInputType } export type PermissionGroupByOutputType = { rid: string userTypeId: number _count: PermissionCountAggregateOutputType | null _avg: PermissionAvgAggregateOutputType | null _sum: PermissionSumAggregateOutputType | null _min: PermissionMinAggregateOutputType | null _max: PermissionMaxAggregateOutputType | null } type GetPermissionGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof PermissionGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type PermissionSelect = $Extensions.GetSelect<{ rid?: boolean userTypeId?: boolean userType?: boolean | UserTypeDefaultArgs }, ExtArgs["result"]["permission"]> export type PermissionSelectCreateManyAndReturn = $Extensions.GetSelect<{ rid?: boolean userTypeId?: boolean userType?: boolean | UserTypeDefaultArgs }, ExtArgs["result"]["permission"]> export type PermissionSelectScalar = { rid?: boolean userTypeId?: boolean } export type PermissionInclude = { userType?: boolean | UserTypeDefaultArgs } export type PermissionIncludeCreateManyAndReturn = { userType?: boolean | UserTypeDefaultArgs } export type $PermissionPayload = { name: "Permission" objects: { userType: Prisma.$UserTypePayload } scalars: $Extensions.GetPayloadResult<{ /** * Dotted permission id, e.g. "order.list", "persons.list.client.omde". */ rid: string userTypeId: number }, ExtArgs["result"]["permission"]> composites: {} } type PermissionGetPayload = $Result.GetResult type PermissionCountArgs = Omit & { select?: PermissionCountAggregateInputType | true } export interface PermissionDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Permission'], meta: { name: 'Permission' } } /** * Find zero or one Permission that matches the filter. * @param {PermissionFindUniqueArgs} args - Arguments to find a Permission * @example * // Get one Permission * const permission = await prisma.permission.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__PermissionClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Permission that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {PermissionFindUniqueOrThrowArgs} args - Arguments to find a Permission * @example * // Get one Permission * const permission = await prisma.permission.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__PermissionClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Permission 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 {PermissionFindFirstArgs} args - Arguments to find a Permission * @example * // Get one Permission * const permission = await prisma.permission.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__PermissionClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Permission 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 {PermissionFindFirstOrThrowArgs} args - Arguments to find a Permission * @example * // Get one Permission * const permission = await prisma.permission.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__PermissionClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Permissions 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 {PermissionFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Permissions * const permissions = await prisma.permission.findMany() * * // Get first 10 Permissions * const permissions = await prisma.permission.findMany({ take: 10 }) * * // Only select the `rid` * const permissionWithRidOnly = await prisma.permission.findMany({ select: { rid: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Permission. * @param {PermissionCreateArgs} args - Arguments to create a Permission. * @example * // Create one Permission * const Permission = await prisma.permission.create({ * data: { * // ... data to create a Permission * } * }) * */ create(args: SelectSubset>): Prisma__PermissionClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Permissions. * @param {PermissionCreateManyArgs} args - Arguments to create many Permissions. * @example * // Create many Permissions * const permission = await prisma.permission.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Permissions and returns the data saved in the database. * @param {PermissionCreateManyAndReturnArgs} args - Arguments to create many Permissions. * @example * // Create many Permissions * const permission = await prisma.permission.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Permissions and only return the `rid` * const permissionWithRidOnly = await prisma.permission.createManyAndReturn({ * select: { rid: 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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Permission. * @param {PermissionDeleteArgs} args - Arguments to delete one Permission. * @example * // Delete one Permission * const Permission = await prisma.permission.delete({ * where: { * // ... filter to delete one Permission * } * }) * */ delete(args: SelectSubset>): Prisma__PermissionClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Permission. * @param {PermissionUpdateArgs} args - Arguments to update one Permission. * @example * // Update one Permission * const permission = await prisma.permission.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__PermissionClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Permissions. * @param {PermissionDeleteManyArgs} args - Arguments to filter Permissions to delete. * @example * // Delete a few Permissions * const { count } = await prisma.permission.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Permissions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PermissionUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Permissions * const permission = await prisma.permission.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Permission. * @param {PermissionUpsertArgs} args - Arguments to update or create a Permission. * @example * // Update or create a Permission * const permission = await prisma.permission.upsert({ * create: { * // ... data to create a Permission * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Permission we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__PermissionClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Permissions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PermissionCountArgs} args - Arguments to filter Permissions to count. * @example * // Count the number of Permissions * const count = await prisma.permission.count({ * where: { * // ... the filter for the Permissions we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Permission. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PermissionAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by Permission. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PermissionGroupByArgs} 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 PermissionGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: PermissionGroupByArgs['orderBy'] } : { orderBy?: PermissionGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetPermissionGroupByPayload : Prisma.PrismaPromise /** * Fields of the Permission model */ readonly fields: PermissionFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Permission. * 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__PermissionClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" userType = {}>(args?: Subset>): Prisma__UserTypeClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the Permission model */ interface PermissionFieldRefs { readonly rid: FieldRef<"Permission", 'String'> readonly userTypeId: FieldRef<"Permission", 'Int'> } // Custom InputTypes /** * Permission findUnique */ export type PermissionFindUniqueArgs = { /** * Select specific fields to fetch from the Permission */ select?: PermissionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PermissionInclude | null /** * Filter, which Permission to fetch. */ where: PermissionWhereUniqueInput } /** * Permission findUniqueOrThrow */ export type PermissionFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Permission */ select?: PermissionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PermissionInclude | null /** * Filter, which Permission to fetch. */ where: PermissionWhereUniqueInput } /** * Permission findFirst */ export type PermissionFindFirstArgs = { /** * Select specific fields to fetch from the Permission */ select?: PermissionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PermissionInclude | null /** * Filter, which Permission to fetch. */ where?: PermissionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Permissions to fetch. */ orderBy?: PermissionOrderByWithRelationInput | PermissionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Permissions. */ cursor?: PermissionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Permissions 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` Permissions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Permissions. */ distinct?: PermissionScalarFieldEnum | PermissionScalarFieldEnum[] } /** * Permission findFirstOrThrow */ export type PermissionFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Permission */ select?: PermissionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PermissionInclude | null /** * Filter, which Permission to fetch. */ where?: PermissionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Permissions to fetch. */ orderBy?: PermissionOrderByWithRelationInput | PermissionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Permissions. */ cursor?: PermissionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Permissions 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` Permissions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Permissions. */ distinct?: PermissionScalarFieldEnum | PermissionScalarFieldEnum[] } /** * Permission findMany */ export type PermissionFindManyArgs = { /** * Select specific fields to fetch from the Permission */ select?: PermissionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PermissionInclude | null /** * Filter, which Permissions to fetch. */ where?: PermissionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Permissions to fetch. */ orderBy?: PermissionOrderByWithRelationInput | PermissionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Permissions. */ cursor?: PermissionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Permissions 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` Permissions. */ skip?: number distinct?: PermissionScalarFieldEnum | PermissionScalarFieldEnum[] } /** * Permission create */ export type PermissionCreateArgs = { /** * Select specific fields to fetch from the Permission */ select?: PermissionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PermissionInclude | null /** * The data needed to create a Permission. */ data: XOR } /** * Permission createMany */ export type PermissionCreateManyArgs = { /** * The data used to create many Permissions. */ data: PermissionCreateManyInput | PermissionCreateManyInput[] skipDuplicates?: boolean } /** * Permission createManyAndReturn */ export type PermissionCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Permission */ select?: PermissionSelectCreateManyAndReturn | null /** * The data used to create many Permissions. */ data: PermissionCreateManyInput | PermissionCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: PermissionIncludeCreateManyAndReturn | null } /** * Permission update */ export type PermissionUpdateArgs = { /** * Select specific fields to fetch from the Permission */ select?: PermissionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PermissionInclude | null /** * The data needed to update a Permission. */ data: XOR /** * Choose, which Permission to update. */ where: PermissionWhereUniqueInput } /** * Permission updateMany */ export type PermissionUpdateManyArgs = { /** * The data used to update Permissions. */ data: XOR /** * Filter which Permissions to update */ where?: PermissionWhereInput } /** * Permission upsert */ export type PermissionUpsertArgs = { /** * Select specific fields to fetch from the Permission */ select?: PermissionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PermissionInclude | null /** * The filter to search for the Permission to update in case it exists. */ where: PermissionWhereUniqueInput /** * In case the Permission found by the `where` argument doesn't exist, create a new Permission with this data. */ create: XOR /** * In case the Permission was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Permission delete */ export type PermissionDeleteArgs = { /** * Select specific fields to fetch from the Permission */ select?: PermissionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PermissionInclude | null /** * Filter which Permission to delete. */ where: PermissionWhereUniqueInput } /** * Permission deleteMany */ export type PermissionDeleteManyArgs = { /** * Filter which Permissions to delete */ where?: PermissionWhereInput } /** * Permission without action */ export type PermissionDefaultArgs = { /** * Select specific fields to fetch from the Permission */ select?: PermissionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PermissionInclude | null } /** * Model Comment */ export type AggregateComment = { _count: CommentCountAggregateOutputType | null _min: CommentMinAggregateOutputType | null _max: CommentMaxAggregateOutputType | null } export type CommentMinAggregateOutputType = { id: string | null productId: string | null customerId: string | null body: string | null status: $Enums.CommentStatus | null replyToId: string | null createdAt: Date | null updatedAt: Date | null } export type CommentMaxAggregateOutputType = { id: string | null productId: string | null customerId: string | null body: string | null status: $Enums.CommentStatus | null replyToId: string | null createdAt: Date | null updatedAt: Date | null } export type CommentCountAggregateOutputType = { id: number productId: number customerId: number body: number status: number replyToId: number createdAt: number updatedAt: number _all: number } export type CommentMinAggregateInputType = { id?: true productId?: true customerId?: true body?: true status?: true replyToId?: true createdAt?: true updatedAt?: true } export type CommentMaxAggregateInputType = { id?: true productId?: true customerId?: true body?: true status?: true replyToId?: true createdAt?: true updatedAt?: true } export type CommentCountAggregateInputType = { id?: true productId?: true customerId?: true body?: true status?: true replyToId?: true createdAt?: true updatedAt?: true _all?: true } export type CommentAggregateArgs = { /** * Filter which Comment to aggregate. */ where?: CommentWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Comments to fetch. */ orderBy?: CommentOrderByWithRelationInput | CommentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: CommentWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Comments 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` Comments. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Comments **/ _count?: true | CommentCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: CommentMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: CommentMaxAggregateInputType } export type GetCommentAggregateType = { [P in keyof T & keyof AggregateComment]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type CommentGroupByArgs = { where?: CommentWhereInput orderBy?: CommentOrderByWithAggregationInput | CommentOrderByWithAggregationInput[] by: CommentScalarFieldEnum[] | CommentScalarFieldEnum having?: CommentScalarWhereWithAggregatesInput take?: number skip?: number _count?: CommentCountAggregateInputType | true _min?: CommentMinAggregateInputType _max?: CommentMaxAggregateInputType } export type CommentGroupByOutputType = { id: string productId: string customerId: string body: string status: $Enums.CommentStatus replyToId: string | null createdAt: Date updatedAt: Date _count: CommentCountAggregateOutputType | null _min: CommentMinAggregateOutputType | null _max: CommentMaxAggregateOutputType | null } type GetCommentGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof CommentGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type CommentSelect = $Extensions.GetSelect<{ id?: boolean productId?: boolean customerId?: boolean body?: boolean status?: boolean replyToId?: boolean createdAt?: boolean updatedAt?: boolean product?: boolean | ProductDefaultArgs customer?: boolean | CustomerDefaultArgs replyTo?: boolean | Comment$replyToArgs replies?: boolean | Comment$repliesArgs _count?: boolean | CommentCountOutputTypeDefaultArgs }, ExtArgs["result"]["comment"]> export type CommentSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean productId?: boolean customerId?: boolean body?: boolean status?: boolean replyToId?: boolean createdAt?: boolean updatedAt?: boolean product?: boolean | ProductDefaultArgs customer?: boolean | CustomerDefaultArgs replyTo?: boolean | Comment$replyToArgs }, ExtArgs["result"]["comment"]> export type CommentSelectScalar = { id?: boolean productId?: boolean customerId?: boolean body?: boolean status?: boolean replyToId?: boolean createdAt?: boolean updatedAt?: boolean } export type CommentInclude = { product?: boolean | ProductDefaultArgs customer?: boolean | CustomerDefaultArgs replyTo?: boolean | Comment$replyToArgs replies?: boolean | Comment$repliesArgs _count?: boolean | CommentCountOutputTypeDefaultArgs } export type CommentIncludeCreateManyAndReturn = { product?: boolean | ProductDefaultArgs customer?: boolean | CustomerDefaultArgs replyTo?: boolean | Comment$replyToArgs } export type $CommentPayload = { name: "Comment" objects: { product: Prisma.$ProductPayload customer: Prisma.$CustomerPayload replyTo: Prisma.$CommentPayload | null replies: Prisma.$CommentPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string productId: string customerId: string body: string status: $Enums.CommentStatus /** * Legacy `reply_to`: a staff reply threads under the comment it answers. */ replyToId: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["comment"]> composites: {} } type CommentGetPayload = $Result.GetResult type CommentCountArgs = Omit & { select?: CommentCountAggregateInputType | true } export interface CommentDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Comment'], meta: { name: 'Comment' } } /** * Find zero or one Comment that matches the filter. * @param {CommentFindUniqueArgs} args - Arguments to find a Comment * @example * // Get one Comment * const comment = await prisma.comment.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__CommentClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Comment that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {CommentFindUniqueOrThrowArgs} args - Arguments to find a Comment * @example * // Get one Comment * const comment = await prisma.comment.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__CommentClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Comment 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 {CommentFindFirstArgs} args - Arguments to find a Comment * @example * // Get one Comment * const comment = await prisma.comment.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__CommentClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Comment 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 {CommentFindFirstOrThrowArgs} args - Arguments to find a Comment * @example * // Get one Comment * const comment = await prisma.comment.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__CommentClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Comments 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 {CommentFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Comments * const comments = await prisma.comment.findMany() * * // Get first 10 Comments * const comments = await prisma.comment.findMany({ take: 10 }) * * // Only select the `id` * const commentWithIdOnly = await prisma.comment.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Comment. * @param {CommentCreateArgs} args - Arguments to create a Comment. * @example * // Create one Comment * const Comment = await prisma.comment.create({ * data: { * // ... data to create a Comment * } * }) * */ create(args: SelectSubset>): Prisma__CommentClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Comments. * @param {CommentCreateManyArgs} args - Arguments to create many Comments. * @example * // Create many Comments * const comment = await prisma.comment.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Comments and returns the data saved in the database. * @param {CommentCreateManyAndReturnArgs} args - Arguments to create many Comments. * @example * // Create many Comments * const comment = await prisma.comment.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Comments and only return the `id` * const commentWithIdOnly = await prisma.comment.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Comment. * @param {CommentDeleteArgs} args - Arguments to delete one Comment. * @example * // Delete one Comment * const Comment = await prisma.comment.delete({ * where: { * // ... filter to delete one Comment * } * }) * */ delete(args: SelectSubset>): Prisma__CommentClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Comment. * @param {CommentUpdateArgs} args - Arguments to update one Comment. * @example * // Update one Comment * const comment = await prisma.comment.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__CommentClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Comments. * @param {CommentDeleteManyArgs} args - Arguments to filter Comments to delete. * @example * // Delete a few Comments * const { count } = await prisma.comment.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Comments. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CommentUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Comments * const comment = await prisma.comment.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Comment. * @param {CommentUpsertArgs} args - Arguments to update or create a Comment. * @example * // Update or create a Comment * const comment = await prisma.comment.upsert({ * create: { * // ... data to create a Comment * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Comment we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__CommentClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Comments. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CommentCountArgs} args - Arguments to filter Comments to count. * @example * // Count the number of Comments * const count = await prisma.comment.count({ * where: { * // ... the filter for the Comments we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Comment. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CommentAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by Comment. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CommentGroupByArgs} 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 CommentGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: CommentGroupByArgs['orderBy'] } : { orderBy?: CommentGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCommentGroupByPayload : Prisma.PrismaPromise /** * Fields of the Comment model */ readonly fields: CommentFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Comment. * 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__CommentClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" product = {}>(args?: Subset>): Prisma__ProductClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> customer = {}>(args?: Subset>): Prisma__CustomerClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> replyTo = {}>(args?: Subset>): Prisma__CommentClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> replies = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the Comment model */ interface CommentFieldRefs { readonly id: FieldRef<"Comment", 'String'> readonly productId: FieldRef<"Comment", 'String'> readonly customerId: FieldRef<"Comment", 'String'> readonly body: FieldRef<"Comment", 'String'> readonly status: FieldRef<"Comment", 'CommentStatus'> readonly replyToId: FieldRef<"Comment", 'String'> readonly createdAt: FieldRef<"Comment", 'DateTime'> readonly updatedAt: FieldRef<"Comment", 'DateTime'> } // Custom InputTypes /** * Comment findUnique */ export type CommentFindUniqueArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null /** * Filter, which Comment to fetch. */ where: CommentWhereUniqueInput } /** * Comment findUniqueOrThrow */ export type CommentFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null /** * Filter, which Comment to fetch. */ where: CommentWhereUniqueInput } /** * Comment findFirst */ export type CommentFindFirstArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null /** * Filter, which Comment to fetch. */ where?: CommentWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Comments to fetch. */ orderBy?: CommentOrderByWithRelationInput | CommentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Comments. */ cursor?: CommentWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Comments 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` Comments. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Comments. */ distinct?: CommentScalarFieldEnum | CommentScalarFieldEnum[] } /** * Comment findFirstOrThrow */ export type CommentFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null /** * Filter, which Comment to fetch. */ where?: CommentWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Comments to fetch. */ orderBy?: CommentOrderByWithRelationInput | CommentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Comments. */ cursor?: CommentWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Comments 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` Comments. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Comments. */ distinct?: CommentScalarFieldEnum | CommentScalarFieldEnum[] } /** * Comment findMany */ export type CommentFindManyArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null /** * Filter, which Comments to fetch. */ where?: CommentWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Comments to fetch. */ orderBy?: CommentOrderByWithRelationInput | CommentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Comments. */ cursor?: CommentWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Comments 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` Comments. */ skip?: number distinct?: CommentScalarFieldEnum | CommentScalarFieldEnum[] } /** * Comment create */ export type CommentCreateArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null /** * The data needed to create a Comment. */ data: XOR } /** * Comment createMany */ export type CommentCreateManyArgs = { /** * The data used to create many Comments. */ data: CommentCreateManyInput | CommentCreateManyInput[] skipDuplicates?: boolean } /** * Comment createManyAndReturn */ export type CommentCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelectCreateManyAndReturn | null /** * The data used to create many Comments. */ data: CommentCreateManyInput | CommentCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: CommentIncludeCreateManyAndReturn | null } /** * Comment update */ export type CommentUpdateArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null /** * The data needed to update a Comment. */ data: XOR /** * Choose, which Comment to update. */ where: CommentWhereUniqueInput } /** * Comment updateMany */ export type CommentUpdateManyArgs = { /** * The data used to update Comments. */ data: XOR /** * Filter which Comments to update */ where?: CommentWhereInput } /** * Comment upsert */ export type CommentUpsertArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null /** * The filter to search for the Comment to update in case it exists. */ where: CommentWhereUniqueInput /** * In case the Comment found by the `where` argument doesn't exist, create a new Comment with this data. */ create: XOR /** * In case the Comment was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Comment delete */ export type CommentDeleteArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null /** * Filter which Comment to delete. */ where: CommentWhereUniqueInput } /** * Comment deleteMany */ export type CommentDeleteManyArgs = { /** * Filter which Comments to delete */ where?: CommentWhereInput } /** * Comment.replyTo */ export type Comment$replyToArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null where?: CommentWhereInput } /** * Comment.replies */ export type Comment$repliesArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null where?: CommentWhereInput orderBy?: CommentOrderByWithRelationInput | CommentOrderByWithRelationInput[] cursor?: CommentWhereUniqueInput take?: number skip?: number distinct?: CommentScalarFieldEnum | CommentScalarFieldEnum[] } /** * Comment without action */ export type CommentDefaultArgs = { /** * Select specific fields to fetch from the Comment */ select?: CommentSelect | null /** * Choose, which related nodes to fetch as well */ include?: CommentInclude | null } /** * Model Setting */ export type AggregateSetting = { _count: SettingCountAggregateOutputType | null _min: SettingMinAggregateOutputType | null _max: SettingMaxAggregateOutputType | null } export type SettingMinAggregateOutputType = { key: string | null updatedAt: Date | null } export type SettingMaxAggregateOutputType = { key: string | null updatedAt: Date | null } export type SettingCountAggregateOutputType = { key: number value: number updatedAt: number _all: number } export type SettingMinAggregateInputType = { key?: true updatedAt?: true } export type SettingMaxAggregateInputType = { key?: true updatedAt?: true } export type SettingCountAggregateInputType = { key?: true value?: true updatedAt?: true _all?: true } export type SettingAggregateArgs = { /** * Filter which Setting to aggregate. */ where?: SettingWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Settings to fetch. */ orderBy?: SettingOrderByWithRelationInput | SettingOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: SettingWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Settings 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` Settings. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Settings **/ _count?: true | SettingCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: SettingMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: SettingMaxAggregateInputType } export type GetSettingAggregateType = { [P in keyof T & keyof AggregateSetting]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type SettingGroupByArgs = { where?: SettingWhereInput orderBy?: SettingOrderByWithAggregationInput | SettingOrderByWithAggregationInput[] by: SettingScalarFieldEnum[] | SettingScalarFieldEnum having?: SettingScalarWhereWithAggregatesInput take?: number skip?: number _count?: SettingCountAggregateInputType | true _min?: SettingMinAggregateInputType _max?: SettingMaxAggregateInputType } export type SettingGroupByOutputType = { key: string value: JsonValue updatedAt: Date _count: SettingCountAggregateOutputType | null _min: SettingMinAggregateOutputType | null _max: SettingMaxAggregateOutputType | null } type GetSettingGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof SettingGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type SettingSelect = $Extensions.GetSelect<{ key?: boolean value?: boolean updatedAt?: boolean }, ExtArgs["result"]["setting"]> export type SettingSelectCreateManyAndReturn = $Extensions.GetSelect<{ key?: boolean value?: boolean updatedAt?: boolean }, ExtArgs["result"]["setting"]> export type SettingSelectScalar = { key?: boolean value?: boolean updatedAt?: boolean } export type $SettingPayload = { name: "Setting" objects: {} scalars: $Extensions.GetPayloadResult<{ key: string value: Prisma.JsonValue updatedAt: Date }, ExtArgs["result"]["setting"]> composites: {} } type SettingGetPayload = $Result.GetResult type SettingCountArgs = Omit & { select?: SettingCountAggregateInputType | true } export interface SettingDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Setting'], meta: { name: 'Setting' } } /** * Find zero or one Setting that matches the filter. * @param {SettingFindUniqueArgs} args - Arguments to find a Setting * @example * // Get one Setting * const setting = await prisma.setting.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__SettingClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Setting that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {SettingFindUniqueOrThrowArgs} args - Arguments to find a Setting * @example * // Get one Setting * const setting = await prisma.setting.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__SettingClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Setting 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 {SettingFindFirstArgs} args - Arguments to find a Setting * @example * // Get one Setting * const setting = await prisma.setting.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__SettingClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Setting 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 {SettingFindFirstOrThrowArgs} args - Arguments to find a Setting * @example * // Get one Setting * const setting = await prisma.setting.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__SettingClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Settings 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 {SettingFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Settings * const settings = await prisma.setting.findMany() * * // Get first 10 Settings * const settings = await prisma.setting.findMany({ take: 10 }) * * // Only select the `key` * const settingWithKeyOnly = await prisma.setting.findMany({ select: { key: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Setting. * @param {SettingCreateArgs} args - Arguments to create a Setting. * @example * // Create one Setting * const Setting = await prisma.setting.create({ * data: { * // ... data to create a Setting * } * }) * */ create(args: SelectSubset>): Prisma__SettingClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Settings. * @param {SettingCreateManyArgs} args - Arguments to create many Settings. * @example * // Create many Settings * const setting = await prisma.setting.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Settings and returns the data saved in the database. * @param {SettingCreateManyAndReturnArgs} args - Arguments to create many Settings. * @example * // Create many Settings * const setting = await prisma.setting.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Settings and only return the `key` * const settingWithKeyOnly = await prisma.setting.createManyAndReturn({ * select: { key: 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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Setting. * @param {SettingDeleteArgs} args - Arguments to delete one Setting. * @example * // Delete one Setting * const Setting = await prisma.setting.delete({ * where: { * // ... filter to delete one Setting * } * }) * */ delete(args: SelectSubset>): Prisma__SettingClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Setting. * @param {SettingUpdateArgs} args - Arguments to update one Setting. * @example * // Update one Setting * const setting = await prisma.setting.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__SettingClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Settings. * @param {SettingDeleteManyArgs} args - Arguments to filter Settings to delete. * @example * // Delete a few Settings * const { count } = await prisma.setting.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Settings. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SettingUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Settings * const setting = await prisma.setting.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Setting. * @param {SettingUpsertArgs} args - Arguments to update or create a Setting. * @example * // Update or create a Setting * const setting = await prisma.setting.upsert({ * create: { * // ... data to create a Setting * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Setting we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__SettingClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Settings. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SettingCountArgs} args - Arguments to filter Settings to count. * @example * // Count the number of Settings * const count = await prisma.setting.count({ * where: { * // ... the filter for the Settings we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Setting. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SettingAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by Setting. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SettingGroupByArgs} 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 SettingGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: SettingGroupByArgs['orderBy'] } : { orderBy?: SettingGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetSettingGroupByPayload : Prisma.PrismaPromise /** * Fields of the Setting model */ readonly fields: SettingFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Setting. * 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__SettingClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the Setting model */ interface SettingFieldRefs { readonly key: FieldRef<"Setting", 'String'> readonly value: FieldRef<"Setting", 'Json'> readonly updatedAt: FieldRef<"Setting", 'DateTime'> } // Custom InputTypes /** * Setting findUnique */ export type SettingFindUniqueArgs = { /** * Select specific fields to fetch from the Setting */ select?: SettingSelect | null /** * Filter, which Setting to fetch. */ where: SettingWhereUniqueInput } /** * Setting findUniqueOrThrow */ export type SettingFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Setting */ select?: SettingSelect | null /** * Filter, which Setting to fetch. */ where: SettingWhereUniqueInput } /** * Setting findFirst */ export type SettingFindFirstArgs = { /** * Select specific fields to fetch from the Setting */ select?: SettingSelect | null /** * Filter, which Setting to fetch. */ where?: SettingWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Settings to fetch. */ orderBy?: SettingOrderByWithRelationInput | SettingOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Settings. */ cursor?: SettingWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Settings 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` Settings. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Settings. */ distinct?: SettingScalarFieldEnum | SettingScalarFieldEnum[] } /** * Setting findFirstOrThrow */ export type SettingFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Setting */ select?: SettingSelect | null /** * Filter, which Setting to fetch. */ where?: SettingWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Settings to fetch. */ orderBy?: SettingOrderByWithRelationInput | SettingOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Settings. */ cursor?: SettingWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Settings 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` Settings. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Settings. */ distinct?: SettingScalarFieldEnum | SettingScalarFieldEnum[] } /** * Setting findMany */ export type SettingFindManyArgs = { /** * Select specific fields to fetch from the Setting */ select?: SettingSelect | null /** * Filter, which Settings to fetch. */ where?: SettingWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Settings to fetch. */ orderBy?: SettingOrderByWithRelationInput | SettingOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Settings. */ cursor?: SettingWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Settings 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` Settings. */ skip?: number distinct?: SettingScalarFieldEnum | SettingScalarFieldEnum[] } /** * Setting create */ export type SettingCreateArgs = { /** * Select specific fields to fetch from the Setting */ select?: SettingSelect | null /** * The data needed to create a Setting. */ data: XOR } /** * Setting createMany */ export type SettingCreateManyArgs = { /** * The data used to create many Settings. */ data: SettingCreateManyInput | SettingCreateManyInput[] skipDuplicates?: boolean } /** * Setting createManyAndReturn */ export type SettingCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Setting */ select?: SettingSelectCreateManyAndReturn | null /** * The data used to create many Settings. */ data: SettingCreateManyInput | SettingCreateManyInput[] skipDuplicates?: boolean } /** * Setting update */ export type SettingUpdateArgs = { /** * Select specific fields to fetch from the Setting */ select?: SettingSelect | null /** * The data needed to update a Setting. */ data: XOR /** * Choose, which Setting to update. */ where: SettingWhereUniqueInput } /** * Setting updateMany */ export type SettingUpdateManyArgs = { /** * The data used to update Settings. */ data: XOR /** * Filter which Settings to update */ where?: SettingWhereInput } /** * Setting upsert */ export type SettingUpsertArgs = { /** * Select specific fields to fetch from the Setting */ select?: SettingSelect | null /** * The filter to search for the Setting to update in case it exists. */ where: SettingWhereUniqueInput /** * In case the Setting found by the `where` argument doesn't exist, create a new Setting with this data. */ create: XOR /** * In case the Setting was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Setting delete */ export type SettingDeleteArgs = { /** * Select specific fields to fetch from the Setting */ select?: SettingSelect | null /** * Filter which Setting to delete. */ where: SettingWhereUniqueInput } /** * Setting deleteMany */ export type SettingDeleteManyArgs = { /** * Filter which Settings to delete */ where?: SettingWhereInput } /** * Setting without action */ export type SettingDefaultArgs = { /** * Select specific fields to fetch from the Setting */ select?: SettingSelect | null } /** * Model Promotion */ export type AggregatePromotion = { _count: PromotionCountAggregateOutputType | null _avg: PromotionAvgAggregateOutputType | null _sum: PromotionSumAggregateOutputType | null _min: PromotionMinAggregateOutputType | null _max: PromotionMaxAggregateOutputType | null } export type PromotionAvgAggregateOutputType = { discountPercent: Decimal | null platform: number | null } export type PromotionSumAggregateOutputType = { discountPercent: Decimal | null platform: number | null } export type PromotionMinAggregateOutputType = { id: string | null title: string | null description: string | null scope: $Enums.PromotionScope | null usage: $Enums.PromotionUsage | null discountPercent: Decimal | null isActive: boolean | null platform: number | null startsAt: Date | null endsAt: Date | null productId: string | null categoryId: string | null customerId: string | null brandId: string | null createdAt: Date | null updatedAt: Date | null } export type PromotionMaxAggregateOutputType = { id: string | null title: string | null description: string | null scope: $Enums.PromotionScope | null usage: $Enums.PromotionUsage | null discountPercent: Decimal | null isActive: boolean | null platform: number | null startsAt: Date | null endsAt: Date | null productId: string | null categoryId: string | null customerId: string | null brandId: string | null createdAt: Date | null updatedAt: Date | null } export type PromotionCountAggregateOutputType = { id: number title: number description: number scope: number usage: number discountPercent: number isActive: number platform: number startsAt: number endsAt: number productId: number categoryId: number customerId: number brandId: number createdAt: number updatedAt: number _all: number } export type PromotionAvgAggregateInputType = { discountPercent?: true platform?: true } export type PromotionSumAggregateInputType = { discountPercent?: true platform?: true } export type PromotionMinAggregateInputType = { id?: true title?: true description?: true scope?: true usage?: true discountPercent?: true isActive?: true platform?: true startsAt?: true endsAt?: true productId?: true categoryId?: true customerId?: true brandId?: true createdAt?: true updatedAt?: true } export type PromotionMaxAggregateInputType = { id?: true title?: true description?: true scope?: true usage?: true discountPercent?: true isActive?: true platform?: true startsAt?: true endsAt?: true productId?: true categoryId?: true customerId?: true brandId?: true createdAt?: true updatedAt?: true } export type PromotionCountAggregateInputType = { id?: true title?: true description?: true scope?: true usage?: true discountPercent?: true isActive?: true platform?: true startsAt?: true endsAt?: true productId?: true categoryId?: true customerId?: true brandId?: true createdAt?: true updatedAt?: true _all?: true } export type PromotionAggregateArgs = { /** * Filter which Promotion to aggregate. */ where?: PromotionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Promotions to fetch. */ orderBy?: PromotionOrderByWithRelationInput | PromotionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: PromotionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Promotions 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` Promotions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Promotions **/ _count?: true | PromotionCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: PromotionAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: PromotionSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: PromotionMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: PromotionMaxAggregateInputType } export type GetPromotionAggregateType = { [P in keyof T & keyof AggregatePromotion]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type PromotionGroupByArgs = { where?: PromotionWhereInput orderBy?: PromotionOrderByWithAggregationInput | PromotionOrderByWithAggregationInput[] by: PromotionScalarFieldEnum[] | PromotionScalarFieldEnum having?: PromotionScalarWhereWithAggregatesInput take?: number skip?: number _count?: PromotionCountAggregateInputType | true _avg?: PromotionAvgAggregateInputType _sum?: PromotionSumAggregateInputType _min?: PromotionMinAggregateInputType _max?: PromotionMaxAggregateInputType } export type PromotionGroupByOutputType = { id: string title: string description: string | null scope: $Enums.PromotionScope usage: $Enums.PromotionUsage discountPercent: Decimal isActive: boolean platform: number startsAt: Date | null endsAt: Date | null productId: string | null categoryId: string | null customerId: string | null brandId: string | null createdAt: Date updatedAt: Date _count: PromotionCountAggregateOutputType | null _avg: PromotionAvgAggregateOutputType | null _sum: PromotionSumAggregateOutputType | null _min: PromotionMinAggregateOutputType | null _max: PromotionMaxAggregateOutputType | null } type GetPromotionGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof PromotionGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type PromotionSelect = $Extensions.GetSelect<{ id?: boolean title?: boolean description?: boolean scope?: boolean usage?: boolean discountPercent?: boolean isActive?: boolean platform?: boolean startsAt?: boolean endsAt?: boolean productId?: boolean categoryId?: boolean customerId?: boolean brandId?: boolean createdAt?: boolean updatedAt?: boolean product?: boolean | Promotion$productArgs category?: boolean | Promotion$categoryArgs customer?: boolean | Promotion$customerArgs brand?: boolean | Promotion$brandArgs }, ExtArgs["result"]["promotion"]> export type PromotionSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean title?: boolean description?: boolean scope?: boolean usage?: boolean discountPercent?: boolean isActive?: boolean platform?: boolean startsAt?: boolean endsAt?: boolean productId?: boolean categoryId?: boolean customerId?: boolean brandId?: boolean createdAt?: boolean updatedAt?: boolean product?: boolean | Promotion$productArgs category?: boolean | Promotion$categoryArgs customer?: boolean | Promotion$customerArgs brand?: boolean | Promotion$brandArgs }, ExtArgs["result"]["promotion"]> export type PromotionSelectScalar = { id?: boolean title?: boolean description?: boolean scope?: boolean usage?: boolean discountPercent?: boolean isActive?: boolean platform?: boolean startsAt?: boolean endsAt?: boolean productId?: boolean categoryId?: boolean customerId?: boolean brandId?: boolean createdAt?: boolean updatedAt?: boolean } export type PromotionInclude = { product?: boolean | Promotion$productArgs category?: boolean | Promotion$categoryArgs customer?: boolean | Promotion$customerArgs brand?: boolean | Promotion$brandArgs } export type PromotionIncludeCreateManyAndReturn = { product?: boolean | Promotion$productArgs category?: boolean | Promotion$categoryArgs customer?: boolean | Promotion$customerArgs brand?: boolean | Promotion$brandArgs } export type $PromotionPayload = { name: "Promotion" objects: { product: Prisma.$ProductPayload | null category: Prisma.$CategoryPayload | null customer: Prisma.$CustomerPayload | null brand: Prisma.$BrandPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string title: string description: string | null scope: $Enums.PromotionScope usage: $Enums.PromotionUsage /** * Percentage off, 0-100 (legacy discount_percent). */ discountPercent: Prisma.Decimal isActive: boolean /** * Which storefront it shows on, mirroring Product.showType (legacy platform). */ platform: number startsAt: Date | null endsAt: Date | null /** * Exactly one of these is populated, per `scope`. */ productId: string | null categoryId: string | null customerId: string | null brandId: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["promotion"]> composites: {} } type PromotionGetPayload = $Result.GetResult type PromotionCountArgs = Omit & { select?: PromotionCountAggregateInputType | true } export interface PromotionDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Promotion'], meta: { name: 'Promotion' } } /** * Find zero or one Promotion that matches the filter. * @param {PromotionFindUniqueArgs} args - Arguments to find a Promotion * @example * // Get one Promotion * const promotion = await prisma.promotion.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__PromotionClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Promotion that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {PromotionFindUniqueOrThrowArgs} args - Arguments to find a Promotion * @example * // Get one Promotion * const promotion = await prisma.promotion.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__PromotionClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Promotion 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 {PromotionFindFirstArgs} args - Arguments to find a Promotion * @example * // Get one Promotion * const promotion = await prisma.promotion.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__PromotionClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Promotion 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 {PromotionFindFirstOrThrowArgs} args - Arguments to find a Promotion * @example * // Get one Promotion * const promotion = await prisma.promotion.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__PromotionClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Promotions 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 {PromotionFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Promotions * const promotions = await prisma.promotion.findMany() * * // Get first 10 Promotions * const promotions = await prisma.promotion.findMany({ take: 10 }) * * // Only select the `id` * const promotionWithIdOnly = await prisma.promotion.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Promotion. * @param {PromotionCreateArgs} args - Arguments to create a Promotion. * @example * // Create one Promotion * const Promotion = await prisma.promotion.create({ * data: { * // ... data to create a Promotion * } * }) * */ create(args: SelectSubset>): Prisma__PromotionClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Promotions. * @param {PromotionCreateManyArgs} args - Arguments to create many Promotions. * @example * // Create many Promotions * const promotion = await prisma.promotion.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Promotions and returns the data saved in the database. * @param {PromotionCreateManyAndReturnArgs} args - Arguments to create many Promotions. * @example * // Create many Promotions * const promotion = await prisma.promotion.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Promotions and only return the `id` * const promotionWithIdOnly = await prisma.promotion.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Promotion. * @param {PromotionDeleteArgs} args - Arguments to delete one Promotion. * @example * // Delete one Promotion * const Promotion = await prisma.promotion.delete({ * where: { * // ... filter to delete one Promotion * } * }) * */ delete(args: SelectSubset>): Prisma__PromotionClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Promotion. * @param {PromotionUpdateArgs} args - Arguments to update one Promotion. * @example * // Update one Promotion * const promotion = await prisma.promotion.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__PromotionClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Promotions. * @param {PromotionDeleteManyArgs} args - Arguments to filter Promotions to delete. * @example * // Delete a few Promotions * const { count } = await prisma.promotion.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Promotions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PromotionUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Promotions * const promotion = await prisma.promotion.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Promotion. * @param {PromotionUpsertArgs} args - Arguments to update or create a Promotion. * @example * // Update or create a Promotion * const promotion = await prisma.promotion.upsert({ * create: { * // ... data to create a Promotion * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Promotion we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__PromotionClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Promotions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PromotionCountArgs} args - Arguments to filter Promotions to count. * @example * // Count the number of Promotions * const count = await prisma.promotion.count({ * where: { * // ... the filter for the Promotions we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Promotion. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PromotionAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by Promotion. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PromotionGroupByArgs} 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 PromotionGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: PromotionGroupByArgs['orderBy'] } : { orderBy?: PromotionGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetPromotionGroupByPayload : Prisma.PrismaPromise /** * Fields of the Promotion model */ readonly fields: PromotionFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Promotion. * 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__PromotionClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" product = {}>(args?: Subset>): Prisma__ProductClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> category = {}>(args?: Subset>): Prisma__CategoryClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> customer = {}>(args?: Subset>): Prisma__CustomerClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> brand = {}>(args?: Subset>): Prisma__BrandClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the Promotion model */ interface PromotionFieldRefs { readonly id: FieldRef<"Promotion", 'String'> readonly title: FieldRef<"Promotion", 'String'> readonly description: FieldRef<"Promotion", 'String'> readonly scope: FieldRef<"Promotion", 'PromotionScope'> readonly usage: FieldRef<"Promotion", 'PromotionUsage'> readonly discountPercent: FieldRef<"Promotion", 'Decimal'> readonly isActive: FieldRef<"Promotion", 'Boolean'> readonly platform: FieldRef<"Promotion", 'Int'> readonly startsAt: FieldRef<"Promotion", 'DateTime'> readonly endsAt: FieldRef<"Promotion", 'DateTime'> readonly productId: FieldRef<"Promotion", 'String'> readonly categoryId: FieldRef<"Promotion", 'String'> readonly customerId: FieldRef<"Promotion", 'String'> readonly brandId: FieldRef<"Promotion", 'String'> readonly createdAt: FieldRef<"Promotion", 'DateTime'> readonly updatedAt: FieldRef<"Promotion", 'DateTime'> } // Custom InputTypes /** * Promotion findUnique */ export type PromotionFindUniqueArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null /** * Filter, which Promotion to fetch. */ where: PromotionWhereUniqueInput } /** * Promotion findUniqueOrThrow */ export type PromotionFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null /** * Filter, which Promotion to fetch. */ where: PromotionWhereUniqueInput } /** * Promotion findFirst */ export type PromotionFindFirstArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null /** * Filter, which Promotion to fetch. */ where?: PromotionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Promotions to fetch. */ orderBy?: PromotionOrderByWithRelationInput | PromotionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Promotions. */ cursor?: PromotionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Promotions 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` Promotions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Promotions. */ distinct?: PromotionScalarFieldEnum | PromotionScalarFieldEnum[] } /** * Promotion findFirstOrThrow */ export type PromotionFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null /** * Filter, which Promotion to fetch. */ where?: PromotionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Promotions to fetch. */ orderBy?: PromotionOrderByWithRelationInput | PromotionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Promotions. */ cursor?: PromotionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Promotions 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` Promotions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Promotions. */ distinct?: PromotionScalarFieldEnum | PromotionScalarFieldEnum[] } /** * Promotion findMany */ export type PromotionFindManyArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null /** * Filter, which Promotions to fetch. */ where?: PromotionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Promotions to fetch. */ orderBy?: PromotionOrderByWithRelationInput | PromotionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Promotions. */ cursor?: PromotionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Promotions 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` Promotions. */ skip?: number distinct?: PromotionScalarFieldEnum | PromotionScalarFieldEnum[] } /** * Promotion create */ export type PromotionCreateArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null /** * The data needed to create a Promotion. */ data: XOR } /** * Promotion createMany */ export type PromotionCreateManyArgs = { /** * The data used to create many Promotions. */ data: PromotionCreateManyInput | PromotionCreateManyInput[] skipDuplicates?: boolean } /** * Promotion createManyAndReturn */ export type PromotionCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelectCreateManyAndReturn | null /** * The data used to create many Promotions. */ data: PromotionCreateManyInput | PromotionCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: PromotionIncludeCreateManyAndReturn | null } /** * Promotion update */ export type PromotionUpdateArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null /** * The data needed to update a Promotion. */ data: XOR /** * Choose, which Promotion to update. */ where: PromotionWhereUniqueInput } /** * Promotion updateMany */ export type PromotionUpdateManyArgs = { /** * The data used to update Promotions. */ data: XOR /** * Filter which Promotions to update */ where?: PromotionWhereInput } /** * Promotion upsert */ export type PromotionUpsertArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null /** * The filter to search for the Promotion to update in case it exists. */ where: PromotionWhereUniqueInput /** * In case the Promotion found by the `where` argument doesn't exist, create a new Promotion with this data. */ create: XOR /** * In case the Promotion was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Promotion delete */ export type PromotionDeleteArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null /** * Filter which Promotion to delete. */ where: PromotionWhereUniqueInput } /** * Promotion deleteMany */ export type PromotionDeleteManyArgs = { /** * Filter which Promotions to delete */ where?: PromotionWhereInput } /** * Promotion.product */ export type Promotion$productArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null where?: ProductWhereInput } /** * Promotion.category */ export type Promotion$categoryArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null where?: CategoryWhereInput } /** * Promotion.customer */ export type Promotion$customerArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null where?: CustomerWhereInput } /** * Promotion.brand */ export type Promotion$brandArgs = { /** * Select specific fields to fetch from the Brand */ select?: BrandSelect | null /** * Choose, which related nodes to fetch as well */ include?: BrandInclude | null where?: BrandWhereInput } /** * Promotion without action */ export type PromotionDefaultArgs = { /** * Select specific fields to fetch from the Promotion */ select?: PromotionSelect | null /** * Choose, which related nodes to fetch as well */ include?: PromotionInclude | null } /** * Model PromotionExclusion */ export type AggregatePromotionExclusion = { _count: PromotionExclusionCountAggregateOutputType | null _avg: PromotionExclusionAvgAggregateOutputType | null _sum: PromotionExclusionSumAggregateOutputType | null _min: PromotionExclusionMinAggregateOutputType | null _max: PromotionExclusionMaxAggregateOutputType | null } export type PromotionExclusionAvgAggregateOutputType = { type: number | null } export type PromotionExclusionSumAggregateOutputType = { type: number | null } export type PromotionExclusionMinAggregateOutputType = { id: string | null type: number | null itemId: string | null createdAt: Date | null } export type PromotionExclusionMaxAggregateOutputType = { id: string | null type: number | null itemId: string | null createdAt: Date | null } export type PromotionExclusionCountAggregateOutputType = { id: number type: number itemId: number createdAt: number _all: number } export type PromotionExclusionAvgAggregateInputType = { type?: true } export type PromotionExclusionSumAggregateInputType = { type?: true } export type PromotionExclusionMinAggregateInputType = { id?: true type?: true itemId?: true createdAt?: true } export type PromotionExclusionMaxAggregateInputType = { id?: true type?: true itemId?: true createdAt?: true } export type PromotionExclusionCountAggregateInputType = { id?: true type?: true itemId?: true createdAt?: true _all?: true } export type PromotionExclusionAggregateArgs = { /** * Filter which PromotionExclusion to aggregate. */ where?: PromotionExclusionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of PromotionExclusions to fetch. */ orderBy?: PromotionExclusionOrderByWithRelationInput | PromotionExclusionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: PromotionExclusionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` PromotionExclusions 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` PromotionExclusions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned PromotionExclusions **/ _count?: true | PromotionExclusionCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: PromotionExclusionAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: PromotionExclusionSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: PromotionExclusionMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: PromotionExclusionMaxAggregateInputType } export type GetPromotionExclusionAggregateType = { [P in keyof T & keyof AggregatePromotionExclusion]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type PromotionExclusionGroupByArgs = { where?: PromotionExclusionWhereInput orderBy?: PromotionExclusionOrderByWithAggregationInput | PromotionExclusionOrderByWithAggregationInput[] by: PromotionExclusionScalarFieldEnum[] | PromotionExclusionScalarFieldEnum having?: PromotionExclusionScalarWhereWithAggregatesInput take?: number skip?: number _count?: PromotionExclusionCountAggregateInputType | true _avg?: PromotionExclusionAvgAggregateInputType _sum?: PromotionExclusionSumAggregateInputType _min?: PromotionExclusionMinAggregateInputType _max?: PromotionExclusionMaxAggregateInputType } export type PromotionExclusionGroupByOutputType = { id: string type: number itemId: string createdAt: Date _count: PromotionExclusionCountAggregateOutputType | null _avg: PromotionExclusionAvgAggregateOutputType | null _sum: PromotionExclusionSumAggregateOutputType | null _min: PromotionExclusionMinAggregateOutputType | null _max: PromotionExclusionMaxAggregateOutputType | null } type GetPromotionExclusionGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof PromotionExclusionGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type PromotionExclusionSelect = $Extensions.GetSelect<{ id?: boolean type?: boolean itemId?: boolean createdAt?: boolean }, ExtArgs["result"]["promotionExclusion"]> export type PromotionExclusionSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean type?: boolean itemId?: boolean createdAt?: boolean }, ExtArgs["result"]["promotionExclusion"]> export type PromotionExclusionSelectScalar = { id?: boolean type?: boolean itemId?: boolean createdAt?: boolean } export type $PromotionExclusionPayload = { name: "PromotionExclusion" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string type: number itemId: string createdAt: Date }, ExtArgs["result"]["promotionExclusion"]> composites: {} } type PromotionExclusionGetPayload = $Result.GetResult type PromotionExclusionCountArgs = Omit & { select?: PromotionExclusionCountAggregateInputType | true } export interface PromotionExclusionDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['PromotionExclusion'], meta: { name: 'PromotionExclusion' } } /** * Find zero or one PromotionExclusion that matches the filter. * @param {PromotionExclusionFindUniqueArgs} args - Arguments to find a PromotionExclusion * @example * // Get one PromotionExclusion * const promotionExclusion = await prisma.promotionExclusion.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__PromotionExclusionClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one PromotionExclusion that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {PromotionExclusionFindUniqueOrThrowArgs} args - Arguments to find a PromotionExclusion * @example * // Get one PromotionExclusion * const promotionExclusion = await prisma.promotionExclusion.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__PromotionExclusionClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first PromotionExclusion 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 {PromotionExclusionFindFirstArgs} args - Arguments to find a PromotionExclusion * @example * // Get one PromotionExclusion * const promotionExclusion = await prisma.promotionExclusion.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__PromotionExclusionClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first PromotionExclusion 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 {PromotionExclusionFindFirstOrThrowArgs} args - Arguments to find a PromotionExclusion * @example * // Get one PromotionExclusion * const promotionExclusion = await prisma.promotionExclusion.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__PromotionExclusionClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more PromotionExclusions 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 {PromotionExclusionFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all PromotionExclusions * const promotionExclusions = await prisma.promotionExclusion.findMany() * * // Get first 10 PromotionExclusions * const promotionExclusions = await prisma.promotionExclusion.findMany({ take: 10 }) * * // Only select the `id` * const promotionExclusionWithIdOnly = await prisma.promotionExclusion.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a PromotionExclusion. * @param {PromotionExclusionCreateArgs} args - Arguments to create a PromotionExclusion. * @example * // Create one PromotionExclusion * const PromotionExclusion = await prisma.promotionExclusion.create({ * data: { * // ... data to create a PromotionExclusion * } * }) * */ create(args: SelectSubset>): Prisma__PromotionExclusionClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many PromotionExclusions. * @param {PromotionExclusionCreateManyArgs} args - Arguments to create many PromotionExclusions. * @example * // Create many PromotionExclusions * const promotionExclusion = await prisma.promotionExclusion.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many PromotionExclusions and returns the data saved in the database. * @param {PromotionExclusionCreateManyAndReturnArgs} args - Arguments to create many PromotionExclusions. * @example * // Create many PromotionExclusions * const promotionExclusion = await prisma.promotionExclusion.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many PromotionExclusions and only return the `id` * const promotionExclusionWithIdOnly = await prisma.promotionExclusion.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a PromotionExclusion. * @param {PromotionExclusionDeleteArgs} args - Arguments to delete one PromotionExclusion. * @example * // Delete one PromotionExclusion * const PromotionExclusion = await prisma.promotionExclusion.delete({ * where: { * // ... filter to delete one PromotionExclusion * } * }) * */ delete(args: SelectSubset>): Prisma__PromotionExclusionClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one PromotionExclusion. * @param {PromotionExclusionUpdateArgs} args - Arguments to update one PromotionExclusion. * @example * // Update one PromotionExclusion * const promotionExclusion = await prisma.promotionExclusion.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__PromotionExclusionClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more PromotionExclusions. * @param {PromotionExclusionDeleteManyArgs} args - Arguments to filter PromotionExclusions to delete. * @example * // Delete a few PromotionExclusions * const { count } = await prisma.promotionExclusion.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more PromotionExclusions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PromotionExclusionUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many PromotionExclusions * const promotionExclusion = await prisma.promotionExclusion.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one PromotionExclusion. * @param {PromotionExclusionUpsertArgs} args - Arguments to update or create a PromotionExclusion. * @example * // Update or create a PromotionExclusion * const promotionExclusion = await prisma.promotionExclusion.upsert({ * create: { * // ... data to create a PromotionExclusion * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the PromotionExclusion we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__PromotionExclusionClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of PromotionExclusions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PromotionExclusionCountArgs} args - Arguments to filter PromotionExclusions to count. * @example * // Count the number of PromotionExclusions * const count = await prisma.promotionExclusion.count({ * where: { * // ... the filter for the PromotionExclusions we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a PromotionExclusion. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PromotionExclusionAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by PromotionExclusion. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PromotionExclusionGroupByArgs} 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 PromotionExclusionGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: PromotionExclusionGroupByArgs['orderBy'] } : { orderBy?: PromotionExclusionGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetPromotionExclusionGroupByPayload : Prisma.PrismaPromise /** * Fields of the PromotionExclusion model */ readonly fields: PromotionExclusionFieldRefs; } /** * The delegate class that acts as a "Promise-like" for PromotionExclusion. * 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__PromotionExclusionClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the PromotionExclusion model */ interface PromotionExclusionFieldRefs { readonly id: FieldRef<"PromotionExclusion", 'String'> readonly type: FieldRef<"PromotionExclusion", 'Int'> readonly itemId: FieldRef<"PromotionExclusion", 'String'> readonly createdAt: FieldRef<"PromotionExclusion", 'DateTime'> } // Custom InputTypes /** * PromotionExclusion findUnique */ export type PromotionExclusionFindUniqueArgs = { /** * Select specific fields to fetch from the PromotionExclusion */ select?: PromotionExclusionSelect | null /** * Filter, which PromotionExclusion to fetch. */ where: PromotionExclusionWhereUniqueInput } /** * PromotionExclusion findUniqueOrThrow */ export type PromotionExclusionFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the PromotionExclusion */ select?: PromotionExclusionSelect | null /** * Filter, which PromotionExclusion to fetch. */ where: PromotionExclusionWhereUniqueInput } /** * PromotionExclusion findFirst */ export type PromotionExclusionFindFirstArgs = { /** * Select specific fields to fetch from the PromotionExclusion */ select?: PromotionExclusionSelect | null /** * Filter, which PromotionExclusion to fetch. */ where?: PromotionExclusionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of PromotionExclusions to fetch. */ orderBy?: PromotionExclusionOrderByWithRelationInput | PromotionExclusionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for PromotionExclusions. */ cursor?: PromotionExclusionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` PromotionExclusions 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` PromotionExclusions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of PromotionExclusions. */ distinct?: PromotionExclusionScalarFieldEnum | PromotionExclusionScalarFieldEnum[] } /** * PromotionExclusion findFirstOrThrow */ export type PromotionExclusionFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the PromotionExclusion */ select?: PromotionExclusionSelect | null /** * Filter, which PromotionExclusion to fetch. */ where?: PromotionExclusionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of PromotionExclusions to fetch. */ orderBy?: PromotionExclusionOrderByWithRelationInput | PromotionExclusionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for PromotionExclusions. */ cursor?: PromotionExclusionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` PromotionExclusions 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` PromotionExclusions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of PromotionExclusions. */ distinct?: PromotionExclusionScalarFieldEnum | PromotionExclusionScalarFieldEnum[] } /** * PromotionExclusion findMany */ export type PromotionExclusionFindManyArgs = { /** * Select specific fields to fetch from the PromotionExclusion */ select?: PromotionExclusionSelect | null /** * Filter, which PromotionExclusions to fetch. */ where?: PromotionExclusionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of PromotionExclusions to fetch. */ orderBy?: PromotionExclusionOrderByWithRelationInput | PromotionExclusionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing PromotionExclusions. */ cursor?: PromotionExclusionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` PromotionExclusions 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` PromotionExclusions. */ skip?: number distinct?: PromotionExclusionScalarFieldEnum | PromotionExclusionScalarFieldEnum[] } /** * PromotionExclusion create */ export type PromotionExclusionCreateArgs = { /** * Select specific fields to fetch from the PromotionExclusion */ select?: PromotionExclusionSelect | null /** * The data needed to create a PromotionExclusion. */ data: XOR } /** * PromotionExclusion createMany */ export type PromotionExclusionCreateManyArgs = { /** * The data used to create many PromotionExclusions. */ data: PromotionExclusionCreateManyInput | PromotionExclusionCreateManyInput[] skipDuplicates?: boolean } /** * PromotionExclusion createManyAndReturn */ export type PromotionExclusionCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the PromotionExclusion */ select?: PromotionExclusionSelectCreateManyAndReturn | null /** * The data used to create many PromotionExclusions. */ data: PromotionExclusionCreateManyInput | PromotionExclusionCreateManyInput[] skipDuplicates?: boolean } /** * PromotionExclusion update */ export type PromotionExclusionUpdateArgs = { /** * Select specific fields to fetch from the PromotionExclusion */ select?: PromotionExclusionSelect | null /** * The data needed to update a PromotionExclusion. */ data: XOR /** * Choose, which PromotionExclusion to update. */ where: PromotionExclusionWhereUniqueInput } /** * PromotionExclusion updateMany */ export type PromotionExclusionUpdateManyArgs = { /** * The data used to update PromotionExclusions. */ data: XOR /** * Filter which PromotionExclusions to update */ where?: PromotionExclusionWhereInput } /** * PromotionExclusion upsert */ export type PromotionExclusionUpsertArgs = { /** * Select specific fields to fetch from the PromotionExclusion */ select?: PromotionExclusionSelect | null /** * The filter to search for the PromotionExclusion to update in case it exists. */ where: PromotionExclusionWhereUniqueInput /** * In case the PromotionExclusion found by the `where` argument doesn't exist, create a new PromotionExclusion with this data. */ create: XOR /** * In case the PromotionExclusion was found with the provided `where` argument, update it with this data. */ update: XOR } /** * PromotionExclusion delete */ export type PromotionExclusionDeleteArgs = { /** * Select specific fields to fetch from the PromotionExclusion */ select?: PromotionExclusionSelect | null /** * Filter which PromotionExclusion to delete. */ where: PromotionExclusionWhereUniqueInput } /** * PromotionExclusion deleteMany */ export type PromotionExclusionDeleteManyArgs = { /** * Filter which PromotionExclusions to delete */ where?: PromotionExclusionWhereInput } /** * PromotionExclusion without action */ export type PromotionExclusionDefaultArgs = { /** * Select specific fields to fetch from the PromotionExclusion */ select?: PromotionExclusionSelect | null } /** * Model BranchAllocation */ export type AggregateBranchAllocation = { _count: BranchAllocationCountAggregateOutputType | null _min: BranchAllocationMinAggregateOutputType | null _max: BranchAllocationMaxAggregateOutputType | null } export type BranchAllocationMinAggregateOutputType = { id: string | null branchId: string | null allocatorAdminUserId: string | null note: string | null createdAt: Date | null } export type BranchAllocationMaxAggregateOutputType = { id: string | null branchId: string | null allocatorAdminUserId: string | null note: string | null createdAt: Date | null } export type BranchAllocationCountAggregateOutputType = { id: number branchId: number allocatorAdminUserId: number note: number createdAt: number _all: number } export type BranchAllocationMinAggregateInputType = { id?: true branchId?: true allocatorAdminUserId?: true note?: true createdAt?: true } export type BranchAllocationMaxAggregateInputType = { id?: true branchId?: true allocatorAdminUserId?: true note?: true createdAt?: true } export type BranchAllocationCountAggregateInputType = { id?: true branchId?: true allocatorAdminUserId?: true note?: true createdAt?: true _all?: true } export type BranchAllocationAggregateArgs = { /** * Filter which BranchAllocation to aggregate. */ where?: BranchAllocationWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of BranchAllocations to fetch. */ orderBy?: BranchAllocationOrderByWithRelationInput | BranchAllocationOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: BranchAllocationWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` BranchAllocations 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` BranchAllocations. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned BranchAllocations **/ _count?: true | BranchAllocationCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: BranchAllocationMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: BranchAllocationMaxAggregateInputType } export type GetBranchAllocationAggregateType = { [P in keyof T & keyof AggregateBranchAllocation]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type BranchAllocationGroupByArgs = { where?: BranchAllocationWhereInput orderBy?: BranchAllocationOrderByWithAggregationInput | BranchAllocationOrderByWithAggregationInput[] by: BranchAllocationScalarFieldEnum[] | BranchAllocationScalarFieldEnum having?: BranchAllocationScalarWhereWithAggregatesInput take?: number skip?: number _count?: BranchAllocationCountAggregateInputType | true _min?: BranchAllocationMinAggregateInputType _max?: BranchAllocationMaxAggregateInputType } export type BranchAllocationGroupByOutputType = { id: string branchId: string allocatorAdminUserId: string | null note: string | null createdAt: Date _count: BranchAllocationCountAggregateOutputType | null _min: BranchAllocationMinAggregateOutputType | null _max: BranchAllocationMaxAggregateOutputType | null } type GetBranchAllocationGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof BranchAllocationGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type BranchAllocationSelect = $Extensions.GetSelect<{ id?: boolean branchId?: boolean allocatorAdminUserId?: boolean note?: boolean createdAt?: boolean branch?: boolean | BranchDefaultArgs allocatorAdminUser?: boolean | BranchAllocation$allocatorAdminUserArgs items?: boolean | BranchAllocation$itemsArgs _count?: boolean | BranchAllocationCountOutputTypeDefaultArgs }, ExtArgs["result"]["branchAllocation"]> export type BranchAllocationSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean branchId?: boolean allocatorAdminUserId?: boolean note?: boolean createdAt?: boolean branch?: boolean | BranchDefaultArgs allocatorAdminUser?: boolean | BranchAllocation$allocatorAdminUserArgs }, ExtArgs["result"]["branchAllocation"]> export type BranchAllocationSelectScalar = { id?: boolean branchId?: boolean allocatorAdminUserId?: boolean note?: boolean createdAt?: boolean } export type BranchAllocationInclude = { branch?: boolean | BranchDefaultArgs allocatorAdminUser?: boolean | BranchAllocation$allocatorAdminUserArgs items?: boolean | BranchAllocation$itemsArgs _count?: boolean | BranchAllocationCountOutputTypeDefaultArgs } export type BranchAllocationIncludeCreateManyAndReturn = { branch?: boolean | BranchDefaultArgs allocatorAdminUser?: boolean | BranchAllocation$allocatorAdminUserArgs } export type $BranchAllocationPayload = { name: "BranchAllocation" objects: { branch: Prisma.$BranchPayload allocatorAdminUser: Prisma.$AdminUserPayload | null items: Prisma.$BranchAllocationItemPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string branchId: string /** * Legacy `allocator_user` — the admin who filed the allocation. */ allocatorAdminUserId: string | null note: string | null createdAt: Date }, ExtArgs["result"]["branchAllocation"]> composites: {} } type BranchAllocationGetPayload = $Result.GetResult type BranchAllocationCountArgs = Omit & { select?: BranchAllocationCountAggregateInputType | true } export interface BranchAllocationDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['BranchAllocation'], meta: { name: 'BranchAllocation' } } /** * Find zero or one BranchAllocation that matches the filter. * @param {BranchAllocationFindUniqueArgs} args - Arguments to find a BranchAllocation * @example * // Get one BranchAllocation * const branchAllocation = await prisma.branchAllocation.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__BranchAllocationClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one BranchAllocation that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {BranchAllocationFindUniqueOrThrowArgs} args - Arguments to find a BranchAllocation * @example * // Get one BranchAllocation * const branchAllocation = await prisma.branchAllocation.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__BranchAllocationClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first BranchAllocation 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 {BranchAllocationFindFirstArgs} args - Arguments to find a BranchAllocation * @example * // Get one BranchAllocation * const branchAllocation = await prisma.branchAllocation.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__BranchAllocationClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first BranchAllocation 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 {BranchAllocationFindFirstOrThrowArgs} args - Arguments to find a BranchAllocation * @example * // Get one BranchAllocation * const branchAllocation = await prisma.branchAllocation.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__BranchAllocationClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more BranchAllocations 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 {BranchAllocationFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all BranchAllocations * const branchAllocations = await prisma.branchAllocation.findMany() * * // Get first 10 BranchAllocations * const branchAllocations = await prisma.branchAllocation.findMany({ take: 10 }) * * // Only select the `id` * const branchAllocationWithIdOnly = await prisma.branchAllocation.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a BranchAllocation. * @param {BranchAllocationCreateArgs} args - Arguments to create a BranchAllocation. * @example * // Create one BranchAllocation * const BranchAllocation = await prisma.branchAllocation.create({ * data: { * // ... data to create a BranchAllocation * } * }) * */ create(args: SelectSubset>): Prisma__BranchAllocationClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many BranchAllocations. * @param {BranchAllocationCreateManyArgs} args - Arguments to create many BranchAllocations. * @example * // Create many BranchAllocations * const branchAllocation = await prisma.branchAllocation.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many BranchAllocations and returns the data saved in the database. * @param {BranchAllocationCreateManyAndReturnArgs} args - Arguments to create many BranchAllocations. * @example * // Create many BranchAllocations * const branchAllocation = await prisma.branchAllocation.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many BranchAllocations and only return the `id` * const branchAllocationWithIdOnly = await prisma.branchAllocation.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a BranchAllocation. * @param {BranchAllocationDeleteArgs} args - Arguments to delete one BranchAllocation. * @example * // Delete one BranchAllocation * const BranchAllocation = await prisma.branchAllocation.delete({ * where: { * // ... filter to delete one BranchAllocation * } * }) * */ delete(args: SelectSubset>): Prisma__BranchAllocationClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one BranchAllocation. * @param {BranchAllocationUpdateArgs} args - Arguments to update one BranchAllocation. * @example * // Update one BranchAllocation * const branchAllocation = await prisma.branchAllocation.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__BranchAllocationClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more BranchAllocations. * @param {BranchAllocationDeleteManyArgs} args - Arguments to filter BranchAllocations to delete. * @example * // Delete a few BranchAllocations * const { count } = await prisma.branchAllocation.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more BranchAllocations. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BranchAllocationUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many BranchAllocations * const branchAllocation = await prisma.branchAllocation.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one BranchAllocation. * @param {BranchAllocationUpsertArgs} args - Arguments to update or create a BranchAllocation. * @example * // Update or create a BranchAllocation * const branchAllocation = await prisma.branchAllocation.upsert({ * create: { * // ... data to create a BranchAllocation * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the BranchAllocation we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__BranchAllocationClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of BranchAllocations. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BranchAllocationCountArgs} args - Arguments to filter BranchAllocations to count. * @example * // Count the number of BranchAllocations * const count = await prisma.branchAllocation.count({ * where: { * // ... the filter for the BranchAllocations we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a BranchAllocation. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BranchAllocationAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by BranchAllocation. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BranchAllocationGroupByArgs} 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 BranchAllocationGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: BranchAllocationGroupByArgs['orderBy'] } : { orderBy?: BranchAllocationGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetBranchAllocationGroupByPayload : Prisma.PrismaPromise /** * Fields of the BranchAllocation model */ readonly fields: BranchAllocationFieldRefs; } /** * The delegate class that acts as a "Promise-like" for BranchAllocation. * 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__BranchAllocationClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" branch = {}>(args?: Subset>): Prisma__BranchClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> allocatorAdminUser = {}>(args?: Subset>): Prisma__AdminUserClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> items = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the BranchAllocation model */ interface BranchAllocationFieldRefs { readonly id: FieldRef<"BranchAllocation", 'String'> readonly branchId: FieldRef<"BranchAllocation", 'String'> readonly allocatorAdminUserId: FieldRef<"BranchAllocation", 'String'> readonly note: FieldRef<"BranchAllocation", 'String'> readonly createdAt: FieldRef<"BranchAllocation", 'DateTime'> } // Custom InputTypes /** * BranchAllocation findUnique */ export type BranchAllocationFindUniqueArgs = { /** * Select specific fields to fetch from the BranchAllocation */ select?: BranchAllocationSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationInclude | null /** * Filter, which BranchAllocation to fetch. */ where: BranchAllocationWhereUniqueInput } /** * BranchAllocation findUniqueOrThrow */ export type BranchAllocationFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the BranchAllocation */ select?: BranchAllocationSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationInclude | null /** * Filter, which BranchAllocation to fetch. */ where: BranchAllocationWhereUniqueInput } /** * BranchAllocation findFirst */ export type BranchAllocationFindFirstArgs = { /** * Select specific fields to fetch from the BranchAllocation */ select?: BranchAllocationSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationInclude | null /** * Filter, which BranchAllocation to fetch. */ where?: BranchAllocationWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of BranchAllocations to fetch. */ orderBy?: BranchAllocationOrderByWithRelationInput | BranchAllocationOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for BranchAllocations. */ cursor?: BranchAllocationWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` BranchAllocations 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` BranchAllocations. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of BranchAllocations. */ distinct?: BranchAllocationScalarFieldEnum | BranchAllocationScalarFieldEnum[] } /** * BranchAllocation findFirstOrThrow */ export type BranchAllocationFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the BranchAllocation */ select?: BranchAllocationSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationInclude | null /** * Filter, which BranchAllocation to fetch. */ where?: BranchAllocationWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of BranchAllocations to fetch. */ orderBy?: BranchAllocationOrderByWithRelationInput | BranchAllocationOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for BranchAllocations. */ cursor?: BranchAllocationWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` BranchAllocations 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` BranchAllocations. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of BranchAllocations. */ distinct?: BranchAllocationScalarFieldEnum | BranchAllocationScalarFieldEnum[] } /** * BranchAllocation findMany */ export type BranchAllocationFindManyArgs = { /** * Select specific fields to fetch from the BranchAllocation */ select?: BranchAllocationSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationInclude | null /** * Filter, which BranchAllocations to fetch. */ where?: BranchAllocationWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of BranchAllocations to fetch. */ orderBy?: BranchAllocationOrderByWithRelationInput | BranchAllocationOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing BranchAllocations. */ cursor?: BranchAllocationWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` BranchAllocations 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` BranchAllocations. */ skip?: number distinct?: BranchAllocationScalarFieldEnum | BranchAllocationScalarFieldEnum[] } /** * BranchAllocation create */ export type BranchAllocationCreateArgs = { /** * Select specific fields to fetch from the BranchAllocation */ select?: BranchAllocationSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationInclude | null /** * The data needed to create a BranchAllocation. */ data: XOR } /** * BranchAllocation createMany */ export type BranchAllocationCreateManyArgs = { /** * The data used to create many BranchAllocations. */ data: BranchAllocationCreateManyInput | BranchAllocationCreateManyInput[] skipDuplicates?: boolean } /** * BranchAllocation createManyAndReturn */ export type BranchAllocationCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the BranchAllocation */ select?: BranchAllocationSelectCreateManyAndReturn | null /** * The data used to create many BranchAllocations. */ data: BranchAllocationCreateManyInput | BranchAllocationCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationIncludeCreateManyAndReturn | null } /** * BranchAllocation update */ export type BranchAllocationUpdateArgs = { /** * Select specific fields to fetch from the BranchAllocation */ select?: BranchAllocationSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationInclude | null /** * The data needed to update a BranchAllocation. */ data: XOR /** * Choose, which BranchAllocation to update. */ where: BranchAllocationWhereUniqueInput } /** * BranchAllocation updateMany */ export type BranchAllocationUpdateManyArgs = { /** * The data used to update BranchAllocations. */ data: XOR /** * Filter which BranchAllocations to update */ where?: BranchAllocationWhereInput } /** * BranchAllocation upsert */ export type BranchAllocationUpsertArgs = { /** * Select specific fields to fetch from the BranchAllocation */ select?: BranchAllocationSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationInclude | null /** * The filter to search for the BranchAllocation to update in case it exists. */ where: BranchAllocationWhereUniqueInput /** * In case the BranchAllocation found by the `where` argument doesn't exist, create a new BranchAllocation with this data. */ create: XOR /** * In case the BranchAllocation was found with the provided `where` argument, update it with this data. */ update: XOR } /** * BranchAllocation delete */ export type BranchAllocationDeleteArgs = { /** * Select specific fields to fetch from the BranchAllocation */ select?: BranchAllocationSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationInclude | null /** * Filter which BranchAllocation to delete. */ where: BranchAllocationWhereUniqueInput } /** * BranchAllocation deleteMany */ export type BranchAllocationDeleteManyArgs = { /** * Filter which BranchAllocations to delete */ where?: BranchAllocationWhereInput } /** * BranchAllocation.allocatorAdminUser */ export type BranchAllocation$allocatorAdminUserArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null where?: AdminUserWhereInput } /** * BranchAllocation.items */ export type BranchAllocation$itemsArgs = { /** * Select specific fields to fetch from the BranchAllocationItem */ select?: BranchAllocationItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationItemInclude | null where?: BranchAllocationItemWhereInput orderBy?: BranchAllocationItemOrderByWithRelationInput | BranchAllocationItemOrderByWithRelationInput[] cursor?: BranchAllocationItemWhereUniqueInput take?: number skip?: number distinct?: BranchAllocationItemScalarFieldEnum | BranchAllocationItemScalarFieldEnum[] } /** * BranchAllocation without action */ export type BranchAllocationDefaultArgs = { /** * Select specific fields to fetch from the BranchAllocation */ select?: BranchAllocationSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationInclude | null } /** * Model BranchAllocationItem */ export type AggregateBranchAllocationItem = { _count: BranchAllocationItemCountAggregateOutputType | null _avg: BranchAllocationItemAvgAggregateOutputType | null _sum: BranchAllocationItemSumAggregateOutputType | null _min: BranchAllocationItemMinAggregateOutputType | null _max: BranchAllocationItemMaxAggregateOutputType | null } export type BranchAllocationItemAvgAggregateOutputType = { weightGrams: Decimal | null } export type BranchAllocationItemSumAggregateOutputType = { weightGrams: Decimal | null } export type BranchAllocationItemMinAggregateOutputType = { id: string | null allocationId: string | null productId: string | null weightGrams: Decimal | null } export type BranchAllocationItemMaxAggregateOutputType = { id: string | null allocationId: string | null productId: string | null weightGrams: Decimal | null } export type BranchAllocationItemCountAggregateOutputType = { id: number allocationId: number productId: number weightGrams: number _all: number } export type BranchAllocationItemAvgAggregateInputType = { weightGrams?: true } export type BranchAllocationItemSumAggregateInputType = { weightGrams?: true } export type BranchAllocationItemMinAggregateInputType = { id?: true allocationId?: true productId?: true weightGrams?: true } export type BranchAllocationItemMaxAggregateInputType = { id?: true allocationId?: true productId?: true weightGrams?: true } export type BranchAllocationItemCountAggregateInputType = { id?: true allocationId?: true productId?: true weightGrams?: true _all?: true } export type BranchAllocationItemAggregateArgs = { /** * Filter which BranchAllocationItem to aggregate. */ where?: BranchAllocationItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of BranchAllocationItems to fetch. */ orderBy?: BranchAllocationItemOrderByWithRelationInput | BranchAllocationItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: BranchAllocationItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` BranchAllocationItems 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` BranchAllocationItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned BranchAllocationItems **/ _count?: true | BranchAllocationItemCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: BranchAllocationItemAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: BranchAllocationItemSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: BranchAllocationItemMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: BranchAllocationItemMaxAggregateInputType } export type GetBranchAllocationItemAggregateType = { [P in keyof T & keyof AggregateBranchAllocationItem]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type BranchAllocationItemGroupByArgs = { where?: BranchAllocationItemWhereInput orderBy?: BranchAllocationItemOrderByWithAggregationInput | BranchAllocationItemOrderByWithAggregationInput[] by: BranchAllocationItemScalarFieldEnum[] | BranchAllocationItemScalarFieldEnum having?: BranchAllocationItemScalarWhereWithAggregatesInput take?: number skip?: number _count?: BranchAllocationItemCountAggregateInputType | true _avg?: BranchAllocationItemAvgAggregateInputType _sum?: BranchAllocationItemSumAggregateInputType _min?: BranchAllocationItemMinAggregateInputType _max?: BranchAllocationItemMaxAggregateInputType } export type BranchAllocationItemGroupByOutputType = { id: string allocationId: string productId: string weightGrams: Decimal | null _count: BranchAllocationItemCountAggregateOutputType | null _avg: BranchAllocationItemAvgAggregateOutputType | null _sum: BranchAllocationItemSumAggregateOutputType | null _min: BranchAllocationItemMinAggregateOutputType | null _max: BranchAllocationItemMaxAggregateOutputType | null } type GetBranchAllocationItemGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof BranchAllocationItemGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type BranchAllocationItemSelect = $Extensions.GetSelect<{ id?: boolean allocationId?: boolean productId?: boolean weightGrams?: boolean allocation?: boolean | BranchAllocationDefaultArgs product?: boolean | ProductDefaultArgs }, ExtArgs["result"]["branchAllocationItem"]> export type BranchAllocationItemSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean allocationId?: boolean productId?: boolean weightGrams?: boolean allocation?: boolean | BranchAllocationDefaultArgs product?: boolean | ProductDefaultArgs }, ExtArgs["result"]["branchAllocationItem"]> export type BranchAllocationItemSelectScalar = { id?: boolean allocationId?: boolean productId?: boolean weightGrams?: boolean } export type BranchAllocationItemInclude = { allocation?: boolean | BranchAllocationDefaultArgs product?: boolean | ProductDefaultArgs } export type BranchAllocationItemIncludeCreateManyAndReturn = { allocation?: boolean | BranchAllocationDefaultArgs product?: boolean | ProductDefaultArgs } export type $BranchAllocationItemPayload = { name: "BranchAllocationItem" objects: { allocation: Prisma.$BranchAllocationPayload product: Prisma.$ProductPayload } scalars: $Extensions.GetPayloadResult<{ id: string allocationId: string productId: string /** * Weight snapshot at allocation time, so later catalog edits do not rewrite history. */ weightGrams: Prisma.Decimal | null }, ExtArgs["result"]["branchAllocationItem"]> composites: {} } type BranchAllocationItemGetPayload = $Result.GetResult type BranchAllocationItemCountArgs = Omit & { select?: BranchAllocationItemCountAggregateInputType | true } export interface BranchAllocationItemDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['BranchAllocationItem'], meta: { name: 'BranchAllocationItem' } } /** * Find zero or one BranchAllocationItem that matches the filter. * @param {BranchAllocationItemFindUniqueArgs} args - Arguments to find a BranchAllocationItem * @example * // Get one BranchAllocationItem * const branchAllocationItem = await prisma.branchAllocationItem.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__BranchAllocationItemClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one BranchAllocationItem that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {BranchAllocationItemFindUniqueOrThrowArgs} args - Arguments to find a BranchAllocationItem * @example * // Get one BranchAllocationItem * const branchAllocationItem = await prisma.branchAllocationItem.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__BranchAllocationItemClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first BranchAllocationItem 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 {BranchAllocationItemFindFirstArgs} args - Arguments to find a BranchAllocationItem * @example * // Get one BranchAllocationItem * const branchAllocationItem = await prisma.branchAllocationItem.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__BranchAllocationItemClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first BranchAllocationItem 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 {BranchAllocationItemFindFirstOrThrowArgs} args - Arguments to find a BranchAllocationItem * @example * // Get one BranchAllocationItem * const branchAllocationItem = await prisma.branchAllocationItem.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__BranchAllocationItemClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more BranchAllocationItems 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 {BranchAllocationItemFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all BranchAllocationItems * const branchAllocationItems = await prisma.branchAllocationItem.findMany() * * // Get first 10 BranchAllocationItems * const branchAllocationItems = await prisma.branchAllocationItem.findMany({ take: 10 }) * * // Only select the `id` * const branchAllocationItemWithIdOnly = await prisma.branchAllocationItem.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a BranchAllocationItem. * @param {BranchAllocationItemCreateArgs} args - Arguments to create a BranchAllocationItem. * @example * // Create one BranchAllocationItem * const BranchAllocationItem = await prisma.branchAllocationItem.create({ * data: { * // ... data to create a BranchAllocationItem * } * }) * */ create(args: SelectSubset>): Prisma__BranchAllocationItemClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many BranchAllocationItems. * @param {BranchAllocationItemCreateManyArgs} args - Arguments to create many BranchAllocationItems. * @example * // Create many BranchAllocationItems * const branchAllocationItem = await prisma.branchAllocationItem.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many BranchAllocationItems and returns the data saved in the database. * @param {BranchAllocationItemCreateManyAndReturnArgs} args - Arguments to create many BranchAllocationItems. * @example * // Create many BranchAllocationItems * const branchAllocationItem = await prisma.branchAllocationItem.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many BranchAllocationItems and only return the `id` * const branchAllocationItemWithIdOnly = await prisma.branchAllocationItem.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a BranchAllocationItem. * @param {BranchAllocationItemDeleteArgs} args - Arguments to delete one BranchAllocationItem. * @example * // Delete one BranchAllocationItem * const BranchAllocationItem = await prisma.branchAllocationItem.delete({ * where: { * // ... filter to delete one BranchAllocationItem * } * }) * */ delete(args: SelectSubset>): Prisma__BranchAllocationItemClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one BranchAllocationItem. * @param {BranchAllocationItemUpdateArgs} args - Arguments to update one BranchAllocationItem. * @example * // Update one BranchAllocationItem * const branchAllocationItem = await prisma.branchAllocationItem.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__BranchAllocationItemClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more BranchAllocationItems. * @param {BranchAllocationItemDeleteManyArgs} args - Arguments to filter BranchAllocationItems to delete. * @example * // Delete a few BranchAllocationItems * const { count } = await prisma.branchAllocationItem.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more BranchAllocationItems. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BranchAllocationItemUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many BranchAllocationItems * const branchAllocationItem = await prisma.branchAllocationItem.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one BranchAllocationItem. * @param {BranchAllocationItemUpsertArgs} args - Arguments to update or create a BranchAllocationItem. * @example * // Update or create a BranchAllocationItem * const branchAllocationItem = await prisma.branchAllocationItem.upsert({ * create: { * // ... data to create a BranchAllocationItem * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the BranchAllocationItem we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__BranchAllocationItemClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of BranchAllocationItems. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BranchAllocationItemCountArgs} args - Arguments to filter BranchAllocationItems to count. * @example * // Count the number of BranchAllocationItems * const count = await prisma.branchAllocationItem.count({ * where: { * // ... the filter for the BranchAllocationItems we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a BranchAllocationItem. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BranchAllocationItemAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by BranchAllocationItem. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {BranchAllocationItemGroupByArgs} 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 BranchAllocationItemGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: BranchAllocationItemGroupByArgs['orderBy'] } : { orderBy?: BranchAllocationItemGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetBranchAllocationItemGroupByPayload : Prisma.PrismaPromise /** * Fields of the BranchAllocationItem model */ readonly fields: BranchAllocationItemFieldRefs; } /** * The delegate class that acts as a "Promise-like" for BranchAllocationItem. * 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__BranchAllocationItemClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" allocation = {}>(args?: Subset>): Prisma__BranchAllocationClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> product = {}>(args?: Subset>): Prisma__ProductClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the BranchAllocationItem model */ interface BranchAllocationItemFieldRefs { readonly id: FieldRef<"BranchAllocationItem", 'String'> readonly allocationId: FieldRef<"BranchAllocationItem", 'String'> readonly productId: FieldRef<"BranchAllocationItem", 'String'> readonly weightGrams: FieldRef<"BranchAllocationItem", 'Decimal'> } // Custom InputTypes /** * BranchAllocationItem findUnique */ export type BranchAllocationItemFindUniqueArgs = { /** * Select specific fields to fetch from the BranchAllocationItem */ select?: BranchAllocationItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationItemInclude | null /** * Filter, which BranchAllocationItem to fetch. */ where: BranchAllocationItemWhereUniqueInput } /** * BranchAllocationItem findUniqueOrThrow */ export type BranchAllocationItemFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the BranchAllocationItem */ select?: BranchAllocationItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationItemInclude | null /** * Filter, which BranchAllocationItem to fetch. */ where: BranchAllocationItemWhereUniqueInput } /** * BranchAllocationItem findFirst */ export type BranchAllocationItemFindFirstArgs = { /** * Select specific fields to fetch from the BranchAllocationItem */ select?: BranchAllocationItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationItemInclude | null /** * Filter, which BranchAllocationItem to fetch. */ where?: BranchAllocationItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of BranchAllocationItems to fetch. */ orderBy?: BranchAllocationItemOrderByWithRelationInput | BranchAllocationItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for BranchAllocationItems. */ cursor?: BranchAllocationItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` BranchAllocationItems 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` BranchAllocationItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of BranchAllocationItems. */ distinct?: BranchAllocationItemScalarFieldEnum | BranchAllocationItemScalarFieldEnum[] } /** * BranchAllocationItem findFirstOrThrow */ export type BranchAllocationItemFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the BranchAllocationItem */ select?: BranchAllocationItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationItemInclude | null /** * Filter, which BranchAllocationItem to fetch. */ where?: BranchAllocationItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of BranchAllocationItems to fetch. */ orderBy?: BranchAllocationItemOrderByWithRelationInput | BranchAllocationItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for BranchAllocationItems. */ cursor?: BranchAllocationItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` BranchAllocationItems 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` BranchAllocationItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of BranchAllocationItems. */ distinct?: BranchAllocationItemScalarFieldEnum | BranchAllocationItemScalarFieldEnum[] } /** * BranchAllocationItem findMany */ export type BranchAllocationItemFindManyArgs = { /** * Select specific fields to fetch from the BranchAllocationItem */ select?: BranchAllocationItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationItemInclude | null /** * Filter, which BranchAllocationItems to fetch. */ where?: BranchAllocationItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of BranchAllocationItems to fetch. */ orderBy?: BranchAllocationItemOrderByWithRelationInput | BranchAllocationItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing BranchAllocationItems. */ cursor?: BranchAllocationItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` BranchAllocationItems 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` BranchAllocationItems. */ skip?: number distinct?: BranchAllocationItemScalarFieldEnum | BranchAllocationItemScalarFieldEnum[] } /** * BranchAllocationItem create */ export type BranchAllocationItemCreateArgs = { /** * Select specific fields to fetch from the BranchAllocationItem */ select?: BranchAllocationItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationItemInclude | null /** * The data needed to create a BranchAllocationItem. */ data: XOR } /** * BranchAllocationItem createMany */ export type BranchAllocationItemCreateManyArgs = { /** * The data used to create many BranchAllocationItems. */ data: BranchAllocationItemCreateManyInput | BranchAllocationItemCreateManyInput[] skipDuplicates?: boolean } /** * BranchAllocationItem createManyAndReturn */ export type BranchAllocationItemCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the BranchAllocationItem */ select?: BranchAllocationItemSelectCreateManyAndReturn | null /** * The data used to create many BranchAllocationItems. */ data: BranchAllocationItemCreateManyInput | BranchAllocationItemCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationItemIncludeCreateManyAndReturn | null } /** * BranchAllocationItem update */ export type BranchAllocationItemUpdateArgs = { /** * Select specific fields to fetch from the BranchAllocationItem */ select?: BranchAllocationItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationItemInclude | null /** * The data needed to update a BranchAllocationItem. */ data: XOR /** * Choose, which BranchAllocationItem to update. */ where: BranchAllocationItemWhereUniqueInput } /** * BranchAllocationItem updateMany */ export type BranchAllocationItemUpdateManyArgs = { /** * The data used to update BranchAllocationItems. */ data: XOR /** * Filter which BranchAllocationItems to update */ where?: BranchAllocationItemWhereInput } /** * BranchAllocationItem upsert */ export type BranchAllocationItemUpsertArgs = { /** * Select specific fields to fetch from the BranchAllocationItem */ select?: BranchAllocationItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationItemInclude | null /** * The filter to search for the BranchAllocationItem to update in case it exists. */ where: BranchAllocationItemWhereUniqueInput /** * In case the BranchAllocationItem found by the `where` argument doesn't exist, create a new BranchAllocationItem with this data. */ create: XOR /** * In case the BranchAllocationItem was found with the provided `where` argument, update it with this data. */ update: XOR } /** * BranchAllocationItem delete */ export type BranchAllocationItemDeleteArgs = { /** * Select specific fields to fetch from the BranchAllocationItem */ select?: BranchAllocationItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationItemInclude | null /** * Filter which BranchAllocationItem to delete. */ where: BranchAllocationItemWhereUniqueInput } /** * BranchAllocationItem deleteMany */ export type BranchAllocationItemDeleteManyArgs = { /** * Filter which BranchAllocationItems to delete */ where?: BranchAllocationItemWhereInput } /** * BranchAllocationItem without action */ export type BranchAllocationItemDefaultArgs = { /** * Select specific fields to fetch from the BranchAllocationItem */ select?: BranchAllocationItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: BranchAllocationItemInclude | null } /** * Model SmsMessage */ export type AggregateSmsMessage = { _count: SmsMessageCountAggregateOutputType | null _avg: SmsMessageAvgAggregateOutputType | null _sum: SmsMessageSumAggregateOutputType | null _min: SmsMessageMinAggregateOutputType | null _max: SmsMessageMaxAggregateOutputType | null } export type SmsMessageAvgAggregateOutputType = { sentCount: number | null } export type SmsMessageSumAggregateOutputType = { sentCount: number | null } export type SmsMessageMinAggregateOutputType = { id: string | null audience: $Enums.MessageAudience | null recipients: string | null body: string | null sentCount: number | null sentByAdminUserId: string | null createdAt: Date | null } export type SmsMessageMaxAggregateOutputType = { id: string | null audience: $Enums.MessageAudience | null recipients: string | null body: string | null sentCount: number | null sentByAdminUserId: string | null createdAt: Date | null } export type SmsMessageCountAggregateOutputType = { id: number audience: number recipients: number body: number sentCount: number sentByAdminUserId: number createdAt: number _all: number } export type SmsMessageAvgAggregateInputType = { sentCount?: true } export type SmsMessageSumAggregateInputType = { sentCount?: true } export type SmsMessageMinAggregateInputType = { id?: true audience?: true recipients?: true body?: true sentCount?: true sentByAdminUserId?: true createdAt?: true } export type SmsMessageMaxAggregateInputType = { id?: true audience?: true recipients?: true body?: true sentCount?: true sentByAdminUserId?: true createdAt?: true } export type SmsMessageCountAggregateInputType = { id?: true audience?: true recipients?: true body?: true sentCount?: true sentByAdminUserId?: true createdAt?: true _all?: true } export type SmsMessageAggregateArgs = { /** * Filter which SmsMessage to aggregate. */ where?: SmsMessageWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SmsMessages to fetch. */ orderBy?: SmsMessageOrderByWithRelationInput | SmsMessageOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: SmsMessageWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SmsMessages 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` SmsMessages. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned SmsMessages **/ _count?: true | SmsMessageCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: SmsMessageAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: SmsMessageSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: SmsMessageMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: SmsMessageMaxAggregateInputType } export type GetSmsMessageAggregateType = { [P in keyof T & keyof AggregateSmsMessage]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type SmsMessageGroupByArgs = { where?: SmsMessageWhereInput orderBy?: SmsMessageOrderByWithAggregationInput | SmsMessageOrderByWithAggregationInput[] by: SmsMessageScalarFieldEnum[] | SmsMessageScalarFieldEnum having?: SmsMessageScalarWhereWithAggregatesInput take?: number skip?: number _count?: SmsMessageCountAggregateInputType | true _avg?: SmsMessageAvgAggregateInputType _sum?: SmsMessageSumAggregateInputType _min?: SmsMessageMinAggregateInputType _max?: SmsMessageMaxAggregateInputType } export type SmsMessageGroupByOutputType = { id: string audience: $Enums.MessageAudience recipients: string | null body: string sentCount: number sentByAdminUserId: string | null createdAt: Date _count: SmsMessageCountAggregateOutputType | null _avg: SmsMessageAvgAggregateOutputType | null _sum: SmsMessageSumAggregateOutputType | null _min: SmsMessageMinAggregateOutputType | null _max: SmsMessageMaxAggregateOutputType | null } type GetSmsMessageGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof SmsMessageGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type SmsMessageSelect = $Extensions.GetSelect<{ id?: boolean audience?: boolean recipients?: boolean body?: boolean sentCount?: boolean sentByAdminUserId?: boolean createdAt?: boolean sentByAdminUser?: boolean | SmsMessage$sentByAdminUserArgs }, ExtArgs["result"]["smsMessage"]> export type SmsMessageSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean audience?: boolean recipients?: boolean body?: boolean sentCount?: boolean sentByAdminUserId?: boolean createdAt?: boolean sentByAdminUser?: boolean | SmsMessage$sentByAdminUserArgs }, ExtArgs["result"]["smsMessage"]> export type SmsMessageSelectScalar = { id?: boolean audience?: boolean recipients?: boolean body?: boolean sentCount?: boolean sentByAdminUserId?: boolean createdAt?: boolean } export type SmsMessageInclude = { sentByAdminUser?: boolean | SmsMessage$sentByAdminUserArgs } export type SmsMessageIncludeCreateManyAndReturn = { sentByAdminUser?: boolean | SmsMessage$sentByAdminUserArgs } export type $SmsMessagePayload = { name: "SmsMessage" objects: { sentByAdminUser: Prisma.$AdminUserPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string audience: $Enums.MessageAudience /** * Comma-separated recipients for the SINGLE/MULTIPLE audiences. */ recipients: string | null body: string /** * How many numbers the send actually resolved to. */ sentCount: number sentByAdminUserId: string | null createdAt: Date }, ExtArgs["result"]["smsMessage"]> composites: {} } type SmsMessageGetPayload = $Result.GetResult type SmsMessageCountArgs = Omit & { select?: SmsMessageCountAggregateInputType | true } export interface SmsMessageDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['SmsMessage'], meta: { name: 'SmsMessage' } } /** * Find zero or one SmsMessage that matches the filter. * @param {SmsMessageFindUniqueArgs} args - Arguments to find a SmsMessage * @example * // Get one SmsMessage * const smsMessage = await prisma.smsMessage.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__SmsMessageClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one SmsMessage that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {SmsMessageFindUniqueOrThrowArgs} args - Arguments to find a SmsMessage * @example * // Get one SmsMessage * const smsMessage = await prisma.smsMessage.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__SmsMessageClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first SmsMessage 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 {SmsMessageFindFirstArgs} args - Arguments to find a SmsMessage * @example * // Get one SmsMessage * const smsMessage = await prisma.smsMessage.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__SmsMessageClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first SmsMessage 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 {SmsMessageFindFirstOrThrowArgs} args - Arguments to find a SmsMessage * @example * // Get one SmsMessage * const smsMessage = await prisma.smsMessage.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__SmsMessageClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more SmsMessages 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 {SmsMessageFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all SmsMessages * const smsMessages = await prisma.smsMessage.findMany() * * // Get first 10 SmsMessages * const smsMessages = await prisma.smsMessage.findMany({ take: 10 }) * * // Only select the `id` * const smsMessageWithIdOnly = await prisma.smsMessage.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a SmsMessage. * @param {SmsMessageCreateArgs} args - Arguments to create a SmsMessage. * @example * // Create one SmsMessage * const SmsMessage = await prisma.smsMessage.create({ * data: { * // ... data to create a SmsMessage * } * }) * */ create(args: SelectSubset>): Prisma__SmsMessageClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many SmsMessages. * @param {SmsMessageCreateManyArgs} args - Arguments to create many SmsMessages. * @example * // Create many SmsMessages * const smsMessage = await prisma.smsMessage.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many SmsMessages and returns the data saved in the database. * @param {SmsMessageCreateManyAndReturnArgs} args - Arguments to create many SmsMessages. * @example * // Create many SmsMessages * const smsMessage = await prisma.smsMessage.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many SmsMessages and only return the `id` * const smsMessageWithIdOnly = await prisma.smsMessage.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a SmsMessage. * @param {SmsMessageDeleteArgs} args - Arguments to delete one SmsMessage. * @example * // Delete one SmsMessage * const SmsMessage = await prisma.smsMessage.delete({ * where: { * // ... filter to delete one SmsMessage * } * }) * */ delete(args: SelectSubset>): Prisma__SmsMessageClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one SmsMessage. * @param {SmsMessageUpdateArgs} args - Arguments to update one SmsMessage. * @example * // Update one SmsMessage * const smsMessage = await prisma.smsMessage.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__SmsMessageClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more SmsMessages. * @param {SmsMessageDeleteManyArgs} args - Arguments to filter SmsMessages to delete. * @example * // Delete a few SmsMessages * const { count } = await prisma.smsMessage.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more SmsMessages. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SmsMessageUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many SmsMessages * const smsMessage = await prisma.smsMessage.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one SmsMessage. * @param {SmsMessageUpsertArgs} args - Arguments to update or create a SmsMessage. * @example * // Update or create a SmsMessage * const smsMessage = await prisma.smsMessage.upsert({ * create: { * // ... data to create a SmsMessage * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the SmsMessage we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__SmsMessageClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of SmsMessages. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SmsMessageCountArgs} args - Arguments to filter SmsMessages to count. * @example * // Count the number of SmsMessages * const count = await prisma.smsMessage.count({ * where: { * // ... the filter for the SmsMessages we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a SmsMessage. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SmsMessageAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by SmsMessage. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SmsMessageGroupByArgs} 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 SmsMessageGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: SmsMessageGroupByArgs['orderBy'] } : { orderBy?: SmsMessageGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetSmsMessageGroupByPayload : Prisma.PrismaPromise /** * Fields of the SmsMessage model */ readonly fields: SmsMessageFieldRefs; } /** * The delegate class that acts as a "Promise-like" for SmsMessage. * 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__SmsMessageClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" sentByAdminUser = {}>(args?: Subset>): Prisma__AdminUserClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the SmsMessage model */ interface SmsMessageFieldRefs { readonly id: FieldRef<"SmsMessage", 'String'> readonly audience: FieldRef<"SmsMessage", 'MessageAudience'> readonly recipients: FieldRef<"SmsMessage", 'String'> readonly body: FieldRef<"SmsMessage", 'String'> readonly sentCount: FieldRef<"SmsMessage", 'Int'> readonly sentByAdminUserId: FieldRef<"SmsMessage", 'String'> readonly createdAt: FieldRef<"SmsMessage", 'DateTime'> } // Custom InputTypes /** * SmsMessage findUnique */ export type SmsMessageFindUniqueArgs = { /** * Select specific fields to fetch from the SmsMessage */ select?: SmsMessageSelect | null /** * Choose, which related nodes to fetch as well */ include?: SmsMessageInclude | null /** * Filter, which SmsMessage to fetch. */ where: SmsMessageWhereUniqueInput } /** * SmsMessage findUniqueOrThrow */ export type SmsMessageFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the SmsMessage */ select?: SmsMessageSelect | null /** * Choose, which related nodes to fetch as well */ include?: SmsMessageInclude | null /** * Filter, which SmsMessage to fetch. */ where: SmsMessageWhereUniqueInput } /** * SmsMessage findFirst */ export type SmsMessageFindFirstArgs = { /** * Select specific fields to fetch from the SmsMessage */ select?: SmsMessageSelect | null /** * Choose, which related nodes to fetch as well */ include?: SmsMessageInclude | null /** * Filter, which SmsMessage to fetch. */ where?: SmsMessageWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SmsMessages to fetch. */ orderBy?: SmsMessageOrderByWithRelationInput | SmsMessageOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for SmsMessages. */ cursor?: SmsMessageWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SmsMessages 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` SmsMessages. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of SmsMessages. */ distinct?: SmsMessageScalarFieldEnum | SmsMessageScalarFieldEnum[] } /** * SmsMessage findFirstOrThrow */ export type SmsMessageFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the SmsMessage */ select?: SmsMessageSelect | null /** * Choose, which related nodes to fetch as well */ include?: SmsMessageInclude | null /** * Filter, which SmsMessage to fetch. */ where?: SmsMessageWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SmsMessages to fetch. */ orderBy?: SmsMessageOrderByWithRelationInput | SmsMessageOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for SmsMessages. */ cursor?: SmsMessageWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SmsMessages 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` SmsMessages. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of SmsMessages. */ distinct?: SmsMessageScalarFieldEnum | SmsMessageScalarFieldEnum[] } /** * SmsMessage findMany */ export type SmsMessageFindManyArgs = { /** * Select specific fields to fetch from the SmsMessage */ select?: SmsMessageSelect | null /** * Choose, which related nodes to fetch as well */ include?: SmsMessageInclude | null /** * Filter, which SmsMessages to fetch. */ where?: SmsMessageWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of SmsMessages to fetch. */ orderBy?: SmsMessageOrderByWithRelationInput | SmsMessageOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing SmsMessages. */ cursor?: SmsMessageWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` SmsMessages 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` SmsMessages. */ skip?: number distinct?: SmsMessageScalarFieldEnum | SmsMessageScalarFieldEnum[] } /** * SmsMessage create */ export type SmsMessageCreateArgs = { /** * Select specific fields to fetch from the SmsMessage */ select?: SmsMessageSelect | null /** * Choose, which related nodes to fetch as well */ include?: SmsMessageInclude | null /** * The data needed to create a SmsMessage. */ data: XOR } /** * SmsMessage createMany */ export type SmsMessageCreateManyArgs = { /** * The data used to create many SmsMessages. */ data: SmsMessageCreateManyInput | SmsMessageCreateManyInput[] skipDuplicates?: boolean } /** * SmsMessage createManyAndReturn */ export type SmsMessageCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the SmsMessage */ select?: SmsMessageSelectCreateManyAndReturn | null /** * The data used to create many SmsMessages. */ data: SmsMessageCreateManyInput | SmsMessageCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: SmsMessageIncludeCreateManyAndReturn | null } /** * SmsMessage update */ export type SmsMessageUpdateArgs = { /** * Select specific fields to fetch from the SmsMessage */ select?: SmsMessageSelect | null /** * Choose, which related nodes to fetch as well */ include?: SmsMessageInclude | null /** * The data needed to update a SmsMessage. */ data: XOR /** * Choose, which SmsMessage to update. */ where: SmsMessageWhereUniqueInput } /** * SmsMessage updateMany */ export type SmsMessageUpdateManyArgs = { /** * The data used to update SmsMessages. */ data: XOR /** * Filter which SmsMessages to update */ where?: SmsMessageWhereInput } /** * SmsMessage upsert */ export type SmsMessageUpsertArgs = { /** * Select specific fields to fetch from the SmsMessage */ select?: SmsMessageSelect | null /** * Choose, which related nodes to fetch as well */ include?: SmsMessageInclude | null /** * The filter to search for the SmsMessage to update in case it exists. */ where: SmsMessageWhereUniqueInput /** * In case the SmsMessage found by the `where` argument doesn't exist, create a new SmsMessage with this data. */ create: XOR /** * In case the SmsMessage was found with the provided `where` argument, update it with this data. */ update: XOR } /** * SmsMessage delete */ export type SmsMessageDeleteArgs = { /** * Select specific fields to fetch from the SmsMessage */ select?: SmsMessageSelect | null /** * Choose, which related nodes to fetch as well */ include?: SmsMessageInclude | null /** * Filter which SmsMessage to delete. */ where: SmsMessageWhereUniqueInput } /** * SmsMessage deleteMany */ export type SmsMessageDeleteManyArgs = { /** * Filter which SmsMessages to delete */ where?: SmsMessageWhereInput } /** * SmsMessage.sentByAdminUser */ export type SmsMessage$sentByAdminUserArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null where?: AdminUserWhereInput } /** * SmsMessage without action */ export type SmsMessageDefaultArgs = { /** * Select specific fields to fetch from the SmsMessage */ select?: SmsMessageSelect | null /** * Choose, which related nodes to fetch as well */ include?: SmsMessageInclude | null } /** * Model Notification */ export type AggregateNotification = { _count: NotificationCountAggregateOutputType | null _min: NotificationMinAggregateOutputType | null _max: NotificationMaxAggregateOutputType | null } export type NotificationMinAggregateOutputType = { id: string | null title: string | null body: string | null audience: $Enums.MessageAudience | null sentByAdminUserId: string | null createdAt: Date | null } export type NotificationMaxAggregateOutputType = { id: string | null title: string | null body: string | null audience: $Enums.MessageAudience | null sentByAdminUserId: string | null createdAt: Date | null } export type NotificationCountAggregateOutputType = { id: number title: number body: number audience: number sentByAdminUserId: number createdAt: number _all: number } export type NotificationMinAggregateInputType = { id?: true title?: true body?: true audience?: true sentByAdminUserId?: true createdAt?: true } export type NotificationMaxAggregateInputType = { id?: true title?: true body?: true audience?: true sentByAdminUserId?: true createdAt?: true } export type NotificationCountAggregateInputType = { id?: true title?: true body?: true audience?: true sentByAdminUserId?: true createdAt?: true _all?: true } export type NotificationAggregateArgs = { /** * Filter which Notification to aggregate. */ where?: NotificationWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Notifications to fetch. */ orderBy?: NotificationOrderByWithRelationInput | NotificationOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: NotificationWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Notifications 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` Notifications. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Notifications **/ _count?: true | NotificationCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: NotificationMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: NotificationMaxAggregateInputType } export type GetNotificationAggregateType = { [P in keyof T & keyof AggregateNotification]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type NotificationGroupByArgs = { where?: NotificationWhereInput orderBy?: NotificationOrderByWithAggregationInput | NotificationOrderByWithAggregationInput[] by: NotificationScalarFieldEnum[] | NotificationScalarFieldEnum having?: NotificationScalarWhereWithAggregatesInput take?: number skip?: number _count?: NotificationCountAggregateInputType | true _min?: NotificationMinAggregateInputType _max?: NotificationMaxAggregateInputType } export type NotificationGroupByOutputType = { id: string title: string body: string audience: $Enums.MessageAudience sentByAdminUserId: string | null createdAt: Date _count: NotificationCountAggregateOutputType | null _min: NotificationMinAggregateOutputType | null _max: NotificationMaxAggregateOutputType | null } type GetNotificationGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof NotificationGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type NotificationSelect = $Extensions.GetSelect<{ id?: boolean title?: boolean body?: boolean audience?: boolean sentByAdminUserId?: boolean createdAt?: boolean sentByAdminUser?: boolean | Notification$sentByAdminUserArgs recipients?: boolean | Notification$recipientsArgs _count?: boolean | NotificationCountOutputTypeDefaultArgs }, ExtArgs["result"]["notification"]> export type NotificationSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean title?: boolean body?: boolean audience?: boolean sentByAdminUserId?: boolean createdAt?: boolean sentByAdminUser?: boolean | Notification$sentByAdminUserArgs }, ExtArgs["result"]["notification"]> export type NotificationSelectScalar = { id?: boolean title?: boolean body?: boolean audience?: boolean sentByAdminUserId?: boolean createdAt?: boolean } export type NotificationInclude = { sentByAdminUser?: boolean | Notification$sentByAdminUserArgs recipients?: boolean | Notification$recipientsArgs _count?: boolean | NotificationCountOutputTypeDefaultArgs } export type NotificationIncludeCreateManyAndReturn = { sentByAdminUser?: boolean | Notification$sentByAdminUserArgs } export type $NotificationPayload = { name: "Notification" objects: { sentByAdminUser: Prisma.$AdminUserPayload | null recipients: Prisma.$NotificationRecipientPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string title: string body: string audience: $Enums.MessageAudience sentByAdminUserId: string | null createdAt: Date }, ExtArgs["result"]["notification"]> composites: {} } type NotificationGetPayload = $Result.GetResult type NotificationCountArgs = Omit & { select?: NotificationCountAggregateInputType | true } export interface NotificationDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Notification'], meta: { name: 'Notification' } } /** * Find zero or one Notification that matches the filter. * @param {NotificationFindUniqueArgs} args - Arguments to find a Notification * @example * // Get one Notification * const notification = await prisma.notification.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__NotificationClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Notification that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {NotificationFindUniqueOrThrowArgs} args - Arguments to find a Notification * @example * // Get one Notification * const notification = await prisma.notification.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__NotificationClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Notification 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 {NotificationFindFirstArgs} args - Arguments to find a Notification * @example * // Get one Notification * const notification = await prisma.notification.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__NotificationClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Notification 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 {NotificationFindFirstOrThrowArgs} args - Arguments to find a Notification * @example * // Get one Notification * const notification = await prisma.notification.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__NotificationClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Notifications 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 {NotificationFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Notifications * const notifications = await prisma.notification.findMany() * * // Get first 10 Notifications * const notifications = await prisma.notification.findMany({ take: 10 }) * * // Only select the `id` * const notificationWithIdOnly = await prisma.notification.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Notification. * @param {NotificationCreateArgs} args - Arguments to create a Notification. * @example * // Create one Notification * const Notification = await prisma.notification.create({ * data: { * // ... data to create a Notification * } * }) * */ create(args: SelectSubset>): Prisma__NotificationClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Notifications. * @param {NotificationCreateManyArgs} args - Arguments to create many Notifications. * @example * // Create many Notifications * const notification = await prisma.notification.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Notifications and returns the data saved in the database. * @param {NotificationCreateManyAndReturnArgs} args - Arguments to create many Notifications. * @example * // Create many Notifications * const notification = await prisma.notification.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Notifications and only return the `id` * const notificationWithIdOnly = await prisma.notification.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Notification. * @param {NotificationDeleteArgs} args - Arguments to delete one Notification. * @example * // Delete one Notification * const Notification = await prisma.notification.delete({ * where: { * // ... filter to delete one Notification * } * }) * */ delete(args: SelectSubset>): Prisma__NotificationClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Notification. * @param {NotificationUpdateArgs} args - Arguments to update one Notification. * @example * // Update one Notification * const notification = await prisma.notification.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__NotificationClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Notifications. * @param {NotificationDeleteManyArgs} args - Arguments to filter Notifications to delete. * @example * // Delete a few Notifications * const { count } = await prisma.notification.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Notifications. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NotificationUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Notifications * const notification = await prisma.notification.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Notification. * @param {NotificationUpsertArgs} args - Arguments to update or create a Notification. * @example * // Update or create a Notification * const notification = await prisma.notification.upsert({ * create: { * // ... data to create a Notification * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Notification we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__NotificationClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Notifications. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NotificationCountArgs} args - Arguments to filter Notifications to count. * @example * // Count the number of Notifications * const count = await prisma.notification.count({ * where: { * // ... the filter for the Notifications we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Notification. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NotificationAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by Notification. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NotificationGroupByArgs} 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 NotificationGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: NotificationGroupByArgs['orderBy'] } : { orderBy?: NotificationGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetNotificationGroupByPayload : Prisma.PrismaPromise /** * Fields of the Notification model */ readonly fields: NotificationFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Notification. * 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__NotificationClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" sentByAdminUser = {}>(args?: Subset>): Prisma__AdminUserClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> recipients = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the Notification model */ interface NotificationFieldRefs { readonly id: FieldRef<"Notification", 'String'> readonly title: FieldRef<"Notification", 'String'> readonly body: FieldRef<"Notification", 'String'> readonly audience: FieldRef<"Notification", 'MessageAudience'> readonly sentByAdminUserId: FieldRef<"Notification", 'String'> readonly createdAt: FieldRef<"Notification", 'DateTime'> } // Custom InputTypes /** * Notification findUnique */ export type NotificationFindUniqueArgs = { /** * Select specific fields to fetch from the Notification */ select?: NotificationSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationInclude | null /** * Filter, which Notification to fetch. */ where: NotificationWhereUniqueInput } /** * Notification findUniqueOrThrow */ export type NotificationFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Notification */ select?: NotificationSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationInclude | null /** * Filter, which Notification to fetch. */ where: NotificationWhereUniqueInput } /** * Notification findFirst */ export type NotificationFindFirstArgs = { /** * Select specific fields to fetch from the Notification */ select?: NotificationSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationInclude | null /** * Filter, which Notification to fetch. */ where?: NotificationWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Notifications to fetch. */ orderBy?: NotificationOrderByWithRelationInput | NotificationOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Notifications. */ cursor?: NotificationWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Notifications 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` Notifications. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Notifications. */ distinct?: NotificationScalarFieldEnum | NotificationScalarFieldEnum[] } /** * Notification findFirstOrThrow */ export type NotificationFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Notification */ select?: NotificationSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationInclude | null /** * Filter, which Notification to fetch. */ where?: NotificationWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Notifications to fetch. */ orderBy?: NotificationOrderByWithRelationInput | NotificationOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Notifications. */ cursor?: NotificationWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Notifications 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` Notifications. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Notifications. */ distinct?: NotificationScalarFieldEnum | NotificationScalarFieldEnum[] } /** * Notification findMany */ export type NotificationFindManyArgs = { /** * Select specific fields to fetch from the Notification */ select?: NotificationSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationInclude | null /** * Filter, which Notifications to fetch. */ where?: NotificationWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Notifications to fetch. */ orderBy?: NotificationOrderByWithRelationInput | NotificationOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Notifications. */ cursor?: NotificationWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Notifications 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` Notifications. */ skip?: number distinct?: NotificationScalarFieldEnum | NotificationScalarFieldEnum[] } /** * Notification create */ export type NotificationCreateArgs = { /** * Select specific fields to fetch from the Notification */ select?: NotificationSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationInclude | null /** * The data needed to create a Notification. */ data: XOR } /** * Notification createMany */ export type NotificationCreateManyArgs = { /** * The data used to create many Notifications. */ data: NotificationCreateManyInput | NotificationCreateManyInput[] skipDuplicates?: boolean } /** * Notification createManyAndReturn */ export type NotificationCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Notification */ select?: NotificationSelectCreateManyAndReturn | null /** * The data used to create many Notifications. */ data: NotificationCreateManyInput | NotificationCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: NotificationIncludeCreateManyAndReturn | null } /** * Notification update */ export type NotificationUpdateArgs = { /** * Select specific fields to fetch from the Notification */ select?: NotificationSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationInclude | null /** * The data needed to update a Notification. */ data: XOR /** * Choose, which Notification to update. */ where: NotificationWhereUniqueInput } /** * Notification updateMany */ export type NotificationUpdateManyArgs = { /** * The data used to update Notifications. */ data: XOR /** * Filter which Notifications to update */ where?: NotificationWhereInput } /** * Notification upsert */ export type NotificationUpsertArgs = { /** * Select specific fields to fetch from the Notification */ select?: NotificationSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationInclude | null /** * The filter to search for the Notification to update in case it exists. */ where: NotificationWhereUniqueInput /** * In case the Notification found by the `where` argument doesn't exist, create a new Notification with this data. */ create: XOR /** * In case the Notification was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Notification delete */ export type NotificationDeleteArgs = { /** * Select specific fields to fetch from the Notification */ select?: NotificationSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationInclude | null /** * Filter which Notification to delete. */ where: NotificationWhereUniqueInput } /** * Notification deleteMany */ export type NotificationDeleteManyArgs = { /** * Filter which Notifications to delete */ where?: NotificationWhereInput } /** * Notification.sentByAdminUser */ export type Notification$sentByAdminUserArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null where?: AdminUserWhereInput } /** * Notification.recipients */ export type Notification$recipientsArgs = { /** * Select specific fields to fetch from the NotificationRecipient */ select?: NotificationRecipientSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationRecipientInclude | null where?: NotificationRecipientWhereInput orderBy?: NotificationRecipientOrderByWithRelationInput | NotificationRecipientOrderByWithRelationInput[] cursor?: NotificationRecipientWhereUniqueInput take?: number skip?: number distinct?: NotificationRecipientScalarFieldEnum | NotificationRecipientScalarFieldEnum[] } /** * Notification without action */ export type NotificationDefaultArgs = { /** * Select specific fields to fetch from the Notification */ select?: NotificationSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationInclude | null } /** * Model NotificationRecipient */ export type AggregateNotificationRecipient = { _count: NotificationRecipientCountAggregateOutputType | null _min: NotificationRecipientMinAggregateOutputType | null _max: NotificationRecipientMaxAggregateOutputType | null } export type NotificationRecipientMinAggregateOutputType = { id: string | null notificationId: string | null customerId: string | null readAt: Date | null } export type NotificationRecipientMaxAggregateOutputType = { id: string | null notificationId: string | null customerId: string | null readAt: Date | null } export type NotificationRecipientCountAggregateOutputType = { id: number notificationId: number customerId: number readAt: number _all: number } export type NotificationRecipientMinAggregateInputType = { id?: true notificationId?: true customerId?: true readAt?: true } export type NotificationRecipientMaxAggregateInputType = { id?: true notificationId?: true customerId?: true readAt?: true } export type NotificationRecipientCountAggregateInputType = { id?: true notificationId?: true customerId?: true readAt?: true _all?: true } export type NotificationRecipientAggregateArgs = { /** * Filter which NotificationRecipient to aggregate. */ where?: NotificationRecipientWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of NotificationRecipients to fetch. */ orderBy?: NotificationRecipientOrderByWithRelationInput | NotificationRecipientOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: NotificationRecipientWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` NotificationRecipients 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` NotificationRecipients. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned NotificationRecipients **/ _count?: true | NotificationRecipientCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: NotificationRecipientMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: NotificationRecipientMaxAggregateInputType } export type GetNotificationRecipientAggregateType = { [P in keyof T & keyof AggregateNotificationRecipient]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type NotificationRecipientGroupByArgs = { where?: NotificationRecipientWhereInput orderBy?: NotificationRecipientOrderByWithAggregationInput | NotificationRecipientOrderByWithAggregationInput[] by: NotificationRecipientScalarFieldEnum[] | NotificationRecipientScalarFieldEnum having?: NotificationRecipientScalarWhereWithAggregatesInput take?: number skip?: number _count?: NotificationRecipientCountAggregateInputType | true _min?: NotificationRecipientMinAggregateInputType _max?: NotificationRecipientMaxAggregateInputType } export type NotificationRecipientGroupByOutputType = { id: string notificationId: string customerId: string readAt: Date | null _count: NotificationRecipientCountAggregateOutputType | null _min: NotificationRecipientMinAggregateOutputType | null _max: NotificationRecipientMaxAggregateOutputType | null } type GetNotificationRecipientGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof NotificationRecipientGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type NotificationRecipientSelect = $Extensions.GetSelect<{ id?: boolean notificationId?: boolean customerId?: boolean readAt?: boolean notification?: boolean | NotificationDefaultArgs customer?: boolean | CustomerDefaultArgs }, ExtArgs["result"]["notificationRecipient"]> export type NotificationRecipientSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean notificationId?: boolean customerId?: boolean readAt?: boolean notification?: boolean | NotificationDefaultArgs customer?: boolean | CustomerDefaultArgs }, ExtArgs["result"]["notificationRecipient"]> export type NotificationRecipientSelectScalar = { id?: boolean notificationId?: boolean customerId?: boolean readAt?: boolean } export type NotificationRecipientInclude = { notification?: boolean | NotificationDefaultArgs customer?: boolean | CustomerDefaultArgs } export type NotificationRecipientIncludeCreateManyAndReturn = { notification?: boolean | NotificationDefaultArgs customer?: boolean | CustomerDefaultArgs } export type $NotificationRecipientPayload = { name: "NotificationRecipient" objects: { notification: Prisma.$NotificationPayload customer: Prisma.$CustomerPayload } scalars: $Extensions.GetPayloadResult<{ id: string notificationId: string customerId: string readAt: Date | null }, ExtArgs["result"]["notificationRecipient"]> composites: {} } type NotificationRecipientGetPayload = $Result.GetResult type NotificationRecipientCountArgs = Omit & { select?: NotificationRecipientCountAggregateInputType | true } export interface NotificationRecipientDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['NotificationRecipient'], meta: { name: 'NotificationRecipient' } } /** * Find zero or one NotificationRecipient that matches the filter. * @param {NotificationRecipientFindUniqueArgs} args - Arguments to find a NotificationRecipient * @example * // Get one NotificationRecipient * const notificationRecipient = await prisma.notificationRecipient.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__NotificationRecipientClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one NotificationRecipient that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {NotificationRecipientFindUniqueOrThrowArgs} args - Arguments to find a NotificationRecipient * @example * // Get one NotificationRecipient * const notificationRecipient = await prisma.notificationRecipient.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__NotificationRecipientClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first NotificationRecipient 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 {NotificationRecipientFindFirstArgs} args - Arguments to find a NotificationRecipient * @example * // Get one NotificationRecipient * const notificationRecipient = await prisma.notificationRecipient.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__NotificationRecipientClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first NotificationRecipient 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 {NotificationRecipientFindFirstOrThrowArgs} args - Arguments to find a NotificationRecipient * @example * // Get one NotificationRecipient * const notificationRecipient = await prisma.notificationRecipient.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__NotificationRecipientClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more NotificationRecipients 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 {NotificationRecipientFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all NotificationRecipients * const notificationRecipients = await prisma.notificationRecipient.findMany() * * // Get first 10 NotificationRecipients * const notificationRecipients = await prisma.notificationRecipient.findMany({ take: 10 }) * * // Only select the `id` * const notificationRecipientWithIdOnly = await prisma.notificationRecipient.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a NotificationRecipient. * @param {NotificationRecipientCreateArgs} args - Arguments to create a NotificationRecipient. * @example * // Create one NotificationRecipient * const NotificationRecipient = await prisma.notificationRecipient.create({ * data: { * // ... data to create a NotificationRecipient * } * }) * */ create(args: SelectSubset>): Prisma__NotificationRecipientClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many NotificationRecipients. * @param {NotificationRecipientCreateManyArgs} args - Arguments to create many NotificationRecipients. * @example * // Create many NotificationRecipients * const notificationRecipient = await prisma.notificationRecipient.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many NotificationRecipients and returns the data saved in the database. * @param {NotificationRecipientCreateManyAndReturnArgs} args - Arguments to create many NotificationRecipients. * @example * // Create many NotificationRecipients * const notificationRecipient = await prisma.notificationRecipient.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many NotificationRecipients and only return the `id` * const notificationRecipientWithIdOnly = await prisma.notificationRecipient.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a NotificationRecipient. * @param {NotificationRecipientDeleteArgs} args - Arguments to delete one NotificationRecipient. * @example * // Delete one NotificationRecipient * const NotificationRecipient = await prisma.notificationRecipient.delete({ * where: { * // ... filter to delete one NotificationRecipient * } * }) * */ delete(args: SelectSubset>): Prisma__NotificationRecipientClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one NotificationRecipient. * @param {NotificationRecipientUpdateArgs} args - Arguments to update one NotificationRecipient. * @example * // Update one NotificationRecipient * const notificationRecipient = await prisma.notificationRecipient.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__NotificationRecipientClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more NotificationRecipients. * @param {NotificationRecipientDeleteManyArgs} args - Arguments to filter NotificationRecipients to delete. * @example * // Delete a few NotificationRecipients * const { count } = await prisma.notificationRecipient.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more NotificationRecipients. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NotificationRecipientUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many NotificationRecipients * const notificationRecipient = await prisma.notificationRecipient.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one NotificationRecipient. * @param {NotificationRecipientUpsertArgs} args - Arguments to update or create a NotificationRecipient. * @example * // Update or create a NotificationRecipient * const notificationRecipient = await prisma.notificationRecipient.upsert({ * create: { * // ... data to create a NotificationRecipient * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the NotificationRecipient we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__NotificationRecipientClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of NotificationRecipients. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NotificationRecipientCountArgs} args - Arguments to filter NotificationRecipients to count. * @example * // Count the number of NotificationRecipients * const count = await prisma.notificationRecipient.count({ * where: { * // ... the filter for the NotificationRecipients we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a NotificationRecipient. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NotificationRecipientAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by NotificationRecipient. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NotificationRecipientGroupByArgs} 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 NotificationRecipientGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: NotificationRecipientGroupByArgs['orderBy'] } : { orderBy?: NotificationRecipientGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetNotificationRecipientGroupByPayload : Prisma.PrismaPromise /** * Fields of the NotificationRecipient model */ readonly fields: NotificationRecipientFieldRefs; } /** * The delegate class that acts as a "Promise-like" for NotificationRecipient. * 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__NotificationRecipientClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" notification = {}>(args?: Subset>): Prisma__NotificationClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> customer = {}>(args?: Subset>): Prisma__CustomerClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the NotificationRecipient model */ interface NotificationRecipientFieldRefs { readonly id: FieldRef<"NotificationRecipient", 'String'> readonly notificationId: FieldRef<"NotificationRecipient", 'String'> readonly customerId: FieldRef<"NotificationRecipient", 'String'> readonly readAt: FieldRef<"NotificationRecipient", 'DateTime'> } // Custom InputTypes /** * NotificationRecipient findUnique */ export type NotificationRecipientFindUniqueArgs = { /** * Select specific fields to fetch from the NotificationRecipient */ select?: NotificationRecipientSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationRecipientInclude | null /** * Filter, which NotificationRecipient to fetch. */ where: NotificationRecipientWhereUniqueInput } /** * NotificationRecipient findUniqueOrThrow */ export type NotificationRecipientFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the NotificationRecipient */ select?: NotificationRecipientSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationRecipientInclude | null /** * Filter, which NotificationRecipient to fetch. */ where: NotificationRecipientWhereUniqueInput } /** * NotificationRecipient findFirst */ export type NotificationRecipientFindFirstArgs = { /** * Select specific fields to fetch from the NotificationRecipient */ select?: NotificationRecipientSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationRecipientInclude | null /** * Filter, which NotificationRecipient to fetch. */ where?: NotificationRecipientWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of NotificationRecipients to fetch. */ orderBy?: NotificationRecipientOrderByWithRelationInput | NotificationRecipientOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for NotificationRecipients. */ cursor?: NotificationRecipientWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` NotificationRecipients 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` NotificationRecipients. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of NotificationRecipients. */ distinct?: NotificationRecipientScalarFieldEnum | NotificationRecipientScalarFieldEnum[] } /** * NotificationRecipient findFirstOrThrow */ export type NotificationRecipientFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the NotificationRecipient */ select?: NotificationRecipientSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationRecipientInclude | null /** * Filter, which NotificationRecipient to fetch. */ where?: NotificationRecipientWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of NotificationRecipients to fetch. */ orderBy?: NotificationRecipientOrderByWithRelationInput | NotificationRecipientOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for NotificationRecipients. */ cursor?: NotificationRecipientWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` NotificationRecipients 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` NotificationRecipients. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of NotificationRecipients. */ distinct?: NotificationRecipientScalarFieldEnum | NotificationRecipientScalarFieldEnum[] } /** * NotificationRecipient findMany */ export type NotificationRecipientFindManyArgs = { /** * Select specific fields to fetch from the NotificationRecipient */ select?: NotificationRecipientSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationRecipientInclude | null /** * Filter, which NotificationRecipients to fetch. */ where?: NotificationRecipientWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of NotificationRecipients to fetch. */ orderBy?: NotificationRecipientOrderByWithRelationInput | NotificationRecipientOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing NotificationRecipients. */ cursor?: NotificationRecipientWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` NotificationRecipients 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` NotificationRecipients. */ skip?: number distinct?: NotificationRecipientScalarFieldEnum | NotificationRecipientScalarFieldEnum[] } /** * NotificationRecipient create */ export type NotificationRecipientCreateArgs = { /** * Select specific fields to fetch from the NotificationRecipient */ select?: NotificationRecipientSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationRecipientInclude | null /** * The data needed to create a NotificationRecipient. */ data: XOR } /** * NotificationRecipient createMany */ export type NotificationRecipientCreateManyArgs = { /** * The data used to create many NotificationRecipients. */ data: NotificationRecipientCreateManyInput | NotificationRecipientCreateManyInput[] skipDuplicates?: boolean } /** * NotificationRecipient createManyAndReturn */ export type NotificationRecipientCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the NotificationRecipient */ select?: NotificationRecipientSelectCreateManyAndReturn | null /** * The data used to create many NotificationRecipients. */ data: NotificationRecipientCreateManyInput | NotificationRecipientCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: NotificationRecipientIncludeCreateManyAndReturn | null } /** * NotificationRecipient update */ export type NotificationRecipientUpdateArgs = { /** * Select specific fields to fetch from the NotificationRecipient */ select?: NotificationRecipientSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationRecipientInclude | null /** * The data needed to update a NotificationRecipient. */ data: XOR /** * Choose, which NotificationRecipient to update. */ where: NotificationRecipientWhereUniqueInput } /** * NotificationRecipient updateMany */ export type NotificationRecipientUpdateManyArgs = { /** * The data used to update NotificationRecipients. */ data: XOR /** * Filter which NotificationRecipients to update */ where?: NotificationRecipientWhereInput } /** * NotificationRecipient upsert */ export type NotificationRecipientUpsertArgs = { /** * Select specific fields to fetch from the NotificationRecipient */ select?: NotificationRecipientSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationRecipientInclude | null /** * The filter to search for the NotificationRecipient to update in case it exists. */ where: NotificationRecipientWhereUniqueInput /** * In case the NotificationRecipient found by the `where` argument doesn't exist, create a new NotificationRecipient with this data. */ create: XOR /** * In case the NotificationRecipient was found with the provided `where` argument, update it with this data. */ update: XOR } /** * NotificationRecipient delete */ export type NotificationRecipientDeleteArgs = { /** * Select specific fields to fetch from the NotificationRecipient */ select?: NotificationRecipientSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationRecipientInclude | null /** * Filter which NotificationRecipient to delete. */ where: NotificationRecipientWhereUniqueInput } /** * NotificationRecipient deleteMany */ export type NotificationRecipientDeleteManyArgs = { /** * Filter which NotificationRecipients to delete */ where?: NotificationRecipientWhereInput } /** * NotificationRecipient without action */ export type NotificationRecipientDefaultArgs = { /** * Select specific fields to fetch from the NotificationRecipient */ select?: NotificationRecipientSelect | null /** * Choose, which related nodes to fetch as well */ include?: NotificationRecipientInclude | null } /** * Model NewsletterSubscriber */ export type AggregateNewsletterSubscriber = { _count: NewsletterSubscriberCountAggregateOutputType | null _min: NewsletterSubscriberMinAggregateOutputType | null _max: NewsletterSubscriberMaxAggregateOutputType | null } export type NewsletterSubscriberMinAggregateOutputType = { id: string | null email: string | null mobile: string | null createdAt: Date | null } export type NewsletterSubscriberMaxAggregateOutputType = { id: string | null email: string | null mobile: string | null createdAt: Date | null } export type NewsletterSubscriberCountAggregateOutputType = { id: number email: number mobile: number createdAt: number _all: number } export type NewsletterSubscriberMinAggregateInputType = { id?: true email?: true mobile?: true createdAt?: true } export type NewsletterSubscriberMaxAggregateInputType = { id?: true email?: true mobile?: true createdAt?: true } export type NewsletterSubscriberCountAggregateInputType = { id?: true email?: true mobile?: true createdAt?: true _all?: true } export type NewsletterSubscriberAggregateArgs = { /** * Filter which NewsletterSubscriber to aggregate. */ where?: NewsletterSubscriberWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of NewsletterSubscribers to fetch. */ orderBy?: NewsletterSubscriberOrderByWithRelationInput | NewsletterSubscriberOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: NewsletterSubscriberWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` NewsletterSubscribers 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` NewsletterSubscribers. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned NewsletterSubscribers **/ _count?: true | NewsletterSubscriberCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: NewsletterSubscriberMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: NewsletterSubscriberMaxAggregateInputType } export type GetNewsletterSubscriberAggregateType = { [P in keyof T & keyof AggregateNewsletterSubscriber]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type NewsletterSubscriberGroupByArgs = { where?: NewsletterSubscriberWhereInput orderBy?: NewsletterSubscriberOrderByWithAggregationInput | NewsletterSubscriberOrderByWithAggregationInput[] by: NewsletterSubscriberScalarFieldEnum[] | NewsletterSubscriberScalarFieldEnum having?: NewsletterSubscriberScalarWhereWithAggregatesInput take?: number skip?: number _count?: NewsletterSubscriberCountAggregateInputType | true _min?: NewsletterSubscriberMinAggregateInputType _max?: NewsletterSubscriberMaxAggregateInputType } export type NewsletterSubscriberGroupByOutputType = { id: string email: string | null mobile: string | null createdAt: Date _count: NewsletterSubscriberCountAggregateOutputType | null _min: NewsletterSubscriberMinAggregateOutputType | null _max: NewsletterSubscriberMaxAggregateOutputType | null } type GetNewsletterSubscriberGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof NewsletterSubscriberGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type NewsletterSubscriberSelect = $Extensions.GetSelect<{ id?: boolean email?: boolean mobile?: boolean createdAt?: boolean }, ExtArgs["result"]["newsletterSubscriber"]> export type NewsletterSubscriberSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean email?: boolean mobile?: boolean createdAt?: boolean }, ExtArgs["result"]["newsletterSubscriber"]> export type NewsletterSubscriberSelectScalar = { id?: boolean email?: boolean mobile?: boolean createdAt?: boolean } export type $NewsletterSubscriberPayload = { name: "NewsletterSubscriber" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string email: string | null mobile: string | null createdAt: Date }, ExtArgs["result"]["newsletterSubscriber"]> composites: {} } type NewsletterSubscriberGetPayload = $Result.GetResult type NewsletterSubscriberCountArgs = Omit & { select?: NewsletterSubscriberCountAggregateInputType | true } export interface NewsletterSubscriberDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['NewsletterSubscriber'], meta: { name: 'NewsletterSubscriber' } } /** * Find zero or one NewsletterSubscriber that matches the filter. * @param {NewsletterSubscriberFindUniqueArgs} args - Arguments to find a NewsletterSubscriber * @example * // Get one NewsletterSubscriber * const newsletterSubscriber = await prisma.newsletterSubscriber.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__NewsletterSubscriberClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one NewsletterSubscriber that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {NewsletterSubscriberFindUniqueOrThrowArgs} args - Arguments to find a NewsletterSubscriber * @example * // Get one NewsletterSubscriber * const newsletterSubscriber = await prisma.newsletterSubscriber.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__NewsletterSubscriberClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first NewsletterSubscriber 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 {NewsletterSubscriberFindFirstArgs} args - Arguments to find a NewsletterSubscriber * @example * // Get one NewsletterSubscriber * const newsletterSubscriber = await prisma.newsletterSubscriber.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__NewsletterSubscriberClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first NewsletterSubscriber 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 {NewsletterSubscriberFindFirstOrThrowArgs} args - Arguments to find a NewsletterSubscriber * @example * // Get one NewsletterSubscriber * const newsletterSubscriber = await prisma.newsletterSubscriber.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__NewsletterSubscriberClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more NewsletterSubscribers 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 {NewsletterSubscriberFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all NewsletterSubscribers * const newsletterSubscribers = await prisma.newsletterSubscriber.findMany() * * // Get first 10 NewsletterSubscribers * const newsletterSubscribers = await prisma.newsletterSubscriber.findMany({ take: 10 }) * * // Only select the `id` * const newsletterSubscriberWithIdOnly = await prisma.newsletterSubscriber.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a NewsletterSubscriber. * @param {NewsletterSubscriberCreateArgs} args - Arguments to create a NewsletterSubscriber. * @example * // Create one NewsletterSubscriber * const NewsletterSubscriber = await prisma.newsletterSubscriber.create({ * data: { * // ... data to create a NewsletterSubscriber * } * }) * */ create(args: SelectSubset>): Prisma__NewsletterSubscriberClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many NewsletterSubscribers. * @param {NewsletterSubscriberCreateManyArgs} args - Arguments to create many NewsletterSubscribers. * @example * // Create many NewsletterSubscribers * const newsletterSubscriber = await prisma.newsletterSubscriber.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many NewsletterSubscribers and returns the data saved in the database. * @param {NewsletterSubscriberCreateManyAndReturnArgs} args - Arguments to create many NewsletterSubscribers. * @example * // Create many NewsletterSubscribers * const newsletterSubscriber = await prisma.newsletterSubscriber.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many NewsletterSubscribers and only return the `id` * const newsletterSubscriberWithIdOnly = await prisma.newsletterSubscriber.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a NewsletterSubscriber. * @param {NewsletterSubscriberDeleteArgs} args - Arguments to delete one NewsletterSubscriber. * @example * // Delete one NewsletterSubscriber * const NewsletterSubscriber = await prisma.newsletterSubscriber.delete({ * where: { * // ... filter to delete one NewsletterSubscriber * } * }) * */ delete(args: SelectSubset>): Prisma__NewsletterSubscriberClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one NewsletterSubscriber. * @param {NewsletterSubscriberUpdateArgs} args - Arguments to update one NewsletterSubscriber. * @example * // Update one NewsletterSubscriber * const newsletterSubscriber = await prisma.newsletterSubscriber.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__NewsletterSubscriberClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more NewsletterSubscribers. * @param {NewsletterSubscriberDeleteManyArgs} args - Arguments to filter NewsletterSubscribers to delete. * @example * // Delete a few NewsletterSubscribers * const { count } = await prisma.newsletterSubscriber.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more NewsletterSubscribers. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NewsletterSubscriberUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many NewsletterSubscribers * const newsletterSubscriber = await prisma.newsletterSubscriber.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one NewsletterSubscriber. * @param {NewsletterSubscriberUpsertArgs} args - Arguments to update or create a NewsletterSubscriber. * @example * // Update or create a NewsletterSubscriber * const newsletterSubscriber = await prisma.newsletterSubscriber.upsert({ * create: { * // ... data to create a NewsletterSubscriber * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the NewsletterSubscriber we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__NewsletterSubscriberClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of NewsletterSubscribers. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NewsletterSubscriberCountArgs} args - Arguments to filter NewsletterSubscribers to count. * @example * // Count the number of NewsletterSubscribers * const count = await prisma.newsletterSubscriber.count({ * where: { * // ... the filter for the NewsletterSubscribers we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a NewsletterSubscriber. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NewsletterSubscriberAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by NewsletterSubscriber. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {NewsletterSubscriberGroupByArgs} 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 NewsletterSubscriberGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: NewsletterSubscriberGroupByArgs['orderBy'] } : { orderBy?: NewsletterSubscriberGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetNewsletterSubscriberGroupByPayload : Prisma.PrismaPromise /** * Fields of the NewsletterSubscriber model */ readonly fields: NewsletterSubscriberFieldRefs; } /** * The delegate class that acts as a "Promise-like" for NewsletterSubscriber. * 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__NewsletterSubscriberClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the NewsletterSubscriber model */ interface NewsletterSubscriberFieldRefs { readonly id: FieldRef<"NewsletterSubscriber", 'String'> readonly email: FieldRef<"NewsletterSubscriber", 'String'> readonly mobile: FieldRef<"NewsletterSubscriber", 'String'> readonly createdAt: FieldRef<"NewsletterSubscriber", 'DateTime'> } // Custom InputTypes /** * NewsletterSubscriber findUnique */ export type NewsletterSubscriberFindUniqueArgs = { /** * Select specific fields to fetch from the NewsletterSubscriber */ select?: NewsletterSubscriberSelect | null /** * Filter, which NewsletterSubscriber to fetch. */ where: NewsletterSubscriberWhereUniqueInput } /** * NewsletterSubscriber findUniqueOrThrow */ export type NewsletterSubscriberFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the NewsletterSubscriber */ select?: NewsletterSubscriberSelect | null /** * Filter, which NewsletterSubscriber to fetch. */ where: NewsletterSubscriberWhereUniqueInput } /** * NewsletterSubscriber findFirst */ export type NewsletterSubscriberFindFirstArgs = { /** * Select specific fields to fetch from the NewsletterSubscriber */ select?: NewsletterSubscriberSelect | null /** * Filter, which NewsletterSubscriber to fetch. */ where?: NewsletterSubscriberWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of NewsletterSubscribers to fetch. */ orderBy?: NewsletterSubscriberOrderByWithRelationInput | NewsletterSubscriberOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for NewsletterSubscribers. */ cursor?: NewsletterSubscriberWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` NewsletterSubscribers 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` NewsletterSubscribers. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of NewsletterSubscribers. */ distinct?: NewsletterSubscriberScalarFieldEnum | NewsletterSubscriberScalarFieldEnum[] } /** * NewsletterSubscriber findFirstOrThrow */ export type NewsletterSubscriberFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the NewsletterSubscriber */ select?: NewsletterSubscriberSelect | null /** * Filter, which NewsletterSubscriber to fetch. */ where?: NewsletterSubscriberWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of NewsletterSubscribers to fetch. */ orderBy?: NewsletterSubscriberOrderByWithRelationInput | NewsletterSubscriberOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for NewsletterSubscribers. */ cursor?: NewsletterSubscriberWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` NewsletterSubscribers 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` NewsletterSubscribers. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of NewsletterSubscribers. */ distinct?: NewsletterSubscriberScalarFieldEnum | NewsletterSubscriberScalarFieldEnum[] } /** * NewsletterSubscriber findMany */ export type NewsletterSubscriberFindManyArgs = { /** * Select specific fields to fetch from the NewsletterSubscriber */ select?: NewsletterSubscriberSelect | null /** * Filter, which NewsletterSubscribers to fetch. */ where?: NewsletterSubscriberWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of NewsletterSubscribers to fetch. */ orderBy?: NewsletterSubscriberOrderByWithRelationInput | NewsletterSubscriberOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing NewsletterSubscribers. */ cursor?: NewsletterSubscriberWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` NewsletterSubscribers 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` NewsletterSubscribers. */ skip?: number distinct?: NewsletterSubscriberScalarFieldEnum | NewsletterSubscriberScalarFieldEnum[] } /** * NewsletterSubscriber create */ export type NewsletterSubscriberCreateArgs = { /** * Select specific fields to fetch from the NewsletterSubscriber */ select?: NewsletterSubscriberSelect | null /** * The data needed to create a NewsletterSubscriber. */ data?: XOR } /** * NewsletterSubscriber createMany */ export type NewsletterSubscriberCreateManyArgs = { /** * The data used to create many NewsletterSubscribers. */ data: NewsletterSubscriberCreateManyInput | NewsletterSubscriberCreateManyInput[] skipDuplicates?: boolean } /** * NewsletterSubscriber createManyAndReturn */ export type NewsletterSubscriberCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the NewsletterSubscriber */ select?: NewsletterSubscriberSelectCreateManyAndReturn | null /** * The data used to create many NewsletterSubscribers. */ data: NewsletterSubscriberCreateManyInput | NewsletterSubscriberCreateManyInput[] skipDuplicates?: boolean } /** * NewsletterSubscriber update */ export type NewsletterSubscriberUpdateArgs = { /** * Select specific fields to fetch from the NewsletterSubscriber */ select?: NewsletterSubscriberSelect | null /** * The data needed to update a NewsletterSubscriber. */ data: XOR /** * Choose, which NewsletterSubscriber to update. */ where: NewsletterSubscriberWhereUniqueInput } /** * NewsletterSubscriber updateMany */ export type NewsletterSubscriberUpdateManyArgs = { /** * The data used to update NewsletterSubscribers. */ data: XOR /** * Filter which NewsletterSubscribers to update */ where?: NewsletterSubscriberWhereInput } /** * NewsletterSubscriber upsert */ export type NewsletterSubscriberUpsertArgs = { /** * Select specific fields to fetch from the NewsletterSubscriber */ select?: NewsletterSubscriberSelect | null /** * The filter to search for the NewsletterSubscriber to update in case it exists. */ where: NewsletterSubscriberWhereUniqueInput /** * In case the NewsletterSubscriber found by the `where` argument doesn't exist, create a new NewsletterSubscriber with this data. */ create: XOR /** * In case the NewsletterSubscriber was found with the provided `where` argument, update it with this data. */ update: XOR } /** * NewsletterSubscriber delete */ export type NewsletterSubscriberDeleteArgs = { /** * Select specific fields to fetch from the NewsletterSubscriber */ select?: NewsletterSubscriberSelect | null /** * Filter which NewsletterSubscriber to delete. */ where: NewsletterSubscriberWhereUniqueInput } /** * NewsletterSubscriber deleteMany */ export type NewsletterSubscriberDeleteManyArgs = { /** * Filter which NewsletterSubscribers to delete */ where?: NewsletterSubscriberWhereInput } /** * NewsletterSubscriber without action */ export type NewsletterSubscriberDefaultArgs = { /** * Select specific fields to fetch from the NewsletterSubscriber */ select?: NewsletterSubscriberSelect | null } /** * Model CustomerActivityLog */ export type AggregateCustomerActivityLog = { _count: CustomerActivityLogCountAggregateOutputType | null _min: CustomerActivityLogMinAggregateOutputType | null _max: CustomerActivityLogMaxAggregateOutputType | null } export type CustomerActivityLogMinAggregateOutputType = { id: string | null customerId: string | null action: string | null detail: string | null createdAt: Date | null } export type CustomerActivityLogMaxAggregateOutputType = { id: string | null customerId: string | null action: string | null detail: string | null createdAt: Date | null } export type CustomerActivityLogCountAggregateOutputType = { id: number customerId: number action: number detail: number createdAt: number _all: number } export type CustomerActivityLogMinAggregateInputType = { id?: true customerId?: true action?: true detail?: true createdAt?: true } export type CustomerActivityLogMaxAggregateInputType = { id?: true customerId?: true action?: true detail?: true createdAt?: true } export type CustomerActivityLogCountAggregateInputType = { id?: true customerId?: true action?: true detail?: true createdAt?: true _all?: true } export type CustomerActivityLogAggregateArgs = { /** * Filter which CustomerActivityLog to aggregate. */ where?: CustomerActivityLogWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CustomerActivityLogs to fetch. */ orderBy?: CustomerActivityLogOrderByWithRelationInput | CustomerActivityLogOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: CustomerActivityLogWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CustomerActivityLogs 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` CustomerActivityLogs. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned CustomerActivityLogs **/ _count?: true | CustomerActivityLogCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: CustomerActivityLogMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: CustomerActivityLogMaxAggregateInputType } export type GetCustomerActivityLogAggregateType = { [P in keyof T & keyof AggregateCustomerActivityLog]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type CustomerActivityLogGroupByArgs = { where?: CustomerActivityLogWhereInput orderBy?: CustomerActivityLogOrderByWithAggregationInput | CustomerActivityLogOrderByWithAggregationInput[] by: CustomerActivityLogScalarFieldEnum[] | CustomerActivityLogScalarFieldEnum having?: CustomerActivityLogScalarWhereWithAggregatesInput take?: number skip?: number _count?: CustomerActivityLogCountAggregateInputType | true _min?: CustomerActivityLogMinAggregateInputType _max?: CustomerActivityLogMaxAggregateInputType } export type CustomerActivityLogGroupByOutputType = { id: string customerId: string action: string detail: string | null createdAt: Date _count: CustomerActivityLogCountAggregateOutputType | null _min: CustomerActivityLogMinAggregateOutputType | null _max: CustomerActivityLogMaxAggregateOutputType | null } type GetCustomerActivityLogGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof CustomerActivityLogGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type CustomerActivityLogSelect = $Extensions.GetSelect<{ id?: boolean customerId?: boolean action?: boolean detail?: boolean createdAt?: boolean customer?: boolean | CustomerDefaultArgs }, ExtArgs["result"]["customerActivityLog"]> export type CustomerActivityLogSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean customerId?: boolean action?: boolean detail?: boolean createdAt?: boolean customer?: boolean | CustomerDefaultArgs }, ExtArgs["result"]["customerActivityLog"]> export type CustomerActivityLogSelectScalar = { id?: boolean customerId?: boolean action?: boolean detail?: boolean createdAt?: boolean } export type CustomerActivityLogInclude = { customer?: boolean | CustomerDefaultArgs } export type CustomerActivityLogIncludeCreateManyAndReturn = { customer?: boolean | CustomerDefaultArgs } export type $CustomerActivityLogPayload = { name: "CustomerActivityLog" objects: { customer: Prisma.$CustomerPayload } scalars: $Extensions.GetPayloadResult<{ id: string customerId: string /** * Free-form action key, e.g. 'login', 'order.placed', 'profile.updated'. */ action: string detail: string | null createdAt: Date }, ExtArgs["result"]["customerActivityLog"]> composites: {} } type CustomerActivityLogGetPayload = $Result.GetResult type CustomerActivityLogCountArgs = Omit & { select?: CustomerActivityLogCountAggregateInputType | true } export interface CustomerActivityLogDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['CustomerActivityLog'], meta: { name: 'CustomerActivityLog' } } /** * Find zero or one CustomerActivityLog that matches the filter. * @param {CustomerActivityLogFindUniqueArgs} args - Arguments to find a CustomerActivityLog * @example * // Get one CustomerActivityLog * const customerActivityLog = await prisma.customerActivityLog.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__CustomerActivityLogClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one CustomerActivityLog that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {CustomerActivityLogFindUniqueOrThrowArgs} args - Arguments to find a CustomerActivityLog * @example * // Get one CustomerActivityLog * const customerActivityLog = await prisma.customerActivityLog.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__CustomerActivityLogClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first CustomerActivityLog 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 {CustomerActivityLogFindFirstArgs} args - Arguments to find a CustomerActivityLog * @example * // Get one CustomerActivityLog * const customerActivityLog = await prisma.customerActivityLog.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__CustomerActivityLogClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first CustomerActivityLog 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 {CustomerActivityLogFindFirstOrThrowArgs} args - Arguments to find a CustomerActivityLog * @example * // Get one CustomerActivityLog * const customerActivityLog = await prisma.customerActivityLog.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__CustomerActivityLogClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more CustomerActivityLogs 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 {CustomerActivityLogFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all CustomerActivityLogs * const customerActivityLogs = await prisma.customerActivityLog.findMany() * * // Get first 10 CustomerActivityLogs * const customerActivityLogs = await prisma.customerActivityLog.findMany({ take: 10 }) * * // Only select the `id` * const customerActivityLogWithIdOnly = await prisma.customerActivityLog.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a CustomerActivityLog. * @param {CustomerActivityLogCreateArgs} args - Arguments to create a CustomerActivityLog. * @example * // Create one CustomerActivityLog * const CustomerActivityLog = await prisma.customerActivityLog.create({ * data: { * // ... data to create a CustomerActivityLog * } * }) * */ create(args: SelectSubset>): Prisma__CustomerActivityLogClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many CustomerActivityLogs. * @param {CustomerActivityLogCreateManyArgs} args - Arguments to create many CustomerActivityLogs. * @example * // Create many CustomerActivityLogs * const customerActivityLog = await prisma.customerActivityLog.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many CustomerActivityLogs and returns the data saved in the database. * @param {CustomerActivityLogCreateManyAndReturnArgs} args - Arguments to create many CustomerActivityLogs. * @example * // Create many CustomerActivityLogs * const customerActivityLog = await prisma.customerActivityLog.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many CustomerActivityLogs and only return the `id` * const customerActivityLogWithIdOnly = await prisma.customerActivityLog.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a CustomerActivityLog. * @param {CustomerActivityLogDeleteArgs} args - Arguments to delete one CustomerActivityLog. * @example * // Delete one CustomerActivityLog * const CustomerActivityLog = await prisma.customerActivityLog.delete({ * where: { * // ... filter to delete one CustomerActivityLog * } * }) * */ delete(args: SelectSubset>): Prisma__CustomerActivityLogClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one CustomerActivityLog. * @param {CustomerActivityLogUpdateArgs} args - Arguments to update one CustomerActivityLog. * @example * // Update one CustomerActivityLog * const customerActivityLog = await prisma.customerActivityLog.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__CustomerActivityLogClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more CustomerActivityLogs. * @param {CustomerActivityLogDeleteManyArgs} args - Arguments to filter CustomerActivityLogs to delete. * @example * // Delete a few CustomerActivityLogs * const { count } = await prisma.customerActivityLog.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more CustomerActivityLogs. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerActivityLogUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many CustomerActivityLogs * const customerActivityLog = await prisma.customerActivityLog.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one CustomerActivityLog. * @param {CustomerActivityLogUpsertArgs} args - Arguments to update or create a CustomerActivityLog. * @example * // Update or create a CustomerActivityLog * const customerActivityLog = await prisma.customerActivityLog.upsert({ * create: { * // ... data to create a CustomerActivityLog * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the CustomerActivityLog we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__CustomerActivityLogClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of CustomerActivityLogs. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerActivityLogCountArgs} args - Arguments to filter CustomerActivityLogs to count. * @example * // Count the number of CustomerActivityLogs * const count = await prisma.customerActivityLog.count({ * where: { * // ... the filter for the CustomerActivityLogs we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a CustomerActivityLog. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerActivityLogAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by CustomerActivityLog. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerActivityLogGroupByArgs} 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 CustomerActivityLogGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: CustomerActivityLogGroupByArgs['orderBy'] } : { orderBy?: CustomerActivityLogGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCustomerActivityLogGroupByPayload : Prisma.PrismaPromise /** * Fields of the CustomerActivityLog model */ readonly fields: CustomerActivityLogFieldRefs; } /** * The delegate class that acts as a "Promise-like" for CustomerActivityLog. * 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__CustomerActivityLogClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" customer = {}>(args?: Subset>): Prisma__CustomerClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the CustomerActivityLog model */ interface CustomerActivityLogFieldRefs { readonly id: FieldRef<"CustomerActivityLog", 'String'> readonly customerId: FieldRef<"CustomerActivityLog", 'String'> readonly action: FieldRef<"CustomerActivityLog", 'String'> readonly detail: FieldRef<"CustomerActivityLog", 'String'> readonly createdAt: FieldRef<"CustomerActivityLog", 'DateTime'> } // Custom InputTypes /** * CustomerActivityLog findUnique */ export type CustomerActivityLogFindUniqueArgs = { /** * Select specific fields to fetch from the CustomerActivityLog */ select?: CustomerActivityLogSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerActivityLogInclude | null /** * Filter, which CustomerActivityLog to fetch. */ where: CustomerActivityLogWhereUniqueInput } /** * CustomerActivityLog findUniqueOrThrow */ export type CustomerActivityLogFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the CustomerActivityLog */ select?: CustomerActivityLogSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerActivityLogInclude | null /** * Filter, which CustomerActivityLog to fetch. */ where: CustomerActivityLogWhereUniqueInput } /** * CustomerActivityLog findFirst */ export type CustomerActivityLogFindFirstArgs = { /** * Select specific fields to fetch from the CustomerActivityLog */ select?: CustomerActivityLogSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerActivityLogInclude | null /** * Filter, which CustomerActivityLog to fetch. */ where?: CustomerActivityLogWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CustomerActivityLogs to fetch. */ orderBy?: CustomerActivityLogOrderByWithRelationInput | CustomerActivityLogOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for CustomerActivityLogs. */ cursor?: CustomerActivityLogWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CustomerActivityLogs 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` CustomerActivityLogs. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of CustomerActivityLogs. */ distinct?: CustomerActivityLogScalarFieldEnum | CustomerActivityLogScalarFieldEnum[] } /** * CustomerActivityLog findFirstOrThrow */ export type CustomerActivityLogFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the CustomerActivityLog */ select?: CustomerActivityLogSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerActivityLogInclude | null /** * Filter, which CustomerActivityLog to fetch. */ where?: CustomerActivityLogWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CustomerActivityLogs to fetch. */ orderBy?: CustomerActivityLogOrderByWithRelationInput | CustomerActivityLogOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for CustomerActivityLogs. */ cursor?: CustomerActivityLogWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CustomerActivityLogs 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` CustomerActivityLogs. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of CustomerActivityLogs. */ distinct?: CustomerActivityLogScalarFieldEnum | CustomerActivityLogScalarFieldEnum[] } /** * CustomerActivityLog findMany */ export type CustomerActivityLogFindManyArgs = { /** * Select specific fields to fetch from the CustomerActivityLog */ select?: CustomerActivityLogSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerActivityLogInclude | null /** * Filter, which CustomerActivityLogs to fetch. */ where?: CustomerActivityLogWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CustomerActivityLogs to fetch. */ orderBy?: CustomerActivityLogOrderByWithRelationInput | CustomerActivityLogOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing CustomerActivityLogs. */ cursor?: CustomerActivityLogWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CustomerActivityLogs 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` CustomerActivityLogs. */ skip?: number distinct?: CustomerActivityLogScalarFieldEnum | CustomerActivityLogScalarFieldEnum[] } /** * CustomerActivityLog create */ export type CustomerActivityLogCreateArgs = { /** * Select specific fields to fetch from the CustomerActivityLog */ select?: CustomerActivityLogSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerActivityLogInclude | null /** * The data needed to create a CustomerActivityLog. */ data: XOR } /** * CustomerActivityLog createMany */ export type CustomerActivityLogCreateManyArgs = { /** * The data used to create many CustomerActivityLogs. */ data: CustomerActivityLogCreateManyInput | CustomerActivityLogCreateManyInput[] skipDuplicates?: boolean } /** * CustomerActivityLog createManyAndReturn */ export type CustomerActivityLogCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the CustomerActivityLog */ select?: CustomerActivityLogSelectCreateManyAndReturn | null /** * The data used to create many CustomerActivityLogs. */ data: CustomerActivityLogCreateManyInput | CustomerActivityLogCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: CustomerActivityLogIncludeCreateManyAndReturn | null } /** * CustomerActivityLog update */ export type CustomerActivityLogUpdateArgs = { /** * Select specific fields to fetch from the CustomerActivityLog */ select?: CustomerActivityLogSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerActivityLogInclude | null /** * The data needed to update a CustomerActivityLog. */ data: XOR /** * Choose, which CustomerActivityLog to update. */ where: CustomerActivityLogWhereUniqueInput } /** * CustomerActivityLog updateMany */ export type CustomerActivityLogUpdateManyArgs = { /** * The data used to update CustomerActivityLogs. */ data: XOR /** * Filter which CustomerActivityLogs to update */ where?: CustomerActivityLogWhereInput } /** * CustomerActivityLog upsert */ export type CustomerActivityLogUpsertArgs = { /** * Select specific fields to fetch from the CustomerActivityLog */ select?: CustomerActivityLogSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerActivityLogInclude | null /** * The filter to search for the CustomerActivityLog to update in case it exists. */ where: CustomerActivityLogWhereUniqueInput /** * In case the CustomerActivityLog found by the `where` argument doesn't exist, create a new CustomerActivityLog with this data. */ create: XOR /** * In case the CustomerActivityLog was found with the provided `where` argument, update it with this data. */ update: XOR } /** * CustomerActivityLog delete */ export type CustomerActivityLogDeleteArgs = { /** * Select specific fields to fetch from the CustomerActivityLog */ select?: CustomerActivityLogSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerActivityLogInclude | null /** * Filter which CustomerActivityLog to delete. */ where: CustomerActivityLogWhereUniqueInput } /** * CustomerActivityLog deleteMany */ export type CustomerActivityLogDeleteManyArgs = { /** * Filter which CustomerActivityLogs to delete */ where?: CustomerActivityLogWhereInput } /** * CustomerActivityLog without action */ export type CustomerActivityLogDefaultArgs = { /** * Select specific fields to fetch from the CustomerActivityLog */ select?: CustomerActivityLogSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerActivityLogInclude | null } /** * Model UploadedFile */ export type AggregateUploadedFile = { _count: UploadedFileCountAggregateOutputType | null _avg: UploadedFileAvgAggregateOutputType | null _sum: UploadedFileSumAggregateOutputType | null _min: UploadedFileMinAggregateOutputType | null _max: UploadedFileMaxAggregateOutputType | null } export type UploadedFileAvgAggregateOutputType = { sizeBytes: number | null } export type UploadedFileSumAggregateOutputType = { sizeBytes: number | null } export type UploadedFileMinAggregateOutputType = { id: string | null url: string | null originalName: string | null mimeType: string | null sizeBytes: number | null purpose: string | null uploadedByAdminUserId: string | null createdAt: Date | null } export type UploadedFileMaxAggregateOutputType = { id: string | null url: string | null originalName: string | null mimeType: string | null sizeBytes: number | null purpose: string | null uploadedByAdminUserId: string | null createdAt: Date | null } export type UploadedFileCountAggregateOutputType = { id: number url: number originalName: number mimeType: number sizeBytes: number purpose: number uploadedByAdminUserId: number createdAt: number _all: number } export type UploadedFileAvgAggregateInputType = { sizeBytes?: true } export type UploadedFileSumAggregateInputType = { sizeBytes?: true } export type UploadedFileMinAggregateInputType = { id?: true url?: true originalName?: true mimeType?: true sizeBytes?: true purpose?: true uploadedByAdminUserId?: true createdAt?: true } export type UploadedFileMaxAggregateInputType = { id?: true url?: true originalName?: true mimeType?: true sizeBytes?: true purpose?: true uploadedByAdminUserId?: true createdAt?: true } export type UploadedFileCountAggregateInputType = { id?: true url?: true originalName?: true mimeType?: true sizeBytes?: true purpose?: true uploadedByAdminUserId?: true createdAt?: true _all?: true } export type UploadedFileAggregateArgs = { /** * Filter which UploadedFile to aggregate. */ where?: UploadedFileWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UploadedFiles to fetch. */ orderBy?: UploadedFileOrderByWithRelationInput | UploadedFileOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: UploadedFileWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UploadedFiles 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` UploadedFiles. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned UploadedFiles **/ _count?: true | UploadedFileCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: UploadedFileAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: UploadedFileSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: UploadedFileMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: UploadedFileMaxAggregateInputType } export type GetUploadedFileAggregateType = { [P in keyof T & keyof AggregateUploadedFile]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type UploadedFileGroupByArgs = { where?: UploadedFileWhereInput orderBy?: UploadedFileOrderByWithAggregationInput | UploadedFileOrderByWithAggregationInput[] by: UploadedFileScalarFieldEnum[] | UploadedFileScalarFieldEnum having?: UploadedFileScalarWhereWithAggregatesInput take?: number skip?: number _count?: UploadedFileCountAggregateInputType | true _avg?: UploadedFileAvgAggregateInputType _sum?: UploadedFileSumAggregateInputType _min?: UploadedFileMinAggregateInputType _max?: UploadedFileMaxAggregateInputType } export type UploadedFileGroupByOutputType = { id: string url: string originalName: string mimeType: string sizeBytes: number purpose: string | null uploadedByAdminUserId: string | null createdAt: Date _count: UploadedFileCountAggregateOutputType | null _avg: UploadedFileAvgAggregateOutputType | null _sum: UploadedFileSumAggregateOutputType | null _min: UploadedFileMinAggregateOutputType | null _max: UploadedFileMaxAggregateOutputType | null } type GetUploadedFileGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof UploadedFileGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type UploadedFileSelect = $Extensions.GetSelect<{ id?: boolean url?: boolean originalName?: boolean mimeType?: boolean sizeBytes?: boolean purpose?: boolean uploadedByAdminUserId?: boolean createdAt?: boolean uploadedByAdminUser?: boolean | UploadedFile$uploadedByAdminUserArgs customerAvatars?: boolean | UploadedFile$customerAvatarsArgs adminUserAvatars?: boolean | UploadedFile$adminUserAvatarsArgs _count?: boolean | UploadedFileCountOutputTypeDefaultArgs }, ExtArgs["result"]["uploadedFile"]> export type UploadedFileSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean url?: boolean originalName?: boolean mimeType?: boolean sizeBytes?: boolean purpose?: boolean uploadedByAdminUserId?: boolean createdAt?: boolean uploadedByAdminUser?: boolean | UploadedFile$uploadedByAdminUserArgs }, ExtArgs["result"]["uploadedFile"]> export type UploadedFileSelectScalar = { id?: boolean url?: boolean originalName?: boolean mimeType?: boolean sizeBytes?: boolean purpose?: boolean uploadedByAdminUserId?: boolean createdAt?: boolean } export type UploadedFileInclude = { uploadedByAdminUser?: boolean | UploadedFile$uploadedByAdminUserArgs customerAvatars?: boolean | UploadedFile$customerAvatarsArgs adminUserAvatars?: boolean | UploadedFile$adminUserAvatarsArgs _count?: boolean | UploadedFileCountOutputTypeDefaultArgs } export type UploadedFileIncludeCreateManyAndReturn = { uploadedByAdminUser?: boolean | UploadedFile$uploadedByAdminUserArgs } export type $UploadedFilePayload = { name: "UploadedFile" objects: { uploadedByAdminUser: Prisma.$AdminUserPayload | null customerAvatars: Prisma.$CustomerPayload[] adminUserAvatars: Prisma.$AdminUserPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string /** * Public URL the stored file is served from. */ url: string originalName: string mimeType: string sizeBytes: number /** * Free-form tag for what the file belongs to, e.g. 'product', 'category', * 'customer.nationalId'. Kept loose so a new form needs no schema change. */ purpose: string | null uploadedByAdminUserId: string | null createdAt: Date }, ExtArgs["result"]["uploadedFile"]> composites: {} } type UploadedFileGetPayload = $Result.GetResult type UploadedFileCountArgs = Omit & { select?: UploadedFileCountAggregateInputType | true } export interface UploadedFileDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['UploadedFile'], meta: { name: 'UploadedFile' } } /** * Find zero or one UploadedFile that matches the filter. * @param {UploadedFileFindUniqueArgs} args - Arguments to find a UploadedFile * @example * // Get one UploadedFile * const uploadedFile = await prisma.uploadedFile.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__UploadedFileClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one UploadedFile that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {UploadedFileFindUniqueOrThrowArgs} args - Arguments to find a UploadedFile * @example * // Get one UploadedFile * const uploadedFile = await prisma.uploadedFile.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__UploadedFileClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first UploadedFile 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 {UploadedFileFindFirstArgs} args - Arguments to find a UploadedFile * @example * // Get one UploadedFile * const uploadedFile = await prisma.uploadedFile.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__UploadedFileClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first UploadedFile 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 {UploadedFileFindFirstOrThrowArgs} args - Arguments to find a UploadedFile * @example * // Get one UploadedFile * const uploadedFile = await prisma.uploadedFile.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__UploadedFileClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more UploadedFiles 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 {UploadedFileFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all UploadedFiles * const uploadedFiles = await prisma.uploadedFile.findMany() * * // Get first 10 UploadedFiles * const uploadedFiles = await prisma.uploadedFile.findMany({ take: 10 }) * * // Only select the `id` * const uploadedFileWithIdOnly = await prisma.uploadedFile.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a UploadedFile. * @param {UploadedFileCreateArgs} args - Arguments to create a UploadedFile. * @example * // Create one UploadedFile * const UploadedFile = await prisma.uploadedFile.create({ * data: { * // ... data to create a UploadedFile * } * }) * */ create(args: SelectSubset>): Prisma__UploadedFileClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many UploadedFiles. * @param {UploadedFileCreateManyArgs} args - Arguments to create many UploadedFiles. * @example * // Create many UploadedFiles * const uploadedFile = await prisma.uploadedFile.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many UploadedFiles and returns the data saved in the database. * @param {UploadedFileCreateManyAndReturnArgs} args - Arguments to create many UploadedFiles. * @example * // Create many UploadedFiles * const uploadedFile = await prisma.uploadedFile.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many UploadedFiles and only return the `id` * const uploadedFileWithIdOnly = await prisma.uploadedFile.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a UploadedFile. * @param {UploadedFileDeleteArgs} args - Arguments to delete one UploadedFile. * @example * // Delete one UploadedFile * const UploadedFile = await prisma.uploadedFile.delete({ * where: { * // ... filter to delete one UploadedFile * } * }) * */ delete(args: SelectSubset>): Prisma__UploadedFileClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one UploadedFile. * @param {UploadedFileUpdateArgs} args - Arguments to update one UploadedFile. * @example * // Update one UploadedFile * const uploadedFile = await prisma.uploadedFile.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__UploadedFileClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more UploadedFiles. * @param {UploadedFileDeleteManyArgs} args - Arguments to filter UploadedFiles to delete. * @example * // Delete a few UploadedFiles * const { count } = await prisma.uploadedFile.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more UploadedFiles. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UploadedFileUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many UploadedFiles * const uploadedFile = await prisma.uploadedFile.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one UploadedFile. * @param {UploadedFileUpsertArgs} args - Arguments to update or create a UploadedFile. * @example * // Update or create a UploadedFile * const uploadedFile = await prisma.uploadedFile.upsert({ * create: { * // ... data to create a UploadedFile * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the UploadedFile we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__UploadedFileClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of UploadedFiles. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UploadedFileCountArgs} args - Arguments to filter UploadedFiles to count. * @example * // Count the number of UploadedFiles * const count = await prisma.uploadedFile.count({ * where: { * // ... the filter for the UploadedFiles we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a UploadedFile. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UploadedFileAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by UploadedFile. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UploadedFileGroupByArgs} 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 UploadedFileGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: UploadedFileGroupByArgs['orderBy'] } : { orderBy?: UploadedFileGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetUploadedFileGroupByPayload : Prisma.PrismaPromise /** * Fields of the UploadedFile model */ readonly fields: UploadedFileFieldRefs; } /** * The delegate class that acts as a "Promise-like" for UploadedFile. * 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__UploadedFileClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" uploadedByAdminUser = {}>(args?: Subset>): Prisma__AdminUserClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> customerAvatars = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> adminUserAvatars = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the UploadedFile model */ interface UploadedFileFieldRefs { readonly id: FieldRef<"UploadedFile", 'String'> readonly url: FieldRef<"UploadedFile", 'String'> readonly originalName: FieldRef<"UploadedFile", 'String'> readonly mimeType: FieldRef<"UploadedFile", 'String'> readonly sizeBytes: FieldRef<"UploadedFile", 'Int'> readonly purpose: FieldRef<"UploadedFile", 'String'> readonly uploadedByAdminUserId: FieldRef<"UploadedFile", 'String'> readonly createdAt: FieldRef<"UploadedFile", 'DateTime'> } // Custom InputTypes /** * UploadedFile findUnique */ export type UploadedFileFindUniqueArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelect | null /** * Choose, which related nodes to fetch as well */ include?: UploadedFileInclude | null /** * Filter, which UploadedFile to fetch. */ where: UploadedFileWhereUniqueInput } /** * UploadedFile findUniqueOrThrow */ export type UploadedFileFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelect | null /** * Choose, which related nodes to fetch as well */ include?: UploadedFileInclude | null /** * Filter, which UploadedFile to fetch. */ where: UploadedFileWhereUniqueInput } /** * UploadedFile findFirst */ export type UploadedFileFindFirstArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelect | null /** * Choose, which related nodes to fetch as well */ include?: UploadedFileInclude | null /** * Filter, which UploadedFile to fetch. */ where?: UploadedFileWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UploadedFiles to fetch. */ orderBy?: UploadedFileOrderByWithRelationInput | UploadedFileOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for UploadedFiles. */ cursor?: UploadedFileWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UploadedFiles 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` UploadedFiles. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of UploadedFiles. */ distinct?: UploadedFileScalarFieldEnum | UploadedFileScalarFieldEnum[] } /** * UploadedFile findFirstOrThrow */ export type UploadedFileFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelect | null /** * Choose, which related nodes to fetch as well */ include?: UploadedFileInclude | null /** * Filter, which UploadedFile to fetch. */ where?: UploadedFileWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UploadedFiles to fetch. */ orderBy?: UploadedFileOrderByWithRelationInput | UploadedFileOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for UploadedFiles. */ cursor?: UploadedFileWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UploadedFiles 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` UploadedFiles. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of UploadedFiles. */ distinct?: UploadedFileScalarFieldEnum | UploadedFileScalarFieldEnum[] } /** * UploadedFile findMany */ export type UploadedFileFindManyArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelect | null /** * Choose, which related nodes to fetch as well */ include?: UploadedFileInclude | null /** * Filter, which UploadedFiles to fetch. */ where?: UploadedFileWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UploadedFiles to fetch. */ orderBy?: UploadedFileOrderByWithRelationInput | UploadedFileOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing UploadedFiles. */ cursor?: UploadedFileWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UploadedFiles 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` UploadedFiles. */ skip?: number distinct?: UploadedFileScalarFieldEnum | UploadedFileScalarFieldEnum[] } /** * UploadedFile create */ export type UploadedFileCreateArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelect | null /** * Choose, which related nodes to fetch as well */ include?: UploadedFileInclude | null /** * The data needed to create a UploadedFile. */ data: XOR } /** * UploadedFile createMany */ export type UploadedFileCreateManyArgs = { /** * The data used to create many UploadedFiles. */ data: UploadedFileCreateManyInput | UploadedFileCreateManyInput[] skipDuplicates?: boolean } /** * UploadedFile createManyAndReturn */ export type UploadedFileCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelectCreateManyAndReturn | null /** * The data used to create many UploadedFiles. */ data: UploadedFileCreateManyInput | UploadedFileCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: UploadedFileIncludeCreateManyAndReturn | null } /** * UploadedFile update */ export type UploadedFileUpdateArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelect | null /** * Choose, which related nodes to fetch as well */ include?: UploadedFileInclude | null /** * The data needed to update a UploadedFile. */ data: XOR /** * Choose, which UploadedFile to update. */ where: UploadedFileWhereUniqueInput } /** * UploadedFile updateMany */ export type UploadedFileUpdateManyArgs = { /** * The data used to update UploadedFiles. */ data: XOR /** * Filter which UploadedFiles to update */ where?: UploadedFileWhereInput } /** * UploadedFile upsert */ export type UploadedFileUpsertArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelect | null /** * Choose, which related nodes to fetch as well */ include?: UploadedFileInclude | null /** * The filter to search for the UploadedFile to update in case it exists. */ where: UploadedFileWhereUniqueInput /** * In case the UploadedFile found by the `where` argument doesn't exist, create a new UploadedFile with this data. */ create: XOR /** * In case the UploadedFile was found with the provided `where` argument, update it with this data. */ update: XOR } /** * UploadedFile delete */ export type UploadedFileDeleteArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelect | null /** * Choose, which related nodes to fetch as well */ include?: UploadedFileInclude | null /** * Filter which UploadedFile to delete. */ where: UploadedFileWhereUniqueInput } /** * UploadedFile deleteMany */ export type UploadedFileDeleteManyArgs = { /** * Filter which UploadedFiles to delete */ where?: UploadedFileWhereInput } /** * UploadedFile.uploadedByAdminUser */ export type UploadedFile$uploadedByAdminUserArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null where?: AdminUserWhereInput } /** * UploadedFile.customerAvatars */ export type UploadedFile$customerAvatarsArgs = { /** * Select specific fields to fetch from the Customer */ select?: CustomerSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerInclude | null where?: CustomerWhereInput orderBy?: CustomerOrderByWithRelationInput | CustomerOrderByWithRelationInput[] cursor?: CustomerWhereUniqueInput take?: number skip?: number distinct?: CustomerScalarFieldEnum | CustomerScalarFieldEnum[] } /** * UploadedFile.adminUserAvatars */ export type UploadedFile$adminUserAvatarsArgs = { /** * Select specific fields to fetch from the AdminUser */ select?: AdminUserSelect | null /** * Choose, which related nodes to fetch as well */ include?: AdminUserInclude | null where?: AdminUserWhereInput orderBy?: AdminUserOrderByWithRelationInput | AdminUserOrderByWithRelationInput[] cursor?: AdminUserWhereUniqueInput take?: number skip?: number distinct?: AdminUserScalarFieldEnum | AdminUserScalarFieldEnum[] } /** * UploadedFile without action */ export type UploadedFileDefaultArgs = { /** * Select specific fields to fetch from the UploadedFile */ select?: UploadedFileSelect | null /** * Choose, which related nodes to fetch as well */ include?: UploadedFileInclude | null } /** * Model CustomerOtp */ export type AggregateCustomerOtp = { _count: CustomerOtpCountAggregateOutputType | null _avg: CustomerOtpAvgAggregateOutputType | null _sum: CustomerOtpSumAggregateOutputType | null _min: CustomerOtpMinAggregateOutputType | null _max: CustomerOtpMaxAggregateOutputType | null } export type CustomerOtpAvgAggregateOutputType = { attempts: number | null } export type CustomerOtpSumAggregateOutputType = { attempts: number | null } export type CustomerOtpMinAggregateOutputType = { id: string | null mobile: string | null customerId: string | null codeHash: string | null expiresAt: Date | null attempts: number | null consumedAt: Date | null requestIp: string | null createdAt: Date | null } export type CustomerOtpMaxAggregateOutputType = { id: string | null mobile: string | null customerId: string | null codeHash: string | null expiresAt: Date | null attempts: number | null consumedAt: Date | null requestIp: string | null createdAt: Date | null } export type CustomerOtpCountAggregateOutputType = { id: number mobile: number customerId: number codeHash: number expiresAt: number attempts: number consumedAt: number requestIp: number createdAt: number _all: number } export type CustomerOtpAvgAggregateInputType = { attempts?: true } export type CustomerOtpSumAggregateInputType = { attempts?: true } export type CustomerOtpMinAggregateInputType = { id?: true mobile?: true customerId?: true codeHash?: true expiresAt?: true attempts?: true consumedAt?: true requestIp?: true createdAt?: true } export type CustomerOtpMaxAggregateInputType = { id?: true mobile?: true customerId?: true codeHash?: true expiresAt?: true attempts?: true consumedAt?: true requestIp?: true createdAt?: true } export type CustomerOtpCountAggregateInputType = { id?: true mobile?: true customerId?: true codeHash?: true expiresAt?: true attempts?: true consumedAt?: true requestIp?: true createdAt?: true _all?: true } export type CustomerOtpAggregateArgs = { /** * Filter which CustomerOtp to aggregate. */ where?: CustomerOtpWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CustomerOtps to fetch. */ orderBy?: CustomerOtpOrderByWithRelationInput | CustomerOtpOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: CustomerOtpWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CustomerOtps 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` CustomerOtps. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned CustomerOtps **/ _count?: true | CustomerOtpCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: CustomerOtpAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: CustomerOtpSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: CustomerOtpMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: CustomerOtpMaxAggregateInputType } export type GetCustomerOtpAggregateType = { [P in keyof T & keyof AggregateCustomerOtp]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type CustomerOtpGroupByArgs = { where?: CustomerOtpWhereInput orderBy?: CustomerOtpOrderByWithAggregationInput | CustomerOtpOrderByWithAggregationInput[] by: CustomerOtpScalarFieldEnum[] | CustomerOtpScalarFieldEnum having?: CustomerOtpScalarWhereWithAggregatesInput take?: number skip?: number _count?: CustomerOtpCountAggregateInputType | true _avg?: CustomerOtpAvgAggregateInputType _sum?: CustomerOtpSumAggregateInputType _min?: CustomerOtpMinAggregateInputType _max?: CustomerOtpMaxAggregateInputType } export type CustomerOtpGroupByOutputType = { id: string mobile: string customerId: string codeHash: string expiresAt: Date attempts: number consumedAt: Date | null requestIp: string | null createdAt: Date _count: CustomerOtpCountAggregateOutputType | null _avg: CustomerOtpAvgAggregateOutputType | null _sum: CustomerOtpSumAggregateOutputType | null _min: CustomerOtpMinAggregateOutputType | null _max: CustomerOtpMaxAggregateOutputType | null } type GetCustomerOtpGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof CustomerOtpGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type CustomerOtpSelect = $Extensions.GetSelect<{ id?: boolean mobile?: boolean customerId?: boolean codeHash?: boolean expiresAt?: boolean attempts?: boolean consumedAt?: boolean requestIp?: boolean createdAt?: boolean customer?: boolean | CustomerDefaultArgs }, ExtArgs["result"]["customerOtp"]> export type CustomerOtpSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean mobile?: boolean customerId?: boolean codeHash?: boolean expiresAt?: boolean attempts?: boolean consumedAt?: boolean requestIp?: boolean createdAt?: boolean customer?: boolean | CustomerDefaultArgs }, ExtArgs["result"]["customerOtp"]> export type CustomerOtpSelectScalar = { id?: boolean mobile?: boolean customerId?: boolean codeHash?: boolean expiresAt?: boolean attempts?: boolean consumedAt?: boolean requestIp?: boolean createdAt?: boolean } export type CustomerOtpInclude = { customer?: boolean | CustomerDefaultArgs } export type CustomerOtpIncludeCreateManyAndReturn = { customer?: boolean | CustomerDefaultArgs } export type $CustomerOtpPayload = { name: "CustomerOtp" objects: { customer: Prisma.$CustomerPayload } scalars: $Extensions.GetPayloadResult<{ id: string /** * Normalised to English digits before storing, as the reference does with * Utility::faTOen() on both send and verify. */ mobile: string customerId: string /** * bcrypt hash of the 4-digit code. Never the code itself. */ codeHash: string expiresAt: Date /** * Failed verify attempts against THIS challenge. */ attempts: number /** * Set when the code is accepted, so one challenge cannot be reused. */ consumedAt: Date | null /** * Kept for the per-IP send throttle. */ requestIp: string | null createdAt: Date }, ExtArgs["result"]["customerOtp"]> composites: {} } type CustomerOtpGetPayload = $Result.GetResult type CustomerOtpCountArgs = Omit & { select?: CustomerOtpCountAggregateInputType | true } export interface CustomerOtpDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['CustomerOtp'], meta: { name: 'CustomerOtp' } } /** * Find zero or one CustomerOtp that matches the filter. * @param {CustomerOtpFindUniqueArgs} args - Arguments to find a CustomerOtp * @example * // Get one CustomerOtp * const customerOtp = await prisma.customerOtp.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__CustomerOtpClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one CustomerOtp that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {CustomerOtpFindUniqueOrThrowArgs} args - Arguments to find a CustomerOtp * @example * // Get one CustomerOtp * const customerOtp = await prisma.customerOtp.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__CustomerOtpClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first CustomerOtp 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 {CustomerOtpFindFirstArgs} args - Arguments to find a CustomerOtp * @example * // Get one CustomerOtp * const customerOtp = await prisma.customerOtp.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__CustomerOtpClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first CustomerOtp 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 {CustomerOtpFindFirstOrThrowArgs} args - Arguments to find a CustomerOtp * @example * // Get one CustomerOtp * const customerOtp = await prisma.customerOtp.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__CustomerOtpClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more CustomerOtps 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 {CustomerOtpFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all CustomerOtps * const customerOtps = await prisma.customerOtp.findMany() * * // Get first 10 CustomerOtps * const customerOtps = await prisma.customerOtp.findMany({ take: 10 }) * * // Only select the `id` * const customerOtpWithIdOnly = await prisma.customerOtp.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a CustomerOtp. * @param {CustomerOtpCreateArgs} args - Arguments to create a CustomerOtp. * @example * // Create one CustomerOtp * const CustomerOtp = await prisma.customerOtp.create({ * data: { * // ... data to create a CustomerOtp * } * }) * */ create(args: SelectSubset>): Prisma__CustomerOtpClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many CustomerOtps. * @param {CustomerOtpCreateManyArgs} args - Arguments to create many CustomerOtps. * @example * // Create many CustomerOtps * const customerOtp = await prisma.customerOtp.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many CustomerOtps and returns the data saved in the database. * @param {CustomerOtpCreateManyAndReturnArgs} args - Arguments to create many CustomerOtps. * @example * // Create many CustomerOtps * const customerOtp = await prisma.customerOtp.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many CustomerOtps and only return the `id` * const customerOtpWithIdOnly = await prisma.customerOtp.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a CustomerOtp. * @param {CustomerOtpDeleteArgs} args - Arguments to delete one CustomerOtp. * @example * // Delete one CustomerOtp * const CustomerOtp = await prisma.customerOtp.delete({ * where: { * // ... filter to delete one CustomerOtp * } * }) * */ delete(args: SelectSubset>): Prisma__CustomerOtpClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one CustomerOtp. * @param {CustomerOtpUpdateArgs} args - Arguments to update one CustomerOtp. * @example * // Update one CustomerOtp * const customerOtp = await prisma.customerOtp.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__CustomerOtpClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more CustomerOtps. * @param {CustomerOtpDeleteManyArgs} args - Arguments to filter CustomerOtps to delete. * @example * // Delete a few CustomerOtps * const { count } = await prisma.customerOtp.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more CustomerOtps. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerOtpUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many CustomerOtps * const customerOtp = await prisma.customerOtp.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one CustomerOtp. * @param {CustomerOtpUpsertArgs} args - Arguments to update or create a CustomerOtp. * @example * // Update or create a CustomerOtp * const customerOtp = await prisma.customerOtp.upsert({ * create: { * // ... data to create a CustomerOtp * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the CustomerOtp we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__CustomerOtpClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of CustomerOtps. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerOtpCountArgs} args - Arguments to filter CustomerOtps to count. * @example * // Count the number of CustomerOtps * const count = await prisma.customerOtp.count({ * where: { * // ... the filter for the CustomerOtps we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a CustomerOtp. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerOtpAggregateArgs} 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: Subset): Prisma.PrismaPromise> /** * Group by CustomerOtp. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CustomerOtpGroupByArgs} 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 CustomerOtpGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: CustomerOtpGroupByArgs['orderBy'] } : { orderBy?: CustomerOtpGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 Keys ? 'orderBy' extends Keys ? ByValid extends 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 True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCustomerOtpGroupByPayload : Prisma.PrismaPromise /** * Fields of the CustomerOtp model */ readonly fields: CustomerOtpFieldRefs; } /** * The delegate class that acts as a "Promise-like" for CustomerOtp. * 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__CustomerOtpClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" customer = {}>(args?: Subset>): Prisma__CustomerClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * 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): $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): $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): $Utils.JsPromise } /** * Fields of the CustomerOtp model */ interface CustomerOtpFieldRefs { readonly id: FieldRef<"CustomerOtp", 'String'> readonly mobile: FieldRef<"CustomerOtp", 'String'> readonly customerId: FieldRef<"CustomerOtp", 'String'> readonly codeHash: FieldRef<"CustomerOtp", 'String'> readonly expiresAt: FieldRef<"CustomerOtp", 'DateTime'> readonly attempts: FieldRef<"CustomerOtp", 'Int'> readonly consumedAt: FieldRef<"CustomerOtp", 'DateTime'> readonly requestIp: FieldRef<"CustomerOtp", 'String'> readonly createdAt: FieldRef<"CustomerOtp", 'DateTime'> } // Custom InputTypes /** * CustomerOtp findUnique */ export type CustomerOtpFindUniqueArgs = { /** * Select specific fields to fetch from the CustomerOtp */ select?: CustomerOtpSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerOtpInclude | null /** * Filter, which CustomerOtp to fetch. */ where: CustomerOtpWhereUniqueInput } /** * CustomerOtp findUniqueOrThrow */ export type CustomerOtpFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the CustomerOtp */ select?: CustomerOtpSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerOtpInclude | null /** * Filter, which CustomerOtp to fetch. */ where: CustomerOtpWhereUniqueInput } /** * CustomerOtp findFirst */ export type CustomerOtpFindFirstArgs = { /** * Select specific fields to fetch from the CustomerOtp */ select?: CustomerOtpSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerOtpInclude | null /** * Filter, which CustomerOtp to fetch. */ where?: CustomerOtpWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CustomerOtps to fetch. */ orderBy?: CustomerOtpOrderByWithRelationInput | CustomerOtpOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for CustomerOtps. */ cursor?: CustomerOtpWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CustomerOtps 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` CustomerOtps. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of CustomerOtps. */ distinct?: CustomerOtpScalarFieldEnum | CustomerOtpScalarFieldEnum[] } /** * CustomerOtp findFirstOrThrow */ export type CustomerOtpFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the CustomerOtp */ select?: CustomerOtpSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerOtpInclude | null /** * Filter, which CustomerOtp to fetch. */ where?: CustomerOtpWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CustomerOtps to fetch. */ orderBy?: CustomerOtpOrderByWithRelationInput | CustomerOtpOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for CustomerOtps. */ cursor?: CustomerOtpWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CustomerOtps 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` CustomerOtps. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of CustomerOtps. */ distinct?: CustomerOtpScalarFieldEnum | CustomerOtpScalarFieldEnum[] } /** * CustomerOtp findMany */ export type CustomerOtpFindManyArgs = { /** * Select specific fields to fetch from the CustomerOtp */ select?: CustomerOtpSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerOtpInclude | null /** * Filter, which CustomerOtps to fetch. */ where?: CustomerOtpWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CustomerOtps to fetch. */ orderBy?: CustomerOtpOrderByWithRelationInput | CustomerOtpOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing CustomerOtps. */ cursor?: CustomerOtpWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CustomerOtps 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` CustomerOtps. */ skip?: number distinct?: CustomerOtpScalarFieldEnum | CustomerOtpScalarFieldEnum[] } /** * CustomerOtp create */ export type CustomerOtpCreateArgs = { /** * Select specific fields to fetch from the CustomerOtp */ select?: CustomerOtpSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerOtpInclude | null /** * The data needed to create a CustomerOtp. */ data: XOR } /** * CustomerOtp createMany */ export type CustomerOtpCreateManyArgs = { /** * The data used to create many CustomerOtps. */ data: CustomerOtpCreateManyInput | CustomerOtpCreateManyInput[] skipDuplicates?: boolean } /** * CustomerOtp createManyAndReturn */ export type CustomerOtpCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the CustomerOtp */ select?: CustomerOtpSelectCreateManyAndReturn | null /** * The data used to create many CustomerOtps. */ data: CustomerOtpCreateManyInput | CustomerOtpCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: CustomerOtpIncludeCreateManyAndReturn | null } /** * CustomerOtp update */ export type CustomerOtpUpdateArgs = { /** * Select specific fields to fetch from the CustomerOtp */ select?: CustomerOtpSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerOtpInclude | null /** * The data needed to update a CustomerOtp. */ data: XOR /** * Choose, which CustomerOtp to update. */ where: CustomerOtpWhereUniqueInput } /** * CustomerOtp updateMany */ export type CustomerOtpUpdateManyArgs = { /** * The data used to update CustomerOtps. */ data: XOR /** * Filter which CustomerOtps to update */ where?: CustomerOtpWhereInput } /** * CustomerOtp upsert */ export type CustomerOtpUpsertArgs = { /** * Select specific fields to fetch from the CustomerOtp */ select?: CustomerOtpSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerOtpInclude | null /** * The filter to search for the CustomerOtp to update in case it exists. */ where: CustomerOtpWhereUniqueInput /** * In case the CustomerOtp found by the `where` argument doesn't exist, create a new CustomerOtp with this data. */ create: XOR /** * In case the CustomerOtp was found with the provided `where` argument, update it with this data. */ update: XOR } /** * CustomerOtp delete */ export type CustomerOtpDeleteArgs = { /** * Select specific fields to fetch from the CustomerOtp */ select?: CustomerOtpSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerOtpInclude | null /** * Filter which CustomerOtp to delete. */ where: CustomerOtpWhereUniqueInput } /** * CustomerOtp deleteMany */ export type CustomerOtpDeleteManyArgs = { /** * Filter which CustomerOtps to delete */ where?: CustomerOtpWhereInput } /** * CustomerOtp without action */ export type CustomerOtpDefaultArgs = { /** * Select specific fields to fetch from the CustomerOtp */ select?: CustomerOtpSelect | null /** * Choose, which related nodes to fetch as well */ include?: CustomerOtpInclude | null } /** * Enums */ export const TransactionIsolationLevel: { ReadUncommitted: 'ReadUncommitted', ReadCommitted: 'ReadCommitted', RepeatableRead: 'RepeatableRead', Serializable: 'Serializable' }; export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] export const CityScalarFieldEnum: { id: 'id', name: 'name', province: 'province', percent: 'percent', percentAux: 'percentAux' }; export type CityScalarFieldEnum = (typeof CityScalarFieldEnum)[keyof typeof CityScalarFieldEnum] export const AdminUserScalarFieldEnum: { id: 'id', fullName: 'fullName', firstName: 'firstName', lastName: 'lastName', mobile: 'mobile', passwordHash: 'passwordHash', role: 'role', userTypeId: 'userTypeId', branchId: 'branchId', wagePercent: 'wagePercent', isActive: 'isActive', createdAt: 'createdAt', avatarFileId: 'avatarFileId', address: 'address', storeName: 'storeName', pasazhName: 'pasazhName', memberCode: 'memberCode' }; export type AdminUserScalarFieldEnum = (typeof AdminUserScalarFieldEnum)[keyof typeof AdminUserScalarFieldEnum] export const AppSessionScalarFieldEnum: { id: 'id', jti: 'jti', subjectId: 'subjectId', subjectType: 'subjectType', mobile: 'mobile', iamSessionId: 'iamSessionId', iamSub: 'iamSub', ipAddress: 'ipAddress', userAgent: 'userAgent', createdAt: 'createdAt', expiresAt: 'expiresAt', lastSeenAt: 'lastSeenAt', revokedAt: 'revokedAt', revokedReason: 'revokedReason' }; export type AppSessionScalarFieldEnum = (typeof AppSessionScalarFieldEnum)[keyof typeof AppSessionScalarFieldEnum] export const AdminSessionScalarFieldEnum: { id: 'id', jti: 'jti', adminUserId: 'adminUserId', iamSessionId: 'iamSessionId', iamSub: 'iamSub', ipAddress: 'ipAddress', userAgent: 'userAgent', createdAt: 'createdAt', expiresAt: 'expiresAt', lastSeenAt: 'lastSeenAt', revokedAt: 'revokedAt', revokedReason: 'revokedReason' }; export type AdminSessionScalarFieldEnum = (typeof AdminSessionScalarFieldEnum)[keyof typeof AdminSessionScalarFieldEnum] export const SalesExpertProfileScalarFieldEnum: { id: 'id', adminUserId: 'adminUserId', cityId: 'cityId', gramLevel: 'gramLevel', phone: 'phone', nationalCode: 'nationalCode', tradingCustomerId: 'tradingCustomerId', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type SalesExpertProfileScalarFieldEnum = (typeof SalesExpertProfileScalarFieldEnum)[keyof typeof SalesExpertProfileScalarFieldEnum] export const CustomerScalarFieldEnum: { id: 'id', fullName: 'fullName', firstName: 'firstName', lastName: 'lastName', mobile: 'mobile', nationalCode: 'nationalCode', passwordHash: 'passwordHash', cityId: 'cityId', kind: 'kind', phone: 'phone', address: 'address', storeName: 'storeName', pasazhName: 'pasazhName', zone: 'zone', memberCode: 'memberCode', referredByAgentId: 'referredByAgentId', goldCreditLimitGrams: 'goldCreditLimitGrams', goldDebtGrams: 'goldDebtGrams', fiatDebtRial: 'fiatDebtRial', makingChargeOffsetPercent: 'makingChargeOffsetPercent', verificationStep: 'verificationStep', nationalIdImageUrl: 'nationalIdImageUrl', businessLicenseUrl: 'businessLicenseUrl', shopImageUrl: 'shopImageUrl', avatarFileId: 'avatarFileId', canPlaceOrders: 'canPlaceOrders', isActive: 'isActive', isArchived: 'isArchived', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type CustomerScalarFieldEnum = (typeof CustomerScalarFieldEnum)[keyof typeof CustomerScalarFieldEnum] export const CustomerAddressScalarFieldEnum: { id: 'id', customerId: 'customerId', cityId: 'cityId', addressLine: 'addressLine', isDefault: 'isDefault' }; export type CustomerAddressScalarFieldEnum = (typeof CustomerAddressScalarFieldEnum)[keyof typeof CustomerAddressScalarFieldEnum] export const BranchScalarFieldEnum: { id: 'id', name: 'name', address: 'address', phone: 'phone', isActive: 'isActive', cityId: 'cityId' }; export type BranchScalarFieldEnum = (typeof BranchScalarFieldEnum)[keyof typeof BranchScalarFieldEnum] export const WorkshopScalarFieldEnum: { id: 'id', name: 'name', address: 'address', phone: 'phone', supervisorId: 'supervisorId', isActive: 'isActive' }; export type WorkshopScalarFieldEnum = (typeof WorkshopScalarFieldEnum)[keyof typeof WorkshopScalarFieldEnum] export const CategoryScalarFieldEnum: { id: 'id', title: 'title', type: 'type', imageUrl: 'imageUrl', iconUrl: 'iconUrl', metaTag: 'metaTag', description: 'description', parentId: 'parentId' }; export type CategoryScalarFieldEnum = (typeof CategoryScalarFieldEnum)[keyof typeof CategoryScalarFieldEnum] export const BrandScalarFieldEnum: { id: 'id', title: 'title' }; export type BrandScalarFieldEnum = (typeof BrandScalarFieldEnum)[keyof typeof BrandScalarFieldEnum] export const CollectionScalarFieldEnum: { id: 'id', title: 'title', description: 'description', isActive: 'isActive' }; export type CollectionScalarFieldEnum = (typeof CollectionScalarFieldEnum)[keyof typeof CollectionScalarFieldEnum] export const CollectionProductScalarFieldEnum: { collectionId: 'collectionId', productId: 'productId' }; export type CollectionProductScalarFieldEnum = (typeof CollectionProductScalarFieldEnum)[keyof typeof CollectionProductScalarFieldEnum] export const ProductScalarFieldEnum: { id: 'id', title: 'title', description: 'description', categoryId: 'categoryId', brandId: 'brandId', productCode: 'productCode', showType: 'showType', isActive: 'isActive', createdAt: 'createdAt' }; export type ProductScalarFieldEnum = (typeof ProductScalarFieldEnum)[keyof typeof ProductScalarFieldEnum] export const ProductImageScalarFieldEnum: { id: 'id', productId: 'productId', url: 'url', sortOrder: 'sortOrder', role: 'role' }; export type ProductImageScalarFieldEnum = (typeof ProductImageScalarFieldEnum)[keyof typeof ProductImageScalarFieldEnum] export const ProductVariantScalarFieldEnum: { id: 'id', productId: 'productId', title: 'title', sku: 'sku', rashWeightGrams: 'rashWeightGrams', defaultWagePercent: 'defaultWagePercent', qty: 'qty', isPreOrder: 'isPreOrder', isActive: 'isActive', imageId: 'imageId' }; export type ProductVariantScalarFieldEnum = (typeof ProductVariantScalarFieldEnum)[keyof typeof ProductVariantScalarFieldEnum] export const OrderScalarFieldEnum: { id: 'id', orderNumber: 'orderNumber', customerId: 'customerId', branchId: 'branchId', channel: 'channel', status: 'status', totalGoldWeightGrams: 'totalGoldWeightGrams', wageWeightGrams: 'wageWeightGrams', flatRialCharge: 'flatRialCharge', isSuspendedOverCreditLimit: 'isSuspendedOverCreditLimit', deliveredAt: 'deliveredAt', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type OrderScalarFieldEnum = (typeof OrderScalarFieldEnum)[keyof typeof OrderScalarFieldEnum] export const OrderItemScalarFieldEnum: { id: 'id', orderId: 'orderId', productVariantId: 'productVariantId', quantity: 'quantity', rashWeightGramsSnapshot: 'rashWeightGramsSnapshot', wagePercentSnapshot: 'wagePercentSnapshot', discountPercentSnapshot: 'discountPercentSnapshot', computedWeightGrams: 'computedWeightGrams', flatRialCharge: 'flatRialCharge' }; export type OrderItemScalarFieldEnum = (typeof OrderItemScalarFieldEnum)[keyof typeof OrderItemScalarFieldEnum] export const OrderStatusEventScalarFieldEnum: { id: 'id', orderId: 'orderId', fromStatus: 'fromStatus', toStatus: 'toStatus', note: 'note', actorAdminUserId: 'actorAdminUserId', createdAt: 'createdAt' }; export type OrderStatusEventScalarFieldEnum = (typeof OrderStatusEventScalarFieldEnum)[keyof typeof OrderStatusEventScalarFieldEnum] export const PreOrderScalarFieldEnum: { id: 'id', customerId: 'customerId', cityId: 'cityId', workshopId: 'workshopId', status: 'status', designImageUrl: 'designImageUrl', colorName: 'colorName', sizeSpec: 'sizeSpec', stoneColor: 'stoneColor', minaColor: 'minaColor', estimatedWeightGrams: 'estimatedWeightGrams', estimatedPriceRial: 'estimatedPriceRial', description: 'description', convertedOrderId: 'convertedOrderId', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type PreOrderScalarFieldEnum = (typeof PreOrderScalarFieldEnum)[keyof typeof PreOrderScalarFieldEnum] export const PreOrderStatusEventScalarFieldEnum: { id: 'id', preOrderId: 'preOrderId', changes: 'changes', actorAdminUserId: 'actorAdminUserId', ipAddress: 'ipAddress', createdAt: 'createdAt' }; export type PreOrderStatusEventScalarFieldEnum = (typeof PreOrderStatusEventScalarFieldEnum)[keyof typeof PreOrderStatusEventScalarFieldEnum] export const LedgerEntryScalarFieldEnum: { id: 'id', customerId: 'customerId', currency: 'currency', direction: 'direction', sourceType: 'sourceType', amount: 'amount', karatPerMille: 'karatPerMille', pricePerGramRialAtEntry: 'pricePerGramRialAtEntry', orderId: 'orderId', confirmed: 'confirmed', confirmedAt: 'confirmedAt', postedByAdminUserId: 'postedByAdminUserId', labName: 'labName', hallmark: 'hallmark', accountName: 'accountName', bankName: 'bankName', transferTo: 'transferTo', originalValue: 'originalValue', priceRial: 'priceRial', receivedAt: 'receivedAt', note: 'note', createdAt: 'createdAt' }; export type LedgerEntryScalarFieldEnum = (typeof LedgerEntryScalarFieldEnum)[keyof typeof LedgerEntryScalarFieldEnum] export const GoldPriceQuoteScalarFieldEnum: { id: 'id', karatPerMille: 'karatPerMille', pricePerGramRial: 'pricePerGramRial', source: 'source', quotedAt: 'quotedAt' }; export type GoldPriceQuoteScalarFieldEnum = (typeof GoldPriceQuoteScalarFieldEnum)[keyof typeof GoldPriceQuoteScalarFieldEnum] export const WalletBonusScalarFieldEnum: { id: 'id', customerId: 'customerId', orderId: 'orderId', goldGrams: 'goldGrams', grantedAt: 'grantedAt', expiresAt: 'expiresAt', consumedAt: 'consumedAt', isActive: 'isActive' }; export type WalletBonusScalarFieldEnum = (typeof WalletBonusScalarFieldEnum)[keyof typeof WalletBonusScalarFieldEnum] export const UserTypeScalarFieldEnum: { id: 'id', title: 'title', isActive: 'isActive', createdAt: 'createdAt' }; export type UserTypeScalarFieldEnum = (typeof UserTypeScalarFieldEnum)[keyof typeof UserTypeScalarFieldEnum] export const PermissionScalarFieldEnum: { rid: 'rid', userTypeId: 'userTypeId' }; export type PermissionScalarFieldEnum = (typeof PermissionScalarFieldEnum)[keyof typeof PermissionScalarFieldEnum] export const CommentScalarFieldEnum: { id: 'id', productId: 'productId', customerId: 'customerId', body: 'body', status: 'status', replyToId: 'replyToId', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type CommentScalarFieldEnum = (typeof CommentScalarFieldEnum)[keyof typeof CommentScalarFieldEnum] export const SettingScalarFieldEnum: { key: 'key', value: 'value', updatedAt: 'updatedAt' }; export type SettingScalarFieldEnum = (typeof SettingScalarFieldEnum)[keyof typeof SettingScalarFieldEnum] export const PromotionScalarFieldEnum: { id: 'id', title: 'title', description: 'description', scope: 'scope', usage: 'usage', discountPercent: 'discountPercent', isActive: 'isActive', platform: 'platform', startsAt: 'startsAt', endsAt: 'endsAt', productId: 'productId', categoryId: 'categoryId', customerId: 'customerId', brandId: 'brandId', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type PromotionScalarFieldEnum = (typeof PromotionScalarFieldEnum)[keyof typeof PromotionScalarFieldEnum] export const PromotionExclusionScalarFieldEnum: { id: 'id', type: 'type', itemId: 'itemId', createdAt: 'createdAt' }; export type PromotionExclusionScalarFieldEnum = (typeof PromotionExclusionScalarFieldEnum)[keyof typeof PromotionExclusionScalarFieldEnum] export const BranchAllocationScalarFieldEnum: { id: 'id', branchId: 'branchId', allocatorAdminUserId: 'allocatorAdminUserId', note: 'note', createdAt: 'createdAt' }; export type BranchAllocationScalarFieldEnum = (typeof BranchAllocationScalarFieldEnum)[keyof typeof BranchAllocationScalarFieldEnum] export const BranchAllocationItemScalarFieldEnum: { id: 'id', allocationId: 'allocationId', productId: 'productId', weightGrams: 'weightGrams' }; export type BranchAllocationItemScalarFieldEnum = (typeof BranchAllocationItemScalarFieldEnum)[keyof typeof BranchAllocationItemScalarFieldEnum] export const SmsMessageScalarFieldEnum: { id: 'id', audience: 'audience', recipients: 'recipients', body: 'body', sentCount: 'sentCount', sentByAdminUserId: 'sentByAdminUserId', createdAt: 'createdAt' }; export type SmsMessageScalarFieldEnum = (typeof SmsMessageScalarFieldEnum)[keyof typeof SmsMessageScalarFieldEnum] export const NotificationScalarFieldEnum: { id: 'id', title: 'title', body: 'body', audience: 'audience', sentByAdminUserId: 'sentByAdminUserId', createdAt: 'createdAt' }; export type NotificationScalarFieldEnum = (typeof NotificationScalarFieldEnum)[keyof typeof NotificationScalarFieldEnum] export const NotificationRecipientScalarFieldEnum: { id: 'id', notificationId: 'notificationId', customerId: 'customerId', readAt: 'readAt' }; export type NotificationRecipientScalarFieldEnum = (typeof NotificationRecipientScalarFieldEnum)[keyof typeof NotificationRecipientScalarFieldEnum] export const NewsletterSubscriberScalarFieldEnum: { id: 'id', email: 'email', mobile: 'mobile', createdAt: 'createdAt' }; export type NewsletterSubscriberScalarFieldEnum = (typeof NewsletterSubscriberScalarFieldEnum)[keyof typeof NewsletterSubscriberScalarFieldEnum] export const CustomerActivityLogScalarFieldEnum: { id: 'id', customerId: 'customerId', action: 'action', detail: 'detail', createdAt: 'createdAt' }; export type CustomerActivityLogScalarFieldEnum = (typeof CustomerActivityLogScalarFieldEnum)[keyof typeof CustomerActivityLogScalarFieldEnum] export const UploadedFileScalarFieldEnum: { id: 'id', url: 'url', originalName: 'originalName', mimeType: 'mimeType', sizeBytes: 'sizeBytes', purpose: 'purpose', uploadedByAdminUserId: 'uploadedByAdminUserId', createdAt: 'createdAt' }; export type UploadedFileScalarFieldEnum = (typeof UploadedFileScalarFieldEnum)[keyof typeof UploadedFileScalarFieldEnum] export const CustomerOtpScalarFieldEnum: { id: 'id', mobile: 'mobile', customerId: 'customerId', codeHash: 'codeHash', expiresAt: 'expiresAt', attempts: 'attempts', consumedAt: 'consumedAt', requestIp: 'requestIp', createdAt: 'createdAt' }; export type CustomerOtpScalarFieldEnum = (typeof CustomerOtpScalarFieldEnum)[keyof typeof CustomerOtpScalarFieldEnum] export const SortOrder: { asc: 'asc', desc: 'desc' }; export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] export const JsonNullValueInput: { JsonNull: typeof JsonNull }; export type JsonNullValueInput = (typeof JsonNullValueInput)[keyof typeof JsonNullValueInput] export const QueryMode: { default: 'default', insensitive: 'insensitive' }; export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] export const NullsOrder: { first: 'first', last: 'last' }; export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder] export const JsonNullValueFilter: { DbNull: typeof DbNull, JsonNull: typeof JsonNull, AnyNull: typeof AnyNull }; export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter] /** * Field references */ /** * Reference to a field of type 'String' */ export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String'> /** * Reference to a field of type 'String[]' */ export type ListStringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String[]'> /** * Reference to a field of type 'Decimal' */ export type DecimalFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Decimal'> /** * Reference to a field of type 'Decimal[]' */ export type ListDecimalFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Decimal[]'> /** * Reference to a field of type 'AdminRole' */ export type EnumAdminRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'AdminRole'> /** * Reference to a field of type 'AdminRole[]' */ export type ListEnumAdminRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'AdminRole[]'> /** * Reference to a field of type 'Int' */ export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'> /** * Reference to a field of type 'Int[]' */ export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int[]'> /** * Reference to a field of type 'Boolean' */ export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> /** * Reference to a field of type 'DateTime' */ export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> /** * Reference to a field of type 'DateTime[]' */ export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'> /** * Reference to a field of type 'CustomerKind' */ export type EnumCustomerKindFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'CustomerKind'> /** * Reference to a field of type 'CustomerKind[]' */ export type ListEnumCustomerKindFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'CustomerKind[]'> /** * Reference to a field of type 'VerificationStep' */ export type EnumVerificationStepFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'VerificationStep'> /** * Reference to a field of type 'VerificationStep[]' */ export type ListEnumVerificationStepFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'VerificationStep[]'> /** * Reference to a field of type 'ProductImageRole' */ export type EnumProductImageRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ProductImageRole'> /** * Reference to a field of type 'ProductImageRole[]' */ export type ListEnumProductImageRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ProductImageRole[]'> /** * Reference to a field of type 'OrderChannel' */ export type EnumOrderChannelFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'OrderChannel'> /** * Reference to a field of type 'OrderChannel[]' */ export type ListEnumOrderChannelFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'OrderChannel[]'> /** * Reference to a field of type 'OrderStatus' */ export type EnumOrderStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'OrderStatus'> /** * Reference to a field of type 'OrderStatus[]' */ export type ListEnumOrderStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'OrderStatus[]'> /** * Reference to a field of type 'PreOrderStatus' */ export type EnumPreOrderStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'PreOrderStatus'> /** * Reference to a field of type 'PreOrderStatus[]' */ export type ListEnumPreOrderStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'PreOrderStatus[]'> /** * Reference to a field of type 'Json' */ export type JsonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Json'> /** * Reference to a field of type 'LedgerCurrency' */ export type EnumLedgerCurrencyFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'LedgerCurrency'> /** * Reference to a field of type 'LedgerCurrency[]' */ export type ListEnumLedgerCurrencyFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'LedgerCurrency[]'> /** * Reference to a field of type 'LedgerDirection' */ export type EnumLedgerDirectionFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'LedgerDirection'> /** * Reference to a field of type 'LedgerDirection[]' */ export type ListEnumLedgerDirectionFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'LedgerDirection[]'> /** * Reference to a field of type 'LedgerSourceType' */ export type EnumLedgerSourceTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'LedgerSourceType'> /** * Reference to a field of type 'LedgerSourceType[]' */ export type ListEnumLedgerSourceTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'LedgerSourceType[]'> /** * Reference to a field of type 'CommentStatus' */ export type EnumCommentStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'CommentStatus'> /** * Reference to a field of type 'CommentStatus[]' */ export type ListEnumCommentStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'CommentStatus[]'> /** * Reference to a field of type 'PromotionScope' */ export type EnumPromotionScopeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'PromotionScope'> /** * Reference to a field of type 'PromotionScope[]' */ export type ListEnumPromotionScopeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'PromotionScope[]'> /** * Reference to a field of type 'PromotionUsage' */ export type EnumPromotionUsageFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'PromotionUsage'> /** * Reference to a field of type 'PromotionUsage[]' */ export type ListEnumPromotionUsageFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'PromotionUsage[]'> /** * Reference to a field of type 'MessageAudience' */ export type EnumMessageAudienceFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MessageAudience'> /** * Reference to a field of type 'MessageAudience[]' */ export type ListEnumMessageAudienceFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MessageAudience[]'> /** * Reference to a field of type 'Float' */ export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> /** * Reference to a field of type 'Float[]' */ export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'> /** * Deep Input Types */ export type CityWhereInput = { AND?: CityWhereInput | CityWhereInput[] OR?: CityWhereInput[] NOT?: CityWhereInput | CityWhereInput[] id?: StringFilter<"City"> | string name?: StringFilter<"City"> | string province?: StringNullableFilter<"City"> | string | null percent?: DecimalNullableFilter<"City"> | Decimal | DecimalJsLike | number | string | null percentAux?: DecimalNullableFilter<"City"> | Decimal | DecimalJsLike | number | string | null customers?: CustomerListRelationFilter addresses?: CustomerAddressListRelationFilter branches?: BranchListRelationFilter preOrders?: PreOrderListRelationFilter salesExpertProfiles?: SalesExpertProfileListRelationFilter } export type CityOrderByWithRelationInput = { id?: SortOrder name?: SortOrder province?: SortOrderInput | SortOrder percent?: SortOrderInput | SortOrder percentAux?: SortOrderInput | SortOrder customers?: CustomerOrderByRelationAggregateInput addresses?: CustomerAddressOrderByRelationAggregateInput branches?: BranchOrderByRelationAggregateInput preOrders?: PreOrderOrderByRelationAggregateInput salesExpertProfiles?: SalesExpertProfileOrderByRelationAggregateInput } export type CityWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: CityWhereInput | CityWhereInput[] OR?: CityWhereInput[] NOT?: CityWhereInput | CityWhereInput[] name?: StringFilter<"City"> | string province?: StringNullableFilter<"City"> | string | null percent?: DecimalNullableFilter<"City"> | Decimal | DecimalJsLike | number | string | null percentAux?: DecimalNullableFilter<"City"> | Decimal | DecimalJsLike | number | string | null customers?: CustomerListRelationFilter addresses?: CustomerAddressListRelationFilter branches?: BranchListRelationFilter preOrders?: PreOrderListRelationFilter salesExpertProfiles?: SalesExpertProfileListRelationFilter }, "id"> export type CityOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder province?: SortOrderInput | SortOrder percent?: SortOrderInput | SortOrder percentAux?: SortOrderInput | SortOrder _count?: CityCountOrderByAggregateInput _avg?: CityAvgOrderByAggregateInput _max?: CityMaxOrderByAggregateInput _min?: CityMinOrderByAggregateInput _sum?: CitySumOrderByAggregateInput } export type CityScalarWhereWithAggregatesInput = { AND?: CityScalarWhereWithAggregatesInput | CityScalarWhereWithAggregatesInput[] OR?: CityScalarWhereWithAggregatesInput[] NOT?: CityScalarWhereWithAggregatesInput | CityScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"City"> | string name?: StringWithAggregatesFilter<"City"> | string province?: StringNullableWithAggregatesFilter<"City"> | string | null percent?: DecimalNullableWithAggregatesFilter<"City"> | Decimal | DecimalJsLike | number | string | null percentAux?: DecimalNullableWithAggregatesFilter<"City"> | Decimal | DecimalJsLike | number | string | null } export type AdminUserWhereInput = { AND?: AdminUserWhereInput | AdminUserWhereInput[] OR?: AdminUserWhereInput[] NOT?: AdminUserWhereInput | AdminUserWhereInput[] id?: StringFilter<"AdminUser"> | string fullName?: StringFilter<"AdminUser"> | string firstName?: StringNullableFilter<"AdminUser"> | string | null lastName?: StringNullableFilter<"AdminUser"> | string | null mobile?: StringFilter<"AdminUser"> | string passwordHash?: StringFilter<"AdminUser"> | string role?: EnumAdminRoleFilter<"AdminUser"> | $Enums.AdminRole userTypeId?: IntNullableFilter<"AdminUser"> | number | null branchId?: StringNullableFilter<"AdminUser"> | string | null wagePercent?: DecimalNullableFilter<"AdminUser"> | Decimal | DecimalJsLike | number | string | null isActive?: BoolFilter<"AdminUser"> | boolean createdAt?: DateTimeFilter<"AdminUser"> | Date | string avatarFileId?: StringNullableFilter<"AdminUser"> | string | null address?: StringNullableFilter<"AdminUser"> | string | null storeName?: StringNullableFilter<"AdminUser"> | string | null pasazhName?: StringNullableFilter<"AdminUser"> | string | null memberCode?: StringNullableFilter<"AdminUser"> | string | null userType?: XOR | null branch?: XOR | null avatarFile?: XOR | null referredCustomers?: CustomerListRelationFilter supervisedWorkshops?: WorkshopListRelationFilter branchAllocations?: BranchAllocationListRelationFilter postedLedgerEntries?: LedgerEntryListRelationFilter orderStatusEvents?: OrderStatusEventListRelationFilter preOrderStatusEvents?: PreOrderStatusEventListRelationFilter sentSmsMessages?: SmsMessageListRelationFilter sentNotifications?: NotificationListRelationFilter uploadedFiles?: UploadedFileListRelationFilter salesExpertProfile?: XOR | null sessions?: AdminSessionListRelationFilter } export type AdminUserOrderByWithRelationInput = { id?: SortOrder fullName?: SortOrder firstName?: SortOrderInput | SortOrder lastName?: SortOrderInput | SortOrder mobile?: SortOrder passwordHash?: SortOrder role?: SortOrder userTypeId?: SortOrderInput | SortOrder branchId?: SortOrderInput | SortOrder wagePercent?: SortOrderInput | SortOrder isActive?: SortOrder createdAt?: SortOrder avatarFileId?: SortOrderInput | SortOrder address?: SortOrderInput | SortOrder storeName?: SortOrderInput | SortOrder pasazhName?: SortOrderInput | SortOrder memberCode?: SortOrderInput | SortOrder userType?: UserTypeOrderByWithRelationInput branch?: BranchOrderByWithRelationInput avatarFile?: UploadedFileOrderByWithRelationInput referredCustomers?: CustomerOrderByRelationAggregateInput supervisedWorkshops?: WorkshopOrderByRelationAggregateInput branchAllocations?: BranchAllocationOrderByRelationAggregateInput postedLedgerEntries?: LedgerEntryOrderByRelationAggregateInput orderStatusEvents?: OrderStatusEventOrderByRelationAggregateInput preOrderStatusEvents?: PreOrderStatusEventOrderByRelationAggregateInput sentSmsMessages?: SmsMessageOrderByRelationAggregateInput sentNotifications?: NotificationOrderByRelationAggregateInput uploadedFiles?: UploadedFileOrderByRelationAggregateInput salesExpertProfile?: SalesExpertProfileOrderByWithRelationInput sessions?: AdminSessionOrderByRelationAggregateInput } export type AdminUserWhereUniqueInput = Prisma.AtLeast<{ id?: string mobile?: string AND?: AdminUserWhereInput | AdminUserWhereInput[] OR?: AdminUserWhereInput[] NOT?: AdminUserWhereInput | AdminUserWhereInput[] fullName?: StringFilter<"AdminUser"> | string firstName?: StringNullableFilter<"AdminUser"> | string | null lastName?: StringNullableFilter<"AdminUser"> | string | null passwordHash?: StringFilter<"AdminUser"> | string role?: EnumAdminRoleFilter<"AdminUser"> | $Enums.AdminRole userTypeId?: IntNullableFilter<"AdminUser"> | number | null branchId?: StringNullableFilter<"AdminUser"> | string | null wagePercent?: DecimalNullableFilter<"AdminUser"> | Decimal | DecimalJsLike | number | string | null isActive?: BoolFilter<"AdminUser"> | boolean createdAt?: DateTimeFilter<"AdminUser"> | Date | string avatarFileId?: StringNullableFilter<"AdminUser"> | string | null address?: StringNullableFilter<"AdminUser"> | string | null storeName?: StringNullableFilter<"AdminUser"> | string | null pasazhName?: StringNullableFilter<"AdminUser"> | string | null memberCode?: StringNullableFilter<"AdminUser"> | string | null userType?: XOR | null branch?: XOR | null avatarFile?: XOR | null referredCustomers?: CustomerListRelationFilter supervisedWorkshops?: WorkshopListRelationFilter branchAllocations?: BranchAllocationListRelationFilter postedLedgerEntries?: LedgerEntryListRelationFilter orderStatusEvents?: OrderStatusEventListRelationFilter preOrderStatusEvents?: PreOrderStatusEventListRelationFilter sentSmsMessages?: SmsMessageListRelationFilter sentNotifications?: NotificationListRelationFilter uploadedFiles?: UploadedFileListRelationFilter salesExpertProfile?: XOR | null sessions?: AdminSessionListRelationFilter }, "id" | "mobile"> export type AdminUserOrderByWithAggregationInput = { id?: SortOrder fullName?: SortOrder firstName?: SortOrderInput | SortOrder lastName?: SortOrderInput | SortOrder mobile?: SortOrder passwordHash?: SortOrder role?: SortOrder userTypeId?: SortOrderInput | SortOrder branchId?: SortOrderInput | SortOrder wagePercent?: SortOrderInput | SortOrder isActive?: SortOrder createdAt?: SortOrder avatarFileId?: SortOrderInput | SortOrder address?: SortOrderInput | SortOrder storeName?: SortOrderInput | SortOrder pasazhName?: SortOrderInput | SortOrder memberCode?: SortOrderInput | SortOrder _count?: AdminUserCountOrderByAggregateInput _avg?: AdminUserAvgOrderByAggregateInput _max?: AdminUserMaxOrderByAggregateInput _min?: AdminUserMinOrderByAggregateInput _sum?: AdminUserSumOrderByAggregateInput } export type AdminUserScalarWhereWithAggregatesInput = { AND?: AdminUserScalarWhereWithAggregatesInput | AdminUserScalarWhereWithAggregatesInput[] OR?: AdminUserScalarWhereWithAggregatesInput[] NOT?: AdminUserScalarWhereWithAggregatesInput | AdminUserScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"AdminUser"> | string fullName?: StringWithAggregatesFilter<"AdminUser"> | string firstName?: StringNullableWithAggregatesFilter<"AdminUser"> | string | null lastName?: StringNullableWithAggregatesFilter<"AdminUser"> | string | null mobile?: StringWithAggregatesFilter<"AdminUser"> | string passwordHash?: StringWithAggregatesFilter<"AdminUser"> | string role?: EnumAdminRoleWithAggregatesFilter<"AdminUser"> | $Enums.AdminRole userTypeId?: IntNullableWithAggregatesFilter<"AdminUser"> | number | null branchId?: StringNullableWithAggregatesFilter<"AdminUser"> | string | null wagePercent?: DecimalNullableWithAggregatesFilter<"AdminUser"> | Decimal | DecimalJsLike | number | string | null isActive?: BoolWithAggregatesFilter<"AdminUser"> | boolean createdAt?: DateTimeWithAggregatesFilter<"AdminUser"> | Date | string avatarFileId?: StringNullableWithAggregatesFilter<"AdminUser"> | string | null address?: StringNullableWithAggregatesFilter<"AdminUser"> | string | null storeName?: StringNullableWithAggregatesFilter<"AdminUser"> | string | null pasazhName?: StringNullableWithAggregatesFilter<"AdminUser"> | string | null memberCode?: StringNullableWithAggregatesFilter<"AdminUser"> | string | null } export type AppSessionWhereInput = { AND?: AppSessionWhereInput | AppSessionWhereInput[] OR?: AppSessionWhereInput[] NOT?: AppSessionWhereInput | AppSessionWhereInput[] id?: StringFilter<"AppSession"> | string jti?: StringFilter<"AppSession"> | string subjectId?: StringFilter<"AppSession"> | string subjectType?: StringFilter<"AppSession"> | string mobile?: StringNullableFilter<"AppSession"> | string | null iamSessionId?: StringNullableFilter<"AppSession"> | string | null iamSub?: StringNullableFilter<"AppSession"> | string | null ipAddress?: StringNullableFilter<"AppSession"> | string | null userAgent?: StringNullableFilter<"AppSession"> | string | null createdAt?: DateTimeFilter<"AppSession"> | Date | string expiresAt?: DateTimeNullableFilter<"AppSession"> | Date | string | null lastSeenAt?: DateTimeNullableFilter<"AppSession"> | Date | string | null revokedAt?: DateTimeNullableFilter<"AppSession"> | Date | string | null revokedReason?: StringNullableFilter<"AppSession"> | string | null } export type AppSessionOrderByWithRelationInput = { id?: SortOrder jti?: SortOrder subjectId?: SortOrder subjectType?: SortOrder mobile?: SortOrderInput | SortOrder iamSessionId?: SortOrderInput | SortOrder iamSub?: SortOrderInput | SortOrder ipAddress?: SortOrderInput | SortOrder userAgent?: SortOrderInput | SortOrder createdAt?: SortOrder expiresAt?: SortOrderInput | SortOrder lastSeenAt?: SortOrderInput | SortOrder revokedAt?: SortOrderInput | SortOrder revokedReason?: SortOrderInput | SortOrder } export type AppSessionWhereUniqueInput = Prisma.AtLeast<{ id?: string jti?: string AND?: AppSessionWhereInput | AppSessionWhereInput[] OR?: AppSessionWhereInput[] NOT?: AppSessionWhereInput | AppSessionWhereInput[] subjectId?: StringFilter<"AppSession"> | string subjectType?: StringFilter<"AppSession"> | string mobile?: StringNullableFilter<"AppSession"> | string | null iamSessionId?: StringNullableFilter<"AppSession"> | string | null iamSub?: StringNullableFilter<"AppSession"> | string | null ipAddress?: StringNullableFilter<"AppSession"> | string | null userAgent?: StringNullableFilter<"AppSession"> | string | null createdAt?: DateTimeFilter<"AppSession"> | Date | string expiresAt?: DateTimeNullableFilter<"AppSession"> | Date | string | null lastSeenAt?: DateTimeNullableFilter<"AppSession"> | Date | string | null revokedAt?: DateTimeNullableFilter<"AppSession"> | Date | string | null revokedReason?: StringNullableFilter<"AppSession"> | string | null }, "id" | "jti"> export type AppSessionOrderByWithAggregationInput = { id?: SortOrder jti?: SortOrder subjectId?: SortOrder subjectType?: SortOrder mobile?: SortOrderInput | SortOrder iamSessionId?: SortOrderInput | SortOrder iamSub?: SortOrderInput | SortOrder ipAddress?: SortOrderInput | SortOrder userAgent?: SortOrderInput | SortOrder createdAt?: SortOrder expiresAt?: SortOrderInput | SortOrder lastSeenAt?: SortOrderInput | SortOrder revokedAt?: SortOrderInput | SortOrder revokedReason?: SortOrderInput | SortOrder _count?: AppSessionCountOrderByAggregateInput _max?: AppSessionMaxOrderByAggregateInput _min?: AppSessionMinOrderByAggregateInput } export type AppSessionScalarWhereWithAggregatesInput = { AND?: AppSessionScalarWhereWithAggregatesInput | AppSessionScalarWhereWithAggregatesInput[] OR?: AppSessionScalarWhereWithAggregatesInput[] NOT?: AppSessionScalarWhereWithAggregatesInput | AppSessionScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"AppSession"> | string jti?: StringWithAggregatesFilter<"AppSession"> | string subjectId?: StringWithAggregatesFilter<"AppSession"> | string subjectType?: StringWithAggregatesFilter<"AppSession"> | string mobile?: StringNullableWithAggregatesFilter<"AppSession"> | string | null iamSessionId?: StringNullableWithAggregatesFilter<"AppSession"> | string | null iamSub?: StringNullableWithAggregatesFilter<"AppSession"> | string | null ipAddress?: StringNullableWithAggregatesFilter<"AppSession"> | string | null userAgent?: StringNullableWithAggregatesFilter<"AppSession"> | string | null createdAt?: DateTimeWithAggregatesFilter<"AppSession"> | Date | string expiresAt?: DateTimeNullableWithAggregatesFilter<"AppSession"> | Date | string | null lastSeenAt?: DateTimeNullableWithAggregatesFilter<"AppSession"> | Date | string | null revokedAt?: DateTimeNullableWithAggregatesFilter<"AppSession"> | Date | string | null revokedReason?: StringNullableWithAggregatesFilter<"AppSession"> | string | null } export type AdminSessionWhereInput = { AND?: AdminSessionWhereInput | AdminSessionWhereInput[] OR?: AdminSessionWhereInput[] NOT?: AdminSessionWhereInput | AdminSessionWhereInput[] id?: StringFilter<"AdminSession"> | string jti?: StringFilter<"AdminSession"> | string adminUserId?: StringFilter<"AdminSession"> | string iamSessionId?: StringNullableFilter<"AdminSession"> | string | null iamSub?: StringNullableFilter<"AdminSession"> | string | null ipAddress?: StringNullableFilter<"AdminSession"> | string | null userAgent?: StringNullableFilter<"AdminSession"> | string | null createdAt?: DateTimeFilter<"AdminSession"> | Date | string expiresAt?: DateTimeNullableFilter<"AdminSession"> | Date | string | null lastSeenAt?: DateTimeNullableFilter<"AdminSession"> | Date | string | null revokedAt?: DateTimeNullableFilter<"AdminSession"> | Date | string | null revokedReason?: StringNullableFilter<"AdminSession"> | string | null adminUser?: XOR } export type AdminSessionOrderByWithRelationInput = { id?: SortOrder jti?: SortOrder adminUserId?: SortOrder iamSessionId?: SortOrderInput | SortOrder iamSub?: SortOrderInput | SortOrder ipAddress?: SortOrderInput | SortOrder userAgent?: SortOrderInput | SortOrder createdAt?: SortOrder expiresAt?: SortOrderInput | SortOrder lastSeenAt?: SortOrderInput | SortOrder revokedAt?: SortOrderInput | SortOrder revokedReason?: SortOrderInput | SortOrder adminUser?: AdminUserOrderByWithRelationInput } export type AdminSessionWhereUniqueInput = Prisma.AtLeast<{ id?: string jti?: string AND?: AdminSessionWhereInput | AdminSessionWhereInput[] OR?: AdminSessionWhereInput[] NOT?: AdminSessionWhereInput | AdminSessionWhereInput[] adminUserId?: StringFilter<"AdminSession"> | string iamSessionId?: StringNullableFilter<"AdminSession"> | string | null iamSub?: StringNullableFilter<"AdminSession"> | string | null ipAddress?: StringNullableFilter<"AdminSession"> | string | null userAgent?: StringNullableFilter<"AdminSession"> | string | null createdAt?: DateTimeFilter<"AdminSession"> | Date | string expiresAt?: DateTimeNullableFilter<"AdminSession"> | Date | string | null lastSeenAt?: DateTimeNullableFilter<"AdminSession"> | Date | string | null revokedAt?: DateTimeNullableFilter<"AdminSession"> | Date | string | null revokedReason?: StringNullableFilter<"AdminSession"> | string | null adminUser?: XOR }, "id" | "jti"> export type AdminSessionOrderByWithAggregationInput = { id?: SortOrder jti?: SortOrder adminUserId?: SortOrder iamSessionId?: SortOrderInput | SortOrder iamSub?: SortOrderInput | SortOrder ipAddress?: SortOrderInput | SortOrder userAgent?: SortOrderInput | SortOrder createdAt?: SortOrder expiresAt?: SortOrderInput | SortOrder lastSeenAt?: SortOrderInput | SortOrder revokedAt?: SortOrderInput | SortOrder revokedReason?: SortOrderInput | SortOrder _count?: AdminSessionCountOrderByAggregateInput _max?: AdminSessionMaxOrderByAggregateInput _min?: AdminSessionMinOrderByAggregateInput } export type AdminSessionScalarWhereWithAggregatesInput = { AND?: AdminSessionScalarWhereWithAggregatesInput | AdminSessionScalarWhereWithAggregatesInput[] OR?: AdminSessionScalarWhereWithAggregatesInput[] NOT?: AdminSessionScalarWhereWithAggregatesInput | AdminSessionScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"AdminSession"> | string jti?: StringWithAggregatesFilter<"AdminSession"> | string adminUserId?: StringWithAggregatesFilter<"AdminSession"> | string iamSessionId?: StringNullableWithAggregatesFilter<"AdminSession"> | string | null iamSub?: StringNullableWithAggregatesFilter<"AdminSession"> | string | null ipAddress?: StringNullableWithAggregatesFilter<"AdminSession"> | string | null userAgent?: StringNullableWithAggregatesFilter<"AdminSession"> | string | null createdAt?: DateTimeWithAggregatesFilter<"AdminSession"> | Date | string expiresAt?: DateTimeNullableWithAggregatesFilter<"AdminSession"> | Date | string | null lastSeenAt?: DateTimeNullableWithAggregatesFilter<"AdminSession"> | Date | string | null revokedAt?: DateTimeNullableWithAggregatesFilter<"AdminSession"> | Date | string | null revokedReason?: StringNullableWithAggregatesFilter<"AdminSession"> | string | null } export type SalesExpertProfileWhereInput = { AND?: SalesExpertProfileWhereInput | SalesExpertProfileWhereInput[] OR?: SalesExpertProfileWhereInput[] NOT?: SalesExpertProfileWhereInput | SalesExpertProfileWhereInput[] id?: StringFilter<"SalesExpertProfile"> | string adminUserId?: StringFilter<"SalesExpertProfile"> | string cityId?: StringNullableFilter<"SalesExpertProfile"> | string | null gramLevel?: DecimalFilter<"SalesExpertProfile"> | Decimal | DecimalJsLike | number | string phone?: StringNullableFilter<"SalesExpertProfile"> | string | null nationalCode?: StringNullableFilter<"SalesExpertProfile"> | string | null tradingCustomerId?: StringNullableFilter<"SalesExpertProfile"> | string | null createdAt?: DateTimeFilter<"SalesExpertProfile"> | Date | string updatedAt?: DateTimeFilter<"SalesExpertProfile"> | Date | string adminUser?: XOR city?: XOR | null tradingCustomer?: XOR | null } export type SalesExpertProfileOrderByWithRelationInput = { id?: SortOrder adminUserId?: SortOrder cityId?: SortOrderInput | SortOrder gramLevel?: SortOrder phone?: SortOrderInput | SortOrder nationalCode?: SortOrderInput | SortOrder tradingCustomerId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder adminUser?: AdminUserOrderByWithRelationInput city?: CityOrderByWithRelationInput tradingCustomer?: CustomerOrderByWithRelationInput } export type SalesExpertProfileWhereUniqueInput = Prisma.AtLeast<{ id?: string adminUserId?: string tradingCustomerId?: string AND?: SalesExpertProfileWhereInput | SalesExpertProfileWhereInput[] OR?: SalesExpertProfileWhereInput[] NOT?: SalesExpertProfileWhereInput | SalesExpertProfileWhereInput[] cityId?: StringNullableFilter<"SalesExpertProfile"> | string | null gramLevel?: DecimalFilter<"SalesExpertProfile"> | Decimal | DecimalJsLike | number | string phone?: StringNullableFilter<"SalesExpertProfile"> | string | null nationalCode?: StringNullableFilter<"SalesExpertProfile"> | string | null createdAt?: DateTimeFilter<"SalesExpertProfile"> | Date | string updatedAt?: DateTimeFilter<"SalesExpertProfile"> | Date | string adminUser?: XOR city?: XOR | null tradingCustomer?: XOR | null }, "id" | "adminUserId" | "tradingCustomerId"> export type SalesExpertProfileOrderByWithAggregationInput = { id?: SortOrder adminUserId?: SortOrder cityId?: SortOrderInput | SortOrder gramLevel?: SortOrder phone?: SortOrderInput | SortOrder nationalCode?: SortOrderInput | SortOrder tradingCustomerId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: SalesExpertProfileCountOrderByAggregateInput _avg?: SalesExpertProfileAvgOrderByAggregateInput _max?: SalesExpertProfileMaxOrderByAggregateInput _min?: SalesExpertProfileMinOrderByAggregateInput _sum?: SalesExpertProfileSumOrderByAggregateInput } export type SalesExpertProfileScalarWhereWithAggregatesInput = { AND?: SalesExpertProfileScalarWhereWithAggregatesInput | SalesExpertProfileScalarWhereWithAggregatesInput[] OR?: SalesExpertProfileScalarWhereWithAggregatesInput[] NOT?: SalesExpertProfileScalarWhereWithAggregatesInput | SalesExpertProfileScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"SalesExpertProfile"> | string adminUserId?: StringWithAggregatesFilter<"SalesExpertProfile"> | string cityId?: StringNullableWithAggregatesFilter<"SalesExpertProfile"> | string | null gramLevel?: DecimalWithAggregatesFilter<"SalesExpertProfile"> | Decimal | DecimalJsLike | number | string phone?: StringNullableWithAggregatesFilter<"SalesExpertProfile"> | string | null nationalCode?: StringNullableWithAggregatesFilter<"SalesExpertProfile"> | string | null tradingCustomerId?: StringNullableWithAggregatesFilter<"SalesExpertProfile"> | string | null createdAt?: DateTimeWithAggregatesFilter<"SalesExpertProfile"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"SalesExpertProfile"> | Date | string } export type CustomerWhereInput = { AND?: CustomerWhereInput | CustomerWhereInput[] OR?: CustomerWhereInput[] NOT?: CustomerWhereInput | CustomerWhereInput[] id?: StringFilter<"Customer"> | string fullName?: StringFilter<"Customer"> | string firstName?: StringNullableFilter<"Customer"> | string | null lastName?: StringNullableFilter<"Customer"> | string | null mobile?: StringFilter<"Customer"> | string nationalCode?: StringFilter<"Customer"> | string passwordHash?: StringFilter<"Customer"> | string cityId?: StringNullableFilter<"Customer"> | string | null kind?: EnumCustomerKindFilter<"Customer"> | $Enums.CustomerKind phone?: StringNullableFilter<"Customer"> | string | null address?: StringNullableFilter<"Customer"> | string | null storeName?: StringNullableFilter<"Customer"> | string | null pasazhName?: StringNullableFilter<"Customer"> | string | null zone?: StringNullableFilter<"Customer"> | string | null memberCode?: StringNullableFilter<"Customer"> | string | null referredByAgentId?: StringNullableFilter<"Customer"> | string | null goldCreditLimitGrams?: DecimalFilter<"Customer"> | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFilter<"Customer"> | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFilter<"Customer"> | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFilter<"Customer"> | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFilter<"Customer"> | $Enums.VerificationStep nationalIdImageUrl?: StringNullableFilter<"Customer"> | string | null businessLicenseUrl?: StringNullableFilter<"Customer"> | string | null shopImageUrl?: StringNullableFilter<"Customer"> | string | null avatarFileId?: StringNullableFilter<"Customer"> | string | null canPlaceOrders?: BoolFilter<"Customer"> | boolean isActive?: BoolFilter<"Customer"> | boolean isArchived?: BoolFilter<"Customer"> | boolean createdAt?: DateTimeFilter<"Customer"> | Date | string updatedAt?: DateTimeFilter<"Customer"> | Date | string city?: XOR | null referredByAgent?: XOR | null salesExpertTradingFor?: XOR | null avatarFile?: XOR | null addresses?: CustomerAddressListRelationFilter orders?: OrderListRelationFilter preOrders?: PreOrderListRelationFilter ledgerEntries?: LedgerEntryListRelationFilter walletBonuses?: WalletBonusListRelationFilter comments?: CommentListRelationFilter promotions?: PromotionListRelationFilter notifications?: NotificationRecipientListRelationFilter activityLogs?: CustomerActivityLogListRelationFilter otpChallenges?: CustomerOtpListRelationFilter } export type CustomerOrderByWithRelationInput = { id?: SortOrder fullName?: SortOrder firstName?: SortOrderInput | SortOrder lastName?: SortOrderInput | SortOrder mobile?: SortOrder nationalCode?: SortOrder passwordHash?: SortOrder cityId?: SortOrderInput | SortOrder kind?: SortOrder phone?: SortOrderInput | SortOrder address?: SortOrderInput | SortOrder storeName?: SortOrderInput | SortOrder pasazhName?: SortOrderInput | SortOrder zone?: SortOrderInput | SortOrder memberCode?: SortOrderInput | SortOrder referredByAgentId?: SortOrderInput | SortOrder goldCreditLimitGrams?: SortOrder goldDebtGrams?: SortOrder fiatDebtRial?: SortOrder makingChargeOffsetPercent?: SortOrder verificationStep?: SortOrder nationalIdImageUrl?: SortOrderInput | SortOrder businessLicenseUrl?: SortOrderInput | SortOrder shopImageUrl?: SortOrderInput | SortOrder avatarFileId?: SortOrderInput | SortOrder canPlaceOrders?: SortOrder isActive?: SortOrder isArchived?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder city?: CityOrderByWithRelationInput referredByAgent?: AdminUserOrderByWithRelationInput salesExpertTradingFor?: SalesExpertProfileOrderByWithRelationInput avatarFile?: UploadedFileOrderByWithRelationInput addresses?: CustomerAddressOrderByRelationAggregateInput orders?: OrderOrderByRelationAggregateInput preOrders?: PreOrderOrderByRelationAggregateInput ledgerEntries?: LedgerEntryOrderByRelationAggregateInput walletBonuses?: WalletBonusOrderByRelationAggregateInput comments?: CommentOrderByRelationAggregateInput promotions?: PromotionOrderByRelationAggregateInput notifications?: NotificationRecipientOrderByRelationAggregateInput activityLogs?: CustomerActivityLogOrderByRelationAggregateInput otpChallenges?: CustomerOtpOrderByRelationAggregateInput } export type CustomerWhereUniqueInput = Prisma.AtLeast<{ id?: string mobile?: string nationalCode?: string AND?: CustomerWhereInput | CustomerWhereInput[] OR?: CustomerWhereInput[] NOT?: CustomerWhereInput | CustomerWhereInput[] fullName?: StringFilter<"Customer"> | string firstName?: StringNullableFilter<"Customer"> | string | null lastName?: StringNullableFilter<"Customer"> | string | null passwordHash?: StringFilter<"Customer"> | string cityId?: StringNullableFilter<"Customer"> | string | null kind?: EnumCustomerKindFilter<"Customer"> | $Enums.CustomerKind phone?: StringNullableFilter<"Customer"> | string | null address?: StringNullableFilter<"Customer"> | string | null storeName?: StringNullableFilter<"Customer"> | string | null pasazhName?: StringNullableFilter<"Customer"> | string | null zone?: StringNullableFilter<"Customer"> | string | null memberCode?: StringNullableFilter<"Customer"> | string | null referredByAgentId?: StringNullableFilter<"Customer"> | string | null goldCreditLimitGrams?: DecimalFilter<"Customer"> | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFilter<"Customer"> | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFilter<"Customer"> | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFilter<"Customer"> | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFilter<"Customer"> | $Enums.VerificationStep nationalIdImageUrl?: StringNullableFilter<"Customer"> | string | null businessLicenseUrl?: StringNullableFilter<"Customer"> | string | null shopImageUrl?: StringNullableFilter<"Customer"> | string | null avatarFileId?: StringNullableFilter<"Customer"> | string | null canPlaceOrders?: BoolFilter<"Customer"> | boolean isActive?: BoolFilter<"Customer"> | boolean isArchived?: BoolFilter<"Customer"> | boolean createdAt?: DateTimeFilter<"Customer"> | Date | string updatedAt?: DateTimeFilter<"Customer"> | Date | string city?: XOR | null referredByAgent?: XOR | null salesExpertTradingFor?: XOR | null avatarFile?: XOR | null addresses?: CustomerAddressListRelationFilter orders?: OrderListRelationFilter preOrders?: PreOrderListRelationFilter ledgerEntries?: LedgerEntryListRelationFilter walletBonuses?: WalletBonusListRelationFilter comments?: CommentListRelationFilter promotions?: PromotionListRelationFilter notifications?: NotificationRecipientListRelationFilter activityLogs?: CustomerActivityLogListRelationFilter otpChallenges?: CustomerOtpListRelationFilter }, "id" | "mobile" | "nationalCode"> export type CustomerOrderByWithAggregationInput = { id?: SortOrder fullName?: SortOrder firstName?: SortOrderInput | SortOrder lastName?: SortOrderInput | SortOrder mobile?: SortOrder nationalCode?: SortOrder passwordHash?: SortOrder cityId?: SortOrderInput | SortOrder kind?: SortOrder phone?: SortOrderInput | SortOrder address?: SortOrderInput | SortOrder storeName?: SortOrderInput | SortOrder pasazhName?: SortOrderInput | SortOrder zone?: SortOrderInput | SortOrder memberCode?: SortOrderInput | SortOrder referredByAgentId?: SortOrderInput | SortOrder goldCreditLimitGrams?: SortOrder goldDebtGrams?: SortOrder fiatDebtRial?: SortOrder makingChargeOffsetPercent?: SortOrder verificationStep?: SortOrder nationalIdImageUrl?: SortOrderInput | SortOrder businessLicenseUrl?: SortOrderInput | SortOrder shopImageUrl?: SortOrderInput | SortOrder avatarFileId?: SortOrderInput | SortOrder canPlaceOrders?: SortOrder isActive?: SortOrder isArchived?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: CustomerCountOrderByAggregateInput _avg?: CustomerAvgOrderByAggregateInput _max?: CustomerMaxOrderByAggregateInput _min?: CustomerMinOrderByAggregateInput _sum?: CustomerSumOrderByAggregateInput } export type CustomerScalarWhereWithAggregatesInput = { AND?: CustomerScalarWhereWithAggregatesInput | CustomerScalarWhereWithAggregatesInput[] OR?: CustomerScalarWhereWithAggregatesInput[] NOT?: CustomerScalarWhereWithAggregatesInput | CustomerScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Customer"> | string fullName?: StringWithAggregatesFilter<"Customer"> | string firstName?: StringNullableWithAggregatesFilter<"Customer"> | string | null lastName?: StringNullableWithAggregatesFilter<"Customer"> | string | null mobile?: StringWithAggregatesFilter<"Customer"> | string nationalCode?: StringWithAggregatesFilter<"Customer"> | string passwordHash?: StringWithAggregatesFilter<"Customer"> | string cityId?: StringNullableWithAggregatesFilter<"Customer"> | string | null kind?: EnumCustomerKindWithAggregatesFilter<"Customer"> | $Enums.CustomerKind phone?: StringNullableWithAggregatesFilter<"Customer"> | string | null address?: StringNullableWithAggregatesFilter<"Customer"> | string | null storeName?: StringNullableWithAggregatesFilter<"Customer"> | string | null pasazhName?: StringNullableWithAggregatesFilter<"Customer"> | string | null zone?: StringNullableWithAggregatesFilter<"Customer"> | string | null memberCode?: StringNullableWithAggregatesFilter<"Customer"> | string | null referredByAgentId?: StringNullableWithAggregatesFilter<"Customer"> | string | null goldCreditLimitGrams?: DecimalWithAggregatesFilter<"Customer"> | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalWithAggregatesFilter<"Customer"> | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalWithAggregatesFilter<"Customer"> | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalWithAggregatesFilter<"Customer"> | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepWithAggregatesFilter<"Customer"> | $Enums.VerificationStep nationalIdImageUrl?: StringNullableWithAggregatesFilter<"Customer"> | string | null businessLicenseUrl?: StringNullableWithAggregatesFilter<"Customer"> | string | null shopImageUrl?: StringNullableWithAggregatesFilter<"Customer"> | string | null avatarFileId?: StringNullableWithAggregatesFilter<"Customer"> | string | null canPlaceOrders?: BoolWithAggregatesFilter<"Customer"> | boolean isActive?: BoolWithAggregatesFilter<"Customer"> | boolean isArchived?: BoolWithAggregatesFilter<"Customer"> | boolean createdAt?: DateTimeWithAggregatesFilter<"Customer"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Customer"> | Date | string } export type CustomerAddressWhereInput = { AND?: CustomerAddressWhereInput | CustomerAddressWhereInput[] OR?: CustomerAddressWhereInput[] NOT?: CustomerAddressWhereInput | CustomerAddressWhereInput[] id?: StringFilter<"CustomerAddress"> | string customerId?: StringFilter<"CustomerAddress"> | string cityId?: StringNullableFilter<"CustomerAddress"> | string | null addressLine?: StringFilter<"CustomerAddress"> | string isDefault?: BoolFilter<"CustomerAddress"> | boolean customer?: XOR city?: XOR | null } export type CustomerAddressOrderByWithRelationInput = { id?: SortOrder customerId?: SortOrder cityId?: SortOrderInput | SortOrder addressLine?: SortOrder isDefault?: SortOrder customer?: CustomerOrderByWithRelationInput city?: CityOrderByWithRelationInput } export type CustomerAddressWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: CustomerAddressWhereInput | CustomerAddressWhereInput[] OR?: CustomerAddressWhereInput[] NOT?: CustomerAddressWhereInput | CustomerAddressWhereInput[] customerId?: StringFilter<"CustomerAddress"> | string cityId?: StringNullableFilter<"CustomerAddress"> | string | null addressLine?: StringFilter<"CustomerAddress"> | string isDefault?: BoolFilter<"CustomerAddress"> | boolean customer?: XOR city?: XOR | null }, "id"> export type CustomerAddressOrderByWithAggregationInput = { id?: SortOrder customerId?: SortOrder cityId?: SortOrderInput | SortOrder addressLine?: SortOrder isDefault?: SortOrder _count?: CustomerAddressCountOrderByAggregateInput _max?: CustomerAddressMaxOrderByAggregateInput _min?: CustomerAddressMinOrderByAggregateInput } export type CustomerAddressScalarWhereWithAggregatesInput = { AND?: CustomerAddressScalarWhereWithAggregatesInput | CustomerAddressScalarWhereWithAggregatesInput[] OR?: CustomerAddressScalarWhereWithAggregatesInput[] NOT?: CustomerAddressScalarWhereWithAggregatesInput | CustomerAddressScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"CustomerAddress"> | string customerId?: StringWithAggregatesFilter<"CustomerAddress"> | string cityId?: StringNullableWithAggregatesFilter<"CustomerAddress"> | string | null addressLine?: StringWithAggregatesFilter<"CustomerAddress"> | string isDefault?: BoolWithAggregatesFilter<"CustomerAddress"> | boolean } export type BranchWhereInput = { AND?: BranchWhereInput | BranchWhereInput[] OR?: BranchWhereInput[] NOT?: BranchWhereInput | BranchWhereInput[] id?: StringFilter<"Branch"> | string name?: StringFilter<"Branch"> | string address?: StringNullableFilter<"Branch"> | string | null phone?: StringNullableFilter<"Branch"> | string | null isActive?: BoolFilter<"Branch"> | boolean cityId?: StringNullableFilter<"Branch"> | string | null city?: XOR | null adminUsers?: AdminUserListRelationFilter orders?: OrderListRelationFilter allocations?: BranchAllocationListRelationFilter } export type BranchOrderByWithRelationInput = { id?: SortOrder name?: SortOrder address?: SortOrderInput | SortOrder phone?: SortOrderInput | SortOrder isActive?: SortOrder cityId?: SortOrderInput | SortOrder city?: CityOrderByWithRelationInput adminUsers?: AdminUserOrderByRelationAggregateInput orders?: OrderOrderByRelationAggregateInput allocations?: BranchAllocationOrderByRelationAggregateInput } export type BranchWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: BranchWhereInput | BranchWhereInput[] OR?: BranchWhereInput[] NOT?: BranchWhereInput | BranchWhereInput[] name?: StringFilter<"Branch"> | string address?: StringNullableFilter<"Branch"> | string | null phone?: StringNullableFilter<"Branch"> | string | null isActive?: BoolFilter<"Branch"> | boolean cityId?: StringNullableFilter<"Branch"> | string | null city?: XOR | null adminUsers?: AdminUserListRelationFilter orders?: OrderListRelationFilter allocations?: BranchAllocationListRelationFilter }, "id"> export type BranchOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder address?: SortOrderInput | SortOrder phone?: SortOrderInput | SortOrder isActive?: SortOrder cityId?: SortOrderInput | SortOrder _count?: BranchCountOrderByAggregateInput _max?: BranchMaxOrderByAggregateInput _min?: BranchMinOrderByAggregateInput } export type BranchScalarWhereWithAggregatesInput = { AND?: BranchScalarWhereWithAggregatesInput | BranchScalarWhereWithAggregatesInput[] OR?: BranchScalarWhereWithAggregatesInput[] NOT?: BranchScalarWhereWithAggregatesInput | BranchScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Branch"> | string name?: StringWithAggregatesFilter<"Branch"> | string address?: StringNullableWithAggregatesFilter<"Branch"> | string | null phone?: StringNullableWithAggregatesFilter<"Branch"> | string | null isActive?: BoolWithAggregatesFilter<"Branch"> | boolean cityId?: StringNullableWithAggregatesFilter<"Branch"> | string | null } export type WorkshopWhereInput = { AND?: WorkshopWhereInput | WorkshopWhereInput[] OR?: WorkshopWhereInput[] NOT?: WorkshopWhereInput | WorkshopWhereInput[] id?: StringFilter<"Workshop"> | string name?: StringFilter<"Workshop"> | string address?: StringNullableFilter<"Workshop"> | string | null phone?: StringNullableFilter<"Workshop"> | string | null supervisorId?: StringNullableFilter<"Workshop"> | string | null isActive?: BoolFilter<"Workshop"> | boolean supervisor?: XOR | null preOrders?: PreOrderListRelationFilter } export type WorkshopOrderByWithRelationInput = { id?: SortOrder name?: SortOrder address?: SortOrderInput | SortOrder phone?: SortOrderInput | SortOrder supervisorId?: SortOrderInput | SortOrder isActive?: SortOrder supervisor?: AdminUserOrderByWithRelationInput preOrders?: PreOrderOrderByRelationAggregateInput } export type WorkshopWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: WorkshopWhereInput | WorkshopWhereInput[] OR?: WorkshopWhereInput[] NOT?: WorkshopWhereInput | WorkshopWhereInput[] name?: StringFilter<"Workshop"> | string address?: StringNullableFilter<"Workshop"> | string | null phone?: StringNullableFilter<"Workshop"> | string | null supervisorId?: StringNullableFilter<"Workshop"> | string | null isActive?: BoolFilter<"Workshop"> | boolean supervisor?: XOR | null preOrders?: PreOrderListRelationFilter }, "id"> export type WorkshopOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder address?: SortOrderInput | SortOrder phone?: SortOrderInput | SortOrder supervisorId?: SortOrderInput | SortOrder isActive?: SortOrder _count?: WorkshopCountOrderByAggregateInput _max?: WorkshopMaxOrderByAggregateInput _min?: WorkshopMinOrderByAggregateInput } export type WorkshopScalarWhereWithAggregatesInput = { AND?: WorkshopScalarWhereWithAggregatesInput | WorkshopScalarWhereWithAggregatesInput[] OR?: WorkshopScalarWhereWithAggregatesInput[] NOT?: WorkshopScalarWhereWithAggregatesInput | WorkshopScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Workshop"> | string name?: StringWithAggregatesFilter<"Workshop"> | string address?: StringNullableWithAggregatesFilter<"Workshop"> | string | null phone?: StringNullableWithAggregatesFilter<"Workshop"> | string | null supervisorId?: StringNullableWithAggregatesFilter<"Workshop"> | string | null isActive?: BoolWithAggregatesFilter<"Workshop"> | boolean } export type CategoryWhereInput = { AND?: CategoryWhereInput | CategoryWhereInput[] OR?: CategoryWhereInput[] NOT?: CategoryWhereInput | CategoryWhereInput[] id?: StringFilter<"Category"> | string title?: StringFilter<"Category"> | string type?: IntFilter<"Category"> | number imageUrl?: StringNullableFilter<"Category"> | string | null iconUrl?: StringNullableFilter<"Category"> | string | null metaTag?: StringNullableFilter<"Category"> | string | null description?: StringNullableFilter<"Category"> | string | null parentId?: StringNullableFilter<"Category"> | string | null parent?: XOR | null children?: CategoryListRelationFilter products?: ProductListRelationFilter promotions?: PromotionListRelationFilter } export type CategoryOrderByWithRelationInput = { id?: SortOrder title?: SortOrder type?: SortOrder imageUrl?: SortOrderInput | SortOrder iconUrl?: SortOrderInput | SortOrder metaTag?: SortOrderInput | SortOrder description?: SortOrderInput | SortOrder parentId?: SortOrderInput | SortOrder parent?: CategoryOrderByWithRelationInput children?: CategoryOrderByRelationAggregateInput products?: ProductOrderByRelationAggregateInput promotions?: PromotionOrderByRelationAggregateInput } export type CategoryWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: CategoryWhereInput | CategoryWhereInput[] OR?: CategoryWhereInput[] NOT?: CategoryWhereInput | CategoryWhereInput[] title?: StringFilter<"Category"> | string type?: IntFilter<"Category"> | number imageUrl?: StringNullableFilter<"Category"> | string | null iconUrl?: StringNullableFilter<"Category"> | string | null metaTag?: StringNullableFilter<"Category"> | string | null description?: StringNullableFilter<"Category"> | string | null parentId?: StringNullableFilter<"Category"> | string | null parent?: XOR | null children?: CategoryListRelationFilter products?: ProductListRelationFilter promotions?: PromotionListRelationFilter }, "id"> export type CategoryOrderByWithAggregationInput = { id?: SortOrder title?: SortOrder type?: SortOrder imageUrl?: SortOrderInput | SortOrder iconUrl?: SortOrderInput | SortOrder metaTag?: SortOrderInput | SortOrder description?: SortOrderInput | SortOrder parentId?: SortOrderInput | SortOrder _count?: CategoryCountOrderByAggregateInput _avg?: CategoryAvgOrderByAggregateInput _max?: CategoryMaxOrderByAggregateInput _min?: CategoryMinOrderByAggregateInput _sum?: CategorySumOrderByAggregateInput } export type CategoryScalarWhereWithAggregatesInput = { AND?: CategoryScalarWhereWithAggregatesInput | CategoryScalarWhereWithAggregatesInput[] OR?: CategoryScalarWhereWithAggregatesInput[] NOT?: CategoryScalarWhereWithAggregatesInput | CategoryScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Category"> | string title?: StringWithAggregatesFilter<"Category"> | string type?: IntWithAggregatesFilter<"Category"> | number imageUrl?: StringNullableWithAggregatesFilter<"Category"> | string | null iconUrl?: StringNullableWithAggregatesFilter<"Category"> | string | null metaTag?: StringNullableWithAggregatesFilter<"Category"> | string | null description?: StringNullableWithAggregatesFilter<"Category"> | string | null parentId?: StringNullableWithAggregatesFilter<"Category"> | string | null } export type BrandWhereInput = { AND?: BrandWhereInput | BrandWhereInput[] OR?: BrandWhereInput[] NOT?: BrandWhereInput | BrandWhereInput[] id?: StringFilter<"Brand"> | string title?: StringFilter<"Brand"> | string products?: ProductListRelationFilter promotions?: PromotionListRelationFilter } export type BrandOrderByWithRelationInput = { id?: SortOrder title?: SortOrder products?: ProductOrderByRelationAggregateInput promotions?: PromotionOrderByRelationAggregateInput } export type BrandWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: BrandWhereInput | BrandWhereInput[] OR?: BrandWhereInput[] NOT?: BrandWhereInput | BrandWhereInput[] title?: StringFilter<"Brand"> | string products?: ProductListRelationFilter promotions?: PromotionListRelationFilter }, "id"> export type BrandOrderByWithAggregationInput = { id?: SortOrder title?: SortOrder _count?: BrandCountOrderByAggregateInput _max?: BrandMaxOrderByAggregateInput _min?: BrandMinOrderByAggregateInput } export type BrandScalarWhereWithAggregatesInput = { AND?: BrandScalarWhereWithAggregatesInput | BrandScalarWhereWithAggregatesInput[] OR?: BrandScalarWhereWithAggregatesInput[] NOT?: BrandScalarWhereWithAggregatesInput | BrandScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Brand"> | string title?: StringWithAggregatesFilter<"Brand"> | string } export type CollectionWhereInput = { AND?: CollectionWhereInput | CollectionWhereInput[] OR?: CollectionWhereInput[] NOT?: CollectionWhereInput | CollectionWhereInput[] id?: StringFilter<"Collection"> | string title?: StringFilter<"Collection"> | string description?: StringNullableFilter<"Collection"> | string | null isActive?: BoolFilter<"Collection"> | boolean products?: CollectionProductListRelationFilter } export type CollectionOrderByWithRelationInput = { id?: SortOrder title?: SortOrder description?: SortOrderInput | SortOrder isActive?: SortOrder products?: CollectionProductOrderByRelationAggregateInput } export type CollectionWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: CollectionWhereInput | CollectionWhereInput[] OR?: CollectionWhereInput[] NOT?: CollectionWhereInput | CollectionWhereInput[] title?: StringFilter<"Collection"> | string description?: StringNullableFilter<"Collection"> | string | null isActive?: BoolFilter<"Collection"> | boolean products?: CollectionProductListRelationFilter }, "id"> export type CollectionOrderByWithAggregationInput = { id?: SortOrder title?: SortOrder description?: SortOrderInput | SortOrder isActive?: SortOrder _count?: CollectionCountOrderByAggregateInput _max?: CollectionMaxOrderByAggregateInput _min?: CollectionMinOrderByAggregateInput } export type CollectionScalarWhereWithAggregatesInput = { AND?: CollectionScalarWhereWithAggregatesInput | CollectionScalarWhereWithAggregatesInput[] OR?: CollectionScalarWhereWithAggregatesInput[] NOT?: CollectionScalarWhereWithAggregatesInput | CollectionScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Collection"> | string title?: StringWithAggregatesFilter<"Collection"> | string description?: StringNullableWithAggregatesFilter<"Collection"> | string | null isActive?: BoolWithAggregatesFilter<"Collection"> | boolean } export type CollectionProductWhereInput = { AND?: CollectionProductWhereInput | CollectionProductWhereInput[] OR?: CollectionProductWhereInput[] NOT?: CollectionProductWhereInput | CollectionProductWhereInput[] collectionId?: StringFilter<"CollectionProduct"> | string productId?: StringFilter<"CollectionProduct"> | string collection?: XOR product?: XOR } export type CollectionProductOrderByWithRelationInput = { collectionId?: SortOrder productId?: SortOrder collection?: CollectionOrderByWithRelationInput product?: ProductOrderByWithRelationInput } export type CollectionProductWhereUniqueInput = Prisma.AtLeast<{ collectionId_productId?: CollectionProductCollectionIdProductIdCompoundUniqueInput AND?: CollectionProductWhereInput | CollectionProductWhereInput[] OR?: CollectionProductWhereInput[] NOT?: CollectionProductWhereInput | CollectionProductWhereInput[] collectionId?: StringFilter<"CollectionProduct"> | string productId?: StringFilter<"CollectionProduct"> | string collection?: XOR product?: XOR }, "collectionId_productId"> export type CollectionProductOrderByWithAggregationInput = { collectionId?: SortOrder productId?: SortOrder _count?: CollectionProductCountOrderByAggregateInput _max?: CollectionProductMaxOrderByAggregateInput _min?: CollectionProductMinOrderByAggregateInput } export type CollectionProductScalarWhereWithAggregatesInput = { AND?: CollectionProductScalarWhereWithAggregatesInput | CollectionProductScalarWhereWithAggregatesInput[] OR?: CollectionProductScalarWhereWithAggregatesInput[] NOT?: CollectionProductScalarWhereWithAggregatesInput | CollectionProductScalarWhereWithAggregatesInput[] collectionId?: StringWithAggregatesFilter<"CollectionProduct"> | string productId?: StringWithAggregatesFilter<"CollectionProduct"> | string } export type ProductWhereInput = { AND?: ProductWhereInput | ProductWhereInput[] OR?: ProductWhereInput[] NOT?: ProductWhereInput | ProductWhereInput[] id?: StringFilter<"Product"> | string title?: StringFilter<"Product"> | string description?: StringNullableFilter<"Product"> | string | null categoryId?: StringNullableFilter<"Product"> | string | null brandId?: StringNullableFilter<"Product"> | string | null productCode?: StringNullableFilter<"Product"> | string | null showType?: IntFilter<"Product"> | number isActive?: BoolFilter<"Product"> | boolean createdAt?: DateTimeFilter<"Product"> | Date | string category?: XOR | null brand?: XOR | null variants?: ProductVariantListRelationFilter images?: ProductImageListRelationFilter collections?: CollectionProductListRelationFilter comments?: CommentListRelationFilter promotions?: PromotionListRelationFilter allocationItems?: BranchAllocationItemListRelationFilter } export type ProductOrderByWithRelationInput = { id?: SortOrder title?: SortOrder description?: SortOrderInput | SortOrder categoryId?: SortOrderInput | SortOrder brandId?: SortOrderInput | SortOrder productCode?: SortOrderInput | SortOrder showType?: SortOrder isActive?: SortOrder createdAt?: SortOrder category?: CategoryOrderByWithRelationInput brand?: BrandOrderByWithRelationInput variants?: ProductVariantOrderByRelationAggregateInput images?: ProductImageOrderByRelationAggregateInput collections?: CollectionProductOrderByRelationAggregateInput comments?: CommentOrderByRelationAggregateInput promotions?: PromotionOrderByRelationAggregateInput allocationItems?: BranchAllocationItemOrderByRelationAggregateInput } export type ProductWhereUniqueInput = Prisma.AtLeast<{ id?: string productCode?: string AND?: ProductWhereInput | ProductWhereInput[] OR?: ProductWhereInput[] NOT?: ProductWhereInput | ProductWhereInput[] title?: StringFilter<"Product"> | string description?: StringNullableFilter<"Product"> | string | null categoryId?: StringNullableFilter<"Product"> | string | null brandId?: StringNullableFilter<"Product"> | string | null showType?: IntFilter<"Product"> | number isActive?: BoolFilter<"Product"> | boolean createdAt?: DateTimeFilter<"Product"> | Date | string category?: XOR | null brand?: XOR | null variants?: ProductVariantListRelationFilter images?: ProductImageListRelationFilter collections?: CollectionProductListRelationFilter comments?: CommentListRelationFilter promotions?: PromotionListRelationFilter allocationItems?: BranchAllocationItemListRelationFilter }, "id" | "productCode"> export type ProductOrderByWithAggregationInput = { id?: SortOrder title?: SortOrder description?: SortOrderInput | SortOrder categoryId?: SortOrderInput | SortOrder brandId?: SortOrderInput | SortOrder productCode?: SortOrderInput | SortOrder showType?: SortOrder isActive?: SortOrder createdAt?: SortOrder _count?: ProductCountOrderByAggregateInput _avg?: ProductAvgOrderByAggregateInput _max?: ProductMaxOrderByAggregateInput _min?: ProductMinOrderByAggregateInput _sum?: ProductSumOrderByAggregateInput } export type ProductScalarWhereWithAggregatesInput = { AND?: ProductScalarWhereWithAggregatesInput | ProductScalarWhereWithAggregatesInput[] OR?: ProductScalarWhereWithAggregatesInput[] NOT?: ProductScalarWhereWithAggregatesInput | ProductScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Product"> | string title?: StringWithAggregatesFilter<"Product"> | string description?: StringNullableWithAggregatesFilter<"Product"> | string | null categoryId?: StringNullableWithAggregatesFilter<"Product"> | string | null brandId?: StringNullableWithAggregatesFilter<"Product"> | string | null productCode?: StringNullableWithAggregatesFilter<"Product"> | string | null showType?: IntWithAggregatesFilter<"Product"> | number isActive?: BoolWithAggregatesFilter<"Product"> | boolean createdAt?: DateTimeWithAggregatesFilter<"Product"> | Date | string } export type ProductImageWhereInput = { AND?: ProductImageWhereInput | ProductImageWhereInput[] OR?: ProductImageWhereInput[] NOT?: ProductImageWhereInput | ProductImageWhereInput[] id?: StringFilter<"ProductImage"> | string productId?: StringFilter<"ProductImage"> | string url?: StringFilter<"ProductImage"> | string sortOrder?: IntFilter<"ProductImage"> | number role?: EnumProductImageRoleFilter<"ProductImage"> | $Enums.ProductImageRole product?: XOR variants?: ProductVariantListRelationFilter } export type ProductImageOrderByWithRelationInput = { id?: SortOrder productId?: SortOrder url?: SortOrder sortOrder?: SortOrder role?: SortOrder product?: ProductOrderByWithRelationInput variants?: ProductVariantOrderByRelationAggregateInput } export type ProductImageWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: ProductImageWhereInput | ProductImageWhereInput[] OR?: ProductImageWhereInput[] NOT?: ProductImageWhereInput | ProductImageWhereInput[] productId?: StringFilter<"ProductImage"> | string url?: StringFilter<"ProductImage"> | string sortOrder?: IntFilter<"ProductImage"> | number role?: EnumProductImageRoleFilter<"ProductImage"> | $Enums.ProductImageRole product?: XOR variants?: ProductVariantListRelationFilter }, "id"> export type ProductImageOrderByWithAggregationInput = { id?: SortOrder productId?: SortOrder url?: SortOrder sortOrder?: SortOrder role?: SortOrder _count?: ProductImageCountOrderByAggregateInput _avg?: ProductImageAvgOrderByAggregateInput _max?: ProductImageMaxOrderByAggregateInput _min?: ProductImageMinOrderByAggregateInput _sum?: ProductImageSumOrderByAggregateInput } export type ProductImageScalarWhereWithAggregatesInput = { AND?: ProductImageScalarWhereWithAggregatesInput | ProductImageScalarWhereWithAggregatesInput[] OR?: ProductImageScalarWhereWithAggregatesInput[] NOT?: ProductImageScalarWhereWithAggregatesInput | ProductImageScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"ProductImage"> | string productId?: StringWithAggregatesFilter<"ProductImage"> | string url?: StringWithAggregatesFilter<"ProductImage"> | string sortOrder?: IntWithAggregatesFilter<"ProductImage"> | number role?: EnumProductImageRoleWithAggregatesFilter<"ProductImage"> | $Enums.ProductImageRole } export type ProductVariantWhereInput = { AND?: ProductVariantWhereInput | ProductVariantWhereInput[] OR?: ProductVariantWhereInput[] NOT?: ProductVariantWhereInput | ProductVariantWhereInput[] id?: StringFilter<"ProductVariant"> | string productId?: StringFilter<"ProductVariant"> | string title?: StringFilter<"ProductVariant"> | string sku?: StringNullableFilter<"ProductVariant"> | string | null rashWeightGrams?: DecimalFilter<"ProductVariant"> | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFilter<"ProductVariant"> | Decimal | DecimalJsLike | number | string qty?: IntFilter<"ProductVariant"> | number isPreOrder?: BoolFilter<"ProductVariant"> | boolean isActive?: BoolFilter<"ProductVariant"> | boolean imageId?: StringNullableFilter<"ProductVariant"> | string | null product?: XOR image?: XOR | null orderItems?: OrderItemListRelationFilter } export type ProductVariantOrderByWithRelationInput = { id?: SortOrder productId?: SortOrder title?: SortOrder sku?: SortOrderInput | SortOrder rashWeightGrams?: SortOrder defaultWagePercent?: SortOrder qty?: SortOrder isPreOrder?: SortOrder isActive?: SortOrder imageId?: SortOrderInput | SortOrder product?: ProductOrderByWithRelationInput image?: ProductImageOrderByWithRelationInput orderItems?: OrderItemOrderByRelationAggregateInput } export type ProductVariantWhereUniqueInput = Prisma.AtLeast<{ id?: string sku?: string AND?: ProductVariantWhereInput | ProductVariantWhereInput[] OR?: ProductVariantWhereInput[] NOT?: ProductVariantWhereInput | ProductVariantWhereInput[] productId?: StringFilter<"ProductVariant"> | string title?: StringFilter<"ProductVariant"> | string rashWeightGrams?: DecimalFilter<"ProductVariant"> | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFilter<"ProductVariant"> | Decimal | DecimalJsLike | number | string qty?: IntFilter<"ProductVariant"> | number isPreOrder?: BoolFilter<"ProductVariant"> | boolean isActive?: BoolFilter<"ProductVariant"> | boolean imageId?: StringNullableFilter<"ProductVariant"> | string | null product?: XOR image?: XOR | null orderItems?: OrderItemListRelationFilter }, "id" | "sku"> export type ProductVariantOrderByWithAggregationInput = { id?: SortOrder productId?: SortOrder title?: SortOrder sku?: SortOrderInput | SortOrder rashWeightGrams?: SortOrder defaultWagePercent?: SortOrder qty?: SortOrder isPreOrder?: SortOrder isActive?: SortOrder imageId?: SortOrderInput | SortOrder _count?: ProductVariantCountOrderByAggregateInput _avg?: ProductVariantAvgOrderByAggregateInput _max?: ProductVariantMaxOrderByAggregateInput _min?: ProductVariantMinOrderByAggregateInput _sum?: ProductVariantSumOrderByAggregateInput } export type ProductVariantScalarWhereWithAggregatesInput = { AND?: ProductVariantScalarWhereWithAggregatesInput | ProductVariantScalarWhereWithAggregatesInput[] OR?: ProductVariantScalarWhereWithAggregatesInput[] NOT?: ProductVariantScalarWhereWithAggregatesInput | ProductVariantScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"ProductVariant"> | string productId?: StringWithAggregatesFilter<"ProductVariant"> | string title?: StringWithAggregatesFilter<"ProductVariant"> | string sku?: StringNullableWithAggregatesFilter<"ProductVariant"> | string | null rashWeightGrams?: DecimalWithAggregatesFilter<"ProductVariant"> | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalWithAggregatesFilter<"ProductVariant"> | Decimal | DecimalJsLike | number | string qty?: IntWithAggregatesFilter<"ProductVariant"> | number isPreOrder?: BoolWithAggregatesFilter<"ProductVariant"> | boolean isActive?: BoolWithAggregatesFilter<"ProductVariant"> | boolean imageId?: StringNullableWithAggregatesFilter<"ProductVariant"> | string | null } export type OrderWhereInput = { AND?: OrderWhereInput | OrderWhereInput[] OR?: OrderWhereInput[] NOT?: OrderWhereInput | OrderWhereInput[] id?: StringFilter<"Order"> | string orderNumber?: StringFilter<"Order"> | string customerId?: StringFilter<"Order"> | string branchId?: StringNullableFilter<"Order"> | string | null channel?: EnumOrderChannelFilter<"Order"> | $Enums.OrderChannel status?: EnumOrderStatusFilter<"Order"> | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFilter<"Order"> | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFilter<"Order"> | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFilter<"Order"> | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFilter<"Order"> | boolean deliveredAt?: DateTimeNullableFilter<"Order"> | Date | string | null createdAt?: DateTimeFilter<"Order"> | Date | string updatedAt?: DateTimeFilter<"Order"> | Date | string customer?: XOR branch?: XOR | null items?: OrderItemListRelationFilter statusEvents?: OrderStatusEventListRelationFilter ledgerEntries?: LedgerEntryListRelationFilter convertedFromPreOrder?: XOR | null } export type OrderOrderByWithRelationInput = { id?: SortOrder orderNumber?: SortOrder customerId?: SortOrder branchId?: SortOrderInput | SortOrder channel?: SortOrder status?: SortOrder totalGoldWeightGrams?: SortOrder wageWeightGrams?: SortOrder flatRialCharge?: SortOrder isSuspendedOverCreditLimit?: SortOrder deliveredAt?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder customer?: CustomerOrderByWithRelationInput branch?: BranchOrderByWithRelationInput items?: OrderItemOrderByRelationAggregateInput statusEvents?: OrderStatusEventOrderByRelationAggregateInput ledgerEntries?: LedgerEntryOrderByRelationAggregateInput convertedFromPreOrder?: PreOrderOrderByWithRelationInput } export type OrderWhereUniqueInput = Prisma.AtLeast<{ id?: string orderNumber?: string AND?: OrderWhereInput | OrderWhereInput[] OR?: OrderWhereInput[] NOT?: OrderWhereInput | OrderWhereInput[] customerId?: StringFilter<"Order"> | string branchId?: StringNullableFilter<"Order"> | string | null channel?: EnumOrderChannelFilter<"Order"> | $Enums.OrderChannel status?: EnumOrderStatusFilter<"Order"> | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFilter<"Order"> | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFilter<"Order"> | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFilter<"Order"> | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFilter<"Order"> | boolean deliveredAt?: DateTimeNullableFilter<"Order"> | Date | string | null createdAt?: DateTimeFilter<"Order"> | Date | string updatedAt?: DateTimeFilter<"Order"> | Date | string customer?: XOR branch?: XOR | null items?: OrderItemListRelationFilter statusEvents?: OrderStatusEventListRelationFilter ledgerEntries?: LedgerEntryListRelationFilter convertedFromPreOrder?: XOR | null }, "id" | "orderNumber"> export type OrderOrderByWithAggregationInput = { id?: SortOrder orderNumber?: SortOrder customerId?: SortOrder branchId?: SortOrderInput | SortOrder channel?: SortOrder status?: SortOrder totalGoldWeightGrams?: SortOrder wageWeightGrams?: SortOrder flatRialCharge?: SortOrder isSuspendedOverCreditLimit?: SortOrder deliveredAt?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: OrderCountOrderByAggregateInput _avg?: OrderAvgOrderByAggregateInput _max?: OrderMaxOrderByAggregateInput _min?: OrderMinOrderByAggregateInput _sum?: OrderSumOrderByAggregateInput } export type OrderScalarWhereWithAggregatesInput = { AND?: OrderScalarWhereWithAggregatesInput | OrderScalarWhereWithAggregatesInput[] OR?: OrderScalarWhereWithAggregatesInput[] NOT?: OrderScalarWhereWithAggregatesInput | OrderScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Order"> | string orderNumber?: StringWithAggregatesFilter<"Order"> | string customerId?: StringWithAggregatesFilter<"Order"> | string branchId?: StringNullableWithAggregatesFilter<"Order"> | string | null channel?: EnumOrderChannelWithAggregatesFilter<"Order"> | $Enums.OrderChannel status?: EnumOrderStatusWithAggregatesFilter<"Order"> | $Enums.OrderStatus totalGoldWeightGrams?: DecimalWithAggregatesFilter<"Order"> | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalWithAggregatesFilter<"Order"> | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalWithAggregatesFilter<"Order"> | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolWithAggregatesFilter<"Order"> | boolean deliveredAt?: DateTimeNullableWithAggregatesFilter<"Order"> | Date | string | null createdAt?: DateTimeWithAggregatesFilter<"Order"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Order"> | Date | string } export type OrderItemWhereInput = { AND?: OrderItemWhereInput | OrderItemWhereInput[] OR?: OrderItemWhereInput[] NOT?: OrderItemWhereInput | OrderItemWhereInput[] id?: StringFilter<"OrderItem"> | string orderId?: StringFilter<"OrderItem"> | string productVariantId?: StringFilter<"OrderItem"> | string quantity?: IntFilter<"OrderItem"> | number rashWeightGramsSnapshot?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string order?: XOR productVariant?: XOR } export type OrderItemOrderByWithRelationInput = { id?: SortOrder orderId?: SortOrder productVariantId?: SortOrder quantity?: SortOrder rashWeightGramsSnapshot?: SortOrder wagePercentSnapshot?: SortOrder discountPercentSnapshot?: SortOrder computedWeightGrams?: SortOrder flatRialCharge?: SortOrder order?: OrderOrderByWithRelationInput productVariant?: ProductVariantOrderByWithRelationInput } export type OrderItemWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: OrderItemWhereInput | OrderItemWhereInput[] OR?: OrderItemWhereInput[] NOT?: OrderItemWhereInput | OrderItemWhereInput[] orderId?: StringFilter<"OrderItem"> | string productVariantId?: StringFilter<"OrderItem"> | string quantity?: IntFilter<"OrderItem"> | number rashWeightGramsSnapshot?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string order?: XOR productVariant?: XOR }, "id"> export type OrderItemOrderByWithAggregationInput = { id?: SortOrder orderId?: SortOrder productVariantId?: SortOrder quantity?: SortOrder rashWeightGramsSnapshot?: SortOrder wagePercentSnapshot?: SortOrder discountPercentSnapshot?: SortOrder computedWeightGrams?: SortOrder flatRialCharge?: SortOrder _count?: OrderItemCountOrderByAggregateInput _avg?: OrderItemAvgOrderByAggregateInput _max?: OrderItemMaxOrderByAggregateInput _min?: OrderItemMinOrderByAggregateInput _sum?: OrderItemSumOrderByAggregateInput } export type OrderItemScalarWhereWithAggregatesInput = { AND?: OrderItemScalarWhereWithAggregatesInput | OrderItemScalarWhereWithAggregatesInput[] OR?: OrderItemScalarWhereWithAggregatesInput[] NOT?: OrderItemScalarWhereWithAggregatesInput | OrderItemScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"OrderItem"> | string orderId?: StringWithAggregatesFilter<"OrderItem"> | string productVariantId?: StringWithAggregatesFilter<"OrderItem"> | string quantity?: IntWithAggregatesFilter<"OrderItem"> | number rashWeightGramsSnapshot?: DecimalWithAggregatesFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalWithAggregatesFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalWithAggregatesFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalWithAggregatesFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalWithAggregatesFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string } export type OrderStatusEventWhereInput = { AND?: OrderStatusEventWhereInput | OrderStatusEventWhereInput[] OR?: OrderStatusEventWhereInput[] NOT?: OrderStatusEventWhereInput | OrderStatusEventWhereInput[] id?: StringFilter<"OrderStatusEvent"> | string orderId?: StringFilter<"OrderStatusEvent"> | string fromStatus?: EnumOrderStatusNullableFilter<"OrderStatusEvent"> | $Enums.OrderStatus | null toStatus?: EnumOrderStatusFilter<"OrderStatusEvent"> | $Enums.OrderStatus note?: StringNullableFilter<"OrderStatusEvent"> | string | null actorAdminUserId?: StringNullableFilter<"OrderStatusEvent"> | string | null createdAt?: DateTimeFilter<"OrderStatusEvent"> | Date | string order?: XOR actorAdminUser?: XOR | null } export type OrderStatusEventOrderByWithRelationInput = { id?: SortOrder orderId?: SortOrder fromStatus?: SortOrderInput | SortOrder toStatus?: SortOrder note?: SortOrderInput | SortOrder actorAdminUserId?: SortOrderInput | SortOrder createdAt?: SortOrder order?: OrderOrderByWithRelationInput actorAdminUser?: AdminUserOrderByWithRelationInput } export type OrderStatusEventWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: OrderStatusEventWhereInput | OrderStatusEventWhereInput[] OR?: OrderStatusEventWhereInput[] NOT?: OrderStatusEventWhereInput | OrderStatusEventWhereInput[] orderId?: StringFilter<"OrderStatusEvent"> | string fromStatus?: EnumOrderStatusNullableFilter<"OrderStatusEvent"> | $Enums.OrderStatus | null toStatus?: EnumOrderStatusFilter<"OrderStatusEvent"> | $Enums.OrderStatus note?: StringNullableFilter<"OrderStatusEvent"> | string | null actorAdminUserId?: StringNullableFilter<"OrderStatusEvent"> | string | null createdAt?: DateTimeFilter<"OrderStatusEvent"> | Date | string order?: XOR actorAdminUser?: XOR | null }, "id"> export type OrderStatusEventOrderByWithAggregationInput = { id?: SortOrder orderId?: SortOrder fromStatus?: SortOrderInput | SortOrder toStatus?: SortOrder note?: SortOrderInput | SortOrder actorAdminUserId?: SortOrderInput | SortOrder createdAt?: SortOrder _count?: OrderStatusEventCountOrderByAggregateInput _max?: OrderStatusEventMaxOrderByAggregateInput _min?: OrderStatusEventMinOrderByAggregateInput } export type OrderStatusEventScalarWhereWithAggregatesInput = { AND?: OrderStatusEventScalarWhereWithAggregatesInput | OrderStatusEventScalarWhereWithAggregatesInput[] OR?: OrderStatusEventScalarWhereWithAggregatesInput[] NOT?: OrderStatusEventScalarWhereWithAggregatesInput | OrderStatusEventScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"OrderStatusEvent"> | string orderId?: StringWithAggregatesFilter<"OrderStatusEvent"> | string fromStatus?: EnumOrderStatusNullableWithAggregatesFilter<"OrderStatusEvent"> | $Enums.OrderStatus | null toStatus?: EnumOrderStatusWithAggregatesFilter<"OrderStatusEvent"> | $Enums.OrderStatus note?: StringNullableWithAggregatesFilter<"OrderStatusEvent"> | string | null actorAdminUserId?: StringNullableWithAggregatesFilter<"OrderStatusEvent"> | string | null createdAt?: DateTimeWithAggregatesFilter<"OrderStatusEvent"> | Date | string } export type PreOrderWhereInput = { AND?: PreOrderWhereInput | PreOrderWhereInput[] OR?: PreOrderWhereInput[] NOT?: PreOrderWhereInput | PreOrderWhereInput[] id?: StringFilter<"PreOrder"> | string customerId?: StringFilter<"PreOrder"> | string cityId?: StringNullableFilter<"PreOrder"> | string | null workshopId?: StringNullableFilter<"PreOrder"> | string | null status?: EnumPreOrderStatusFilter<"PreOrder"> | $Enums.PreOrderStatus designImageUrl?: StringNullableFilter<"PreOrder"> | string | null colorName?: StringNullableFilter<"PreOrder"> | string | null sizeSpec?: StringNullableFilter<"PreOrder"> | string | null stoneColor?: StringNullableFilter<"PreOrder"> | string | null minaColor?: StringNullableFilter<"PreOrder"> | string | null estimatedWeightGrams?: DecimalNullableFilter<"PreOrder"> | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: DecimalNullableFilter<"PreOrder"> | Decimal | DecimalJsLike | number | string | null description?: StringNullableFilter<"PreOrder"> | string | null convertedOrderId?: StringNullableFilter<"PreOrder"> | string | null createdAt?: DateTimeFilter<"PreOrder"> | Date | string updatedAt?: DateTimeFilter<"PreOrder"> | Date | string customer?: XOR city?: XOR | null workshop?: XOR | null convertedOrder?: XOR | null statusEvents?: PreOrderStatusEventListRelationFilter } export type PreOrderOrderByWithRelationInput = { id?: SortOrder customerId?: SortOrder cityId?: SortOrderInput | SortOrder workshopId?: SortOrderInput | SortOrder status?: SortOrder designImageUrl?: SortOrderInput | SortOrder colorName?: SortOrderInput | SortOrder sizeSpec?: SortOrderInput | SortOrder stoneColor?: SortOrderInput | SortOrder minaColor?: SortOrderInput | SortOrder estimatedWeightGrams?: SortOrderInput | SortOrder estimatedPriceRial?: SortOrderInput | SortOrder description?: SortOrderInput | SortOrder convertedOrderId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder customer?: CustomerOrderByWithRelationInput city?: CityOrderByWithRelationInput workshop?: WorkshopOrderByWithRelationInput convertedOrder?: OrderOrderByWithRelationInput statusEvents?: PreOrderStatusEventOrderByRelationAggregateInput } export type PreOrderWhereUniqueInput = Prisma.AtLeast<{ id?: string convertedOrderId?: string AND?: PreOrderWhereInput | PreOrderWhereInput[] OR?: PreOrderWhereInput[] NOT?: PreOrderWhereInput | PreOrderWhereInput[] customerId?: StringFilter<"PreOrder"> | string cityId?: StringNullableFilter<"PreOrder"> | string | null workshopId?: StringNullableFilter<"PreOrder"> | string | null status?: EnumPreOrderStatusFilter<"PreOrder"> | $Enums.PreOrderStatus designImageUrl?: StringNullableFilter<"PreOrder"> | string | null colorName?: StringNullableFilter<"PreOrder"> | string | null sizeSpec?: StringNullableFilter<"PreOrder"> | string | null stoneColor?: StringNullableFilter<"PreOrder"> | string | null minaColor?: StringNullableFilter<"PreOrder"> | string | null estimatedWeightGrams?: DecimalNullableFilter<"PreOrder"> | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: DecimalNullableFilter<"PreOrder"> | Decimal | DecimalJsLike | number | string | null description?: StringNullableFilter<"PreOrder"> | string | null createdAt?: DateTimeFilter<"PreOrder"> | Date | string updatedAt?: DateTimeFilter<"PreOrder"> | Date | string customer?: XOR city?: XOR | null workshop?: XOR | null convertedOrder?: XOR | null statusEvents?: PreOrderStatusEventListRelationFilter }, "id" | "convertedOrderId"> export type PreOrderOrderByWithAggregationInput = { id?: SortOrder customerId?: SortOrder cityId?: SortOrderInput | SortOrder workshopId?: SortOrderInput | SortOrder status?: SortOrder designImageUrl?: SortOrderInput | SortOrder colorName?: SortOrderInput | SortOrder sizeSpec?: SortOrderInput | SortOrder stoneColor?: SortOrderInput | SortOrder minaColor?: SortOrderInput | SortOrder estimatedWeightGrams?: SortOrderInput | SortOrder estimatedPriceRial?: SortOrderInput | SortOrder description?: SortOrderInput | SortOrder convertedOrderId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: PreOrderCountOrderByAggregateInput _avg?: PreOrderAvgOrderByAggregateInput _max?: PreOrderMaxOrderByAggregateInput _min?: PreOrderMinOrderByAggregateInput _sum?: PreOrderSumOrderByAggregateInput } export type PreOrderScalarWhereWithAggregatesInput = { AND?: PreOrderScalarWhereWithAggregatesInput | PreOrderScalarWhereWithAggregatesInput[] OR?: PreOrderScalarWhereWithAggregatesInput[] NOT?: PreOrderScalarWhereWithAggregatesInput | PreOrderScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"PreOrder"> | string customerId?: StringWithAggregatesFilter<"PreOrder"> | string cityId?: StringNullableWithAggregatesFilter<"PreOrder"> | string | null workshopId?: StringNullableWithAggregatesFilter<"PreOrder"> | string | null status?: EnumPreOrderStatusWithAggregatesFilter<"PreOrder"> | $Enums.PreOrderStatus designImageUrl?: StringNullableWithAggregatesFilter<"PreOrder"> | string | null colorName?: StringNullableWithAggregatesFilter<"PreOrder"> | string | null sizeSpec?: StringNullableWithAggregatesFilter<"PreOrder"> | string | null stoneColor?: StringNullableWithAggregatesFilter<"PreOrder"> | string | null minaColor?: StringNullableWithAggregatesFilter<"PreOrder"> | string | null estimatedWeightGrams?: DecimalNullableWithAggregatesFilter<"PreOrder"> | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: DecimalNullableWithAggregatesFilter<"PreOrder"> | Decimal | DecimalJsLike | number | string | null description?: StringNullableWithAggregatesFilter<"PreOrder"> | string | null convertedOrderId?: StringNullableWithAggregatesFilter<"PreOrder"> | string | null createdAt?: DateTimeWithAggregatesFilter<"PreOrder"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"PreOrder"> | Date | string } export type PreOrderStatusEventWhereInput = { AND?: PreOrderStatusEventWhereInput | PreOrderStatusEventWhereInput[] OR?: PreOrderStatusEventWhereInput[] NOT?: PreOrderStatusEventWhereInput | PreOrderStatusEventWhereInput[] id?: StringFilter<"PreOrderStatusEvent"> | string preOrderId?: StringFilter<"PreOrderStatusEvent"> | string changes?: JsonFilter<"PreOrderStatusEvent"> actorAdminUserId?: StringNullableFilter<"PreOrderStatusEvent"> | string | null ipAddress?: StringNullableFilter<"PreOrderStatusEvent"> | string | null createdAt?: DateTimeFilter<"PreOrderStatusEvent"> | Date | string preOrder?: XOR actorAdminUser?: XOR | null } export type PreOrderStatusEventOrderByWithRelationInput = { id?: SortOrder preOrderId?: SortOrder changes?: SortOrder actorAdminUserId?: SortOrderInput | SortOrder ipAddress?: SortOrderInput | SortOrder createdAt?: SortOrder preOrder?: PreOrderOrderByWithRelationInput actorAdminUser?: AdminUserOrderByWithRelationInput } export type PreOrderStatusEventWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: PreOrderStatusEventWhereInput | PreOrderStatusEventWhereInput[] OR?: PreOrderStatusEventWhereInput[] NOT?: PreOrderStatusEventWhereInput | PreOrderStatusEventWhereInput[] preOrderId?: StringFilter<"PreOrderStatusEvent"> | string changes?: JsonFilter<"PreOrderStatusEvent"> actorAdminUserId?: StringNullableFilter<"PreOrderStatusEvent"> | string | null ipAddress?: StringNullableFilter<"PreOrderStatusEvent"> | string | null createdAt?: DateTimeFilter<"PreOrderStatusEvent"> | Date | string preOrder?: XOR actorAdminUser?: XOR | null }, "id"> export type PreOrderStatusEventOrderByWithAggregationInput = { id?: SortOrder preOrderId?: SortOrder changes?: SortOrder actorAdminUserId?: SortOrderInput | SortOrder ipAddress?: SortOrderInput | SortOrder createdAt?: SortOrder _count?: PreOrderStatusEventCountOrderByAggregateInput _max?: PreOrderStatusEventMaxOrderByAggregateInput _min?: PreOrderStatusEventMinOrderByAggregateInput } export type PreOrderStatusEventScalarWhereWithAggregatesInput = { AND?: PreOrderStatusEventScalarWhereWithAggregatesInput | PreOrderStatusEventScalarWhereWithAggregatesInput[] OR?: PreOrderStatusEventScalarWhereWithAggregatesInput[] NOT?: PreOrderStatusEventScalarWhereWithAggregatesInput | PreOrderStatusEventScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"PreOrderStatusEvent"> | string preOrderId?: StringWithAggregatesFilter<"PreOrderStatusEvent"> | string changes?: JsonWithAggregatesFilter<"PreOrderStatusEvent"> actorAdminUserId?: StringNullableWithAggregatesFilter<"PreOrderStatusEvent"> | string | null ipAddress?: StringNullableWithAggregatesFilter<"PreOrderStatusEvent"> | string | null createdAt?: DateTimeWithAggregatesFilter<"PreOrderStatusEvent"> | Date | string } export type LedgerEntryWhereInput = { AND?: LedgerEntryWhereInput | LedgerEntryWhereInput[] OR?: LedgerEntryWhereInput[] NOT?: LedgerEntryWhereInput | LedgerEntryWhereInput[] id?: StringFilter<"LedgerEntry"> | string customerId?: StringFilter<"LedgerEntry"> | string currency?: EnumLedgerCurrencyFilter<"LedgerEntry"> | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFilter<"LedgerEntry"> | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFilter<"LedgerEntry"> | $Enums.LedgerSourceType amount?: DecimalFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string karatPerMille?: IntNullableFilter<"LedgerEntry"> | number | null pricePerGramRialAtEntry?: DecimalNullableFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string | null orderId?: StringNullableFilter<"LedgerEntry"> | string | null confirmed?: BoolFilter<"LedgerEntry"> | boolean confirmedAt?: DateTimeNullableFilter<"LedgerEntry"> | Date | string | null postedByAdminUserId?: StringNullableFilter<"LedgerEntry"> | string | null labName?: StringNullableFilter<"LedgerEntry"> | string | null hallmark?: StringNullableFilter<"LedgerEntry"> | string | null accountName?: StringNullableFilter<"LedgerEntry"> | string | null bankName?: StringNullableFilter<"LedgerEntry"> | string | null transferTo?: StringNullableFilter<"LedgerEntry"> | string | null originalValue?: DecimalNullableFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string | null priceRial?: DecimalNullableFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string | null receivedAt?: DateTimeNullableFilter<"LedgerEntry"> | Date | string | null note?: StringNullableFilter<"LedgerEntry"> | string | null createdAt?: DateTimeFilter<"LedgerEntry"> | Date | string customer?: XOR order?: XOR | null postedByAdminUser?: XOR | null } export type LedgerEntryOrderByWithRelationInput = { id?: SortOrder customerId?: SortOrder currency?: SortOrder direction?: SortOrder sourceType?: SortOrder amount?: SortOrder karatPerMille?: SortOrderInput | SortOrder pricePerGramRialAtEntry?: SortOrderInput | SortOrder orderId?: SortOrderInput | SortOrder confirmed?: SortOrder confirmedAt?: SortOrderInput | SortOrder postedByAdminUserId?: SortOrderInput | SortOrder labName?: SortOrderInput | SortOrder hallmark?: SortOrderInput | SortOrder accountName?: SortOrderInput | SortOrder bankName?: SortOrderInput | SortOrder transferTo?: SortOrderInput | SortOrder originalValue?: SortOrderInput | SortOrder priceRial?: SortOrderInput | SortOrder receivedAt?: SortOrderInput | SortOrder note?: SortOrderInput | SortOrder createdAt?: SortOrder customer?: CustomerOrderByWithRelationInput order?: OrderOrderByWithRelationInput postedByAdminUser?: AdminUserOrderByWithRelationInput } export type LedgerEntryWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: LedgerEntryWhereInput | LedgerEntryWhereInput[] OR?: LedgerEntryWhereInput[] NOT?: LedgerEntryWhereInput | LedgerEntryWhereInput[] customerId?: StringFilter<"LedgerEntry"> | string currency?: EnumLedgerCurrencyFilter<"LedgerEntry"> | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFilter<"LedgerEntry"> | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFilter<"LedgerEntry"> | $Enums.LedgerSourceType amount?: DecimalFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string karatPerMille?: IntNullableFilter<"LedgerEntry"> | number | null pricePerGramRialAtEntry?: DecimalNullableFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string | null orderId?: StringNullableFilter<"LedgerEntry"> | string | null confirmed?: BoolFilter<"LedgerEntry"> | boolean confirmedAt?: DateTimeNullableFilter<"LedgerEntry"> | Date | string | null postedByAdminUserId?: StringNullableFilter<"LedgerEntry"> | string | null labName?: StringNullableFilter<"LedgerEntry"> | string | null hallmark?: StringNullableFilter<"LedgerEntry"> | string | null accountName?: StringNullableFilter<"LedgerEntry"> | string | null bankName?: StringNullableFilter<"LedgerEntry"> | string | null transferTo?: StringNullableFilter<"LedgerEntry"> | string | null originalValue?: DecimalNullableFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string | null priceRial?: DecimalNullableFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string | null receivedAt?: DateTimeNullableFilter<"LedgerEntry"> | Date | string | null note?: StringNullableFilter<"LedgerEntry"> | string | null createdAt?: DateTimeFilter<"LedgerEntry"> | Date | string customer?: XOR order?: XOR | null postedByAdminUser?: XOR | null }, "id"> export type LedgerEntryOrderByWithAggregationInput = { id?: SortOrder customerId?: SortOrder currency?: SortOrder direction?: SortOrder sourceType?: SortOrder amount?: SortOrder karatPerMille?: SortOrderInput | SortOrder pricePerGramRialAtEntry?: SortOrderInput | SortOrder orderId?: SortOrderInput | SortOrder confirmed?: SortOrder confirmedAt?: SortOrderInput | SortOrder postedByAdminUserId?: SortOrderInput | SortOrder labName?: SortOrderInput | SortOrder hallmark?: SortOrderInput | SortOrder accountName?: SortOrderInput | SortOrder bankName?: SortOrderInput | SortOrder transferTo?: SortOrderInput | SortOrder originalValue?: SortOrderInput | SortOrder priceRial?: SortOrderInput | SortOrder receivedAt?: SortOrderInput | SortOrder note?: SortOrderInput | SortOrder createdAt?: SortOrder _count?: LedgerEntryCountOrderByAggregateInput _avg?: LedgerEntryAvgOrderByAggregateInput _max?: LedgerEntryMaxOrderByAggregateInput _min?: LedgerEntryMinOrderByAggregateInput _sum?: LedgerEntrySumOrderByAggregateInput } export type LedgerEntryScalarWhereWithAggregatesInput = { AND?: LedgerEntryScalarWhereWithAggregatesInput | LedgerEntryScalarWhereWithAggregatesInput[] OR?: LedgerEntryScalarWhereWithAggregatesInput[] NOT?: LedgerEntryScalarWhereWithAggregatesInput | LedgerEntryScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"LedgerEntry"> | string customerId?: StringWithAggregatesFilter<"LedgerEntry"> | string currency?: EnumLedgerCurrencyWithAggregatesFilter<"LedgerEntry"> | $Enums.LedgerCurrency direction?: EnumLedgerDirectionWithAggregatesFilter<"LedgerEntry"> | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeWithAggregatesFilter<"LedgerEntry"> | $Enums.LedgerSourceType amount?: DecimalWithAggregatesFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string karatPerMille?: IntNullableWithAggregatesFilter<"LedgerEntry"> | number | null pricePerGramRialAtEntry?: DecimalNullableWithAggregatesFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string | null orderId?: StringNullableWithAggregatesFilter<"LedgerEntry"> | string | null confirmed?: BoolWithAggregatesFilter<"LedgerEntry"> | boolean confirmedAt?: DateTimeNullableWithAggregatesFilter<"LedgerEntry"> | Date | string | null postedByAdminUserId?: StringNullableWithAggregatesFilter<"LedgerEntry"> | string | null labName?: StringNullableWithAggregatesFilter<"LedgerEntry"> | string | null hallmark?: StringNullableWithAggregatesFilter<"LedgerEntry"> | string | null accountName?: StringNullableWithAggregatesFilter<"LedgerEntry"> | string | null bankName?: StringNullableWithAggregatesFilter<"LedgerEntry"> | string | null transferTo?: StringNullableWithAggregatesFilter<"LedgerEntry"> | string | null originalValue?: DecimalNullableWithAggregatesFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string | null priceRial?: DecimalNullableWithAggregatesFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string | null receivedAt?: DateTimeNullableWithAggregatesFilter<"LedgerEntry"> | Date | string | null note?: StringNullableWithAggregatesFilter<"LedgerEntry"> | string | null createdAt?: DateTimeWithAggregatesFilter<"LedgerEntry"> | Date | string } export type GoldPriceQuoteWhereInput = { AND?: GoldPriceQuoteWhereInput | GoldPriceQuoteWhereInput[] OR?: GoldPriceQuoteWhereInput[] NOT?: GoldPriceQuoteWhereInput | GoldPriceQuoteWhereInput[] id?: StringFilter<"GoldPriceQuote"> | string karatPerMille?: IntFilter<"GoldPriceQuote"> | number pricePerGramRial?: DecimalFilter<"GoldPriceQuote"> | Decimal | DecimalJsLike | number | string source?: StringFilter<"GoldPriceQuote"> | string quotedAt?: DateTimeFilter<"GoldPriceQuote"> | Date | string } export type GoldPriceQuoteOrderByWithRelationInput = { id?: SortOrder karatPerMille?: SortOrder pricePerGramRial?: SortOrder source?: SortOrder quotedAt?: SortOrder } export type GoldPriceQuoteWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: GoldPriceQuoteWhereInput | GoldPriceQuoteWhereInput[] OR?: GoldPriceQuoteWhereInput[] NOT?: GoldPriceQuoteWhereInput | GoldPriceQuoteWhereInput[] karatPerMille?: IntFilter<"GoldPriceQuote"> | number pricePerGramRial?: DecimalFilter<"GoldPriceQuote"> | Decimal | DecimalJsLike | number | string source?: StringFilter<"GoldPriceQuote"> | string quotedAt?: DateTimeFilter<"GoldPriceQuote"> | Date | string }, "id"> export type GoldPriceQuoteOrderByWithAggregationInput = { id?: SortOrder karatPerMille?: SortOrder pricePerGramRial?: SortOrder source?: SortOrder quotedAt?: SortOrder _count?: GoldPriceQuoteCountOrderByAggregateInput _avg?: GoldPriceQuoteAvgOrderByAggregateInput _max?: GoldPriceQuoteMaxOrderByAggregateInput _min?: GoldPriceQuoteMinOrderByAggregateInput _sum?: GoldPriceQuoteSumOrderByAggregateInput } export type GoldPriceQuoteScalarWhereWithAggregatesInput = { AND?: GoldPriceQuoteScalarWhereWithAggregatesInput | GoldPriceQuoteScalarWhereWithAggregatesInput[] OR?: GoldPriceQuoteScalarWhereWithAggregatesInput[] NOT?: GoldPriceQuoteScalarWhereWithAggregatesInput | GoldPriceQuoteScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"GoldPriceQuote"> | string karatPerMille?: IntWithAggregatesFilter<"GoldPriceQuote"> | number pricePerGramRial?: DecimalWithAggregatesFilter<"GoldPriceQuote"> | Decimal | DecimalJsLike | number | string source?: StringWithAggregatesFilter<"GoldPriceQuote"> | string quotedAt?: DateTimeWithAggregatesFilter<"GoldPriceQuote"> | Date | string } export type WalletBonusWhereInput = { AND?: WalletBonusWhereInput | WalletBonusWhereInput[] OR?: WalletBonusWhereInput[] NOT?: WalletBonusWhereInput | WalletBonusWhereInput[] id?: StringFilter<"WalletBonus"> | string customerId?: StringFilter<"WalletBonus"> | string orderId?: StringNullableFilter<"WalletBonus"> | string | null goldGrams?: DecimalFilter<"WalletBonus"> | Decimal | DecimalJsLike | number | string grantedAt?: DateTimeFilter<"WalletBonus"> | Date | string expiresAt?: DateTimeFilter<"WalletBonus"> | Date | string consumedAt?: DateTimeNullableFilter<"WalletBonus"> | Date | string | null isActive?: BoolFilter<"WalletBonus"> | boolean customer?: XOR } export type WalletBonusOrderByWithRelationInput = { id?: SortOrder customerId?: SortOrder orderId?: SortOrderInput | SortOrder goldGrams?: SortOrder grantedAt?: SortOrder expiresAt?: SortOrder consumedAt?: SortOrderInput | SortOrder isActive?: SortOrder customer?: CustomerOrderByWithRelationInput } export type WalletBonusWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: WalletBonusWhereInput | WalletBonusWhereInput[] OR?: WalletBonusWhereInput[] NOT?: WalletBonusWhereInput | WalletBonusWhereInput[] customerId?: StringFilter<"WalletBonus"> | string orderId?: StringNullableFilter<"WalletBonus"> | string | null goldGrams?: DecimalFilter<"WalletBonus"> | Decimal | DecimalJsLike | number | string grantedAt?: DateTimeFilter<"WalletBonus"> | Date | string expiresAt?: DateTimeFilter<"WalletBonus"> | Date | string consumedAt?: DateTimeNullableFilter<"WalletBonus"> | Date | string | null isActive?: BoolFilter<"WalletBonus"> | boolean customer?: XOR }, "id"> export type WalletBonusOrderByWithAggregationInput = { id?: SortOrder customerId?: SortOrder orderId?: SortOrderInput | SortOrder goldGrams?: SortOrder grantedAt?: SortOrder expiresAt?: SortOrder consumedAt?: SortOrderInput | SortOrder isActive?: SortOrder _count?: WalletBonusCountOrderByAggregateInput _avg?: WalletBonusAvgOrderByAggregateInput _max?: WalletBonusMaxOrderByAggregateInput _min?: WalletBonusMinOrderByAggregateInput _sum?: WalletBonusSumOrderByAggregateInput } export type WalletBonusScalarWhereWithAggregatesInput = { AND?: WalletBonusScalarWhereWithAggregatesInput | WalletBonusScalarWhereWithAggregatesInput[] OR?: WalletBonusScalarWhereWithAggregatesInput[] NOT?: WalletBonusScalarWhereWithAggregatesInput | WalletBonusScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"WalletBonus"> | string customerId?: StringWithAggregatesFilter<"WalletBonus"> | string orderId?: StringNullableWithAggregatesFilter<"WalletBonus"> | string | null goldGrams?: DecimalWithAggregatesFilter<"WalletBonus"> | Decimal | DecimalJsLike | number | string grantedAt?: DateTimeWithAggregatesFilter<"WalletBonus"> | Date | string expiresAt?: DateTimeWithAggregatesFilter<"WalletBonus"> | Date | string consumedAt?: DateTimeNullableWithAggregatesFilter<"WalletBonus"> | Date | string | null isActive?: BoolWithAggregatesFilter<"WalletBonus"> | boolean } export type UserTypeWhereInput = { AND?: UserTypeWhereInput | UserTypeWhereInput[] OR?: UserTypeWhereInput[] NOT?: UserTypeWhereInput | UserTypeWhereInput[] id?: IntFilter<"UserType"> | number title?: StringFilter<"UserType"> | string isActive?: BoolFilter<"UserType"> | boolean createdAt?: DateTimeFilter<"UserType"> | Date | string permissions?: PermissionListRelationFilter adminUsers?: AdminUserListRelationFilter } export type UserTypeOrderByWithRelationInput = { id?: SortOrder title?: SortOrder isActive?: SortOrder createdAt?: SortOrder permissions?: PermissionOrderByRelationAggregateInput adminUsers?: AdminUserOrderByRelationAggregateInput } export type UserTypeWhereUniqueInput = Prisma.AtLeast<{ id?: number AND?: UserTypeWhereInput | UserTypeWhereInput[] OR?: UserTypeWhereInput[] NOT?: UserTypeWhereInput | UserTypeWhereInput[] title?: StringFilter<"UserType"> | string isActive?: BoolFilter<"UserType"> | boolean createdAt?: DateTimeFilter<"UserType"> | Date | string permissions?: PermissionListRelationFilter adminUsers?: AdminUserListRelationFilter }, "id"> export type UserTypeOrderByWithAggregationInput = { id?: SortOrder title?: SortOrder isActive?: SortOrder createdAt?: SortOrder _count?: UserTypeCountOrderByAggregateInput _avg?: UserTypeAvgOrderByAggregateInput _max?: UserTypeMaxOrderByAggregateInput _min?: UserTypeMinOrderByAggregateInput _sum?: UserTypeSumOrderByAggregateInput } export type UserTypeScalarWhereWithAggregatesInput = { AND?: UserTypeScalarWhereWithAggregatesInput | UserTypeScalarWhereWithAggregatesInput[] OR?: UserTypeScalarWhereWithAggregatesInput[] NOT?: UserTypeScalarWhereWithAggregatesInput | UserTypeScalarWhereWithAggregatesInput[] id?: IntWithAggregatesFilter<"UserType"> | number title?: StringWithAggregatesFilter<"UserType"> | string isActive?: BoolWithAggregatesFilter<"UserType"> | boolean createdAt?: DateTimeWithAggregatesFilter<"UserType"> | Date | string } export type PermissionWhereInput = { AND?: PermissionWhereInput | PermissionWhereInput[] OR?: PermissionWhereInput[] NOT?: PermissionWhereInput | PermissionWhereInput[] rid?: StringFilter<"Permission"> | string userTypeId?: IntFilter<"Permission"> | number userType?: XOR } export type PermissionOrderByWithRelationInput = { rid?: SortOrder userTypeId?: SortOrder userType?: UserTypeOrderByWithRelationInput } export type PermissionWhereUniqueInput = Prisma.AtLeast<{ rid_userTypeId?: PermissionRidUserTypeIdCompoundUniqueInput AND?: PermissionWhereInput | PermissionWhereInput[] OR?: PermissionWhereInput[] NOT?: PermissionWhereInput | PermissionWhereInput[] rid?: StringFilter<"Permission"> | string userTypeId?: IntFilter<"Permission"> | number userType?: XOR }, "rid_userTypeId"> export type PermissionOrderByWithAggregationInput = { rid?: SortOrder userTypeId?: SortOrder _count?: PermissionCountOrderByAggregateInput _avg?: PermissionAvgOrderByAggregateInput _max?: PermissionMaxOrderByAggregateInput _min?: PermissionMinOrderByAggregateInput _sum?: PermissionSumOrderByAggregateInput } export type PermissionScalarWhereWithAggregatesInput = { AND?: PermissionScalarWhereWithAggregatesInput | PermissionScalarWhereWithAggregatesInput[] OR?: PermissionScalarWhereWithAggregatesInput[] NOT?: PermissionScalarWhereWithAggregatesInput | PermissionScalarWhereWithAggregatesInput[] rid?: StringWithAggregatesFilter<"Permission"> | string userTypeId?: IntWithAggregatesFilter<"Permission"> | number } export type CommentWhereInput = { AND?: CommentWhereInput | CommentWhereInput[] OR?: CommentWhereInput[] NOT?: CommentWhereInput | CommentWhereInput[] id?: StringFilter<"Comment"> | string productId?: StringFilter<"Comment"> | string customerId?: StringFilter<"Comment"> | string body?: StringFilter<"Comment"> | string status?: EnumCommentStatusFilter<"Comment"> | $Enums.CommentStatus replyToId?: StringNullableFilter<"Comment"> | string | null createdAt?: DateTimeFilter<"Comment"> | Date | string updatedAt?: DateTimeFilter<"Comment"> | Date | string product?: XOR customer?: XOR replyTo?: XOR | null replies?: CommentListRelationFilter } export type CommentOrderByWithRelationInput = { id?: SortOrder productId?: SortOrder customerId?: SortOrder body?: SortOrder status?: SortOrder replyToId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder product?: ProductOrderByWithRelationInput customer?: CustomerOrderByWithRelationInput replyTo?: CommentOrderByWithRelationInput replies?: CommentOrderByRelationAggregateInput } export type CommentWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: CommentWhereInput | CommentWhereInput[] OR?: CommentWhereInput[] NOT?: CommentWhereInput | CommentWhereInput[] productId?: StringFilter<"Comment"> | string customerId?: StringFilter<"Comment"> | string body?: StringFilter<"Comment"> | string status?: EnumCommentStatusFilter<"Comment"> | $Enums.CommentStatus replyToId?: StringNullableFilter<"Comment"> | string | null createdAt?: DateTimeFilter<"Comment"> | Date | string updatedAt?: DateTimeFilter<"Comment"> | Date | string product?: XOR customer?: XOR replyTo?: XOR | null replies?: CommentListRelationFilter }, "id"> export type CommentOrderByWithAggregationInput = { id?: SortOrder productId?: SortOrder customerId?: SortOrder body?: SortOrder status?: SortOrder replyToId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: CommentCountOrderByAggregateInput _max?: CommentMaxOrderByAggregateInput _min?: CommentMinOrderByAggregateInput } export type CommentScalarWhereWithAggregatesInput = { AND?: CommentScalarWhereWithAggregatesInput | CommentScalarWhereWithAggregatesInput[] OR?: CommentScalarWhereWithAggregatesInput[] NOT?: CommentScalarWhereWithAggregatesInput | CommentScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Comment"> | string productId?: StringWithAggregatesFilter<"Comment"> | string customerId?: StringWithAggregatesFilter<"Comment"> | string body?: StringWithAggregatesFilter<"Comment"> | string status?: EnumCommentStatusWithAggregatesFilter<"Comment"> | $Enums.CommentStatus replyToId?: StringNullableWithAggregatesFilter<"Comment"> | string | null createdAt?: DateTimeWithAggregatesFilter<"Comment"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Comment"> | Date | string } export type SettingWhereInput = { AND?: SettingWhereInput | SettingWhereInput[] OR?: SettingWhereInput[] NOT?: SettingWhereInput | SettingWhereInput[] key?: StringFilter<"Setting"> | string value?: JsonFilter<"Setting"> updatedAt?: DateTimeFilter<"Setting"> | Date | string } export type SettingOrderByWithRelationInput = { key?: SortOrder value?: SortOrder updatedAt?: SortOrder } export type SettingWhereUniqueInput = Prisma.AtLeast<{ key?: string AND?: SettingWhereInput | SettingWhereInput[] OR?: SettingWhereInput[] NOT?: SettingWhereInput | SettingWhereInput[] value?: JsonFilter<"Setting"> updatedAt?: DateTimeFilter<"Setting"> | Date | string }, "key"> export type SettingOrderByWithAggregationInput = { key?: SortOrder value?: SortOrder updatedAt?: SortOrder _count?: SettingCountOrderByAggregateInput _max?: SettingMaxOrderByAggregateInput _min?: SettingMinOrderByAggregateInput } export type SettingScalarWhereWithAggregatesInput = { AND?: SettingScalarWhereWithAggregatesInput | SettingScalarWhereWithAggregatesInput[] OR?: SettingScalarWhereWithAggregatesInput[] NOT?: SettingScalarWhereWithAggregatesInput | SettingScalarWhereWithAggregatesInput[] key?: StringWithAggregatesFilter<"Setting"> | string value?: JsonWithAggregatesFilter<"Setting"> updatedAt?: DateTimeWithAggregatesFilter<"Setting"> | Date | string } export type PromotionWhereInput = { AND?: PromotionWhereInput | PromotionWhereInput[] OR?: PromotionWhereInput[] NOT?: PromotionWhereInput | PromotionWhereInput[] id?: StringFilter<"Promotion"> | string title?: StringFilter<"Promotion"> | string description?: StringNullableFilter<"Promotion"> | string | null scope?: EnumPromotionScopeFilter<"Promotion"> | $Enums.PromotionScope usage?: EnumPromotionUsageFilter<"Promotion"> | $Enums.PromotionUsage discountPercent?: DecimalFilter<"Promotion"> | Decimal | DecimalJsLike | number | string isActive?: BoolFilter<"Promotion"> | boolean platform?: IntFilter<"Promotion"> | number startsAt?: DateTimeNullableFilter<"Promotion"> | Date | string | null endsAt?: DateTimeNullableFilter<"Promotion"> | Date | string | null productId?: StringNullableFilter<"Promotion"> | string | null categoryId?: StringNullableFilter<"Promotion"> | string | null customerId?: StringNullableFilter<"Promotion"> | string | null brandId?: StringNullableFilter<"Promotion"> | string | null createdAt?: DateTimeFilter<"Promotion"> | Date | string updatedAt?: DateTimeFilter<"Promotion"> | Date | string product?: XOR | null category?: XOR | null customer?: XOR | null brand?: XOR | null } export type PromotionOrderByWithRelationInput = { id?: SortOrder title?: SortOrder description?: SortOrderInput | SortOrder scope?: SortOrder usage?: SortOrder discountPercent?: SortOrder isActive?: SortOrder platform?: SortOrder startsAt?: SortOrderInput | SortOrder endsAt?: SortOrderInput | SortOrder productId?: SortOrderInput | SortOrder categoryId?: SortOrderInput | SortOrder customerId?: SortOrderInput | SortOrder brandId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder product?: ProductOrderByWithRelationInput category?: CategoryOrderByWithRelationInput customer?: CustomerOrderByWithRelationInput brand?: BrandOrderByWithRelationInput } export type PromotionWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: PromotionWhereInput | PromotionWhereInput[] OR?: PromotionWhereInput[] NOT?: PromotionWhereInput | PromotionWhereInput[] title?: StringFilter<"Promotion"> | string description?: StringNullableFilter<"Promotion"> | string | null scope?: EnumPromotionScopeFilter<"Promotion"> | $Enums.PromotionScope usage?: EnumPromotionUsageFilter<"Promotion"> | $Enums.PromotionUsage discountPercent?: DecimalFilter<"Promotion"> | Decimal | DecimalJsLike | number | string isActive?: BoolFilter<"Promotion"> | boolean platform?: IntFilter<"Promotion"> | number startsAt?: DateTimeNullableFilter<"Promotion"> | Date | string | null endsAt?: DateTimeNullableFilter<"Promotion"> | Date | string | null productId?: StringNullableFilter<"Promotion"> | string | null categoryId?: StringNullableFilter<"Promotion"> | string | null customerId?: StringNullableFilter<"Promotion"> | string | null brandId?: StringNullableFilter<"Promotion"> | string | null createdAt?: DateTimeFilter<"Promotion"> | Date | string updatedAt?: DateTimeFilter<"Promotion"> | Date | string product?: XOR | null category?: XOR | null customer?: XOR | null brand?: XOR | null }, "id"> export type PromotionOrderByWithAggregationInput = { id?: SortOrder title?: SortOrder description?: SortOrderInput | SortOrder scope?: SortOrder usage?: SortOrder discountPercent?: SortOrder isActive?: SortOrder platform?: SortOrder startsAt?: SortOrderInput | SortOrder endsAt?: SortOrderInput | SortOrder productId?: SortOrderInput | SortOrder categoryId?: SortOrderInput | SortOrder customerId?: SortOrderInput | SortOrder brandId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: PromotionCountOrderByAggregateInput _avg?: PromotionAvgOrderByAggregateInput _max?: PromotionMaxOrderByAggregateInput _min?: PromotionMinOrderByAggregateInput _sum?: PromotionSumOrderByAggregateInput } export type PromotionScalarWhereWithAggregatesInput = { AND?: PromotionScalarWhereWithAggregatesInput | PromotionScalarWhereWithAggregatesInput[] OR?: PromotionScalarWhereWithAggregatesInput[] NOT?: PromotionScalarWhereWithAggregatesInput | PromotionScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Promotion"> | string title?: StringWithAggregatesFilter<"Promotion"> | string description?: StringNullableWithAggregatesFilter<"Promotion"> | string | null scope?: EnumPromotionScopeWithAggregatesFilter<"Promotion"> | $Enums.PromotionScope usage?: EnumPromotionUsageWithAggregatesFilter<"Promotion"> | $Enums.PromotionUsage discountPercent?: DecimalWithAggregatesFilter<"Promotion"> | Decimal | DecimalJsLike | number | string isActive?: BoolWithAggregatesFilter<"Promotion"> | boolean platform?: IntWithAggregatesFilter<"Promotion"> | number startsAt?: DateTimeNullableWithAggregatesFilter<"Promotion"> | Date | string | null endsAt?: DateTimeNullableWithAggregatesFilter<"Promotion"> | Date | string | null productId?: StringNullableWithAggregatesFilter<"Promotion"> | string | null categoryId?: StringNullableWithAggregatesFilter<"Promotion"> | string | null customerId?: StringNullableWithAggregatesFilter<"Promotion"> | string | null brandId?: StringNullableWithAggregatesFilter<"Promotion"> | string | null createdAt?: DateTimeWithAggregatesFilter<"Promotion"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Promotion"> | Date | string } export type PromotionExclusionWhereInput = { AND?: PromotionExclusionWhereInput | PromotionExclusionWhereInput[] OR?: PromotionExclusionWhereInput[] NOT?: PromotionExclusionWhereInput | PromotionExclusionWhereInput[] id?: StringFilter<"PromotionExclusion"> | string type?: IntFilter<"PromotionExclusion"> | number itemId?: StringFilter<"PromotionExclusion"> | string createdAt?: DateTimeFilter<"PromotionExclusion"> | Date | string } export type PromotionExclusionOrderByWithRelationInput = { id?: SortOrder type?: SortOrder itemId?: SortOrder createdAt?: SortOrder } export type PromotionExclusionWhereUniqueInput = Prisma.AtLeast<{ id?: string type_itemId?: PromotionExclusionTypeItemIdCompoundUniqueInput AND?: PromotionExclusionWhereInput | PromotionExclusionWhereInput[] OR?: PromotionExclusionWhereInput[] NOT?: PromotionExclusionWhereInput | PromotionExclusionWhereInput[] type?: IntFilter<"PromotionExclusion"> | number itemId?: StringFilter<"PromotionExclusion"> | string createdAt?: DateTimeFilter<"PromotionExclusion"> | Date | string }, "id" | "type_itemId"> export type PromotionExclusionOrderByWithAggregationInput = { id?: SortOrder type?: SortOrder itemId?: SortOrder createdAt?: SortOrder _count?: PromotionExclusionCountOrderByAggregateInput _avg?: PromotionExclusionAvgOrderByAggregateInput _max?: PromotionExclusionMaxOrderByAggregateInput _min?: PromotionExclusionMinOrderByAggregateInput _sum?: PromotionExclusionSumOrderByAggregateInput } export type PromotionExclusionScalarWhereWithAggregatesInput = { AND?: PromotionExclusionScalarWhereWithAggregatesInput | PromotionExclusionScalarWhereWithAggregatesInput[] OR?: PromotionExclusionScalarWhereWithAggregatesInput[] NOT?: PromotionExclusionScalarWhereWithAggregatesInput | PromotionExclusionScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"PromotionExclusion"> | string type?: IntWithAggregatesFilter<"PromotionExclusion"> | number itemId?: StringWithAggregatesFilter<"PromotionExclusion"> | string createdAt?: DateTimeWithAggregatesFilter<"PromotionExclusion"> | Date | string } export type BranchAllocationWhereInput = { AND?: BranchAllocationWhereInput | BranchAllocationWhereInput[] OR?: BranchAllocationWhereInput[] NOT?: BranchAllocationWhereInput | BranchAllocationWhereInput[] id?: StringFilter<"BranchAllocation"> | string branchId?: StringFilter<"BranchAllocation"> | string allocatorAdminUserId?: StringNullableFilter<"BranchAllocation"> | string | null note?: StringNullableFilter<"BranchAllocation"> | string | null createdAt?: DateTimeFilter<"BranchAllocation"> | Date | string branch?: XOR allocatorAdminUser?: XOR | null items?: BranchAllocationItemListRelationFilter } export type BranchAllocationOrderByWithRelationInput = { id?: SortOrder branchId?: SortOrder allocatorAdminUserId?: SortOrderInput | SortOrder note?: SortOrderInput | SortOrder createdAt?: SortOrder branch?: BranchOrderByWithRelationInput allocatorAdminUser?: AdminUserOrderByWithRelationInput items?: BranchAllocationItemOrderByRelationAggregateInput } export type BranchAllocationWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: BranchAllocationWhereInput | BranchAllocationWhereInput[] OR?: BranchAllocationWhereInput[] NOT?: BranchAllocationWhereInput | BranchAllocationWhereInput[] branchId?: StringFilter<"BranchAllocation"> | string allocatorAdminUserId?: StringNullableFilter<"BranchAllocation"> | string | null note?: StringNullableFilter<"BranchAllocation"> | string | null createdAt?: DateTimeFilter<"BranchAllocation"> | Date | string branch?: XOR allocatorAdminUser?: XOR | null items?: BranchAllocationItemListRelationFilter }, "id"> export type BranchAllocationOrderByWithAggregationInput = { id?: SortOrder branchId?: SortOrder allocatorAdminUserId?: SortOrderInput | SortOrder note?: SortOrderInput | SortOrder createdAt?: SortOrder _count?: BranchAllocationCountOrderByAggregateInput _max?: BranchAllocationMaxOrderByAggregateInput _min?: BranchAllocationMinOrderByAggregateInput } export type BranchAllocationScalarWhereWithAggregatesInput = { AND?: BranchAllocationScalarWhereWithAggregatesInput | BranchAllocationScalarWhereWithAggregatesInput[] OR?: BranchAllocationScalarWhereWithAggregatesInput[] NOT?: BranchAllocationScalarWhereWithAggregatesInput | BranchAllocationScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"BranchAllocation"> | string branchId?: StringWithAggregatesFilter<"BranchAllocation"> | string allocatorAdminUserId?: StringNullableWithAggregatesFilter<"BranchAllocation"> | string | null note?: StringNullableWithAggregatesFilter<"BranchAllocation"> | string | null createdAt?: DateTimeWithAggregatesFilter<"BranchAllocation"> | Date | string } export type BranchAllocationItemWhereInput = { AND?: BranchAllocationItemWhereInput | BranchAllocationItemWhereInput[] OR?: BranchAllocationItemWhereInput[] NOT?: BranchAllocationItemWhereInput | BranchAllocationItemWhereInput[] id?: StringFilter<"BranchAllocationItem"> | string allocationId?: StringFilter<"BranchAllocationItem"> | string productId?: StringFilter<"BranchAllocationItem"> | string weightGrams?: DecimalNullableFilter<"BranchAllocationItem"> | Decimal | DecimalJsLike | number | string | null allocation?: XOR product?: XOR } export type BranchAllocationItemOrderByWithRelationInput = { id?: SortOrder allocationId?: SortOrder productId?: SortOrder weightGrams?: SortOrderInput | SortOrder allocation?: BranchAllocationOrderByWithRelationInput product?: ProductOrderByWithRelationInput } export type BranchAllocationItemWhereUniqueInput = Prisma.AtLeast<{ id?: string allocationId_productId?: BranchAllocationItemAllocationIdProductIdCompoundUniqueInput AND?: BranchAllocationItemWhereInput | BranchAllocationItemWhereInput[] OR?: BranchAllocationItemWhereInput[] NOT?: BranchAllocationItemWhereInput | BranchAllocationItemWhereInput[] allocationId?: StringFilter<"BranchAllocationItem"> | string productId?: StringFilter<"BranchAllocationItem"> | string weightGrams?: DecimalNullableFilter<"BranchAllocationItem"> | Decimal | DecimalJsLike | number | string | null allocation?: XOR product?: XOR }, "id" | "allocationId_productId"> export type BranchAllocationItemOrderByWithAggregationInput = { id?: SortOrder allocationId?: SortOrder productId?: SortOrder weightGrams?: SortOrderInput | SortOrder _count?: BranchAllocationItemCountOrderByAggregateInput _avg?: BranchAllocationItemAvgOrderByAggregateInput _max?: BranchAllocationItemMaxOrderByAggregateInput _min?: BranchAllocationItemMinOrderByAggregateInput _sum?: BranchAllocationItemSumOrderByAggregateInput } export type BranchAllocationItemScalarWhereWithAggregatesInput = { AND?: BranchAllocationItemScalarWhereWithAggregatesInput | BranchAllocationItemScalarWhereWithAggregatesInput[] OR?: BranchAllocationItemScalarWhereWithAggregatesInput[] NOT?: BranchAllocationItemScalarWhereWithAggregatesInput | BranchAllocationItemScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"BranchAllocationItem"> | string allocationId?: StringWithAggregatesFilter<"BranchAllocationItem"> | string productId?: StringWithAggregatesFilter<"BranchAllocationItem"> | string weightGrams?: DecimalNullableWithAggregatesFilter<"BranchAllocationItem"> | Decimal | DecimalJsLike | number | string | null } export type SmsMessageWhereInput = { AND?: SmsMessageWhereInput | SmsMessageWhereInput[] OR?: SmsMessageWhereInput[] NOT?: SmsMessageWhereInput | SmsMessageWhereInput[] id?: StringFilter<"SmsMessage"> | string audience?: EnumMessageAudienceFilter<"SmsMessage"> | $Enums.MessageAudience recipients?: StringNullableFilter<"SmsMessage"> | string | null body?: StringFilter<"SmsMessage"> | string sentCount?: IntFilter<"SmsMessage"> | number sentByAdminUserId?: StringNullableFilter<"SmsMessage"> | string | null createdAt?: DateTimeFilter<"SmsMessage"> | Date | string sentByAdminUser?: XOR | null } export type SmsMessageOrderByWithRelationInput = { id?: SortOrder audience?: SortOrder recipients?: SortOrderInput | SortOrder body?: SortOrder sentCount?: SortOrder sentByAdminUserId?: SortOrderInput | SortOrder createdAt?: SortOrder sentByAdminUser?: AdminUserOrderByWithRelationInput } export type SmsMessageWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: SmsMessageWhereInput | SmsMessageWhereInput[] OR?: SmsMessageWhereInput[] NOT?: SmsMessageWhereInput | SmsMessageWhereInput[] audience?: EnumMessageAudienceFilter<"SmsMessage"> | $Enums.MessageAudience recipients?: StringNullableFilter<"SmsMessage"> | string | null body?: StringFilter<"SmsMessage"> | string sentCount?: IntFilter<"SmsMessage"> | number sentByAdminUserId?: StringNullableFilter<"SmsMessage"> | string | null createdAt?: DateTimeFilter<"SmsMessage"> | Date | string sentByAdminUser?: XOR | null }, "id"> export type SmsMessageOrderByWithAggregationInput = { id?: SortOrder audience?: SortOrder recipients?: SortOrderInput | SortOrder body?: SortOrder sentCount?: SortOrder sentByAdminUserId?: SortOrderInput | SortOrder createdAt?: SortOrder _count?: SmsMessageCountOrderByAggregateInput _avg?: SmsMessageAvgOrderByAggregateInput _max?: SmsMessageMaxOrderByAggregateInput _min?: SmsMessageMinOrderByAggregateInput _sum?: SmsMessageSumOrderByAggregateInput } export type SmsMessageScalarWhereWithAggregatesInput = { AND?: SmsMessageScalarWhereWithAggregatesInput | SmsMessageScalarWhereWithAggregatesInput[] OR?: SmsMessageScalarWhereWithAggregatesInput[] NOT?: SmsMessageScalarWhereWithAggregatesInput | SmsMessageScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"SmsMessage"> | string audience?: EnumMessageAudienceWithAggregatesFilter<"SmsMessage"> | $Enums.MessageAudience recipients?: StringNullableWithAggregatesFilter<"SmsMessage"> | string | null body?: StringWithAggregatesFilter<"SmsMessage"> | string sentCount?: IntWithAggregatesFilter<"SmsMessage"> | number sentByAdminUserId?: StringNullableWithAggregatesFilter<"SmsMessage"> | string | null createdAt?: DateTimeWithAggregatesFilter<"SmsMessage"> | Date | string } export type NotificationWhereInput = { AND?: NotificationWhereInput | NotificationWhereInput[] OR?: NotificationWhereInput[] NOT?: NotificationWhereInput | NotificationWhereInput[] id?: StringFilter<"Notification"> | string title?: StringFilter<"Notification"> | string body?: StringFilter<"Notification"> | string audience?: EnumMessageAudienceFilter<"Notification"> | $Enums.MessageAudience sentByAdminUserId?: StringNullableFilter<"Notification"> | string | null createdAt?: DateTimeFilter<"Notification"> | Date | string sentByAdminUser?: XOR | null recipients?: NotificationRecipientListRelationFilter } export type NotificationOrderByWithRelationInput = { id?: SortOrder title?: SortOrder body?: SortOrder audience?: SortOrder sentByAdminUserId?: SortOrderInput | SortOrder createdAt?: SortOrder sentByAdminUser?: AdminUserOrderByWithRelationInput recipients?: NotificationRecipientOrderByRelationAggregateInput } export type NotificationWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: NotificationWhereInput | NotificationWhereInput[] OR?: NotificationWhereInput[] NOT?: NotificationWhereInput | NotificationWhereInput[] title?: StringFilter<"Notification"> | string body?: StringFilter<"Notification"> | string audience?: EnumMessageAudienceFilter<"Notification"> | $Enums.MessageAudience sentByAdminUserId?: StringNullableFilter<"Notification"> | string | null createdAt?: DateTimeFilter<"Notification"> | Date | string sentByAdminUser?: XOR | null recipients?: NotificationRecipientListRelationFilter }, "id"> export type NotificationOrderByWithAggregationInput = { id?: SortOrder title?: SortOrder body?: SortOrder audience?: SortOrder sentByAdminUserId?: SortOrderInput | SortOrder createdAt?: SortOrder _count?: NotificationCountOrderByAggregateInput _max?: NotificationMaxOrderByAggregateInput _min?: NotificationMinOrderByAggregateInput } export type NotificationScalarWhereWithAggregatesInput = { AND?: NotificationScalarWhereWithAggregatesInput | NotificationScalarWhereWithAggregatesInput[] OR?: NotificationScalarWhereWithAggregatesInput[] NOT?: NotificationScalarWhereWithAggregatesInput | NotificationScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Notification"> | string title?: StringWithAggregatesFilter<"Notification"> | string body?: StringWithAggregatesFilter<"Notification"> | string audience?: EnumMessageAudienceWithAggregatesFilter<"Notification"> | $Enums.MessageAudience sentByAdminUserId?: StringNullableWithAggregatesFilter<"Notification"> | string | null createdAt?: DateTimeWithAggregatesFilter<"Notification"> | Date | string } export type NotificationRecipientWhereInput = { AND?: NotificationRecipientWhereInput | NotificationRecipientWhereInput[] OR?: NotificationRecipientWhereInput[] NOT?: NotificationRecipientWhereInput | NotificationRecipientWhereInput[] id?: StringFilter<"NotificationRecipient"> | string notificationId?: StringFilter<"NotificationRecipient"> | string customerId?: StringFilter<"NotificationRecipient"> | string readAt?: DateTimeNullableFilter<"NotificationRecipient"> | Date | string | null notification?: XOR customer?: XOR } export type NotificationRecipientOrderByWithRelationInput = { id?: SortOrder notificationId?: SortOrder customerId?: SortOrder readAt?: SortOrderInput | SortOrder notification?: NotificationOrderByWithRelationInput customer?: CustomerOrderByWithRelationInput } export type NotificationRecipientWhereUniqueInput = Prisma.AtLeast<{ id?: string notificationId_customerId?: NotificationRecipientNotificationIdCustomerIdCompoundUniqueInput AND?: NotificationRecipientWhereInput | NotificationRecipientWhereInput[] OR?: NotificationRecipientWhereInput[] NOT?: NotificationRecipientWhereInput | NotificationRecipientWhereInput[] notificationId?: StringFilter<"NotificationRecipient"> | string customerId?: StringFilter<"NotificationRecipient"> | string readAt?: DateTimeNullableFilter<"NotificationRecipient"> | Date | string | null notification?: XOR customer?: XOR }, "id" | "notificationId_customerId"> export type NotificationRecipientOrderByWithAggregationInput = { id?: SortOrder notificationId?: SortOrder customerId?: SortOrder readAt?: SortOrderInput | SortOrder _count?: NotificationRecipientCountOrderByAggregateInput _max?: NotificationRecipientMaxOrderByAggregateInput _min?: NotificationRecipientMinOrderByAggregateInput } export type NotificationRecipientScalarWhereWithAggregatesInput = { AND?: NotificationRecipientScalarWhereWithAggregatesInput | NotificationRecipientScalarWhereWithAggregatesInput[] OR?: NotificationRecipientScalarWhereWithAggregatesInput[] NOT?: NotificationRecipientScalarWhereWithAggregatesInput | NotificationRecipientScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"NotificationRecipient"> | string notificationId?: StringWithAggregatesFilter<"NotificationRecipient"> | string customerId?: StringWithAggregatesFilter<"NotificationRecipient"> | string readAt?: DateTimeNullableWithAggregatesFilter<"NotificationRecipient"> | Date | string | null } export type NewsletterSubscriberWhereInput = { AND?: NewsletterSubscriberWhereInput | NewsletterSubscriberWhereInput[] OR?: NewsletterSubscriberWhereInput[] NOT?: NewsletterSubscriberWhereInput | NewsletterSubscriberWhereInput[] id?: StringFilter<"NewsletterSubscriber"> | string email?: StringNullableFilter<"NewsletterSubscriber"> | string | null mobile?: StringNullableFilter<"NewsletterSubscriber"> | string | null createdAt?: DateTimeFilter<"NewsletterSubscriber"> | Date | string } export type NewsletterSubscriberOrderByWithRelationInput = { id?: SortOrder email?: SortOrderInput | SortOrder mobile?: SortOrderInput | SortOrder createdAt?: SortOrder } export type NewsletterSubscriberWhereUniqueInput = Prisma.AtLeast<{ id?: string email?: string mobile?: string AND?: NewsletterSubscriberWhereInput | NewsletterSubscriberWhereInput[] OR?: NewsletterSubscriberWhereInput[] NOT?: NewsletterSubscriberWhereInput | NewsletterSubscriberWhereInput[] createdAt?: DateTimeFilter<"NewsletterSubscriber"> | Date | string }, "id" | "email" | "mobile"> export type NewsletterSubscriberOrderByWithAggregationInput = { id?: SortOrder email?: SortOrderInput | SortOrder mobile?: SortOrderInput | SortOrder createdAt?: SortOrder _count?: NewsletterSubscriberCountOrderByAggregateInput _max?: NewsletterSubscriberMaxOrderByAggregateInput _min?: NewsletterSubscriberMinOrderByAggregateInput } export type NewsletterSubscriberScalarWhereWithAggregatesInput = { AND?: NewsletterSubscriberScalarWhereWithAggregatesInput | NewsletterSubscriberScalarWhereWithAggregatesInput[] OR?: NewsletterSubscriberScalarWhereWithAggregatesInput[] NOT?: NewsletterSubscriberScalarWhereWithAggregatesInput | NewsletterSubscriberScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"NewsletterSubscriber"> | string email?: StringNullableWithAggregatesFilter<"NewsletterSubscriber"> | string | null mobile?: StringNullableWithAggregatesFilter<"NewsletterSubscriber"> | string | null createdAt?: DateTimeWithAggregatesFilter<"NewsletterSubscriber"> | Date | string } export type CustomerActivityLogWhereInput = { AND?: CustomerActivityLogWhereInput | CustomerActivityLogWhereInput[] OR?: CustomerActivityLogWhereInput[] NOT?: CustomerActivityLogWhereInput | CustomerActivityLogWhereInput[] id?: StringFilter<"CustomerActivityLog"> | string customerId?: StringFilter<"CustomerActivityLog"> | string action?: StringFilter<"CustomerActivityLog"> | string detail?: StringNullableFilter<"CustomerActivityLog"> | string | null createdAt?: DateTimeFilter<"CustomerActivityLog"> | Date | string customer?: XOR } export type CustomerActivityLogOrderByWithRelationInput = { id?: SortOrder customerId?: SortOrder action?: SortOrder detail?: SortOrderInput | SortOrder createdAt?: SortOrder customer?: CustomerOrderByWithRelationInput } export type CustomerActivityLogWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: CustomerActivityLogWhereInput | CustomerActivityLogWhereInput[] OR?: CustomerActivityLogWhereInput[] NOT?: CustomerActivityLogWhereInput | CustomerActivityLogWhereInput[] customerId?: StringFilter<"CustomerActivityLog"> | string action?: StringFilter<"CustomerActivityLog"> | string detail?: StringNullableFilter<"CustomerActivityLog"> | string | null createdAt?: DateTimeFilter<"CustomerActivityLog"> | Date | string customer?: XOR }, "id"> export type CustomerActivityLogOrderByWithAggregationInput = { id?: SortOrder customerId?: SortOrder action?: SortOrder detail?: SortOrderInput | SortOrder createdAt?: SortOrder _count?: CustomerActivityLogCountOrderByAggregateInput _max?: CustomerActivityLogMaxOrderByAggregateInput _min?: CustomerActivityLogMinOrderByAggregateInput } export type CustomerActivityLogScalarWhereWithAggregatesInput = { AND?: CustomerActivityLogScalarWhereWithAggregatesInput | CustomerActivityLogScalarWhereWithAggregatesInput[] OR?: CustomerActivityLogScalarWhereWithAggregatesInput[] NOT?: CustomerActivityLogScalarWhereWithAggregatesInput | CustomerActivityLogScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"CustomerActivityLog"> | string customerId?: StringWithAggregatesFilter<"CustomerActivityLog"> | string action?: StringWithAggregatesFilter<"CustomerActivityLog"> | string detail?: StringNullableWithAggregatesFilter<"CustomerActivityLog"> | string | null createdAt?: DateTimeWithAggregatesFilter<"CustomerActivityLog"> | Date | string } export type UploadedFileWhereInput = { AND?: UploadedFileWhereInput | UploadedFileWhereInput[] OR?: UploadedFileWhereInput[] NOT?: UploadedFileWhereInput | UploadedFileWhereInput[] id?: StringFilter<"UploadedFile"> | string url?: StringFilter<"UploadedFile"> | string originalName?: StringFilter<"UploadedFile"> | string mimeType?: StringFilter<"UploadedFile"> | string sizeBytes?: IntFilter<"UploadedFile"> | number purpose?: StringNullableFilter<"UploadedFile"> | string | null uploadedByAdminUserId?: StringNullableFilter<"UploadedFile"> | string | null createdAt?: DateTimeFilter<"UploadedFile"> | Date | string uploadedByAdminUser?: XOR | null customerAvatars?: CustomerListRelationFilter adminUserAvatars?: AdminUserListRelationFilter } export type UploadedFileOrderByWithRelationInput = { id?: SortOrder url?: SortOrder originalName?: SortOrder mimeType?: SortOrder sizeBytes?: SortOrder purpose?: SortOrderInput | SortOrder uploadedByAdminUserId?: SortOrderInput | SortOrder createdAt?: SortOrder uploadedByAdminUser?: AdminUserOrderByWithRelationInput customerAvatars?: CustomerOrderByRelationAggregateInput adminUserAvatars?: AdminUserOrderByRelationAggregateInput } export type UploadedFileWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: UploadedFileWhereInput | UploadedFileWhereInput[] OR?: UploadedFileWhereInput[] NOT?: UploadedFileWhereInput | UploadedFileWhereInput[] url?: StringFilter<"UploadedFile"> | string originalName?: StringFilter<"UploadedFile"> | string mimeType?: StringFilter<"UploadedFile"> | string sizeBytes?: IntFilter<"UploadedFile"> | number purpose?: StringNullableFilter<"UploadedFile"> | string | null uploadedByAdminUserId?: StringNullableFilter<"UploadedFile"> | string | null createdAt?: DateTimeFilter<"UploadedFile"> | Date | string uploadedByAdminUser?: XOR | null customerAvatars?: CustomerListRelationFilter adminUserAvatars?: AdminUserListRelationFilter }, "id"> export type UploadedFileOrderByWithAggregationInput = { id?: SortOrder url?: SortOrder originalName?: SortOrder mimeType?: SortOrder sizeBytes?: SortOrder purpose?: SortOrderInput | SortOrder uploadedByAdminUserId?: SortOrderInput | SortOrder createdAt?: SortOrder _count?: UploadedFileCountOrderByAggregateInput _avg?: UploadedFileAvgOrderByAggregateInput _max?: UploadedFileMaxOrderByAggregateInput _min?: UploadedFileMinOrderByAggregateInput _sum?: UploadedFileSumOrderByAggregateInput } export type UploadedFileScalarWhereWithAggregatesInput = { AND?: UploadedFileScalarWhereWithAggregatesInput | UploadedFileScalarWhereWithAggregatesInput[] OR?: UploadedFileScalarWhereWithAggregatesInput[] NOT?: UploadedFileScalarWhereWithAggregatesInput | UploadedFileScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"UploadedFile"> | string url?: StringWithAggregatesFilter<"UploadedFile"> | string originalName?: StringWithAggregatesFilter<"UploadedFile"> | string mimeType?: StringWithAggregatesFilter<"UploadedFile"> | string sizeBytes?: IntWithAggregatesFilter<"UploadedFile"> | number purpose?: StringNullableWithAggregatesFilter<"UploadedFile"> | string | null uploadedByAdminUserId?: StringNullableWithAggregatesFilter<"UploadedFile"> | string | null createdAt?: DateTimeWithAggregatesFilter<"UploadedFile"> | Date | string } export type CustomerOtpWhereInput = { AND?: CustomerOtpWhereInput | CustomerOtpWhereInput[] OR?: CustomerOtpWhereInput[] NOT?: CustomerOtpWhereInput | CustomerOtpWhereInput[] id?: StringFilter<"CustomerOtp"> | string mobile?: StringFilter<"CustomerOtp"> | string customerId?: StringFilter<"CustomerOtp"> | string codeHash?: StringFilter<"CustomerOtp"> | string expiresAt?: DateTimeFilter<"CustomerOtp"> | Date | string attempts?: IntFilter<"CustomerOtp"> | number consumedAt?: DateTimeNullableFilter<"CustomerOtp"> | Date | string | null requestIp?: StringNullableFilter<"CustomerOtp"> | string | null createdAt?: DateTimeFilter<"CustomerOtp"> | Date | string customer?: XOR } export type CustomerOtpOrderByWithRelationInput = { id?: SortOrder mobile?: SortOrder customerId?: SortOrder codeHash?: SortOrder expiresAt?: SortOrder attempts?: SortOrder consumedAt?: SortOrderInput | SortOrder requestIp?: SortOrderInput | SortOrder createdAt?: SortOrder customer?: CustomerOrderByWithRelationInput } export type CustomerOtpWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: CustomerOtpWhereInput | CustomerOtpWhereInput[] OR?: CustomerOtpWhereInput[] NOT?: CustomerOtpWhereInput | CustomerOtpWhereInput[] mobile?: StringFilter<"CustomerOtp"> | string customerId?: StringFilter<"CustomerOtp"> | string codeHash?: StringFilter<"CustomerOtp"> | string expiresAt?: DateTimeFilter<"CustomerOtp"> | Date | string attempts?: IntFilter<"CustomerOtp"> | number consumedAt?: DateTimeNullableFilter<"CustomerOtp"> | Date | string | null requestIp?: StringNullableFilter<"CustomerOtp"> | string | null createdAt?: DateTimeFilter<"CustomerOtp"> | Date | string customer?: XOR }, "id"> export type CustomerOtpOrderByWithAggregationInput = { id?: SortOrder mobile?: SortOrder customerId?: SortOrder codeHash?: SortOrder expiresAt?: SortOrder attempts?: SortOrder consumedAt?: SortOrderInput | SortOrder requestIp?: SortOrderInput | SortOrder createdAt?: SortOrder _count?: CustomerOtpCountOrderByAggregateInput _avg?: CustomerOtpAvgOrderByAggregateInput _max?: CustomerOtpMaxOrderByAggregateInput _min?: CustomerOtpMinOrderByAggregateInput _sum?: CustomerOtpSumOrderByAggregateInput } export type CustomerOtpScalarWhereWithAggregatesInput = { AND?: CustomerOtpScalarWhereWithAggregatesInput | CustomerOtpScalarWhereWithAggregatesInput[] OR?: CustomerOtpScalarWhereWithAggregatesInput[] NOT?: CustomerOtpScalarWhereWithAggregatesInput | CustomerOtpScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"CustomerOtp"> | string mobile?: StringWithAggregatesFilter<"CustomerOtp"> | string customerId?: StringWithAggregatesFilter<"CustomerOtp"> | string codeHash?: StringWithAggregatesFilter<"CustomerOtp"> | string expiresAt?: DateTimeWithAggregatesFilter<"CustomerOtp"> | Date | string attempts?: IntWithAggregatesFilter<"CustomerOtp"> | number consumedAt?: DateTimeNullableWithAggregatesFilter<"CustomerOtp"> | Date | string | null requestIp?: StringNullableWithAggregatesFilter<"CustomerOtp"> | string | null createdAt?: DateTimeWithAggregatesFilter<"CustomerOtp"> | Date | string } export type CityCreateInput = { id?: string name: string province?: string | null percent?: Decimal | DecimalJsLike | number | string | null percentAux?: Decimal | DecimalJsLike | number | string | null customers?: CustomerCreateNestedManyWithoutCityInput addresses?: CustomerAddressCreateNestedManyWithoutCityInput branches?: BranchCreateNestedManyWithoutCityInput preOrders?: PreOrderCreateNestedManyWithoutCityInput salesExpertProfiles?: SalesExpertProfileCreateNestedManyWithoutCityInput } export type CityUncheckedCreateInput = { id?: string name: string province?: string | null percent?: Decimal | DecimalJsLike | number | string | null percentAux?: Decimal | DecimalJsLike | number | string | null customers?: CustomerUncheckedCreateNestedManyWithoutCityInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCityInput branches?: BranchUncheckedCreateNestedManyWithoutCityInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCityInput salesExpertProfiles?: SalesExpertProfileUncheckedCreateNestedManyWithoutCityInput } export type CityUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null customers?: CustomerUpdateManyWithoutCityNestedInput addresses?: CustomerAddressUpdateManyWithoutCityNestedInput branches?: BranchUpdateManyWithoutCityNestedInput preOrders?: PreOrderUpdateManyWithoutCityNestedInput salesExpertProfiles?: SalesExpertProfileUpdateManyWithoutCityNestedInput } export type CityUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null customers?: CustomerUncheckedUpdateManyWithoutCityNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCityNestedInput branches?: BranchUncheckedUpdateManyWithoutCityNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCityNestedInput salesExpertProfiles?: SalesExpertProfileUncheckedUpdateManyWithoutCityNestedInput } export type CityCreateManyInput = { id?: string name: string province?: string | null percent?: Decimal | DecimalJsLike | number | string | null percentAux?: Decimal | DecimalJsLike | number | string | null } export type CityUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null } export type CityUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null } export type AdminUserCreateInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput branch?: BranchCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserUpdateInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput branch?: BranchUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type AdminUserCreateManyInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null } export type AdminUserUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null } export type AdminUserUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null } export type AppSessionCreateInput = { id?: string jti: string subjectId: string subjectType: string mobile?: string | null iamSessionId?: string | null iamSub?: string | null ipAddress?: string | null userAgent?: string | null createdAt?: Date | string expiresAt?: Date | string | null lastSeenAt?: Date | string | null revokedAt?: Date | string | null revokedReason?: string | null } export type AppSessionUncheckedCreateInput = { id?: string jti: string subjectId: string subjectType: string mobile?: string | null iamSessionId?: string | null iamSub?: string | null ipAddress?: string | null userAgent?: string | null createdAt?: Date | string expiresAt?: Date | string | null lastSeenAt?: Date | string | null revokedAt?: Date | string | null revokedReason?: string | null } export type AppSessionUpdateInput = { id?: StringFieldUpdateOperationsInput | string jti?: StringFieldUpdateOperationsInput | string subjectId?: StringFieldUpdateOperationsInput | string subjectType?: StringFieldUpdateOperationsInput | string mobile?: NullableStringFieldUpdateOperationsInput | string | null iamSessionId?: NullableStringFieldUpdateOperationsInput | string | null iamSub?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastSeenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedReason?: NullableStringFieldUpdateOperationsInput | string | null } export type AppSessionUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string jti?: StringFieldUpdateOperationsInput | string subjectId?: StringFieldUpdateOperationsInput | string subjectType?: StringFieldUpdateOperationsInput | string mobile?: NullableStringFieldUpdateOperationsInput | string | null iamSessionId?: NullableStringFieldUpdateOperationsInput | string | null iamSub?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastSeenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedReason?: NullableStringFieldUpdateOperationsInput | string | null } export type AppSessionCreateManyInput = { id?: string jti: string subjectId: string subjectType: string mobile?: string | null iamSessionId?: string | null iamSub?: string | null ipAddress?: string | null userAgent?: string | null createdAt?: Date | string expiresAt?: Date | string | null lastSeenAt?: Date | string | null revokedAt?: Date | string | null revokedReason?: string | null } export type AppSessionUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string jti?: StringFieldUpdateOperationsInput | string subjectId?: StringFieldUpdateOperationsInput | string subjectType?: StringFieldUpdateOperationsInput | string mobile?: NullableStringFieldUpdateOperationsInput | string | null iamSessionId?: NullableStringFieldUpdateOperationsInput | string | null iamSub?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastSeenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedReason?: NullableStringFieldUpdateOperationsInput | string | null } export type AppSessionUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string jti?: StringFieldUpdateOperationsInput | string subjectId?: StringFieldUpdateOperationsInput | string subjectType?: StringFieldUpdateOperationsInput | string mobile?: NullableStringFieldUpdateOperationsInput | string | null iamSessionId?: NullableStringFieldUpdateOperationsInput | string | null iamSub?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastSeenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedReason?: NullableStringFieldUpdateOperationsInput | string | null } export type AdminSessionCreateInput = { id?: string jti: string iamSessionId?: string | null iamSub?: string | null ipAddress?: string | null userAgent?: string | null createdAt?: Date | string expiresAt?: Date | string | null lastSeenAt?: Date | string | null revokedAt?: Date | string | null revokedReason?: string | null adminUser: AdminUserCreateNestedOneWithoutSessionsInput } export type AdminSessionUncheckedCreateInput = { id?: string jti: string adminUserId: string iamSessionId?: string | null iamSub?: string | null ipAddress?: string | null userAgent?: string | null createdAt?: Date | string expiresAt?: Date | string | null lastSeenAt?: Date | string | null revokedAt?: Date | string | null revokedReason?: string | null } export type AdminSessionUpdateInput = { id?: StringFieldUpdateOperationsInput | string jti?: StringFieldUpdateOperationsInput | string iamSessionId?: NullableStringFieldUpdateOperationsInput | string | null iamSub?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastSeenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedReason?: NullableStringFieldUpdateOperationsInput | string | null adminUser?: AdminUserUpdateOneRequiredWithoutSessionsNestedInput } export type AdminSessionUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string jti?: StringFieldUpdateOperationsInput | string adminUserId?: StringFieldUpdateOperationsInput | string iamSessionId?: NullableStringFieldUpdateOperationsInput | string | null iamSub?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastSeenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedReason?: NullableStringFieldUpdateOperationsInput | string | null } export type AdminSessionCreateManyInput = { id?: string jti: string adminUserId: string iamSessionId?: string | null iamSub?: string | null ipAddress?: string | null userAgent?: string | null createdAt?: Date | string expiresAt?: Date | string | null lastSeenAt?: Date | string | null revokedAt?: Date | string | null revokedReason?: string | null } export type AdminSessionUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string jti?: StringFieldUpdateOperationsInput | string iamSessionId?: NullableStringFieldUpdateOperationsInput | string | null iamSub?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastSeenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedReason?: NullableStringFieldUpdateOperationsInput | string | null } export type AdminSessionUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string jti?: StringFieldUpdateOperationsInput | string adminUserId?: StringFieldUpdateOperationsInput | string iamSessionId?: NullableStringFieldUpdateOperationsInput | string | null iamSub?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastSeenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedReason?: NullableStringFieldUpdateOperationsInput | string | null } export type SalesExpertProfileCreateInput = { id?: string gramLevel?: Decimal | DecimalJsLike | number | string phone?: string | null nationalCode?: string | null createdAt?: Date | string updatedAt?: Date | string adminUser: AdminUserCreateNestedOneWithoutSalesExpertProfileInput city?: CityCreateNestedOneWithoutSalesExpertProfilesInput tradingCustomer?: CustomerCreateNestedOneWithoutSalesExpertTradingForInput } export type SalesExpertProfileUncheckedCreateInput = { id?: string adminUserId: string cityId?: string | null gramLevel?: Decimal | DecimalJsLike | number | string phone?: string | null nationalCode?: string | null tradingCustomerId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type SalesExpertProfileUpdateInput = { id?: StringFieldUpdateOperationsInput | string gramLevel?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string phone?: NullableStringFieldUpdateOperationsInput | string | null nationalCode?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string adminUser?: AdminUserUpdateOneRequiredWithoutSalesExpertProfileNestedInput city?: CityUpdateOneWithoutSalesExpertProfilesNestedInput tradingCustomer?: CustomerUpdateOneWithoutSalesExpertTradingForNestedInput } export type SalesExpertProfileUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string adminUserId?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null gramLevel?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string phone?: NullableStringFieldUpdateOperationsInput | string | null nationalCode?: NullableStringFieldUpdateOperationsInput | string | null tradingCustomerId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SalesExpertProfileCreateManyInput = { id?: string adminUserId: string cityId?: string | null gramLevel?: Decimal | DecimalJsLike | number | string phone?: string | null nationalCode?: string | null tradingCustomerId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type SalesExpertProfileUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string gramLevel?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string phone?: NullableStringFieldUpdateOperationsInput | string | null nationalCode?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SalesExpertProfileUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string adminUserId?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null gramLevel?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string phone?: NullableStringFieldUpdateOperationsInput | string | null nationalCode?: NullableStringFieldUpdateOperationsInput | string | null tradingCustomerId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerCreateInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput orders?: OrderCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerUpdateInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type CustomerCreateManyInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string } export type CustomerUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerAddressCreateInput = { id?: string addressLine: string isDefault?: boolean customer: CustomerCreateNestedOneWithoutAddressesInput city?: CityCreateNestedOneWithoutAddressesInput } export type CustomerAddressUncheckedCreateInput = { id?: string customerId: string cityId?: string | null addressLine: string isDefault?: boolean } export type CustomerAddressUpdateInput = { id?: StringFieldUpdateOperationsInput | string addressLine?: StringFieldUpdateOperationsInput | string isDefault?: BoolFieldUpdateOperationsInput | boolean customer?: CustomerUpdateOneRequiredWithoutAddressesNestedInput city?: CityUpdateOneWithoutAddressesNestedInput } export type CustomerAddressUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null addressLine?: StringFieldUpdateOperationsInput | string isDefault?: BoolFieldUpdateOperationsInput | boolean } export type CustomerAddressCreateManyInput = { id?: string customerId: string cityId?: string | null addressLine: string isDefault?: boolean } export type CustomerAddressUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string addressLine?: StringFieldUpdateOperationsInput | string isDefault?: BoolFieldUpdateOperationsInput | boolean } export type CustomerAddressUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null addressLine?: StringFieldUpdateOperationsInput | string isDefault?: BoolFieldUpdateOperationsInput | boolean } export type BranchCreateInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean city?: CityCreateNestedOneWithoutBranchesInput adminUsers?: AdminUserCreateNestedManyWithoutBranchInput orders?: OrderCreateNestedManyWithoutBranchInput allocations?: BranchAllocationCreateNestedManyWithoutBranchInput } export type BranchUncheckedCreateInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean cityId?: string | null adminUsers?: AdminUserUncheckedCreateNestedManyWithoutBranchInput orders?: OrderUncheckedCreateNestedManyWithoutBranchInput allocations?: BranchAllocationUncheckedCreateNestedManyWithoutBranchInput } export type BranchUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean city?: CityUpdateOneWithoutBranchesNestedInput adminUsers?: AdminUserUpdateManyWithoutBranchNestedInput orders?: OrderUpdateManyWithoutBranchNestedInput allocations?: BranchAllocationUpdateManyWithoutBranchNestedInput } export type BranchUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean cityId?: NullableStringFieldUpdateOperationsInput | string | null adminUsers?: AdminUserUncheckedUpdateManyWithoutBranchNestedInput orders?: OrderUncheckedUpdateManyWithoutBranchNestedInput allocations?: BranchAllocationUncheckedUpdateManyWithoutBranchNestedInput } export type BranchCreateManyInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean cityId?: string | null } export type BranchUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type BranchUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean cityId?: NullableStringFieldUpdateOperationsInput | string | null } export type WorkshopCreateInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean supervisor?: AdminUserCreateNestedOneWithoutSupervisedWorkshopsInput preOrders?: PreOrderCreateNestedManyWithoutWorkshopInput } export type WorkshopUncheckedCreateInput = { id?: string name: string address?: string | null phone?: string | null supervisorId?: string | null isActive?: boolean preOrders?: PreOrderUncheckedCreateNestedManyWithoutWorkshopInput } export type WorkshopUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean supervisor?: AdminUserUpdateOneWithoutSupervisedWorkshopsNestedInput preOrders?: PreOrderUpdateManyWithoutWorkshopNestedInput } export type WorkshopUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null supervisorId?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean preOrders?: PreOrderUncheckedUpdateManyWithoutWorkshopNestedInput } export type WorkshopCreateManyInput = { id?: string name: string address?: string | null phone?: string | null supervisorId?: string | null isActive?: boolean } export type WorkshopUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type WorkshopUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null supervisorId?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type CategoryCreateInput = { id?: string title: string type?: number imageUrl?: string | null iconUrl?: string | null metaTag?: string | null description?: string | null parent?: CategoryCreateNestedOneWithoutChildrenInput children?: CategoryCreateNestedManyWithoutParentInput products?: ProductCreateNestedManyWithoutCategoryInput promotions?: PromotionCreateNestedManyWithoutCategoryInput } export type CategoryUncheckedCreateInput = { id?: string title: string type?: number imageUrl?: string | null iconUrl?: string | null metaTag?: string | null description?: string | null parentId?: string | null children?: CategoryUncheckedCreateNestedManyWithoutParentInput products?: ProductUncheckedCreateNestedManyWithoutCategoryInput promotions?: PromotionUncheckedCreateNestedManyWithoutCategoryInput } export type CategoryUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number imageUrl?: NullableStringFieldUpdateOperationsInput | string | null iconUrl?: NullableStringFieldUpdateOperationsInput | string | null metaTag?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null parent?: CategoryUpdateOneWithoutChildrenNestedInput children?: CategoryUpdateManyWithoutParentNestedInput products?: ProductUpdateManyWithoutCategoryNestedInput promotions?: PromotionUpdateManyWithoutCategoryNestedInput } export type CategoryUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number imageUrl?: NullableStringFieldUpdateOperationsInput | string | null iconUrl?: NullableStringFieldUpdateOperationsInput | string | null metaTag?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null parentId?: NullableStringFieldUpdateOperationsInput | string | null children?: CategoryUncheckedUpdateManyWithoutParentNestedInput products?: ProductUncheckedUpdateManyWithoutCategoryNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCategoryNestedInput } export type CategoryCreateManyInput = { id?: string title: string type?: number imageUrl?: string | null iconUrl?: string | null metaTag?: string | null description?: string | null parentId?: string | null } export type CategoryUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number imageUrl?: NullableStringFieldUpdateOperationsInput | string | null iconUrl?: NullableStringFieldUpdateOperationsInput | string | null metaTag?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null } export type CategoryUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number imageUrl?: NullableStringFieldUpdateOperationsInput | string | null iconUrl?: NullableStringFieldUpdateOperationsInput | string | null metaTag?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null parentId?: NullableStringFieldUpdateOperationsInput | string | null } export type BrandCreateInput = { id?: string title: string products?: ProductCreateNestedManyWithoutBrandInput promotions?: PromotionCreateNestedManyWithoutBrandInput } export type BrandUncheckedCreateInput = { id?: string title: string products?: ProductUncheckedCreateNestedManyWithoutBrandInput promotions?: PromotionUncheckedCreateNestedManyWithoutBrandInput } export type BrandUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string products?: ProductUpdateManyWithoutBrandNestedInput promotions?: PromotionUpdateManyWithoutBrandNestedInput } export type BrandUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string products?: ProductUncheckedUpdateManyWithoutBrandNestedInput promotions?: PromotionUncheckedUpdateManyWithoutBrandNestedInput } export type BrandCreateManyInput = { id?: string title: string } export type BrandUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string } export type BrandUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string } export type CollectionCreateInput = { id?: string title: string description?: string | null isActive?: boolean products?: CollectionProductCreateNestedManyWithoutCollectionInput } export type CollectionUncheckedCreateInput = { id?: string title: string description?: string | null isActive?: boolean products?: CollectionProductUncheckedCreateNestedManyWithoutCollectionInput } export type CollectionUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean products?: CollectionProductUpdateManyWithoutCollectionNestedInput } export type CollectionUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean products?: CollectionProductUncheckedUpdateManyWithoutCollectionNestedInput } export type CollectionCreateManyInput = { id?: string title: string description?: string | null isActive?: boolean } export type CollectionUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type CollectionUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type CollectionProductCreateInput = { collection: CollectionCreateNestedOneWithoutProductsInput product: ProductCreateNestedOneWithoutCollectionsInput } export type CollectionProductUncheckedCreateInput = { collectionId: string productId: string } export type CollectionProductUpdateInput = { collection?: CollectionUpdateOneRequiredWithoutProductsNestedInput product?: ProductUpdateOneRequiredWithoutCollectionsNestedInput } export type CollectionProductUncheckedUpdateInput = { collectionId?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string } export type CollectionProductCreateManyInput = { collectionId: string productId: string } export type CollectionProductUpdateManyMutationInput = { } export type CollectionProductUncheckedUpdateManyInput = { collectionId?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string } export type ProductCreateInput = { id?: string title: string description?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string category?: CategoryCreateNestedOneWithoutProductsInput brand?: BrandCreateNestedOneWithoutProductsInput variants?: ProductVariantCreateNestedManyWithoutProductInput images?: ProductImageCreateNestedManyWithoutProductInput collections?: CollectionProductCreateNestedManyWithoutProductInput comments?: CommentCreateNestedManyWithoutProductInput promotions?: PromotionCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemCreateNestedManyWithoutProductInput } export type ProductUncheckedCreateInput = { id?: string title: string description?: string | null categoryId?: string | null brandId?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string variants?: ProductVariantUncheckedCreateNestedManyWithoutProductInput images?: ProductImageUncheckedCreateNestedManyWithoutProductInput collections?: CollectionProductUncheckedCreateNestedManyWithoutProductInput comments?: CommentUncheckedCreateNestedManyWithoutProductInput promotions?: PromotionUncheckedCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemUncheckedCreateNestedManyWithoutProductInput } export type ProductUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string category?: CategoryUpdateOneWithoutProductsNestedInput brand?: BrandUpdateOneWithoutProductsNestedInput variants?: ProductVariantUpdateManyWithoutProductNestedInput images?: ProductImageUpdateManyWithoutProductNestedInput collections?: CollectionProductUpdateManyWithoutProductNestedInput comments?: CommentUpdateManyWithoutProductNestedInput promotions?: PromotionUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string variants?: ProductVariantUncheckedUpdateManyWithoutProductNestedInput images?: ProductImageUncheckedUpdateManyWithoutProductNestedInput collections?: CollectionProductUncheckedUpdateManyWithoutProductNestedInput comments?: CommentUncheckedUpdateManyWithoutProductNestedInput promotions?: PromotionUncheckedUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUncheckedUpdateManyWithoutProductNestedInput } export type ProductCreateManyInput = { id?: string title: string description?: string | null categoryId?: string | null brandId?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string } export type ProductUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductImageCreateInput = { id?: string url: string sortOrder?: number role?: $Enums.ProductImageRole product: ProductCreateNestedOneWithoutImagesInput variants?: ProductVariantCreateNestedManyWithoutImageInput } export type ProductImageUncheckedCreateInput = { id?: string productId: string url: string sortOrder?: number role?: $Enums.ProductImageRole variants?: ProductVariantUncheckedCreateNestedManyWithoutImageInput } export type ProductImageUpdateInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string sortOrder?: IntFieldUpdateOperationsInput | number role?: EnumProductImageRoleFieldUpdateOperationsInput | $Enums.ProductImageRole product?: ProductUpdateOneRequiredWithoutImagesNestedInput variants?: ProductVariantUpdateManyWithoutImageNestedInput } export type ProductImageUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string sortOrder?: IntFieldUpdateOperationsInput | number role?: EnumProductImageRoleFieldUpdateOperationsInput | $Enums.ProductImageRole variants?: ProductVariantUncheckedUpdateManyWithoutImageNestedInput } export type ProductImageCreateManyInput = { id?: string productId: string url: string sortOrder?: number role?: $Enums.ProductImageRole } export type ProductImageUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string sortOrder?: IntFieldUpdateOperationsInput | number role?: EnumProductImageRoleFieldUpdateOperationsInput | $Enums.ProductImageRole } export type ProductImageUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string sortOrder?: IntFieldUpdateOperationsInput | number role?: EnumProductImageRoleFieldUpdateOperationsInput | $Enums.ProductImageRole } export type ProductVariantCreateInput = { id?: string title: string sku?: string | null rashWeightGrams: Decimal | DecimalJsLike | number | string defaultWagePercent: Decimal | DecimalJsLike | number | string qty?: number isPreOrder?: boolean isActive?: boolean product: ProductCreateNestedOneWithoutVariantsInput image?: ProductImageCreateNestedOneWithoutVariantsInput orderItems?: OrderItemCreateNestedManyWithoutProductVariantInput } export type ProductVariantUncheckedCreateInput = { id?: string productId: string title: string sku?: string | null rashWeightGrams: Decimal | DecimalJsLike | number | string defaultWagePercent: Decimal | DecimalJsLike | number | string qty?: number isPreOrder?: boolean isActive?: boolean imageId?: string | null orderItems?: OrderItemUncheckedCreateNestedManyWithoutProductVariantInput } export type ProductVariantUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null rashWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string qty?: IntFieldUpdateOperationsInput | number isPreOrder?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean product?: ProductUpdateOneRequiredWithoutVariantsNestedInput image?: ProductImageUpdateOneWithoutVariantsNestedInput orderItems?: OrderItemUpdateManyWithoutProductVariantNestedInput } export type ProductVariantUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null rashWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string qty?: IntFieldUpdateOperationsInput | number isPreOrder?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean imageId?: NullableStringFieldUpdateOperationsInput | string | null orderItems?: OrderItemUncheckedUpdateManyWithoutProductVariantNestedInput } export type ProductVariantCreateManyInput = { id?: string productId: string title: string sku?: string | null rashWeightGrams: Decimal | DecimalJsLike | number | string defaultWagePercent: Decimal | DecimalJsLike | number | string qty?: number isPreOrder?: boolean isActive?: boolean imageId?: string | null } export type ProductVariantUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null rashWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string qty?: IntFieldUpdateOperationsInput | number isPreOrder?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean } export type ProductVariantUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null rashWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string qty?: IntFieldUpdateOperationsInput | number isPreOrder?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean imageId?: NullableStringFieldUpdateOperationsInput | string | null } export type OrderCreateInput = { id?: string orderNumber: string channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string customer: CustomerCreateNestedOneWithoutOrdersInput branch?: BranchCreateNestedOneWithoutOrdersInput items?: OrderItemCreateNestedManyWithoutOrderInput statusEvents?: OrderStatusEventCreateNestedManyWithoutOrderInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutOrderInput convertedFromPreOrder?: PreOrderCreateNestedOneWithoutConvertedOrderInput } export type OrderUncheckedCreateInput = { id?: string orderNumber: string customerId: string branchId?: string | null channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string items?: OrderItemUncheckedCreateNestedManyWithoutOrderInput statusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutOrderInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutOrderInput convertedFromPreOrder?: PreOrderUncheckedCreateNestedOneWithoutConvertedOrderInput } export type OrderUpdateInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutOrdersNestedInput branch?: BranchUpdateOneWithoutOrdersNestedInput items?: OrderItemUpdateManyWithoutOrderNestedInput statusEvents?: OrderStatusEventUpdateManyWithoutOrderNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutOrderNestedInput convertedFromPreOrder?: PreOrderUpdateOneWithoutConvertedOrderNestedInput } export type OrderUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string branchId?: NullableStringFieldUpdateOperationsInput | string | null channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: OrderItemUncheckedUpdateManyWithoutOrderNestedInput statusEvents?: OrderStatusEventUncheckedUpdateManyWithoutOrderNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutOrderNestedInput convertedFromPreOrder?: PreOrderUncheckedUpdateOneWithoutConvertedOrderNestedInput } export type OrderCreateManyInput = { id?: string orderNumber: string customerId: string branchId?: string | null channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string } export type OrderUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type OrderUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string branchId?: NullableStringFieldUpdateOperationsInput | string | null channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type OrderItemCreateInput = { id?: string quantity: number rashWeightGramsSnapshot: Decimal | DecimalJsLike | number | string wagePercentSnapshot: Decimal | DecimalJsLike | number | string discountPercentSnapshot?: Decimal | DecimalJsLike | number | string computedWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string order: OrderCreateNestedOneWithoutItemsInput productVariant: ProductVariantCreateNestedOneWithoutOrderItemsInput } export type OrderItemUncheckedCreateInput = { id?: string orderId: string productVariantId: string quantity: number rashWeightGramsSnapshot: Decimal | DecimalJsLike | number | string wagePercentSnapshot: Decimal | DecimalJsLike | number | string discountPercentSnapshot?: Decimal | DecimalJsLike | number | string computedWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string } export type OrderItemUpdateInput = { id?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number rashWeightGramsSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string order?: OrderUpdateOneRequiredWithoutItemsNestedInput productVariant?: ProductVariantUpdateOneRequiredWithoutOrderItemsNestedInput } export type OrderItemUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string orderId?: StringFieldUpdateOperationsInput | string productVariantId?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number rashWeightGramsSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string } export type OrderItemCreateManyInput = { id?: string orderId: string productVariantId: string quantity: number rashWeightGramsSnapshot: Decimal | DecimalJsLike | number | string wagePercentSnapshot: Decimal | DecimalJsLike | number | string discountPercentSnapshot?: Decimal | DecimalJsLike | number | string computedWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string } export type OrderItemUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number rashWeightGramsSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string } export type OrderItemUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string orderId?: StringFieldUpdateOperationsInput | string productVariantId?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number rashWeightGramsSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string } export type OrderStatusEventCreateInput = { id?: string fromStatus?: $Enums.OrderStatus | null toStatus: $Enums.OrderStatus note?: string | null createdAt?: Date | string order: OrderCreateNestedOneWithoutStatusEventsInput actorAdminUser?: AdminUserCreateNestedOneWithoutOrderStatusEventsInput } export type OrderStatusEventUncheckedCreateInput = { id?: string orderId: string fromStatus?: $Enums.OrderStatus | null toStatus: $Enums.OrderStatus note?: string | null actorAdminUserId?: string | null createdAt?: Date | string } export type OrderStatusEventUpdateInput = { id?: StringFieldUpdateOperationsInput | string fromStatus?: NullableEnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus | null toStatus?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string order?: OrderUpdateOneRequiredWithoutStatusEventsNestedInput actorAdminUser?: AdminUserUpdateOneWithoutOrderStatusEventsNestedInput } export type OrderStatusEventUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string orderId?: StringFieldUpdateOperationsInput | string fromStatus?: NullableEnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus | null toStatus?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus note?: NullableStringFieldUpdateOperationsInput | string | null actorAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type OrderStatusEventCreateManyInput = { id?: string orderId: string fromStatus?: $Enums.OrderStatus | null toStatus: $Enums.OrderStatus note?: string | null actorAdminUserId?: string | null createdAt?: Date | string } export type OrderStatusEventUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string fromStatus?: NullableEnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus | null toStatus?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type OrderStatusEventUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string orderId?: StringFieldUpdateOperationsInput | string fromStatus?: NullableEnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus | null toStatus?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus note?: NullableStringFieldUpdateOperationsInput | string | null actorAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PreOrderCreateInput = { id?: string status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null createdAt?: Date | string updatedAt?: Date | string customer: CustomerCreateNestedOneWithoutPreOrdersInput city?: CityCreateNestedOneWithoutPreOrdersInput workshop?: WorkshopCreateNestedOneWithoutPreOrdersInput convertedOrder?: OrderCreateNestedOneWithoutConvertedFromPreOrderInput statusEvents?: PreOrderStatusEventCreateNestedManyWithoutPreOrderInput } export type PreOrderUncheckedCreateInput = { id?: string customerId: string cityId?: string | null workshopId?: string | null status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null convertedOrderId?: string | null createdAt?: Date | string updatedAt?: Date | string statusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutPreOrderInput } export type PreOrderUpdateInput = { id?: StringFieldUpdateOperationsInput | string status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutPreOrdersNestedInput city?: CityUpdateOneWithoutPreOrdersNestedInput workshop?: WorkshopUpdateOneWithoutPreOrdersNestedInput convertedOrder?: OrderUpdateOneWithoutConvertedFromPreOrderNestedInput statusEvents?: PreOrderStatusEventUpdateManyWithoutPreOrderNestedInput } export type PreOrderUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null workshopId?: NullableStringFieldUpdateOperationsInput | string | null status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null convertedOrderId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string statusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutPreOrderNestedInput } export type PreOrderCreateManyInput = { id?: string customerId: string cityId?: string | null workshopId?: string | null status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null convertedOrderId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type PreOrderUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PreOrderUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null workshopId?: NullableStringFieldUpdateOperationsInput | string | null status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null convertedOrderId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PreOrderStatusEventCreateInput = { id?: string changes: JsonNullValueInput | InputJsonValue ipAddress?: string | null createdAt?: Date | string preOrder: PreOrderCreateNestedOneWithoutStatusEventsInput actorAdminUser?: AdminUserCreateNestedOneWithoutPreOrderStatusEventsInput } export type PreOrderStatusEventUncheckedCreateInput = { id?: string preOrderId: string changes: JsonNullValueInput | InputJsonValue actorAdminUserId?: string | null ipAddress?: string | null createdAt?: Date | string } export type PreOrderStatusEventUpdateInput = { id?: StringFieldUpdateOperationsInput | string changes?: JsonNullValueInput | InputJsonValue ipAddress?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string preOrder?: PreOrderUpdateOneRequiredWithoutStatusEventsNestedInput actorAdminUser?: AdminUserUpdateOneWithoutPreOrderStatusEventsNestedInput } export type PreOrderStatusEventUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string preOrderId?: StringFieldUpdateOperationsInput | string changes?: JsonNullValueInput | InputJsonValue actorAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PreOrderStatusEventCreateManyInput = { id?: string preOrderId: string changes: JsonNullValueInput | InputJsonValue actorAdminUserId?: string | null ipAddress?: string | null createdAt?: Date | string } export type PreOrderStatusEventUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string changes?: JsonNullValueInput | InputJsonValue ipAddress?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PreOrderStatusEventUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string preOrderId?: StringFieldUpdateOperationsInput | string changes?: JsonNullValueInput | InputJsonValue actorAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type LedgerEntryCreateInput = { id?: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType amount: Decimal | DecimalJsLike | number | string karatPerMille?: number | null pricePerGramRialAtEntry?: Decimal | DecimalJsLike | number | string | null confirmed?: boolean confirmedAt?: Date | string | null labName?: string | null hallmark?: string | null accountName?: string | null bankName?: string | null transferTo?: string | null originalValue?: Decimal | DecimalJsLike | number | string | null priceRial?: Decimal | DecimalJsLike | number | string | null receivedAt?: Date | string | null note?: string | null createdAt?: Date | string customer: CustomerCreateNestedOneWithoutLedgerEntriesInput order?: OrderCreateNestedOneWithoutLedgerEntriesInput postedByAdminUser?: AdminUserCreateNestedOneWithoutPostedLedgerEntriesInput } export type LedgerEntryUncheckedCreateInput = { id?: string customerId: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType amount: Decimal | DecimalJsLike | number | string karatPerMille?: number | null pricePerGramRialAtEntry?: Decimal | DecimalJsLike | number | string | null orderId?: string | null confirmed?: boolean confirmedAt?: Date | string | null postedByAdminUserId?: string | null labName?: string | null hallmark?: string | null accountName?: string | null bankName?: string | null transferTo?: string | null originalValue?: Decimal | DecimalJsLike | number | string | null priceRial?: Decimal | DecimalJsLike | number | string | null receivedAt?: Date | string | null note?: string | null createdAt?: Date | string } export type LedgerEntryUpdateInput = { id?: StringFieldUpdateOperationsInput | string currency?: EnumLedgerCurrencyFieldUpdateOperationsInput | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFieldUpdateOperationsInput | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFieldUpdateOperationsInput | $Enums.LedgerSourceType amount?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string karatPerMille?: NullableIntFieldUpdateOperationsInput | number | null pricePerGramRialAtEntry?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null confirmed?: BoolFieldUpdateOperationsInput | boolean confirmedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null labName?: NullableStringFieldUpdateOperationsInput | string | null hallmark?: NullableStringFieldUpdateOperationsInput | string | null accountName?: NullableStringFieldUpdateOperationsInput | string | null bankName?: NullableStringFieldUpdateOperationsInput | string | null transferTo?: NullableStringFieldUpdateOperationsInput | string | null originalValue?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null priceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null receivedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutLedgerEntriesNestedInput order?: OrderUpdateOneWithoutLedgerEntriesNestedInput postedByAdminUser?: AdminUserUpdateOneWithoutPostedLedgerEntriesNestedInput } export type LedgerEntryUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string currency?: EnumLedgerCurrencyFieldUpdateOperationsInput | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFieldUpdateOperationsInput | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFieldUpdateOperationsInput | $Enums.LedgerSourceType amount?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string karatPerMille?: NullableIntFieldUpdateOperationsInput | number | null pricePerGramRialAtEntry?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null orderId?: NullableStringFieldUpdateOperationsInput | string | null confirmed?: BoolFieldUpdateOperationsInput | boolean confirmedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null postedByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null labName?: NullableStringFieldUpdateOperationsInput | string | null hallmark?: NullableStringFieldUpdateOperationsInput | string | null accountName?: NullableStringFieldUpdateOperationsInput | string | null bankName?: NullableStringFieldUpdateOperationsInput | string | null transferTo?: NullableStringFieldUpdateOperationsInput | string | null originalValue?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null priceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null receivedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type LedgerEntryCreateManyInput = { id?: string customerId: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType amount: Decimal | DecimalJsLike | number | string karatPerMille?: number | null pricePerGramRialAtEntry?: Decimal | DecimalJsLike | number | string | null orderId?: string | null confirmed?: boolean confirmedAt?: Date | string | null postedByAdminUserId?: string | null labName?: string | null hallmark?: string | null accountName?: string | null bankName?: string | null transferTo?: string | null originalValue?: Decimal | DecimalJsLike | number | string | null priceRial?: Decimal | DecimalJsLike | number | string | null receivedAt?: Date | string | null note?: string | null createdAt?: Date | string } export type LedgerEntryUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string currency?: EnumLedgerCurrencyFieldUpdateOperationsInput | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFieldUpdateOperationsInput | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFieldUpdateOperationsInput | $Enums.LedgerSourceType amount?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string karatPerMille?: NullableIntFieldUpdateOperationsInput | number | null pricePerGramRialAtEntry?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null confirmed?: BoolFieldUpdateOperationsInput | boolean confirmedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null labName?: NullableStringFieldUpdateOperationsInput | string | null hallmark?: NullableStringFieldUpdateOperationsInput | string | null accountName?: NullableStringFieldUpdateOperationsInput | string | null bankName?: NullableStringFieldUpdateOperationsInput | string | null transferTo?: NullableStringFieldUpdateOperationsInput | string | null originalValue?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null priceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null receivedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type LedgerEntryUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string currency?: EnumLedgerCurrencyFieldUpdateOperationsInput | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFieldUpdateOperationsInput | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFieldUpdateOperationsInput | $Enums.LedgerSourceType amount?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string karatPerMille?: NullableIntFieldUpdateOperationsInput | number | null pricePerGramRialAtEntry?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null orderId?: NullableStringFieldUpdateOperationsInput | string | null confirmed?: BoolFieldUpdateOperationsInput | boolean confirmedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null postedByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null labName?: NullableStringFieldUpdateOperationsInput | string | null hallmark?: NullableStringFieldUpdateOperationsInput | string | null accountName?: NullableStringFieldUpdateOperationsInput | string | null bankName?: NullableStringFieldUpdateOperationsInput | string | null transferTo?: NullableStringFieldUpdateOperationsInput | string | null originalValue?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null priceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null receivedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type GoldPriceQuoteCreateInput = { id?: string karatPerMille: number pricePerGramRial: Decimal | DecimalJsLike | number | string source: string quotedAt?: Date | string } export type GoldPriceQuoteUncheckedCreateInput = { id?: string karatPerMille: number pricePerGramRial: Decimal | DecimalJsLike | number | string source: string quotedAt?: Date | string } export type GoldPriceQuoteUpdateInput = { id?: StringFieldUpdateOperationsInput | string karatPerMille?: IntFieldUpdateOperationsInput | number pricePerGramRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string source?: StringFieldUpdateOperationsInput | string quotedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type GoldPriceQuoteUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string karatPerMille?: IntFieldUpdateOperationsInput | number pricePerGramRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string source?: StringFieldUpdateOperationsInput | string quotedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type GoldPriceQuoteCreateManyInput = { id?: string karatPerMille: number pricePerGramRial: Decimal | DecimalJsLike | number | string source: string quotedAt?: Date | string } export type GoldPriceQuoteUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string karatPerMille?: IntFieldUpdateOperationsInput | number pricePerGramRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string source?: StringFieldUpdateOperationsInput | string quotedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type GoldPriceQuoteUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string karatPerMille?: IntFieldUpdateOperationsInput | number pricePerGramRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string source?: StringFieldUpdateOperationsInput | string quotedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type WalletBonusCreateInput = { id?: string orderId?: string | null goldGrams: Decimal | DecimalJsLike | number | string grantedAt?: Date | string expiresAt: Date | string consumedAt?: Date | string | null isActive?: boolean customer: CustomerCreateNestedOneWithoutWalletBonusesInput } export type WalletBonusUncheckedCreateInput = { id?: string customerId: string orderId?: string | null goldGrams: Decimal | DecimalJsLike | number | string grantedAt?: Date | string expiresAt: Date | string consumedAt?: Date | string | null isActive?: boolean } export type WalletBonusUpdateInput = { id?: StringFieldUpdateOperationsInput | string orderId?: NullableStringFieldUpdateOperationsInput | string | null goldGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string grantedAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null isActive?: BoolFieldUpdateOperationsInput | boolean customer?: CustomerUpdateOneRequiredWithoutWalletBonusesNestedInput } export type WalletBonusUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string orderId?: NullableStringFieldUpdateOperationsInput | string | null goldGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string grantedAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type WalletBonusCreateManyInput = { id?: string customerId: string orderId?: string | null goldGrams: Decimal | DecimalJsLike | number | string grantedAt?: Date | string expiresAt: Date | string consumedAt?: Date | string | null isActive?: boolean } export type WalletBonusUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string orderId?: NullableStringFieldUpdateOperationsInput | string | null goldGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string grantedAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type WalletBonusUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string orderId?: NullableStringFieldUpdateOperationsInput | string | null goldGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string grantedAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type UserTypeCreateInput = { id: number title: string isActive?: boolean createdAt?: Date | string permissions?: PermissionCreateNestedManyWithoutUserTypeInput adminUsers?: AdminUserCreateNestedManyWithoutUserTypeInput } export type UserTypeUncheckedCreateInput = { id: number title: string isActive?: boolean createdAt?: Date | string permissions?: PermissionUncheckedCreateNestedManyWithoutUserTypeInput adminUsers?: AdminUserUncheckedCreateNestedManyWithoutUserTypeInput } export type UserTypeUpdateInput = { id?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string permissions?: PermissionUpdateManyWithoutUserTypeNestedInput adminUsers?: AdminUserUpdateManyWithoutUserTypeNestedInput } export type UserTypeUncheckedUpdateInput = { id?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string permissions?: PermissionUncheckedUpdateManyWithoutUserTypeNestedInput adminUsers?: AdminUserUncheckedUpdateManyWithoutUserTypeNestedInput } export type UserTypeCreateManyInput = { id: number title: string isActive?: boolean createdAt?: Date | string } export type UserTypeUpdateManyMutationInput = { id?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserTypeUncheckedUpdateManyInput = { id?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PermissionCreateInput = { rid: string userType: UserTypeCreateNestedOneWithoutPermissionsInput } export type PermissionUncheckedCreateInput = { rid: string userTypeId: number } export type PermissionUpdateInput = { rid?: StringFieldUpdateOperationsInput | string userType?: UserTypeUpdateOneRequiredWithoutPermissionsNestedInput } export type PermissionUncheckedUpdateInput = { rid?: StringFieldUpdateOperationsInput | string userTypeId?: IntFieldUpdateOperationsInput | number } export type PermissionCreateManyInput = { rid: string userTypeId: number } export type PermissionUpdateManyMutationInput = { rid?: StringFieldUpdateOperationsInput | string } export type PermissionUncheckedUpdateManyInput = { rid?: StringFieldUpdateOperationsInput | string userTypeId?: IntFieldUpdateOperationsInput | number } export type CommentCreateInput = { id?: string body: string status?: $Enums.CommentStatus createdAt?: Date | string updatedAt?: Date | string product: ProductCreateNestedOneWithoutCommentsInput customer: CustomerCreateNestedOneWithoutCommentsInput replyTo?: CommentCreateNestedOneWithoutRepliesInput replies?: CommentCreateNestedManyWithoutReplyToInput } export type CommentUncheckedCreateInput = { id?: string productId: string customerId: string body: string status?: $Enums.CommentStatus replyToId?: string | null createdAt?: Date | string updatedAt?: Date | string replies?: CommentUncheckedCreateNestedManyWithoutReplyToInput } export type CommentUpdateInput = { id?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string product?: ProductUpdateOneRequiredWithoutCommentsNestedInput customer?: CustomerUpdateOneRequiredWithoutCommentsNestedInput replyTo?: CommentUpdateOneWithoutRepliesNestedInput replies?: CommentUpdateManyWithoutReplyToNestedInput } export type CommentUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus replyToId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string replies?: CommentUncheckedUpdateManyWithoutReplyToNestedInput } export type CommentCreateManyInput = { id?: string productId: string customerId: string body: string status?: $Enums.CommentStatus replyToId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type CommentUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CommentUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus replyToId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SettingCreateInput = { key: string value: JsonNullValueInput | InputJsonValue updatedAt?: Date | string } export type SettingUncheckedCreateInput = { key: string value: JsonNullValueInput | InputJsonValue updatedAt?: Date | string } export type SettingUpdateInput = { key?: StringFieldUpdateOperationsInput | string value?: JsonNullValueInput | InputJsonValue updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SettingUncheckedUpdateInput = { key?: StringFieldUpdateOperationsInput | string value?: JsonNullValueInput | InputJsonValue updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SettingCreateManyInput = { key: string value: JsonNullValueInput | InputJsonValue updatedAt?: Date | string } export type SettingUpdateManyMutationInput = { key?: StringFieldUpdateOperationsInput | string value?: JsonNullValueInput | InputJsonValue updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SettingUncheckedUpdateManyInput = { key?: StringFieldUpdateOperationsInput | string value?: JsonNullValueInput | InputJsonValue updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionCreateInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string product?: ProductCreateNestedOneWithoutPromotionsInput category?: CategoryCreateNestedOneWithoutPromotionsInput customer?: CustomerCreateNestedOneWithoutPromotionsInput brand?: BrandCreateNestedOneWithoutPromotionsInput } export type PromotionUncheckedCreateInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null productId?: string | null categoryId?: string | null customerId?: string | null brandId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type PromotionUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string product?: ProductUpdateOneWithoutPromotionsNestedInput category?: CategoryUpdateOneWithoutPromotionsNestedInput customer?: CustomerUpdateOneWithoutPromotionsNestedInput brand?: BrandUpdateOneWithoutPromotionsNestedInput } export type PromotionUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null productId?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null customerId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionCreateManyInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null productId?: string | null categoryId?: string | null customerId?: string | null brandId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type PromotionUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null productId?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null customerId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionExclusionCreateInput = { id?: string type: number itemId: string createdAt?: Date | string } export type PromotionExclusionUncheckedCreateInput = { id?: string type: number itemId: string createdAt?: Date | string } export type PromotionExclusionUpdateInput = { id?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number itemId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionExclusionUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number itemId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionExclusionCreateManyInput = { id?: string type: number itemId: string createdAt?: Date | string } export type PromotionExclusionUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number itemId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionExclusionUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number itemId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type BranchAllocationCreateInput = { id?: string note?: string | null createdAt?: Date | string branch: BranchCreateNestedOneWithoutAllocationsInput allocatorAdminUser?: AdminUserCreateNestedOneWithoutBranchAllocationsInput items?: BranchAllocationItemCreateNestedManyWithoutAllocationInput } export type BranchAllocationUncheckedCreateInput = { id?: string branchId: string allocatorAdminUserId?: string | null note?: string | null createdAt?: Date | string items?: BranchAllocationItemUncheckedCreateNestedManyWithoutAllocationInput } export type BranchAllocationUpdateInput = { id?: StringFieldUpdateOperationsInput | string note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string branch?: BranchUpdateOneRequiredWithoutAllocationsNestedInput allocatorAdminUser?: AdminUserUpdateOneWithoutBranchAllocationsNestedInput items?: BranchAllocationItemUpdateManyWithoutAllocationNestedInput } export type BranchAllocationUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string branchId?: StringFieldUpdateOperationsInput | string allocatorAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: BranchAllocationItemUncheckedUpdateManyWithoutAllocationNestedInput } export type BranchAllocationCreateManyInput = { id?: string branchId: string allocatorAdminUserId?: string | null note?: string | null createdAt?: Date | string } export type BranchAllocationUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type BranchAllocationUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string branchId?: StringFieldUpdateOperationsInput | string allocatorAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type BranchAllocationItemCreateInput = { id?: string weightGrams?: Decimal | DecimalJsLike | number | string | null allocation: BranchAllocationCreateNestedOneWithoutItemsInput product: ProductCreateNestedOneWithoutAllocationItemsInput } export type BranchAllocationItemUncheckedCreateInput = { id?: string allocationId: string productId: string weightGrams?: Decimal | DecimalJsLike | number | string | null } export type BranchAllocationItemUpdateInput = { id?: StringFieldUpdateOperationsInput | string weightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null allocation?: BranchAllocationUpdateOneRequiredWithoutItemsNestedInput product?: ProductUpdateOneRequiredWithoutAllocationItemsNestedInput } export type BranchAllocationItemUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string allocationId?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string weightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null } export type BranchAllocationItemCreateManyInput = { id?: string allocationId: string productId: string weightGrams?: Decimal | DecimalJsLike | number | string | null } export type BranchAllocationItemUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string weightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null } export type BranchAllocationItemUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string allocationId?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string weightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null } export type SmsMessageCreateInput = { id?: string audience: $Enums.MessageAudience recipients?: string | null body: string sentCount?: number createdAt?: Date | string sentByAdminUser?: AdminUserCreateNestedOneWithoutSentSmsMessagesInput } export type SmsMessageUncheckedCreateInput = { id?: string audience: $Enums.MessageAudience recipients?: string | null body: string sentCount?: number sentByAdminUserId?: string | null createdAt?: Date | string } export type SmsMessageUpdateInput = { id?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience recipients?: NullableStringFieldUpdateOperationsInput | string | null body?: StringFieldUpdateOperationsInput | string sentCount?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string sentByAdminUser?: AdminUserUpdateOneWithoutSentSmsMessagesNestedInput } export type SmsMessageUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience recipients?: NullableStringFieldUpdateOperationsInput | string | null body?: StringFieldUpdateOperationsInput | string sentCount?: IntFieldUpdateOperationsInput | number sentByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SmsMessageCreateManyInput = { id?: string audience: $Enums.MessageAudience recipients?: string | null body: string sentCount?: number sentByAdminUserId?: string | null createdAt?: Date | string } export type SmsMessageUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience recipients?: NullableStringFieldUpdateOperationsInput | string | null body?: StringFieldUpdateOperationsInput | string sentCount?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SmsMessageUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience recipients?: NullableStringFieldUpdateOperationsInput | string | null body?: StringFieldUpdateOperationsInput | string sentCount?: IntFieldUpdateOperationsInput | number sentByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NotificationCreateInput = { id?: string title: string body: string audience?: $Enums.MessageAudience createdAt?: Date | string sentByAdminUser?: AdminUserCreateNestedOneWithoutSentNotificationsInput recipients?: NotificationRecipientCreateNestedManyWithoutNotificationInput } export type NotificationUncheckedCreateInput = { id?: string title: string body: string audience?: $Enums.MessageAudience sentByAdminUserId?: string | null createdAt?: Date | string recipients?: NotificationRecipientUncheckedCreateNestedManyWithoutNotificationInput } export type NotificationUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience createdAt?: DateTimeFieldUpdateOperationsInput | Date | string sentByAdminUser?: AdminUserUpdateOneWithoutSentNotificationsNestedInput recipients?: NotificationRecipientUpdateManyWithoutNotificationNestedInput } export type NotificationUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience sentByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string recipients?: NotificationRecipientUncheckedUpdateManyWithoutNotificationNestedInput } export type NotificationCreateManyInput = { id?: string title: string body: string audience?: $Enums.MessageAudience sentByAdminUserId?: string | null createdAt?: Date | string } export type NotificationUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NotificationUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience sentByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NotificationRecipientCreateInput = { id?: string readAt?: Date | string | null notification: NotificationCreateNestedOneWithoutRecipientsInput customer: CustomerCreateNestedOneWithoutNotificationsInput } export type NotificationRecipientUncheckedCreateInput = { id?: string notificationId: string customerId: string readAt?: Date | string | null } export type NotificationRecipientUpdateInput = { id?: StringFieldUpdateOperationsInput | string readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null notification?: NotificationUpdateOneRequiredWithoutRecipientsNestedInput customer?: CustomerUpdateOneRequiredWithoutNotificationsNestedInput } export type NotificationRecipientUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string notificationId?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type NotificationRecipientCreateManyInput = { id?: string notificationId: string customerId: string readAt?: Date | string | null } export type NotificationRecipientUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type NotificationRecipientUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string notificationId?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type NewsletterSubscriberCreateInput = { id?: string email?: string | null mobile?: string | null createdAt?: Date | string } export type NewsletterSubscriberUncheckedCreateInput = { id?: string email?: string | null mobile?: string | null createdAt?: Date | string } export type NewsletterSubscriberUpdateInput = { id?: StringFieldUpdateOperationsInput | string email?: NullableStringFieldUpdateOperationsInput | string | null mobile?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NewsletterSubscriberUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string email?: NullableStringFieldUpdateOperationsInput | string | null mobile?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NewsletterSubscriberCreateManyInput = { id?: string email?: string | null mobile?: string | null createdAt?: Date | string } export type NewsletterSubscriberUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string email?: NullableStringFieldUpdateOperationsInput | string | null mobile?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NewsletterSubscriberUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string email?: NullableStringFieldUpdateOperationsInput | string | null mobile?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerActivityLogCreateInput = { id?: string action: string detail?: string | null createdAt?: Date | string customer: CustomerCreateNestedOneWithoutActivityLogsInput } export type CustomerActivityLogUncheckedCreateInput = { id?: string customerId: string action: string detail?: string | null createdAt?: Date | string } export type CustomerActivityLogUpdateInput = { id?: StringFieldUpdateOperationsInput | string action?: StringFieldUpdateOperationsInput | string detail?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutActivityLogsNestedInput } export type CustomerActivityLogUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string action?: StringFieldUpdateOperationsInput | string detail?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerActivityLogCreateManyInput = { id?: string customerId: string action: string detail?: string | null createdAt?: Date | string } export type CustomerActivityLogUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string action?: StringFieldUpdateOperationsInput | string detail?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerActivityLogUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string action?: StringFieldUpdateOperationsInput | string detail?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UploadedFileCreateInput = { id?: string url: string originalName: string mimeType: string sizeBytes: number purpose?: string | null createdAt?: Date | string uploadedByAdminUser?: AdminUserCreateNestedOneWithoutUploadedFilesInput customerAvatars?: CustomerCreateNestedManyWithoutAvatarFileInput adminUserAvatars?: AdminUserCreateNestedManyWithoutAvatarFileInput } export type UploadedFileUncheckedCreateInput = { id?: string url: string originalName: string mimeType: string sizeBytes: number purpose?: string | null uploadedByAdminUserId?: string | null createdAt?: Date | string customerAvatars?: CustomerUncheckedCreateNestedManyWithoutAvatarFileInput adminUserAvatars?: AdminUserUncheckedCreateNestedManyWithoutAvatarFileInput } export type UploadedFileUpdateInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string originalName?: StringFieldUpdateOperationsInput | string mimeType?: StringFieldUpdateOperationsInput | string sizeBytes?: IntFieldUpdateOperationsInput | number purpose?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string uploadedByAdminUser?: AdminUserUpdateOneWithoutUploadedFilesNestedInput customerAvatars?: CustomerUpdateManyWithoutAvatarFileNestedInput adminUserAvatars?: AdminUserUpdateManyWithoutAvatarFileNestedInput } export type UploadedFileUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string originalName?: StringFieldUpdateOperationsInput | string mimeType?: StringFieldUpdateOperationsInput | string sizeBytes?: IntFieldUpdateOperationsInput | number purpose?: NullableStringFieldUpdateOperationsInput | string | null uploadedByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string customerAvatars?: CustomerUncheckedUpdateManyWithoutAvatarFileNestedInput adminUserAvatars?: AdminUserUncheckedUpdateManyWithoutAvatarFileNestedInput } export type UploadedFileCreateManyInput = { id?: string url: string originalName: string mimeType: string sizeBytes: number purpose?: string | null uploadedByAdminUserId?: string | null createdAt?: Date | string } export type UploadedFileUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string originalName?: StringFieldUpdateOperationsInput | string mimeType?: StringFieldUpdateOperationsInput | string sizeBytes?: IntFieldUpdateOperationsInput | number purpose?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UploadedFileUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string originalName?: StringFieldUpdateOperationsInput | string mimeType?: StringFieldUpdateOperationsInput | string sizeBytes?: IntFieldUpdateOperationsInput | number purpose?: NullableStringFieldUpdateOperationsInput | string | null uploadedByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerOtpCreateInput = { id?: string mobile: string codeHash: string expiresAt: Date | string attempts?: number consumedAt?: Date | string | null requestIp?: string | null createdAt?: Date | string customer: CustomerCreateNestedOneWithoutOtpChallengesInput } export type CustomerOtpUncheckedCreateInput = { id?: string mobile: string customerId: string codeHash: string expiresAt: Date | string attempts?: number consumedAt?: Date | string | null requestIp?: string | null createdAt?: Date | string } export type CustomerOtpUpdateInput = { id?: StringFieldUpdateOperationsInput | string mobile?: StringFieldUpdateOperationsInput | string codeHash?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string attempts?: IntFieldUpdateOperationsInput | number consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null requestIp?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutOtpChallengesNestedInput } export type CustomerOtpUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string mobile?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string codeHash?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string attempts?: IntFieldUpdateOperationsInput | number consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null requestIp?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerOtpCreateManyInput = { id?: string mobile: string customerId: string codeHash: string expiresAt: Date | string attempts?: number consumedAt?: Date | string | null requestIp?: string | null createdAt?: Date | string } export type CustomerOtpUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string mobile?: StringFieldUpdateOperationsInput | string codeHash?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string attempts?: IntFieldUpdateOperationsInput | number consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null requestIp?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerOtpUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string mobile?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string codeHash?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string attempts?: IntFieldUpdateOperationsInput | number consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null requestIp?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type StringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> notIn?: string[] | ListStringFieldRefInput<$PrismaModel> lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> mode?: QueryMode not?: NestedStringFilter<$PrismaModel> | string } export type StringNullableFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> mode?: QueryMode not?: NestedStringNullableFilter<$PrismaModel> | string | null } export type DecimalNullableFilter<$PrismaModel = never> = { equals?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> | null in?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> | null notIn?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> | null lt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> lte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> not?: NestedDecimalNullableFilter<$PrismaModel> | Decimal | DecimalJsLike | number | string | null } export type CustomerListRelationFilter = { every?: CustomerWhereInput some?: CustomerWhereInput none?: CustomerWhereInput } export type CustomerAddressListRelationFilter = { every?: CustomerAddressWhereInput some?: CustomerAddressWhereInput none?: CustomerAddressWhereInput } export type BranchListRelationFilter = { every?: BranchWhereInput some?: BranchWhereInput none?: BranchWhereInput } export type PreOrderListRelationFilter = { every?: PreOrderWhereInput some?: PreOrderWhereInput none?: PreOrderWhereInput } export type SalesExpertProfileListRelationFilter = { every?: SalesExpertProfileWhereInput some?: SalesExpertProfileWhereInput none?: SalesExpertProfileWhereInput } export type SortOrderInput = { sort: SortOrder nulls?: NullsOrder } export type CustomerOrderByRelationAggregateInput = { _count?: SortOrder } export type CustomerAddressOrderByRelationAggregateInput = { _count?: SortOrder } export type BranchOrderByRelationAggregateInput = { _count?: SortOrder } export type PreOrderOrderByRelationAggregateInput = { _count?: SortOrder } export type SalesExpertProfileOrderByRelationAggregateInput = { _count?: SortOrder } export type CityCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder province?: SortOrder percent?: SortOrder percentAux?: SortOrder } export type CityAvgOrderByAggregateInput = { percent?: SortOrder percentAux?: SortOrder } export type CityMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder province?: SortOrder percent?: SortOrder percentAux?: SortOrder } export type CityMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder province?: SortOrder percent?: SortOrder percentAux?: SortOrder } export type CitySumOrderByAggregateInput = { percent?: SortOrder percentAux?: SortOrder } export type StringWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> notIn?: string[] | ListStringFieldRefInput<$PrismaModel> lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> mode?: QueryMode not?: NestedStringWithAggregatesFilter<$PrismaModel> | string _count?: NestedIntFilter<$PrismaModel> _min?: NestedStringFilter<$PrismaModel> _max?: NestedStringFilter<$PrismaModel> } export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> mode?: QueryMode not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedStringNullableFilter<$PrismaModel> _max?: NestedStringNullableFilter<$PrismaModel> } export type DecimalNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> | null in?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> | null notIn?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> | null lt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> lte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> not?: NestedDecimalNullableWithAggregatesFilter<$PrismaModel> | Decimal | DecimalJsLike | number | string | null _count?: NestedIntNullableFilter<$PrismaModel> _avg?: NestedDecimalNullableFilter<$PrismaModel> _sum?: NestedDecimalNullableFilter<$PrismaModel> _min?: NestedDecimalNullableFilter<$PrismaModel> _max?: NestedDecimalNullableFilter<$PrismaModel> } export type EnumAdminRoleFilter<$PrismaModel = never> = { equals?: $Enums.AdminRole | EnumAdminRoleFieldRefInput<$PrismaModel> in?: $Enums.AdminRole[] | ListEnumAdminRoleFieldRefInput<$PrismaModel> notIn?: $Enums.AdminRole[] | ListEnumAdminRoleFieldRefInput<$PrismaModel> not?: NestedEnumAdminRoleFilter<$PrismaModel> | $Enums.AdminRole } export type IntNullableFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | ListIntFieldRefInput<$PrismaModel> | null notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableFilter<$PrismaModel> | number | null } export type BoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean } export type DateTimeFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeFilter<$PrismaModel> | Date | string } export type UserTypeNullableRelationFilter = { is?: UserTypeWhereInput | null isNot?: UserTypeWhereInput | null } export type BranchNullableRelationFilter = { is?: BranchWhereInput | null isNot?: BranchWhereInput | null } export type UploadedFileNullableRelationFilter = { is?: UploadedFileWhereInput | null isNot?: UploadedFileWhereInput | null } export type WorkshopListRelationFilter = { every?: WorkshopWhereInput some?: WorkshopWhereInput none?: WorkshopWhereInput } export type BranchAllocationListRelationFilter = { every?: BranchAllocationWhereInput some?: BranchAllocationWhereInput none?: BranchAllocationWhereInput } export type LedgerEntryListRelationFilter = { every?: LedgerEntryWhereInput some?: LedgerEntryWhereInput none?: LedgerEntryWhereInput } export type OrderStatusEventListRelationFilter = { every?: OrderStatusEventWhereInput some?: OrderStatusEventWhereInput none?: OrderStatusEventWhereInput } export type PreOrderStatusEventListRelationFilter = { every?: PreOrderStatusEventWhereInput some?: PreOrderStatusEventWhereInput none?: PreOrderStatusEventWhereInput } export type SmsMessageListRelationFilter = { every?: SmsMessageWhereInput some?: SmsMessageWhereInput none?: SmsMessageWhereInput } export type NotificationListRelationFilter = { every?: NotificationWhereInput some?: NotificationWhereInput none?: NotificationWhereInput } export type UploadedFileListRelationFilter = { every?: UploadedFileWhereInput some?: UploadedFileWhereInput none?: UploadedFileWhereInput } export type SalesExpertProfileNullableRelationFilter = { is?: SalesExpertProfileWhereInput | null isNot?: SalesExpertProfileWhereInput | null } export type AdminSessionListRelationFilter = { every?: AdminSessionWhereInput some?: AdminSessionWhereInput none?: AdminSessionWhereInput } export type WorkshopOrderByRelationAggregateInput = { _count?: SortOrder } export type BranchAllocationOrderByRelationAggregateInput = { _count?: SortOrder } export type LedgerEntryOrderByRelationAggregateInput = { _count?: SortOrder } export type OrderStatusEventOrderByRelationAggregateInput = { _count?: SortOrder } export type PreOrderStatusEventOrderByRelationAggregateInput = { _count?: SortOrder } export type SmsMessageOrderByRelationAggregateInput = { _count?: SortOrder } export type NotificationOrderByRelationAggregateInput = { _count?: SortOrder } export type UploadedFileOrderByRelationAggregateInput = { _count?: SortOrder } export type AdminSessionOrderByRelationAggregateInput = { _count?: SortOrder } export type AdminUserCountOrderByAggregateInput = { id?: SortOrder fullName?: SortOrder firstName?: SortOrder lastName?: SortOrder mobile?: SortOrder passwordHash?: SortOrder role?: SortOrder userTypeId?: SortOrder branchId?: SortOrder wagePercent?: SortOrder isActive?: SortOrder createdAt?: SortOrder avatarFileId?: SortOrder address?: SortOrder storeName?: SortOrder pasazhName?: SortOrder memberCode?: SortOrder } export type AdminUserAvgOrderByAggregateInput = { userTypeId?: SortOrder wagePercent?: SortOrder } export type AdminUserMaxOrderByAggregateInput = { id?: SortOrder fullName?: SortOrder firstName?: SortOrder lastName?: SortOrder mobile?: SortOrder passwordHash?: SortOrder role?: SortOrder userTypeId?: SortOrder branchId?: SortOrder wagePercent?: SortOrder isActive?: SortOrder createdAt?: SortOrder avatarFileId?: SortOrder address?: SortOrder storeName?: SortOrder pasazhName?: SortOrder memberCode?: SortOrder } export type AdminUserMinOrderByAggregateInput = { id?: SortOrder fullName?: SortOrder firstName?: SortOrder lastName?: SortOrder mobile?: SortOrder passwordHash?: SortOrder role?: SortOrder userTypeId?: SortOrder branchId?: SortOrder wagePercent?: SortOrder isActive?: SortOrder createdAt?: SortOrder avatarFileId?: SortOrder address?: SortOrder storeName?: SortOrder pasazhName?: SortOrder memberCode?: SortOrder } export type AdminUserSumOrderByAggregateInput = { userTypeId?: SortOrder wagePercent?: SortOrder } export type EnumAdminRoleWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.AdminRole | EnumAdminRoleFieldRefInput<$PrismaModel> in?: $Enums.AdminRole[] | ListEnumAdminRoleFieldRefInput<$PrismaModel> notIn?: $Enums.AdminRole[] | ListEnumAdminRoleFieldRefInput<$PrismaModel> not?: NestedEnumAdminRoleWithAggregatesFilter<$PrismaModel> | $Enums.AdminRole _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumAdminRoleFilter<$PrismaModel> _max?: NestedEnumAdminRoleFilter<$PrismaModel> } export type IntNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | ListIntFieldRefInput<$PrismaModel> | null notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null _count?: NestedIntNullableFilter<$PrismaModel> _avg?: NestedFloatNullableFilter<$PrismaModel> _sum?: NestedIntNullableFilter<$PrismaModel> _min?: NestedIntNullableFilter<$PrismaModel> _max?: NestedIntNullableFilter<$PrismaModel> } export type BoolWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean _count?: NestedIntFilter<$PrismaModel> _min?: NestedBoolFilter<$PrismaModel> _max?: NestedBoolFilter<$PrismaModel> } export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string _count?: NestedIntFilter<$PrismaModel> _min?: NestedDateTimeFilter<$PrismaModel> _max?: NestedDateTimeFilter<$PrismaModel> } export type DateTimeNullableFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null } export type AppSessionCountOrderByAggregateInput = { id?: SortOrder jti?: SortOrder subjectId?: SortOrder subjectType?: SortOrder mobile?: SortOrder iamSessionId?: SortOrder iamSub?: SortOrder ipAddress?: SortOrder userAgent?: SortOrder createdAt?: SortOrder expiresAt?: SortOrder lastSeenAt?: SortOrder revokedAt?: SortOrder revokedReason?: SortOrder } export type AppSessionMaxOrderByAggregateInput = { id?: SortOrder jti?: SortOrder subjectId?: SortOrder subjectType?: SortOrder mobile?: SortOrder iamSessionId?: SortOrder iamSub?: SortOrder ipAddress?: SortOrder userAgent?: SortOrder createdAt?: SortOrder expiresAt?: SortOrder lastSeenAt?: SortOrder revokedAt?: SortOrder revokedReason?: SortOrder } export type AppSessionMinOrderByAggregateInput = { id?: SortOrder jti?: SortOrder subjectId?: SortOrder subjectType?: SortOrder mobile?: SortOrder iamSessionId?: SortOrder iamSub?: SortOrder ipAddress?: SortOrder userAgent?: SortOrder createdAt?: SortOrder expiresAt?: SortOrder lastSeenAt?: SortOrder revokedAt?: SortOrder revokedReason?: SortOrder } export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedDateTimeNullableFilter<$PrismaModel> _max?: NestedDateTimeNullableFilter<$PrismaModel> } export type AdminUserRelationFilter = { is?: AdminUserWhereInput isNot?: AdminUserWhereInput } export type AdminSessionCountOrderByAggregateInput = { id?: SortOrder jti?: SortOrder adminUserId?: SortOrder iamSessionId?: SortOrder iamSub?: SortOrder ipAddress?: SortOrder userAgent?: SortOrder createdAt?: SortOrder expiresAt?: SortOrder lastSeenAt?: SortOrder revokedAt?: SortOrder revokedReason?: SortOrder } export type AdminSessionMaxOrderByAggregateInput = { id?: SortOrder jti?: SortOrder adminUserId?: SortOrder iamSessionId?: SortOrder iamSub?: SortOrder ipAddress?: SortOrder userAgent?: SortOrder createdAt?: SortOrder expiresAt?: SortOrder lastSeenAt?: SortOrder revokedAt?: SortOrder revokedReason?: SortOrder } export type AdminSessionMinOrderByAggregateInput = { id?: SortOrder jti?: SortOrder adminUserId?: SortOrder iamSessionId?: SortOrder iamSub?: SortOrder ipAddress?: SortOrder userAgent?: SortOrder createdAt?: SortOrder expiresAt?: SortOrder lastSeenAt?: SortOrder revokedAt?: SortOrder revokedReason?: SortOrder } export type DecimalFilter<$PrismaModel = never> = { equals?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> in?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> notIn?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> lt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> lte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> not?: NestedDecimalFilter<$PrismaModel> | Decimal | DecimalJsLike | number | string } export type CityNullableRelationFilter = { is?: CityWhereInput | null isNot?: CityWhereInput | null } export type CustomerNullableRelationFilter = { is?: CustomerWhereInput | null isNot?: CustomerWhereInput | null } export type SalesExpertProfileCountOrderByAggregateInput = { id?: SortOrder adminUserId?: SortOrder cityId?: SortOrder gramLevel?: SortOrder phone?: SortOrder nationalCode?: SortOrder tradingCustomerId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SalesExpertProfileAvgOrderByAggregateInput = { gramLevel?: SortOrder } export type SalesExpertProfileMaxOrderByAggregateInput = { id?: SortOrder adminUserId?: SortOrder cityId?: SortOrder gramLevel?: SortOrder phone?: SortOrder nationalCode?: SortOrder tradingCustomerId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SalesExpertProfileMinOrderByAggregateInput = { id?: SortOrder adminUserId?: SortOrder cityId?: SortOrder gramLevel?: SortOrder phone?: SortOrder nationalCode?: SortOrder tradingCustomerId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SalesExpertProfileSumOrderByAggregateInput = { gramLevel?: SortOrder } export type DecimalWithAggregatesFilter<$PrismaModel = never> = { equals?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> in?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> notIn?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> lt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> lte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> not?: NestedDecimalWithAggregatesFilter<$PrismaModel> | Decimal | DecimalJsLike | number | string _count?: NestedIntFilter<$PrismaModel> _avg?: NestedDecimalFilter<$PrismaModel> _sum?: NestedDecimalFilter<$PrismaModel> _min?: NestedDecimalFilter<$PrismaModel> _max?: NestedDecimalFilter<$PrismaModel> } export type EnumCustomerKindFilter<$PrismaModel = never> = { equals?: $Enums.CustomerKind | EnumCustomerKindFieldRefInput<$PrismaModel> in?: $Enums.CustomerKind[] | ListEnumCustomerKindFieldRefInput<$PrismaModel> notIn?: $Enums.CustomerKind[] | ListEnumCustomerKindFieldRefInput<$PrismaModel> not?: NestedEnumCustomerKindFilter<$PrismaModel> | $Enums.CustomerKind } export type EnumVerificationStepFilter<$PrismaModel = never> = { equals?: $Enums.VerificationStep | EnumVerificationStepFieldRefInput<$PrismaModel> in?: $Enums.VerificationStep[] | ListEnumVerificationStepFieldRefInput<$PrismaModel> notIn?: $Enums.VerificationStep[] | ListEnumVerificationStepFieldRefInput<$PrismaModel> not?: NestedEnumVerificationStepFilter<$PrismaModel> | $Enums.VerificationStep } export type AdminUserNullableRelationFilter = { is?: AdminUserWhereInput | null isNot?: AdminUserWhereInput | null } export type OrderListRelationFilter = { every?: OrderWhereInput some?: OrderWhereInput none?: OrderWhereInput } export type WalletBonusListRelationFilter = { every?: WalletBonusWhereInput some?: WalletBonusWhereInput none?: WalletBonusWhereInput } export type CommentListRelationFilter = { every?: CommentWhereInput some?: CommentWhereInput none?: CommentWhereInput } export type PromotionListRelationFilter = { every?: PromotionWhereInput some?: PromotionWhereInput none?: PromotionWhereInput } export type NotificationRecipientListRelationFilter = { every?: NotificationRecipientWhereInput some?: NotificationRecipientWhereInput none?: NotificationRecipientWhereInput } export type CustomerActivityLogListRelationFilter = { every?: CustomerActivityLogWhereInput some?: CustomerActivityLogWhereInput none?: CustomerActivityLogWhereInput } export type CustomerOtpListRelationFilter = { every?: CustomerOtpWhereInput some?: CustomerOtpWhereInput none?: CustomerOtpWhereInput } export type OrderOrderByRelationAggregateInput = { _count?: SortOrder } export type WalletBonusOrderByRelationAggregateInput = { _count?: SortOrder } export type CommentOrderByRelationAggregateInput = { _count?: SortOrder } export type PromotionOrderByRelationAggregateInput = { _count?: SortOrder } export type NotificationRecipientOrderByRelationAggregateInput = { _count?: SortOrder } export type CustomerActivityLogOrderByRelationAggregateInput = { _count?: SortOrder } export type CustomerOtpOrderByRelationAggregateInput = { _count?: SortOrder } export type CustomerCountOrderByAggregateInput = { id?: SortOrder fullName?: SortOrder firstName?: SortOrder lastName?: SortOrder mobile?: SortOrder nationalCode?: SortOrder passwordHash?: SortOrder cityId?: SortOrder kind?: SortOrder phone?: SortOrder address?: SortOrder storeName?: SortOrder pasazhName?: SortOrder zone?: SortOrder memberCode?: SortOrder referredByAgentId?: SortOrder goldCreditLimitGrams?: SortOrder goldDebtGrams?: SortOrder fiatDebtRial?: SortOrder makingChargeOffsetPercent?: SortOrder verificationStep?: SortOrder nationalIdImageUrl?: SortOrder businessLicenseUrl?: SortOrder shopImageUrl?: SortOrder avatarFileId?: SortOrder canPlaceOrders?: SortOrder isActive?: SortOrder isArchived?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CustomerAvgOrderByAggregateInput = { goldCreditLimitGrams?: SortOrder goldDebtGrams?: SortOrder fiatDebtRial?: SortOrder makingChargeOffsetPercent?: SortOrder } export type CustomerMaxOrderByAggregateInput = { id?: SortOrder fullName?: SortOrder firstName?: SortOrder lastName?: SortOrder mobile?: SortOrder nationalCode?: SortOrder passwordHash?: SortOrder cityId?: SortOrder kind?: SortOrder phone?: SortOrder address?: SortOrder storeName?: SortOrder pasazhName?: SortOrder zone?: SortOrder memberCode?: SortOrder referredByAgentId?: SortOrder goldCreditLimitGrams?: SortOrder goldDebtGrams?: SortOrder fiatDebtRial?: SortOrder makingChargeOffsetPercent?: SortOrder verificationStep?: SortOrder nationalIdImageUrl?: SortOrder businessLicenseUrl?: SortOrder shopImageUrl?: SortOrder avatarFileId?: SortOrder canPlaceOrders?: SortOrder isActive?: SortOrder isArchived?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CustomerMinOrderByAggregateInput = { id?: SortOrder fullName?: SortOrder firstName?: SortOrder lastName?: SortOrder mobile?: SortOrder nationalCode?: SortOrder passwordHash?: SortOrder cityId?: SortOrder kind?: SortOrder phone?: SortOrder address?: SortOrder storeName?: SortOrder pasazhName?: SortOrder zone?: SortOrder memberCode?: SortOrder referredByAgentId?: SortOrder goldCreditLimitGrams?: SortOrder goldDebtGrams?: SortOrder fiatDebtRial?: SortOrder makingChargeOffsetPercent?: SortOrder verificationStep?: SortOrder nationalIdImageUrl?: SortOrder businessLicenseUrl?: SortOrder shopImageUrl?: SortOrder avatarFileId?: SortOrder canPlaceOrders?: SortOrder isActive?: SortOrder isArchived?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CustomerSumOrderByAggregateInput = { goldCreditLimitGrams?: SortOrder goldDebtGrams?: SortOrder fiatDebtRial?: SortOrder makingChargeOffsetPercent?: SortOrder } export type EnumCustomerKindWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.CustomerKind | EnumCustomerKindFieldRefInput<$PrismaModel> in?: $Enums.CustomerKind[] | ListEnumCustomerKindFieldRefInput<$PrismaModel> notIn?: $Enums.CustomerKind[] | ListEnumCustomerKindFieldRefInput<$PrismaModel> not?: NestedEnumCustomerKindWithAggregatesFilter<$PrismaModel> | $Enums.CustomerKind _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumCustomerKindFilter<$PrismaModel> _max?: NestedEnumCustomerKindFilter<$PrismaModel> } export type EnumVerificationStepWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.VerificationStep | EnumVerificationStepFieldRefInput<$PrismaModel> in?: $Enums.VerificationStep[] | ListEnumVerificationStepFieldRefInput<$PrismaModel> notIn?: $Enums.VerificationStep[] | ListEnumVerificationStepFieldRefInput<$PrismaModel> not?: NestedEnumVerificationStepWithAggregatesFilter<$PrismaModel> | $Enums.VerificationStep _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumVerificationStepFilter<$PrismaModel> _max?: NestedEnumVerificationStepFilter<$PrismaModel> } export type CustomerRelationFilter = { is?: CustomerWhereInput isNot?: CustomerWhereInput } export type CustomerAddressCountOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder cityId?: SortOrder addressLine?: SortOrder isDefault?: SortOrder } export type CustomerAddressMaxOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder cityId?: SortOrder addressLine?: SortOrder isDefault?: SortOrder } export type CustomerAddressMinOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder cityId?: SortOrder addressLine?: SortOrder isDefault?: SortOrder } export type AdminUserListRelationFilter = { every?: AdminUserWhereInput some?: AdminUserWhereInput none?: AdminUserWhereInput } export type AdminUserOrderByRelationAggregateInput = { _count?: SortOrder } export type BranchCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder address?: SortOrder phone?: SortOrder isActive?: SortOrder cityId?: SortOrder } export type BranchMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder address?: SortOrder phone?: SortOrder isActive?: SortOrder cityId?: SortOrder } export type BranchMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder address?: SortOrder phone?: SortOrder isActive?: SortOrder cityId?: SortOrder } export type WorkshopCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder address?: SortOrder phone?: SortOrder supervisorId?: SortOrder isActive?: SortOrder } export type WorkshopMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder address?: SortOrder phone?: SortOrder supervisorId?: SortOrder isActive?: SortOrder } export type WorkshopMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder address?: SortOrder phone?: SortOrder supervisorId?: SortOrder isActive?: SortOrder } export type IntFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> notIn?: number[] | ListIntFieldRefInput<$PrismaModel> lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntFilter<$PrismaModel> | number } export type CategoryNullableRelationFilter = { is?: CategoryWhereInput | null isNot?: CategoryWhereInput | null } export type CategoryListRelationFilter = { every?: CategoryWhereInput some?: CategoryWhereInput none?: CategoryWhereInput } export type ProductListRelationFilter = { every?: ProductWhereInput some?: ProductWhereInput none?: ProductWhereInput } export type CategoryOrderByRelationAggregateInput = { _count?: SortOrder } export type ProductOrderByRelationAggregateInput = { _count?: SortOrder } export type CategoryCountOrderByAggregateInput = { id?: SortOrder title?: SortOrder type?: SortOrder imageUrl?: SortOrder iconUrl?: SortOrder metaTag?: SortOrder description?: SortOrder parentId?: SortOrder } export type CategoryAvgOrderByAggregateInput = { type?: SortOrder } export type CategoryMaxOrderByAggregateInput = { id?: SortOrder title?: SortOrder type?: SortOrder imageUrl?: SortOrder iconUrl?: SortOrder metaTag?: SortOrder description?: SortOrder parentId?: SortOrder } export type CategoryMinOrderByAggregateInput = { id?: SortOrder title?: SortOrder type?: SortOrder imageUrl?: SortOrder iconUrl?: SortOrder metaTag?: SortOrder description?: SortOrder parentId?: SortOrder } export type CategorySumOrderByAggregateInput = { type?: SortOrder } export type IntWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> notIn?: number[] | ListIntFieldRefInput<$PrismaModel> lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedIntFilter<$PrismaModel> _min?: NestedIntFilter<$PrismaModel> _max?: NestedIntFilter<$PrismaModel> } export type BrandCountOrderByAggregateInput = { id?: SortOrder title?: SortOrder } export type BrandMaxOrderByAggregateInput = { id?: SortOrder title?: SortOrder } export type BrandMinOrderByAggregateInput = { id?: SortOrder title?: SortOrder } export type CollectionProductListRelationFilter = { every?: CollectionProductWhereInput some?: CollectionProductWhereInput none?: CollectionProductWhereInput } export type CollectionProductOrderByRelationAggregateInput = { _count?: SortOrder } export type CollectionCountOrderByAggregateInput = { id?: SortOrder title?: SortOrder description?: SortOrder isActive?: SortOrder } export type CollectionMaxOrderByAggregateInput = { id?: SortOrder title?: SortOrder description?: SortOrder isActive?: SortOrder } export type CollectionMinOrderByAggregateInput = { id?: SortOrder title?: SortOrder description?: SortOrder isActive?: SortOrder } export type CollectionRelationFilter = { is?: CollectionWhereInput isNot?: CollectionWhereInput } export type ProductRelationFilter = { is?: ProductWhereInput isNot?: ProductWhereInput } export type CollectionProductCollectionIdProductIdCompoundUniqueInput = { collectionId: string productId: string } export type CollectionProductCountOrderByAggregateInput = { collectionId?: SortOrder productId?: SortOrder } export type CollectionProductMaxOrderByAggregateInput = { collectionId?: SortOrder productId?: SortOrder } export type CollectionProductMinOrderByAggregateInput = { collectionId?: SortOrder productId?: SortOrder } export type BrandNullableRelationFilter = { is?: BrandWhereInput | null isNot?: BrandWhereInput | null } export type ProductVariantListRelationFilter = { every?: ProductVariantWhereInput some?: ProductVariantWhereInput none?: ProductVariantWhereInput } export type ProductImageListRelationFilter = { every?: ProductImageWhereInput some?: ProductImageWhereInput none?: ProductImageWhereInput } export type BranchAllocationItemListRelationFilter = { every?: BranchAllocationItemWhereInput some?: BranchAllocationItemWhereInput none?: BranchAllocationItemWhereInput } export type ProductVariantOrderByRelationAggregateInput = { _count?: SortOrder } export type ProductImageOrderByRelationAggregateInput = { _count?: SortOrder } export type BranchAllocationItemOrderByRelationAggregateInput = { _count?: SortOrder } export type ProductCountOrderByAggregateInput = { id?: SortOrder title?: SortOrder description?: SortOrder categoryId?: SortOrder brandId?: SortOrder productCode?: SortOrder showType?: SortOrder isActive?: SortOrder createdAt?: SortOrder } export type ProductAvgOrderByAggregateInput = { showType?: SortOrder } export type ProductMaxOrderByAggregateInput = { id?: SortOrder title?: SortOrder description?: SortOrder categoryId?: SortOrder brandId?: SortOrder productCode?: SortOrder showType?: SortOrder isActive?: SortOrder createdAt?: SortOrder } export type ProductMinOrderByAggregateInput = { id?: SortOrder title?: SortOrder description?: SortOrder categoryId?: SortOrder brandId?: SortOrder productCode?: SortOrder showType?: SortOrder isActive?: SortOrder createdAt?: SortOrder } export type ProductSumOrderByAggregateInput = { showType?: SortOrder } export type EnumProductImageRoleFilter<$PrismaModel = never> = { equals?: $Enums.ProductImageRole | EnumProductImageRoleFieldRefInput<$PrismaModel> in?: $Enums.ProductImageRole[] | ListEnumProductImageRoleFieldRefInput<$PrismaModel> notIn?: $Enums.ProductImageRole[] | ListEnumProductImageRoleFieldRefInput<$PrismaModel> not?: NestedEnumProductImageRoleFilter<$PrismaModel> | $Enums.ProductImageRole } export type ProductImageCountOrderByAggregateInput = { id?: SortOrder productId?: SortOrder url?: SortOrder sortOrder?: SortOrder role?: SortOrder } export type ProductImageAvgOrderByAggregateInput = { sortOrder?: SortOrder } export type ProductImageMaxOrderByAggregateInput = { id?: SortOrder productId?: SortOrder url?: SortOrder sortOrder?: SortOrder role?: SortOrder } export type ProductImageMinOrderByAggregateInput = { id?: SortOrder productId?: SortOrder url?: SortOrder sortOrder?: SortOrder role?: SortOrder } export type ProductImageSumOrderByAggregateInput = { sortOrder?: SortOrder } export type EnumProductImageRoleWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.ProductImageRole | EnumProductImageRoleFieldRefInput<$PrismaModel> in?: $Enums.ProductImageRole[] | ListEnumProductImageRoleFieldRefInput<$PrismaModel> notIn?: $Enums.ProductImageRole[] | ListEnumProductImageRoleFieldRefInput<$PrismaModel> not?: NestedEnumProductImageRoleWithAggregatesFilter<$PrismaModel> | $Enums.ProductImageRole _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumProductImageRoleFilter<$PrismaModel> _max?: NestedEnumProductImageRoleFilter<$PrismaModel> } export type ProductImageNullableRelationFilter = { is?: ProductImageWhereInput | null isNot?: ProductImageWhereInput | null } export type OrderItemListRelationFilter = { every?: OrderItemWhereInput some?: OrderItemWhereInput none?: OrderItemWhereInput } export type OrderItemOrderByRelationAggregateInput = { _count?: SortOrder } export type ProductVariantCountOrderByAggregateInput = { id?: SortOrder productId?: SortOrder title?: SortOrder sku?: SortOrder rashWeightGrams?: SortOrder defaultWagePercent?: SortOrder qty?: SortOrder isPreOrder?: SortOrder isActive?: SortOrder imageId?: SortOrder } export type ProductVariantAvgOrderByAggregateInput = { rashWeightGrams?: SortOrder defaultWagePercent?: SortOrder qty?: SortOrder } export type ProductVariantMaxOrderByAggregateInput = { id?: SortOrder productId?: SortOrder title?: SortOrder sku?: SortOrder rashWeightGrams?: SortOrder defaultWagePercent?: SortOrder qty?: SortOrder isPreOrder?: SortOrder isActive?: SortOrder imageId?: SortOrder } export type ProductVariantMinOrderByAggregateInput = { id?: SortOrder productId?: SortOrder title?: SortOrder sku?: SortOrder rashWeightGrams?: SortOrder defaultWagePercent?: SortOrder qty?: SortOrder isPreOrder?: SortOrder isActive?: SortOrder imageId?: SortOrder } export type ProductVariantSumOrderByAggregateInput = { rashWeightGrams?: SortOrder defaultWagePercent?: SortOrder qty?: SortOrder } export type EnumOrderChannelFilter<$PrismaModel = never> = { equals?: $Enums.OrderChannel | EnumOrderChannelFieldRefInput<$PrismaModel> in?: $Enums.OrderChannel[] | ListEnumOrderChannelFieldRefInput<$PrismaModel> notIn?: $Enums.OrderChannel[] | ListEnumOrderChannelFieldRefInput<$PrismaModel> not?: NestedEnumOrderChannelFilter<$PrismaModel> | $Enums.OrderChannel } export type EnumOrderStatusFilter<$PrismaModel = never> = { equals?: $Enums.OrderStatus | EnumOrderStatusFieldRefInput<$PrismaModel> in?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> notIn?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> not?: NestedEnumOrderStatusFilter<$PrismaModel> | $Enums.OrderStatus } export type PreOrderNullableRelationFilter = { is?: PreOrderWhereInput | null isNot?: PreOrderWhereInput | null } export type OrderCountOrderByAggregateInput = { id?: SortOrder orderNumber?: SortOrder customerId?: SortOrder branchId?: SortOrder channel?: SortOrder status?: SortOrder totalGoldWeightGrams?: SortOrder wageWeightGrams?: SortOrder flatRialCharge?: SortOrder isSuspendedOverCreditLimit?: SortOrder deliveredAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type OrderAvgOrderByAggregateInput = { totalGoldWeightGrams?: SortOrder wageWeightGrams?: SortOrder flatRialCharge?: SortOrder } export type OrderMaxOrderByAggregateInput = { id?: SortOrder orderNumber?: SortOrder customerId?: SortOrder branchId?: SortOrder channel?: SortOrder status?: SortOrder totalGoldWeightGrams?: SortOrder wageWeightGrams?: SortOrder flatRialCharge?: SortOrder isSuspendedOverCreditLimit?: SortOrder deliveredAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type OrderMinOrderByAggregateInput = { id?: SortOrder orderNumber?: SortOrder customerId?: SortOrder branchId?: SortOrder channel?: SortOrder status?: SortOrder totalGoldWeightGrams?: SortOrder wageWeightGrams?: SortOrder flatRialCharge?: SortOrder isSuspendedOverCreditLimit?: SortOrder deliveredAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type OrderSumOrderByAggregateInput = { totalGoldWeightGrams?: SortOrder wageWeightGrams?: SortOrder flatRialCharge?: SortOrder } export type EnumOrderChannelWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.OrderChannel | EnumOrderChannelFieldRefInput<$PrismaModel> in?: $Enums.OrderChannel[] | ListEnumOrderChannelFieldRefInput<$PrismaModel> notIn?: $Enums.OrderChannel[] | ListEnumOrderChannelFieldRefInput<$PrismaModel> not?: NestedEnumOrderChannelWithAggregatesFilter<$PrismaModel> | $Enums.OrderChannel _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumOrderChannelFilter<$PrismaModel> _max?: NestedEnumOrderChannelFilter<$PrismaModel> } export type EnumOrderStatusWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.OrderStatus | EnumOrderStatusFieldRefInput<$PrismaModel> in?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> notIn?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> not?: NestedEnumOrderStatusWithAggregatesFilter<$PrismaModel> | $Enums.OrderStatus _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumOrderStatusFilter<$PrismaModel> _max?: NestedEnumOrderStatusFilter<$PrismaModel> } export type OrderRelationFilter = { is?: OrderWhereInput isNot?: OrderWhereInput } export type ProductVariantRelationFilter = { is?: ProductVariantWhereInput isNot?: ProductVariantWhereInput } export type OrderItemCountOrderByAggregateInput = { id?: SortOrder orderId?: SortOrder productVariantId?: SortOrder quantity?: SortOrder rashWeightGramsSnapshot?: SortOrder wagePercentSnapshot?: SortOrder discountPercentSnapshot?: SortOrder computedWeightGrams?: SortOrder flatRialCharge?: SortOrder } export type OrderItemAvgOrderByAggregateInput = { quantity?: SortOrder rashWeightGramsSnapshot?: SortOrder wagePercentSnapshot?: SortOrder discountPercentSnapshot?: SortOrder computedWeightGrams?: SortOrder flatRialCharge?: SortOrder } export type OrderItemMaxOrderByAggregateInput = { id?: SortOrder orderId?: SortOrder productVariantId?: SortOrder quantity?: SortOrder rashWeightGramsSnapshot?: SortOrder wagePercentSnapshot?: SortOrder discountPercentSnapshot?: SortOrder computedWeightGrams?: SortOrder flatRialCharge?: SortOrder } export type OrderItemMinOrderByAggregateInput = { id?: SortOrder orderId?: SortOrder productVariantId?: SortOrder quantity?: SortOrder rashWeightGramsSnapshot?: SortOrder wagePercentSnapshot?: SortOrder discountPercentSnapshot?: SortOrder computedWeightGrams?: SortOrder flatRialCharge?: SortOrder } export type OrderItemSumOrderByAggregateInput = { quantity?: SortOrder rashWeightGramsSnapshot?: SortOrder wagePercentSnapshot?: SortOrder discountPercentSnapshot?: SortOrder computedWeightGrams?: SortOrder flatRialCharge?: SortOrder } export type EnumOrderStatusNullableFilter<$PrismaModel = never> = { equals?: $Enums.OrderStatus | EnumOrderStatusFieldRefInput<$PrismaModel> | null in?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> | null notIn?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> | null not?: NestedEnumOrderStatusNullableFilter<$PrismaModel> | $Enums.OrderStatus | null } export type OrderStatusEventCountOrderByAggregateInput = { id?: SortOrder orderId?: SortOrder fromStatus?: SortOrder toStatus?: SortOrder note?: SortOrder actorAdminUserId?: SortOrder createdAt?: SortOrder } export type OrderStatusEventMaxOrderByAggregateInput = { id?: SortOrder orderId?: SortOrder fromStatus?: SortOrder toStatus?: SortOrder note?: SortOrder actorAdminUserId?: SortOrder createdAt?: SortOrder } export type OrderStatusEventMinOrderByAggregateInput = { id?: SortOrder orderId?: SortOrder fromStatus?: SortOrder toStatus?: SortOrder note?: SortOrder actorAdminUserId?: SortOrder createdAt?: SortOrder } export type EnumOrderStatusNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.OrderStatus | EnumOrderStatusFieldRefInput<$PrismaModel> | null in?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> | null notIn?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> | null not?: NestedEnumOrderStatusNullableWithAggregatesFilter<$PrismaModel> | $Enums.OrderStatus | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedEnumOrderStatusNullableFilter<$PrismaModel> _max?: NestedEnumOrderStatusNullableFilter<$PrismaModel> } export type EnumPreOrderStatusFilter<$PrismaModel = never> = { equals?: $Enums.PreOrderStatus | EnumPreOrderStatusFieldRefInput<$PrismaModel> in?: $Enums.PreOrderStatus[] | ListEnumPreOrderStatusFieldRefInput<$PrismaModel> notIn?: $Enums.PreOrderStatus[] | ListEnumPreOrderStatusFieldRefInput<$PrismaModel> not?: NestedEnumPreOrderStatusFilter<$PrismaModel> | $Enums.PreOrderStatus } export type WorkshopNullableRelationFilter = { is?: WorkshopWhereInput | null isNot?: WorkshopWhereInput | null } export type OrderNullableRelationFilter = { is?: OrderWhereInput | null isNot?: OrderWhereInput | null } export type PreOrderCountOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder cityId?: SortOrder workshopId?: SortOrder status?: SortOrder designImageUrl?: SortOrder colorName?: SortOrder sizeSpec?: SortOrder stoneColor?: SortOrder minaColor?: SortOrder estimatedWeightGrams?: SortOrder estimatedPriceRial?: SortOrder description?: SortOrder convertedOrderId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type PreOrderAvgOrderByAggregateInput = { estimatedWeightGrams?: SortOrder estimatedPriceRial?: SortOrder } export type PreOrderMaxOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder cityId?: SortOrder workshopId?: SortOrder status?: SortOrder designImageUrl?: SortOrder colorName?: SortOrder sizeSpec?: SortOrder stoneColor?: SortOrder minaColor?: SortOrder estimatedWeightGrams?: SortOrder estimatedPriceRial?: SortOrder description?: SortOrder convertedOrderId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type PreOrderMinOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder cityId?: SortOrder workshopId?: SortOrder status?: SortOrder designImageUrl?: SortOrder colorName?: SortOrder sizeSpec?: SortOrder stoneColor?: SortOrder minaColor?: SortOrder estimatedWeightGrams?: SortOrder estimatedPriceRial?: SortOrder description?: SortOrder convertedOrderId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type PreOrderSumOrderByAggregateInput = { estimatedWeightGrams?: SortOrder estimatedPriceRial?: SortOrder } export type EnumPreOrderStatusWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.PreOrderStatus | EnumPreOrderStatusFieldRefInput<$PrismaModel> in?: $Enums.PreOrderStatus[] | ListEnumPreOrderStatusFieldRefInput<$PrismaModel> notIn?: $Enums.PreOrderStatus[] | ListEnumPreOrderStatusFieldRefInput<$PrismaModel> not?: NestedEnumPreOrderStatusWithAggregatesFilter<$PrismaModel> | $Enums.PreOrderStatus _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumPreOrderStatusFilter<$PrismaModel> _max?: NestedEnumPreOrderStatusFilter<$PrismaModel> } export type JsonFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type JsonFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string[] string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } export type PreOrderRelationFilter = { is?: PreOrderWhereInput isNot?: PreOrderWhereInput } export type PreOrderStatusEventCountOrderByAggregateInput = { id?: SortOrder preOrderId?: SortOrder changes?: SortOrder actorAdminUserId?: SortOrder ipAddress?: SortOrder createdAt?: SortOrder } export type PreOrderStatusEventMaxOrderByAggregateInput = { id?: SortOrder preOrderId?: SortOrder actorAdminUserId?: SortOrder ipAddress?: SortOrder createdAt?: SortOrder } export type PreOrderStatusEventMinOrderByAggregateInput = { id?: SortOrder preOrderId?: SortOrder actorAdminUserId?: SortOrder ipAddress?: SortOrder createdAt?: SortOrder } export type JsonWithAggregatesFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type JsonWithAggregatesFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string[] string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter _count?: NestedIntFilter<$PrismaModel> _min?: NestedJsonFilter<$PrismaModel> _max?: NestedJsonFilter<$PrismaModel> } export type EnumLedgerCurrencyFilter<$PrismaModel = never> = { equals?: $Enums.LedgerCurrency | EnumLedgerCurrencyFieldRefInput<$PrismaModel> in?: $Enums.LedgerCurrency[] | ListEnumLedgerCurrencyFieldRefInput<$PrismaModel> notIn?: $Enums.LedgerCurrency[] | ListEnumLedgerCurrencyFieldRefInput<$PrismaModel> not?: NestedEnumLedgerCurrencyFilter<$PrismaModel> | $Enums.LedgerCurrency } export type EnumLedgerDirectionFilter<$PrismaModel = never> = { equals?: $Enums.LedgerDirection | EnumLedgerDirectionFieldRefInput<$PrismaModel> in?: $Enums.LedgerDirection[] | ListEnumLedgerDirectionFieldRefInput<$PrismaModel> notIn?: $Enums.LedgerDirection[] | ListEnumLedgerDirectionFieldRefInput<$PrismaModel> not?: NestedEnumLedgerDirectionFilter<$PrismaModel> | $Enums.LedgerDirection } export type EnumLedgerSourceTypeFilter<$PrismaModel = never> = { equals?: $Enums.LedgerSourceType | EnumLedgerSourceTypeFieldRefInput<$PrismaModel> in?: $Enums.LedgerSourceType[] | ListEnumLedgerSourceTypeFieldRefInput<$PrismaModel> notIn?: $Enums.LedgerSourceType[] | ListEnumLedgerSourceTypeFieldRefInput<$PrismaModel> not?: NestedEnumLedgerSourceTypeFilter<$PrismaModel> | $Enums.LedgerSourceType } export type LedgerEntryCountOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder currency?: SortOrder direction?: SortOrder sourceType?: SortOrder amount?: SortOrder karatPerMille?: SortOrder pricePerGramRialAtEntry?: SortOrder orderId?: SortOrder confirmed?: SortOrder confirmedAt?: SortOrder postedByAdminUserId?: SortOrder labName?: SortOrder hallmark?: SortOrder accountName?: SortOrder bankName?: SortOrder transferTo?: SortOrder originalValue?: SortOrder priceRial?: SortOrder receivedAt?: SortOrder note?: SortOrder createdAt?: SortOrder } export type LedgerEntryAvgOrderByAggregateInput = { amount?: SortOrder karatPerMille?: SortOrder pricePerGramRialAtEntry?: SortOrder originalValue?: SortOrder priceRial?: SortOrder } export type LedgerEntryMaxOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder currency?: SortOrder direction?: SortOrder sourceType?: SortOrder amount?: SortOrder karatPerMille?: SortOrder pricePerGramRialAtEntry?: SortOrder orderId?: SortOrder confirmed?: SortOrder confirmedAt?: SortOrder postedByAdminUserId?: SortOrder labName?: SortOrder hallmark?: SortOrder accountName?: SortOrder bankName?: SortOrder transferTo?: SortOrder originalValue?: SortOrder priceRial?: SortOrder receivedAt?: SortOrder note?: SortOrder createdAt?: SortOrder } export type LedgerEntryMinOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder currency?: SortOrder direction?: SortOrder sourceType?: SortOrder amount?: SortOrder karatPerMille?: SortOrder pricePerGramRialAtEntry?: SortOrder orderId?: SortOrder confirmed?: SortOrder confirmedAt?: SortOrder postedByAdminUserId?: SortOrder labName?: SortOrder hallmark?: SortOrder accountName?: SortOrder bankName?: SortOrder transferTo?: SortOrder originalValue?: SortOrder priceRial?: SortOrder receivedAt?: SortOrder note?: SortOrder createdAt?: SortOrder } export type LedgerEntrySumOrderByAggregateInput = { amount?: SortOrder karatPerMille?: SortOrder pricePerGramRialAtEntry?: SortOrder originalValue?: SortOrder priceRial?: SortOrder } export type EnumLedgerCurrencyWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.LedgerCurrency | EnumLedgerCurrencyFieldRefInput<$PrismaModel> in?: $Enums.LedgerCurrency[] | ListEnumLedgerCurrencyFieldRefInput<$PrismaModel> notIn?: $Enums.LedgerCurrency[] | ListEnumLedgerCurrencyFieldRefInput<$PrismaModel> not?: NestedEnumLedgerCurrencyWithAggregatesFilter<$PrismaModel> | $Enums.LedgerCurrency _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumLedgerCurrencyFilter<$PrismaModel> _max?: NestedEnumLedgerCurrencyFilter<$PrismaModel> } export type EnumLedgerDirectionWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.LedgerDirection | EnumLedgerDirectionFieldRefInput<$PrismaModel> in?: $Enums.LedgerDirection[] | ListEnumLedgerDirectionFieldRefInput<$PrismaModel> notIn?: $Enums.LedgerDirection[] | ListEnumLedgerDirectionFieldRefInput<$PrismaModel> not?: NestedEnumLedgerDirectionWithAggregatesFilter<$PrismaModel> | $Enums.LedgerDirection _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumLedgerDirectionFilter<$PrismaModel> _max?: NestedEnumLedgerDirectionFilter<$PrismaModel> } export type EnumLedgerSourceTypeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.LedgerSourceType | EnumLedgerSourceTypeFieldRefInput<$PrismaModel> in?: $Enums.LedgerSourceType[] | ListEnumLedgerSourceTypeFieldRefInput<$PrismaModel> notIn?: $Enums.LedgerSourceType[] | ListEnumLedgerSourceTypeFieldRefInput<$PrismaModel> not?: NestedEnumLedgerSourceTypeWithAggregatesFilter<$PrismaModel> | $Enums.LedgerSourceType _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumLedgerSourceTypeFilter<$PrismaModel> _max?: NestedEnumLedgerSourceTypeFilter<$PrismaModel> } export type GoldPriceQuoteCountOrderByAggregateInput = { id?: SortOrder karatPerMille?: SortOrder pricePerGramRial?: SortOrder source?: SortOrder quotedAt?: SortOrder } export type GoldPriceQuoteAvgOrderByAggregateInput = { karatPerMille?: SortOrder pricePerGramRial?: SortOrder } export type GoldPriceQuoteMaxOrderByAggregateInput = { id?: SortOrder karatPerMille?: SortOrder pricePerGramRial?: SortOrder source?: SortOrder quotedAt?: SortOrder } export type GoldPriceQuoteMinOrderByAggregateInput = { id?: SortOrder karatPerMille?: SortOrder pricePerGramRial?: SortOrder source?: SortOrder quotedAt?: SortOrder } export type GoldPriceQuoteSumOrderByAggregateInput = { karatPerMille?: SortOrder pricePerGramRial?: SortOrder } export type WalletBonusCountOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder orderId?: SortOrder goldGrams?: SortOrder grantedAt?: SortOrder expiresAt?: SortOrder consumedAt?: SortOrder isActive?: SortOrder } export type WalletBonusAvgOrderByAggregateInput = { goldGrams?: SortOrder } export type WalletBonusMaxOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder orderId?: SortOrder goldGrams?: SortOrder grantedAt?: SortOrder expiresAt?: SortOrder consumedAt?: SortOrder isActive?: SortOrder } export type WalletBonusMinOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder orderId?: SortOrder goldGrams?: SortOrder grantedAt?: SortOrder expiresAt?: SortOrder consumedAt?: SortOrder isActive?: SortOrder } export type WalletBonusSumOrderByAggregateInput = { goldGrams?: SortOrder } export type PermissionListRelationFilter = { every?: PermissionWhereInput some?: PermissionWhereInput none?: PermissionWhereInput } export type PermissionOrderByRelationAggregateInput = { _count?: SortOrder } export type UserTypeCountOrderByAggregateInput = { id?: SortOrder title?: SortOrder isActive?: SortOrder createdAt?: SortOrder } export type UserTypeAvgOrderByAggregateInput = { id?: SortOrder } export type UserTypeMaxOrderByAggregateInput = { id?: SortOrder title?: SortOrder isActive?: SortOrder createdAt?: SortOrder } export type UserTypeMinOrderByAggregateInput = { id?: SortOrder title?: SortOrder isActive?: SortOrder createdAt?: SortOrder } export type UserTypeSumOrderByAggregateInput = { id?: SortOrder } export type UserTypeRelationFilter = { is?: UserTypeWhereInput isNot?: UserTypeWhereInput } export type PermissionRidUserTypeIdCompoundUniqueInput = { rid: string userTypeId: number } export type PermissionCountOrderByAggregateInput = { rid?: SortOrder userTypeId?: SortOrder } export type PermissionAvgOrderByAggregateInput = { userTypeId?: SortOrder } export type PermissionMaxOrderByAggregateInput = { rid?: SortOrder userTypeId?: SortOrder } export type PermissionMinOrderByAggregateInput = { rid?: SortOrder userTypeId?: SortOrder } export type PermissionSumOrderByAggregateInput = { userTypeId?: SortOrder } export type EnumCommentStatusFilter<$PrismaModel = never> = { equals?: $Enums.CommentStatus | EnumCommentStatusFieldRefInput<$PrismaModel> in?: $Enums.CommentStatus[] | ListEnumCommentStatusFieldRefInput<$PrismaModel> notIn?: $Enums.CommentStatus[] | ListEnumCommentStatusFieldRefInput<$PrismaModel> not?: NestedEnumCommentStatusFilter<$PrismaModel> | $Enums.CommentStatus } export type CommentNullableRelationFilter = { is?: CommentWhereInput | null isNot?: CommentWhereInput | null } export type CommentCountOrderByAggregateInput = { id?: SortOrder productId?: SortOrder customerId?: SortOrder body?: SortOrder status?: SortOrder replyToId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CommentMaxOrderByAggregateInput = { id?: SortOrder productId?: SortOrder customerId?: SortOrder body?: SortOrder status?: SortOrder replyToId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CommentMinOrderByAggregateInput = { id?: SortOrder productId?: SortOrder customerId?: SortOrder body?: SortOrder status?: SortOrder replyToId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type EnumCommentStatusWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.CommentStatus | EnumCommentStatusFieldRefInput<$PrismaModel> in?: $Enums.CommentStatus[] | ListEnumCommentStatusFieldRefInput<$PrismaModel> notIn?: $Enums.CommentStatus[] | ListEnumCommentStatusFieldRefInput<$PrismaModel> not?: NestedEnumCommentStatusWithAggregatesFilter<$PrismaModel> | $Enums.CommentStatus _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumCommentStatusFilter<$PrismaModel> _max?: NestedEnumCommentStatusFilter<$PrismaModel> } export type SettingCountOrderByAggregateInput = { key?: SortOrder value?: SortOrder updatedAt?: SortOrder } export type SettingMaxOrderByAggregateInput = { key?: SortOrder updatedAt?: SortOrder } export type SettingMinOrderByAggregateInput = { key?: SortOrder updatedAt?: SortOrder } export type EnumPromotionScopeFilter<$PrismaModel = never> = { equals?: $Enums.PromotionScope | EnumPromotionScopeFieldRefInput<$PrismaModel> in?: $Enums.PromotionScope[] | ListEnumPromotionScopeFieldRefInput<$PrismaModel> notIn?: $Enums.PromotionScope[] | ListEnumPromotionScopeFieldRefInput<$PrismaModel> not?: NestedEnumPromotionScopeFilter<$PrismaModel> | $Enums.PromotionScope } export type EnumPromotionUsageFilter<$PrismaModel = never> = { equals?: $Enums.PromotionUsage | EnumPromotionUsageFieldRefInput<$PrismaModel> in?: $Enums.PromotionUsage[] | ListEnumPromotionUsageFieldRefInput<$PrismaModel> notIn?: $Enums.PromotionUsage[] | ListEnumPromotionUsageFieldRefInput<$PrismaModel> not?: NestedEnumPromotionUsageFilter<$PrismaModel> | $Enums.PromotionUsage } export type ProductNullableRelationFilter = { is?: ProductWhereInput | null isNot?: ProductWhereInput | null } export type PromotionCountOrderByAggregateInput = { id?: SortOrder title?: SortOrder description?: SortOrder scope?: SortOrder usage?: SortOrder discountPercent?: SortOrder isActive?: SortOrder platform?: SortOrder startsAt?: SortOrder endsAt?: SortOrder productId?: SortOrder categoryId?: SortOrder customerId?: SortOrder brandId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type PromotionAvgOrderByAggregateInput = { discountPercent?: SortOrder platform?: SortOrder } export type PromotionMaxOrderByAggregateInput = { id?: SortOrder title?: SortOrder description?: SortOrder scope?: SortOrder usage?: SortOrder discountPercent?: SortOrder isActive?: SortOrder platform?: SortOrder startsAt?: SortOrder endsAt?: SortOrder productId?: SortOrder categoryId?: SortOrder customerId?: SortOrder brandId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type PromotionMinOrderByAggregateInput = { id?: SortOrder title?: SortOrder description?: SortOrder scope?: SortOrder usage?: SortOrder discountPercent?: SortOrder isActive?: SortOrder platform?: SortOrder startsAt?: SortOrder endsAt?: SortOrder productId?: SortOrder categoryId?: SortOrder customerId?: SortOrder brandId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type PromotionSumOrderByAggregateInput = { discountPercent?: SortOrder platform?: SortOrder } export type EnumPromotionScopeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.PromotionScope | EnumPromotionScopeFieldRefInput<$PrismaModel> in?: $Enums.PromotionScope[] | ListEnumPromotionScopeFieldRefInput<$PrismaModel> notIn?: $Enums.PromotionScope[] | ListEnumPromotionScopeFieldRefInput<$PrismaModel> not?: NestedEnumPromotionScopeWithAggregatesFilter<$PrismaModel> | $Enums.PromotionScope _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumPromotionScopeFilter<$PrismaModel> _max?: NestedEnumPromotionScopeFilter<$PrismaModel> } export type EnumPromotionUsageWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.PromotionUsage | EnumPromotionUsageFieldRefInput<$PrismaModel> in?: $Enums.PromotionUsage[] | ListEnumPromotionUsageFieldRefInput<$PrismaModel> notIn?: $Enums.PromotionUsage[] | ListEnumPromotionUsageFieldRefInput<$PrismaModel> not?: NestedEnumPromotionUsageWithAggregatesFilter<$PrismaModel> | $Enums.PromotionUsage _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumPromotionUsageFilter<$PrismaModel> _max?: NestedEnumPromotionUsageFilter<$PrismaModel> } export type PromotionExclusionTypeItemIdCompoundUniqueInput = { type: number itemId: string } export type PromotionExclusionCountOrderByAggregateInput = { id?: SortOrder type?: SortOrder itemId?: SortOrder createdAt?: SortOrder } export type PromotionExclusionAvgOrderByAggregateInput = { type?: SortOrder } export type PromotionExclusionMaxOrderByAggregateInput = { id?: SortOrder type?: SortOrder itemId?: SortOrder createdAt?: SortOrder } export type PromotionExclusionMinOrderByAggregateInput = { id?: SortOrder type?: SortOrder itemId?: SortOrder createdAt?: SortOrder } export type PromotionExclusionSumOrderByAggregateInput = { type?: SortOrder } export type BranchRelationFilter = { is?: BranchWhereInput isNot?: BranchWhereInput } export type BranchAllocationCountOrderByAggregateInput = { id?: SortOrder branchId?: SortOrder allocatorAdminUserId?: SortOrder note?: SortOrder createdAt?: SortOrder } export type BranchAllocationMaxOrderByAggregateInput = { id?: SortOrder branchId?: SortOrder allocatorAdminUserId?: SortOrder note?: SortOrder createdAt?: SortOrder } export type BranchAllocationMinOrderByAggregateInput = { id?: SortOrder branchId?: SortOrder allocatorAdminUserId?: SortOrder note?: SortOrder createdAt?: SortOrder } export type BranchAllocationRelationFilter = { is?: BranchAllocationWhereInput isNot?: BranchAllocationWhereInput } export type BranchAllocationItemAllocationIdProductIdCompoundUniqueInput = { allocationId: string productId: string } export type BranchAllocationItemCountOrderByAggregateInput = { id?: SortOrder allocationId?: SortOrder productId?: SortOrder weightGrams?: SortOrder } export type BranchAllocationItemAvgOrderByAggregateInput = { weightGrams?: SortOrder } export type BranchAllocationItemMaxOrderByAggregateInput = { id?: SortOrder allocationId?: SortOrder productId?: SortOrder weightGrams?: SortOrder } export type BranchAllocationItemMinOrderByAggregateInput = { id?: SortOrder allocationId?: SortOrder productId?: SortOrder weightGrams?: SortOrder } export type BranchAllocationItemSumOrderByAggregateInput = { weightGrams?: SortOrder } export type EnumMessageAudienceFilter<$PrismaModel = never> = { equals?: $Enums.MessageAudience | EnumMessageAudienceFieldRefInput<$PrismaModel> in?: $Enums.MessageAudience[] | ListEnumMessageAudienceFieldRefInput<$PrismaModel> notIn?: $Enums.MessageAudience[] | ListEnumMessageAudienceFieldRefInput<$PrismaModel> not?: NestedEnumMessageAudienceFilter<$PrismaModel> | $Enums.MessageAudience } export type SmsMessageCountOrderByAggregateInput = { id?: SortOrder audience?: SortOrder recipients?: SortOrder body?: SortOrder sentCount?: SortOrder sentByAdminUserId?: SortOrder createdAt?: SortOrder } export type SmsMessageAvgOrderByAggregateInput = { sentCount?: SortOrder } export type SmsMessageMaxOrderByAggregateInput = { id?: SortOrder audience?: SortOrder recipients?: SortOrder body?: SortOrder sentCount?: SortOrder sentByAdminUserId?: SortOrder createdAt?: SortOrder } export type SmsMessageMinOrderByAggregateInput = { id?: SortOrder audience?: SortOrder recipients?: SortOrder body?: SortOrder sentCount?: SortOrder sentByAdminUserId?: SortOrder createdAt?: SortOrder } export type SmsMessageSumOrderByAggregateInput = { sentCount?: SortOrder } export type EnumMessageAudienceWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.MessageAudience | EnumMessageAudienceFieldRefInput<$PrismaModel> in?: $Enums.MessageAudience[] | ListEnumMessageAudienceFieldRefInput<$PrismaModel> notIn?: $Enums.MessageAudience[] | ListEnumMessageAudienceFieldRefInput<$PrismaModel> not?: NestedEnumMessageAudienceWithAggregatesFilter<$PrismaModel> | $Enums.MessageAudience _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumMessageAudienceFilter<$PrismaModel> _max?: NestedEnumMessageAudienceFilter<$PrismaModel> } export type NotificationCountOrderByAggregateInput = { id?: SortOrder title?: SortOrder body?: SortOrder audience?: SortOrder sentByAdminUserId?: SortOrder createdAt?: SortOrder } export type NotificationMaxOrderByAggregateInput = { id?: SortOrder title?: SortOrder body?: SortOrder audience?: SortOrder sentByAdminUserId?: SortOrder createdAt?: SortOrder } export type NotificationMinOrderByAggregateInput = { id?: SortOrder title?: SortOrder body?: SortOrder audience?: SortOrder sentByAdminUserId?: SortOrder createdAt?: SortOrder } export type NotificationRelationFilter = { is?: NotificationWhereInput isNot?: NotificationWhereInput } export type NotificationRecipientNotificationIdCustomerIdCompoundUniqueInput = { notificationId: string customerId: string } export type NotificationRecipientCountOrderByAggregateInput = { id?: SortOrder notificationId?: SortOrder customerId?: SortOrder readAt?: SortOrder } export type NotificationRecipientMaxOrderByAggregateInput = { id?: SortOrder notificationId?: SortOrder customerId?: SortOrder readAt?: SortOrder } export type NotificationRecipientMinOrderByAggregateInput = { id?: SortOrder notificationId?: SortOrder customerId?: SortOrder readAt?: SortOrder } export type NewsletterSubscriberCountOrderByAggregateInput = { id?: SortOrder email?: SortOrder mobile?: SortOrder createdAt?: SortOrder } export type NewsletterSubscriberMaxOrderByAggregateInput = { id?: SortOrder email?: SortOrder mobile?: SortOrder createdAt?: SortOrder } export type NewsletterSubscriberMinOrderByAggregateInput = { id?: SortOrder email?: SortOrder mobile?: SortOrder createdAt?: SortOrder } export type CustomerActivityLogCountOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder action?: SortOrder detail?: SortOrder createdAt?: SortOrder } export type CustomerActivityLogMaxOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder action?: SortOrder detail?: SortOrder createdAt?: SortOrder } export type CustomerActivityLogMinOrderByAggregateInput = { id?: SortOrder customerId?: SortOrder action?: SortOrder detail?: SortOrder createdAt?: SortOrder } export type UploadedFileCountOrderByAggregateInput = { id?: SortOrder url?: SortOrder originalName?: SortOrder mimeType?: SortOrder sizeBytes?: SortOrder purpose?: SortOrder uploadedByAdminUserId?: SortOrder createdAt?: SortOrder } export type UploadedFileAvgOrderByAggregateInput = { sizeBytes?: SortOrder } export type UploadedFileMaxOrderByAggregateInput = { id?: SortOrder url?: SortOrder originalName?: SortOrder mimeType?: SortOrder sizeBytes?: SortOrder purpose?: SortOrder uploadedByAdminUserId?: SortOrder createdAt?: SortOrder } export type UploadedFileMinOrderByAggregateInput = { id?: SortOrder url?: SortOrder originalName?: SortOrder mimeType?: SortOrder sizeBytes?: SortOrder purpose?: SortOrder uploadedByAdminUserId?: SortOrder createdAt?: SortOrder } export type UploadedFileSumOrderByAggregateInput = { sizeBytes?: SortOrder } export type CustomerOtpCountOrderByAggregateInput = { id?: SortOrder mobile?: SortOrder customerId?: SortOrder codeHash?: SortOrder expiresAt?: SortOrder attempts?: SortOrder consumedAt?: SortOrder requestIp?: SortOrder createdAt?: SortOrder } export type CustomerOtpAvgOrderByAggregateInput = { attempts?: SortOrder } export type CustomerOtpMaxOrderByAggregateInput = { id?: SortOrder mobile?: SortOrder customerId?: SortOrder codeHash?: SortOrder expiresAt?: SortOrder attempts?: SortOrder consumedAt?: SortOrder requestIp?: SortOrder createdAt?: SortOrder } export type CustomerOtpMinOrderByAggregateInput = { id?: SortOrder mobile?: SortOrder customerId?: SortOrder codeHash?: SortOrder expiresAt?: SortOrder attempts?: SortOrder consumedAt?: SortOrder requestIp?: SortOrder createdAt?: SortOrder } export type CustomerOtpSumOrderByAggregateInput = { attempts?: SortOrder } export type CustomerCreateNestedManyWithoutCityInput = { create?: XOR | CustomerCreateWithoutCityInput[] | CustomerUncheckedCreateWithoutCityInput[] connectOrCreate?: CustomerCreateOrConnectWithoutCityInput | CustomerCreateOrConnectWithoutCityInput[] createMany?: CustomerCreateManyCityInputEnvelope connect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] } export type CustomerAddressCreateNestedManyWithoutCityInput = { create?: XOR | CustomerAddressCreateWithoutCityInput[] | CustomerAddressUncheckedCreateWithoutCityInput[] connectOrCreate?: CustomerAddressCreateOrConnectWithoutCityInput | CustomerAddressCreateOrConnectWithoutCityInput[] createMany?: CustomerAddressCreateManyCityInputEnvelope connect?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] } export type BranchCreateNestedManyWithoutCityInput = { create?: XOR | BranchCreateWithoutCityInput[] | BranchUncheckedCreateWithoutCityInput[] connectOrCreate?: BranchCreateOrConnectWithoutCityInput | BranchCreateOrConnectWithoutCityInput[] createMany?: BranchCreateManyCityInputEnvelope connect?: BranchWhereUniqueInput | BranchWhereUniqueInput[] } export type PreOrderCreateNestedManyWithoutCityInput = { create?: XOR | PreOrderCreateWithoutCityInput[] | PreOrderUncheckedCreateWithoutCityInput[] connectOrCreate?: PreOrderCreateOrConnectWithoutCityInput | PreOrderCreateOrConnectWithoutCityInput[] createMany?: PreOrderCreateManyCityInputEnvelope connect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] } export type SalesExpertProfileCreateNestedManyWithoutCityInput = { create?: XOR | SalesExpertProfileCreateWithoutCityInput[] | SalesExpertProfileUncheckedCreateWithoutCityInput[] connectOrCreate?: SalesExpertProfileCreateOrConnectWithoutCityInput | SalesExpertProfileCreateOrConnectWithoutCityInput[] createMany?: SalesExpertProfileCreateManyCityInputEnvelope connect?: SalesExpertProfileWhereUniqueInput | SalesExpertProfileWhereUniqueInput[] } export type CustomerUncheckedCreateNestedManyWithoutCityInput = { create?: XOR | CustomerCreateWithoutCityInput[] | CustomerUncheckedCreateWithoutCityInput[] connectOrCreate?: CustomerCreateOrConnectWithoutCityInput | CustomerCreateOrConnectWithoutCityInput[] createMany?: CustomerCreateManyCityInputEnvelope connect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] } export type CustomerAddressUncheckedCreateNestedManyWithoutCityInput = { create?: XOR | CustomerAddressCreateWithoutCityInput[] | CustomerAddressUncheckedCreateWithoutCityInput[] connectOrCreate?: CustomerAddressCreateOrConnectWithoutCityInput | CustomerAddressCreateOrConnectWithoutCityInput[] createMany?: CustomerAddressCreateManyCityInputEnvelope connect?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] } export type BranchUncheckedCreateNestedManyWithoutCityInput = { create?: XOR | BranchCreateWithoutCityInput[] | BranchUncheckedCreateWithoutCityInput[] connectOrCreate?: BranchCreateOrConnectWithoutCityInput | BranchCreateOrConnectWithoutCityInput[] createMany?: BranchCreateManyCityInputEnvelope connect?: BranchWhereUniqueInput | BranchWhereUniqueInput[] } export type PreOrderUncheckedCreateNestedManyWithoutCityInput = { create?: XOR | PreOrderCreateWithoutCityInput[] | PreOrderUncheckedCreateWithoutCityInput[] connectOrCreate?: PreOrderCreateOrConnectWithoutCityInput | PreOrderCreateOrConnectWithoutCityInput[] createMany?: PreOrderCreateManyCityInputEnvelope connect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] } export type SalesExpertProfileUncheckedCreateNestedManyWithoutCityInput = { create?: XOR | SalesExpertProfileCreateWithoutCityInput[] | SalesExpertProfileUncheckedCreateWithoutCityInput[] connectOrCreate?: SalesExpertProfileCreateOrConnectWithoutCityInput | SalesExpertProfileCreateOrConnectWithoutCityInput[] createMany?: SalesExpertProfileCreateManyCityInputEnvelope connect?: SalesExpertProfileWhereUniqueInput | SalesExpertProfileWhereUniqueInput[] } export type StringFieldUpdateOperationsInput = { set?: string } export type NullableStringFieldUpdateOperationsInput = { set?: string | null } export type NullableDecimalFieldUpdateOperationsInput = { set?: Decimal | DecimalJsLike | number | string | null increment?: Decimal | DecimalJsLike | number | string decrement?: Decimal | DecimalJsLike | number | string multiply?: Decimal | DecimalJsLike | number | string divide?: Decimal | DecimalJsLike | number | string } export type CustomerUpdateManyWithoutCityNestedInput = { create?: XOR | CustomerCreateWithoutCityInput[] | CustomerUncheckedCreateWithoutCityInput[] connectOrCreate?: CustomerCreateOrConnectWithoutCityInput | CustomerCreateOrConnectWithoutCityInput[] upsert?: CustomerUpsertWithWhereUniqueWithoutCityInput | CustomerUpsertWithWhereUniqueWithoutCityInput[] createMany?: CustomerCreateManyCityInputEnvelope set?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] disconnect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] delete?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] connect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] update?: CustomerUpdateWithWhereUniqueWithoutCityInput | CustomerUpdateWithWhereUniqueWithoutCityInput[] updateMany?: CustomerUpdateManyWithWhereWithoutCityInput | CustomerUpdateManyWithWhereWithoutCityInput[] deleteMany?: CustomerScalarWhereInput | CustomerScalarWhereInput[] } export type CustomerAddressUpdateManyWithoutCityNestedInput = { create?: XOR | CustomerAddressCreateWithoutCityInput[] | CustomerAddressUncheckedCreateWithoutCityInput[] connectOrCreate?: CustomerAddressCreateOrConnectWithoutCityInput | CustomerAddressCreateOrConnectWithoutCityInput[] upsert?: CustomerAddressUpsertWithWhereUniqueWithoutCityInput | CustomerAddressUpsertWithWhereUniqueWithoutCityInput[] createMany?: CustomerAddressCreateManyCityInputEnvelope set?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] disconnect?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] delete?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] connect?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] update?: CustomerAddressUpdateWithWhereUniqueWithoutCityInput | CustomerAddressUpdateWithWhereUniqueWithoutCityInput[] updateMany?: CustomerAddressUpdateManyWithWhereWithoutCityInput | CustomerAddressUpdateManyWithWhereWithoutCityInput[] deleteMany?: CustomerAddressScalarWhereInput | CustomerAddressScalarWhereInput[] } export type BranchUpdateManyWithoutCityNestedInput = { create?: XOR | BranchCreateWithoutCityInput[] | BranchUncheckedCreateWithoutCityInput[] connectOrCreate?: BranchCreateOrConnectWithoutCityInput | BranchCreateOrConnectWithoutCityInput[] upsert?: BranchUpsertWithWhereUniqueWithoutCityInput | BranchUpsertWithWhereUniqueWithoutCityInput[] createMany?: BranchCreateManyCityInputEnvelope set?: BranchWhereUniqueInput | BranchWhereUniqueInput[] disconnect?: BranchWhereUniqueInput | BranchWhereUniqueInput[] delete?: BranchWhereUniqueInput | BranchWhereUniqueInput[] connect?: BranchWhereUniqueInput | BranchWhereUniqueInput[] update?: BranchUpdateWithWhereUniqueWithoutCityInput | BranchUpdateWithWhereUniqueWithoutCityInput[] updateMany?: BranchUpdateManyWithWhereWithoutCityInput | BranchUpdateManyWithWhereWithoutCityInput[] deleteMany?: BranchScalarWhereInput | BranchScalarWhereInput[] } export type PreOrderUpdateManyWithoutCityNestedInput = { create?: XOR | PreOrderCreateWithoutCityInput[] | PreOrderUncheckedCreateWithoutCityInput[] connectOrCreate?: PreOrderCreateOrConnectWithoutCityInput | PreOrderCreateOrConnectWithoutCityInput[] upsert?: PreOrderUpsertWithWhereUniqueWithoutCityInput | PreOrderUpsertWithWhereUniqueWithoutCityInput[] createMany?: PreOrderCreateManyCityInputEnvelope set?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] disconnect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] delete?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] connect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] update?: PreOrderUpdateWithWhereUniqueWithoutCityInput | PreOrderUpdateWithWhereUniqueWithoutCityInput[] updateMany?: PreOrderUpdateManyWithWhereWithoutCityInput | PreOrderUpdateManyWithWhereWithoutCityInput[] deleteMany?: PreOrderScalarWhereInput | PreOrderScalarWhereInput[] } export type SalesExpertProfileUpdateManyWithoutCityNestedInput = { create?: XOR | SalesExpertProfileCreateWithoutCityInput[] | SalesExpertProfileUncheckedCreateWithoutCityInput[] connectOrCreate?: SalesExpertProfileCreateOrConnectWithoutCityInput | SalesExpertProfileCreateOrConnectWithoutCityInput[] upsert?: SalesExpertProfileUpsertWithWhereUniqueWithoutCityInput | SalesExpertProfileUpsertWithWhereUniqueWithoutCityInput[] createMany?: SalesExpertProfileCreateManyCityInputEnvelope set?: SalesExpertProfileWhereUniqueInput | SalesExpertProfileWhereUniqueInput[] disconnect?: SalesExpertProfileWhereUniqueInput | SalesExpertProfileWhereUniqueInput[] delete?: SalesExpertProfileWhereUniqueInput | SalesExpertProfileWhereUniqueInput[] connect?: SalesExpertProfileWhereUniqueInput | SalesExpertProfileWhereUniqueInput[] update?: SalesExpertProfileUpdateWithWhereUniqueWithoutCityInput | SalesExpertProfileUpdateWithWhereUniqueWithoutCityInput[] updateMany?: SalesExpertProfileUpdateManyWithWhereWithoutCityInput | SalesExpertProfileUpdateManyWithWhereWithoutCityInput[] deleteMany?: SalesExpertProfileScalarWhereInput | SalesExpertProfileScalarWhereInput[] } export type CustomerUncheckedUpdateManyWithoutCityNestedInput = { create?: XOR | CustomerCreateWithoutCityInput[] | CustomerUncheckedCreateWithoutCityInput[] connectOrCreate?: CustomerCreateOrConnectWithoutCityInput | CustomerCreateOrConnectWithoutCityInput[] upsert?: CustomerUpsertWithWhereUniqueWithoutCityInput | CustomerUpsertWithWhereUniqueWithoutCityInput[] createMany?: CustomerCreateManyCityInputEnvelope set?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] disconnect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] delete?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] connect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] update?: CustomerUpdateWithWhereUniqueWithoutCityInput | CustomerUpdateWithWhereUniqueWithoutCityInput[] updateMany?: CustomerUpdateManyWithWhereWithoutCityInput | CustomerUpdateManyWithWhereWithoutCityInput[] deleteMany?: CustomerScalarWhereInput | CustomerScalarWhereInput[] } export type CustomerAddressUncheckedUpdateManyWithoutCityNestedInput = { create?: XOR | CustomerAddressCreateWithoutCityInput[] | CustomerAddressUncheckedCreateWithoutCityInput[] connectOrCreate?: CustomerAddressCreateOrConnectWithoutCityInput | CustomerAddressCreateOrConnectWithoutCityInput[] upsert?: CustomerAddressUpsertWithWhereUniqueWithoutCityInput | CustomerAddressUpsertWithWhereUniqueWithoutCityInput[] createMany?: CustomerAddressCreateManyCityInputEnvelope set?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] disconnect?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] delete?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] connect?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] update?: CustomerAddressUpdateWithWhereUniqueWithoutCityInput | CustomerAddressUpdateWithWhereUniqueWithoutCityInput[] updateMany?: CustomerAddressUpdateManyWithWhereWithoutCityInput | CustomerAddressUpdateManyWithWhereWithoutCityInput[] deleteMany?: CustomerAddressScalarWhereInput | CustomerAddressScalarWhereInput[] } export type BranchUncheckedUpdateManyWithoutCityNestedInput = { create?: XOR | BranchCreateWithoutCityInput[] | BranchUncheckedCreateWithoutCityInput[] connectOrCreate?: BranchCreateOrConnectWithoutCityInput | BranchCreateOrConnectWithoutCityInput[] upsert?: BranchUpsertWithWhereUniqueWithoutCityInput | BranchUpsertWithWhereUniqueWithoutCityInput[] createMany?: BranchCreateManyCityInputEnvelope set?: BranchWhereUniqueInput | BranchWhereUniqueInput[] disconnect?: BranchWhereUniqueInput | BranchWhereUniqueInput[] delete?: BranchWhereUniqueInput | BranchWhereUniqueInput[] connect?: BranchWhereUniqueInput | BranchWhereUniqueInput[] update?: BranchUpdateWithWhereUniqueWithoutCityInput | BranchUpdateWithWhereUniqueWithoutCityInput[] updateMany?: BranchUpdateManyWithWhereWithoutCityInput | BranchUpdateManyWithWhereWithoutCityInput[] deleteMany?: BranchScalarWhereInput | BranchScalarWhereInput[] } export type PreOrderUncheckedUpdateManyWithoutCityNestedInput = { create?: XOR | PreOrderCreateWithoutCityInput[] | PreOrderUncheckedCreateWithoutCityInput[] connectOrCreate?: PreOrderCreateOrConnectWithoutCityInput | PreOrderCreateOrConnectWithoutCityInput[] upsert?: PreOrderUpsertWithWhereUniqueWithoutCityInput | PreOrderUpsertWithWhereUniqueWithoutCityInput[] createMany?: PreOrderCreateManyCityInputEnvelope set?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] disconnect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] delete?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] connect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] update?: PreOrderUpdateWithWhereUniqueWithoutCityInput | PreOrderUpdateWithWhereUniqueWithoutCityInput[] updateMany?: PreOrderUpdateManyWithWhereWithoutCityInput | PreOrderUpdateManyWithWhereWithoutCityInput[] deleteMany?: PreOrderScalarWhereInput | PreOrderScalarWhereInput[] } export type SalesExpertProfileUncheckedUpdateManyWithoutCityNestedInput = { create?: XOR | SalesExpertProfileCreateWithoutCityInput[] | SalesExpertProfileUncheckedCreateWithoutCityInput[] connectOrCreate?: SalesExpertProfileCreateOrConnectWithoutCityInput | SalesExpertProfileCreateOrConnectWithoutCityInput[] upsert?: SalesExpertProfileUpsertWithWhereUniqueWithoutCityInput | SalesExpertProfileUpsertWithWhereUniqueWithoutCityInput[] createMany?: SalesExpertProfileCreateManyCityInputEnvelope set?: SalesExpertProfileWhereUniqueInput | SalesExpertProfileWhereUniqueInput[] disconnect?: SalesExpertProfileWhereUniqueInput | SalesExpertProfileWhereUniqueInput[] delete?: SalesExpertProfileWhereUniqueInput | SalesExpertProfileWhereUniqueInput[] connect?: SalesExpertProfileWhereUniqueInput | SalesExpertProfileWhereUniqueInput[] update?: SalesExpertProfileUpdateWithWhereUniqueWithoutCityInput | SalesExpertProfileUpdateWithWhereUniqueWithoutCityInput[] updateMany?: SalesExpertProfileUpdateManyWithWhereWithoutCityInput | SalesExpertProfileUpdateManyWithWhereWithoutCityInput[] deleteMany?: SalesExpertProfileScalarWhereInput | SalesExpertProfileScalarWhereInput[] } export type UserTypeCreateNestedOneWithoutAdminUsersInput = { create?: XOR connectOrCreate?: UserTypeCreateOrConnectWithoutAdminUsersInput connect?: UserTypeWhereUniqueInput } export type BranchCreateNestedOneWithoutAdminUsersInput = { create?: XOR connectOrCreate?: BranchCreateOrConnectWithoutAdminUsersInput connect?: BranchWhereUniqueInput } export type UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput = { create?: XOR connectOrCreate?: UploadedFileCreateOrConnectWithoutAdminUserAvatarsInput connect?: UploadedFileWhereUniqueInput } export type CustomerCreateNestedManyWithoutReferredByAgentInput = { create?: XOR | CustomerCreateWithoutReferredByAgentInput[] | CustomerUncheckedCreateWithoutReferredByAgentInput[] connectOrCreate?: CustomerCreateOrConnectWithoutReferredByAgentInput | CustomerCreateOrConnectWithoutReferredByAgentInput[] createMany?: CustomerCreateManyReferredByAgentInputEnvelope connect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] } export type WorkshopCreateNestedManyWithoutSupervisorInput = { create?: XOR | WorkshopCreateWithoutSupervisorInput[] | WorkshopUncheckedCreateWithoutSupervisorInput[] connectOrCreate?: WorkshopCreateOrConnectWithoutSupervisorInput | WorkshopCreateOrConnectWithoutSupervisorInput[] createMany?: WorkshopCreateManySupervisorInputEnvelope connect?: WorkshopWhereUniqueInput | WorkshopWhereUniqueInput[] } export type BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput = { create?: XOR | BranchAllocationCreateWithoutAllocatorAdminUserInput[] | BranchAllocationUncheckedCreateWithoutAllocatorAdminUserInput[] connectOrCreate?: BranchAllocationCreateOrConnectWithoutAllocatorAdminUserInput | BranchAllocationCreateOrConnectWithoutAllocatorAdminUserInput[] createMany?: BranchAllocationCreateManyAllocatorAdminUserInputEnvelope connect?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] } export type LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput = { create?: XOR | LedgerEntryCreateWithoutPostedByAdminUserInput[] | LedgerEntryUncheckedCreateWithoutPostedByAdminUserInput[] connectOrCreate?: LedgerEntryCreateOrConnectWithoutPostedByAdminUserInput | LedgerEntryCreateOrConnectWithoutPostedByAdminUserInput[] createMany?: LedgerEntryCreateManyPostedByAdminUserInputEnvelope connect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] } export type OrderStatusEventCreateNestedManyWithoutActorAdminUserInput = { create?: XOR | OrderStatusEventCreateWithoutActorAdminUserInput[] | OrderStatusEventUncheckedCreateWithoutActorAdminUserInput[] connectOrCreate?: OrderStatusEventCreateOrConnectWithoutActorAdminUserInput | OrderStatusEventCreateOrConnectWithoutActorAdminUserInput[] createMany?: OrderStatusEventCreateManyActorAdminUserInputEnvelope connect?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] } export type PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput = { create?: XOR | PreOrderStatusEventCreateWithoutActorAdminUserInput[] | PreOrderStatusEventUncheckedCreateWithoutActorAdminUserInput[] connectOrCreate?: PreOrderStatusEventCreateOrConnectWithoutActorAdminUserInput | PreOrderStatusEventCreateOrConnectWithoutActorAdminUserInput[] createMany?: PreOrderStatusEventCreateManyActorAdminUserInputEnvelope connect?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] } export type SmsMessageCreateNestedManyWithoutSentByAdminUserInput = { create?: XOR | SmsMessageCreateWithoutSentByAdminUserInput[] | SmsMessageUncheckedCreateWithoutSentByAdminUserInput[] connectOrCreate?: SmsMessageCreateOrConnectWithoutSentByAdminUserInput | SmsMessageCreateOrConnectWithoutSentByAdminUserInput[] createMany?: SmsMessageCreateManySentByAdminUserInputEnvelope connect?: SmsMessageWhereUniqueInput | SmsMessageWhereUniqueInput[] } export type NotificationCreateNestedManyWithoutSentByAdminUserInput = { create?: XOR | NotificationCreateWithoutSentByAdminUserInput[] | NotificationUncheckedCreateWithoutSentByAdminUserInput[] connectOrCreate?: NotificationCreateOrConnectWithoutSentByAdminUserInput | NotificationCreateOrConnectWithoutSentByAdminUserInput[] createMany?: NotificationCreateManySentByAdminUserInputEnvelope connect?: NotificationWhereUniqueInput | NotificationWhereUniqueInput[] } export type UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput = { create?: XOR | UploadedFileCreateWithoutUploadedByAdminUserInput[] | UploadedFileUncheckedCreateWithoutUploadedByAdminUserInput[] connectOrCreate?: UploadedFileCreateOrConnectWithoutUploadedByAdminUserInput | UploadedFileCreateOrConnectWithoutUploadedByAdminUserInput[] createMany?: UploadedFileCreateManyUploadedByAdminUserInputEnvelope connect?: UploadedFileWhereUniqueInput | UploadedFileWhereUniqueInput[] } export type SalesExpertProfileCreateNestedOneWithoutAdminUserInput = { create?: XOR connectOrCreate?: SalesExpertProfileCreateOrConnectWithoutAdminUserInput connect?: SalesExpertProfileWhereUniqueInput } export type AdminSessionCreateNestedManyWithoutAdminUserInput = { create?: XOR | AdminSessionCreateWithoutAdminUserInput[] | AdminSessionUncheckedCreateWithoutAdminUserInput[] connectOrCreate?: AdminSessionCreateOrConnectWithoutAdminUserInput | AdminSessionCreateOrConnectWithoutAdminUserInput[] createMany?: AdminSessionCreateManyAdminUserInputEnvelope connect?: AdminSessionWhereUniqueInput | AdminSessionWhereUniqueInput[] } export type CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput = { create?: XOR | CustomerCreateWithoutReferredByAgentInput[] | CustomerUncheckedCreateWithoutReferredByAgentInput[] connectOrCreate?: CustomerCreateOrConnectWithoutReferredByAgentInput | CustomerCreateOrConnectWithoutReferredByAgentInput[] createMany?: CustomerCreateManyReferredByAgentInputEnvelope connect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] } export type WorkshopUncheckedCreateNestedManyWithoutSupervisorInput = { create?: XOR | WorkshopCreateWithoutSupervisorInput[] | WorkshopUncheckedCreateWithoutSupervisorInput[] connectOrCreate?: WorkshopCreateOrConnectWithoutSupervisorInput | WorkshopCreateOrConnectWithoutSupervisorInput[] createMany?: WorkshopCreateManySupervisorInputEnvelope connect?: WorkshopWhereUniqueInput | WorkshopWhereUniqueInput[] } export type BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput = { create?: XOR | BranchAllocationCreateWithoutAllocatorAdminUserInput[] | BranchAllocationUncheckedCreateWithoutAllocatorAdminUserInput[] connectOrCreate?: BranchAllocationCreateOrConnectWithoutAllocatorAdminUserInput | BranchAllocationCreateOrConnectWithoutAllocatorAdminUserInput[] createMany?: BranchAllocationCreateManyAllocatorAdminUserInputEnvelope connect?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] } export type LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput = { create?: XOR | LedgerEntryCreateWithoutPostedByAdminUserInput[] | LedgerEntryUncheckedCreateWithoutPostedByAdminUserInput[] connectOrCreate?: LedgerEntryCreateOrConnectWithoutPostedByAdminUserInput | LedgerEntryCreateOrConnectWithoutPostedByAdminUserInput[] createMany?: LedgerEntryCreateManyPostedByAdminUserInputEnvelope connect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] } export type OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput = { create?: XOR | OrderStatusEventCreateWithoutActorAdminUserInput[] | OrderStatusEventUncheckedCreateWithoutActorAdminUserInput[] connectOrCreate?: OrderStatusEventCreateOrConnectWithoutActorAdminUserInput | OrderStatusEventCreateOrConnectWithoutActorAdminUserInput[] createMany?: OrderStatusEventCreateManyActorAdminUserInputEnvelope connect?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] } export type PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput = { create?: XOR | PreOrderStatusEventCreateWithoutActorAdminUserInput[] | PreOrderStatusEventUncheckedCreateWithoutActorAdminUserInput[] connectOrCreate?: PreOrderStatusEventCreateOrConnectWithoutActorAdminUserInput | PreOrderStatusEventCreateOrConnectWithoutActorAdminUserInput[] createMany?: PreOrderStatusEventCreateManyActorAdminUserInputEnvelope connect?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] } export type SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput = { create?: XOR | SmsMessageCreateWithoutSentByAdminUserInput[] | SmsMessageUncheckedCreateWithoutSentByAdminUserInput[] connectOrCreate?: SmsMessageCreateOrConnectWithoutSentByAdminUserInput | SmsMessageCreateOrConnectWithoutSentByAdminUserInput[] createMany?: SmsMessageCreateManySentByAdminUserInputEnvelope connect?: SmsMessageWhereUniqueInput | SmsMessageWhereUniqueInput[] } export type NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput = { create?: XOR | NotificationCreateWithoutSentByAdminUserInput[] | NotificationUncheckedCreateWithoutSentByAdminUserInput[] connectOrCreate?: NotificationCreateOrConnectWithoutSentByAdminUserInput | NotificationCreateOrConnectWithoutSentByAdminUserInput[] createMany?: NotificationCreateManySentByAdminUserInputEnvelope connect?: NotificationWhereUniqueInput | NotificationWhereUniqueInput[] } export type UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput = { create?: XOR | UploadedFileCreateWithoutUploadedByAdminUserInput[] | UploadedFileUncheckedCreateWithoutUploadedByAdminUserInput[] connectOrCreate?: UploadedFileCreateOrConnectWithoutUploadedByAdminUserInput | UploadedFileCreateOrConnectWithoutUploadedByAdminUserInput[] createMany?: UploadedFileCreateManyUploadedByAdminUserInputEnvelope connect?: UploadedFileWhereUniqueInput | UploadedFileWhereUniqueInput[] } export type SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput = { create?: XOR connectOrCreate?: SalesExpertProfileCreateOrConnectWithoutAdminUserInput connect?: SalesExpertProfileWhereUniqueInput } export type AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput = { create?: XOR | AdminSessionCreateWithoutAdminUserInput[] | AdminSessionUncheckedCreateWithoutAdminUserInput[] connectOrCreate?: AdminSessionCreateOrConnectWithoutAdminUserInput | AdminSessionCreateOrConnectWithoutAdminUserInput[] createMany?: AdminSessionCreateManyAdminUserInputEnvelope connect?: AdminSessionWhereUniqueInput | AdminSessionWhereUniqueInput[] } export type EnumAdminRoleFieldUpdateOperationsInput = { set?: $Enums.AdminRole } export type BoolFieldUpdateOperationsInput = { set?: boolean } export type DateTimeFieldUpdateOperationsInput = { set?: Date | string } export type UserTypeUpdateOneWithoutAdminUsersNestedInput = { create?: XOR connectOrCreate?: UserTypeCreateOrConnectWithoutAdminUsersInput upsert?: UserTypeUpsertWithoutAdminUsersInput disconnect?: UserTypeWhereInput | boolean delete?: UserTypeWhereInput | boolean connect?: UserTypeWhereUniqueInput update?: XOR, UserTypeUncheckedUpdateWithoutAdminUsersInput> } export type BranchUpdateOneWithoutAdminUsersNestedInput = { create?: XOR connectOrCreate?: BranchCreateOrConnectWithoutAdminUsersInput upsert?: BranchUpsertWithoutAdminUsersInput disconnect?: BranchWhereInput | boolean delete?: BranchWhereInput | boolean connect?: BranchWhereUniqueInput update?: XOR, BranchUncheckedUpdateWithoutAdminUsersInput> } export type UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput = { create?: XOR connectOrCreate?: UploadedFileCreateOrConnectWithoutAdminUserAvatarsInput upsert?: UploadedFileUpsertWithoutAdminUserAvatarsInput disconnect?: UploadedFileWhereInput | boolean delete?: UploadedFileWhereInput | boolean connect?: UploadedFileWhereUniqueInput update?: XOR, UploadedFileUncheckedUpdateWithoutAdminUserAvatarsInput> } export type CustomerUpdateManyWithoutReferredByAgentNestedInput = { create?: XOR | CustomerCreateWithoutReferredByAgentInput[] | CustomerUncheckedCreateWithoutReferredByAgentInput[] connectOrCreate?: CustomerCreateOrConnectWithoutReferredByAgentInput | CustomerCreateOrConnectWithoutReferredByAgentInput[] upsert?: CustomerUpsertWithWhereUniqueWithoutReferredByAgentInput | CustomerUpsertWithWhereUniqueWithoutReferredByAgentInput[] createMany?: CustomerCreateManyReferredByAgentInputEnvelope set?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] disconnect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] delete?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] connect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] update?: CustomerUpdateWithWhereUniqueWithoutReferredByAgentInput | CustomerUpdateWithWhereUniqueWithoutReferredByAgentInput[] updateMany?: CustomerUpdateManyWithWhereWithoutReferredByAgentInput | CustomerUpdateManyWithWhereWithoutReferredByAgentInput[] deleteMany?: CustomerScalarWhereInput | CustomerScalarWhereInput[] } export type WorkshopUpdateManyWithoutSupervisorNestedInput = { create?: XOR | WorkshopCreateWithoutSupervisorInput[] | WorkshopUncheckedCreateWithoutSupervisorInput[] connectOrCreate?: WorkshopCreateOrConnectWithoutSupervisorInput | WorkshopCreateOrConnectWithoutSupervisorInput[] upsert?: WorkshopUpsertWithWhereUniqueWithoutSupervisorInput | WorkshopUpsertWithWhereUniqueWithoutSupervisorInput[] createMany?: WorkshopCreateManySupervisorInputEnvelope set?: WorkshopWhereUniqueInput | WorkshopWhereUniqueInput[] disconnect?: WorkshopWhereUniqueInput | WorkshopWhereUniqueInput[] delete?: WorkshopWhereUniqueInput | WorkshopWhereUniqueInput[] connect?: WorkshopWhereUniqueInput | WorkshopWhereUniqueInput[] update?: WorkshopUpdateWithWhereUniqueWithoutSupervisorInput | WorkshopUpdateWithWhereUniqueWithoutSupervisorInput[] updateMany?: WorkshopUpdateManyWithWhereWithoutSupervisorInput | WorkshopUpdateManyWithWhereWithoutSupervisorInput[] deleteMany?: WorkshopScalarWhereInput | WorkshopScalarWhereInput[] } export type BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput = { create?: XOR | BranchAllocationCreateWithoutAllocatorAdminUserInput[] | BranchAllocationUncheckedCreateWithoutAllocatorAdminUserInput[] connectOrCreate?: BranchAllocationCreateOrConnectWithoutAllocatorAdminUserInput | BranchAllocationCreateOrConnectWithoutAllocatorAdminUserInput[] upsert?: BranchAllocationUpsertWithWhereUniqueWithoutAllocatorAdminUserInput | BranchAllocationUpsertWithWhereUniqueWithoutAllocatorAdminUserInput[] createMany?: BranchAllocationCreateManyAllocatorAdminUserInputEnvelope set?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] disconnect?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] delete?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] connect?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] update?: BranchAllocationUpdateWithWhereUniqueWithoutAllocatorAdminUserInput | BranchAllocationUpdateWithWhereUniqueWithoutAllocatorAdminUserInput[] updateMany?: BranchAllocationUpdateManyWithWhereWithoutAllocatorAdminUserInput | BranchAllocationUpdateManyWithWhereWithoutAllocatorAdminUserInput[] deleteMany?: BranchAllocationScalarWhereInput | BranchAllocationScalarWhereInput[] } export type LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput = { create?: XOR | LedgerEntryCreateWithoutPostedByAdminUserInput[] | LedgerEntryUncheckedCreateWithoutPostedByAdminUserInput[] connectOrCreate?: LedgerEntryCreateOrConnectWithoutPostedByAdminUserInput | LedgerEntryCreateOrConnectWithoutPostedByAdminUserInput[] upsert?: LedgerEntryUpsertWithWhereUniqueWithoutPostedByAdminUserInput | LedgerEntryUpsertWithWhereUniqueWithoutPostedByAdminUserInput[] createMany?: LedgerEntryCreateManyPostedByAdminUserInputEnvelope set?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] disconnect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] delete?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] connect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] update?: LedgerEntryUpdateWithWhereUniqueWithoutPostedByAdminUserInput | LedgerEntryUpdateWithWhereUniqueWithoutPostedByAdminUserInput[] updateMany?: LedgerEntryUpdateManyWithWhereWithoutPostedByAdminUserInput | LedgerEntryUpdateManyWithWhereWithoutPostedByAdminUserInput[] deleteMany?: LedgerEntryScalarWhereInput | LedgerEntryScalarWhereInput[] } export type OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput = { create?: XOR | OrderStatusEventCreateWithoutActorAdminUserInput[] | OrderStatusEventUncheckedCreateWithoutActorAdminUserInput[] connectOrCreate?: OrderStatusEventCreateOrConnectWithoutActorAdminUserInput | OrderStatusEventCreateOrConnectWithoutActorAdminUserInput[] upsert?: OrderStatusEventUpsertWithWhereUniqueWithoutActorAdminUserInput | OrderStatusEventUpsertWithWhereUniqueWithoutActorAdminUserInput[] createMany?: OrderStatusEventCreateManyActorAdminUserInputEnvelope set?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] disconnect?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] delete?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] connect?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] update?: OrderStatusEventUpdateWithWhereUniqueWithoutActorAdminUserInput | OrderStatusEventUpdateWithWhereUniqueWithoutActorAdminUserInput[] updateMany?: OrderStatusEventUpdateManyWithWhereWithoutActorAdminUserInput | OrderStatusEventUpdateManyWithWhereWithoutActorAdminUserInput[] deleteMany?: OrderStatusEventScalarWhereInput | OrderStatusEventScalarWhereInput[] } export type PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput = { create?: XOR | PreOrderStatusEventCreateWithoutActorAdminUserInput[] | PreOrderStatusEventUncheckedCreateWithoutActorAdminUserInput[] connectOrCreate?: PreOrderStatusEventCreateOrConnectWithoutActorAdminUserInput | PreOrderStatusEventCreateOrConnectWithoutActorAdminUserInput[] upsert?: PreOrderStatusEventUpsertWithWhereUniqueWithoutActorAdminUserInput | PreOrderStatusEventUpsertWithWhereUniqueWithoutActorAdminUserInput[] createMany?: PreOrderStatusEventCreateManyActorAdminUserInputEnvelope set?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] disconnect?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] delete?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] connect?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] update?: PreOrderStatusEventUpdateWithWhereUniqueWithoutActorAdminUserInput | PreOrderStatusEventUpdateWithWhereUniqueWithoutActorAdminUserInput[] updateMany?: PreOrderStatusEventUpdateManyWithWhereWithoutActorAdminUserInput | PreOrderStatusEventUpdateManyWithWhereWithoutActorAdminUserInput[] deleteMany?: PreOrderStatusEventScalarWhereInput | PreOrderStatusEventScalarWhereInput[] } export type SmsMessageUpdateManyWithoutSentByAdminUserNestedInput = { create?: XOR | SmsMessageCreateWithoutSentByAdminUserInput[] | SmsMessageUncheckedCreateWithoutSentByAdminUserInput[] connectOrCreate?: SmsMessageCreateOrConnectWithoutSentByAdminUserInput | SmsMessageCreateOrConnectWithoutSentByAdminUserInput[] upsert?: SmsMessageUpsertWithWhereUniqueWithoutSentByAdminUserInput | SmsMessageUpsertWithWhereUniqueWithoutSentByAdminUserInput[] createMany?: SmsMessageCreateManySentByAdminUserInputEnvelope set?: SmsMessageWhereUniqueInput | SmsMessageWhereUniqueInput[] disconnect?: SmsMessageWhereUniqueInput | SmsMessageWhereUniqueInput[] delete?: SmsMessageWhereUniqueInput | SmsMessageWhereUniqueInput[] connect?: SmsMessageWhereUniqueInput | SmsMessageWhereUniqueInput[] update?: SmsMessageUpdateWithWhereUniqueWithoutSentByAdminUserInput | SmsMessageUpdateWithWhereUniqueWithoutSentByAdminUserInput[] updateMany?: SmsMessageUpdateManyWithWhereWithoutSentByAdminUserInput | SmsMessageUpdateManyWithWhereWithoutSentByAdminUserInput[] deleteMany?: SmsMessageScalarWhereInput | SmsMessageScalarWhereInput[] } export type NotificationUpdateManyWithoutSentByAdminUserNestedInput = { create?: XOR | NotificationCreateWithoutSentByAdminUserInput[] | NotificationUncheckedCreateWithoutSentByAdminUserInput[] connectOrCreate?: NotificationCreateOrConnectWithoutSentByAdminUserInput | NotificationCreateOrConnectWithoutSentByAdminUserInput[] upsert?: NotificationUpsertWithWhereUniqueWithoutSentByAdminUserInput | NotificationUpsertWithWhereUniqueWithoutSentByAdminUserInput[] createMany?: NotificationCreateManySentByAdminUserInputEnvelope set?: NotificationWhereUniqueInput | NotificationWhereUniqueInput[] disconnect?: NotificationWhereUniqueInput | NotificationWhereUniqueInput[] delete?: NotificationWhereUniqueInput | NotificationWhereUniqueInput[] connect?: NotificationWhereUniqueInput | NotificationWhereUniqueInput[] update?: NotificationUpdateWithWhereUniqueWithoutSentByAdminUserInput | NotificationUpdateWithWhereUniqueWithoutSentByAdminUserInput[] updateMany?: NotificationUpdateManyWithWhereWithoutSentByAdminUserInput | NotificationUpdateManyWithWhereWithoutSentByAdminUserInput[] deleteMany?: NotificationScalarWhereInput | NotificationScalarWhereInput[] } export type UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput = { create?: XOR | UploadedFileCreateWithoutUploadedByAdminUserInput[] | UploadedFileUncheckedCreateWithoutUploadedByAdminUserInput[] connectOrCreate?: UploadedFileCreateOrConnectWithoutUploadedByAdminUserInput | UploadedFileCreateOrConnectWithoutUploadedByAdminUserInput[] upsert?: UploadedFileUpsertWithWhereUniqueWithoutUploadedByAdminUserInput | UploadedFileUpsertWithWhereUniqueWithoutUploadedByAdminUserInput[] createMany?: UploadedFileCreateManyUploadedByAdminUserInputEnvelope set?: UploadedFileWhereUniqueInput | UploadedFileWhereUniqueInput[] disconnect?: UploadedFileWhereUniqueInput | UploadedFileWhereUniqueInput[] delete?: UploadedFileWhereUniqueInput | UploadedFileWhereUniqueInput[] connect?: UploadedFileWhereUniqueInput | UploadedFileWhereUniqueInput[] update?: UploadedFileUpdateWithWhereUniqueWithoutUploadedByAdminUserInput | UploadedFileUpdateWithWhereUniqueWithoutUploadedByAdminUserInput[] updateMany?: UploadedFileUpdateManyWithWhereWithoutUploadedByAdminUserInput | UploadedFileUpdateManyWithWhereWithoutUploadedByAdminUserInput[] deleteMany?: UploadedFileScalarWhereInput | UploadedFileScalarWhereInput[] } export type SalesExpertProfileUpdateOneWithoutAdminUserNestedInput = { create?: XOR connectOrCreate?: SalesExpertProfileCreateOrConnectWithoutAdminUserInput upsert?: SalesExpertProfileUpsertWithoutAdminUserInput disconnect?: SalesExpertProfileWhereInput | boolean delete?: SalesExpertProfileWhereInput | boolean connect?: SalesExpertProfileWhereUniqueInput update?: XOR, SalesExpertProfileUncheckedUpdateWithoutAdminUserInput> } export type AdminSessionUpdateManyWithoutAdminUserNestedInput = { create?: XOR | AdminSessionCreateWithoutAdminUserInput[] | AdminSessionUncheckedCreateWithoutAdminUserInput[] connectOrCreate?: AdminSessionCreateOrConnectWithoutAdminUserInput | AdminSessionCreateOrConnectWithoutAdminUserInput[] upsert?: AdminSessionUpsertWithWhereUniqueWithoutAdminUserInput | AdminSessionUpsertWithWhereUniqueWithoutAdminUserInput[] createMany?: AdminSessionCreateManyAdminUserInputEnvelope set?: AdminSessionWhereUniqueInput | AdminSessionWhereUniqueInput[] disconnect?: AdminSessionWhereUniqueInput | AdminSessionWhereUniqueInput[] delete?: AdminSessionWhereUniqueInput | AdminSessionWhereUniqueInput[] connect?: AdminSessionWhereUniqueInput | AdminSessionWhereUniqueInput[] update?: AdminSessionUpdateWithWhereUniqueWithoutAdminUserInput | AdminSessionUpdateWithWhereUniqueWithoutAdminUserInput[] updateMany?: AdminSessionUpdateManyWithWhereWithoutAdminUserInput | AdminSessionUpdateManyWithWhereWithoutAdminUserInput[] deleteMany?: AdminSessionScalarWhereInput | AdminSessionScalarWhereInput[] } export type NullableIntFieldUpdateOperationsInput = { set?: number | null increment?: number decrement?: number multiply?: number divide?: number } export type CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput = { create?: XOR | CustomerCreateWithoutReferredByAgentInput[] | CustomerUncheckedCreateWithoutReferredByAgentInput[] connectOrCreate?: CustomerCreateOrConnectWithoutReferredByAgentInput | CustomerCreateOrConnectWithoutReferredByAgentInput[] upsert?: CustomerUpsertWithWhereUniqueWithoutReferredByAgentInput | CustomerUpsertWithWhereUniqueWithoutReferredByAgentInput[] createMany?: CustomerCreateManyReferredByAgentInputEnvelope set?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] disconnect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] delete?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] connect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] update?: CustomerUpdateWithWhereUniqueWithoutReferredByAgentInput | CustomerUpdateWithWhereUniqueWithoutReferredByAgentInput[] updateMany?: CustomerUpdateManyWithWhereWithoutReferredByAgentInput | CustomerUpdateManyWithWhereWithoutReferredByAgentInput[] deleteMany?: CustomerScalarWhereInput | CustomerScalarWhereInput[] } export type WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput = { create?: XOR | WorkshopCreateWithoutSupervisorInput[] | WorkshopUncheckedCreateWithoutSupervisorInput[] connectOrCreate?: WorkshopCreateOrConnectWithoutSupervisorInput | WorkshopCreateOrConnectWithoutSupervisorInput[] upsert?: WorkshopUpsertWithWhereUniqueWithoutSupervisorInput | WorkshopUpsertWithWhereUniqueWithoutSupervisorInput[] createMany?: WorkshopCreateManySupervisorInputEnvelope set?: WorkshopWhereUniqueInput | WorkshopWhereUniqueInput[] disconnect?: WorkshopWhereUniqueInput | WorkshopWhereUniqueInput[] delete?: WorkshopWhereUniqueInput | WorkshopWhereUniqueInput[] connect?: WorkshopWhereUniqueInput | WorkshopWhereUniqueInput[] update?: WorkshopUpdateWithWhereUniqueWithoutSupervisorInput | WorkshopUpdateWithWhereUniqueWithoutSupervisorInput[] updateMany?: WorkshopUpdateManyWithWhereWithoutSupervisorInput | WorkshopUpdateManyWithWhereWithoutSupervisorInput[] deleteMany?: WorkshopScalarWhereInput | WorkshopScalarWhereInput[] } export type BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput = { create?: XOR | BranchAllocationCreateWithoutAllocatorAdminUserInput[] | BranchAllocationUncheckedCreateWithoutAllocatorAdminUserInput[] connectOrCreate?: BranchAllocationCreateOrConnectWithoutAllocatorAdminUserInput | BranchAllocationCreateOrConnectWithoutAllocatorAdminUserInput[] upsert?: BranchAllocationUpsertWithWhereUniqueWithoutAllocatorAdminUserInput | BranchAllocationUpsertWithWhereUniqueWithoutAllocatorAdminUserInput[] createMany?: BranchAllocationCreateManyAllocatorAdminUserInputEnvelope set?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] disconnect?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] delete?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] connect?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] update?: BranchAllocationUpdateWithWhereUniqueWithoutAllocatorAdminUserInput | BranchAllocationUpdateWithWhereUniqueWithoutAllocatorAdminUserInput[] updateMany?: BranchAllocationUpdateManyWithWhereWithoutAllocatorAdminUserInput | BranchAllocationUpdateManyWithWhereWithoutAllocatorAdminUserInput[] deleteMany?: BranchAllocationScalarWhereInput | BranchAllocationScalarWhereInput[] } export type LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput = { create?: XOR | LedgerEntryCreateWithoutPostedByAdminUserInput[] | LedgerEntryUncheckedCreateWithoutPostedByAdminUserInput[] connectOrCreate?: LedgerEntryCreateOrConnectWithoutPostedByAdminUserInput | LedgerEntryCreateOrConnectWithoutPostedByAdminUserInput[] upsert?: LedgerEntryUpsertWithWhereUniqueWithoutPostedByAdminUserInput | LedgerEntryUpsertWithWhereUniqueWithoutPostedByAdminUserInput[] createMany?: LedgerEntryCreateManyPostedByAdminUserInputEnvelope set?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] disconnect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] delete?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] connect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] update?: LedgerEntryUpdateWithWhereUniqueWithoutPostedByAdminUserInput | LedgerEntryUpdateWithWhereUniqueWithoutPostedByAdminUserInput[] updateMany?: LedgerEntryUpdateManyWithWhereWithoutPostedByAdminUserInput | LedgerEntryUpdateManyWithWhereWithoutPostedByAdminUserInput[] deleteMany?: LedgerEntryScalarWhereInput | LedgerEntryScalarWhereInput[] } export type OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput = { create?: XOR | OrderStatusEventCreateWithoutActorAdminUserInput[] | OrderStatusEventUncheckedCreateWithoutActorAdminUserInput[] connectOrCreate?: OrderStatusEventCreateOrConnectWithoutActorAdminUserInput | OrderStatusEventCreateOrConnectWithoutActorAdminUserInput[] upsert?: OrderStatusEventUpsertWithWhereUniqueWithoutActorAdminUserInput | OrderStatusEventUpsertWithWhereUniqueWithoutActorAdminUserInput[] createMany?: OrderStatusEventCreateManyActorAdminUserInputEnvelope set?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] disconnect?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] delete?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] connect?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] update?: OrderStatusEventUpdateWithWhereUniqueWithoutActorAdminUserInput | OrderStatusEventUpdateWithWhereUniqueWithoutActorAdminUserInput[] updateMany?: OrderStatusEventUpdateManyWithWhereWithoutActorAdminUserInput | OrderStatusEventUpdateManyWithWhereWithoutActorAdminUserInput[] deleteMany?: OrderStatusEventScalarWhereInput | OrderStatusEventScalarWhereInput[] } export type PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput = { create?: XOR | PreOrderStatusEventCreateWithoutActorAdminUserInput[] | PreOrderStatusEventUncheckedCreateWithoutActorAdminUserInput[] connectOrCreate?: PreOrderStatusEventCreateOrConnectWithoutActorAdminUserInput | PreOrderStatusEventCreateOrConnectWithoutActorAdminUserInput[] upsert?: PreOrderStatusEventUpsertWithWhereUniqueWithoutActorAdminUserInput | PreOrderStatusEventUpsertWithWhereUniqueWithoutActorAdminUserInput[] createMany?: PreOrderStatusEventCreateManyActorAdminUserInputEnvelope set?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] disconnect?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] delete?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] connect?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] update?: PreOrderStatusEventUpdateWithWhereUniqueWithoutActorAdminUserInput | PreOrderStatusEventUpdateWithWhereUniqueWithoutActorAdminUserInput[] updateMany?: PreOrderStatusEventUpdateManyWithWhereWithoutActorAdminUserInput | PreOrderStatusEventUpdateManyWithWhereWithoutActorAdminUserInput[] deleteMany?: PreOrderStatusEventScalarWhereInput | PreOrderStatusEventScalarWhereInput[] } export type SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput = { create?: XOR | SmsMessageCreateWithoutSentByAdminUserInput[] | SmsMessageUncheckedCreateWithoutSentByAdminUserInput[] connectOrCreate?: SmsMessageCreateOrConnectWithoutSentByAdminUserInput | SmsMessageCreateOrConnectWithoutSentByAdminUserInput[] upsert?: SmsMessageUpsertWithWhereUniqueWithoutSentByAdminUserInput | SmsMessageUpsertWithWhereUniqueWithoutSentByAdminUserInput[] createMany?: SmsMessageCreateManySentByAdminUserInputEnvelope set?: SmsMessageWhereUniqueInput | SmsMessageWhereUniqueInput[] disconnect?: SmsMessageWhereUniqueInput | SmsMessageWhereUniqueInput[] delete?: SmsMessageWhereUniqueInput | SmsMessageWhereUniqueInput[] connect?: SmsMessageWhereUniqueInput | SmsMessageWhereUniqueInput[] update?: SmsMessageUpdateWithWhereUniqueWithoutSentByAdminUserInput | SmsMessageUpdateWithWhereUniqueWithoutSentByAdminUserInput[] updateMany?: SmsMessageUpdateManyWithWhereWithoutSentByAdminUserInput | SmsMessageUpdateManyWithWhereWithoutSentByAdminUserInput[] deleteMany?: SmsMessageScalarWhereInput | SmsMessageScalarWhereInput[] } export type NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput = { create?: XOR | NotificationCreateWithoutSentByAdminUserInput[] | NotificationUncheckedCreateWithoutSentByAdminUserInput[] connectOrCreate?: NotificationCreateOrConnectWithoutSentByAdminUserInput | NotificationCreateOrConnectWithoutSentByAdminUserInput[] upsert?: NotificationUpsertWithWhereUniqueWithoutSentByAdminUserInput | NotificationUpsertWithWhereUniqueWithoutSentByAdminUserInput[] createMany?: NotificationCreateManySentByAdminUserInputEnvelope set?: NotificationWhereUniqueInput | NotificationWhereUniqueInput[] disconnect?: NotificationWhereUniqueInput | NotificationWhereUniqueInput[] delete?: NotificationWhereUniqueInput | NotificationWhereUniqueInput[] connect?: NotificationWhereUniqueInput | NotificationWhereUniqueInput[] update?: NotificationUpdateWithWhereUniqueWithoutSentByAdminUserInput | NotificationUpdateWithWhereUniqueWithoutSentByAdminUserInput[] updateMany?: NotificationUpdateManyWithWhereWithoutSentByAdminUserInput | NotificationUpdateManyWithWhereWithoutSentByAdminUserInput[] deleteMany?: NotificationScalarWhereInput | NotificationScalarWhereInput[] } export type UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput = { create?: XOR | UploadedFileCreateWithoutUploadedByAdminUserInput[] | UploadedFileUncheckedCreateWithoutUploadedByAdminUserInput[] connectOrCreate?: UploadedFileCreateOrConnectWithoutUploadedByAdminUserInput | UploadedFileCreateOrConnectWithoutUploadedByAdminUserInput[] upsert?: UploadedFileUpsertWithWhereUniqueWithoutUploadedByAdminUserInput | UploadedFileUpsertWithWhereUniqueWithoutUploadedByAdminUserInput[] createMany?: UploadedFileCreateManyUploadedByAdminUserInputEnvelope set?: UploadedFileWhereUniqueInput | UploadedFileWhereUniqueInput[] disconnect?: UploadedFileWhereUniqueInput | UploadedFileWhereUniqueInput[] delete?: UploadedFileWhereUniqueInput | UploadedFileWhereUniqueInput[] connect?: UploadedFileWhereUniqueInput | UploadedFileWhereUniqueInput[] update?: UploadedFileUpdateWithWhereUniqueWithoutUploadedByAdminUserInput | UploadedFileUpdateWithWhereUniqueWithoutUploadedByAdminUserInput[] updateMany?: UploadedFileUpdateManyWithWhereWithoutUploadedByAdminUserInput | UploadedFileUpdateManyWithWhereWithoutUploadedByAdminUserInput[] deleteMany?: UploadedFileScalarWhereInput | UploadedFileScalarWhereInput[] } export type SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput = { create?: XOR connectOrCreate?: SalesExpertProfileCreateOrConnectWithoutAdminUserInput upsert?: SalesExpertProfileUpsertWithoutAdminUserInput disconnect?: SalesExpertProfileWhereInput | boolean delete?: SalesExpertProfileWhereInput | boolean connect?: SalesExpertProfileWhereUniqueInput update?: XOR, SalesExpertProfileUncheckedUpdateWithoutAdminUserInput> } export type AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput = { create?: XOR | AdminSessionCreateWithoutAdminUserInput[] | AdminSessionUncheckedCreateWithoutAdminUserInput[] connectOrCreate?: AdminSessionCreateOrConnectWithoutAdminUserInput | AdminSessionCreateOrConnectWithoutAdminUserInput[] upsert?: AdminSessionUpsertWithWhereUniqueWithoutAdminUserInput | AdminSessionUpsertWithWhereUniqueWithoutAdminUserInput[] createMany?: AdminSessionCreateManyAdminUserInputEnvelope set?: AdminSessionWhereUniqueInput | AdminSessionWhereUniqueInput[] disconnect?: AdminSessionWhereUniqueInput | AdminSessionWhereUniqueInput[] delete?: AdminSessionWhereUniqueInput | AdminSessionWhereUniqueInput[] connect?: AdminSessionWhereUniqueInput | AdminSessionWhereUniqueInput[] update?: AdminSessionUpdateWithWhereUniqueWithoutAdminUserInput | AdminSessionUpdateWithWhereUniqueWithoutAdminUserInput[] updateMany?: AdminSessionUpdateManyWithWhereWithoutAdminUserInput | AdminSessionUpdateManyWithWhereWithoutAdminUserInput[] deleteMany?: AdminSessionScalarWhereInput | AdminSessionScalarWhereInput[] } export type NullableDateTimeFieldUpdateOperationsInput = { set?: Date | string | null } export type AdminUserCreateNestedOneWithoutSessionsInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutSessionsInput connect?: AdminUserWhereUniqueInput } export type AdminUserUpdateOneRequiredWithoutSessionsNestedInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutSessionsInput upsert?: AdminUserUpsertWithoutSessionsInput connect?: AdminUserWhereUniqueInput update?: XOR, AdminUserUncheckedUpdateWithoutSessionsInput> } export type AdminUserCreateNestedOneWithoutSalesExpertProfileInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutSalesExpertProfileInput connect?: AdminUserWhereUniqueInput } export type CityCreateNestedOneWithoutSalesExpertProfilesInput = { create?: XOR connectOrCreate?: CityCreateOrConnectWithoutSalesExpertProfilesInput connect?: CityWhereUniqueInput } export type CustomerCreateNestedOneWithoutSalesExpertTradingForInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutSalesExpertTradingForInput connect?: CustomerWhereUniqueInput } export type DecimalFieldUpdateOperationsInput = { set?: Decimal | DecimalJsLike | number | string increment?: Decimal | DecimalJsLike | number | string decrement?: Decimal | DecimalJsLike | number | string multiply?: Decimal | DecimalJsLike | number | string divide?: Decimal | DecimalJsLike | number | string } export type AdminUserUpdateOneRequiredWithoutSalesExpertProfileNestedInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutSalesExpertProfileInput upsert?: AdminUserUpsertWithoutSalesExpertProfileInput connect?: AdminUserWhereUniqueInput update?: XOR, AdminUserUncheckedUpdateWithoutSalesExpertProfileInput> } export type CityUpdateOneWithoutSalesExpertProfilesNestedInput = { create?: XOR connectOrCreate?: CityCreateOrConnectWithoutSalesExpertProfilesInput upsert?: CityUpsertWithoutSalesExpertProfilesInput disconnect?: CityWhereInput | boolean delete?: CityWhereInput | boolean connect?: CityWhereUniqueInput update?: XOR, CityUncheckedUpdateWithoutSalesExpertProfilesInput> } export type CustomerUpdateOneWithoutSalesExpertTradingForNestedInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutSalesExpertTradingForInput upsert?: CustomerUpsertWithoutSalesExpertTradingForInput disconnect?: CustomerWhereInput | boolean delete?: CustomerWhereInput | boolean connect?: CustomerWhereUniqueInput update?: XOR, CustomerUncheckedUpdateWithoutSalesExpertTradingForInput> } export type CityCreateNestedOneWithoutCustomersInput = { create?: XOR connectOrCreate?: CityCreateOrConnectWithoutCustomersInput connect?: CityWhereUniqueInput } export type AdminUserCreateNestedOneWithoutReferredCustomersInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutReferredCustomersInput connect?: AdminUserWhereUniqueInput } export type SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput = { create?: XOR connectOrCreate?: SalesExpertProfileCreateOrConnectWithoutTradingCustomerInput connect?: SalesExpertProfileWhereUniqueInput } export type UploadedFileCreateNestedOneWithoutCustomerAvatarsInput = { create?: XOR connectOrCreate?: UploadedFileCreateOrConnectWithoutCustomerAvatarsInput connect?: UploadedFileWhereUniqueInput } export type CustomerAddressCreateNestedManyWithoutCustomerInput = { create?: XOR | CustomerAddressCreateWithoutCustomerInput[] | CustomerAddressUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CustomerAddressCreateOrConnectWithoutCustomerInput | CustomerAddressCreateOrConnectWithoutCustomerInput[] createMany?: CustomerAddressCreateManyCustomerInputEnvelope connect?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] } export type OrderCreateNestedManyWithoutCustomerInput = { create?: XOR | OrderCreateWithoutCustomerInput[] | OrderUncheckedCreateWithoutCustomerInput[] connectOrCreate?: OrderCreateOrConnectWithoutCustomerInput | OrderCreateOrConnectWithoutCustomerInput[] createMany?: OrderCreateManyCustomerInputEnvelope connect?: OrderWhereUniqueInput | OrderWhereUniqueInput[] } export type PreOrderCreateNestedManyWithoutCustomerInput = { create?: XOR | PreOrderCreateWithoutCustomerInput[] | PreOrderUncheckedCreateWithoutCustomerInput[] connectOrCreate?: PreOrderCreateOrConnectWithoutCustomerInput | PreOrderCreateOrConnectWithoutCustomerInput[] createMany?: PreOrderCreateManyCustomerInputEnvelope connect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] } export type LedgerEntryCreateNestedManyWithoutCustomerInput = { create?: XOR | LedgerEntryCreateWithoutCustomerInput[] | LedgerEntryUncheckedCreateWithoutCustomerInput[] connectOrCreate?: LedgerEntryCreateOrConnectWithoutCustomerInput | LedgerEntryCreateOrConnectWithoutCustomerInput[] createMany?: LedgerEntryCreateManyCustomerInputEnvelope connect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] } export type WalletBonusCreateNestedManyWithoutCustomerInput = { create?: XOR | WalletBonusCreateWithoutCustomerInput[] | WalletBonusUncheckedCreateWithoutCustomerInput[] connectOrCreate?: WalletBonusCreateOrConnectWithoutCustomerInput | WalletBonusCreateOrConnectWithoutCustomerInput[] createMany?: WalletBonusCreateManyCustomerInputEnvelope connect?: WalletBonusWhereUniqueInput | WalletBonusWhereUniqueInput[] } export type CommentCreateNestedManyWithoutCustomerInput = { create?: XOR | CommentCreateWithoutCustomerInput[] | CommentUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CommentCreateOrConnectWithoutCustomerInput | CommentCreateOrConnectWithoutCustomerInput[] createMany?: CommentCreateManyCustomerInputEnvelope connect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] } export type PromotionCreateNestedManyWithoutCustomerInput = { create?: XOR | PromotionCreateWithoutCustomerInput[] | PromotionUncheckedCreateWithoutCustomerInput[] connectOrCreate?: PromotionCreateOrConnectWithoutCustomerInput | PromotionCreateOrConnectWithoutCustomerInput[] createMany?: PromotionCreateManyCustomerInputEnvelope connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] } export type NotificationRecipientCreateNestedManyWithoutCustomerInput = { create?: XOR | NotificationRecipientCreateWithoutCustomerInput[] | NotificationRecipientUncheckedCreateWithoutCustomerInput[] connectOrCreate?: NotificationRecipientCreateOrConnectWithoutCustomerInput | NotificationRecipientCreateOrConnectWithoutCustomerInput[] createMany?: NotificationRecipientCreateManyCustomerInputEnvelope connect?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] } export type CustomerActivityLogCreateNestedManyWithoutCustomerInput = { create?: XOR | CustomerActivityLogCreateWithoutCustomerInput[] | CustomerActivityLogUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CustomerActivityLogCreateOrConnectWithoutCustomerInput | CustomerActivityLogCreateOrConnectWithoutCustomerInput[] createMany?: CustomerActivityLogCreateManyCustomerInputEnvelope connect?: CustomerActivityLogWhereUniqueInput | CustomerActivityLogWhereUniqueInput[] } export type CustomerOtpCreateNestedManyWithoutCustomerInput = { create?: XOR | CustomerOtpCreateWithoutCustomerInput[] | CustomerOtpUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CustomerOtpCreateOrConnectWithoutCustomerInput | CustomerOtpCreateOrConnectWithoutCustomerInput[] createMany?: CustomerOtpCreateManyCustomerInputEnvelope connect?: CustomerOtpWhereUniqueInput | CustomerOtpWhereUniqueInput[] } export type SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput = { create?: XOR connectOrCreate?: SalesExpertProfileCreateOrConnectWithoutTradingCustomerInput connect?: SalesExpertProfileWhereUniqueInput } export type CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput = { create?: XOR | CustomerAddressCreateWithoutCustomerInput[] | CustomerAddressUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CustomerAddressCreateOrConnectWithoutCustomerInput | CustomerAddressCreateOrConnectWithoutCustomerInput[] createMany?: CustomerAddressCreateManyCustomerInputEnvelope connect?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] } export type OrderUncheckedCreateNestedManyWithoutCustomerInput = { create?: XOR | OrderCreateWithoutCustomerInput[] | OrderUncheckedCreateWithoutCustomerInput[] connectOrCreate?: OrderCreateOrConnectWithoutCustomerInput | OrderCreateOrConnectWithoutCustomerInput[] createMany?: OrderCreateManyCustomerInputEnvelope connect?: OrderWhereUniqueInput | OrderWhereUniqueInput[] } export type PreOrderUncheckedCreateNestedManyWithoutCustomerInput = { create?: XOR | PreOrderCreateWithoutCustomerInput[] | PreOrderUncheckedCreateWithoutCustomerInput[] connectOrCreate?: PreOrderCreateOrConnectWithoutCustomerInput | PreOrderCreateOrConnectWithoutCustomerInput[] createMany?: PreOrderCreateManyCustomerInputEnvelope connect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] } export type LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput = { create?: XOR | LedgerEntryCreateWithoutCustomerInput[] | LedgerEntryUncheckedCreateWithoutCustomerInput[] connectOrCreate?: LedgerEntryCreateOrConnectWithoutCustomerInput | LedgerEntryCreateOrConnectWithoutCustomerInput[] createMany?: LedgerEntryCreateManyCustomerInputEnvelope connect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] } export type WalletBonusUncheckedCreateNestedManyWithoutCustomerInput = { create?: XOR | WalletBonusCreateWithoutCustomerInput[] | WalletBonusUncheckedCreateWithoutCustomerInput[] connectOrCreate?: WalletBonusCreateOrConnectWithoutCustomerInput | WalletBonusCreateOrConnectWithoutCustomerInput[] createMany?: WalletBonusCreateManyCustomerInputEnvelope connect?: WalletBonusWhereUniqueInput | WalletBonusWhereUniqueInput[] } export type CommentUncheckedCreateNestedManyWithoutCustomerInput = { create?: XOR | CommentCreateWithoutCustomerInput[] | CommentUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CommentCreateOrConnectWithoutCustomerInput | CommentCreateOrConnectWithoutCustomerInput[] createMany?: CommentCreateManyCustomerInputEnvelope connect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] } export type PromotionUncheckedCreateNestedManyWithoutCustomerInput = { create?: XOR | PromotionCreateWithoutCustomerInput[] | PromotionUncheckedCreateWithoutCustomerInput[] connectOrCreate?: PromotionCreateOrConnectWithoutCustomerInput | PromotionCreateOrConnectWithoutCustomerInput[] createMany?: PromotionCreateManyCustomerInputEnvelope connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] } export type NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput = { create?: XOR | NotificationRecipientCreateWithoutCustomerInput[] | NotificationRecipientUncheckedCreateWithoutCustomerInput[] connectOrCreate?: NotificationRecipientCreateOrConnectWithoutCustomerInput | NotificationRecipientCreateOrConnectWithoutCustomerInput[] createMany?: NotificationRecipientCreateManyCustomerInputEnvelope connect?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] } export type CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput = { create?: XOR | CustomerActivityLogCreateWithoutCustomerInput[] | CustomerActivityLogUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CustomerActivityLogCreateOrConnectWithoutCustomerInput | CustomerActivityLogCreateOrConnectWithoutCustomerInput[] createMany?: CustomerActivityLogCreateManyCustomerInputEnvelope connect?: CustomerActivityLogWhereUniqueInput | CustomerActivityLogWhereUniqueInput[] } export type CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput = { create?: XOR | CustomerOtpCreateWithoutCustomerInput[] | CustomerOtpUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CustomerOtpCreateOrConnectWithoutCustomerInput | CustomerOtpCreateOrConnectWithoutCustomerInput[] createMany?: CustomerOtpCreateManyCustomerInputEnvelope connect?: CustomerOtpWhereUniqueInput | CustomerOtpWhereUniqueInput[] } export type EnumCustomerKindFieldUpdateOperationsInput = { set?: $Enums.CustomerKind } export type EnumVerificationStepFieldUpdateOperationsInput = { set?: $Enums.VerificationStep } export type CityUpdateOneWithoutCustomersNestedInput = { create?: XOR connectOrCreate?: CityCreateOrConnectWithoutCustomersInput upsert?: CityUpsertWithoutCustomersInput disconnect?: CityWhereInput | boolean delete?: CityWhereInput | boolean connect?: CityWhereUniqueInput update?: XOR, CityUncheckedUpdateWithoutCustomersInput> } export type AdminUserUpdateOneWithoutReferredCustomersNestedInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutReferredCustomersInput upsert?: AdminUserUpsertWithoutReferredCustomersInput disconnect?: AdminUserWhereInput | boolean delete?: AdminUserWhereInput | boolean connect?: AdminUserWhereUniqueInput update?: XOR, AdminUserUncheckedUpdateWithoutReferredCustomersInput> } export type SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput = { create?: XOR connectOrCreate?: SalesExpertProfileCreateOrConnectWithoutTradingCustomerInput upsert?: SalesExpertProfileUpsertWithoutTradingCustomerInput disconnect?: SalesExpertProfileWhereInput | boolean delete?: SalesExpertProfileWhereInput | boolean connect?: SalesExpertProfileWhereUniqueInput update?: XOR, SalesExpertProfileUncheckedUpdateWithoutTradingCustomerInput> } export type UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput = { create?: XOR connectOrCreate?: UploadedFileCreateOrConnectWithoutCustomerAvatarsInput upsert?: UploadedFileUpsertWithoutCustomerAvatarsInput disconnect?: UploadedFileWhereInput | boolean delete?: UploadedFileWhereInput | boolean connect?: UploadedFileWhereUniqueInput update?: XOR, UploadedFileUncheckedUpdateWithoutCustomerAvatarsInput> } export type CustomerAddressUpdateManyWithoutCustomerNestedInput = { create?: XOR | CustomerAddressCreateWithoutCustomerInput[] | CustomerAddressUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CustomerAddressCreateOrConnectWithoutCustomerInput | CustomerAddressCreateOrConnectWithoutCustomerInput[] upsert?: CustomerAddressUpsertWithWhereUniqueWithoutCustomerInput | CustomerAddressUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: CustomerAddressCreateManyCustomerInputEnvelope set?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] disconnect?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] delete?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] connect?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] update?: CustomerAddressUpdateWithWhereUniqueWithoutCustomerInput | CustomerAddressUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: CustomerAddressUpdateManyWithWhereWithoutCustomerInput | CustomerAddressUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: CustomerAddressScalarWhereInput | CustomerAddressScalarWhereInput[] } export type OrderUpdateManyWithoutCustomerNestedInput = { create?: XOR | OrderCreateWithoutCustomerInput[] | OrderUncheckedCreateWithoutCustomerInput[] connectOrCreate?: OrderCreateOrConnectWithoutCustomerInput | OrderCreateOrConnectWithoutCustomerInput[] upsert?: OrderUpsertWithWhereUniqueWithoutCustomerInput | OrderUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: OrderCreateManyCustomerInputEnvelope set?: OrderWhereUniqueInput | OrderWhereUniqueInput[] disconnect?: OrderWhereUniqueInput | OrderWhereUniqueInput[] delete?: OrderWhereUniqueInput | OrderWhereUniqueInput[] connect?: OrderWhereUniqueInput | OrderWhereUniqueInput[] update?: OrderUpdateWithWhereUniqueWithoutCustomerInput | OrderUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: OrderUpdateManyWithWhereWithoutCustomerInput | OrderUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: OrderScalarWhereInput | OrderScalarWhereInput[] } export type PreOrderUpdateManyWithoutCustomerNestedInput = { create?: XOR | PreOrderCreateWithoutCustomerInput[] | PreOrderUncheckedCreateWithoutCustomerInput[] connectOrCreate?: PreOrderCreateOrConnectWithoutCustomerInput | PreOrderCreateOrConnectWithoutCustomerInput[] upsert?: PreOrderUpsertWithWhereUniqueWithoutCustomerInput | PreOrderUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: PreOrderCreateManyCustomerInputEnvelope set?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] disconnect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] delete?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] connect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] update?: PreOrderUpdateWithWhereUniqueWithoutCustomerInput | PreOrderUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: PreOrderUpdateManyWithWhereWithoutCustomerInput | PreOrderUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: PreOrderScalarWhereInput | PreOrderScalarWhereInput[] } export type LedgerEntryUpdateManyWithoutCustomerNestedInput = { create?: XOR | LedgerEntryCreateWithoutCustomerInput[] | LedgerEntryUncheckedCreateWithoutCustomerInput[] connectOrCreate?: LedgerEntryCreateOrConnectWithoutCustomerInput | LedgerEntryCreateOrConnectWithoutCustomerInput[] upsert?: LedgerEntryUpsertWithWhereUniqueWithoutCustomerInput | LedgerEntryUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: LedgerEntryCreateManyCustomerInputEnvelope set?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] disconnect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] delete?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] connect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] update?: LedgerEntryUpdateWithWhereUniqueWithoutCustomerInput | LedgerEntryUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: LedgerEntryUpdateManyWithWhereWithoutCustomerInput | LedgerEntryUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: LedgerEntryScalarWhereInput | LedgerEntryScalarWhereInput[] } export type WalletBonusUpdateManyWithoutCustomerNestedInput = { create?: XOR | WalletBonusCreateWithoutCustomerInput[] | WalletBonusUncheckedCreateWithoutCustomerInput[] connectOrCreate?: WalletBonusCreateOrConnectWithoutCustomerInput | WalletBonusCreateOrConnectWithoutCustomerInput[] upsert?: WalletBonusUpsertWithWhereUniqueWithoutCustomerInput | WalletBonusUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: WalletBonusCreateManyCustomerInputEnvelope set?: WalletBonusWhereUniqueInput | WalletBonusWhereUniqueInput[] disconnect?: WalletBonusWhereUniqueInput | WalletBonusWhereUniqueInput[] delete?: WalletBonusWhereUniqueInput | WalletBonusWhereUniqueInput[] connect?: WalletBonusWhereUniqueInput | WalletBonusWhereUniqueInput[] update?: WalletBonusUpdateWithWhereUniqueWithoutCustomerInput | WalletBonusUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: WalletBonusUpdateManyWithWhereWithoutCustomerInput | WalletBonusUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: WalletBonusScalarWhereInput | WalletBonusScalarWhereInput[] } export type CommentUpdateManyWithoutCustomerNestedInput = { create?: XOR | CommentCreateWithoutCustomerInput[] | CommentUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CommentCreateOrConnectWithoutCustomerInput | CommentCreateOrConnectWithoutCustomerInput[] upsert?: CommentUpsertWithWhereUniqueWithoutCustomerInput | CommentUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: CommentCreateManyCustomerInputEnvelope set?: CommentWhereUniqueInput | CommentWhereUniqueInput[] disconnect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] delete?: CommentWhereUniqueInput | CommentWhereUniqueInput[] connect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] update?: CommentUpdateWithWhereUniqueWithoutCustomerInput | CommentUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: CommentUpdateManyWithWhereWithoutCustomerInput | CommentUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: CommentScalarWhereInput | CommentScalarWhereInput[] } export type PromotionUpdateManyWithoutCustomerNestedInput = { create?: XOR | PromotionCreateWithoutCustomerInput[] | PromotionUncheckedCreateWithoutCustomerInput[] connectOrCreate?: PromotionCreateOrConnectWithoutCustomerInput | PromotionCreateOrConnectWithoutCustomerInput[] upsert?: PromotionUpsertWithWhereUniqueWithoutCustomerInput | PromotionUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: PromotionCreateManyCustomerInputEnvelope set?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] disconnect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] delete?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] update?: PromotionUpdateWithWhereUniqueWithoutCustomerInput | PromotionUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: PromotionUpdateManyWithWhereWithoutCustomerInput | PromotionUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: PromotionScalarWhereInput | PromotionScalarWhereInput[] } export type NotificationRecipientUpdateManyWithoutCustomerNestedInput = { create?: XOR | NotificationRecipientCreateWithoutCustomerInput[] | NotificationRecipientUncheckedCreateWithoutCustomerInput[] connectOrCreate?: NotificationRecipientCreateOrConnectWithoutCustomerInput | NotificationRecipientCreateOrConnectWithoutCustomerInput[] upsert?: NotificationRecipientUpsertWithWhereUniqueWithoutCustomerInput | NotificationRecipientUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: NotificationRecipientCreateManyCustomerInputEnvelope set?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] disconnect?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] delete?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] connect?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] update?: NotificationRecipientUpdateWithWhereUniqueWithoutCustomerInput | NotificationRecipientUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: NotificationRecipientUpdateManyWithWhereWithoutCustomerInput | NotificationRecipientUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: NotificationRecipientScalarWhereInput | NotificationRecipientScalarWhereInput[] } export type CustomerActivityLogUpdateManyWithoutCustomerNestedInput = { create?: XOR | CustomerActivityLogCreateWithoutCustomerInput[] | CustomerActivityLogUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CustomerActivityLogCreateOrConnectWithoutCustomerInput | CustomerActivityLogCreateOrConnectWithoutCustomerInput[] upsert?: CustomerActivityLogUpsertWithWhereUniqueWithoutCustomerInput | CustomerActivityLogUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: CustomerActivityLogCreateManyCustomerInputEnvelope set?: CustomerActivityLogWhereUniqueInput | CustomerActivityLogWhereUniqueInput[] disconnect?: CustomerActivityLogWhereUniqueInput | CustomerActivityLogWhereUniqueInput[] delete?: CustomerActivityLogWhereUniqueInput | CustomerActivityLogWhereUniqueInput[] connect?: CustomerActivityLogWhereUniqueInput | CustomerActivityLogWhereUniqueInput[] update?: CustomerActivityLogUpdateWithWhereUniqueWithoutCustomerInput | CustomerActivityLogUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: CustomerActivityLogUpdateManyWithWhereWithoutCustomerInput | CustomerActivityLogUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: CustomerActivityLogScalarWhereInput | CustomerActivityLogScalarWhereInput[] } export type CustomerOtpUpdateManyWithoutCustomerNestedInput = { create?: XOR | CustomerOtpCreateWithoutCustomerInput[] | CustomerOtpUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CustomerOtpCreateOrConnectWithoutCustomerInput | CustomerOtpCreateOrConnectWithoutCustomerInput[] upsert?: CustomerOtpUpsertWithWhereUniqueWithoutCustomerInput | CustomerOtpUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: CustomerOtpCreateManyCustomerInputEnvelope set?: CustomerOtpWhereUniqueInput | CustomerOtpWhereUniqueInput[] disconnect?: CustomerOtpWhereUniqueInput | CustomerOtpWhereUniqueInput[] delete?: CustomerOtpWhereUniqueInput | CustomerOtpWhereUniqueInput[] connect?: CustomerOtpWhereUniqueInput | CustomerOtpWhereUniqueInput[] update?: CustomerOtpUpdateWithWhereUniqueWithoutCustomerInput | CustomerOtpUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: CustomerOtpUpdateManyWithWhereWithoutCustomerInput | CustomerOtpUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: CustomerOtpScalarWhereInput | CustomerOtpScalarWhereInput[] } export type SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput = { create?: XOR connectOrCreate?: SalesExpertProfileCreateOrConnectWithoutTradingCustomerInput upsert?: SalesExpertProfileUpsertWithoutTradingCustomerInput disconnect?: SalesExpertProfileWhereInput | boolean delete?: SalesExpertProfileWhereInput | boolean connect?: SalesExpertProfileWhereUniqueInput update?: XOR, SalesExpertProfileUncheckedUpdateWithoutTradingCustomerInput> } export type CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput = { create?: XOR | CustomerAddressCreateWithoutCustomerInput[] | CustomerAddressUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CustomerAddressCreateOrConnectWithoutCustomerInput | CustomerAddressCreateOrConnectWithoutCustomerInput[] upsert?: CustomerAddressUpsertWithWhereUniqueWithoutCustomerInput | CustomerAddressUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: CustomerAddressCreateManyCustomerInputEnvelope set?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] disconnect?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] delete?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] connect?: CustomerAddressWhereUniqueInput | CustomerAddressWhereUniqueInput[] update?: CustomerAddressUpdateWithWhereUniqueWithoutCustomerInput | CustomerAddressUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: CustomerAddressUpdateManyWithWhereWithoutCustomerInput | CustomerAddressUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: CustomerAddressScalarWhereInput | CustomerAddressScalarWhereInput[] } export type OrderUncheckedUpdateManyWithoutCustomerNestedInput = { create?: XOR | OrderCreateWithoutCustomerInput[] | OrderUncheckedCreateWithoutCustomerInput[] connectOrCreate?: OrderCreateOrConnectWithoutCustomerInput | OrderCreateOrConnectWithoutCustomerInput[] upsert?: OrderUpsertWithWhereUniqueWithoutCustomerInput | OrderUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: OrderCreateManyCustomerInputEnvelope set?: OrderWhereUniqueInput | OrderWhereUniqueInput[] disconnect?: OrderWhereUniqueInput | OrderWhereUniqueInput[] delete?: OrderWhereUniqueInput | OrderWhereUniqueInput[] connect?: OrderWhereUniqueInput | OrderWhereUniqueInput[] update?: OrderUpdateWithWhereUniqueWithoutCustomerInput | OrderUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: OrderUpdateManyWithWhereWithoutCustomerInput | OrderUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: OrderScalarWhereInput | OrderScalarWhereInput[] } export type PreOrderUncheckedUpdateManyWithoutCustomerNestedInput = { create?: XOR | PreOrderCreateWithoutCustomerInput[] | PreOrderUncheckedCreateWithoutCustomerInput[] connectOrCreate?: PreOrderCreateOrConnectWithoutCustomerInput | PreOrderCreateOrConnectWithoutCustomerInput[] upsert?: PreOrderUpsertWithWhereUniqueWithoutCustomerInput | PreOrderUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: PreOrderCreateManyCustomerInputEnvelope set?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] disconnect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] delete?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] connect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] update?: PreOrderUpdateWithWhereUniqueWithoutCustomerInput | PreOrderUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: PreOrderUpdateManyWithWhereWithoutCustomerInput | PreOrderUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: PreOrderScalarWhereInput | PreOrderScalarWhereInput[] } export type LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput = { create?: XOR | LedgerEntryCreateWithoutCustomerInput[] | LedgerEntryUncheckedCreateWithoutCustomerInput[] connectOrCreate?: LedgerEntryCreateOrConnectWithoutCustomerInput | LedgerEntryCreateOrConnectWithoutCustomerInput[] upsert?: LedgerEntryUpsertWithWhereUniqueWithoutCustomerInput | LedgerEntryUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: LedgerEntryCreateManyCustomerInputEnvelope set?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] disconnect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] delete?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] connect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] update?: LedgerEntryUpdateWithWhereUniqueWithoutCustomerInput | LedgerEntryUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: LedgerEntryUpdateManyWithWhereWithoutCustomerInput | LedgerEntryUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: LedgerEntryScalarWhereInput | LedgerEntryScalarWhereInput[] } export type WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput = { create?: XOR | WalletBonusCreateWithoutCustomerInput[] | WalletBonusUncheckedCreateWithoutCustomerInput[] connectOrCreate?: WalletBonusCreateOrConnectWithoutCustomerInput | WalletBonusCreateOrConnectWithoutCustomerInput[] upsert?: WalletBonusUpsertWithWhereUniqueWithoutCustomerInput | WalletBonusUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: WalletBonusCreateManyCustomerInputEnvelope set?: WalletBonusWhereUniqueInput | WalletBonusWhereUniqueInput[] disconnect?: WalletBonusWhereUniqueInput | WalletBonusWhereUniqueInput[] delete?: WalletBonusWhereUniqueInput | WalletBonusWhereUniqueInput[] connect?: WalletBonusWhereUniqueInput | WalletBonusWhereUniqueInput[] update?: WalletBonusUpdateWithWhereUniqueWithoutCustomerInput | WalletBonusUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: WalletBonusUpdateManyWithWhereWithoutCustomerInput | WalletBonusUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: WalletBonusScalarWhereInput | WalletBonusScalarWhereInput[] } export type CommentUncheckedUpdateManyWithoutCustomerNestedInput = { create?: XOR | CommentCreateWithoutCustomerInput[] | CommentUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CommentCreateOrConnectWithoutCustomerInput | CommentCreateOrConnectWithoutCustomerInput[] upsert?: CommentUpsertWithWhereUniqueWithoutCustomerInput | CommentUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: CommentCreateManyCustomerInputEnvelope set?: CommentWhereUniqueInput | CommentWhereUniqueInput[] disconnect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] delete?: CommentWhereUniqueInput | CommentWhereUniqueInput[] connect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] update?: CommentUpdateWithWhereUniqueWithoutCustomerInput | CommentUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: CommentUpdateManyWithWhereWithoutCustomerInput | CommentUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: CommentScalarWhereInput | CommentScalarWhereInput[] } export type PromotionUncheckedUpdateManyWithoutCustomerNestedInput = { create?: XOR | PromotionCreateWithoutCustomerInput[] | PromotionUncheckedCreateWithoutCustomerInput[] connectOrCreate?: PromotionCreateOrConnectWithoutCustomerInput | PromotionCreateOrConnectWithoutCustomerInput[] upsert?: PromotionUpsertWithWhereUniqueWithoutCustomerInput | PromotionUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: PromotionCreateManyCustomerInputEnvelope set?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] disconnect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] delete?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] update?: PromotionUpdateWithWhereUniqueWithoutCustomerInput | PromotionUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: PromotionUpdateManyWithWhereWithoutCustomerInput | PromotionUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: PromotionScalarWhereInput | PromotionScalarWhereInput[] } export type NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput = { create?: XOR | NotificationRecipientCreateWithoutCustomerInput[] | NotificationRecipientUncheckedCreateWithoutCustomerInput[] connectOrCreate?: NotificationRecipientCreateOrConnectWithoutCustomerInput | NotificationRecipientCreateOrConnectWithoutCustomerInput[] upsert?: NotificationRecipientUpsertWithWhereUniqueWithoutCustomerInput | NotificationRecipientUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: NotificationRecipientCreateManyCustomerInputEnvelope set?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] disconnect?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] delete?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] connect?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] update?: NotificationRecipientUpdateWithWhereUniqueWithoutCustomerInput | NotificationRecipientUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: NotificationRecipientUpdateManyWithWhereWithoutCustomerInput | NotificationRecipientUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: NotificationRecipientScalarWhereInput | NotificationRecipientScalarWhereInput[] } export type CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput = { create?: XOR | CustomerActivityLogCreateWithoutCustomerInput[] | CustomerActivityLogUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CustomerActivityLogCreateOrConnectWithoutCustomerInput | CustomerActivityLogCreateOrConnectWithoutCustomerInput[] upsert?: CustomerActivityLogUpsertWithWhereUniqueWithoutCustomerInput | CustomerActivityLogUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: CustomerActivityLogCreateManyCustomerInputEnvelope set?: CustomerActivityLogWhereUniqueInput | CustomerActivityLogWhereUniqueInput[] disconnect?: CustomerActivityLogWhereUniqueInput | CustomerActivityLogWhereUniqueInput[] delete?: CustomerActivityLogWhereUniqueInput | CustomerActivityLogWhereUniqueInput[] connect?: CustomerActivityLogWhereUniqueInput | CustomerActivityLogWhereUniqueInput[] update?: CustomerActivityLogUpdateWithWhereUniqueWithoutCustomerInput | CustomerActivityLogUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: CustomerActivityLogUpdateManyWithWhereWithoutCustomerInput | CustomerActivityLogUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: CustomerActivityLogScalarWhereInput | CustomerActivityLogScalarWhereInput[] } export type CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput = { create?: XOR | CustomerOtpCreateWithoutCustomerInput[] | CustomerOtpUncheckedCreateWithoutCustomerInput[] connectOrCreate?: CustomerOtpCreateOrConnectWithoutCustomerInput | CustomerOtpCreateOrConnectWithoutCustomerInput[] upsert?: CustomerOtpUpsertWithWhereUniqueWithoutCustomerInput | CustomerOtpUpsertWithWhereUniqueWithoutCustomerInput[] createMany?: CustomerOtpCreateManyCustomerInputEnvelope set?: CustomerOtpWhereUniqueInput | CustomerOtpWhereUniqueInput[] disconnect?: CustomerOtpWhereUniqueInput | CustomerOtpWhereUniqueInput[] delete?: CustomerOtpWhereUniqueInput | CustomerOtpWhereUniqueInput[] connect?: CustomerOtpWhereUniqueInput | CustomerOtpWhereUniqueInput[] update?: CustomerOtpUpdateWithWhereUniqueWithoutCustomerInput | CustomerOtpUpdateWithWhereUniqueWithoutCustomerInput[] updateMany?: CustomerOtpUpdateManyWithWhereWithoutCustomerInput | CustomerOtpUpdateManyWithWhereWithoutCustomerInput[] deleteMany?: CustomerOtpScalarWhereInput | CustomerOtpScalarWhereInput[] } export type CustomerCreateNestedOneWithoutAddressesInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutAddressesInput connect?: CustomerWhereUniqueInput } export type CityCreateNestedOneWithoutAddressesInput = { create?: XOR connectOrCreate?: CityCreateOrConnectWithoutAddressesInput connect?: CityWhereUniqueInput } export type CustomerUpdateOneRequiredWithoutAddressesNestedInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutAddressesInput upsert?: CustomerUpsertWithoutAddressesInput connect?: CustomerWhereUniqueInput update?: XOR, CustomerUncheckedUpdateWithoutAddressesInput> } export type CityUpdateOneWithoutAddressesNestedInput = { create?: XOR connectOrCreate?: CityCreateOrConnectWithoutAddressesInput upsert?: CityUpsertWithoutAddressesInput disconnect?: CityWhereInput | boolean delete?: CityWhereInput | boolean connect?: CityWhereUniqueInput update?: XOR, CityUncheckedUpdateWithoutAddressesInput> } export type CityCreateNestedOneWithoutBranchesInput = { create?: XOR connectOrCreate?: CityCreateOrConnectWithoutBranchesInput connect?: CityWhereUniqueInput } export type AdminUserCreateNestedManyWithoutBranchInput = { create?: XOR | AdminUserCreateWithoutBranchInput[] | AdminUserUncheckedCreateWithoutBranchInput[] connectOrCreate?: AdminUserCreateOrConnectWithoutBranchInput | AdminUserCreateOrConnectWithoutBranchInput[] createMany?: AdminUserCreateManyBranchInputEnvelope connect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] } export type OrderCreateNestedManyWithoutBranchInput = { create?: XOR | OrderCreateWithoutBranchInput[] | OrderUncheckedCreateWithoutBranchInput[] connectOrCreate?: OrderCreateOrConnectWithoutBranchInput | OrderCreateOrConnectWithoutBranchInput[] createMany?: OrderCreateManyBranchInputEnvelope connect?: OrderWhereUniqueInput | OrderWhereUniqueInput[] } export type BranchAllocationCreateNestedManyWithoutBranchInput = { create?: XOR | BranchAllocationCreateWithoutBranchInput[] | BranchAllocationUncheckedCreateWithoutBranchInput[] connectOrCreate?: BranchAllocationCreateOrConnectWithoutBranchInput | BranchAllocationCreateOrConnectWithoutBranchInput[] createMany?: BranchAllocationCreateManyBranchInputEnvelope connect?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] } export type AdminUserUncheckedCreateNestedManyWithoutBranchInput = { create?: XOR | AdminUserCreateWithoutBranchInput[] | AdminUserUncheckedCreateWithoutBranchInput[] connectOrCreate?: AdminUserCreateOrConnectWithoutBranchInput | AdminUserCreateOrConnectWithoutBranchInput[] createMany?: AdminUserCreateManyBranchInputEnvelope connect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] } export type OrderUncheckedCreateNestedManyWithoutBranchInput = { create?: XOR | OrderCreateWithoutBranchInput[] | OrderUncheckedCreateWithoutBranchInput[] connectOrCreate?: OrderCreateOrConnectWithoutBranchInput | OrderCreateOrConnectWithoutBranchInput[] createMany?: OrderCreateManyBranchInputEnvelope connect?: OrderWhereUniqueInput | OrderWhereUniqueInput[] } export type BranchAllocationUncheckedCreateNestedManyWithoutBranchInput = { create?: XOR | BranchAllocationCreateWithoutBranchInput[] | BranchAllocationUncheckedCreateWithoutBranchInput[] connectOrCreate?: BranchAllocationCreateOrConnectWithoutBranchInput | BranchAllocationCreateOrConnectWithoutBranchInput[] createMany?: BranchAllocationCreateManyBranchInputEnvelope connect?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] } export type CityUpdateOneWithoutBranchesNestedInput = { create?: XOR connectOrCreate?: CityCreateOrConnectWithoutBranchesInput upsert?: CityUpsertWithoutBranchesInput disconnect?: CityWhereInput | boolean delete?: CityWhereInput | boolean connect?: CityWhereUniqueInput update?: XOR, CityUncheckedUpdateWithoutBranchesInput> } export type AdminUserUpdateManyWithoutBranchNestedInput = { create?: XOR | AdminUserCreateWithoutBranchInput[] | AdminUserUncheckedCreateWithoutBranchInput[] connectOrCreate?: AdminUserCreateOrConnectWithoutBranchInput | AdminUserCreateOrConnectWithoutBranchInput[] upsert?: AdminUserUpsertWithWhereUniqueWithoutBranchInput | AdminUserUpsertWithWhereUniqueWithoutBranchInput[] createMany?: AdminUserCreateManyBranchInputEnvelope set?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] disconnect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] delete?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] connect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] update?: AdminUserUpdateWithWhereUniqueWithoutBranchInput | AdminUserUpdateWithWhereUniqueWithoutBranchInput[] updateMany?: AdminUserUpdateManyWithWhereWithoutBranchInput | AdminUserUpdateManyWithWhereWithoutBranchInput[] deleteMany?: AdminUserScalarWhereInput | AdminUserScalarWhereInput[] } export type OrderUpdateManyWithoutBranchNestedInput = { create?: XOR | OrderCreateWithoutBranchInput[] | OrderUncheckedCreateWithoutBranchInput[] connectOrCreate?: OrderCreateOrConnectWithoutBranchInput | OrderCreateOrConnectWithoutBranchInput[] upsert?: OrderUpsertWithWhereUniqueWithoutBranchInput | OrderUpsertWithWhereUniqueWithoutBranchInput[] createMany?: OrderCreateManyBranchInputEnvelope set?: OrderWhereUniqueInput | OrderWhereUniqueInput[] disconnect?: OrderWhereUniqueInput | OrderWhereUniqueInput[] delete?: OrderWhereUniqueInput | OrderWhereUniqueInput[] connect?: OrderWhereUniqueInput | OrderWhereUniqueInput[] update?: OrderUpdateWithWhereUniqueWithoutBranchInput | OrderUpdateWithWhereUniqueWithoutBranchInput[] updateMany?: OrderUpdateManyWithWhereWithoutBranchInput | OrderUpdateManyWithWhereWithoutBranchInput[] deleteMany?: OrderScalarWhereInput | OrderScalarWhereInput[] } export type BranchAllocationUpdateManyWithoutBranchNestedInput = { create?: XOR | BranchAllocationCreateWithoutBranchInput[] | BranchAllocationUncheckedCreateWithoutBranchInput[] connectOrCreate?: BranchAllocationCreateOrConnectWithoutBranchInput | BranchAllocationCreateOrConnectWithoutBranchInput[] upsert?: BranchAllocationUpsertWithWhereUniqueWithoutBranchInput | BranchAllocationUpsertWithWhereUniqueWithoutBranchInput[] createMany?: BranchAllocationCreateManyBranchInputEnvelope set?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] disconnect?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] delete?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] connect?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] update?: BranchAllocationUpdateWithWhereUniqueWithoutBranchInput | BranchAllocationUpdateWithWhereUniqueWithoutBranchInput[] updateMany?: BranchAllocationUpdateManyWithWhereWithoutBranchInput | BranchAllocationUpdateManyWithWhereWithoutBranchInput[] deleteMany?: BranchAllocationScalarWhereInput | BranchAllocationScalarWhereInput[] } export type AdminUserUncheckedUpdateManyWithoutBranchNestedInput = { create?: XOR | AdminUserCreateWithoutBranchInput[] | AdminUserUncheckedCreateWithoutBranchInput[] connectOrCreate?: AdminUserCreateOrConnectWithoutBranchInput | AdminUserCreateOrConnectWithoutBranchInput[] upsert?: AdminUserUpsertWithWhereUniqueWithoutBranchInput | AdminUserUpsertWithWhereUniqueWithoutBranchInput[] createMany?: AdminUserCreateManyBranchInputEnvelope set?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] disconnect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] delete?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] connect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] update?: AdminUserUpdateWithWhereUniqueWithoutBranchInput | AdminUserUpdateWithWhereUniqueWithoutBranchInput[] updateMany?: AdminUserUpdateManyWithWhereWithoutBranchInput | AdminUserUpdateManyWithWhereWithoutBranchInput[] deleteMany?: AdminUserScalarWhereInput | AdminUserScalarWhereInput[] } export type OrderUncheckedUpdateManyWithoutBranchNestedInput = { create?: XOR | OrderCreateWithoutBranchInput[] | OrderUncheckedCreateWithoutBranchInput[] connectOrCreate?: OrderCreateOrConnectWithoutBranchInput | OrderCreateOrConnectWithoutBranchInput[] upsert?: OrderUpsertWithWhereUniqueWithoutBranchInput | OrderUpsertWithWhereUniqueWithoutBranchInput[] createMany?: OrderCreateManyBranchInputEnvelope set?: OrderWhereUniqueInput | OrderWhereUniqueInput[] disconnect?: OrderWhereUniqueInput | OrderWhereUniqueInput[] delete?: OrderWhereUniqueInput | OrderWhereUniqueInput[] connect?: OrderWhereUniqueInput | OrderWhereUniqueInput[] update?: OrderUpdateWithWhereUniqueWithoutBranchInput | OrderUpdateWithWhereUniqueWithoutBranchInput[] updateMany?: OrderUpdateManyWithWhereWithoutBranchInput | OrderUpdateManyWithWhereWithoutBranchInput[] deleteMany?: OrderScalarWhereInput | OrderScalarWhereInput[] } export type BranchAllocationUncheckedUpdateManyWithoutBranchNestedInput = { create?: XOR | BranchAllocationCreateWithoutBranchInput[] | BranchAllocationUncheckedCreateWithoutBranchInput[] connectOrCreate?: BranchAllocationCreateOrConnectWithoutBranchInput | BranchAllocationCreateOrConnectWithoutBranchInput[] upsert?: BranchAllocationUpsertWithWhereUniqueWithoutBranchInput | BranchAllocationUpsertWithWhereUniqueWithoutBranchInput[] createMany?: BranchAllocationCreateManyBranchInputEnvelope set?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] disconnect?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] delete?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] connect?: BranchAllocationWhereUniqueInput | BranchAllocationWhereUniqueInput[] update?: BranchAllocationUpdateWithWhereUniqueWithoutBranchInput | BranchAllocationUpdateWithWhereUniqueWithoutBranchInput[] updateMany?: BranchAllocationUpdateManyWithWhereWithoutBranchInput | BranchAllocationUpdateManyWithWhereWithoutBranchInput[] deleteMany?: BranchAllocationScalarWhereInput | BranchAllocationScalarWhereInput[] } export type AdminUserCreateNestedOneWithoutSupervisedWorkshopsInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutSupervisedWorkshopsInput connect?: AdminUserWhereUniqueInput } export type PreOrderCreateNestedManyWithoutWorkshopInput = { create?: XOR | PreOrderCreateWithoutWorkshopInput[] | PreOrderUncheckedCreateWithoutWorkshopInput[] connectOrCreate?: PreOrderCreateOrConnectWithoutWorkshopInput | PreOrderCreateOrConnectWithoutWorkshopInput[] createMany?: PreOrderCreateManyWorkshopInputEnvelope connect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] } export type PreOrderUncheckedCreateNestedManyWithoutWorkshopInput = { create?: XOR | PreOrderCreateWithoutWorkshopInput[] | PreOrderUncheckedCreateWithoutWorkshopInput[] connectOrCreate?: PreOrderCreateOrConnectWithoutWorkshopInput | PreOrderCreateOrConnectWithoutWorkshopInput[] createMany?: PreOrderCreateManyWorkshopInputEnvelope connect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] } export type AdminUserUpdateOneWithoutSupervisedWorkshopsNestedInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutSupervisedWorkshopsInput upsert?: AdminUserUpsertWithoutSupervisedWorkshopsInput disconnect?: AdminUserWhereInput | boolean delete?: AdminUserWhereInput | boolean connect?: AdminUserWhereUniqueInput update?: XOR, AdminUserUncheckedUpdateWithoutSupervisedWorkshopsInput> } export type PreOrderUpdateManyWithoutWorkshopNestedInput = { create?: XOR | PreOrderCreateWithoutWorkshopInput[] | PreOrderUncheckedCreateWithoutWorkshopInput[] connectOrCreate?: PreOrderCreateOrConnectWithoutWorkshopInput | PreOrderCreateOrConnectWithoutWorkshopInput[] upsert?: PreOrderUpsertWithWhereUniqueWithoutWorkshopInput | PreOrderUpsertWithWhereUniqueWithoutWorkshopInput[] createMany?: PreOrderCreateManyWorkshopInputEnvelope set?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] disconnect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] delete?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] connect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] update?: PreOrderUpdateWithWhereUniqueWithoutWorkshopInput | PreOrderUpdateWithWhereUniqueWithoutWorkshopInput[] updateMany?: PreOrderUpdateManyWithWhereWithoutWorkshopInput | PreOrderUpdateManyWithWhereWithoutWorkshopInput[] deleteMany?: PreOrderScalarWhereInput | PreOrderScalarWhereInput[] } export type PreOrderUncheckedUpdateManyWithoutWorkshopNestedInput = { create?: XOR | PreOrderCreateWithoutWorkshopInput[] | PreOrderUncheckedCreateWithoutWorkshopInput[] connectOrCreate?: PreOrderCreateOrConnectWithoutWorkshopInput | PreOrderCreateOrConnectWithoutWorkshopInput[] upsert?: PreOrderUpsertWithWhereUniqueWithoutWorkshopInput | PreOrderUpsertWithWhereUniqueWithoutWorkshopInput[] createMany?: PreOrderCreateManyWorkshopInputEnvelope set?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] disconnect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] delete?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] connect?: PreOrderWhereUniqueInput | PreOrderWhereUniqueInput[] update?: PreOrderUpdateWithWhereUniqueWithoutWorkshopInput | PreOrderUpdateWithWhereUniqueWithoutWorkshopInput[] updateMany?: PreOrderUpdateManyWithWhereWithoutWorkshopInput | PreOrderUpdateManyWithWhereWithoutWorkshopInput[] deleteMany?: PreOrderScalarWhereInput | PreOrderScalarWhereInput[] } export type CategoryCreateNestedOneWithoutChildrenInput = { create?: XOR connectOrCreate?: CategoryCreateOrConnectWithoutChildrenInput connect?: CategoryWhereUniqueInput } export type CategoryCreateNestedManyWithoutParentInput = { create?: XOR | CategoryCreateWithoutParentInput[] | CategoryUncheckedCreateWithoutParentInput[] connectOrCreate?: CategoryCreateOrConnectWithoutParentInput | CategoryCreateOrConnectWithoutParentInput[] createMany?: CategoryCreateManyParentInputEnvelope connect?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] } export type ProductCreateNestedManyWithoutCategoryInput = { create?: XOR | ProductCreateWithoutCategoryInput[] | ProductUncheckedCreateWithoutCategoryInput[] connectOrCreate?: ProductCreateOrConnectWithoutCategoryInput | ProductCreateOrConnectWithoutCategoryInput[] createMany?: ProductCreateManyCategoryInputEnvelope connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] } export type PromotionCreateNestedManyWithoutCategoryInput = { create?: XOR | PromotionCreateWithoutCategoryInput[] | PromotionUncheckedCreateWithoutCategoryInput[] connectOrCreate?: PromotionCreateOrConnectWithoutCategoryInput | PromotionCreateOrConnectWithoutCategoryInput[] createMany?: PromotionCreateManyCategoryInputEnvelope connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] } export type CategoryUncheckedCreateNestedManyWithoutParentInput = { create?: XOR | CategoryCreateWithoutParentInput[] | CategoryUncheckedCreateWithoutParentInput[] connectOrCreate?: CategoryCreateOrConnectWithoutParentInput | CategoryCreateOrConnectWithoutParentInput[] createMany?: CategoryCreateManyParentInputEnvelope connect?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] } export type ProductUncheckedCreateNestedManyWithoutCategoryInput = { create?: XOR | ProductCreateWithoutCategoryInput[] | ProductUncheckedCreateWithoutCategoryInput[] connectOrCreate?: ProductCreateOrConnectWithoutCategoryInput | ProductCreateOrConnectWithoutCategoryInput[] createMany?: ProductCreateManyCategoryInputEnvelope connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] } export type PromotionUncheckedCreateNestedManyWithoutCategoryInput = { create?: XOR | PromotionCreateWithoutCategoryInput[] | PromotionUncheckedCreateWithoutCategoryInput[] connectOrCreate?: PromotionCreateOrConnectWithoutCategoryInput | PromotionCreateOrConnectWithoutCategoryInput[] createMany?: PromotionCreateManyCategoryInputEnvelope connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] } export type IntFieldUpdateOperationsInput = { set?: number increment?: number decrement?: number multiply?: number divide?: number } export type CategoryUpdateOneWithoutChildrenNestedInput = { create?: XOR connectOrCreate?: CategoryCreateOrConnectWithoutChildrenInput upsert?: CategoryUpsertWithoutChildrenInput disconnect?: CategoryWhereInput | boolean delete?: CategoryWhereInput | boolean connect?: CategoryWhereUniqueInput update?: XOR, CategoryUncheckedUpdateWithoutChildrenInput> } export type CategoryUpdateManyWithoutParentNestedInput = { create?: XOR | CategoryCreateWithoutParentInput[] | CategoryUncheckedCreateWithoutParentInput[] connectOrCreate?: CategoryCreateOrConnectWithoutParentInput | CategoryCreateOrConnectWithoutParentInput[] upsert?: CategoryUpsertWithWhereUniqueWithoutParentInput | CategoryUpsertWithWhereUniqueWithoutParentInput[] createMany?: CategoryCreateManyParentInputEnvelope set?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] disconnect?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] delete?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] connect?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] update?: CategoryUpdateWithWhereUniqueWithoutParentInput | CategoryUpdateWithWhereUniqueWithoutParentInput[] updateMany?: CategoryUpdateManyWithWhereWithoutParentInput | CategoryUpdateManyWithWhereWithoutParentInput[] deleteMany?: CategoryScalarWhereInput | CategoryScalarWhereInput[] } export type ProductUpdateManyWithoutCategoryNestedInput = { create?: XOR | ProductCreateWithoutCategoryInput[] | ProductUncheckedCreateWithoutCategoryInput[] connectOrCreate?: ProductCreateOrConnectWithoutCategoryInput | ProductCreateOrConnectWithoutCategoryInput[] upsert?: ProductUpsertWithWhereUniqueWithoutCategoryInput | ProductUpsertWithWhereUniqueWithoutCategoryInput[] createMany?: ProductCreateManyCategoryInputEnvelope set?: ProductWhereUniqueInput | ProductWhereUniqueInput[] disconnect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] delete?: ProductWhereUniqueInput | ProductWhereUniqueInput[] connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] update?: ProductUpdateWithWhereUniqueWithoutCategoryInput | ProductUpdateWithWhereUniqueWithoutCategoryInput[] updateMany?: ProductUpdateManyWithWhereWithoutCategoryInput | ProductUpdateManyWithWhereWithoutCategoryInput[] deleteMany?: ProductScalarWhereInput | ProductScalarWhereInput[] } export type PromotionUpdateManyWithoutCategoryNestedInput = { create?: XOR | PromotionCreateWithoutCategoryInput[] | PromotionUncheckedCreateWithoutCategoryInput[] connectOrCreate?: PromotionCreateOrConnectWithoutCategoryInput | PromotionCreateOrConnectWithoutCategoryInput[] upsert?: PromotionUpsertWithWhereUniqueWithoutCategoryInput | PromotionUpsertWithWhereUniqueWithoutCategoryInput[] createMany?: PromotionCreateManyCategoryInputEnvelope set?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] disconnect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] delete?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] update?: PromotionUpdateWithWhereUniqueWithoutCategoryInput | PromotionUpdateWithWhereUniqueWithoutCategoryInput[] updateMany?: PromotionUpdateManyWithWhereWithoutCategoryInput | PromotionUpdateManyWithWhereWithoutCategoryInput[] deleteMany?: PromotionScalarWhereInput | PromotionScalarWhereInput[] } export type CategoryUncheckedUpdateManyWithoutParentNestedInput = { create?: XOR | CategoryCreateWithoutParentInput[] | CategoryUncheckedCreateWithoutParentInput[] connectOrCreate?: CategoryCreateOrConnectWithoutParentInput | CategoryCreateOrConnectWithoutParentInput[] upsert?: CategoryUpsertWithWhereUniqueWithoutParentInput | CategoryUpsertWithWhereUniqueWithoutParentInput[] createMany?: CategoryCreateManyParentInputEnvelope set?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] disconnect?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] delete?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] connect?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] update?: CategoryUpdateWithWhereUniqueWithoutParentInput | CategoryUpdateWithWhereUniqueWithoutParentInput[] updateMany?: CategoryUpdateManyWithWhereWithoutParentInput | CategoryUpdateManyWithWhereWithoutParentInput[] deleteMany?: CategoryScalarWhereInput | CategoryScalarWhereInput[] } export type ProductUncheckedUpdateManyWithoutCategoryNestedInput = { create?: XOR | ProductCreateWithoutCategoryInput[] | ProductUncheckedCreateWithoutCategoryInput[] connectOrCreate?: ProductCreateOrConnectWithoutCategoryInput | ProductCreateOrConnectWithoutCategoryInput[] upsert?: ProductUpsertWithWhereUniqueWithoutCategoryInput | ProductUpsertWithWhereUniqueWithoutCategoryInput[] createMany?: ProductCreateManyCategoryInputEnvelope set?: ProductWhereUniqueInput | ProductWhereUniqueInput[] disconnect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] delete?: ProductWhereUniqueInput | ProductWhereUniqueInput[] connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] update?: ProductUpdateWithWhereUniqueWithoutCategoryInput | ProductUpdateWithWhereUniqueWithoutCategoryInput[] updateMany?: ProductUpdateManyWithWhereWithoutCategoryInput | ProductUpdateManyWithWhereWithoutCategoryInput[] deleteMany?: ProductScalarWhereInput | ProductScalarWhereInput[] } export type PromotionUncheckedUpdateManyWithoutCategoryNestedInput = { create?: XOR | PromotionCreateWithoutCategoryInput[] | PromotionUncheckedCreateWithoutCategoryInput[] connectOrCreate?: PromotionCreateOrConnectWithoutCategoryInput | PromotionCreateOrConnectWithoutCategoryInput[] upsert?: PromotionUpsertWithWhereUniqueWithoutCategoryInput | PromotionUpsertWithWhereUniqueWithoutCategoryInput[] createMany?: PromotionCreateManyCategoryInputEnvelope set?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] disconnect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] delete?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] update?: PromotionUpdateWithWhereUniqueWithoutCategoryInput | PromotionUpdateWithWhereUniqueWithoutCategoryInput[] updateMany?: PromotionUpdateManyWithWhereWithoutCategoryInput | PromotionUpdateManyWithWhereWithoutCategoryInput[] deleteMany?: PromotionScalarWhereInput | PromotionScalarWhereInput[] } export type ProductCreateNestedManyWithoutBrandInput = { create?: XOR | ProductCreateWithoutBrandInput[] | ProductUncheckedCreateWithoutBrandInput[] connectOrCreate?: ProductCreateOrConnectWithoutBrandInput | ProductCreateOrConnectWithoutBrandInput[] createMany?: ProductCreateManyBrandInputEnvelope connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] } export type PromotionCreateNestedManyWithoutBrandInput = { create?: XOR | PromotionCreateWithoutBrandInput[] | PromotionUncheckedCreateWithoutBrandInput[] connectOrCreate?: PromotionCreateOrConnectWithoutBrandInput | PromotionCreateOrConnectWithoutBrandInput[] createMany?: PromotionCreateManyBrandInputEnvelope connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] } export type ProductUncheckedCreateNestedManyWithoutBrandInput = { create?: XOR | ProductCreateWithoutBrandInput[] | ProductUncheckedCreateWithoutBrandInput[] connectOrCreate?: ProductCreateOrConnectWithoutBrandInput | ProductCreateOrConnectWithoutBrandInput[] createMany?: ProductCreateManyBrandInputEnvelope connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] } export type PromotionUncheckedCreateNestedManyWithoutBrandInput = { create?: XOR | PromotionCreateWithoutBrandInput[] | PromotionUncheckedCreateWithoutBrandInput[] connectOrCreate?: PromotionCreateOrConnectWithoutBrandInput | PromotionCreateOrConnectWithoutBrandInput[] createMany?: PromotionCreateManyBrandInputEnvelope connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] } export type ProductUpdateManyWithoutBrandNestedInput = { create?: XOR | ProductCreateWithoutBrandInput[] | ProductUncheckedCreateWithoutBrandInput[] connectOrCreate?: ProductCreateOrConnectWithoutBrandInput | ProductCreateOrConnectWithoutBrandInput[] upsert?: ProductUpsertWithWhereUniqueWithoutBrandInput | ProductUpsertWithWhereUniqueWithoutBrandInput[] createMany?: ProductCreateManyBrandInputEnvelope set?: ProductWhereUniqueInput | ProductWhereUniqueInput[] disconnect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] delete?: ProductWhereUniqueInput | ProductWhereUniqueInput[] connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] update?: ProductUpdateWithWhereUniqueWithoutBrandInput | ProductUpdateWithWhereUniqueWithoutBrandInput[] updateMany?: ProductUpdateManyWithWhereWithoutBrandInput | ProductUpdateManyWithWhereWithoutBrandInput[] deleteMany?: ProductScalarWhereInput | ProductScalarWhereInput[] } export type PromotionUpdateManyWithoutBrandNestedInput = { create?: XOR | PromotionCreateWithoutBrandInput[] | PromotionUncheckedCreateWithoutBrandInput[] connectOrCreate?: PromotionCreateOrConnectWithoutBrandInput | PromotionCreateOrConnectWithoutBrandInput[] upsert?: PromotionUpsertWithWhereUniqueWithoutBrandInput | PromotionUpsertWithWhereUniqueWithoutBrandInput[] createMany?: PromotionCreateManyBrandInputEnvelope set?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] disconnect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] delete?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] update?: PromotionUpdateWithWhereUniqueWithoutBrandInput | PromotionUpdateWithWhereUniqueWithoutBrandInput[] updateMany?: PromotionUpdateManyWithWhereWithoutBrandInput | PromotionUpdateManyWithWhereWithoutBrandInput[] deleteMany?: PromotionScalarWhereInput | PromotionScalarWhereInput[] } export type ProductUncheckedUpdateManyWithoutBrandNestedInput = { create?: XOR | ProductCreateWithoutBrandInput[] | ProductUncheckedCreateWithoutBrandInput[] connectOrCreate?: ProductCreateOrConnectWithoutBrandInput | ProductCreateOrConnectWithoutBrandInput[] upsert?: ProductUpsertWithWhereUniqueWithoutBrandInput | ProductUpsertWithWhereUniqueWithoutBrandInput[] createMany?: ProductCreateManyBrandInputEnvelope set?: ProductWhereUniqueInput | ProductWhereUniqueInput[] disconnect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] delete?: ProductWhereUniqueInput | ProductWhereUniqueInput[] connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] update?: ProductUpdateWithWhereUniqueWithoutBrandInput | ProductUpdateWithWhereUniqueWithoutBrandInput[] updateMany?: ProductUpdateManyWithWhereWithoutBrandInput | ProductUpdateManyWithWhereWithoutBrandInput[] deleteMany?: ProductScalarWhereInput | ProductScalarWhereInput[] } export type PromotionUncheckedUpdateManyWithoutBrandNestedInput = { create?: XOR | PromotionCreateWithoutBrandInput[] | PromotionUncheckedCreateWithoutBrandInput[] connectOrCreate?: PromotionCreateOrConnectWithoutBrandInput | PromotionCreateOrConnectWithoutBrandInput[] upsert?: PromotionUpsertWithWhereUniqueWithoutBrandInput | PromotionUpsertWithWhereUniqueWithoutBrandInput[] createMany?: PromotionCreateManyBrandInputEnvelope set?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] disconnect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] delete?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] update?: PromotionUpdateWithWhereUniqueWithoutBrandInput | PromotionUpdateWithWhereUniqueWithoutBrandInput[] updateMany?: PromotionUpdateManyWithWhereWithoutBrandInput | PromotionUpdateManyWithWhereWithoutBrandInput[] deleteMany?: PromotionScalarWhereInput | PromotionScalarWhereInput[] } export type CollectionProductCreateNestedManyWithoutCollectionInput = { create?: XOR | CollectionProductCreateWithoutCollectionInput[] | CollectionProductUncheckedCreateWithoutCollectionInput[] connectOrCreate?: CollectionProductCreateOrConnectWithoutCollectionInput | CollectionProductCreateOrConnectWithoutCollectionInput[] createMany?: CollectionProductCreateManyCollectionInputEnvelope connect?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] } export type CollectionProductUncheckedCreateNestedManyWithoutCollectionInput = { create?: XOR | CollectionProductCreateWithoutCollectionInput[] | CollectionProductUncheckedCreateWithoutCollectionInput[] connectOrCreate?: CollectionProductCreateOrConnectWithoutCollectionInput | CollectionProductCreateOrConnectWithoutCollectionInput[] createMany?: CollectionProductCreateManyCollectionInputEnvelope connect?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] } export type CollectionProductUpdateManyWithoutCollectionNestedInput = { create?: XOR | CollectionProductCreateWithoutCollectionInput[] | CollectionProductUncheckedCreateWithoutCollectionInput[] connectOrCreate?: CollectionProductCreateOrConnectWithoutCollectionInput | CollectionProductCreateOrConnectWithoutCollectionInput[] upsert?: CollectionProductUpsertWithWhereUniqueWithoutCollectionInput | CollectionProductUpsertWithWhereUniqueWithoutCollectionInput[] createMany?: CollectionProductCreateManyCollectionInputEnvelope set?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] disconnect?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] delete?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] connect?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] update?: CollectionProductUpdateWithWhereUniqueWithoutCollectionInput | CollectionProductUpdateWithWhereUniqueWithoutCollectionInput[] updateMany?: CollectionProductUpdateManyWithWhereWithoutCollectionInput | CollectionProductUpdateManyWithWhereWithoutCollectionInput[] deleteMany?: CollectionProductScalarWhereInput | CollectionProductScalarWhereInput[] } export type CollectionProductUncheckedUpdateManyWithoutCollectionNestedInput = { create?: XOR | CollectionProductCreateWithoutCollectionInput[] | CollectionProductUncheckedCreateWithoutCollectionInput[] connectOrCreate?: CollectionProductCreateOrConnectWithoutCollectionInput | CollectionProductCreateOrConnectWithoutCollectionInput[] upsert?: CollectionProductUpsertWithWhereUniqueWithoutCollectionInput | CollectionProductUpsertWithWhereUniqueWithoutCollectionInput[] createMany?: CollectionProductCreateManyCollectionInputEnvelope set?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] disconnect?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] delete?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] connect?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] update?: CollectionProductUpdateWithWhereUniqueWithoutCollectionInput | CollectionProductUpdateWithWhereUniqueWithoutCollectionInput[] updateMany?: CollectionProductUpdateManyWithWhereWithoutCollectionInput | CollectionProductUpdateManyWithWhereWithoutCollectionInput[] deleteMany?: CollectionProductScalarWhereInput | CollectionProductScalarWhereInput[] } export type CollectionCreateNestedOneWithoutProductsInput = { create?: XOR connectOrCreate?: CollectionCreateOrConnectWithoutProductsInput connect?: CollectionWhereUniqueInput } export type ProductCreateNestedOneWithoutCollectionsInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutCollectionsInput connect?: ProductWhereUniqueInput } export type CollectionUpdateOneRequiredWithoutProductsNestedInput = { create?: XOR connectOrCreate?: CollectionCreateOrConnectWithoutProductsInput upsert?: CollectionUpsertWithoutProductsInput connect?: CollectionWhereUniqueInput update?: XOR, CollectionUncheckedUpdateWithoutProductsInput> } export type ProductUpdateOneRequiredWithoutCollectionsNestedInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutCollectionsInput upsert?: ProductUpsertWithoutCollectionsInput connect?: ProductWhereUniqueInput update?: XOR, ProductUncheckedUpdateWithoutCollectionsInput> } export type CategoryCreateNestedOneWithoutProductsInput = { create?: XOR connectOrCreate?: CategoryCreateOrConnectWithoutProductsInput connect?: CategoryWhereUniqueInput } export type BrandCreateNestedOneWithoutProductsInput = { create?: XOR connectOrCreate?: BrandCreateOrConnectWithoutProductsInput connect?: BrandWhereUniqueInput } export type ProductVariantCreateNestedManyWithoutProductInput = { create?: XOR | ProductVariantCreateWithoutProductInput[] | ProductVariantUncheckedCreateWithoutProductInput[] connectOrCreate?: ProductVariantCreateOrConnectWithoutProductInput | ProductVariantCreateOrConnectWithoutProductInput[] createMany?: ProductVariantCreateManyProductInputEnvelope connect?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] } export type ProductImageCreateNestedManyWithoutProductInput = { create?: XOR | ProductImageCreateWithoutProductInput[] | ProductImageUncheckedCreateWithoutProductInput[] connectOrCreate?: ProductImageCreateOrConnectWithoutProductInput | ProductImageCreateOrConnectWithoutProductInput[] createMany?: ProductImageCreateManyProductInputEnvelope connect?: ProductImageWhereUniqueInput | ProductImageWhereUniqueInput[] } export type CollectionProductCreateNestedManyWithoutProductInput = { create?: XOR | CollectionProductCreateWithoutProductInput[] | CollectionProductUncheckedCreateWithoutProductInput[] connectOrCreate?: CollectionProductCreateOrConnectWithoutProductInput | CollectionProductCreateOrConnectWithoutProductInput[] createMany?: CollectionProductCreateManyProductInputEnvelope connect?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] } export type CommentCreateNestedManyWithoutProductInput = { create?: XOR | CommentCreateWithoutProductInput[] | CommentUncheckedCreateWithoutProductInput[] connectOrCreate?: CommentCreateOrConnectWithoutProductInput | CommentCreateOrConnectWithoutProductInput[] createMany?: CommentCreateManyProductInputEnvelope connect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] } export type PromotionCreateNestedManyWithoutProductInput = { create?: XOR | PromotionCreateWithoutProductInput[] | PromotionUncheckedCreateWithoutProductInput[] connectOrCreate?: PromotionCreateOrConnectWithoutProductInput | PromotionCreateOrConnectWithoutProductInput[] createMany?: PromotionCreateManyProductInputEnvelope connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] } export type BranchAllocationItemCreateNestedManyWithoutProductInput = { create?: XOR | BranchAllocationItemCreateWithoutProductInput[] | BranchAllocationItemUncheckedCreateWithoutProductInput[] connectOrCreate?: BranchAllocationItemCreateOrConnectWithoutProductInput | BranchAllocationItemCreateOrConnectWithoutProductInput[] createMany?: BranchAllocationItemCreateManyProductInputEnvelope connect?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] } export type ProductVariantUncheckedCreateNestedManyWithoutProductInput = { create?: XOR | ProductVariantCreateWithoutProductInput[] | ProductVariantUncheckedCreateWithoutProductInput[] connectOrCreate?: ProductVariantCreateOrConnectWithoutProductInput | ProductVariantCreateOrConnectWithoutProductInput[] createMany?: ProductVariantCreateManyProductInputEnvelope connect?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] } export type ProductImageUncheckedCreateNestedManyWithoutProductInput = { create?: XOR | ProductImageCreateWithoutProductInput[] | ProductImageUncheckedCreateWithoutProductInput[] connectOrCreate?: ProductImageCreateOrConnectWithoutProductInput | ProductImageCreateOrConnectWithoutProductInput[] createMany?: ProductImageCreateManyProductInputEnvelope connect?: ProductImageWhereUniqueInput | ProductImageWhereUniqueInput[] } export type CollectionProductUncheckedCreateNestedManyWithoutProductInput = { create?: XOR | CollectionProductCreateWithoutProductInput[] | CollectionProductUncheckedCreateWithoutProductInput[] connectOrCreate?: CollectionProductCreateOrConnectWithoutProductInput | CollectionProductCreateOrConnectWithoutProductInput[] createMany?: CollectionProductCreateManyProductInputEnvelope connect?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] } export type CommentUncheckedCreateNestedManyWithoutProductInput = { create?: XOR | CommentCreateWithoutProductInput[] | CommentUncheckedCreateWithoutProductInput[] connectOrCreate?: CommentCreateOrConnectWithoutProductInput | CommentCreateOrConnectWithoutProductInput[] createMany?: CommentCreateManyProductInputEnvelope connect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] } export type PromotionUncheckedCreateNestedManyWithoutProductInput = { create?: XOR | PromotionCreateWithoutProductInput[] | PromotionUncheckedCreateWithoutProductInput[] connectOrCreate?: PromotionCreateOrConnectWithoutProductInput | PromotionCreateOrConnectWithoutProductInput[] createMany?: PromotionCreateManyProductInputEnvelope connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] } export type BranchAllocationItemUncheckedCreateNestedManyWithoutProductInput = { create?: XOR | BranchAllocationItemCreateWithoutProductInput[] | BranchAllocationItemUncheckedCreateWithoutProductInput[] connectOrCreate?: BranchAllocationItemCreateOrConnectWithoutProductInput | BranchAllocationItemCreateOrConnectWithoutProductInput[] createMany?: BranchAllocationItemCreateManyProductInputEnvelope connect?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] } export type CategoryUpdateOneWithoutProductsNestedInput = { create?: XOR connectOrCreate?: CategoryCreateOrConnectWithoutProductsInput upsert?: CategoryUpsertWithoutProductsInput disconnect?: CategoryWhereInput | boolean delete?: CategoryWhereInput | boolean connect?: CategoryWhereUniqueInput update?: XOR, CategoryUncheckedUpdateWithoutProductsInput> } export type BrandUpdateOneWithoutProductsNestedInput = { create?: XOR connectOrCreate?: BrandCreateOrConnectWithoutProductsInput upsert?: BrandUpsertWithoutProductsInput disconnect?: BrandWhereInput | boolean delete?: BrandWhereInput | boolean connect?: BrandWhereUniqueInput update?: XOR, BrandUncheckedUpdateWithoutProductsInput> } export type ProductVariantUpdateManyWithoutProductNestedInput = { create?: XOR | ProductVariantCreateWithoutProductInput[] | ProductVariantUncheckedCreateWithoutProductInput[] connectOrCreate?: ProductVariantCreateOrConnectWithoutProductInput | ProductVariantCreateOrConnectWithoutProductInput[] upsert?: ProductVariantUpsertWithWhereUniqueWithoutProductInput | ProductVariantUpsertWithWhereUniqueWithoutProductInput[] createMany?: ProductVariantCreateManyProductInputEnvelope set?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] disconnect?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] delete?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] connect?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] update?: ProductVariantUpdateWithWhereUniqueWithoutProductInput | ProductVariantUpdateWithWhereUniqueWithoutProductInput[] updateMany?: ProductVariantUpdateManyWithWhereWithoutProductInput | ProductVariantUpdateManyWithWhereWithoutProductInput[] deleteMany?: ProductVariantScalarWhereInput | ProductVariantScalarWhereInput[] } export type ProductImageUpdateManyWithoutProductNestedInput = { create?: XOR | ProductImageCreateWithoutProductInput[] | ProductImageUncheckedCreateWithoutProductInput[] connectOrCreate?: ProductImageCreateOrConnectWithoutProductInput | ProductImageCreateOrConnectWithoutProductInput[] upsert?: ProductImageUpsertWithWhereUniqueWithoutProductInput | ProductImageUpsertWithWhereUniqueWithoutProductInput[] createMany?: ProductImageCreateManyProductInputEnvelope set?: ProductImageWhereUniqueInput | ProductImageWhereUniqueInput[] disconnect?: ProductImageWhereUniqueInput | ProductImageWhereUniqueInput[] delete?: ProductImageWhereUniqueInput | ProductImageWhereUniqueInput[] connect?: ProductImageWhereUniqueInput | ProductImageWhereUniqueInput[] update?: ProductImageUpdateWithWhereUniqueWithoutProductInput | ProductImageUpdateWithWhereUniqueWithoutProductInput[] updateMany?: ProductImageUpdateManyWithWhereWithoutProductInput | ProductImageUpdateManyWithWhereWithoutProductInput[] deleteMany?: ProductImageScalarWhereInput | ProductImageScalarWhereInput[] } export type CollectionProductUpdateManyWithoutProductNestedInput = { create?: XOR | CollectionProductCreateWithoutProductInput[] | CollectionProductUncheckedCreateWithoutProductInput[] connectOrCreate?: CollectionProductCreateOrConnectWithoutProductInput | CollectionProductCreateOrConnectWithoutProductInput[] upsert?: CollectionProductUpsertWithWhereUniqueWithoutProductInput | CollectionProductUpsertWithWhereUniqueWithoutProductInput[] createMany?: CollectionProductCreateManyProductInputEnvelope set?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] disconnect?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] delete?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] connect?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] update?: CollectionProductUpdateWithWhereUniqueWithoutProductInput | CollectionProductUpdateWithWhereUniqueWithoutProductInput[] updateMany?: CollectionProductUpdateManyWithWhereWithoutProductInput | CollectionProductUpdateManyWithWhereWithoutProductInput[] deleteMany?: CollectionProductScalarWhereInput | CollectionProductScalarWhereInput[] } export type CommentUpdateManyWithoutProductNestedInput = { create?: XOR | CommentCreateWithoutProductInput[] | CommentUncheckedCreateWithoutProductInput[] connectOrCreate?: CommentCreateOrConnectWithoutProductInput | CommentCreateOrConnectWithoutProductInput[] upsert?: CommentUpsertWithWhereUniqueWithoutProductInput | CommentUpsertWithWhereUniqueWithoutProductInput[] createMany?: CommentCreateManyProductInputEnvelope set?: CommentWhereUniqueInput | CommentWhereUniqueInput[] disconnect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] delete?: CommentWhereUniqueInput | CommentWhereUniqueInput[] connect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] update?: CommentUpdateWithWhereUniqueWithoutProductInput | CommentUpdateWithWhereUniqueWithoutProductInput[] updateMany?: CommentUpdateManyWithWhereWithoutProductInput | CommentUpdateManyWithWhereWithoutProductInput[] deleteMany?: CommentScalarWhereInput | CommentScalarWhereInput[] } export type PromotionUpdateManyWithoutProductNestedInput = { create?: XOR | PromotionCreateWithoutProductInput[] | PromotionUncheckedCreateWithoutProductInput[] connectOrCreate?: PromotionCreateOrConnectWithoutProductInput | PromotionCreateOrConnectWithoutProductInput[] upsert?: PromotionUpsertWithWhereUniqueWithoutProductInput | PromotionUpsertWithWhereUniqueWithoutProductInput[] createMany?: PromotionCreateManyProductInputEnvelope set?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] disconnect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] delete?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] update?: PromotionUpdateWithWhereUniqueWithoutProductInput | PromotionUpdateWithWhereUniqueWithoutProductInput[] updateMany?: PromotionUpdateManyWithWhereWithoutProductInput | PromotionUpdateManyWithWhereWithoutProductInput[] deleteMany?: PromotionScalarWhereInput | PromotionScalarWhereInput[] } export type BranchAllocationItemUpdateManyWithoutProductNestedInput = { create?: XOR | BranchAllocationItemCreateWithoutProductInput[] | BranchAllocationItemUncheckedCreateWithoutProductInput[] connectOrCreate?: BranchAllocationItemCreateOrConnectWithoutProductInput | BranchAllocationItemCreateOrConnectWithoutProductInput[] upsert?: BranchAllocationItemUpsertWithWhereUniqueWithoutProductInput | BranchAllocationItemUpsertWithWhereUniqueWithoutProductInput[] createMany?: BranchAllocationItemCreateManyProductInputEnvelope set?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] disconnect?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] delete?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] connect?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] update?: BranchAllocationItemUpdateWithWhereUniqueWithoutProductInput | BranchAllocationItemUpdateWithWhereUniqueWithoutProductInput[] updateMany?: BranchAllocationItemUpdateManyWithWhereWithoutProductInput | BranchAllocationItemUpdateManyWithWhereWithoutProductInput[] deleteMany?: BranchAllocationItemScalarWhereInput | BranchAllocationItemScalarWhereInput[] } export type ProductVariantUncheckedUpdateManyWithoutProductNestedInput = { create?: XOR | ProductVariantCreateWithoutProductInput[] | ProductVariantUncheckedCreateWithoutProductInput[] connectOrCreate?: ProductVariantCreateOrConnectWithoutProductInput | ProductVariantCreateOrConnectWithoutProductInput[] upsert?: ProductVariantUpsertWithWhereUniqueWithoutProductInput | ProductVariantUpsertWithWhereUniqueWithoutProductInput[] createMany?: ProductVariantCreateManyProductInputEnvelope set?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] disconnect?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] delete?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] connect?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] update?: ProductVariantUpdateWithWhereUniqueWithoutProductInput | ProductVariantUpdateWithWhereUniqueWithoutProductInput[] updateMany?: ProductVariantUpdateManyWithWhereWithoutProductInput | ProductVariantUpdateManyWithWhereWithoutProductInput[] deleteMany?: ProductVariantScalarWhereInput | ProductVariantScalarWhereInput[] } export type ProductImageUncheckedUpdateManyWithoutProductNestedInput = { create?: XOR | ProductImageCreateWithoutProductInput[] | ProductImageUncheckedCreateWithoutProductInput[] connectOrCreate?: ProductImageCreateOrConnectWithoutProductInput | ProductImageCreateOrConnectWithoutProductInput[] upsert?: ProductImageUpsertWithWhereUniqueWithoutProductInput | ProductImageUpsertWithWhereUniqueWithoutProductInput[] createMany?: ProductImageCreateManyProductInputEnvelope set?: ProductImageWhereUniqueInput | ProductImageWhereUniqueInput[] disconnect?: ProductImageWhereUniqueInput | ProductImageWhereUniqueInput[] delete?: ProductImageWhereUniqueInput | ProductImageWhereUniqueInput[] connect?: ProductImageWhereUniqueInput | ProductImageWhereUniqueInput[] update?: ProductImageUpdateWithWhereUniqueWithoutProductInput | ProductImageUpdateWithWhereUniqueWithoutProductInput[] updateMany?: ProductImageUpdateManyWithWhereWithoutProductInput | ProductImageUpdateManyWithWhereWithoutProductInput[] deleteMany?: ProductImageScalarWhereInput | ProductImageScalarWhereInput[] } export type CollectionProductUncheckedUpdateManyWithoutProductNestedInput = { create?: XOR | CollectionProductCreateWithoutProductInput[] | CollectionProductUncheckedCreateWithoutProductInput[] connectOrCreate?: CollectionProductCreateOrConnectWithoutProductInput | CollectionProductCreateOrConnectWithoutProductInput[] upsert?: CollectionProductUpsertWithWhereUniqueWithoutProductInput | CollectionProductUpsertWithWhereUniqueWithoutProductInput[] createMany?: CollectionProductCreateManyProductInputEnvelope set?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] disconnect?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] delete?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] connect?: CollectionProductWhereUniqueInput | CollectionProductWhereUniqueInput[] update?: CollectionProductUpdateWithWhereUniqueWithoutProductInput | CollectionProductUpdateWithWhereUniqueWithoutProductInput[] updateMany?: CollectionProductUpdateManyWithWhereWithoutProductInput | CollectionProductUpdateManyWithWhereWithoutProductInput[] deleteMany?: CollectionProductScalarWhereInput | CollectionProductScalarWhereInput[] } export type CommentUncheckedUpdateManyWithoutProductNestedInput = { create?: XOR | CommentCreateWithoutProductInput[] | CommentUncheckedCreateWithoutProductInput[] connectOrCreate?: CommentCreateOrConnectWithoutProductInput | CommentCreateOrConnectWithoutProductInput[] upsert?: CommentUpsertWithWhereUniqueWithoutProductInput | CommentUpsertWithWhereUniqueWithoutProductInput[] createMany?: CommentCreateManyProductInputEnvelope set?: CommentWhereUniqueInput | CommentWhereUniqueInput[] disconnect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] delete?: CommentWhereUniqueInput | CommentWhereUniqueInput[] connect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] update?: CommentUpdateWithWhereUniqueWithoutProductInput | CommentUpdateWithWhereUniqueWithoutProductInput[] updateMany?: CommentUpdateManyWithWhereWithoutProductInput | CommentUpdateManyWithWhereWithoutProductInput[] deleteMany?: CommentScalarWhereInput | CommentScalarWhereInput[] } export type PromotionUncheckedUpdateManyWithoutProductNestedInput = { create?: XOR | PromotionCreateWithoutProductInput[] | PromotionUncheckedCreateWithoutProductInput[] connectOrCreate?: PromotionCreateOrConnectWithoutProductInput | PromotionCreateOrConnectWithoutProductInput[] upsert?: PromotionUpsertWithWhereUniqueWithoutProductInput | PromotionUpsertWithWhereUniqueWithoutProductInput[] createMany?: PromotionCreateManyProductInputEnvelope set?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] disconnect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] delete?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] connect?: PromotionWhereUniqueInput | PromotionWhereUniqueInput[] update?: PromotionUpdateWithWhereUniqueWithoutProductInput | PromotionUpdateWithWhereUniqueWithoutProductInput[] updateMany?: PromotionUpdateManyWithWhereWithoutProductInput | PromotionUpdateManyWithWhereWithoutProductInput[] deleteMany?: PromotionScalarWhereInput | PromotionScalarWhereInput[] } export type BranchAllocationItemUncheckedUpdateManyWithoutProductNestedInput = { create?: XOR | BranchAllocationItemCreateWithoutProductInput[] | BranchAllocationItemUncheckedCreateWithoutProductInput[] connectOrCreate?: BranchAllocationItemCreateOrConnectWithoutProductInput | BranchAllocationItemCreateOrConnectWithoutProductInput[] upsert?: BranchAllocationItemUpsertWithWhereUniqueWithoutProductInput | BranchAllocationItemUpsertWithWhereUniqueWithoutProductInput[] createMany?: BranchAllocationItemCreateManyProductInputEnvelope set?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] disconnect?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] delete?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] connect?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] update?: BranchAllocationItemUpdateWithWhereUniqueWithoutProductInput | BranchAllocationItemUpdateWithWhereUniqueWithoutProductInput[] updateMany?: BranchAllocationItemUpdateManyWithWhereWithoutProductInput | BranchAllocationItemUpdateManyWithWhereWithoutProductInput[] deleteMany?: BranchAllocationItemScalarWhereInput | BranchAllocationItemScalarWhereInput[] } export type ProductCreateNestedOneWithoutImagesInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutImagesInput connect?: ProductWhereUniqueInput } export type ProductVariantCreateNestedManyWithoutImageInput = { create?: XOR | ProductVariantCreateWithoutImageInput[] | ProductVariantUncheckedCreateWithoutImageInput[] connectOrCreate?: ProductVariantCreateOrConnectWithoutImageInput | ProductVariantCreateOrConnectWithoutImageInput[] createMany?: ProductVariantCreateManyImageInputEnvelope connect?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] } export type ProductVariantUncheckedCreateNestedManyWithoutImageInput = { create?: XOR | ProductVariantCreateWithoutImageInput[] | ProductVariantUncheckedCreateWithoutImageInput[] connectOrCreate?: ProductVariantCreateOrConnectWithoutImageInput | ProductVariantCreateOrConnectWithoutImageInput[] createMany?: ProductVariantCreateManyImageInputEnvelope connect?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] } export type EnumProductImageRoleFieldUpdateOperationsInput = { set?: $Enums.ProductImageRole } export type ProductUpdateOneRequiredWithoutImagesNestedInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutImagesInput upsert?: ProductUpsertWithoutImagesInput connect?: ProductWhereUniqueInput update?: XOR, ProductUncheckedUpdateWithoutImagesInput> } export type ProductVariantUpdateManyWithoutImageNestedInput = { create?: XOR | ProductVariantCreateWithoutImageInput[] | ProductVariantUncheckedCreateWithoutImageInput[] connectOrCreate?: ProductVariantCreateOrConnectWithoutImageInput | ProductVariantCreateOrConnectWithoutImageInput[] upsert?: ProductVariantUpsertWithWhereUniqueWithoutImageInput | ProductVariantUpsertWithWhereUniqueWithoutImageInput[] createMany?: ProductVariantCreateManyImageInputEnvelope set?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] disconnect?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] delete?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] connect?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] update?: ProductVariantUpdateWithWhereUniqueWithoutImageInput | ProductVariantUpdateWithWhereUniqueWithoutImageInput[] updateMany?: ProductVariantUpdateManyWithWhereWithoutImageInput | ProductVariantUpdateManyWithWhereWithoutImageInput[] deleteMany?: ProductVariantScalarWhereInput | ProductVariantScalarWhereInput[] } export type ProductVariantUncheckedUpdateManyWithoutImageNestedInput = { create?: XOR | ProductVariantCreateWithoutImageInput[] | ProductVariantUncheckedCreateWithoutImageInput[] connectOrCreate?: ProductVariantCreateOrConnectWithoutImageInput | ProductVariantCreateOrConnectWithoutImageInput[] upsert?: ProductVariantUpsertWithWhereUniqueWithoutImageInput | ProductVariantUpsertWithWhereUniqueWithoutImageInput[] createMany?: ProductVariantCreateManyImageInputEnvelope set?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] disconnect?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] delete?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] connect?: ProductVariantWhereUniqueInput | ProductVariantWhereUniqueInput[] update?: ProductVariantUpdateWithWhereUniqueWithoutImageInput | ProductVariantUpdateWithWhereUniqueWithoutImageInput[] updateMany?: ProductVariantUpdateManyWithWhereWithoutImageInput | ProductVariantUpdateManyWithWhereWithoutImageInput[] deleteMany?: ProductVariantScalarWhereInput | ProductVariantScalarWhereInput[] } export type ProductCreateNestedOneWithoutVariantsInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutVariantsInput connect?: ProductWhereUniqueInput } export type ProductImageCreateNestedOneWithoutVariantsInput = { create?: XOR connectOrCreate?: ProductImageCreateOrConnectWithoutVariantsInput connect?: ProductImageWhereUniqueInput } export type OrderItemCreateNestedManyWithoutProductVariantInput = { create?: XOR | OrderItemCreateWithoutProductVariantInput[] | OrderItemUncheckedCreateWithoutProductVariantInput[] connectOrCreate?: OrderItemCreateOrConnectWithoutProductVariantInput | OrderItemCreateOrConnectWithoutProductVariantInput[] createMany?: OrderItemCreateManyProductVariantInputEnvelope connect?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] } export type OrderItemUncheckedCreateNestedManyWithoutProductVariantInput = { create?: XOR | OrderItemCreateWithoutProductVariantInput[] | OrderItemUncheckedCreateWithoutProductVariantInput[] connectOrCreate?: OrderItemCreateOrConnectWithoutProductVariantInput | OrderItemCreateOrConnectWithoutProductVariantInput[] createMany?: OrderItemCreateManyProductVariantInputEnvelope connect?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] } export type ProductUpdateOneRequiredWithoutVariantsNestedInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutVariantsInput upsert?: ProductUpsertWithoutVariantsInput connect?: ProductWhereUniqueInput update?: XOR, ProductUncheckedUpdateWithoutVariantsInput> } export type ProductImageUpdateOneWithoutVariantsNestedInput = { create?: XOR connectOrCreate?: ProductImageCreateOrConnectWithoutVariantsInput upsert?: ProductImageUpsertWithoutVariantsInput disconnect?: ProductImageWhereInput | boolean delete?: ProductImageWhereInput | boolean connect?: ProductImageWhereUniqueInput update?: XOR, ProductImageUncheckedUpdateWithoutVariantsInput> } export type OrderItemUpdateManyWithoutProductVariantNestedInput = { create?: XOR | OrderItemCreateWithoutProductVariantInput[] | OrderItemUncheckedCreateWithoutProductVariantInput[] connectOrCreate?: OrderItemCreateOrConnectWithoutProductVariantInput | OrderItemCreateOrConnectWithoutProductVariantInput[] upsert?: OrderItemUpsertWithWhereUniqueWithoutProductVariantInput | OrderItemUpsertWithWhereUniqueWithoutProductVariantInput[] createMany?: OrderItemCreateManyProductVariantInputEnvelope set?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] disconnect?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] delete?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] connect?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] update?: OrderItemUpdateWithWhereUniqueWithoutProductVariantInput | OrderItemUpdateWithWhereUniqueWithoutProductVariantInput[] updateMany?: OrderItemUpdateManyWithWhereWithoutProductVariantInput | OrderItemUpdateManyWithWhereWithoutProductVariantInput[] deleteMany?: OrderItemScalarWhereInput | OrderItemScalarWhereInput[] } export type OrderItemUncheckedUpdateManyWithoutProductVariantNestedInput = { create?: XOR | OrderItemCreateWithoutProductVariantInput[] | OrderItemUncheckedCreateWithoutProductVariantInput[] connectOrCreate?: OrderItemCreateOrConnectWithoutProductVariantInput | OrderItemCreateOrConnectWithoutProductVariantInput[] upsert?: OrderItemUpsertWithWhereUniqueWithoutProductVariantInput | OrderItemUpsertWithWhereUniqueWithoutProductVariantInput[] createMany?: OrderItemCreateManyProductVariantInputEnvelope set?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] disconnect?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] delete?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] connect?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] update?: OrderItemUpdateWithWhereUniqueWithoutProductVariantInput | OrderItemUpdateWithWhereUniqueWithoutProductVariantInput[] updateMany?: OrderItemUpdateManyWithWhereWithoutProductVariantInput | OrderItemUpdateManyWithWhereWithoutProductVariantInput[] deleteMany?: OrderItemScalarWhereInput | OrderItemScalarWhereInput[] } export type CustomerCreateNestedOneWithoutOrdersInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutOrdersInput connect?: CustomerWhereUniqueInput } export type BranchCreateNestedOneWithoutOrdersInput = { create?: XOR connectOrCreate?: BranchCreateOrConnectWithoutOrdersInput connect?: BranchWhereUniqueInput } export type OrderItemCreateNestedManyWithoutOrderInput = { create?: XOR | OrderItemCreateWithoutOrderInput[] | OrderItemUncheckedCreateWithoutOrderInput[] connectOrCreate?: OrderItemCreateOrConnectWithoutOrderInput | OrderItemCreateOrConnectWithoutOrderInput[] createMany?: OrderItemCreateManyOrderInputEnvelope connect?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] } export type OrderStatusEventCreateNestedManyWithoutOrderInput = { create?: XOR | OrderStatusEventCreateWithoutOrderInput[] | OrderStatusEventUncheckedCreateWithoutOrderInput[] connectOrCreate?: OrderStatusEventCreateOrConnectWithoutOrderInput | OrderStatusEventCreateOrConnectWithoutOrderInput[] createMany?: OrderStatusEventCreateManyOrderInputEnvelope connect?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] } export type LedgerEntryCreateNestedManyWithoutOrderInput = { create?: XOR | LedgerEntryCreateWithoutOrderInput[] | LedgerEntryUncheckedCreateWithoutOrderInput[] connectOrCreate?: LedgerEntryCreateOrConnectWithoutOrderInput | LedgerEntryCreateOrConnectWithoutOrderInput[] createMany?: LedgerEntryCreateManyOrderInputEnvelope connect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] } export type PreOrderCreateNestedOneWithoutConvertedOrderInput = { create?: XOR connectOrCreate?: PreOrderCreateOrConnectWithoutConvertedOrderInput connect?: PreOrderWhereUniqueInput } export type OrderItemUncheckedCreateNestedManyWithoutOrderInput = { create?: XOR | OrderItemCreateWithoutOrderInput[] | OrderItemUncheckedCreateWithoutOrderInput[] connectOrCreate?: OrderItemCreateOrConnectWithoutOrderInput | OrderItemCreateOrConnectWithoutOrderInput[] createMany?: OrderItemCreateManyOrderInputEnvelope connect?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] } export type OrderStatusEventUncheckedCreateNestedManyWithoutOrderInput = { create?: XOR | OrderStatusEventCreateWithoutOrderInput[] | OrderStatusEventUncheckedCreateWithoutOrderInput[] connectOrCreate?: OrderStatusEventCreateOrConnectWithoutOrderInput | OrderStatusEventCreateOrConnectWithoutOrderInput[] createMany?: OrderStatusEventCreateManyOrderInputEnvelope connect?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] } export type LedgerEntryUncheckedCreateNestedManyWithoutOrderInput = { create?: XOR | LedgerEntryCreateWithoutOrderInput[] | LedgerEntryUncheckedCreateWithoutOrderInput[] connectOrCreate?: LedgerEntryCreateOrConnectWithoutOrderInput | LedgerEntryCreateOrConnectWithoutOrderInput[] createMany?: LedgerEntryCreateManyOrderInputEnvelope connect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] } export type PreOrderUncheckedCreateNestedOneWithoutConvertedOrderInput = { create?: XOR connectOrCreate?: PreOrderCreateOrConnectWithoutConvertedOrderInput connect?: PreOrderWhereUniqueInput } export type EnumOrderChannelFieldUpdateOperationsInput = { set?: $Enums.OrderChannel } export type EnumOrderStatusFieldUpdateOperationsInput = { set?: $Enums.OrderStatus } export type CustomerUpdateOneRequiredWithoutOrdersNestedInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutOrdersInput upsert?: CustomerUpsertWithoutOrdersInput connect?: CustomerWhereUniqueInput update?: XOR, CustomerUncheckedUpdateWithoutOrdersInput> } export type BranchUpdateOneWithoutOrdersNestedInput = { create?: XOR connectOrCreate?: BranchCreateOrConnectWithoutOrdersInput upsert?: BranchUpsertWithoutOrdersInput disconnect?: BranchWhereInput | boolean delete?: BranchWhereInput | boolean connect?: BranchWhereUniqueInput update?: XOR, BranchUncheckedUpdateWithoutOrdersInput> } export type OrderItemUpdateManyWithoutOrderNestedInput = { create?: XOR | OrderItemCreateWithoutOrderInput[] | OrderItemUncheckedCreateWithoutOrderInput[] connectOrCreate?: OrderItemCreateOrConnectWithoutOrderInput | OrderItemCreateOrConnectWithoutOrderInput[] upsert?: OrderItemUpsertWithWhereUniqueWithoutOrderInput | OrderItemUpsertWithWhereUniqueWithoutOrderInput[] createMany?: OrderItemCreateManyOrderInputEnvelope set?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] disconnect?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] delete?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] connect?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] update?: OrderItemUpdateWithWhereUniqueWithoutOrderInput | OrderItemUpdateWithWhereUniqueWithoutOrderInput[] updateMany?: OrderItemUpdateManyWithWhereWithoutOrderInput | OrderItemUpdateManyWithWhereWithoutOrderInput[] deleteMany?: OrderItemScalarWhereInput | OrderItemScalarWhereInput[] } export type OrderStatusEventUpdateManyWithoutOrderNestedInput = { create?: XOR | OrderStatusEventCreateWithoutOrderInput[] | OrderStatusEventUncheckedCreateWithoutOrderInput[] connectOrCreate?: OrderStatusEventCreateOrConnectWithoutOrderInput | OrderStatusEventCreateOrConnectWithoutOrderInput[] upsert?: OrderStatusEventUpsertWithWhereUniqueWithoutOrderInput | OrderStatusEventUpsertWithWhereUniqueWithoutOrderInput[] createMany?: OrderStatusEventCreateManyOrderInputEnvelope set?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] disconnect?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] delete?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] connect?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] update?: OrderStatusEventUpdateWithWhereUniqueWithoutOrderInput | OrderStatusEventUpdateWithWhereUniqueWithoutOrderInput[] updateMany?: OrderStatusEventUpdateManyWithWhereWithoutOrderInput | OrderStatusEventUpdateManyWithWhereWithoutOrderInput[] deleteMany?: OrderStatusEventScalarWhereInput | OrderStatusEventScalarWhereInput[] } export type LedgerEntryUpdateManyWithoutOrderNestedInput = { create?: XOR | LedgerEntryCreateWithoutOrderInput[] | LedgerEntryUncheckedCreateWithoutOrderInput[] connectOrCreate?: LedgerEntryCreateOrConnectWithoutOrderInput | LedgerEntryCreateOrConnectWithoutOrderInput[] upsert?: LedgerEntryUpsertWithWhereUniqueWithoutOrderInput | LedgerEntryUpsertWithWhereUniqueWithoutOrderInput[] createMany?: LedgerEntryCreateManyOrderInputEnvelope set?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] disconnect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] delete?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] connect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] update?: LedgerEntryUpdateWithWhereUniqueWithoutOrderInput | LedgerEntryUpdateWithWhereUniqueWithoutOrderInput[] updateMany?: LedgerEntryUpdateManyWithWhereWithoutOrderInput | LedgerEntryUpdateManyWithWhereWithoutOrderInput[] deleteMany?: LedgerEntryScalarWhereInput | LedgerEntryScalarWhereInput[] } export type PreOrderUpdateOneWithoutConvertedOrderNestedInput = { create?: XOR connectOrCreate?: PreOrderCreateOrConnectWithoutConvertedOrderInput upsert?: PreOrderUpsertWithoutConvertedOrderInput disconnect?: PreOrderWhereInput | boolean delete?: PreOrderWhereInput | boolean connect?: PreOrderWhereUniqueInput update?: XOR, PreOrderUncheckedUpdateWithoutConvertedOrderInput> } export type OrderItemUncheckedUpdateManyWithoutOrderNestedInput = { create?: XOR | OrderItemCreateWithoutOrderInput[] | OrderItemUncheckedCreateWithoutOrderInput[] connectOrCreate?: OrderItemCreateOrConnectWithoutOrderInput | OrderItemCreateOrConnectWithoutOrderInput[] upsert?: OrderItemUpsertWithWhereUniqueWithoutOrderInput | OrderItemUpsertWithWhereUniqueWithoutOrderInput[] createMany?: OrderItemCreateManyOrderInputEnvelope set?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] disconnect?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] delete?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] connect?: OrderItemWhereUniqueInput | OrderItemWhereUniqueInput[] update?: OrderItemUpdateWithWhereUniqueWithoutOrderInput | OrderItemUpdateWithWhereUniqueWithoutOrderInput[] updateMany?: OrderItemUpdateManyWithWhereWithoutOrderInput | OrderItemUpdateManyWithWhereWithoutOrderInput[] deleteMany?: OrderItemScalarWhereInput | OrderItemScalarWhereInput[] } export type OrderStatusEventUncheckedUpdateManyWithoutOrderNestedInput = { create?: XOR | OrderStatusEventCreateWithoutOrderInput[] | OrderStatusEventUncheckedCreateWithoutOrderInput[] connectOrCreate?: OrderStatusEventCreateOrConnectWithoutOrderInput | OrderStatusEventCreateOrConnectWithoutOrderInput[] upsert?: OrderStatusEventUpsertWithWhereUniqueWithoutOrderInput | OrderStatusEventUpsertWithWhereUniqueWithoutOrderInput[] createMany?: OrderStatusEventCreateManyOrderInputEnvelope set?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] disconnect?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] delete?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] connect?: OrderStatusEventWhereUniqueInput | OrderStatusEventWhereUniqueInput[] update?: OrderStatusEventUpdateWithWhereUniqueWithoutOrderInput | OrderStatusEventUpdateWithWhereUniqueWithoutOrderInput[] updateMany?: OrderStatusEventUpdateManyWithWhereWithoutOrderInput | OrderStatusEventUpdateManyWithWhereWithoutOrderInput[] deleteMany?: OrderStatusEventScalarWhereInput | OrderStatusEventScalarWhereInput[] } export type LedgerEntryUncheckedUpdateManyWithoutOrderNestedInput = { create?: XOR | LedgerEntryCreateWithoutOrderInput[] | LedgerEntryUncheckedCreateWithoutOrderInput[] connectOrCreate?: LedgerEntryCreateOrConnectWithoutOrderInput | LedgerEntryCreateOrConnectWithoutOrderInput[] upsert?: LedgerEntryUpsertWithWhereUniqueWithoutOrderInput | LedgerEntryUpsertWithWhereUniqueWithoutOrderInput[] createMany?: LedgerEntryCreateManyOrderInputEnvelope set?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] disconnect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] delete?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] connect?: LedgerEntryWhereUniqueInput | LedgerEntryWhereUniqueInput[] update?: LedgerEntryUpdateWithWhereUniqueWithoutOrderInput | LedgerEntryUpdateWithWhereUniqueWithoutOrderInput[] updateMany?: LedgerEntryUpdateManyWithWhereWithoutOrderInput | LedgerEntryUpdateManyWithWhereWithoutOrderInput[] deleteMany?: LedgerEntryScalarWhereInput | LedgerEntryScalarWhereInput[] } export type PreOrderUncheckedUpdateOneWithoutConvertedOrderNestedInput = { create?: XOR connectOrCreate?: PreOrderCreateOrConnectWithoutConvertedOrderInput upsert?: PreOrderUpsertWithoutConvertedOrderInput disconnect?: PreOrderWhereInput | boolean delete?: PreOrderWhereInput | boolean connect?: PreOrderWhereUniqueInput update?: XOR, PreOrderUncheckedUpdateWithoutConvertedOrderInput> } export type OrderCreateNestedOneWithoutItemsInput = { create?: XOR connectOrCreate?: OrderCreateOrConnectWithoutItemsInput connect?: OrderWhereUniqueInput } export type ProductVariantCreateNestedOneWithoutOrderItemsInput = { create?: XOR connectOrCreate?: ProductVariantCreateOrConnectWithoutOrderItemsInput connect?: ProductVariantWhereUniqueInput } export type OrderUpdateOneRequiredWithoutItemsNestedInput = { create?: XOR connectOrCreate?: OrderCreateOrConnectWithoutItemsInput upsert?: OrderUpsertWithoutItemsInput connect?: OrderWhereUniqueInput update?: XOR, OrderUncheckedUpdateWithoutItemsInput> } export type ProductVariantUpdateOneRequiredWithoutOrderItemsNestedInput = { create?: XOR connectOrCreate?: ProductVariantCreateOrConnectWithoutOrderItemsInput upsert?: ProductVariantUpsertWithoutOrderItemsInput connect?: ProductVariantWhereUniqueInput update?: XOR, ProductVariantUncheckedUpdateWithoutOrderItemsInput> } export type OrderCreateNestedOneWithoutStatusEventsInput = { create?: XOR connectOrCreate?: OrderCreateOrConnectWithoutStatusEventsInput connect?: OrderWhereUniqueInput } export type AdminUserCreateNestedOneWithoutOrderStatusEventsInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutOrderStatusEventsInput connect?: AdminUserWhereUniqueInput } export type NullableEnumOrderStatusFieldUpdateOperationsInput = { set?: $Enums.OrderStatus | null } export type OrderUpdateOneRequiredWithoutStatusEventsNestedInput = { create?: XOR connectOrCreate?: OrderCreateOrConnectWithoutStatusEventsInput upsert?: OrderUpsertWithoutStatusEventsInput connect?: OrderWhereUniqueInput update?: XOR, OrderUncheckedUpdateWithoutStatusEventsInput> } export type AdminUserUpdateOneWithoutOrderStatusEventsNestedInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutOrderStatusEventsInput upsert?: AdminUserUpsertWithoutOrderStatusEventsInput disconnect?: AdminUserWhereInput | boolean delete?: AdminUserWhereInput | boolean connect?: AdminUserWhereUniqueInput update?: XOR, AdminUserUncheckedUpdateWithoutOrderStatusEventsInput> } export type CustomerCreateNestedOneWithoutPreOrdersInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutPreOrdersInput connect?: CustomerWhereUniqueInput } export type CityCreateNestedOneWithoutPreOrdersInput = { create?: XOR connectOrCreate?: CityCreateOrConnectWithoutPreOrdersInput connect?: CityWhereUniqueInput } export type WorkshopCreateNestedOneWithoutPreOrdersInput = { create?: XOR connectOrCreate?: WorkshopCreateOrConnectWithoutPreOrdersInput connect?: WorkshopWhereUniqueInput } export type OrderCreateNestedOneWithoutConvertedFromPreOrderInput = { create?: XOR connectOrCreate?: OrderCreateOrConnectWithoutConvertedFromPreOrderInput connect?: OrderWhereUniqueInput } export type PreOrderStatusEventCreateNestedManyWithoutPreOrderInput = { create?: XOR | PreOrderStatusEventCreateWithoutPreOrderInput[] | PreOrderStatusEventUncheckedCreateWithoutPreOrderInput[] connectOrCreate?: PreOrderStatusEventCreateOrConnectWithoutPreOrderInput | PreOrderStatusEventCreateOrConnectWithoutPreOrderInput[] createMany?: PreOrderStatusEventCreateManyPreOrderInputEnvelope connect?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] } export type PreOrderStatusEventUncheckedCreateNestedManyWithoutPreOrderInput = { create?: XOR | PreOrderStatusEventCreateWithoutPreOrderInput[] | PreOrderStatusEventUncheckedCreateWithoutPreOrderInput[] connectOrCreate?: PreOrderStatusEventCreateOrConnectWithoutPreOrderInput | PreOrderStatusEventCreateOrConnectWithoutPreOrderInput[] createMany?: PreOrderStatusEventCreateManyPreOrderInputEnvelope connect?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] } export type EnumPreOrderStatusFieldUpdateOperationsInput = { set?: $Enums.PreOrderStatus } export type CustomerUpdateOneRequiredWithoutPreOrdersNestedInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutPreOrdersInput upsert?: CustomerUpsertWithoutPreOrdersInput connect?: CustomerWhereUniqueInput update?: XOR, CustomerUncheckedUpdateWithoutPreOrdersInput> } export type CityUpdateOneWithoutPreOrdersNestedInput = { create?: XOR connectOrCreate?: CityCreateOrConnectWithoutPreOrdersInput upsert?: CityUpsertWithoutPreOrdersInput disconnect?: CityWhereInput | boolean delete?: CityWhereInput | boolean connect?: CityWhereUniqueInput update?: XOR, CityUncheckedUpdateWithoutPreOrdersInput> } export type WorkshopUpdateOneWithoutPreOrdersNestedInput = { create?: XOR connectOrCreate?: WorkshopCreateOrConnectWithoutPreOrdersInput upsert?: WorkshopUpsertWithoutPreOrdersInput disconnect?: WorkshopWhereInput | boolean delete?: WorkshopWhereInput | boolean connect?: WorkshopWhereUniqueInput update?: XOR, WorkshopUncheckedUpdateWithoutPreOrdersInput> } export type OrderUpdateOneWithoutConvertedFromPreOrderNestedInput = { create?: XOR connectOrCreate?: OrderCreateOrConnectWithoutConvertedFromPreOrderInput upsert?: OrderUpsertWithoutConvertedFromPreOrderInput disconnect?: OrderWhereInput | boolean delete?: OrderWhereInput | boolean connect?: OrderWhereUniqueInput update?: XOR, OrderUncheckedUpdateWithoutConvertedFromPreOrderInput> } export type PreOrderStatusEventUpdateManyWithoutPreOrderNestedInput = { create?: XOR | PreOrderStatusEventCreateWithoutPreOrderInput[] | PreOrderStatusEventUncheckedCreateWithoutPreOrderInput[] connectOrCreate?: PreOrderStatusEventCreateOrConnectWithoutPreOrderInput | PreOrderStatusEventCreateOrConnectWithoutPreOrderInput[] upsert?: PreOrderStatusEventUpsertWithWhereUniqueWithoutPreOrderInput | PreOrderStatusEventUpsertWithWhereUniqueWithoutPreOrderInput[] createMany?: PreOrderStatusEventCreateManyPreOrderInputEnvelope set?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] disconnect?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] delete?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] connect?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] update?: PreOrderStatusEventUpdateWithWhereUniqueWithoutPreOrderInput | PreOrderStatusEventUpdateWithWhereUniqueWithoutPreOrderInput[] updateMany?: PreOrderStatusEventUpdateManyWithWhereWithoutPreOrderInput | PreOrderStatusEventUpdateManyWithWhereWithoutPreOrderInput[] deleteMany?: PreOrderStatusEventScalarWhereInput | PreOrderStatusEventScalarWhereInput[] } export type PreOrderStatusEventUncheckedUpdateManyWithoutPreOrderNestedInput = { create?: XOR | PreOrderStatusEventCreateWithoutPreOrderInput[] | PreOrderStatusEventUncheckedCreateWithoutPreOrderInput[] connectOrCreate?: PreOrderStatusEventCreateOrConnectWithoutPreOrderInput | PreOrderStatusEventCreateOrConnectWithoutPreOrderInput[] upsert?: PreOrderStatusEventUpsertWithWhereUniqueWithoutPreOrderInput | PreOrderStatusEventUpsertWithWhereUniqueWithoutPreOrderInput[] createMany?: PreOrderStatusEventCreateManyPreOrderInputEnvelope set?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] disconnect?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] delete?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] connect?: PreOrderStatusEventWhereUniqueInput | PreOrderStatusEventWhereUniqueInput[] update?: PreOrderStatusEventUpdateWithWhereUniqueWithoutPreOrderInput | PreOrderStatusEventUpdateWithWhereUniqueWithoutPreOrderInput[] updateMany?: PreOrderStatusEventUpdateManyWithWhereWithoutPreOrderInput | PreOrderStatusEventUpdateManyWithWhereWithoutPreOrderInput[] deleteMany?: PreOrderStatusEventScalarWhereInput | PreOrderStatusEventScalarWhereInput[] } export type PreOrderCreateNestedOneWithoutStatusEventsInput = { create?: XOR connectOrCreate?: PreOrderCreateOrConnectWithoutStatusEventsInput connect?: PreOrderWhereUniqueInput } export type AdminUserCreateNestedOneWithoutPreOrderStatusEventsInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutPreOrderStatusEventsInput connect?: AdminUserWhereUniqueInput } export type PreOrderUpdateOneRequiredWithoutStatusEventsNestedInput = { create?: XOR connectOrCreate?: PreOrderCreateOrConnectWithoutStatusEventsInput upsert?: PreOrderUpsertWithoutStatusEventsInput connect?: PreOrderWhereUniqueInput update?: XOR, PreOrderUncheckedUpdateWithoutStatusEventsInput> } export type AdminUserUpdateOneWithoutPreOrderStatusEventsNestedInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutPreOrderStatusEventsInput upsert?: AdminUserUpsertWithoutPreOrderStatusEventsInput disconnect?: AdminUserWhereInput | boolean delete?: AdminUserWhereInput | boolean connect?: AdminUserWhereUniqueInput update?: XOR, AdminUserUncheckedUpdateWithoutPreOrderStatusEventsInput> } export type CustomerCreateNestedOneWithoutLedgerEntriesInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutLedgerEntriesInput connect?: CustomerWhereUniqueInput } export type OrderCreateNestedOneWithoutLedgerEntriesInput = { create?: XOR connectOrCreate?: OrderCreateOrConnectWithoutLedgerEntriesInput connect?: OrderWhereUniqueInput } export type AdminUserCreateNestedOneWithoutPostedLedgerEntriesInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutPostedLedgerEntriesInput connect?: AdminUserWhereUniqueInput } export type EnumLedgerCurrencyFieldUpdateOperationsInput = { set?: $Enums.LedgerCurrency } export type EnumLedgerDirectionFieldUpdateOperationsInput = { set?: $Enums.LedgerDirection } export type EnumLedgerSourceTypeFieldUpdateOperationsInput = { set?: $Enums.LedgerSourceType } export type CustomerUpdateOneRequiredWithoutLedgerEntriesNestedInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutLedgerEntriesInput upsert?: CustomerUpsertWithoutLedgerEntriesInput connect?: CustomerWhereUniqueInput update?: XOR, CustomerUncheckedUpdateWithoutLedgerEntriesInput> } export type OrderUpdateOneWithoutLedgerEntriesNestedInput = { create?: XOR connectOrCreate?: OrderCreateOrConnectWithoutLedgerEntriesInput upsert?: OrderUpsertWithoutLedgerEntriesInput disconnect?: OrderWhereInput | boolean delete?: OrderWhereInput | boolean connect?: OrderWhereUniqueInput update?: XOR, OrderUncheckedUpdateWithoutLedgerEntriesInput> } export type AdminUserUpdateOneWithoutPostedLedgerEntriesNestedInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutPostedLedgerEntriesInput upsert?: AdminUserUpsertWithoutPostedLedgerEntriesInput disconnect?: AdminUserWhereInput | boolean delete?: AdminUserWhereInput | boolean connect?: AdminUserWhereUniqueInput update?: XOR, AdminUserUncheckedUpdateWithoutPostedLedgerEntriesInput> } export type CustomerCreateNestedOneWithoutWalletBonusesInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutWalletBonusesInput connect?: CustomerWhereUniqueInput } export type CustomerUpdateOneRequiredWithoutWalletBonusesNestedInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutWalletBonusesInput upsert?: CustomerUpsertWithoutWalletBonusesInput connect?: CustomerWhereUniqueInput update?: XOR, CustomerUncheckedUpdateWithoutWalletBonusesInput> } export type PermissionCreateNestedManyWithoutUserTypeInput = { create?: XOR | PermissionCreateWithoutUserTypeInput[] | PermissionUncheckedCreateWithoutUserTypeInput[] connectOrCreate?: PermissionCreateOrConnectWithoutUserTypeInput | PermissionCreateOrConnectWithoutUserTypeInput[] createMany?: PermissionCreateManyUserTypeInputEnvelope connect?: PermissionWhereUniqueInput | PermissionWhereUniqueInput[] } export type AdminUserCreateNestedManyWithoutUserTypeInput = { create?: XOR | AdminUserCreateWithoutUserTypeInput[] | AdminUserUncheckedCreateWithoutUserTypeInput[] connectOrCreate?: AdminUserCreateOrConnectWithoutUserTypeInput | AdminUserCreateOrConnectWithoutUserTypeInput[] createMany?: AdminUserCreateManyUserTypeInputEnvelope connect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] } export type PermissionUncheckedCreateNestedManyWithoutUserTypeInput = { create?: XOR | PermissionCreateWithoutUserTypeInput[] | PermissionUncheckedCreateWithoutUserTypeInput[] connectOrCreate?: PermissionCreateOrConnectWithoutUserTypeInput | PermissionCreateOrConnectWithoutUserTypeInput[] createMany?: PermissionCreateManyUserTypeInputEnvelope connect?: PermissionWhereUniqueInput | PermissionWhereUniqueInput[] } export type AdminUserUncheckedCreateNestedManyWithoutUserTypeInput = { create?: XOR | AdminUserCreateWithoutUserTypeInput[] | AdminUserUncheckedCreateWithoutUserTypeInput[] connectOrCreate?: AdminUserCreateOrConnectWithoutUserTypeInput | AdminUserCreateOrConnectWithoutUserTypeInput[] createMany?: AdminUserCreateManyUserTypeInputEnvelope connect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] } export type PermissionUpdateManyWithoutUserTypeNestedInput = { create?: XOR | PermissionCreateWithoutUserTypeInput[] | PermissionUncheckedCreateWithoutUserTypeInput[] connectOrCreate?: PermissionCreateOrConnectWithoutUserTypeInput | PermissionCreateOrConnectWithoutUserTypeInput[] upsert?: PermissionUpsertWithWhereUniqueWithoutUserTypeInput | PermissionUpsertWithWhereUniqueWithoutUserTypeInput[] createMany?: PermissionCreateManyUserTypeInputEnvelope set?: PermissionWhereUniqueInput | PermissionWhereUniqueInput[] disconnect?: PermissionWhereUniqueInput | PermissionWhereUniqueInput[] delete?: PermissionWhereUniqueInput | PermissionWhereUniqueInput[] connect?: PermissionWhereUniqueInput | PermissionWhereUniqueInput[] update?: PermissionUpdateWithWhereUniqueWithoutUserTypeInput | PermissionUpdateWithWhereUniqueWithoutUserTypeInput[] updateMany?: PermissionUpdateManyWithWhereWithoutUserTypeInput | PermissionUpdateManyWithWhereWithoutUserTypeInput[] deleteMany?: PermissionScalarWhereInput | PermissionScalarWhereInput[] } export type AdminUserUpdateManyWithoutUserTypeNestedInput = { create?: XOR | AdminUserCreateWithoutUserTypeInput[] | AdminUserUncheckedCreateWithoutUserTypeInput[] connectOrCreate?: AdminUserCreateOrConnectWithoutUserTypeInput | AdminUserCreateOrConnectWithoutUserTypeInput[] upsert?: AdminUserUpsertWithWhereUniqueWithoutUserTypeInput | AdminUserUpsertWithWhereUniqueWithoutUserTypeInput[] createMany?: AdminUserCreateManyUserTypeInputEnvelope set?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] disconnect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] delete?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] connect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] update?: AdminUserUpdateWithWhereUniqueWithoutUserTypeInput | AdminUserUpdateWithWhereUniqueWithoutUserTypeInput[] updateMany?: AdminUserUpdateManyWithWhereWithoutUserTypeInput | AdminUserUpdateManyWithWhereWithoutUserTypeInput[] deleteMany?: AdminUserScalarWhereInput | AdminUserScalarWhereInput[] } export type PermissionUncheckedUpdateManyWithoutUserTypeNestedInput = { create?: XOR | PermissionCreateWithoutUserTypeInput[] | PermissionUncheckedCreateWithoutUserTypeInput[] connectOrCreate?: PermissionCreateOrConnectWithoutUserTypeInput | PermissionCreateOrConnectWithoutUserTypeInput[] upsert?: PermissionUpsertWithWhereUniqueWithoutUserTypeInput | PermissionUpsertWithWhereUniqueWithoutUserTypeInput[] createMany?: PermissionCreateManyUserTypeInputEnvelope set?: PermissionWhereUniqueInput | PermissionWhereUniqueInput[] disconnect?: PermissionWhereUniqueInput | PermissionWhereUniqueInput[] delete?: PermissionWhereUniqueInput | PermissionWhereUniqueInput[] connect?: PermissionWhereUniqueInput | PermissionWhereUniqueInput[] update?: PermissionUpdateWithWhereUniqueWithoutUserTypeInput | PermissionUpdateWithWhereUniqueWithoutUserTypeInput[] updateMany?: PermissionUpdateManyWithWhereWithoutUserTypeInput | PermissionUpdateManyWithWhereWithoutUserTypeInput[] deleteMany?: PermissionScalarWhereInput | PermissionScalarWhereInput[] } export type AdminUserUncheckedUpdateManyWithoutUserTypeNestedInput = { create?: XOR | AdminUserCreateWithoutUserTypeInput[] | AdminUserUncheckedCreateWithoutUserTypeInput[] connectOrCreate?: AdminUserCreateOrConnectWithoutUserTypeInput | AdminUserCreateOrConnectWithoutUserTypeInput[] upsert?: AdminUserUpsertWithWhereUniqueWithoutUserTypeInput | AdminUserUpsertWithWhereUniqueWithoutUserTypeInput[] createMany?: AdminUserCreateManyUserTypeInputEnvelope set?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] disconnect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] delete?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] connect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] update?: AdminUserUpdateWithWhereUniqueWithoutUserTypeInput | AdminUserUpdateWithWhereUniqueWithoutUserTypeInput[] updateMany?: AdminUserUpdateManyWithWhereWithoutUserTypeInput | AdminUserUpdateManyWithWhereWithoutUserTypeInput[] deleteMany?: AdminUserScalarWhereInput | AdminUserScalarWhereInput[] } export type UserTypeCreateNestedOneWithoutPermissionsInput = { create?: XOR connectOrCreate?: UserTypeCreateOrConnectWithoutPermissionsInput connect?: UserTypeWhereUniqueInput } export type UserTypeUpdateOneRequiredWithoutPermissionsNestedInput = { create?: XOR connectOrCreate?: UserTypeCreateOrConnectWithoutPermissionsInput upsert?: UserTypeUpsertWithoutPermissionsInput connect?: UserTypeWhereUniqueInput update?: XOR, UserTypeUncheckedUpdateWithoutPermissionsInput> } export type ProductCreateNestedOneWithoutCommentsInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutCommentsInput connect?: ProductWhereUniqueInput } export type CustomerCreateNestedOneWithoutCommentsInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutCommentsInput connect?: CustomerWhereUniqueInput } export type CommentCreateNestedOneWithoutRepliesInput = { create?: XOR connectOrCreate?: CommentCreateOrConnectWithoutRepliesInput connect?: CommentWhereUniqueInput } export type CommentCreateNestedManyWithoutReplyToInput = { create?: XOR | CommentCreateWithoutReplyToInput[] | CommentUncheckedCreateWithoutReplyToInput[] connectOrCreate?: CommentCreateOrConnectWithoutReplyToInput | CommentCreateOrConnectWithoutReplyToInput[] createMany?: CommentCreateManyReplyToInputEnvelope connect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] } export type CommentUncheckedCreateNestedManyWithoutReplyToInput = { create?: XOR | CommentCreateWithoutReplyToInput[] | CommentUncheckedCreateWithoutReplyToInput[] connectOrCreate?: CommentCreateOrConnectWithoutReplyToInput | CommentCreateOrConnectWithoutReplyToInput[] createMany?: CommentCreateManyReplyToInputEnvelope connect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] } export type EnumCommentStatusFieldUpdateOperationsInput = { set?: $Enums.CommentStatus } export type ProductUpdateOneRequiredWithoutCommentsNestedInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutCommentsInput upsert?: ProductUpsertWithoutCommentsInput connect?: ProductWhereUniqueInput update?: XOR, ProductUncheckedUpdateWithoutCommentsInput> } export type CustomerUpdateOneRequiredWithoutCommentsNestedInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutCommentsInput upsert?: CustomerUpsertWithoutCommentsInput connect?: CustomerWhereUniqueInput update?: XOR, CustomerUncheckedUpdateWithoutCommentsInput> } export type CommentUpdateOneWithoutRepliesNestedInput = { create?: XOR connectOrCreate?: CommentCreateOrConnectWithoutRepliesInput upsert?: CommentUpsertWithoutRepliesInput disconnect?: CommentWhereInput | boolean delete?: CommentWhereInput | boolean connect?: CommentWhereUniqueInput update?: XOR, CommentUncheckedUpdateWithoutRepliesInput> } export type CommentUpdateManyWithoutReplyToNestedInput = { create?: XOR | CommentCreateWithoutReplyToInput[] | CommentUncheckedCreateWithoutReplyToInput[] connectOrCreate?: CommentCreateOrConnectWithoutReplyToInput | CommentCreateOrConnectWithoutReplyToInput[] upsert?: CommentUpsertWithWhereUniqueWithoutReplyToInput | CommentUpsertWithWhereUniqueWithoutReplyToInput[] createMany?: CommentCreateManyReplyToInputEnvelope set?: CommentWhereUniqueInput | CommentWhereUniqueInput[] disconnect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] delete?: CommentWhereUniqueInput | CommentWhereUniqueInput[] connect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] update?: CommentUpdateWithWhereUniqueWithoutReplyToInput | CommentUpdateWithWhereUniqueWithoutReplyToInput[] updateMany?: CommentUpdateManyWithWhereWithoutReplyToInput | CommentUpdateManyWithWhereWithoutReplyToInput[] deleteMany?: CommentScalarWhereInput | CommentScalarWhereInput[] } export type CommentUncheckedUpdateManyWithoutReplyToNestedInput = { create?: XOR | CommentCreateWithoutReplyToInput[] | CommentUncheckedCreateWithoutReplyToInput[] connectOrCreate?: CommentCreateOrConnectWithoutReplyToInput | CommentCreateOrConnectWithoutReplyToInput[] upsert?: CommentUpsertWithWhereUniqueWithoutReplyToInput | CommentUpsertWithWhereUniqueWithoutReplyToInput[] createMany?: CommentCreateManyReplyToInputEnvelope set?: CommentWhereUniqueInput | CommentWhereUniqueInput[] disconnect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] delete?: CommentWhereUniqueInput | CommentWhereUniqueInput[] connect?: CommentWhereUniqueInput | CommentWhereUniqueInput[] update?: CommentUpdateWithWhereUniqueWithoutReplyToInput | CommentUpdateWithWhereUniqueWithoutReplyToInput[] updateMany?: CommentUpdateManyWithWhereWithoutReplyToInput | CommentUpdateManyWithWhereWithoutReplyToInput[] deleteMany?: CommentScalarWhereInput | CommentScalarWhereInput[] } export type ProductCreateNestedOneWithoutPromotionsInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutPromotionsInput connect?: ProductWhereUniqueInput } export type CategoryCreateNestedOneWithoutPromotionsInput = { create?: XOR connectOrCreate?: CategoryCreateOrConnectWithoutPromotionsInput connect?: CategoryWhereUniqueInput } export type CustomerCreateNestedOneWithoutPromotionsInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutPromotionsInput connect?: CustomerWhereUniqueInput } export type BrandCreateNestedOneWithoutPromotionsInput = { create?: XOR connectOrCreate?: BrandCreateOrConnectWithoutPromotionsInput connect?: BrandWhereUniqueInput } export type EnumPromotionScopeFieldUpdateOperationsInput = { set?: $Enums.PromotionScope } export type EnumPromotionUsageFieldUpdateOperationsInput = { set?: $Enums.PromotionUsage } export type ProductUpdateOneWithoutPromotionsNestedInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutPromotionsInput upsert?: ProductUpsertWithoutPromotionsInput disconnect?: ProductWhereInput | boolean delete?: ProductWhereInput | boolean connect?: ProductWhereUniqueInput update?: XOR, ProductUncheckedUpdateWithoutPromotionsInput> } export type CategoryUpdateOneWithoutPromotionsNestedInput = { create?: XOR connectOrCreate?: CategoryCreateOrConnectWithoutPromotionsInput upsert?: CategoryUpsertWithoutPromotionsInput disconnect?: CategoryWhereInput | boolean delete?: CategoryWhereInput | boolean connect?: CategoryWhereUniqueInput update?: XOR, CategoryUncheckedUpdateWithoutPromotionsInput> } export type CustomerUpdateOneWithoutPromotionsNestedInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutPromotionsInput upsert?: CustomerUpsertWithoutPromotionsInput disconnect?: CustomerWhereInput | boolean delete?: CustomerWhereInput | boolean connect?: CustomerWhereUniqueInput update?: XOR, CustomerUncheckedUpdateWithoutPromotionsInput> } export type BrandUpdateOneWithoutPromotionsNestedInput = { create?: XOR connectOrCreate?: BrandCreateOrConnectWithoutPromotionsInput upsert?: BrandUpsertWithoutPromotionsInput disconnect?: BrandWhereInput | boolean delete?: BrandWhereInput | boolean connect?: BrandWhereUniqueInput update?: XOR, BrandUncheckedUpdateWithoutPromotionsInput> } export type BranchCreateNestedOneWithoutAllocationsInput = { create?: XOR connectOrCreate?: BranchCreateOrConnectWithoutAllocationsInput connect?: BranchWhereUniqueInput } export type AdminUserCreateNestedOneWithoutBranchAllocationsInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutBranchAllocationsInput connect?: AdminUserWhereUniqueInput } export type BranchAllocationItemCreateNestedManyWithoutAllocationInput = { create?: XOR | BranchAllocationItemCreateWithoutAllocationInput[] | BranchAllocationItemUncheckedCreateWithoutAllocationInput[] connectOrCreate?: BranchAllocationItemCreateOrConnectWithoutAllocationInput | BranchAllocationItemCreateOrConnectWithoutAllocationInput[] createMany?: BranchAllocationItemCreateManyAllocationInputEnvelope connect?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] } export type BranchAllocationItemUncheckedCreateNestedManyWithoutAllocationInput = { create?: XOR | BranchAllocationItemCreateWithoutAllocationInput[] | BranchAllocationItemUncheckedCreateWithoutAllocationInput[] connectOrCreate?: BranchAllocationItemCreateOrConnectWithoutAllocationInput | BranchAllocationItemCreateOrConnectWithoutAllocationInput[] createMany?: BranchAllocationItemCreateManyAllocationInputEnvelope connect?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] } export type BranchUpdateOneRequiredWithoutAllocationsNestedInput = { create?: XOR connectOrCreate?: BranchCreateOrConnectWithoutAllocationsInput upsert?: BranchUpsertWithoutAllocationsInput connect?: BranchWhereUniqueInput update?: XOR, BranchUncheckedUpdateWithoutAllocationsInput> } export type AdminUserUpdateOneWithoutBranchAllocationsNestedInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutBranchAllocationsInput upsert?: AdminUserUpsertWithoutBranchAllocationsInput disconnect?: AdminUserWhereInput | boolean delete?: AdminUserWhereInput | boolean connect?: AdminUserWhereUniqueInput update?: XOR, AdminUserUncheckedUpdateWithoutBranchAllocationsInput> } export type BranchAllocationItemUpdateManyWithoutAllocationNestedInput = { create?: XOR | BranchAllocationItemCreateWithoutAllocationInput[] | BranchAllocationItemUncheckedCreateWithoutAllocationInput[] connectOrCreate?: BranchAllocationItemCreateOrConnectWithoutAllocationInput | BranchAllocationItemCreateOrConnectWithoutAllocationInput[] upsert?: BranchAllocationItemUpsertWithWhereUniqueWithoutAllocationInput | BranchAllocationItemUpsertWithWhereUniqueWithoutAllocationInput[] createMany?: BranchAllocationItemCreateManyAllocationInputEnvelope set?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] disconnect?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] delete?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] connect?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] update?: BranchAllocationItemUpdateWithWhereUniqueWithoutAllocationInput | BranchAllocationItemUpdateWithWhereUniqueWithoutAllocationInput[] updateMany?: BranchAllocationItemUpdateManyWithWhereWithoutAllocationInput | BranchAllocationItemUpdateManyWithWhereWithoutAllocationInput[] deleteMany?: BranchAllocationItemScalarWhereInput | BranchAllocationItemScalarWhereInput[] } export type BranchAllocationItemUncheckedUpdateManyWithoutAllocationNestedInput = { create?: XOR | BranchAllocationItemCreateWithoutAllocationInput[] | BranchAllocationItemUncheckedCreateWithoutAllocationInput[] connectOrCreate?: BranchAllocationItemCreateOrConnectWithoutAllocationInput | BranchAllocationItemCreateOrConnectWithoutAllocationInput[] upsert?: BranchAllocationItemUpsertWithWhereUniqueWithoutAllocationInput | BranchAllocationItemUpsertWithWhereUniqueWithoutAllocationInput[] createMany?: BranchAllocationItemCreateManyAllocationInputEnvelope set?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] disconnect?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] delete?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] connect?: BranchAllocationItemWhereUniqueInput | BranchAllocationItemWhereUniqueInput[] update?: BranchAllocationItemUpdateWithWhereUniqueWithoutAllocationInput | BranchAllocationItemUpdateWithWhereUniqueWithoutAllocationInput[] updateMany?: BranchAllocationItemUpdateManyWithWhereWithoutAllocationInput | BranchAllocationItemUpdateManyWithWhereWithoutAllocationInput[] deleteMany?: BranchAllocationItemScalarWhereInput | BranchAllocationItemScalarWhereInput[] } export type BranchAllocationCreateNestedOneWithoutItemsInput = { create?: XOR connectOrCreate?: BranchAllocationCreateOrConnectWithoutItemsInput connect?: BranchAllocationWhereUniqueInput } export type ProductCreateNestedOneWithoutAllocationItemsInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutAllocationItemsInput connect?: ProductWhereUniqueInput } export type BranchAllocationUpdateOneRequiredWithoutItemsNestedInput = { create?: XOR connectOrCreate?: BranchAllocationCreateOrConnectWithoutItemsInput upsert?: BranchAllocationUpsertWithoutItemsInput connect?: BranchAllocationWhereUniqueInput update?: XOR, BranchAllocationUncheckedUpdateWithoutItemsInput> } export type ProductUpdateOneRequiredWithoutAllocationItemsNestedInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutAllocationItemsInput upsert?: ProductUpsertWithoutAllocationItemsInput connect?: ProductWhereUniqueInput update?: XOR, ProductUncheckedUpdateWithoutAllocationItemsInput> } export type AdminUserCreateNestedOneWithoutSentSmsMessagesInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutSentSmsMessagesInput connect?: AdminUserWhereUniqueInput } export type EnumMessageAudienceFieldUpdateOperationsInput = { set?: $Enums.MessageAudience } export type AdminUserUpdateOneWithoutSentSmsMessagesNestedInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutSentSmsMessagesInput upsert?: AdminUserUpsertWithoutSentSmsMessagesInput disconnect?: AdminUserWhereInput | boolean delete?: AdminUserWhereInput | boolean connect?: AdminUserWhereUniqueInput update?: XOR, AdminUserUncheckedUpdateWithoutSentSmsMessagesInput> } export type AdminUserCreateNestedOneWithoutSentNotificationsInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutSentNotificationsInput connect?: AdminUserWhereUniqueInput } export type NotificationRecipientCreateNestedManyWithoutNotificationInput = { create?: XOR | NotificationRecipientCreateWithoutNotificationInput[] | NotificationRecipientUncheckedCreateWithoutNotificationInput[] connectOrCreate?: NotificationRecipientCreateOrConnectWithoutNotificationInput | NotificationRecipientCreateOrConnectWithoutNotificationInput[] createMany?: NotificationRecipientCreateManyNotificationInputEnvelope connect?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] } export type NotificationRecipientUncheckedCreateNestedManyWithoutNotificationInput = { create?: XOR | NotificationRecipientCreateWithoutNotificationInput[] | NotificationRecipientUncheckedCreateWithoutNotificationInput[] connectOrCreate?: NotificationRecipientCreateOrConnectWithoutNotificationInput | NotificationRecipientCreateOrConnectWithoutNotificationInput[] createMany?: NotificationRecipientCreateManyNotificationInputEnvelope connect?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] } export type AdminUserUpdateOneWithoutSentNotificationsNestedInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutSentNotificationsInput upsert?: AdminUserUpsertWithoutSentNotificationsInput disconnect?: AdminUserWhereInput | boolean delete?: AdminUserWhereInput | boolean connect?: AdminUserWhereUniqueInput update?: XOR, AdminUserUncheckedUpdateWithoutSentNotificationsInput> } export type NotificationRecipientUpdateManyWithoutNotificationNestedInput = { create?: XOR | NotificationRecipientCreateWithoutNotificationInput[] | NotificationRecipientUncheckedCreateWithoutNotificationInput[] connectOrCreate?: NotificationRecipientCreateOrConnectWithoutNotificationInput | NotificationRecipientCreateOrConnectWithoutNotificationInput[] upsert?: NotificationRecipientUpsertWithWhereUniqueWithoutNotificationInput | NotificationRecipientUpsertWithWhereUniqueWithoutNotificationInput[] createMany?: NotificationRecipientCreateManyNotificationInputEnvelope set?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] disconnect?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] delete?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] connect?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] update?: NotificationRecipientUpdateWithWhereUniqueWithoutNotificationInput | NotificationRecipientUpdateWithWhereUniqueWithoutNotificationInput[] updateMany?: NotificationRecipientUpdateManyWithWhereWithoutNotificationInput | NotificationRecipientUpdateManyWithWhereWithoutNotificationInput[] deleteMany?: NotificationRecipientScalarWhereInput | NotificationRecipientScalarWhereInput[] } export type NotificationRecipientUncheckedUpdateManyWithoutNotificationNestedInput = { create?: XOR | NotificationRecipientCreateWithoutNotificationInput[] | NotificationRecipientUncheckedCreateWithoutNotificationInput[] connectOrCreate?: NotificationRecipientCreateOrConnectWithoutNotificationInput | NotificationRecipientCreateOrConnectWithoutNotificationInput[] upsert?: NotificationRecipientUpsertWithWhereUniqueWithoutNotificationInput | NotificationRecipientUpsertWithWhereUniqueWithoutNotificationInput[] createMany?: NotificationRecipientCreateManyNotificationInputEnvelope set?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] disconnect?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] delete?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] connect?: NotificationRecipientWhereUniqueInput | NotificationRecipientWhereUniqueInput[] update?: NotificationRecipientUpdateWithWhereUniqueWithoutNotificationInput | NotificationRecipientUpdateWithWhereUniqueWithoutNotificationInput[] updateMany?: NotificationRecipientUpdateManyWithWhereWithoutNotificationInput | NotificationRecipientUpdateManyWithWhereWithoutNotificationInput[] deleteMany?: NotificationRecipientScalarWhereInput | NotificationRecipientScalarWhereInput[] } export type NotificationCreateNestedOneWithoutRecipientsInput = { create?: XOR connectOrCreate?: NotificationCreateOrConnectWithoutRecipientsInput connect?: NotificationWhereUniqueInput } export type CustomerCreateNestedOneWithoutNotificationsInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutNotificationsInput connect?: CustomerWhereUniqueInput } export type NotificationUpdateOneRequiredWithoutRecipientsNestedInput = { create?: XOR connectOrCreate?: NotificationCreateOrConnectWithoutRecipientsInput upsert?: NotificationUpsertWithoutRecipientsInput connect?: NotificationWhereUniqueInput update?: XOR, NotificationUncheckedUpdateWithoutRecipientsInput> } export type CustomerUpdateOneRequiredWithoutNotificationsNestedInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutNotificationsInput upsert?: CustomerUpsertWithoutNotificationsInput connect?: CustomerWhereUniqueInput update?: XOR, CustomerUncheckedUpdateWithoutNotificationsInput> } export type CustomerCreateNestedOneWithoutActivityLogsInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutActivityLogsInput connect?: CustomerWhereUniqueInput } export type CustomerUpdateOneRequiredWithoutActivityLogsNestedInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutActivityLogsInput upsert?: CustomerUpsertWithoutActivityLogsInput connect?: CustomerWhereUniqueInput update?: XOR, CustomerUncheckedUpdateWithoutActivityLogsInput> } export type AdminUserCreateNestedOneWithoutUploadedFilesInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutUploadedFilesInput connect?: AdminUserWhereUniqueInput } export type CustomerCreateNestedManyWithoutAvatarFileInput = { create?: XOR | CustomerCreateWithoutAvatarFileInput[] | CustomerUncheckedCreateWithoutAvatarFileInput[] connectOrCreate?: CustomerCreateOrConnectWithoutAvatarFileInput | CustomerCreateOrConnectWithoutAvatarFileInput[] createMany?: CustomerCreateManyAvatarFileInputEnvelope connect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] } export type AdminUserCreateNestedManyWithoutAvatarFileInput = { create?: XOR | AdminUserCreateWithoutAvatarFileInput[] | AdminUserUncheckedCreateWithoutAvatarFileInput[] connectOrCreate?: AdminUserCreateOrConnectWithoutAvatarFileInput | AdminUserCreateOrConnectWithoutAvatarFileInput[] createMany?: AdminUserCreateManyAvatarFileInputEnvelope connect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] } export type CustomerUncheckedCreateNestedManyWithoutAvatarFileInput = { create?: XOR | CustomerCreateWithoutAvatarFileInput[] | CustomerUncheckedCreateWithoutAvatarFileInput[] connectOrCreate?: CustomerCreateOrConnectWithoutAvatarFileInput | CustomerCreateOrConnectWithoutAvatarFileInput[] createMany?: CustomerCreateManyAvatarFileInputEnvelope connect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] } export type AdminUserUncheckedCreateNestedManyWithoutAvatarFileInput = { create?: XOR | AdminUserCreateWithoutAvatarFileInput[] | AdminUserUncheckedCreateWithoutAvatarFileInput[] connectOrCreate?: AdminUserCreateOrConnectWithoutAvatarFileInput | AdminUserCreateOrConnectWithoutAvatarFileInput[] createMany?: AdminUserCreateManyAvatarFileInputEnvelope connect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] } export type AdminUserUpdateOneWithoutUploadedFilesNestedInput = { create?: XOR connectOrCreate?: AdminUserCreateOrConnectWithoutUploadedFilesInput upsert?: AdminUserUpsertWithoutUploadedFilesInput disconnect?: AdminUserWhereInput | boolean delete?: AdminUserWhereInput | boolean connect?: AdminUserWhereUniqueInput update?: XOR, AdminUserUncheckedUpdateWithoutUploadedFilesInput> } export type CustomerUpdateManyWithoutAvatarFileNestedInput = { create?: XOR | CustomerCreateWithoutAvatarFileInput[] | CustomerUncheckedCreateWithoutAvatarFileInput[] connectOrCreate?: CustomerCreateOrConnectWithoutAvatarFileInput | CustomerCreateOrConnectWithoutAvatarFileInput[] upsert?: CustomerUpsertWithWhereUniqueWithoutAvatarFileInput | CustomerUpsertWithWhereUniqueWithoutAvatarFileInput[] createMany?: CustomerCreateManyAvatarFileInputEnvelope set?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] disconnect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] delete?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] connect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] update?: CustomerUpdateWithWhereUniqueWithoutAvatarFileInput | CustomerUpdateWithWhereUniqueWithoutAvatarFileInput[] updateMany?: CustomerUpdateManyWithWhereWithoutAvatarFileInput | CustomerUpdateManyWithWhereWithoutAvatarFileInput[] deleteMany?: CustomerScalarWhereInput | CustomerScalarWhereInput[] } export type AdminUserUpdateManyWithoutAvatarFileNestedInput = { create?: XOR | AdminUserCreateWithoutAvatarFileInput[] | AdminUserUncheckedCreateWithoutAvatarFileInput[] connectOrCreate?: AdminUserCreateOrConnectWithoutAvatarFileInput | AdminUserCreateOrConnectWithoutAvatarFileInput[] upsert?: AdminUserUpsertWithWhereUniqueWithoutAvatarFileInput | AdminUserUpsertWithWhereUniqueWithoutAvatarFileInput[] createMany?: AdminUserCreateManyAvatarFileInputEnvelope set?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] disconnect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] delete?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] connect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] update?: AdminUserUpdateWithWhereUniqueWithoutAvatarFileInput | AdminUserUpdateWithWhereUniqueWithoutAvatarFileInput[] updateMany?: AdminUserUpdateManyWithWhereWithoutAvatarFileInput | AdminUserUpdateManyWithWhereWithoutAvatarFileInput[] deleteMany?: AdminUserScalarWhereInput | AdminUserScalarWhereInput[] } export type CustomerUncheckedUpdateManyWithoutAvatarFileNestedInput = { create?: XOR | CustomerCreateWithoutAvatarFileInput[] | CustomerUncheckedCreateWithoutAvatarFileInput[] connectOrCreate?: CustomerCreateOrConnectWithoutAvatarFileInput | CustomerCreateOrConnectWithoutAvatarFileInput[] upsert?: CustomerUpsertWithWhereUniqueWithoutAvatarFileInput | CustomerUpsertWithWhereUniqueWithoutAvatarFileInput[] createMany?: CustomerCreateManyAvatarFileInputEnvelope set?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] disconnect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] delete?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] connect?: CustomerWhereUniqueInput | CustomerWhereUniqueInput[] update?: CustomerUpdateWithWhereUniqueWithoutAvatarFileInput | CustomerUpdateWithWhereUniqueWithoutAvatarFileInput[] updateMany?: CustomerUpdateManyWithWhereWithoutAvatarFileInput | CustomerUpdateManyWithWhereWithoutAvatarFileInput[] deleteMany?: CustomerScalarWhereInput | CustomerScalarWhereInput[] } export type AdminUserUncheckedUpdateManyWithoutAvatarFileNestedInput = { create?: XOR | AdminUserCreateWithoutAvatarFileInput[] | AdminUserUncheckedCreateWithoutAvatarFileInput[] connectOrCreate?: AdminUserCreateOrConnectWithoutAvatarFileInput | AdminUserCreateOrConnectWithoutAvatarFileInput[] upsert?: AdminUserUpsertWithWhereUniqueWithoutAvatarFileInput | AdminUserUpsertWithWhereUniqueWithoutAvatarFileInput[] createMany?: AdminUserCreateManyAvatarFileInputEnvelope set?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] disconnect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] delete?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] connect?: AdminUserWhereUniqueInput | AdminUserWhereUniqueInput[] update?: AdminUserUpdateWithWhereUniqueWithoutAvatarFileInput | AdminUserUpdateWithWhereUniqueWithoutAvatarFileInput[] updateMany?: AdminUserUpdateManyWithWhereWithoutAvatarFileInput | AdminUserUpdateManyWithWhereWithoutAvatarFileInput[] deleteMany?: AdminUserScalarWhereInput | AdminUserScalarWhereInput[] } export type CustomerCreateNestedOneWithoutOtpChallengesInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutOtpChallengesInput connect?: CustomerWhereUniqueInput } export type CustomerUpdateOneRequiredWithoutOtpChallengesNestedInput = { create?: XOR connectOrCreate?: CustomerCreateOrConnectWithoutOtpChallengesInput upsert?: CustomerUpsertWithoutOtpChallengesInput connect?: CustomerWhereUniqueInput update?: XOR, CustomerUncheckedUpdateWithoutOtpChallengesInput> } export type NestedStringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> notIn?: string[] | ListStringFieldRefInput<$PrismaModel> lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> not?: NestedStringFilter<$PrismaModel> | string } export type NestedStringNullableFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> not?: NestedStringNullableFilter<$PrismaModel> | string | null } export type NestedDecimalNullableFilter<$PrismaModel = never> = { equals?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> | null in?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> | null notIn?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> | null lt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> lte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> not?: NestedDecimalNullableFilter<$PrismaModel> | Decimal | DecimalJsLike | number | string | null } export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> notIn?: string[] | ListStringFieldRefInput<$PrismaModel> lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> not?: NestedStringWithAggregatesFilter<$PrismaModel> | string _count?: NestedIntFilter<$PrismaModel> _min?: NestedStringFilter<$PrismaModel> _max?: NestedStringFilter<$PrismaModel> } export type NestedIntFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> notIn?: number[] | ListIntFieldRefInput<$PrismaModel> lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntFilter<$PrismaModel> | number } export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedStringNullableFilter<$PrismaModel> _max?: NestedStringNullableFilter<$PrismaModel> } export type NestedIntNullableFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | ListIntFieldRefInput<$PrismaModel> | null notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableFilter<$PrismaModel> | number | null } export type NestedDecimalNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> | null in?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> | null notIn?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> | null lt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> lte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> not?: NestedDecimalNullableWithAggregatesFilter<$PrismaModel> | Decimal | DecimalJsLike | number | string | null _count?: NestedIntNullableFilter<$PrismaModel> _avg?: NestedDecimalNullableFilter<$PrismaModel> _sum?: NestedDecimalNullableFilter<$PrismaModel> _min?: NestedDecimalNullableFilter<$PrismaModel> _max?: NestedDecimalNullableFilter<$PrismaModel> } export type NestedEnumAdminRoleFilter<$PrismaModel = never> = { equals?: $Enums.AdminRole | EnumAdminRoleFieldRefInput<$PrismaModel> in?: $Enums.AdminRole[] | ListEnumAdminRoleFieldRefInput<$PrismaModel> notIn?: $Enums.AdminRole[] | ListEnumAdminRoleFieldRefInput<$PrismaModel> not?: NestedEnumAdminRoleFilter<$PrismaModel> | $Enums.AdminRole } export type NestedBoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean } export type NestedDateTimeFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeFilter<$PrismaModel> | Date | string } export type NestedEnumAdminRoleWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.AdminRole | EnumAdminRoleFieldRefInput<$PrismaModel> in?: $Enums.AdminRole[] | ListEnumAdminRoleFieldRefInput<$PrismaModel> notIn?: $Enums.AdminRole[] | ListEnumAdminRoleFieldRefInput<$PrismaModel> not?: NestedEnumAdminRoleWithAggregatesFilter<$PrismaModel> | $Enums.AdminRole _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumAdminRoleFilter<$PrismaModel> _max?: NestedEnumAdminRoleFilter<$PrismaModel> } export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | ListIntFieldRefInput<$PrismaModel> | null notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null _count?: NestedIntNullableFilter<$PrismaModel> _avg?: NestedFloatNullableFilter<$PrismaModel> _sum?: NestedIntNullableFilter<$PrismaModel> _min?: NestedIntNullableFilter<$PrismaModel> _max?: NestedIntNullableFilter<$PrismaModel> } export type NestedFloatNullableFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> | null in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatNullableFilter<$PrismaModel> | number | null } export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean _count?: NestedIntFilter<$PrismaModel> _min?: NestedBoolFilter<$PrismaModel> _max?: NestedBoolFilter<$PrismaModel> } export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string _count?: NestedIntFilter<$PrismaModel> _min?: NestedDateTimeFilter<$PrismaModel> _max?: NestedDateTimeFilter<$PrismaModel> } export type NestedDateTimeNullableFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null } export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedDateTimeNullableFilter<$PrismaModel> _max?: NestedDateTimeNullableFilter<$PrismaModel> } export type NestedDecimalFilter<$PrismaModel = never> = { equals?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> in?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> notIn?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> lt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> lte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> not?: NestedDecimalFilter<$PrismaModel> | Decimal | DecimalJsLike | number | string } export type NestedDecimalWithAggregatesFilter<$PrismaModel = never> = { equals?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> in?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> notIn?: Decimal[] | DecimalJsLike[] | number[] | string[] | ListDecimalFieldRefInput<$PrismaModel> lt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> lte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gt?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> gte?: Decimal | DecimalJsLike | number | string | DecimalFieldRefInput<$PrismaModel> not?: NestedDecimalWithAggregatesFilter<$PrismaModel> | Decimal | DecimalJsLike | number | string _count?: NestedIntFilter<$PrismaModel> _avg?: NestedDecimalFilter<$PrismaModel> _sum?: NestedDecimalFilter<$PrismaModel> _min?: NestedDecimalFilter<$PrismaModel> _max?: NestedDecimalFilter<$PrismaModel> } export type NestedEnumCustomerKindFilter<$PrismaModel = never> = { equals?: $Enums.CustomerKind | EnumCustomerKindFieldRefInput<$PrismaModel> in?: $Enums.CustomerKind[] | ListEnumCustomerKindFieldRefInput<$PrismaModel> notIn?: $Enums.CustomerKind[] | ListEnumCustomerKindFieldRefInput<$PrismaModel> not?: NestedEnumCustomerKindFilter<$PrismaModel> | $Enums.CustomerKind } export type NestedEnumVerificationStepFilter<$PrismaModel = never> = { equals?: $Enums.VerificationStep | EnumVerificationStepFieldRefInput<$PrismaModel> in?: $Enums.VerificationStep[] | ListEnumVerificationStepFieldRefInput<$PrismaModel> notIn?: $Enums.VerificationStep[] | ListEnumVerificationStepFieldRefInput<$PrismaModel> not?: NestedEnumVerificationStepFilter<$PrismaModel> | $Enums.VerificationStep } export type NestedEnumCustomerKindWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.CustomerKind | EnumCustomerKindFieldRefInput<$PrismaModel> in?: $Enums.CustomerKind[] | ListEnumCustomerKindFieldRefInput<$PrismaModel> notIn?: $Enums.CustomerKind[] | ListEnumCustomerKindFieldRefInput<$PrismaModel> not?: NestedEnumCustomerKindWithAggregatesFilter<$PrismaModel> | $Enums.CustomerKind _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumCustomerKindFilter<$PrismaModel> _max?: NestedEnumCustomerKindFilter<$PrismaModel> } export type NestedEnumVerificationStepWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.VerificationStep | EnumVerificationStepFieldRefInput<$PrismaModel> in?: $Enums.VerificationStep[] | ListEnumVerificationStepFieldRefInput<$PrismaModel> notIn?: $Enums.VerificationStep[] | ListEnumVerificationStepFieldRefInput<$PrismaModel> not?: NestedEnumVerificationStepWithAggregatesFilter<$PrismaModel> | $Enums.VerificationStep _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumVerificationStepFilter<$PrismaModel> _max?: NestedEnumVerificationStepFilter<$PrismaModel> } export type NestedIntWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> notIn?: number[] | ListIntFieldRefInput<$PrismaModel> lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedIntFilter<$PrismaModel> _min?: NestedIntFilter<$PrismaModel> _max?: NestedIntFilter<$PrismaModel> } export type NestedFloatFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] | ListFloatFieldRefInput<$PrismaModel> notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatFilter<$PrismaModel> | number } export type NestedEnumProductImageRoleFilter<$PrismaModel = never> = { equals?: $Enums.ProductImageRole | EnumProductImageRoleFieldRefInput<$PrismaModel> in?: $Enums.ProductImageRole[] | ListEnumProductImageRoleFieldRefInput<$PrismaModel> notIn?: $Enums.ProductImageRole[] | ListEnumProductImageRoleFieldRefInput<$PrismaModel> not?: NestedEnumProductImageRoleFilter<$PrismaModel> | $Enums.ProductImageRole } export type NestedEnumProductImageRoleWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.ProductImageRole | EnumProductImageRoleFieldRefInput<$PrismaModel> in?: $Enums.ProductImageRole[] | ListEnumProductImageRoleFieldRefInput<$PrismaModel> notIn?: $Enums.ProductImageRole[] | ListEnumProductImageRoleFieldRefInput<$PrismaModel> not?: NestedEnumProductImageRoleWithAggregatesFilter<$PrismaModel> | $Enums.ProductImageRole _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumProductImageRoleFilter<$PrismaModel> _max?: NestedEnumProductImageRoleFilter<$PrismaModel> } export type NestedEnumOrderChannelFilter<$PrismaModel = never> = { equals?: $Enums.OrderChannel | EnumOrderChannelFieldRefInput<$PrismaModel> in?: $Enums.OrderChannel[] | ListEnumOrderChannelFieldRefInput<$PrismaModel> notIn?: $Enums.OrderChannel[] | ListEnumOrderChannelFieldRefInput<$PrismaModel> not?: NestedEnumOrderChannelFilter<$PrismaModel> | $Enums.OrderChannel } export type NestedEnumOrderStatusFilter<$PrismaModel = never> = { equals?: $Enums.OrderStatus | EnumOrderStatusFieldRefInput<$PrismaModel> in?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> notIn?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> not?: NestedEnumOrderStatusFilter<$PrismaModel> | $Enums.OrderStatus } export type NestedEnumOrderChannelWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.OrderChannel | EnumOrderChannelFieldRefInput<$PrismaModel> in?: $Enums.OrderChannel[] | ListEnumOrderChannelFieldRefInput<$PrismaModel> notIn?: $Enums.OrderChannel[] | ListEnumOrderChannelFieldRefInput<$PrismaModel> not?: NestedEnumOrderChannelWithAggregatesFilter<$PrismaModel> | $Enums.OrderChannel _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumOrderChannelFilter<$PrismaModel> _max?: NestedEnumOrderChannelFilter<$PrismaModel> } export type NestedEnumOrderStatusWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.OrderStatus | EnumOrderStatusFieldRefInput<$PrismaModel> in?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> notIn?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> not?: NestedEnumOrderStatusWithAggregatesFilter<$PrismaModel> | $Enums.OrderStatus _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumOrderStatusFilter<$PrismaModel> _max?: NestedEnumOrderStatusFilter<$PrismaModel> } export type NestedEnumOrderStatusNullableFilter<$PrismaModel = never> = { equals?: $Enums.OrderStatus | EnumOrderStatusFieldRefInput<$PrismaModel> | null in?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> | null notIn?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> | null not?: NestedEnumOrderStatusNullableFilter<$PrismaModel> | $Enums.OrderStatus | null } export type NestedEnumOrderStatusNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.OrderStatus | EnumOrderStatusFieldRefInput<$PrismaModel> | null in?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> | null notIn?: $Enums.OrderStatus[] | ListEnumOrderStatusFieldRefInput<$PrismaModel> | null not?: NestedEnumOrderStatusNullableWithAggregatesFilter<$PrismaModel> | $Enums.OrderStatus | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedEnumOrderStatusNullableFilter<$PrismaModel> _max?: NestedEnumOrderStatusNullableFilter<$PrismaModel> } export type NestedEnumPreOrderStatusFilter<$PrismaModel = never> = { equals?: $Enums.PreOrderStatus | EnumPreOrderStatusFieldRefInput<$PrismaModel> in?: $Enums.PreOrderStatus[] | ListEnumPreOrderStatusFieldRefInput<$PrismaModel> notIn?: $Enums.PreOrderStatus[] | ListEnumPreOrderStatusFieldRefInput<$PrismaModel> not?: NestedEnumPreOrderStatusFilter<$PrismaModel> | $Enums.PreOrderStatus } export type NestedEnumPreOrderStatusWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.PreOrderStatus | EnumPreOrderStatusFieldRefInput<$PrismaModel> in?: $Enums.PreOrderStatus[] | ListEnumPreOrderStatusFieldRefInput<$PrismaModel> notIn?: $Enums.PreOrderStatus[] | ListEnumPreOrderStatusFieldRefInput<$PrismaModel> not?: NestedEnumPreOrderStatusWithAggregatesFilter<$PrismaModel> | $Enums.PreOrderStatus _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumPreOrderStatusFilter<$PrismaModel> _max?: NestedEnumPreOrderStatusFilter<$PrismaModel> } export type NestedJsonFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type NestedJsonFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string[] string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } export type NestedEnumLedgerCurrencyFilter<$PrismaModel = never> = { equals?: $Enums.LedgerCurrency | EnumLedgerCurrencyFieldRefInput<$PrismaModel> in?: $Enums.LedgerCurrency[] | ListEnumLedgerCurrencyFieldRefInput<$PrismaModel> notIn?: $Enums.LedgerCurrency[] | ListEnumLedgerCurrencyFieldRefInput<$PrismaModel> not?: NestedEnumLedgerCurrencyFilter<$PrismaModel> | $Enums.LedgerCurrency } export type NestedEnumLedgerDirectionFilter<$PrismaModel = never> = { equals?: $Enums.LedgerDirection | EnumLedgerDirectionFieldRefInput<$PrismaModel> in?: $Enums.LedgerDirection[] | ListEnumLedgerDirectionFieldRefInput<$PrismaModel> notIn?: $Enums.LedgerDirection[] | ListEnumLedgerDirectionFieldRefInput<$PrismaModel> not?: NestedEnumLedgerDirectionFilter<$PrismaModel> | $Enums.LedgerDirection } export type NestedEnumLedgerSourceTypeFilter<$PrismaModel = never> = { equals?: $Enums.LedgerSourceType | EnumLedgerSourceTypeFieldRefInput<$PrismaModel> in?: $Enums.LedgerSourceType[] | ListEnumLedgerSourceTypeFieldRefInput<$PrismaModel> notIn?: $Enums.LedgerSourceType[] | ListEnumLedgerSourceTypeFieldRefInput<$PrismaModel> not?: NestedEnumLedgerSourceTypeFilter<$PrismaModel> | $Enums.LedgerSourceType } export type NestedEnumLedgerCurrencyWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.LedgerCurrency | EnumLedgerCurrencyFieldRefInput<$PrismaModel> in?: $Enums.LedgerCurrency[] | ListEnumLedgerCurrencyFieldRefInput<$PrismaModel> notIn?: $Enums.LedgerCurrency[] | ListEnumLedgerCurrencyFieldRefInput<$PrismaModel> not?: NestedEnumLedgerCurrencyWithAggregatesFilter<$PrismaModel> | $Enums.LedgerCurrency _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumLedgerCurrencyFilter<$PrismaModel> _max?: NestedEnumLedgerCurrencyFilter<$PrismaModel> } export type NestedEnumLedgerDirectionWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.LedgerDirection | EnumLedgerDirectionFieldRefInput<$PrismaModel> in?: $Enums.LedgerDirection[] | ListEnumLedgerDirectionFieldRefInput<$PrismaModel> notIn?: $Enums.LedgerDirection[] | ListEnumLedgerDirectionFieldRefInput<$PrismaModel> not?: NestedEnumLedgerDirectionWithAggregatesFilter<$PrismaModel> | $Enums.LedgerDirection _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumLedgerDirectionFilter<$PrismaModel> _max?: NestedEnumLedgerDirectionFilter<$PrismaModel> } export type NestedEnumLedgerSourceTypeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.LedgerSourceType | EnumLedgerSourceTypeFieldRefInput<$PrismaModel> in?: $Enums.LedgerSourceType[] | ListEnumLedgerSourceTypeFieldRefInput<$PrismaModel> notIn?: $Enums.LedgerSourceType[] | ListEnumLedgerSourceTypeFieldRefInput<$PrismaModel> not?: NestedEnumLedgerSourceTypeWithAggregatesFilter<$PrismaModel> | $Enums.LedgerSourceType _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumLedgerSourceTypeFilter<$PrismaModel> _max?: NestedEnumLedgerSourceTypeFilter<$PrismaModel> } export type NestedEnumCommentStatusFilter<$PrismaModel = never> = { equals?: $Enums.CommentStatus | EnumCommentStatusFieldRefInput<$PrismaModel> in?: $Enums.CommentStatus[] | ListEnumCommentStatusFieldRefInput<$PrismaModel> notIn?: $Enums.CommentStatus[] | ListEnumCommentStatusFieldRefInput<$PrismaModel> not?: NestedEnumCommentStatusFilter<$PrismaModel> | $Enums.CommentStatus } export type NestedEnumCommentStatusWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.CommentStatus | EnumCommentStatusFieldRefInput<$PrismaModel> in?: $Enums.CommentStatus[] | ListEnumCommentStatusFieldRefInput<$PrismaModel> notIn?: $Enums.CommentStatus[] | ListEnumCommentStatusFieldRefInput<$PrismaModel> not?: NestedEnumCommentStatusWithAggregatesFilter<$PrismaModel> | $Enums.CommentStatus _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumCommentStatusFilter<$PrismaModel> _max?: NestedEnumCommentStatusFilter<$PrismaModel> } export type NestedEnumPromotionScopeFilter<$PrismaModel = never> = { equals?: $Enums.PromotionScope | EnumPromotionScopeFieldRefInput<$PrismaModel> in?: $Enums.PromotionScope[] | ListEnumPromotionScopeFieldRefInput<$PrismaModel> notIn?: $Enums.PromotionScope[] | ListEnumPromotionScopeFieldRefInput<$PrismaModel> not?: NestedEnumPromotionScopeFilter<$PrismaModel> | $Enums.PromotionScope } export type NestedEnumPromotionUsageFilter<$PrismaModel = never> = { equals?: $Enums.PromotionUsage | EnumPromotionUsageFieldRefInput<$PrismaModel> in?: $Enums.PromotionUsage[] | ListEnumPromotionUsageFieldRefInput<$PrismaModel> notIn?: $Enums.PromotionUsage[] | ListEnumPromotionUsageFieldRefInput<$PrismaModel> not?: NestedEnumPromotionUsageFilter<$PrismaModel> | $Enums.PromotionUsage } export type NestedEnumPromotionScopeWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.PromotionScope | EnumPromotionScopeFieldRefInput<$PrismaModel> in?: $Enums.PromotionScope[] | ListEnumPromotionScopeFieldRefInput<$PrismaModel> notIn?: $Enums.PromotionScope[] | ListEnumPromotionScopeFieldRefInput<$PrismaModel> not?: NestedEnumPromotionScopeWithAggregatesFilter<$PrismaModel> | $Enums.PromotionScope _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumPromotionScopeFilter<$PrismaModel> _max?: NestedEnumPromotionScopeFilter<$PrismaModel> } export type NestedEnumPromotionUsageWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.PromotionUsage | EnumPromotionUsageFieldRefInput<$PrismaModel> in?: $Enums.PromotionUsage[] | ListEnumPromotionUsageFieldRefInput<$PrismaModel> notIn?: $Enums.PromotionUsage[] | ListEnumPromotionUsageFieldRefInput<$PrismaModel> not?: NestedEnumPromotionUsageWithAggregatesFilter<$PrismaModel> | $Enums.PromotionUsage _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumPromotionUsageFilter<$PrismaModel> _max?: NestedEnumPromotionUsageFilter<$PrismaModel> } export type NestedEnumMessageAudienceFilter<$PrismaModel = never> = { equals?: $Enums.MessageAudience | EnumMessageAudienceFieldRefInput<$PrismaModel> in?: $Enums.MessageAudience[] | ListEnumMessageAudienceFieldRefInput<$PrismaModel> notIn?: $Enums.MessageAudience[] | ListEnumMessageAudienceFieldRefInput<$PrismaModel> not?: NestedEnumMessageAudienceFilter<$PrismaModel> | $Enums.MessageAudience } export type NestedEnumMessageAudienceWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.MessageAudience | EnumMessageAudienceFieldRefInput<$PrismaModel> in?: $Enums.MessageAudience[] | ListEnumMessageAudienceFieldRefInput<$PrismaModel> notIn?: $Enums.MessageAudience[] | ListEnumMessageAudienceFieldRefInput<$PrismaModel> not?: NestedEnumMessageAudienceWithAggregatesFilter<$PrismaModel> | $Enums.MessageAudience _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumMessageAudienceFilter<$PrismaModel> _max?: NestedEnumMessageAudienceFilter<$PrismaModel> } export type CustomerCreateWithoutCityInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput orders?: OrderCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutCityInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutCityInput = { where: CustomerWhereUniqueInput create: XOR } export type CustomerCreateManyCityInputEnvelope = { data: CustomerCreateManyCityInput | CustomerCreateManyCityInput[] skipDuplicates?: boolean } export type CustomerAddressCreateWithoutCityInput = { id?: string addressLine: string isDefault?: boolean customer: CustomerCreateNestedOneWithoutAddressesInput } export type CustomerAddressUncheckedCreateWithoutCityInput = { id?: string customerId: string addressLine: string isDefault?: boolean } export type CustomerAddressCreateOrConnectWithoutCityInput = { where: CustomerAddressWhereUniqueInput create: XOR } export type CustomerAddressCreateManyCityInputEnvelope = { data: CustomerAddressCreateManyCityInput | CustomerAddressCreateManyCityInput[] skipDuplicates?: boolean } export type BranchCreateWithoutCityInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean adminUsers?: AdminUserCreateNestedManyWithoutBranchInput orders?: OrderCreateNestedManyWithoutBranchInput allocations?: BranchAllocationCreateNestedManyWithoutBranchInput } export type BranchUncheckedCreateWithoutCityInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean adminUsers?: AdminUserUncheckedCreateNestedManyWithoutBranchInput orders?: OrderUncheckedCreateNestedManyWithoutBranchInput allocations?: BranchAllocationUncheckedCreateNestedManyWithoutBranchInput } export type BranchCreateOrConnectWithoutCityInput = { where: BranchWhereUniqueInput create: XOR } export type BranchCreateManyCityInputEnvelope = { data: BranchCreateManyCityInput | BranchCreateManyCityInput[] skipDuplicates?: boolean } export type PreOrderCreateWithoutCityInput = { id?: string status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null createdAt?: Date | string updatedAt?: Date | string customer: CustomerCreateNestedOneWithoutPreOrdersInput workshop?: WorkshopCreateNestedOneWithoutPreOrdersInput convertedOrder?: OrderCreateNestedOneWithoutConvertedFromPreOrderInput statusEvents?: PreOrderStatusEventCreateNestedManyWithoutPreOrderInput } export type PreOrderUncheckedCreateWithoutCityInput = { id?: string customerId: string workshopId?: string | null status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null convertedOrderId?: string | null createdAt?: Date | string updatedAt?: Date | string statusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutPreOrderInput } export type PreOrderCreateOrConnectWithoutCityInput = { where: PreOrderWhereUniqueInput create: XOR } export type PreOrderCreateManyCityInputEnvelope = { data: PreOrderCreateManyCityInput | PreOrderCreateManyCityInput[] skipDuplicates?: boolean } export type SalesExpertProfileCreateWithoutCityInput = { id?: string gramLevel?: Decimal | DecimalJsLike | number | string phone?: string | null nationalCode?: string | null createdAt?: Date | string updatedAt?: Date | string adminUser: AdminUserCreateNestedOneWithoutSalesExpertProfileInput tradingCustomer?: CustomerCreateNestedOneWithoutSalesExpertTradingForInput } export type SalesExpertProfileUncheckedCreateWithoutCityInput = { id?: string adminUserId: string gramLevel?: Decimal | DecimalJsLike | number | string phone?: string | null nationalCode?: string | null tradingCustomerId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type SalesExpertProfileCreateOrConnectWithoutCityInput = { where: SalesExpertProfileWhereUniqueInput create: XOR } export type SalesExpertProfileCreateManyCityInputEnvelope = { data: SalesExpertProfileCreateManyCityInput | SalesExpertProfileCreateManyCityInput[] skipDuplicates?: boolean } export type CustomerUpsertWithWhereUniqueWithoutCityInput = { where: CustomerWhereUniqueInput update: XOR create: XOR } export type CustomerUpdateWithWhereUniqueWithoutCityInput = { where: CustomerWhereUniqueInput data: XOR } export type CustomerUpdateManyWithWhereWithoutCityInput = { where: CustomerScalarWhereInput data: XOR } export type CustomerScalarWhereInput = { AND?: CustomerScalarWhereInput | CustomerScalarWhereInput[] OR?: CustomerScalarWhereInput[] NOT?: CustomerScalarWhereInput | CustomerScalarWhereInput[] id?: StringFilter<"Customer"> | string fullName?: StringFilter<"Customer"> | string firstName?: StringNullableFilter<"Customer"> | string | null lastName?: StringNullableFilter<"Customer"> | string | null mobile?: StringFilter<"Customer"> | string nationalCode?: StringFilter<"Customer"> | string passwordHash?: StringFilter<"Customer"> | string cityId?: StringNullableFilter<"Customer"> | string | null kind?: EnumCustomerKindFilter<"Customer"> | $Enums.CustomerKind phone?: StringNullableFilter<"Customer"> | string | null address?: StringNullableFilter<"Customer"> | string | null storeName?: StringNullableFilter<"Customer"> | string | null pasazhName?: StringNullableFilter<"Customer"> | string | null zone?: StringNullableFilter<"Customer"> | string | null memberCode?: StringNullableFilter<"Customer"> | string | null referredByAgentId?: StringNullableFilter<"Customer"> | string | null goldCreditLimitGrams?: DecimalFilter<"Customer"> | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFilter<"Customer"> | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFilter<"Customer"> | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFilter<"Customer"> | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFilter<"Customer"> | $Enums.VerificationStep nationalIdImageUrl?: StringNullableFilter<"Customer"> | string | null businessLicenseUrl?: StringNullableFilter<"Customer"> | string | null shopImageUrl?: StringNullableFilter<"Customer"> | string | null avatarFileId?: StringNullableFilter<"Customer"> | string | null canPlaceOrders?: BoolFilter<"Customer"> | boolean isActive?: BoolFilter<"Customer"> | boolean isArchived?: BoolFilter<"Customer"> | boolean createdAt?: DateTimeFilter<"Customer"> | Date | string updatedAt?: DateTimeFilter<"Customer"> | Date | string } export type CustomerAddressUpsertWithWhereUniqueWithoutCityInput = { where: CustomerAddressWhereUniqueInput update: XOR create: XOR } export type CustomerAddressUpdateWithWhereUniqueWithoutCityInput = { where: CustomerAddressWhereUniqueInput data: XOR } export type CustomerAddressUpdateManyWithWhereWithoutCityInput = { where: CustomerAddressScalarWhereInput data: XOR } export type CustomerAddressScalarWhereInput = { AND?: CustomerAddressScalarWhereInput | CustomerAddressScalarWhereInput[] OR?: CustomerAddressScalarWhereInput[] NOT?: CustomerAddressScalarWhereInput | CustomerAddressScalarWhereInput[] id?: StringFilter<"CustomerAddress"> | string customerId?: StringFilter<"CustomerAddress"> | string cityId?: StringNullableFilter<"CustomerAddress"> | string | null addressLine?: StringFilter<"CustomerAddress"> | string isDefault?: BoolFilter<"CustomerAddress"> | boolean } export type BranchUpsertWithWhereUniqueWithoutCityInput = { where: BranchWhereUniqueInput update: XOR create: XOR } export type BranchUpdateWithWhereUniqueWithoutCityInput = { where: BranchWhereUniqueInput data: XOR } export type BranchUpdateManyWithWhereWithoutCityInput = { where: BranchScalarWhereInput data: XOR } export type BranchScalarWhereInput = { AND?: BranchScalarWhereInput | BranchScalarWhereInput[] OR?: BranchScalarWhereInput[] NOT?: BranchScalarWhereInput | BranchScalarWhereInput[] id?: StringFilter<"Branch"> | string name?: StringFilter<"Branch"> | string address?: StringNullableFilter<"Branch"> | string | null phone?: StringNullableFilter<"Branch"> | string | null isActive?: BoolFilter<"Branch"> | boolean cityId?: StringNullableFilter<"Branch"> | string | null } export type PreOrderUpsertWithWhereUniqueWithoutCityInput = { where: PreOrderWhereUniqueInput update: XOR create: XOR } export type PreOrderUpdateWithWhereUniqueWithoutCityInput = { where: PreOrderWhereUniqueInput data: XOR } export type PreOrderUpdateManyWithWhereWithoutCityInput = { where: PreOrderScalarWhereInput data: XOR } export type PreOrderScalarWhereInput = { AND?: PreOrderScalarWhereInput | PreOrderScalarWhereInput[] OR?: PreOrderScalarWhereInput[] NOT?: PreOrderScalarWhereInput | PreOrderScalarWhereInput[] id?: StringFilter<"PreOrder"> | string customerId?: StringFilter<"PreOrder"> | string cityId?: StringNullableFilter<"PreOrder"> | string | null workshopId?: StringNullableFilter<"PreOrder"> | string | null status?: EnumPreOrderStatusFilter<"PreOrder"> | $Enums.PreOrderStatus designImageUrl?: StringNullableFilter<"PreOrder"> | string | null colorName?: StringNullableFilter<"PreOrder"> | string | null sizeSpec?: StringNullableFilter<"PreOrder"> | string | null stoneColor?: StringNullableFilter<"PreOrder"> | string | null minaColor?: StringNullableFilter<"PreOrder"> | string | null estimatedWeightGrams?: DecimalNullableFilter<"PreOrder"> | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: DecimalNullableFilter<"PreOrder"> | Decimal | DecimalJsLike | number | string | null description?: StringNullableFilter<"PreOrder"> | string | null convertedOrderId?: StringNullableFilter<"PreOrder"> | string | null createdAt?: DateTimeFilter<"PreOrder"> | Date | string updatedAt?: DateTimeFilter<"PreOrder"> | Date | string } export type SalesExpertProfileUpsertWithWhereUniqueWithoutCityInput = { where: SalesExpertProfileWhereUniqueInput update: XOR create: XOR } export type SalesExpertProfileUpdateWithWhereUniqueWithoutCityInput = { where: SalesExpertProfileWhereUniqueInput data: XOR } export type SalesExpertProfileUpdateManyWithWhereWithoutCityInput = { where: SalesExpertProfileScalarWhereInput data: XOR } export type SalesExpertProfileScalarWhereInput = { AND?: SalesExpertProfileScalarWhereInput | SalesExpertProfileScalarWhereInput[] OR?: SalesExpertProfileScalarWhereInput[] NOT?: SalesExpertProfileScalarWhereInput | SalesExpertProfileScalarWhereInput[] id?: StringFilter<"SalesExpertProfile"> | string adminUserId?: StringFilter<"SalesExpertProfile"> | string cityId?: StringNullableFilter<"SalesExpertProfile"> | string | null gramLevel?: DecimalFilter<"SalesExpertProfile"> | Decimal | DecimalJsLike | number | string phone?: StringNullableFilter<"SalesExpertProfile"> | string | null nationalCode?: StringNullableFilter<"SalesExpertProfile"> | string | null tradingCustomerId?: StringNullableFilter<"SalesExpertProfile"> | string | null createdAt?: DateTimeFilter<"SalesExpertProfile"> | Date | string updatedAt?: DateTimeFilter<"SalesExpertProfile"> | Date | string } export type UserTypeCreateWithoutAdminUsersInput = { id: number title: string isActive?: boolean createdAt?: Date | string permissions?: PermissionCreateNestedManyWithoutUserTypeInput } export type UserTypeUncheckedCreateWithoutAdminUsersInput = { id: number title: string isActive?: boolean createdAt?: Date | string permissions?: PermissionUncheckedCreateNestedManyWithoutUserTypeInput } export type UserTypeCreateOrConnectWithoutAdminUsersInput = { where: UserTypeWhereUniqueInput create: XOR } export type BranchCreateWithoutAdminUsersInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean city?: CityCreateNestedOneWithoutBranchesInput orders?: OrderCreateNestedManyWithoutBranchInput allocations?: BranchAllocationCreateNestedManyWithoutBranchInput } export type BranchUncheckedCreateWithoutAdminUsersInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean cityId?: string | null orders?: OrderUncheckedCreateNestedManyWithoutBranchInput allocations?: BranchAllocationUncheckedCreateNestedManyWithoutBranchInput } export type BranchCreateOrConnectWithoutAdminUsersInput = { where: BranchWhereUniqueInput create: XOR } export type UploadedFileCreateWithoutAdminUserAvatarsInput = { id?: string url: string originalName: string mimeType: string sizeBytes: number purpose?: string | null createdAt?: Date | string uploadedByAdminUser?: AdminUserCreateNestedOneWithoutUploadedFilesInput customerAvatars?: CustomerCreateNestedManyWithoutAvatarFileInput } export type UploadedFileUncheckedCreateWithoutAdminUserAvatarsInput = { id?: string url: string originalName: string mimeType: string sizeBytes: number purpose?: string | null uploadedByAdminUserId?: string | null createdAt?: Date | string customerAvatars?: CustomerUncheckedCreateNestedManyWithoutAvatarFileInput } export type UploadedFileCreateOrConnectWithoutAdminUserAvatarsInput = { where: UploadedFileWhereUniqueInput create: XOR } export type CustomerCreateWithoutReferredByAgentInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput orders?: OrderCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutReferredByAgentInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutReferredByAgentInput = { where: CustomerWhereUniqueInput create: XOR } export type CustomerCreateManyReferredByAgentInputEnvelope = { data: CustomerCreateManyReferredByAgentInput | CustomerCreateManyReferredByAgentInput[] skipDuplicates?: boolean } export type WorkshopCreateWithoutSupervisorInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean preOrders?: PreOrderCreateNestedManyWithoutWorkshopInput } export type WorkshopUncheckedCreateWithoutSupervisorInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean preOrders?: PreOrderUncheckedCreateNestedManyWithoutWorkshopInput } export type WorkshopCreateOrConnectWithoutSupervisorInput = { where: WorkshopWhereUniqueInput create: XOR } export type WorkshopCreateManySupervisorInputEnvelope = { data: WorkshopCreateManySupervisorInput | WorkshopCreateManySupervisorInput[] skipDuplicates?: boolean } export type BranchAllocationCreateWithoutAllocatorAdminUserInput = { id?: string note?: string | null createdAt?: Date | string branch: BranchCreateNestedOneWithoutAllocationsInput items?: BranchAllocationItemCreateNestedManyWithoutAllocationInput } export type BranchAllocationUncheckedCreateWithoutAllocatorAdminUserInput = { id?: string branchId: string note?: string | null createdAt?: Date | string items?: BranchAllocationItemUncheckedCreateNestedManyWithoutAllocationInput } export type BranchAllocationCreateOrConnectWithoutAllocatorAdminUserInput = { where: BranchAllocationWhereUniqueInput create: XOR } export type BranchAllocationCreateManyAllocatorAdminUserInputEnvelope = { data: BranchAllocationCreateManyAllocatorAdminUserInput | BranchAllocationCreateManyAllocatorAdminUserInput[] skipDuplicates?: boolean } export type LedgerEntryCreateWithoutPostedByAdminUserInput = { id?: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType amount: Decimal | DecimalJsLike | number | string karatPerMille?: number | null pricePerGramRialAtEntry?: Decimal | DecimalJsLike | number | string | null confirmed?: boolean confirmedAt?: Date | string | null labName?: string | null hallmark?: string | null accountName?: string | null bankName?: string | null transferTo?: string | null originalValue?: Decimal | DecimalJsLike | number | string | null priceRial?: Decimal | DecimalJsLike | number | string | null receivedAt?: Date | string | null note?: string | null createdAt?: Date | string customer: CustomerCreateNestedOneWithoutLedgerEntriesInput order?: OrderCreateNestedOneWithoutLedgerEntriesInput } export type LedgerEntryUncheckedCreateWithoutPostedByAdminUserInput = { id?: string customerId: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType amount: Decimal | DecimalJsLike | number | string karatPerMille?: number | null pricePerGramRialAtEntry?: Decimal | DecimalJsLike | number | string | null orderId?: string | null confirmed?: boolean confirmedAt?: Date | string | null labName?: string | null hallmark?: string | null accountName?: string | null bankName?: string | null transferTo?: string | null originalValue?: Decimal | DecimalJsLike | number | string | null priceRial?: Decimal | DecimalJsLike | number | string | null receivedAt?: Date | string | null note?: string | null createdAt?: Date | string } export type LedgerEntryCreateOrConnectWithoutPostedByAdminUserInput = { where: LedgerEntryWhereUniqueInput create: XOR } export type LedgerEntryCreateManyPostedByAdminUserInputEnvelope = { data: LedgerEntryCreateManyPostedByAdminUserInput | LedgerEntryCreateManyPostedByAdminUserInput[] skipDuplicates?: boolean } export type OrderStatusEventCreateWithoutActorAdminUserInput = { id?: string fromStatus?: $Enums.OrderStatus | null toStatus: $Enums.OrderStatus note?: string | null createdAt?: Date | string order: OrderCreateNestedOneWithoutStatusEventsInput } export type OrderStatusEventUncheckedCreateWithoutActorAdminUserInput = { id?: string orderId: string fromStatus?: $Enums.OrderStatus | null toStatus: $Enums.OrderStatus note?: string | null createdAt?: Date | string } export type OrderStatusEventCreateOrConnectWithoutActorAdminUserInput = { where: OrderStatusEventWhereUniqueInput create: XOR } export type OrderStatusEventCreateManyActorAdminUserInputEnvelope = { data: OrderStatusEventCreateManyActorAdminUserInput | OrderStatusEventCreateManyActorAdminUserInput[] skipDuplicates?: boolean } export type PreOrderStatusEventCreateWithoutActorAdminUserInput = { id?: string changes: JsonNullValueInput | InputJsonValue ipAddress?: string | null createdAt?: Date | string preOrder: PreOrderCreateNestedOneWithoutStatusEventsInput } export type PreOrderStatusEventUncheckedCreateWithoutActorAdminUserInput = { id?: string preOrderId: string changes: JsonNullValueInput | InputJsonValue ipAddress?: string | null createdAt?: Date | string } export type PreOrderStatusEventCreateOrConnectWithoutActorAdminUserInput = { where: PreOrderStatusEventWhereUniqueInput create: XOR } export type PreOrderStatusEventCreateManyActorAdminUserInputEnvelope = { data: PreOrderStatusEventCreateManyActorAdminUserInput | PreOrderStatusEventCreateManyActorAdminUserInput[] skipDuplicates?: boolean } export type SmsMessageCreateWithoutSentByAdminUserInput = { id?: string audience: $Enums.MessageAudience recipients?: string | null body: string sentCount?: number createdAt?: Date | string } export type SmsMessageUncheckedCreateWithoutSentByAdminUserInput = { id?: string audience: $Enums.MessageAudience recipients?: string | null body: string sentCount?: number createdAt?: Date | string } export type SmsMessageCreateOrConnectWithoutSentByAdminUserInput = { where: SmsMessageWhereUniqueInput create: XOR } export type SmsMessageCreateManySentByAdminUserInputEnvelope = { data: SmsMessageCreateManySentByAdminUserInput | SmsMessageCreateManySentByAdminUserInput[] skipDuplicates?: boolean } export type NotificationCreateWithoutSentByAdminUserInput = { id?: string title: string body: string audience?: $Enums.MessageAudience createdAt?: Date | string recipients?: NotificationRecipientCreateNestedManyWithoutNotificationInput } export type NotificationUncheckedCreateWithoutSentByAdminUserInput = { id?: string title: string body: string audience?: $Enums.MessageAudience createdAt?: Date | string recipients?: NotificationRecipientUncheckedCreateNestedManyWithoutNotificationInput } export type NotificationCreateOrConnectWithoutSentByAdminUserInput = { where: NotificationWhereUniqueInput create: XOR } export type NotificationCreateManySentByAdminUserInputEnvelope = { data: NotificationCreateManySentByAdminUserInput | NotificationCreateManySentByAdminUserInput[] skipDuplicates?: boolean } export type UploadedFileCreateWithoutUploadedByAdminUserInput = { id?: string url: string originalName: string mimeType: string sizeBytes: number purpose?: string | null createdAt?: Date | string customerAvatars?: CustomerCreateNestedManyWithoutAvatarFileInput adminUserAvatars?: AdminUserCreateNestedManyWithoutAvatarFileInput } export type UploadedFileUncheckedCreateWithoutUploadedByAdminUserInput = { id?: string url: string originalName: string mimeType: string sizeBytes: number purpose?: string | null createdAt?: Date | string customerAvatars?: CustomerUncheckedCreateNestedManyWithoutAvatarFileInput adminUserAvatars?: AdminUserUncheckedCreateNestedManyWithoutAvatarFileInput } export type UploadedFileCreateOrConnectWithoutUploadedByAdminUserInput = { where: UploadedFileWhereUniqueInput create: XOR } export type UploadedFileCreateManyUploadedByAdminUserInputEnvelope = { data: UploadedFileCreateManyUploadedByAdminUserInput | UploadedFileCreateManyUploadedByAdminUserInput[] skipDuplicates?: boolean } export type SalesExpertProfileCreateWithoutAdminUserInput = { id?: string gramLevel?: Decimal | DecimalJsLike | number | string phone?: string | null nationalCode?: string | null createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutSalesExpertProfilesInput tradingCustomer?: CustomerCreateNestedOneWithoutSalesExpertTradingForInput } export type SalesExpertProfileUncheckedCreateWithoutAdminUserInput = { id?: string cityId?: string | null gramLevel?: Decimal | DecimalJsLike | number | string phone?: string | null nationalCode?: string | null tradingCustomerId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type SalesExpertProfileCreateOrConnectWithoutAdminUserInput = { where: SalesExpertProfileWhereUniqueInput create: XOR } export type AdminSessionCreateWithoutAdminUserInput = { id?: string jti: string iamSessionId?: string | null iamSub?: string | null ipAddress?: string | null userAgent?: string | null createdAt?: Date | string expiresAt?: Date | string | null lastSeenAt?: Date | string | null revokedAt?: Date | string | null revokedReason?: string | null } export type AdminSessionUncheckedCreateWithoutAdminUserInput = { id?: string jti: string iamSessionId?: string | null iamSub?: string | null ipAddress?: string | null userAgent?: string | null createdAt?: Date | string expiresAt?: Date | string | null lastSeenAt?: Date | string | null revokedAt?: Date | string | null revokedReason?: string | null } export type AdminSessionCreateOrConnectWithoutAdminUserInput = { where: AdminSessionWhereUniqueInput create: XOR } export type AdminSessionCreateManyAdminUserInputEnvelope = { data: AdminSessionCreateManyAdminUserInput | AdminSessionCreateManyAdminUserInput[] skipDuplicates?: boolean } export type UserTypeUpsertWithoutAdminUsersInput = { update: XOR create: XOR where?: UserTypeWhereInput } export type UserTypeUpdateToOneWithWhereWithoutAdminUsersInput = { where?: UserTypeWhereInput data: XOR } export type UserTypeUpdateWithoutAdminUsersInput = { id?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string permissions?: PermissionUpdateManyWithoutUserTypeNestedInput } export type UserTypeUncheckedUpdateWithoutAdminUsersInput = { id?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string permissions?: PermissionUncheckedUpdateManyWithoutUserTypeNestedInput } export type BranchUpsertWithoutAdminUsersInput = { update: XOR create: XOR where?: BranchWhereInput } export type BranchUpdateToOneWithWhereWithoutAdminUsersInput = { where?: BranchWhereInput data: XOR } export type BranchUpdateWithoutAdminUsersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean city?: CityUpdateOneWithoutBranchesNestedInput orders?: OrderUpdateManyWithoutBranchNestedInput allocations?: BranchAllocationUpdateManyWithoutBranchNestedInput } export type BranchUncheckedUpdateWithoutAdminUsersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean cityId?: NullableStringFieldUpdateOperationsInput | string | null orders?: OrderUncheckedUpdateManyWithoutBranchNestedInput allocations?: BranchAllocationUncheckedUpdateManyWithoutBranchNestedInput } export type UploadedFileUpsertWithoutAdminUserAvatarsInput = { update: XOR create: XOR where?: UploadedFileWhereInput } export type UploadedFileUpdateToOneWithWhereWithoutAdminUserAvatarsInput = { where?: UploadedFileWhereInput data: XOR } export type UploadedFileUpdateWithoutAdminUserAvatarsInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string originalName?: StringFieldUpdateOperationsInput | string mimeType?: StringFieldUpdateOperationsInput | string sizeBytes?: IntFieldUpdateOperationsInput | number purpose?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string uploadedByAdminUser?: AdminUserUpdateOneWithoutUploadedFilesNestedInput customerAvatars?: CustomerUpdateManyWithoutAvatarFileNestedInput } export type UploadedFileUncheckedUpdateWithoutAdminUserAvatarsInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string originalName?: StringFieldUpdateOperationsInput | string mimeType?: StringFieldUpdateOperationsInput | string sizeBytes?: IntFieldUpdateOperationsInput | number purpose?: NullableStringFieldUpdateOperationsInput | string | null uploadedByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string customerAvatars?: CustomerUncheckedUpdateManyWithoutAvatarFileNestedInput } export type CustomerUpsertWithWhereUniqueWithoutReferredByAgentInput = { where: CustomerWhereUniqueInput update: XOR create: XOR } export type CustomerUpdateWithWhereUniqueWithoutReferredByAgentInput = { where: CustomerWhereUniqueInput data: XOR } export type CustomerUpdateManyWithWhereWithoutReferredByAgentInput = { where: CustomerScalarWhereInput data: XOR } export type WorkshopUpsertWithWhereUniqueWithoutSupervisorInput = { where: WorkshopWhereUniqueInput update: XOR create: XOR } export type WorkshopUpdateWithWhereUniqueWithoutSupervisorInput = { where: WorkshopWhereUniqueInput data: XOR } export type WorkshopUpdateManyWithWhereWithoutSupervisorInput = { where: WorkshopScalarWhereInput data: XOR } export type WorkshopScalarWhereInput = { AND?: WorkshopScalarWhereInput | WorkshopScalarWhereInput[] OR?: WorkshopScalarWhereInput[] NOT?: WorkshopScalarWhereInput | WorkshopScalarWhereInput[] id?: StringFilter<"Workshop"> | string name?: StringFilter<"Workshop"> | string address?: StringNullableFilter<"Workshop"> | string | null phone?: StringNullableFilter<"Workshop"> | string | null supervisorId?: StringNullableFilter<"Workshop"> | string | null isActive?: BoolFilter<"Workshop"> | boolean } export type BranchAllocationUpsertWithWhereUniqueWithoutAllocatorAdminUserInput = { where: BranchAllocationWhereUniqueInput update: XOR create: XOR } export type BranchAllocationUpdateWithWhereUniqueWithoutAllocatorAdminUserInput = { where: BranchAllocationWhereUniqueInput data: XOR } export type BranchAllocationUpdateManyWithWhereWithoutAllocatorAdminUserInput = { where: BranchAllocationScalarWhereInput data: XOR } export type BranchAllocationScalarWhereInput = { AND?: BranchAllocationScalarWhereInput | BranchAllocationScalarWhereInput[] OR?: BranchAllocationScalarWhereInput[] NOT?: BranchAllocationScalarWhereInput | BranchAllocationScalarWhereInput[] id?: StringFilter<"BranchAllocation"> | string branchId?: StringFilter<"BranchAllocation"> | string allocatorAdminUserId?: StringNullableFilter<"BranchAllocation"> | string | null note?: StringNullableFilter<"BranchAllocation"> | string | null createdAt?: DateTimeFilter<"BranchAllocation"> | Date | string } export type LedgerEntryUpsertWithWhereUniqueWithoutPostedByAdminUserInput = { where: LedgerEntryWhereUniqueInput update: XOR create: XOR } export type LedgerEntryUpdateWithWhereUniqueWithoutPostedByAdminUserInput = { where: LedgerEntryWhereUniqueInput data: XOR } export type LedgerEntryUpdateManyWithWhereWithoutPostedByAdminUserInput = { where: LedgerEntryScalarWhereInput data: XOR } export type LedgerEntryScalarWhereInput = { AND?: LedgerEntryScalarWhereInput | LedgerEntryScalarWhereInput[] OR?: LedgerEntryScalarWhereInput[] NOT?: LedgerEntryScalarWhereInput | LedgerEntryScalarWhereInput[] id?: StringFilter<"LedgerEntry"> | string customerId?: StringFilter<"LedgerEntry"> | string currency?: EnumLedgerCurrencyFilter<"LedgerEntry"> | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFilter<"LedgerEntry"> | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFilter<"LedgerEntry"> | $Enums.LedgerSourceType amount?: DecimalFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string karatPerMille?: IntNullableFilter<"LedgerEntry"> | number | null pricePerGramRialAtEntry?: DecimalNullableFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string | null orderId?: StringNullableFilter<"LedgerEntry"> | string | null confirmed?: BoolFilter<"LedgerEntry"> | boolean confirmedAt?: DateTimeNullableFilter<"LedgerEntry"> | Date | string | null postedByAdminUserId?: StringNullableFilter<"LedgerEntry"> | string | null labName?: StringNullableFilter<"LedgerEntry"> | string | null hallmark?: StringNullableFilter<"LedgerEntry"> | string | null accountName?: StringNullableFilter<"LedgerEntry"> | string | null bankName?: StringNullableFilter<"LedgerEntry"> | string | null transferTo?: StringNullableFilter<"LedgerEntry"> | string | null originalValue?: DecimalNullableFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string | null priceRial?: DecimalNullableFilter<"LedgerEntry"> | Decimal | DecimalJsLike | number | string | null receivedAt?: DateTimeNullableFilter<"LedgerEntry"> | Date | string | null note?: StringNullableFilter<"LedgerEntry"> | string | null createdAt?: DateTimeFilter<"LedgerEntry"> | Date | string } export type OrderStatusEventUpsertWithWhereUniqueWithoutActorAdminUserInput = { where: OrderStatusEventWhereUniqueInput update: XOR create: XOR } export type OrderStatusEventUpdateWithWhereUniqueWithoutActorAdminUserInput = { where: OrderStatusEventWhereUniqueInput data: XOR } export type OrderStatusEventUpdateManyWithWhereWithoutActorAdminUserInput = { where: OrderStatusEventScalarWhereInput data: XOR } export type OrderStatusEventScalarWhereInput = { AND?: OrderStatusEventScalarWhereInput | OrderStatusEventScalarWhereInput[] OR?: OrderStatusEventScalarWhereInput[] NOT?: OrderStatusEventScalarWhereInput | OrderStatusEventScalarWhereInput[] id?: StringFilter<"OrderStatusEvent"> | string orderId?: StringFilter<"OrderStatusEvent"> | string fromStatus?: EnumOrderStatusNullableFilter<"OrderStatusEvent"> | $Enums.OrderStatus | null toStatus?: EnumOrderStatusFilter<"OrderStatusEvent"> | $Enums.OrderStatus note?: StringNullableFilter<"OrderStatusEvent"> | string | null actorAdminUserId?: StringNullableFilter<"OrderStatusEvent"> | string | null createdAt?: DateTimeFilter<"OrderStatusEvent"> | Date | string } export type PreOrderStatusEventUpsertWithWhereUniqueWithoutActorAdminUserInput = { where: PreOrderStatusEventWhereUniqueInput update: XOR create: XOR } export type PreOrderStatusEventUpdateWithWhereUniqueWithoutActorAdminUserInput = { where: PreOrderStatusEventWhereUniqueInput data: XOR } export type PreOrderStatusEventUpdateManyWithWhereWithoutActorAdminUserInput = { where: PreOrderStatusEventScalarWhereInput data: XOR } export type PreOrderStatusEventScalarWhereInput = { AND?: PreOrderStatusEventScalarWhereInput | PreOrderStatusEventScalarWhereInput[] OR?: PreOrderStatusEventScalarWhereInput[] NOT?: PreOrderStatusEventScalarWhereInput | PreOrderStatusEventScalarWhereInput[] id?: StringFilter<"PreOrderStatusEvent"> | string preOrderId?: StringFilter<"PreOrderStatusEvent"> | string changes?: JsonFilter<"PreOrderStatusEvent"> actorAdminUserId?: StringNullableFilter<"PreOrderStatusEvent"> | string | null ipAddress?: StringNullableFilter<"PreOrderStatusEvent"> | string | null createdAt?: DateTimeFilter<"PreOrderStatusEvent"> | Date | string } export type SmsMessageUpsertWithWhereUniqueWithoutSentByAdminUserInput = { where: SmsMessageWhereUniqueInput update: XOR create: XOR } export type SmsMessageUpdateWithWhereUniqueWithoutSentByAdminUserInput = { where: SmsMessageWhereUniqueInput data: XOR } export type SmsMessageUpdateManyWithWhereWithoutSentByAdminUserInput = { where: SmsMessageScalarWhereInput data: XOR } export type SmsMessageScalarWhereInput = { AND?: SmsMessageScalarWhereInput | SmsMessageScalarWhereInput[] OR?: SmsMessageScalarWhereInput[] NOT?: SmsMessageScalarWhereInput | SmsMessageScalarWhereInput[] id?: StringFilter<"SmsMessage"> | string audience?: EnumMessageAudienceFilter<"SmsMessage"> | $Enums.MessageAudience recipients?: StringNullableFilter<"SmsMessage"> | string | null body?: StringFilter<"SmsMessage"> | string sentCount?: IntFilter<"SmsMessage"> | number sentByAdminUserId?: StringNullableFilter<"SmsMessage"> | string | null createdAt?: DateTimeFilter<"SmsMessage"> | Date | string } export type NotificationUpsertWithWhereUniqueWithoutSentByAdminUserInput = { where: NotificationWhereUniqueInput update: XOR create: XOR } export type NotificationUpdateWithWhereUniqueWithoutSentByAdminUserInput = { where: NotificationWhereUniqueInput data: XOR } export type NotificationUpdateManyWithWhereWithoutSentByAdminUserInput = { where: NotificationScalarWhereInput data: XOR } export type NotificationScalarWhereInput = { AND?: NotificationScalarWhereInput | NotificationScalarWhereInput[] OR?: NotificationScalarWhereInput[] NOT?: NotificationScalarWhereInput | NotificationScalarWhereInput[] id?: StringFilter<"Notification"> | string title?: StringFilter<"Notification"> | string body?: StringFilter<"Notification"> | string audience?: EnumMessageAudienceFilter<"Notification"> | $Enums.MessageAudience sentByAdminUserId?: StringNullableFilter<"Notification"> | string | null createdAt?: DateTimeFilter<"Notification"> | Date | string } export type UploadedFileUpsertWithWhereUniqueWithoutUploadedByAdminUserInput = { where: UploadedFileWhereUniqueInput update: XOR create: XOR } export type UploadedFileUpdateWithWhereUniqueWithoutUploadedByAdminUserInput = { where: UploadedFileWhereUniqueInput data: XOR } export type UploadedFileUpdateManyWithWhereWithoutUploadedByAdminUserInput = { where: UploadedFileScalarWhereInput data: XOR } export type UploadedFileScalarWhereInput = { AND?: UploadedFileScalarWhereInput | UploadedFileScalarWhereInput[] OR?: UploadedFileScalarWhereInput[] NOT?: UploadedFileScalarWhereInput | UploadedFileScalarWhereInput[] id?: StringFilter<"UploadedFile"> | string url?: StringFilter<"UploadedFile"> | string originalName?: StringFilter<"UploadedFile"> | string mimeType?: StringFilter<"UploadedFile"> | string sizeBytes?: IntFilter<"UploadedFile"> | number purpose?: StringNullableFilter<"UploadedFile"> | string | null uploadedByAdminUserId?: StringNullableFilter<"UploadedFile"> | string | null createdAt?: DateTimeFilter<"UploadedFile"> | Date | string } export type SalesExpertProfileUpsertWithoutAdminUserInput = { update: XOR create: XOR where?: SalesExpertProfileWhereInput } export type SalesExpertProfileUpdateToOneWithWhereWithoutAdminUserInput = { where?: SalesExpertProfileWhereInput data: XOR } export type SalesExpertProfileUpdateWithoutAdminUserInput = { id?: StringFieldUpdateOperationsInput | string gramLevel?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string phone?: NullableStringFieldUpdateOperationsInput | string | null nationalCode?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutSalesExpertProfilesNestedInput tradingCustomer?: CustomerUpdateOneWithoutSalesExpertTradingForNestedInput } export type SalesExpertProfileUncheckedUpdateWithoutAdminUserInput = { id?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null gramLevel?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string phone?: NullableStringFieldUpdateOperationsInput | string | null nationalCode?: NullableStringFieldUpdateOperationsInput | string | null tradingCustomerId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AdminSessionUpsertWithWhereUniqueWithoutAdminUserInput = { where: AdminSessionWhereUniqueInput update: XOR create: XOR } export type AdminSessionUpdateWithWhereUniqueWithoutAdminUserInput = { where: AdminSessionWhereUniqueInput data: XOR } export type AdminSessionUpdateManyWithWhereWithoutAdminUserInput = { where: AdminSessionScalarWhereInput data: XOR } export type AdminSessionScalarWhereInput = { AND?: AdminSessionScalarWhereInput | AdminSessionScalarWhereInput[] OR?: AdminSessionScalarWhereInput[] NOT?: AdminSessionScalarWhereInput | AdminSessionScalarWhereInput[] id?: StringFilter<"AdminSession"> | string jti?: StringFilter<"AdminSession"> | string adminUserId?: StringFilter<"AdminSession"> | string iamSessionId?: StringNullableFilter<"AdminSession"> | string | null iamSub?: StringNullableFilter<"AdminSession"> | string | null ipAddress?: StringNullableFilter<"AdminSession"> | string | null userAgent?: StringNullableFilter<"AdminSession"> | string | null createdAt?: DateTimeFilter<"AdminSession"> | Date | string expiresAt?: DateTimeNullableFilter<"AdminSession"> | Date | string | null lastSeenAt?: DateTimeNullableFilter<"AdminSession"> | Date | string | null revokedAt?: DateTimeNullableFilter<"AdminSession"> | Date | string | null revokedReason?: StringNullableFilter<"AdminSession"> | string | null } export type AdminUserCreateWithoutSessionsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput branch?: BranchCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutSessionsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutSessionsInput = { where: AdminUserWhereUniqueInput create: XOR } export type AdminUserUpsertWithoutSessionsInput = { update: XOR create: XOR where?: AdminUserWhereInput } export type AdminUserUpdateToOneWithWhereWithoutSessionsInput = { where?: AdminUserWhereInput data: XOR } export type AdminUserUpdateWithoutSessionsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput branch?: BranchUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutSessionsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput } export type AdminUserCreateWithoutSalesExpertProfileInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput branch?: BranchCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutSalesExpertProfileInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutSalesExpertProfileInput = { where: AdminUserWhereUniqueInput create: XOR } export type CityCreateWithoutSalesExpertProfilesInput = { id?: string name: string province?: string | null percent?: Decimal | DecimalJsLike | number | string | null percentAux?: Decimal | DecimalJsLike | number | string | null customers?: CustomerCreateNestedManyWithoutCityInput addresses?: CustomerAddressCreateNestedManyWithoutCityInput branches?: BranchCreateNestedManyWithoutCityInput preOrders?: PreOrderCreateNestedManyWithoutCityInput } export type CityUncheckedCreateWithoutSalesExpertProfilesInput = { id?: string name: string province?: string | null percent?: Decimal | DecimalJsLike | number | string | null percentAux?: Decimal | DecimalJsLike | number | string | null customers?: CustomerUncheckedCreateNestedManyWithoutCityInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCityInput branches?: BranchUncheckedCreateNestedManyWithoutCityInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCityInput } export type CityCreateOrConnectWithoutSalesExpertProfilesInput = { where: CityWhereUniqueInput create: XOR } export type CustomerCreateWithoutSalesExpertTradingForInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput orders?: OrderCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutSalesExpertTradingForInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutSalesExpertTradingForInput = { where: CustomerWhereUniqueInput create: XOR } export type AdminUserUpsertWithoutSalesExpertProfileInput = { update: XOR create: XOR where?: AdminUserWhereInput } export type AdminUserUpdateToOneWithWhereWithoutSalesExpertProfileInput = { where?: AdminUserWhereInput data: XOR } export type AdminUserUpdateWithoutSalesExpertProfileInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput branch?: BranchUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutSalesExpertProfileInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type CityUpsertWithoutSalesExpertProfilesInput = { update: XOR create: XOR where?: CityWhereInput } export type CityUpdateToOneWithWhereWithoutSalesExpertProfilesInput = { where?: CityWhereInput data: XOR } export type CityUpdateWithoutSalesExpertProfilesInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null customers?: CustomerUpdateManyWithoutCityNestedInput addresses?: CustomerAddressUpdateManyWithoutCityNestedInput branches?: BranchUpdateManyWithoutCityNestedInput preOrders?: PreOrderUpdateManyWithoutCityNestedInput } export type CityUncheckedUpdateWithoutSalesExpertProfilesInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null customers?: CustomerUncheckedUpdateManyWithoutCityNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCityNestedInput branches?: BranchUncheckedUpdateManyWithoutCityNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCityNestedInput } export type CustomerUpsertWithoutSalesExpertTradingForInput = { update: XOR create: XOR where?: CustomerWhereInput } export type CustomerUpdateToOneWithWhereWithoutSalesExpertTradingForInput = { where?: CustomerWhereInput data: XOR } export type CustomerUpdateWithoutSalesExpertTradingForInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutSalesExpertTradingForInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type CityCreateWithoutCustomersInput = { id?: string name: string province?: string | null percent?: Decimal | DecimalJsLike | number | string | null percentAux?: Decimal | DecimalJsLike | number | string | null addresses?: CustomerAddressCreateNestedManyWithoutCityInput branches?: BranchCreateNestedManyWithoutCityInput preOrders?: PreOrderCreateNestedManyWithoutCityInput salesExpertProfiles?: SalesExpertProfileCreateNestedManyWithoutCityInput } export type CityUncheckedCreateWithoutCustomersInput = { id?: string name: string province?: string | null percent?: Decimal | DecimalJsLike | number | string | null percentAux?: Decimal | DecimalJsLike | number | string | null addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCityInput branches?: BranchUncheckedCreateNestedManyWithoutCityInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCityInput salesExpertProfiles?: SalesExpertProfileUncheckedCreateNestedManyWithoutCityInput } export type CityCreateOrConnectWithoutCustomersInput = { where: CityWhereUniqueInput create: XOR } export type AdminUserCreateWithoutReferredCustomersInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput branch?: BranchCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutReferredCustomersInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutReferredCustomersInput = { where: AdminUserWhereUniqueInput create: XOR } export type SalesExpertProfileCreateWithoutTradingCustomerInput = { id?: string gramLevel?: Decimal | DecimalJsLike | number | string phone?: string | null nationalCode?: string | null createdAt?: Date | string updatedAt?: Date | string adminUser: AdminUserCreateNestedOneWithoutSalesExpertProfileInput city?: CityCreateNestedOneWithoutSalesExpertProfilesInput } export type SalesExpertProfileUncheckedCreateWithoutTradingCustomerInput = { id?: string adminUserId: string cityId?: string | null gramLevel?: Decimal | DecimalJsLike | number | string phone?: string | null nationalCode?: string | null createdAt?: Date | string updatedAt?: Date | string } export type SalesExpertProfileCreateOrConnectWithoutTradingCustomerInput = { where: SalesExpertProfileWhereUniqueInput create: XOR } export type UploadedFileCreateWithoutCustomerAvatarsInput = { id?: string url: string originalName: string mimeType: string sizeBytes: number purpose?: string | null createdAt?: Date | string uploadedByAdminUser?: AdminUserCreateNestedOneWithoutUploadedFilesInput adminUserAvatars?: AdminUserCreateNestedManyWithoutAvatarFileInput } export type UploadedFileUncheckedCreateWithoutCustomerAvatarsInput = { id?: string url: string originalName: string mimeType: string sizeBytes: number purpose?: string | null uploadedByAdminUserId?: string | null createdAt?: Date | string adminUserAvatars?: AdminUserUncheckedCreateNestedManyWithoutAvatarFileInput } export type UploadedFileCreateOrConnectWithoutCustomerAvatarsInput = { where: UploadedFileWhereUniqueInput create: XOR } export type CustomerAddressCreateWithoutCustomerInput = { id?: string addressLine: string isDefault?: boolean city?: CityCreateNestedOneWithoutAddressesInput } export type CustomerAddressUncheckedCreateWithoutCustomerInput = { id?: string cityId?: string | null addressLine: string isDefault?: boolean } export type CustomerAddressCreateOrConnectWithoutCustomerInput = { where: CustomerAddressWhereUniqueInput create: XOR } export type CustomerAddressCreateManyCustomerInputEnvelope = { data: CustomerAddressCreateManyCustomerInput | CustomerAddressCreateManyCustomerInput[] skipDuplicates?: boolean } export type OrderCreateWithoutCustomerInput = { id?: string orderNumber: string channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string branch?: BranchCreateNestedOneWithoutOrdersInput items?: OrderItemCreateNestedManyWithoutOrderInput statusEvents?: OrderStatusEventCreateNestedManyWithoutOrderInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutOrderInput convertedFromPreOrder?: PreOrderCreateNestedOneWithoutConvertedOrderInput } export type OrderUncheckedCreateWithoutCustomerInput = { id?: string orderNumber: string branchId?: string | null channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string items?: OrderItemUncheckedCreateNestedManyWithoutOrderInput statusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutOrderInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutOrderInput convertedFromPreOrder?: PreOrderUncheckedCreateNestedOneWithoutConvertedOrderInput } export type OrderCreateOrConnectWithoutCustomerInput = { where: OrderWhereUniqueInput create: XOR } export type OrderCreateManyCustomerInputEnvelope = { data: OrderCreateManyCustomerInput | OrderCreateManyCustomerInput[] skipDuplicates?: boolean } export type PreOrderCreateWithoutCustomerInput = { id?: string status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutPreOrdersInput workshop?: WorkshopCreateNestedOneWithoutPreOrdersInput convertedOrder?: OrderCreateNestedOneWithoutConvertedFromPreOrderInput statusEvents?: PreOrderStatusEventCreateNestedManyWithoutPreOrderInput } export type PreOrderUncheckedCreateWithoutCustomerInput = { id?: string cityId?: string | null workshopId?: string | null status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null convertedOrderId?: string | null createdAt?: Date | string updatedAt?: Date | string statusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutPreOrderInput } export type PreOrderCreateOrConnectWithoutCustomerInput = { where: PreOrderWhereUniqueInput create: XOR } export type PreOrderCreateManyCustomerInputEnvelope = { data: PreOrderCreateManyCustomerInput | PreOrderCreateManyCustomerInput[] skipDuplicates?: boolean } export type LedgerEntryCreateWithoutCustomerInput = { id?: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType amount: Decimal | DecimalJsLike | number | string karatPerMille?: number | null pricePerGramRialAtEntry?: Decimal | DecimalJsLike | number | string | null confirmed?: boolean confirmedAt?: Date | string | null labName?: string | null hallmark?: string | null accountName?: string | null bankName?: string | null transferTo?: string | null originalValue?: Decimal | DecimalJsLike | number | string | null priceRial?: Decimal | DecimalJsLike | number | string | null receivedAt?: Date | string | null note?: string | null createdAt?: Date | string order?: OrderCreateNestedOneWithoutLedgerEntriesInput postedByAdminUser?: AdminUserCreateNestedOneWithoutPostedLedgerEntriesInput } export type LedgerEntryUncheckedCreateWithoutCustomerInput = { id?: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType amount: Decimal | DecimalJsLike | number | string karatPerMille?: number | null pricePerGramRialAtEntry?: Decimal | DecimalJsLike | number | string | null orderId?: string | null confirmed?: boolean confirmedAt?: Date | string | null postedByAdminUserId?: string | null labName?: string | null hallmark?: string | null accountName?: string | null bankName?: string | null transferTo?: string | null originalValue?: Decimal | DecimalJsLike | number | string | null priceRial?: Decimal | DecimalJsLike | number | string | null receivedAt?: Date | string | null note?: string | null createdAt?: Date | string } export type LedgerEntryCreateOrConnectWithoutCustomerInput = { where: LedgerEntryWhereUniqueInput create: XOR } export type LedgerEntryCreateManyCustomerInputEnvelope = { data: LedgerEntryCreateManyCustomerInput | LedgerEntryCreateManyCustomerInput[] skipDuplicates?: boolean } export type WalletBonusCreateWithoutCustomerInput = { id?: string orderId?: string | null goldGrams: Decimal | DecimalJsLike | number | string grantedAt?: Date | string expiresAt: Date | string consumedAt?: Date | string | null isActive?: boolean } export type WalletBonusUncheckedCreateWithoutCustomerInput = { id?: string orderId?: string | null goldGrams: Decimal | DecimalJsLike | number | string grantedAt?: Date | string expiresAt: Date | string consumedAt?: Date | string | null isActive?: boolean } export type WalletBonusCreateOrConnectWithoutCustomerInput = { where: WalletBonusWhereUniqueInput create: XOR } export type WalletBonusCreateManyCustomerInputEnvelope = { data: WalletBonusCreateManyCustomerInput | WalletBonusCreateManyCustomerInput[] skipDuplicates?: boolean } export type CommentCreateWithoutCustomerInput = { id?: string body: string status?: $Enums.CommentStatus createdAt?: Date | string updatedAt?: Date | string product: ProductCreateNestedOneWithoutCommentsInput replyTo?: CommentCreateNestedOneWithoutRepliesInput replies?: CommentCreateNestedManyWithoutReplyToInput } export type CommentUncheckedCreateWithoutCustomerInput = { id?: string productId: string body: string status?: $Enums.CommentStatus replyToId?: string | null createdAt?: Date | string updatedAt?: Date | string replies?: CommentUncheckedCreateNestedManyWithoutReplyToInput } export type CommentCreateOrConnectWithoutCustomerInput = { where: CommentWhereUniqueInput create: XOR } export type CommentCreateManyCustomerInputEnvelope = { data: CommentCreateManyCustomerInput | CommentCreateManyCustomerInput[] skipDuplicates?: boolean } export type PromotionCreateWithoutCustomerInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string product?: ProductCreateNestedOneWithoutPromotionsInput category?: CategoryCreateNestedOneWithoutPromotionsInput brand?: BrandCreateNestedOneWithoutPromotionsInput } export type PromotionUncheckedCreateWithoutCustomerInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null productId?: string | null categoryId?: string | null brandId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type PromotionCreateOrConnectWithoutCustomerInput = { where: PromotionWhereUniqueInput create: XOR } export type PromotionCreateManyCustomerInputEnvelope = { data: PromotionCreateManyCustomerInput | PromotionCreateManyCustomerInput[] skipDuplicates?: boolean } export type NotificationRecipientCreateWithoutCustomerInput = { id?: string readAt?: Date | string | null notification: NotificationCreateNestedOneWithoutRecipientsInput } export type NotificationRecipientUncheckedCreateWithoutCustomerInput = { id?: string notificationId: string readAt?: Date | string | null } export type NotificationRecipientCreateOrConnectWithoutCustomerInput = { where: NotificationRecipientWhereUniqueInput create: XOR } export type NotificationRecipientCreateManyCustomerInputEnvelope = { data: NotificationRecipientCreateManyCustomerInput | NotificationRecipientCreateManyCustomerInput[] skipDuplicates?: boolean } export type CustomerActivityLogCreateWithoutCustomerInput = { id?: string action: string detail?: string | null createdAt?: Date | string } export type CustomerActivityLogUncheckedCreateWithoutCustomerInput = { id?: string action: string detail?: string | null createdAt?: Date | string } export type CustomerActivityLogCreateOrConnectWithoutCustomerInput = { where: CustomerActivityLogWhereUniqueInput create: XOR } export type CustomerActivityLogCreateManyCustomerInputEnvelope = { data: CustomerActivityLogCreateManyCustomerInput | CustomerActivityLogCreateManyCustomerInput[] skipDuplicates?: boolean } export type CustomerOtpCreateWithoutCustomerInput = { id?: string mobile: string codeHash: string expiresAt: Date | string attempts?: number consumedAt?: Date | string | null requestIp?: string | null createdAt?: Date | string } export type CustomerOtpUncheckedCreateWithoutCustomerInput = { id?: string mobile: string codeHash: string expiresAt: Date | string attempts?: number consumedAt?: Date | string | null requestIp?: string | null createdAt?: Date | string } export type CustomerOtpCreateOrConnectWithoutCustomerInput = { where: CustomerOtpWhereUniqueInput create: XOR } export type CustomerOtpCreateManyCustomerInputEnvelope = { data: CustomerOtpCreateManyCustomerInput | CustomerOtpCreateManyCustomerInput[] skipDuplicates?: boolean } export type CityUpsertWithoutCustomersInput = { update: XOR create: XOR where?: CityWhereInput } export type CityUpdateToOneWithWhereWithoutCustomersInput = { where?: CityWhereInput data: XOR } export type CityUpdateWithoutCustomersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null addresses?: CustomerAddressUpdateManyWithoutCityNestedInput branches?: BranchUpdateManyWithoutCityNestedInput preOrders?: PreOrderUpdateManyWithoutCityNestedInput salesExpertProfiles?: SalesExpertProfileUpdateManyWithoutCityNestedInput } export type CityUncheckedUpdateWithoutCustomersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null addresses?: CustomerAddressUncheckedUpdateManyWithoutCityNestedInput branches?: BranchUncheckedUpdateManyWithoutCityNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCityNestedInput salesExpertProfiles?: SalesExpertProfileUncheckedUpdateManyWithoutCityNestedInput } export type AdminUserUpsertWithoutReferredCustomersInput = { update: XOR create: XOR where?: AdminUserWhereInput } export type AdminUserUpdateToOneWithWhereWithoutReferredCustomersInput = { where?: AdminUserWhereInput data: XOR } export type AdminUserUpdateWithoutReferredCustomersInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput branch?: BranchUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutReferredCustomersInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type SalesExpertProfileUpsertWithoutTradingCustomerInput = { update: XOR create: XOR where?: SalesExpertProfileWhereInput } export type SalesExpertProfileUpdateToOneWithWhereWithoutTradingCustomerInput = { where?: SalesExpertProfileWhereInput data: XOR } export type SalesExpertProfileUpdateWithoutTradingCustomerInput = { id?: StringFieldUpdateOperationsInput | string gramLevel?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string phone?: NullableStringFieldUpdateOperationsInput | string | null nationalCode?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string adminUser?: AdminUserUpdateOneRequiredWithoutSalesExpertProfileNestedInput city?: CityUpdateOneWithoutSalesExpertProfilesNestedInput } export type SalesExpertProfileUncheckedUpdateWithoutTradingCustomerInput = { id?: StringFieldUpdateOperationsInput | string adminUserId?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null gramLevel?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string phone?: NullableStringFieldUpdateOperationsInput | string | null nationalCode?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UploadedFileUpsertWithoutCustomerAvatarsInput = { update: XOR create: XOR where?: UploadedFileWhereInput } export type UploadedFileUpdateToOneWithWhereWithoutCustomerAvatarsInput = { where?: UploadedFileWhereInput data: XOR } export type UploadedFileUpdateWithoutCustomerAvatarsInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string originalName?: StringFieldUpdateOperationsInput | string mimeType?: StringFieldUpdateOperationsInput | string sizeBytes?: IntFieldUpdateOperationsInput | number purpose?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string uploadedByAdminUser?: AdminUserUpdateOneWithoutUploadedFilesNestedInput adminUserAvatars?: AdminUserUpdateManyWithoutAvatarFileNestedInput } export type UploadedFileUncheckedUpdateWithoutCustomerAvatarsInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string originalName?: StringFieldUpdateOperationsInput | string mimeType?: StringFieldUpdateOperationsInput | string sizeBytes?: IntFieldUpdateOperationsInput | number purpose?: NullableStringFieldUpdateOperationsInput | string | null uploadedByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string adminUserAvatars?: AdminUserUncheckedUpdateManyWithoutAvatarFileNestedInput } export type CustomerAddressUpsertWithWhereUniqueWithoutCustomerInput = { where: CustomerAddressWhereUniqueInput update: XOR create: XOR } export type CustomerAddressUpdateWithWhereUniqueWithoutCustomerInput = { where: CustomerAddressWhereUniqueInput data: XOR } export type CustomerAddressUpdateManyWithWhereWithoutCustomerInput = { where: CustomerAddressScalarWhereInput data: XOR } export type OrderUpsertWithWhereUniqueWithoutCustomerInput = { where: OrderWhereUniqueInput update: XOR create: XOR } export type OrderUpdateWithWhereUniqueWithoutCustomerInput = { where: OrderWhereUniqueInput data: XOR } export type OrderUpdateManyWithWhereWithoutCustomerInput = { where: OrderScalarWhereInput data: XOR } export type OrderScalarWhereInput = { AND?: OrderScalarWhereInput | OrderScalarWhereInput[] OR?: OrderScalarWhereInput[] NOT?: OrderScalarWhereInput | OrderScalarWhereInput[] id?: StringFilter<"Order"> | string orderNumber?: StringFilter<"Order"> | string customerId?: StringFilter<"Order"> | string branchId?: StringNullableFilter<"Order"> | string | null channel?: EnumOrderChannelFilter<"Order"> | $Enums.OrderChannel status?: EnumOrderStatusFilter<"Order"> | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFilter<"Order"> | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFilter<"Order"> | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFilter<"Order"> | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFilter<"Order"> | boolean deliveredAt?: DateTimeNullableFilter<"Order"> | Date | string | null createdAt?: DateTimeFilter<"Order"> | Date | string updatedAt?: DateTimeFilter<"Order"> | Date | string } export type PreOrderUpsertWithWhereUniqueWithoutCustomerInput = { where: PreOrderWhereUniqueInput update: XOR create: XOR } export type PreOrderUpdateWithWhereUniqueWithoutCustomerInput = { where: PreOrderWhereUniqueInput data: XOR } export type PreOrderUpdateManyWithWhereWithoutCustomerInput = { where: PreOrderScalarWhereInput data: XOR } export type LedgerEntryUpsertWithWhereUniqueWithoutCustomerInput = { where: LedgerEntryWhereUniqueInput update: XOR create: XOR } export type LedgerEntryUpdateWithWhereUniqueWithoutCustomerInput = { where: LedgerEntryWhereUniqueInput data: XOR } export type LedgerEntryUpdateManyWithWhereWithoutCustomerInput = { where: LedgerEntryScalarWhereInput data: XOR } export type WalletBonusUpsertWithWhereUniqueWithoutCustomerInput = { where: WalletBonusWhereUniqueInput update: XOR create: XOR } export type WalletBonusUpdateWithWhereUniqueWithoutCustomerInput = { where: WalletBonusWhereUniqueInput data: XOR } export type WalletBonusUpdateManyWithWhereWithoutCustomerInput = { where: WalletBonusScalarWhereInput data: XOR } export type WalletBonusScalarWhereInput = { AND?: WalletBonusScalarWhereInput | WalletBonusScalarWhereInput[] OR?: WalletBonusScalarWhereInput[] NOT?: WalletBonusScalarWhereInput | WalletBonusScalarWhereInput[] id?: StringFilter<"WalletBonus"> | string customerId?: StringFilter<"WalletBonus"> | string orderId?: StringNullableFilter<"WalletBonus"> | string | null goldGrams?: DecimalFilter<"WalletBonus"> | Decimal | DecimalJsLike | number | string grantedAt?: DateTimeFilter<"WalletBonus"> | Date | string expiresAt?: DateTimeFilter<"WalletBonus"> | Date | string consumedAt?: DateTimeNullableFilter<"WalletBonus"> | Date | string | null isActive?: BoolFilter<"WalletBonus"> | boolean } export type CommentUpsertWithWhereUniqueWithoutCustomerInput = { where: CommentWhereUniqueInput update: XOR create: XOR } export type CommentUpdateWithWhereUniqueWithoutCustomerInput = { where: CommentWhereUniqueInput data: XOR } export type CommentUpdateManyWithWhereWithoutCustomerInput = { where: CommentScalarWhereInput data: XOR } export type CommentScalarWhereInput = { AND?: CommentScalarWhereInput | CommentScalarWhereInput[] OR?: CommentScalarWhereInput[] NOT?: CommentScalarWhereInput | CommentScalarWhereInput[] id?: StringFilter<"Comment"> | string productId?: StringFilter<"Comment"> | string customerId?: StringFilter<"Comment"> | string body?: StringFilter<"Comment"> | string status?: EnumCommentStatusFilter<"Comment"> | $Enums.CommentStatus replyToId?: StringNullableFilter<"Comment"> | string | null createdAt?: DateTimeFilter<"Comment"> | Date | string updatedAt?: DateTimeFilter<"Comment"> | Date | string } export type PromotionUpsertWithWhereUniqueWithoutCustomerInput = { where: PromotionWhereUniqueInput update: XOR create: XOR } export type PromotionUpdateWithWhereUniqueWithoutCustomerInput = { where: PromotionWhereUniqueInput data: XOR } export type PromotionUpdateManyWithWhereWithoutCustomerInput = { where: PromotionScalarWhereInput data: XOR } export type PromotionScalarWhereInput = { AND?: PromotionScalarWhereInput | PromotionScalarWhereInput[] OR?: PromotionScalarWhereInput[] NOT?: PromotionScalarWhereInput | PromotionScalarWhereInput[] id?: StringFilter<"Promotion"> | string title?: StringFilter<"Promotion"> | string description?: StringNullableFilter<"Promotion"> | string | null scope?: EnumPromotionScopeFilter<"Promotion"> | $Enums.PromotionScope usage?: EnumPromotionUsageFilter<"Promotion"> | $Enums.PromotionUsage discountPercent?: DecimalFilter<"Promotion"> | Decimal | DecimalJsLike | number | string isActive?: BoolFilter<"Promotion"> | boolean platform?: IntFilter<"Promotion"> | number startsAt?: DateTimeNullableFilter<"Promotion"> | Date | string | null endsAt?: DateTimeNullableFilter<"Promotion"> | Date | string | null productId?: StringNullableFilter<"Promotion"> | string | null categoryId?: StringNullableFilter<"Promotion"> | string | null customerId?: StringNullableFilter<"Promotion"> | string | null brandId?: StringNullableFilter<"Promotion"> | string | null createdAt?: DateTimeFilter<"Promotion"> | Date | string updatedAt?: DateTimeFilter<"Promotion"> | Date | string } export type NotificationRecipientUpsertWithWhereUniqueWithoutCustomerInput = { where: NotificationRecipientWhereUniqueInput update: XOR create: XOR } export type NotificationRecipientUpdateWithWhereUniqueWithoutCustomerInput = { where: NotificationRecipientWhereUniqueInput data: XOR } export type NotificationRecipientUpdateManyWithWhereWithoutCustomerInput = { where: NotificationRecipientScalarWhereInput data: XOR } export type NotificationRecipientScalarWhereInput = { AND?: NotificationRecipientScalarWhereInput | NotificationRecipientScalarWhereInput[] OR?: NotificationRecipientScalarWhereInput[] NOT?: NotificationRecipientScalarWhereInput | NotificationRecipientScalarWhereInput[] id?: StringFilter<"NotificationRecipient"> | string notificationId?: StringFilter<"NotificationRecipient"> | string customerId?: StringFilter<"NotificationRecipient"> | string readAt?: DateTimeNullableFilter<"NotificationRecipient"> | Date | string | null } export type CustomerActivityLogUpsertWithWhereUniqueWithoutCustomerInput = { where: CustomerActivityLogWhereUniqueInput update: XOR create: XOR } export type CustomerActivityLogUpdateWithWhereUniqueWithoutCustomerInput = { where: CustomerActivityLogWhereUniqueInput data: XOR } export type CustomerActivityLogUpdateManyWithWhereWithoutCustomerInput = { where: CustomerActivityLogScalarWhereInput data: XOR } export type CustomerActivityLogScalarWhereInput = { AND?: CustomerActivityLogScalarWhereInput | CustomerActivityLogScalarWhereInput[] OR?: CustomerActivityLogScalarWhereInput[] NOT?: CustomerActivityLogScalarWhereInput | CustomerActivityLogScalarWhereInput[] id?: StringFilter<"CustomerActivityLog"> | string customerId?: StringFilter<"CustomerActivityLog"> | string action?: StringFilter<"CustomerActivityLog"> | string detail?: StringNullableFilter<"CustomerActivityLog"> | string | null createdAt?: DateTimeFilter<"CustomerActivityLog"> | Date | string } export type CustomerOtpUpsertWithWhereUniqueWithoutCustomerInput = { where: CustomerOtpWhereUniqueInput update: XOR create: XOR } export type CustomerOtpUpdateWithWhereUniqueWithoutCustomerInput = { where: CustomerOtpWhereUniqueInput data: XOR } export type CustomerOtpUpdateManyWithWhereWithoutCustomerInput = { where: CustomerOtpScalarWhereInput data: XOR } export type CustomerOtpScalarWhereInput = { AND?: CustomerOtpScalarWhereInput | CustomerOtpScalarWhereInput[] OR?: CustomerOtpScalarWhereInput[] NOT?: CustomerOtpScalarWhereInput | CustomerOtpScalarWhereInput[] id?: StringFilter<"CustomerOtp"> | string mobile?: StringFilter<"CustomerOtp"> | string customerId?: StringFilter<"CustomerOtp"> | string codeHash?: StringFilter<"CustomerOtp"> | string expiresAt?: DateTimeFilter<"CustomerOtp"> | Date | string attempts?: IntFilter<"CustomerOtp"> | number consumedAt?: DateTimeNullableFilter<"CustomerOtp"> | Date | string | null requestIp?: StringNullableFilter<"CustomerOtp"> | string | null createdAt?: DateTimeFilter<"CustomerOtp"> | Date | string } export type CustomerCreateWithoutAddressesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput orders?: OrderCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutAddressesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutAddressesInput = { where: CustomerWhereUniqueInput create: XOR } export type CityCreateWithoutAddressesInput = { id?: string name: string province?: string | null percent?: Decimal | DecimalJsLike | number | string | null percentAux?: Decimal | DecimalJsLike | number | string | null customers?: CustomerCreateNestedManyWithoutCityInput branches?: BranchCreateNestedManyWithoutCityInput preOrders?: PreOrderCreateNestedManyWithoutCityInput salesExpertProfiles?: SalesExpertProfileCreateNestedManyWithoutCityInput } export type CityUncheckedCreateWithoutAddressesInput = { id?: string name: string province?: string | null percent?: Decimal | DecimalJsLike | number | string | null percentAux?: Decimal | DecimalJsLike | number | string | null customers?: CustomerUncheckedCreateNestedManyWithoutCityInput branches?: BranchUncheckedCreateNestedManyWithoutCityInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCityInput salesExpertProfiles?: SalesExpertProfileUncheckedCreateNestedManyWithoutCityInput } export type CityCreateOrConnectWithoutAddressesInput = { where: CityWhereUniqueInput create: XOR } export type CustomerUpsertWithoutAddressesInput = { update: XOR create: XOR where?: CustomerWhereInput } export type CustomerUpdateToOneWithWhereWithoutAddressesInput = { where?: CustomerWhereInput data: XOR } export type CustomerUpdateWithoutAddressesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutAddressesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type CityUpsertWithoutAddressesInput = { update: XOR create: XOR where?: CityWhereInput } export type CityUpdateToOneWithWhereWithoutAddressesInput = { where?: CityWhereInput data: XOR } export type CityUpdateWithoutAddressesInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null customers?: CustomerUpdateManyWithoutCityNestedInput branches?: BranchUpdateManyWithoutCityNestedInput preOrders?: PreOrderUpdateManyWithoutCityNestedInput salesExpertProfiles?: SalesExpertProfileUpdateManyWithoutCityNestedInput } export type CityUncheckedUpdateWithoutAddressesInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null customers?: CustomerUncheckedUpdateManyWithoutCityNestedInput branches?: BranchUncheckedUpdateManyWithoutCityNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCityNestedInput salesExpertProfiles?: SalesExpertProfileUncheckedUpdateManyWithoutCityNestedInput } export type CityCreateWithoutBranchesInput = { id?: string name: string province?: string | null percent?: Decimal | DecimalJsLike | number | string | null percentAux?: Decimal | DecimalJsLike | number | string | null customers?: CustomerCreateNestedManyWithoutCityInput addresses?: CustomerAddressCreateNestedManyWithoutCityInput preOrders?: PreOrderCreateNestedManyWithoutCityInput salesExpertProfiles?: SalesExpertProfileCreateNestedManyWithoutCityInput } export type CityUncheckedCreateWithoutBranchesInput = { id?: string name: string province?: string | null percent?: Decimal | DecimalJsLike | number | string | null percentAux?: Decimal | DecimalJsLike | number | string | null customers?: CustomerUncheckedCreateNestedManyWithoutCityInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCityInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCityInput salesExpertProfiles?: SalesExpertProfileUncheckedCreateNestedManyWithoutCityInput } export type CityCreateOrConnectWithoutBranchesInput = { where: CityWhereUniqueInput create: XOR } export type AdminUserCreateWithoutBranchInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutBranchInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutBranchInput = { where: AdminUserWhereUniqueInput create: XOR } export type AdminUserCreateManyBranchInputEnvelope = { data: AdminUserCreateManyBranchInput | AdminUserCreateManyBranchInput[] skipDuplicates?: boolean } export type OrderCreateWithoutBranchInput = { id?: string orderNumber: string channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string customer: CustomerCreateNestedOneWithoutOrdersInput items?: OrderItemCreateNestedManyWithoutOrderInput statusEvents?: OrderStatusEventCreateNestedManyWithoutOrderInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutOrderInput convertedFromPreOrder?: PreOrderCreateNestedOneWithoutConvertedOrderInput } export type OrderUncheckedCreateWithoutBranchInput = { id?: string orderNumber: string customerId: string channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string items?: OrderItemUncheckedCreateNestedManyWithoutOrderInput statusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutOrderInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutOrderInput convertedFromPreOrder?: PreOrderUncheckedCreateNestedOneWithoutConvertedOrderInput } export type OrderCreateOrConnectWithoutBranchInput = { where: OrderWhereUniqueInput create: XOR } export type OrderCreateManyBranchInputEnvelope = { data: OrderCreateManyBranchInput | OrderCreateManyBranchInput[] skipDuplicates?: boolean } export type BranchAllocationCreateWithoutBranchInput = { id?: string note?: string | null createdAt?: Date | string allocatorAdminUser?: AdminUserCreateNestedOneWithoutBranchAllocationsInput items?: BranchAllocationItemCreateNestedManyWithoutAllocationInput } export type BranchAllocationUncheckedCreateWithoutBranchInput = { id?: string allocatorAdminUserId?: string | null note?: string | null createdAt?: Date | string items?: BranchAllocationItemUncheckedCreateNestedManyWithoutAllocationInput } export type BranchAllocationCreateOrConnectWithoutBranchInput = { where: BranchAllocationWhereUniqueInput create: XOR } export type BranchAllocationCreateManyBranchInputEnvelope = { data: BranchAllocationCreateManyBranchInput | BranchAllocationCreateManyBranchInput[] skipDuplicates?: boolean } export type CityUpsertWithoutBranchesInput = { update: XOR create: XOR where?: CityWhereInput } export type CityUpdateToOneWithWhereWithoutBranchesInput = { where?: CityWhereInput data: XOR } export type CityUpdateWithoutBranchesInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null customers?: CustomerUpdateManyWithoutCityNestedInput addresses?: CustomerAddressUpdateManyWithoutCityNestedInput preOrders?: PreOrderUpdateManyWithoutCityNestedInput salesExpertProfiles?: SalesExpertProfileUpdateManyWithoutCityNestedInput } export type CityUncheckedUpdateWithoutBranchesInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null customers?: CustomerUncheckedUpdateManyWithoutCityNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCityNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCityNestedInput salesExpertProfiles?: SalesExpertProfileUncheckedUpdateManyWithoutCityNestedInput } export type AdminUserUpsertWithWhereUniqueWithoutBranchInput = { where: AdminUserWhereUniqueInput update: XOR create: XOR } export type AdminUserUpdateWithWhereUniqueWithoutBranchInput = { where: AdminUserWhereUniqueInput data: XOR } export type AdminUserUpdateManyWithWhereWithoutBranchInput = { where: AdminUserScalarWhereInput data: XOR } export type AdminUserScalarWhereInput = { AND?: AdminUserScalarWhereInput | AdminUserScalarWhereInput[] OR?: AdminUserScalarWhereInput[] NOT?: AdminUserScalarWhereInput | AdminUserScalarWhereInput[] id?: StringFilter<"AdminUser"> | string fullName?: StringFilter<"AdminUser"> | string firstName?: StringNullableFilter<"AdminUser"> | string | null lastName?: StringNullableFilter<"AdminUser"> | string | null mobile?: StringFilter<"AdminUser"> | string passwordHash?: StringFilter<"AdminUser"> | string role?: EnumAdminRoleFilter<"AdminUser"> | $Enums.AdminRole userTypeId?: IntNullableFilter<"AdminUser"> | number | null branchId?: StringNullableFilter<"AdminUser"> | string | null wagePercent?: DecimalNullableFilter<"AdminUser"> | Decimal | DecimalJsLike | number | string | null isActive?: BoolFilter<"AdminUser"> | boolean createdAt?: DateTimeFilter<"AdminUser"> | Date | string avatarFileId?: StringNullableFilter<"AdminUser"> | string | null address?: StringNullableFilter<"AdminUser"> | string | null storeName?: StringNullableFilter<"AdminUser"> | string | null pasazhName?: StringNullableFilter<"AdminUser"> | string | null memberCode?: StringNullableFilter<"AdminUser"> | string | null } export type OrderUpsertWithWhereUniqueWithoutBranchInput = { where: OrderWhereUniqueInput update: XOR create: XOR } export type OrderUpdateWithWhereUniqueWithoutBranchInput = { where: OrderWhereUniqueInput data: XOR } export type OrderUpdateManyWithWhereWithoutBranchInput = { where: OrderScalarWhereInput data: XOR } export type BranchAllocationUpsertWithWhereUniqueWithoutBranchInput = { where: BranchAllocationWhereUniqueInput update: XOR create: XOR } export type BranchAllocationUpdateWithWhereUniqueWithoutBranchInput = { where: BranchAllocationWhereUniqueInput data: XOR } export type BranchAllocationUpdateManyWithWhereWithoutBranchInput = { where: BranchAllocationScalarWhereInput data: XOR } export type AdminUserCreateWithoutSupervisedWorkshopsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput branch?: BranchCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutSupervisedWorkshopsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutSupervisedWorkshopsInput = { where: AdminUserWhereUniqueInput create: XOR } export type PreOrderCreateWithoutWorkshopInput = { id?: string status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null createdAt?: Date | string updatedAt?: Date | string customer: CustomerCreateNestedOneWithoutPreOrdersInput city?: CityCreateNestedOneWithoutPreOrdersInput convertedOrder?: OrderCreateNestedOneWithoutConvertedFromPreOrderInput statusEvents?: PreOrderStatusEventCreateNestedManyWithoutPreOrderInput } export type PreOrderUncheckedCreateWithoutWorkshopInput = { id?: string customerId: string cityId?: string | null status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null convertedOrderId?: string | null createdAt?: Date | string updatedAt?: Date | string statusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutPreOrderInput } export type PreOrderCreateOrConnectWithoutWorkshopInput = { where: PreOrderWhereUniqueInput create: XOR } export type PreOrderCreateManyWorkshopInputEnvelope = { data: PreOrderCreateManyWorkshopInput | PreOrderCreateManyWorkshopInput[] skipDuplicates?: boolean } export type AdminUserUpsertWithoutSupervisedWorkshopsInput = { update: XOR create: XOR where?: AdminUserWhereInput } export type AdminUserUpdateToOneWithWhereWithoutSupervisedWorkshopsInput = { where?: AdminUserWhereInput data: XOR } export type AdminUserUpdateWithoutSupervisedWorkshopsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput branch?: BranchUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutSupervisedWorkshopsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type PreOrderUpsertWithWhereUniqueWithoutWorkshopInput = { where: PreOrderWhereUniqueInput update: XOR create: XOR } export type PreOrderUpdateWithWhereUniqueWithoutWorkshopInput = { where: PreOrderWhereUniqueInput data: XOR } export type PreOrderUpdateManyWithWhereWithoutWorkshopInput = { where: PreOrderScalarWhereInput data: XOR } export type CategoryCreateWithoutChildrenInput = { id?: string title: string type?: number imageUrl?: string | null iconUrl?: string | null metaTag?: string | null description?: string | null parent?: CategoryCreateNestedOneWithoutChildrenInput products?: ProductCreateNestedManyWithoutCategoryInput promotions?: PromotionCreateNestedManyWithoutCategoryInput } export type CategoryUncheckedCreateWithoutChildrenInput = { id?: string title: string type?: number imageUrl?: string | null iconUrl?: string | null metaTag?: string | null description?: string | null parentId?: string | null products?: ProductUncheckedCreateNestedManyWithoutCategoryInput promotions?: PromotionUncheckedCreateNestedManyWithoutCategoryInput } export type CategoryCreateOrConnectWithoutChildrenInput = { where: CategoryWhereUniqueInput create: XOR } export type CategoryCreateWithoutParentInput = { id?: string title: string type?: number imageUrl?: string | null iconUrl?: string | null metaTag?: string | null description?: string | null children?: CategoryCreateNestedManyWithoutParentInput products?: ProductCreateNestedManyWithoutCategoryInput promotions?: PromotionCreateNestedManyWithoutCategoryInput } export type CategoryUncheckedCreateWithoutParentInput = { id?: string title: string type?: number imageUrl?: string | null iconUrl?: string | null metaTag?: string | null description?: string | null children?: CategoryUncheckedCreateNestedManyWithoutParentInput products?: ProductUncheckedCreateNestedManyWithoutCategoryInput promotions?: PromotionUncheckedCreateNestedManyWithoutCategoryInput } export type CategoryCreateOrConnectWithoutParentInput = { where: CategoryWhereUniqueInput create: XOR } export type CategoryCreateManyParentInputEnvelope = { data: CategoryCreateManyParentInput | CategoryCreateManyParentInput[] skipDuplicates?: boolean } export type ProductCreateWithoutCategoryInput = { id?: string title: string description?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string brand?: BrandCreateNestedOneWithoutProductsInput variants?: ProductVariantCreateNestedManyWithoutProductInput images?: ProductImageCreateNestedManyWithoutProductInput collections?: CollectionProductCreateNestedManyWithoutProductInput comments?: CommentCreateNestedManyWithoutProductInput promotions?: PromotionCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemCreateNestedManyWithoutProductInput } export type ProductUncheckedCreateWithoutCategoryInput = { id?: string title: string description?: string | null brandId?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string variants?: ProductVariantUncheckedCreateNestedManyWithoutProductInput images?: ProductImageUncheckedCreateNestedManyWithoutProductInput collections?: CollectionProductUncheckedCreateNestedManyWithoutProductInput comments?: CommentUncheckedCreateNestedManyWithoutProductInput promotions?: PromotionUncheckedCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemUncheckedCreateNestedManyWithoutProductInput } export type ProductCreateOrConnectWithoutCategoryInput = { where: ProductWhereUniqueInput create: XOR } export type ProductCreateManyCategoryInputEnvelope = { data: ProductCreateManyCategoryInput | ProductCreateManyCategoryInput[] skipDuplicates?: boolean } export type PromotionCreateWithoutCategoryInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string product?: ProductCreateNestedOneWithoutPromotionsInput customer?: CustomerCreateNestedOneWithoutPromotionsInput brand?: BrandCreateNestedOneWithoutPromotionsInput } export type PromotionUncheckedCreateWithoutCategoryInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null productId?: string | null customerId?: string | null brandId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type PromotionCreateOrConnectWithoutCategoryInput = { where: PromotionWhereUniqueInput create: XOR } export type PromotionCreateManyCategoryInputEnvelope = { data: PromotionCreateManyCategoryInput | PromotionCreateManyCategoryInput[] skipDuplicates?: boolean } export type CategoryUpsertWithoutChildrenInput = { update: XOR create: XOR where?: CategoryWhereInput } export type CategoryUpdateToOneWithWhereWithoutChildrenInput = { where?: CategoryWhereInput data: XOR } export type CategoryUpdateWithoutChildrenInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number imageUrl?: NullableStringFieldUpdateOperationsInput | string | null iconUrl?: NullableStringFieldUpdateOperationsInput | string | null metaTag?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null parent?: CategoryUpdateOneWithoutChildrenNestedInput products?: ProductUpdateManyWithoutCategoryNestedInput promotions?: PromotionUpdateManyWithoutCategoryNestedInput } export type CategoryUncheckedUpdateWithoutChildrenInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number imageUrl?: NullableStringFieldUpdateOperationsInput | string | null iconUrl?: NullableStringFieldUpdateOperationsInput | string | null metaTag?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null parentId?: NullableStringFieldUpdateOperationsInput | string | null products?: ProductUncheckedUpdateManyWithoutCategoryNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCategoryNestedInput } export type CategoryUpsertWithWhereUniqueWithoutParentInput = { where: CategoryWhereUniqueInput update: XOR create: XOR } export type CategoryUpdateWithWhereUniqueWithoutParentInput = { where: CategoryWhereUniqueInput data: XOR } export type CategoryUpdateManyWithWhereWithoutParentInput = { where: CategoryScalarWhereInput data: XOR } export type CategoryScalarWhereInput = { AND?: CategoryScalarWhereInput | CategoryScalarWhereInput[] OR?: CategoryScalarWhereInput[] NOT?: CategoryScalarWhereInput | CategoryScalarWhereInput[] id?: StringFilter<"Category"> | string title?: StringFilter<"Category"> | string type?: IntFilter<"Category"> | number imageUrl?: StringNullableFilter<"Category"> | string | null iconUrl?: StringNullableFilter<"Category"> | string | null metaTag?: StringNullableFilter<"Category"> | string | null description?: StringNullableFilter<"Category"> | string | null parentId?: StringNullableFilter<"Category"> | string | null } export type ProductUpsertWithWhereUniqueWithoutCategoryInput = { where: ProductWhereUniqueInput update: XOR create: XOR } export type ProductUpdateWithWhereUniqueWithoutCategoryInput = { where: ProductWhereUniqueInput data: XOR } export type ProductUpdateManyWithWhereWithoutCategoryInput = { where: ProductScalarWhereInput data: XOR } export type ProductScalarWhereInput = { AND?: ProductScalarWhereInput | ProductScalarWhereInput[] OR?: ProductScalarWhereInput[] NOT?: ProductScalarWhereInput | ProductScalarWhereInput[] id?: StringFilter<"Product"> | string title?: StringFilter<"Product"> | string description?: StringNullableFilter<"Product"> | string | null categoryId?: StringNullableFilter<"Product"> | string | null brandId?: StringNullableFilter<"Product"> | string | null productCode?: StringNullableFilter<"Product"> | string | null showType?: IntFilter<"Product"> | number isActive?: BoolFilter<"Product"> | boolean createdAt?: DateTimeFilter<"Product"> | Date | string } export type PromotionUpsertWithWhereUniqueWithoutCategoryInput = { where: PromotionWhereUniqueInput update: XOR create: XOR } export type PromotionUpdateWithWhereUniqueWithoutCategoryInput = { where: PromotionWhereUniqueInput data: XOR } export type PromotionUpdateManyWithWhereWithoutCategoryInput = { where: PromotionScalarWhereInput data: XOR } export type ProductCreateWithoutBrandInput = { id?: string title: string description?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string category?: CategoryCreateNestedOneWithoutProductsInput variants?: ProductVariantCreateNestedManyWithoutProductInput images?: ProductImageCreateNestedManyWithoutProductInput collections?: CollectionProductCreateNestedManyWithoutProductInput comments?: CommentCreateNestedManyWithoutProductInput promotions?: PromotionCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemCreateNestedManyWithoutProductInput } export type ProductUncheckedCreateWithoutBrandInput = { id?: string title: string description?: string | null categoryId?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string variants?: ProductVariantUncheckedCreateNestedManyWithoutProductInput images?: ProductImageUncheckedCreateNestedManyWithoutProductInput collections?: CollectionProductUncheckedCreateNestedManyWithoutProductInput comments?: CommentUncheckedCreateNestedManyWithoutProductInput promotions?: PromotionUncheckedCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemUncheckedCreateNestedManyWithoutProductInput } export type ProductCreateOrConnectWithoutBrandInput = { where: ProductWhereUniqueInput create: XOR } export type ProductCreateManyBrandInputEnvelope = { data: ProductCreateManyBrandInput | ProductCreateManyBrandInput[] skipDuplicates?: boolean } export type PromotionCreateWithoutBrandInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string product?: ProductCreateNestedOneWithoutPromotionsInput category?: CategoryCreateNestedOneWithoutPromotionsInput customer?: CustomerCreateNestedOneWithoutPromotionsInput } export type PromotionUncheckedCreateWithoutBrandInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null productId?: string | null categoryId?: string | null customerId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type PromotionCreateOrConnectWithoutBrandInput = { where: PromotionWhereUniqueInput create: XOR } export type PromotionCreateManyBrandInputEnvelope = { data: PromotionCreateManyBrandInput | PromotionCreateManyBrandInput[] skipDuplicates?: boolean } export type ProductUpsertWithWhereUniqueWithoutBrandInput = { where: ProductWhereUniqueInput update: XOR create: XOR } export type ProductUpdateWithWhereUniqueWithoutBrandInput = { where: ProductWhereUniqueInput data: XOR } export type ProductUpdateManyWithWhereWithoutBrandInput = { where: ProductScalarWhereInput data: XOR } export type PromotionUpsertWithWhereUniqueWithoutBrandInput = { where: PromotionWhereUniqueInput update: XOR create: XOR } export type PromotionUpdateWithWhereUniqueWithoutBrandInput = { where: PromotionWhereUniqueInput data: XOR } export type PromotionUpdateManyWithWhereWithoutBrandInput = { where: PromotionScalarWhereInput data: XOR } export type CollectionProductCreateWithoutCollectionInput = { product: ProductCreateNestedOneWithoutCollectionsInput } export type CollectionProductUncheckedCreateWithoutCollectionInput = { productId: string } export type CollectionProductCreateOrConnectWithoutCollectionInput = { where: CollectionProductWhereUniqueInput create: XOR } export type CollectionProductCreateManyCollectionInputEnvelope = { data: CollectionProductCreateManyCollectionInput | CollectionProductCreateManyCollectionInput[] skipDuplicates?: boolean } export type CollectionProductUpsertWithWhereUniqueWithoutCollectionInput = { where: CollectionProductWhereUniqueInput update: XOR create: XOR } export type CollectionProductUpdateWithWhereUniqueWithoutCollectionInput = { where: CollectionProductWhereUniqueInput data: XOR } export type CollectionProductUpdateManyWithWhereWithoutCollectionInput = { where: CollectionProductScalarWhereInput data: XOR } export type CollectionProductScalarWhereInput = { AND?: CollectionProductScalarWhereInput | CollectionProductScalarWhereInput[] OR?: CollectionProductScalarWhereInput[] NOT?: CollectionProductScalarWhereInput | CollectionProductScalarWhereInput[] collectionId?: StringFilter<"CollectionProduct"> | string productId?: StringFilter<"CollectionProduct"> | string } export type CollectionCreateWithoutProductsInput = { id?: string title: string description?: string | null isActive?: boolean } export type CollectionUncheckedCreateWithoutProductsInput = { id?: string title: string description?: string | null isActive?: boolean } export type CollectionCreateOrConnectWithoutProductsInput = { where: CollectionWhereUniqueInput create: XOR } export type ProductCreateWithoutCollectionsInput = { id?: string title: string description?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string category?: CategoryCreateNestedOneWithoutProductsInput brand?: BrandCreateNestedOneWithoutProductsInput variants?: ProductVariantCreateNestedManyWithoutProductInput images?: ProductImageCreateNestedManyWithoutProductInput comments?: CommentCreateNestedManyWithoutProductInput promotions?: PromotionCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemCreateNestedManyWithoutProductInput } export type ProductUncheckedCreateWithoutCollectionsInput = { id?: string title: string description?: string | null categoryId?: string | null brandId?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string variants?: ProductVariantUncheckedCreateNestedManyWithoutProductInput images?: ProductImageUncheckedCreateNestedManyWithoutProductInput comments?: CommentUncheckedCreateNestedManyWithoutProductInput promotions?: PromotionUncheckedCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemUncheckedCreateNestedManyWithoutProductInput } export type ProductCreateOrConnectWithoutCollectionsInput = { where: ProductWhereUniqueInput create: XOR } export type CollectionUpsertWithoutProductsInput = { update: XOR create: XOR where?: CollectionWhereInput } export type CollectionUpdateToOneWithWhereWithoutProductsInput = { where?: CollectionWhereInput data: XOR } export type CollectionUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type CollectionUncheckedUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type ProductUpsertWithoutCollectionsInput = { update: XOR create: XOR where?: ProductWhereInput } export type ProductUpdateToOneWithWhereWithoutCollectionsInput = { where?: ProductWhereInput data: XOR } export type ProductUpdateWithoutCollectionsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string category?: CategoryUpdateOneWithoutProductsNestedInput brand?: BrandUpdateOneWithoutProductsNestedInput variants?: ProductVariantUpdateManyWithoutProductNestedInput images?: ProductImageUpdateManyWithoutProductNestedInput comments?: CommentUpdateManyWithoutProductNestedInput promotions?: PromotionUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateWithoutCollectionsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string variants?: ProductVariantUncheckedUpdateManyWithoutProductNestedInput images?: ProductImageUncheckedUpdateManyWithoutProductNestedInput comments?: CommentUncheckedUpdateManyWithoutProductNestedInput promotions?: PromotionUncheckedUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUncheckedUpdateManyWithoutProductNestedInput } export type CategoryCreateWithoutProductsInput = { id?: string title: string type?: number imageUrl?: string | null iconUrl?: string | null metaTag?: string | null description?: string | null parent?: CategoryCreateNestedOneWithoutChildrenInput children?: CategoryCreateNestedManyWithoutParentInput promotions?: PromotionCreateNestedManyWithoutCategoryInput } export type CategoryUncheckedCreateWithoutProductsInput = { id?: string title: string type?: number imageUrl?: string | null iconUrl?: string | null metaTag?: string | null description?: string | null parentId?: string | null children?: CategoryUncheckedCreateNestedManyWithoutParentInput promotions?: PromotionUncheckedCreateNestedManyWithoutCategoryInput } export type CategoryCreateOrConnectWithoutProductsInput = { where: CategoryWhereUniqueInput create: XOR } export type BrandCreateWithoutProductsInput = { id?: string title: string promotions?: PromotionCreateNestedManyWithoutBrandInput } export type BrandUncheckedCreateWithoutProductsInput = { id?: string title: string promotions?: PromotionUncheckedCreateNestedManyWithoutBrandInput } export type BrandCreateOrConnectWithoutProductsInput = { where: BrandWhereUniqueInput create: XOR } export type ProductVariantCreateWithoutProductInput = { id?: string title: string sku?: string | null rashWeightGrams: Decimal | DecimalJsLike | number | string defaultWagePercent: Decimal | DecimalJsLike | number | string qty?: number isPreOrder?: boolean isActive?: boolean image?: ProductImageCreateNestedOneWithoutVariantsInput orderItems?: OrderItemCreateNestedManyWithoutProductVariantInput } export type ProductVariantUncheckedCreateWithoutProductInput = { id?: string title: string sku?: string | null rashWeightGrams: Decimal | DecimalJsLike | number | string defaultWagePercent: Decimal | DecimalJsLike | number | string qty?: number isPreOrder?: boolean isActive?: boolean imageId?: string | null orderItems?: OrderItemUncheckedCreateNestedManyWithoutProductVariantInput } export type ProductVariantCreateOrConnectWithoutProductInput = { where: ProductVariantWhereUniqueInput create: XOR } export type ProductVariantCreateManyProductInputEnvelope = { data: ProductVariantCreateManyProductInput | ProductVariantCreateManyProductInput[] skipDuplicates?: boolean } export type ProductImageCreateWithoutProductInput = { id?: string url: string sortOrder?: number role?: $Enums.ProductImageRole variants?: ProductVariantCreateNestedManyWithoutImageInput } export type ProductImageUncheckedCreateWithoutProductInput = { id?: string url: string sortOrder?: number role?: $Enums.ProductImageRole variants?: ProductVariantUncheckedCreateNestedManyWithoutImageInput } export type ProductImageCreateOrConnectWithoutProductInput = { where: ProductImageWhereUniqueInput create: XOR } export type ProductImageCreateManyProductInputEnvelope = { data: ProductImageCreateManyProductInput | ProductImageCreateManyProductInput[] skipDuplicates?: boolean } export type CollectionProductCreateWithoutProductInput = { collection: CollectionCreateNestedOneWithoutProductsInput } export type CollectionProductUncheckedCreateWithoutProductInput = { collectionId: string } export type CollectionProductCreateOrConnectWithoutProductInput = { where: CollectionProductWhereUniqueInput create: XOR } export type CollectionProductCreateManyProductInputEnvelope = { data: CollectionProductCreateManyProductInput | CollectionProductCreateManyProductInput[] skipDuplicates?: boolean } export type CommentCreateWithoutProductInput = { id?: string body: string status?: $Enums.CommentStatus createdAt?: Date | string updatedAt?: Date | string customer: CustomerCreateNestedOneWithoutCommentsInput replyTo?: CommentCreateNestedOneWithoutRepliesInput replies?: CommentCreateNestedManyWithoutReplyToInput } export type CommentUncheckedCreateWithoutProductInput = { id?: string customerId: string body: string status?: $Enums.CommentStatus replyToId?: string | null createdAt?: Date | string updatedAt?: Date | string replies?: CommentUncheckedCreateNestedManyWithoutReplyToInput } export type CommentCreateOrConnectWithoutProductInput = { where: CommentWhereUniqueInput create: XOR } export type CommentCreateManyProductInputEnvelope = { data: CommentCreateManyProductInput | CommentCreateManyProductInput[] skipDuplicates?: boolean } export type PromotionCreateWithoutProductInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string category?: CategoryCreateNestedOneWithoutPromotionsInput customer?: CustomerCreateNestedOneWithoutPromotionsInput brand?: BrandCreateNestedOneWithoutPromotionsInput } export type PromotionUncheckedCreateWithoutProductInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null categoryId?: string | null customerId?: string | null brandId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type PromotionCreateOrConnectWithoutProductInput = { where: PromotionWhereUniqueInput create: XOR } export type PromotionCreateManyProductInputEnvelope = { data: PromotionCreateManyProductInput | PromotionCreateManyProductInput[] skipDuplicates?: boolean } export type BranchAllocationItemCreateWithoutProductInput = { id?: string weightGrams?: Decimal | DecimalJsLike | number | string | null allocation: BranchAllocationCreateNestedOneWithoutItemsInput } export type BranchAllocationItemUncheckedCreateWithoutProductInput = { id?: string allocationId: string weightGrams?: Decimal | DecimalJsLike | number | string | null } export type BranchAllocationItemCreateOrConnectWithoutProductInput = { where: BranchAllocationItemWhereUniqueInput create: XOR } export type BranchAllocationItemCreateManyProductInputEnvelope = { data: BranchAllocationItemCreateManyProductInput | BranchAllocationItemCreateManyProductInput[] skipDuplicates?: boolean } export type CategoryUpsertWithoutProductsInput = { update: XOR create: XOR where?: CategoryWhereInput } export type CategoryUpdateToOneWithWhereWithoutProductsInput = { where?: CategoryWhereInput data: XOR } export type CategoryUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number imageUrl?: NullableStringFieldUpdateOperationsInput | string | null iconUrl?: NullableStringFieldUpdateOperationsInput | string | null metaTag?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null parent?: CategoryUpdateOneWithoutChildrenNestedInput children?: CategoryUpdateManyWithoutParentNestedInput promotions?: PromotionUpdateManyWithoutCategoryNestedInput } export type CategoryUncheckedUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number imageUrl?: NullableStringFieldUpdateOperationsInput | string | null iconUrl?: NullableStringFieldUpdateOperationsInput | string | null metaTag?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null parentId?: NullableStringFieldUpdateOperationsInput | string | null children?: CategoryUncheckedUpdateManyWithoutParentNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCategoryNestedInput } export type BrandUpsertWithoutProductsInput = { update: XOR create: XOR where?: BrandWhereInput } export type BrandUpdateToOneWithWhereWithoutProductsInput = { where?: BrandWhereInput data: XOR } export type BrandUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string promotions?: PromotionUpdateManyWithoutBrandNestedInput } export type BrandUncheckedUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string promotions?: PromotionUncheckedUpdateManyWithoutBrandNestedInput } export type ProductVariantUpsertWithWhereUniqueWithoutProductInput = { where: ProductVariantWhereUniqueInput update: XOR create: XOR } export type ProductVariantUpdateWithWhereUniqueWithoutProductInput = { where: ProductVariantWhereUniqueInput data: XOR } export type ProductVariantUpdateManyWithWhereWithoutProductInput = { where: ProductVariantScalarWhereInput data: XOR } export type ProductVariantScalarWhereInput = { AND?: ProductVariantScalarWhereInput | ProductVariantScalarWhereInput[] OR?: ProductVariantScalarWhereInput[] NOT?: ProductVariantScalarWhereInput | ProductVariantScalarWhereInput[] id?: StringFilter<"ProductVariant"> | string productId?: StringFilter<"ProductVariant"> | string title?: StringFilter<"ProductVariant"> | string sku?: StringNullableFilter<"ProductVariant"> | string | null rashWeightGrams?: DecimalFilter<"ProductVariant"> | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFilter<"ProductVariant"> | Decimal | DecimalJsLike | number | string qty?: IntFilter<"ProductVariant"> | number isPreOrder?: BoolFilter<"ProductVariant"> | boolean isActive?: BoolFilter<"ProductVariant"> | boolean imageId?: StringNullableFilter<"ProductVariant"> | string | null } export type ProductImageUpsertWithWhereUniqueWithoutProductInput = { where: ProductImageWhereUniqueInput update: XOR create: XOR } export type ProductImageUpdateWithWhereUniqueWithoutProductInput = { where: ProductImageWhereUniqueInput data: XOR } export type ProductImageUpdateManyWithWhereWithoutProductInput = { where: ProductImageScalarWhereInput data: XOR } export type ProductImageScalarWhereInput = { AND?: ProductImageScalarWhereInput | ProductImageScalarWhereInput[] OR?: ProductImageScalarWhereInput[] NOT?: ProductImageScalarWhereInput | ProductImageScalarWhereInput[] id?: StringFilter<"ProductImage"> | string productId?: StringFilter<"ProductImage"> | string url?: StringFilter<"ProductImage"> | string sortOrder?: IntFilter<"ProductImage"> | number role?: EnumProductImageRoleFilter<"ProductImage"> | $Enums.ProductImageRole } export type CollectionProductUpsertWithWhereUniqueWithoutProductInput = { where: CollectionProductWhereUniqueInput update: XOR create: XOR } export type CollectionProductUpdateWithWhereUniqueWithoutProductInput = { where: CollectionProductWhereUniqueInput data: XOR } export type CollectionProductUpdateManyWithWhereWithoutProductInput = { where: CollectionProductScalarWhereInput data: XOR } export type CommentUpsertWithWhereUniqueWithoutProductInput = { where: CommentWhereUniqueInput update: XOR create: XOR } export type CommentUpdateWithWhereUniqueWithoutProductInput = { where: CommentWhereUniqueInput data: XOR } export type CommentUpdateManyWithWhereWithoutProductInput = { where: CommentScalarWhereInput data: XOR } export type PromotionUpsertWithWhereUniqueWithoutProductInput = { where: PromotionWhereUniqueInput update: XOR create: XOR } export type PromotionUpdateWithWhereUniqueWithoutProductInput = { where: PromotionWhereUniqueInput data: XOR } export type PromotionUpdateManyWithWhereWithoutProductInput = { where: PromotionScalarWhereInput data: XOR } export type BranchAllocationItemUpsertWithWhereUniqueWithoutProductInput = { where: BranchAllocationItemWhereUniqueInput update: XOR create: XOR } export type BranchAllocationItemUpdateWithWhereUniqueWithoutProductInput = { where: BranchAllocationItemWhereUniqueInput data: XOR } export type BranchAllocationItemUpdateManyWithWhereWithoutProductInput = { where: BranchAllocationItemScalarWhereInput data: XOR } export type BranchAllocationItemScalarWhereInput = { AND?: BranchAllocationItemScalarWhereInput | BranchAllocationItemScalarWhereInput[] OR?: BranchAllocationItemScalarWhereInput[] NOT?: BranchAllocationItemScalarWhereInput | BranchAllocationItemScalarWhereInput[] id?: StringFilter<"BranchAllocationItem"> | string allocationId?: StringFilter<"BranchAllocationItem"> | string productId?: StringFilter<"BranchAllocationItem"> | string weightGrams?: DecimalNullableFilter<"BranchAllocationItem"> | Decimal | DecimalJsLike | number | string | null } export type ProductCreateWithoutImagesInput = { id?: string title: string description?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string category?: CategoryCreateNestedOneWithoutProductsInput brand?: BrandCreateNestedOneWithoutProductsInput variants?: ProductVariantCreateNestedManyWithoutProductInput collections?: CollectionProductCreateNestedManyWithoutProductInput comments?: CommentCreateNestedManyWithoutProductInput promotions?: PromotionCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemCreateNestedManyWithoutProductInput } export type ProductUncheckedCreateWithoutImagesInput = { id?: string title: string description?: string | null categoryId?: string | null brandId?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string variants?: ProductVariantUncheckedCreateNestedManyWithoutProductInput collections?: CollectionProductUncheckedCreateNestedManyWithoutProductInput comments?: CommentUncheckedCreateNestedManyWithoutProductInput promotions?: PromotionUncheckedCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemUncheckedCreateNestedManyWithoutProductInput } export type ProductCreateOrConnectWithoutImagesInput = { where: ProductWhereUniqueInput create: XOR } export type ProductVariantCreateWithoutImageInput = { id?: string title: string sku?: string | null rashWeightGrams: Decimal | DecimalJsLike | number | string defaultWagePercent: Decimal | DecimalJsLike | number | string qty?: number isPreOrder?: boolean isActive?: boolean product: ProductCreateNestedOneWithoutVariantsInput orderItems?: OrderItemCreateNestedManyWithoutProductVariantInput } export type ProductVariantUncheckedCreateWithoutImageInput = { id?: string productId: string title: string sku?: string | null rashWeightGrams: Decimal | DecimalJsLike | number | string defaultWagePercent: Decimal | DecimalJsLike | number | string qty?: number isPreOrder?: boolean isActive?: boolean orderItems?: OrderItemUncheckedCreateNestedManyWithoutProductVariantInput } export type ProductVariantCreateOrConnectWithoutImageInput = { where: ProductVariantWhereUniqueInput create: XOR } export type ProductVariantCreateManyImageInputEnvelope = { data: ProductVariantCreateManyImageInput | ProductVariantCreateManyImageInput[] skipDuplicates?: boolean } export type ProductUpsertWithoutImagesInput = { update: XOR create: XOR where?: ProductWhereInput } export type ProductUpdateToOneWithWhereWithoutImagesInput = { where?: ProductWhereInput data: XOR } export type ProductUpdateWithoutImagesInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string category?: CategoryUpdateOneWithoutProductsNestedInput brand?: BrandUpdateOneWithoutProductsNestedInput variants?: ProductVariantUpdateManyWithoutProductNestedInput collections?: CollectionProductUpdateManyWithoutProductNestedInput comments?: CommentUpdateManyWithoutProductNestedInput promotions?: PromotionUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateWithoutImagesInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string variants?: ProductVariantUncheckedUpdateManyWithoutProductNestedInput collections?: CollectionProductUncheckedUpdateManyWithoutProductNestedInput comments?: CommentUncheckedUpdateManyWithoutProductNestedInput promotions?: PromotionUncheckedUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUncheckedUpdateManyWithoutProductNestedInput } export type ProductVariantUpsertWithWhereUniqueWithoutImageInput = { where: ProductVariantWhereUniqueInput update: XOR create: XOR } export type ProductVariantUpdateWithWhereUniqueWithoutImageInput = { where: ProductVariantWhereUniqueInput data: XOR } export type ProductVariantUpdateManyWithWhereWithoutImageInput = { where: ProductVariantScalarWhereInput data: XOR } export type ProductCreateWithoutVariantsInput = { id?: string title: string description?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string category?: CategoryCreateNestedOneWithoutProductsInput brand?: BrandCreateNestedOneWithoutProductsInput images?: ProductImageCreateNestedManyWithoutProductInput collections?: CollectionProductCreateNestedManyWithoutProductInput comments?: CommentCreateNestedManyWithoutProductInput promotions?: PromotionCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemCreateNestedManyWithoutProductInput } export type ProductUncheckedCreateWithoutVariantsInput = { id?: string title: string description?: string | null categoryId?: string | null brandId?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string images?: ProductImageUncheckedCreateNestedManyWithoutProductInput collections?: CollectionProductUncheckedCreateNestedManyWithoutProductInput comments?: CommentUncheckedCreateNestedManyWithoutProductInput promotions?: PromotionUncheckedCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemUncheckedCreateNestedManyWithoutProductInput } export type ProductCreateOrConnectWithoutVariantsInput = { where: ProductWhereUniqueInput create: XOR } export type ProductImageCreateWithoutVariantsInput = { id?: string url: string sortOrder?: number role?: $Enums.ProductImageRole product: ProductCreateNestedOneWithoutImagesInput } export type ProductImageUncheckedCreateWithoutVariantsInput = { id?: string productId: string url: string sortOrder?: number role?: $Enums.ProductImageRole } export type ProductImageCreateOrConnectWithoutVariantsInput = { where: ProductImageWhereUniqueInput create: XOR } export type OrderItemCreateWithoutProductVariantInput = { id?: string quantity: number rashWeightGramsSnapshot: Decimal | DecimalJsLike | number | string wagePercentSnapshot: Decimal | DecimalJsLike | number | string discountPercentSnapshot?: Decimal | DecimalJsLike | number | string computedWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string order: OrderCreateNestedOneWithoutItemsInput } export type OrderItemUncheckedCreateWithoutProductVariantInput = { id?: string orderId: string quantity: number rashWeightGramsSnapshot: Decimal | DecimalJsLike | number | string wagePercentSnapshot: Decimal | DecimalJsLike | number | string discountPercentSnapshot?: Decimal | DecimalJsLike | number | string computedWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string } export type OrderItemCreateOrConnectWithoutProductVariantInput = { where: OrderItemWhereUniqueInput create: XOR } export type OrderItemCreateManyProductVariantInputEnvelope = { data: OrderItemCreateManyProductVariantInput | OrderItemCreateManyProductVariantInput[] skipDuplicates?: boolean } export type ProductUpsertWithoutVariantsInput = { update: XOR create: XOR where?: ProductWhereInput } export type ProductUpdateToOneWithWhereWithoutVariantsInput = { where?: ProductWhereInput data: XOR } export type ProductUpdateWithoutVariantsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string category?: CategoryUpdateOneWithoutProductsNestedInput brand?: BrandUpdateOneWithoutProductsNestedInput images?: ProductImageUpdateManyWithoutProductNestedInput collections?: CollectionProductUpdateManyWithoutProductNestedInput comments?: CommentUpdateManyWithoutProductNestedInput promotions?: PromotionUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateWithoutVariantsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string images?: ProductImageUncheckedUpdateManyWithoutProductNestedInput collections?: CollectionProductUncheckedUpdateManyWithoutProductNestedInput comments?: CommentUncheckedUpdateManyWithoutProductNestedInput promotions?: PromotionUncheckedUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUncheckedUpdateManyWithoutProductNestedInput } export type ProductImageUpsertWithoutVariantsInput = { update: XOR create: XOR where?: ProductImageWhereInput } export type ProductImageUpdateToOneWithWhereWithoutVariantsInput = { where?: ProductImageWhereInput data: XOR } export type ProductImageUpdateWithoutVariantsInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string sortOrder?: IntFieldUpdateOperationsInput | number role?: EnumProductImageRoleFieldUpdateOperationsInput | $Enums.ProductImageRole product?: ProductUpdateOneRequiredWithoutImagesNestedInput } export type ProductImageUncheckedUpdateWithoutVariantsInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string sortOrder?: IntFieldUpdateOperationsInput | number role?: EnumProductImageRoleFieldUpdateOperationsInput | $Enums.ProductImageRole } export type OrderItemUpsertWithWhereUniqueWithoutProductVariantInput = { where: OrderItemWhereUniqueInput update: XOR create: XOR } export type OrderItemUpdateWithWhereUniqueWithoutProductVariantInput = { where: OrderItemWhereUniqueInput data: XOR } export type OrderItemUpdateManyWithWhereWithoutProductVariantInput = { where: OrderItemScalarWhereInput data: XOR } export type OrderItemScalarWhereInput = { AND?: OrderItemScalarWhereInput | OrderItemScalarWhereInput[] OR?: OrderItemScalarWhereInput[] NOT?: OrderItemScalarWhereInput | OrderItemScalarWhereInput[] id?: StringFilter<"OrderItem"> | string orderId?: StringFilter<"OrderItem"> | string productVariantId?: StringFilter<"OrderItem"> | string quantity?: IntFilter<"OrderItem"> | number rashWeightGramsSnapshot?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFilter<"OrderItem"> | Decimal | DecimalJsLike | number | string } export type CustomerCreateWithoutOrdersInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutOrdersInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutOrdersInput = { where: CustomerWhereUniqueInput create: XOR } export type BranchCreateWithoutOrdersInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean city?: CityCreateNestedOneWithoutBranchesInput adminUsers?: AdminUserCreateNestedManyWithoutBranchInput allocations?: BranchAllocationCreateNestedManyWithoutBranchInput } export type BranchUncheckedCreateWithoutOrdersInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean cityId?: string | null adminUsers?: AdminUserUncheckedCreateNestedManyWithoutBranchInput allocations?: BranchAllocationUncheckedCreateNestedManyWithoutBranchInput } export type BranchCreateOrConnectWithoutOrdersInput = { where: BranchWhereUniqueInput create: XOR } export type OrderItemCreateWithoutOrderInput = { id?: string quantity: number rashWeightGramsSnapshot: Decimal | DecimalJsLike | number | string wagePercentSnapshot: Decimal | DecimalJsLike | number | string discountPercentSnapshot?: Decimal | DecimalJsLike | number | string computedWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string productVariant: ProductVariantCreateNestedOneWithoutOrderItemsInput } export type OrderItemUncheckedCreateWithoutOrderInput = { id?: string productVariantId: string quantity: number rashWeightGramsSnapshot: Decimal | DecimalJsLike | number | string wagePercentSnapshot: Decimal | DecimalJsLike | number | string discountPercentSnapshot?: Decimal | DecimalJsLike | number | string computedWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string } export type OrderItemCreateOrConnectWithoutOrderInput = { where: OrderItemWhereUniqueInput create: XOR } export type OrderItemCreateManyOrderInputEnvelope = { data: OrderItemCreateManyOrderInput | OrderItemCreateManyOrderInput[] skipDuplicates?: boolean } export type OrderStatusEventCreateWithoutOrderInput = { id?: string fromStatus?: $Enums.OrderStatus | null toStatus: $Enums.OrderStatus note?: string | null createdAt?: Date | string actorAdminUser?: AdminUserCreateNestedOneWithoutOrderStatusEventsInput } export type OrderStatusEventUncheckedCreateWithoutOrderInput = { id?: string fromStatus?: $Enums.OrderStatus | null toStatus: $Enums.OrderStatus note?: string | null actorAdminUserId?: string | null createdAt?: Date | string } export type OrderStatusEventCreateOrConnectWithoutOrderInput = { where: OrderStatusEventWhereUniqueInput create: XOR } export type OrderStatusEventCreateManyOrderInputEnvelope = { data: OrderStatusEventCreateManyOrderInput | OrderStatusEventCreateManyOrderInput[] skipDuplicates?: boolean } export type LedgerEntryCreateWithoutOrderInput = { id?: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType amount: Decimal | DecimalJsLike | number | string karatPerMille?: number | null pricePerGramRialAtEntry?: Decimal | DecimalJsLike | number | string | null confirmed?: boolean confirmedAt?: Date | string | null labName?: string | null hallmark?: string | null accountName?: string | null bankName?: string | null transferTo?: string | null originalValue?: Decimal | DecimalJsLike | number | string | null priceRial?: Decimal | DecimalJsLike | number | string | null receivedAt?: Date | string | null note?: string | null createdAt?: Date | string customer: CustomerCreateNestedOneWithoutLedgerEntriesInput postedByAdminUser?: AdminUserCreateNestedOneWithoutPostedLedgerEntriesInput } export type LedgerEntryUncheckedCreateWithoutOrderInput = { id?: string customerId: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType amount: Decimal | DecimalJsLike | number | string karatPerMille?: number | null pricePerGramRialAtEntry?: Decimal | DecimalJsLike | number | string | null confirmed?: boolean confirmedAt?: Date | string | null postedByAdminUserId?: string | null labName?: string | null hallmark?: string | null accountName?: string | null bankName?: string | null transferTo?: string | null originalValue?: Decimal | DecimalJsLike | number | string | null priceRial?: Decimal | DecimalJsLike | number | string | null receivedAt?: Date | string | null note?: string | null createdAt?: Date | string } export type LedgerEntryCreateOrConnectWithoutOrderInput = { where: LedgerEntryWhereUniqueInput create: XOR } export type LedgerEntryCreateManyOrderInputEnvelope = { data: LedgerEntryCreateManyOrderInput | LedgerEntryCreateManyOrderInput[] skipDuplicates?: boolean } export type PreOrderCreateWithoutConvertedOrderInput = { id?: string status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null createdAt?: Date | string updatedAt?: Date | string customer: CustomerCreateNestedOneWithoutPreOrdersInput city?: CityCreateNestedOneWithoutPreOrdersInput workshop?: WorkshopCreateNestedOneWithoutPreOrdersInput statusEvents?: PreOrderStatusEventCreateNestedManyWithoutPreOrderInput } export type PreOrderUncheckedCreateWithoutConvertedOrderInput = { id?: string customerId: string cityId?: string | null workshopId?: string | null status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null createdAt?: Date | string updatedAt?: Date | string statusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutPreOrderInput } export type PreOrderCreateOrConnectWithoutConvertedOrderInput = { where: PreOrderWhereUniqueInput create: XOR } export type CustomerUpsertWithoutOrdersInput = { update: XOR create: XOR where?: CustomerWhereInput } export type CustomerUpdateToOneWithWhereWithoutOrdersInput = { where?: CustomerWhereInput data: XOR } export type CustomerUpdateWithoutOrdersInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutOrdersInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type BranchUpsertWithoutOrdersInput = { update: XOR create: XOR where?: BranchWhereInput } export type BranchUpdateToOneWithWhereWithoutOrdersInput = { where?: BranchWhereInput data: XOR } export type BranchUpdateWithoutOrdersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean city?: CityUpdateOneWithoutBranchesNestedInput adminUsers?: AdminUserUpdateManyWithoutBranchNestedInput allocations?: BranchAllocationUpdateManyWithoutBranchNestedInput } export type BranchUncheckedUpdateWithoutOrdersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean cityId?: NullableStringFieldUpdateOperationsInput | string | null adminUsers?: AdminUserUncheckedUpdateManyWithoutBranchNestedInput allocations?: BranchAllocationUncheckedUpdateManyWithoutBranchNestedInput } export type OrderItemUpsertWithWhereUniqueWithoutOrderInput = { where: OrderItemWhereUniqueInput update: XOR create: XOR } export type OrderItemUpdateWithWhereUniqueWithoutOrderInput = { where: OrderItemWhereUniqueInput data: XOR } export type OrderItemUpdateManyWithWhereWithoutOrderInput = { where: OrderItemScalarWhereInput data: XOR } export type OrderStatusEventUpsertWithWhereUniqueWithoutOrderInput = { where: OrderStatusEventWhereUniqueInput update: XOR create: XOR } export type OrderStatusEventUpdateWithWhereUniqueWithoutOrderInput = { where: OrderStatusEventWhereUniqueInput data: XOR } export type OrderStatusEventUpdateManyWithWhereWithoutOrderInput = { where: OrderStatusEventScalarWhereInput data: XOR } export type LedgerEntryUpsertWithWhereUniqueWithoutOrderInput = { where: LedgerEntryWhereUniqueInput update: XOR create: XOR } export type LedgerEntryUpdateWithWhereUniqueWithoutOrderInput = { where: LedgerEntryWhereUniqueInput data: XOR } export type LedgerEntryUpdateManyWithWhereWithoutOrderInput = { where: LedgerEntryScalarWhereInput data: XOR } export type PreOrderUpsertWithoutConvertedOrderInput = { update: XOR create: XOR where?: PreOrderWhereInput } export type PreOrderUpdateToOneWithWhereWithoutConvertedOrderInput = { where?: PreOrderWhereInput data: XOR } export type PreOrderUpdateWithoutConvertedOrderInput = { id?: StringFieldUpdateOperationsInput | string status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutPreOrdersNestedInput city?: CityUpdateOneWithoutPreOrdersNestedInput workshop?: WorkshopUpdateOneWithoutPreOrdersNestedInput statusEvents?: PreOrderStatusEventUpdateManyWithoutPreOrderNestedInput } export type PreOrderUncheckedUpdateWithoutConvertedOrderInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null workshopId?: NullableStringFieldUpdateOperationsInput | string | null status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string statusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutPreOrderNestedInput } export type OrderCreateWithoutItemsInput = { id?: string orderNumber: string channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string customer: CustomerCreateNestedOneWithoutOrdersInput branch?: BranchCreateNestedOneWithoutOrdersInput statusEvents?: OrderStatusEventCreateNestedManyWithoutOrderInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutOrderInput convertedFromPreOrder?: PreOrderCreateNestedOneWithoutConvertedOrderInput } export type OrderUncheckedCreateWithoutItemsInput = { id?: string orderNumber: string customerId: string branchId?: string | null channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string statusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutOrderInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutOrderInput convertedFromPreOrder?: PreOrderUncheckedCreateNestedOneWithoutConvertedOrderInput } export type OrderCreateOrConnectWithoutItemsInput = { where: OrderWhereUniqueInput create: XOR } export type ProductVariantCreateWithoutOrderItemsInput = { id?: string title: string sku?: string | null rashWeightGrams: Decimal | DecimalJsLike | number | string defaultWagePercent: Decimal | DecimalJsLike | number | string qty?: number isPreOrder?: boolean isActive?: boolean product: ProductCreateNestedOneWithoutVariantsInput image?: ProductImageCreateNestedOneWithoutVariantsInput } export type ProductVariantUncheckedCreateWithoutOrderItemsInput = { id?: string productId: string title: string sku?: string | null rashWeightGrams: Decimal | DecimalJsLike | number | string defaultWagePercent: Decimal | DecimalJsLike | number | string qty?: number isPreOrder?: boolean isActive?: boolean imageId?: string | null } export type ProductVariantCreateOrConnectWithoutOrderItemsInput = { where: ProductVariantWhereUniqueInput create: XOR } export type OrderUpsertWithoutItemsInput = { update: XOR create: XOR where?: OrderWhereInput } export type OrderUpdateToOneWithWhereWithoutItemsInput = { where?: OrderWhereInput data: XOR } export type OrderUpdateWithoutItemsInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutOrdersNestedInput branch?: BranchUpdateOneWithoutOrdersNestedInput statusEvents?: OrderStatusEventUpdateManyWithoutOrderNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutOrderNestedInput convertedFromPreOrder?: PreOrderUpdateOneWithoutConvertedOrderNestedInput } export type OrderUncheckedUpdateWithoutItemsInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string branchId?: NullableStringFieldUpdateOperationsInput | string | null channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string statusEvents?: OrderStatusEventUncheckedUpdateManyWithoutOrderNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutOrderNestedInput convertedFromPreOrder?: PreOrderUncheckedUpdateOneWithoutConvertedOrderNestedInput } export type ProductVariantUpsertWithoutOrderItemsInput = { update: XOR create: XOR where?: ProductVariantWhereInput } export type ProductVariantUpdateToOneWithWhereWithoutOrderItemsInput = { where?: ProductVariantWhereInput data: XOR } export type ProductVariantUpdateWithoutOrderItemsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null rashWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string qty?: IntFieldUpdateOperationsInput | number isPreOrder?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean product?: ProductUpdateOneRequiredWithoutVariantsNestedInput image?: ProductImageUpdateOneWithoutVariantsNestedInput } export type ProductVariantUncheckedUpdateWithoutOrderItemsInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null rashWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string qty?: IntFieldUpdateOperationsInput | number isPreOrder?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean imageId?: NullableStringFieldUpdateOperationsInput | string | null } export type OrderCreateWithoutStatusEventsInput = { id?: string orderNumber: string channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string customer: CustomerCreateNestedOneWithoutOrdersInput branch?: BranchCreateNestedOneWithoutOrdersInput items?: OrderItemCreateNestedManyWithoutOrderInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutOrderInput convertedFromPreOrder?: PreOrderCreateNestedOneWithoutConvertedOrderInput } export type OrderUncheckedCreateWithoutStatusEventsInput = { id?: string orderNumber: string customerId: string branchId?: string | null channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string items?: OrderItemUncheckedCreateNestedManyWithoutOrderInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutOrderInput convertedFromPreOrder?: PreOrderUncheckedCreateNestedOneWithoutConvertedOrderInput } export type OrderCreateOrConnectWithoutStatusEventsInput = { where: OrderWhereUniqueInput create: XOR } export type AdminUserCreateWithoutOrderStatusEventsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput branch?: BranchCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutOrderStatusEventsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutOrderStatusEventsInput = { where: AdminUserWhereUniqueInput create: XOR } export type OrderUpsertWithoutStatusEventsInput = { update: XOR create: XOR where?: OrderWhereInput } export type OrderUpdateToOneWithWhereWithoutStatusEventsInput = { where?: OrderWhereInput data: XOR } export type OrderUpdateWithoutStatusEventsInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutOrdersNestedInput branch?: BranchUpdateOneWithoutOrdersNestedInput items?: OrderItemUpdateManyWithoutOrderNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutOrderNestedInput convertedFromPreOrder?: PreOrderUpdateOneWithoutConvertedOrderNestedInput } export type OrderUncheckedUpdateWithoutStatusEventsInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string branchId?: NullableStringFieldUpdateOperationsInput | string | null channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: OrderItemUncheckedUpdateManyWithoutOrderNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutOrderNestedInput convertedFromPreOrder?: PreOrderUncheckedUpdateOneWithoutConvertedOrderNestedInput } export type AdminUserUpsertWithoutOrderStatusEventsInput = { update: XOR create: XOR where?: AdminUserWhereInput } export type AdminUserUpdateToOneWithWhereWithoutOrderStatusEventsInput = { where?: AdminUserWhereInput data: XOR } export type AdminUserUpdateWithoutOrderStatusEventsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput branch?: BranchUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutOrderStatusEventsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type CustomerCreateWithoutPreOrdersInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput orders?: OrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutPreOrdersInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutPreOrdersInput = { where: CustomerWhereUniqueInput create: XOR } export type CityCreateWithoutPreOrdersInput = { id?: string name: string province?: string | null percent?: Decimal | DecimalJsLike | number | string | null percentAux?: Decimal | DecimalJsLike | number | string | null customers?: CustomerCreateNestedManyWithoutCityInput addresses?: CustomerAddressCreateNestedManyWithoutCityInput branches?: BranchCreateNestedManyWithoutCityInput salesExpertProfiles?: SalesExpertProfileCreateNestedManyWithoutCityInput } export type CityUncheckedCreateWithoutPreOrdersInput = { id?: string name: string province?: string | null percent?: Decimal | DecimalJsLike | number | string | null percentAux?: Decimal | DecimalJsLike | number | string | null customers?: CustomerUncheckedCreateNestedManyWithoutCityInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCityInput branches?: BranchUncheckedCreateNestedManyWithoutCityInput salesExpertProfiles?: SalesExpertProfileUncheckedCreateNestedManyWithoutCityInput } export type CityCreateOrConnectWithoutPreOrdersInput = { where: CityWhereUniqueInput create: XOR } export type WorkshopCreateWithoutPreOrdersInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean supervisor?: AdminUserCreateNestedOneWithoutSupervisedWorkshopsInput } export type WorkshopUncheckedCreateWithoutPreOrdersInput = { id?: string name: string address?: string | null phone?: string | null supervisorId?: string | null isActive?: boolean } export type WorkshopCreateOrConnectWithoutPreOrdersInput = { where: WorkshopWhereUniqueInput create: XOR } export type OrderCreateWithoutConvertedFromPreOrderInput = { id?: string orderNumber: string channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string customer: CustomerCreateNestedOneWithoutOrdersInput branch?: BranchCreateNestedOneWithoutOrdersInput items?: OrderItemCreateNestedManyWithoutOrderInput statusEvents?: OrderStatusEventCreateNestedManyWithoutOrderInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutOrderInput } export type OrderUncheckedCreateWithoutConvertedFromPreOrderInput = { id?: string orderNumber: string customerId: string branchId?: string | null channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string items?: OrderItemUncheckedCreateNestedManyWithoutOrderInput statusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutOrderInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutOrderInput } export type OrderCreateOrConnectWithoutConvertedFromPreOrderInput = { where: OrderWhereUniqueInput create: XOR } export type PreOrderStatusEventCreateWithoutPreOrderInput = { id?: string changes: JsonNullValueInput | InputJsonValue ipAddress?: string | null createdAt?: Date | string actorAdminUser?: AdminUserCreateNestedOneWithoutPreOrderStatusEventsInput } export type PreOrderStatusEventUncheckedCreateWithoutPreOrderInput = { id?: string changes: JsonNullValueInput | InputJsonValue actorAdminUserId?: string | null ipAddress?: string | null createdAt?: Date | string } export type PreOrderStatusEventCreateOrConnectWithoutPreOrderInput = { where: PreOrderStatusEventWhereUniqueInput create: XOR } export type PreOrderStatusEventCreateManyPreOrderInputEnvelope = { data: PreOrderStatusEventCreateManyPreOrderInput | PreOrderStatusEventCreateManyPreOrderInput[] skipDuplicates?: boolean } export type CustomerUpsertWithoutPreOrdersInput = { update: XOR create: XOR where?: CustomerWhereInput } export type CustomerUpdateToOneWithWhereWithoutPreOrdersInput = { where?: CustomerWhereInput data: XOR } export type CustomerUpdateWithoutPreOrdersInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutPreOrdersInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type CityUpsertWithoutPreOrdersInput = { update: XOR create: XOR where?: CityWhereInput } export type CityUpdateToOneWithWhereWithoutPreOrdersInput = { where?: CityWhereInput data: XOR } export type CityUpdateWithoutPreOrdersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null customers?: CustomerUpdateManyWithoutCityNestedInput addresses?: CustomerAddressUpdateManyWithoutCityNestedInput branches?: BranchUpdateManyWithoutCityNestedInput salesExpertProfiles?: SalesExpertProfileUpdateManyWithoutCityNestedInput } export type CityUncheckedUpdateWithoutPreOrdersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string province?: NullableStringFieldUpdateOperationsInput | string | null percent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null percentAux?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null customers?: CustomerUncheckedUpdateManyWithoutCityNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCityNestedInput branches?: BranchUncheckedUpdateManyWithoutCityNestedInput salesExpertProfiles?: SalesExpertProfileUncheckedUpdateManyWithoutCityNestedInput } export type WorkshopUpsertWithoutPreOrdersInput = { update: XOR create: XOR where?: WorkshopWhereInput } export type WorkshopUpdateToOneWithWhereWithoutPreOrdersInput = { where?: WorkshopWhereInput data: XOR } export type WorkshopUpdateWithoutPreOrdersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean supervisor?: AdminUserUpdateOneWithoutSupervisedWorkshopsNestedInput } export type WorkshopUncheckedUpdateWithoutPreOrdersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null supervisorId?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type OrderUpsertWithoutConvertedFromPreOrderInput = { update: XOR create: XOR where?: OrderWhereInput } export type OrderUpdateToOneWithWhereWithoutConvertedFromPreOrderInput = { where?: OrderWhereInput data: XOR } export type OrderUpdateWithoutConvertedFromPreOrderInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutOrdersNestedInput branch?: BranchUpdateOneWithoutOrdersNestedInput items?: OrderItemUpdateManyWithoutOrderNestedInput statusEvents?: OrderStatusEventUpdateManyWithoutOrderNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutOrderNestedInput } export type OrderUncheckedUpdateWithoutConvertedFromPreOrderInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string branchId?: NullableStringFieldUpdateOperationsInput | string | null channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: OrderItemUncheckedUpdateManyWithoutOrderNestedInput statusEvents?: OrderStatusEventUncheckedUpdateManyWithoutOrderNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutOrderNestedInput } export type PreOrderStatusEventUpsertWithWhereUniqueWithoutPreOrderInput = { where: PreOrderStatusEventWhereUniqueInput update: XOR create: XOR } export type PreOrderStatusEventUpdateWithWhereUniqueWithoutPreOrderInput = { where: PreOrderStatusEventWhereUniqueInput data: XOR } export type PreOrderStatusEventUpdateManyWithWhereWithoutPreOrderInput = { where: PreOrderStatusEventScalarWhereInput data: XOR } export type PreOrderCreateWithoutStatusEventsInput = { id?: string status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null createdAt?: Date | string updatedAt?: Date | string customer: CustomerCreateNestedOneWithoutPreOrdersInput city?: CityCreateNestedOneWithoutPreOrdersInput workshop?: WorkshopCreateNestedOneWithoutPreOrdersInput convertedOrder?: OrderCreateNestedOneWithoutConvertedFromPreOrderInput } export type PreOrderUncheckedCreateWithoutStatusEventsInput = { id?: string customerId: string cityId?: string | null workshopId?: string | null status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null convertedOrderId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type PreOrderCreateOrConnectWithoutStatusEventsInput = { where: PreOrderWhereUniqueInput create: XOR } export type AdminUserCreateWithoutPreOrderStatusEventsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput branch?: BranchCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutPreOrderStatusEventsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutPreOrderStatusEventsInput = { where: AdminUserWhereUniqueInput create: XOR } export type PreOrderUpsertWithoutStatusEventsInput = { update: XOR create: XOR where?: PreOrderWhereInput } export type PreOrderUpdateToOneWithWhereWithoutStatusEventsInput = { where?: PreOrderWhereInput data: XOR } export type PreOrderUpdateWithoutStatusEventsInput = { id?: StringFieldUpdateOperationsInput | string status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutPreOrdersNestedInput city?: CityUpdateOneWithoutPreOrdersNestedInput workshop?: WorkshopUpdateOneWithoutPreOrdersNestedInput convertedOrder?: OrderUpdateOneWithoutConvertedFromPreOrderNestedInput } export type PreOrderUncheckedUpdateWithoutStatusEventsInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null workshopId?: NullableStringFieldUpdateOperationsInput | string | null status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null convertedOrderId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AdminUserUpsertWithoutPreOrderStatusEventsInput = { update: XOR create: XOR where?: AdminUserWhereInput } export type AdminUserUpdateToOneWithWhereWithoutPreOrderStatusEventsInput = { where?: AdminUserWhereInput data: XOR } export type AdminUserUpdateWithoutPreOrderStatusEventsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput branch?: BranchUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutPreOrderStatusEventsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type CustomerCreateWithoutLedgerEntriesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput orders?: OrderCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutLedgerEntriesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutLedgerEntriesInput = { where: CustomerWhereUniqueInput create: XOR } export type OrderCreateWithoutLedgerEntriesInput = { id?: string orderNumber: string channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string customer: CustomerCreateNestedOneWithoutOrdersInput branch?: BranchCreateNestedOneWithoutOrdersInput items?: OrderItemCreateNestedManyWithoutOrderInput statusEvents?: OrderStatusEventCreateNestedManyWithoutOrderInput convertedFromPreOrder?: PreOrderCreateNestedOneWithoutConvertedOrderInput } export type OrderUncheckedCreateWithoutLedgerEntriesInput = { id?: string orderNumber: string customerId: string branchId?: string | null channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string items?: OrderItemUncheckedCreateNestedManyWithoutOrderInput statusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutOrderInput convertedFromPreOrder?: PreOrderUncheckedCreateNestedOneWithoutConvertedOrderInput } export type OrderCreateOrConnectWithoutLedgerEntriesInput = { where: OrderWhereUniqueInput create: XOR } export type AdminUserCreateWithoutPostedLedgerEntriesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput branch?: BranchCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutPostedLedgerEntriesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutPostedLedgerEntriesInput = { where: AdminUserWhereUniqueInput create: XOR } export type CustomerUpsertWithoutLedgerEntriesInput = { update: XOR create: XOR where?: CustomerWhereInput } export type CustomerUpdateToOneWithWhereWithoutLedgerEntriesInput = { where?: CustomerWhereInput data: XOR } export type CustomerUpdateWithoutLedgerEntriesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutLedgerEntriesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type OrderUpsertWithoutLedgerEntriesInput = { update: XOR create: XOR where?: OrderWhereInput } export type OrderUpdateToOneWithWhereWithoutLedgerEntriesInput = { where?: OrderWhereInput data: XOR } export type OrderUpdateWithoutLedgerEntriesInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutOrdersNestedInput branch?: BranchUpdateOneWithoutOrdersNestedInput items?: OrderItemUpdateManyWithoutOrderNestedInput statusEvents?: OrderStatusEventUpdateManyWithoutOrderNestedInput convertedFromPreOrder?: PreOrderUpdateOneWithoutConvertedOrderNestedInput } export type OrderUncheckedUpdateWithoutLedgerEntriesInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string branchId?: NullableStringFieldUpdateOperationsInput | string | null channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: OrderItemUncheckedUpdateManyWithoutOrderNestedInput statusEvents?: OrderStatusEventUncheckedUpdateManyWithoutOrderNestedInput convertedFromPreOrder?: PreOrderUncheckedUpdateOneWithoutConvertedOrderNestedInput } export type AdminUserUpsertWithoutPostedLedgerEntriesInput = { update: XOR create: XOR where?: AdminUserWhereInput } export type AdminUserUpdateToOneWithWhereWithoutPostedLedgerEntriesInput = { where?: AdminUserWhereInput data: XOR } export type AdminUserUpdateWithoutPostedLedgerEntriesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput branch?: BranchUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutPostedLedgerEntriesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type CustomerCreateWithoutWalletBonusesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput orders?: OrderCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutWalletBonusesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutWalletBonusesInput = { where: CustomerWhereUniqueInput create: XOR } export type CustomerUpsertWithoutWalletBonusesInput = { update: XOR create: XOR where?: CustomerWhereInput } export type CustomerUpdateToOneWithWhereWithoutWalletBonusesInput = { where?: CustomerWhereInput data: XOR } export type CustomerUpdateWithoutWalletBonusesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutWalletBonusesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type PermissionCreateWithoutUserTypeInput = { rid: string } export type PermissionUncheckedCreateWithoutUserTypeInput = { rid: string } export type PermissionCreateOrConnectWithoutUserTypeInput = { where: PermissionWhereUniqueInput create: XOR } export type PermissionCreateManyUserTypeInputEnvelope = { data: PermissionCreateManyUserTypeInput | PermissionCreateManyUserTypeInput[] skipDuplicates?: boolean } export type AdminUserCreateWithoutUserTypeInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null branch?: BranchCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutUserTypeInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutUserTypeInput = { where: AdminUserWhereUniqueInput create: XOR } export type AdminUserCreateManyUserTypeInputEnvelope = { data: AdminUserCreateManyUserTypeInput | AdminUserCreateManyUserTypeInput[] skipDuplicates?: boolean } export type PermissionUpsertWithWhereUniqueWithoutUserTypeInput = { where: PermissionWhereUniqueInput update: XOR create: XOR } export type PermissionUpdateWithWhereUniqueWithoutUserTypeInput = { where: PermissionWhereUniqueInput data: XOR } export type PermissionUpdateManyWithWhereWithoutUserTypeInput = { where: PermissionScalarWhereInput data: XOR } export type PermissionScalarWhereInput = { AND?: PermissionScalarWhereInput | PermissionScalarWhereInput[] OR?: PermissionScalarWhereInput[] NOT?: PermissionScalarWhereInput | PermissionScalarWhereInput[] rid?: StringFilter<"Permission"> | string userTypeId?: IntFilter<"Permission"> | number } export type AdminUserUpsertWithWhereUniqueWithoutUserTypeInput = { where: AdminUserWhereUniqueInput update: XOR create: XOR } export type AdminUserUpdateWithWhereUniqueWithoutUserTypeInput = { where: AdminUserWhereUniqueInput data: XOR } export type AdminUserUpdateManyWithWhereWithoutUserTypeInput = { where: AdminUserScalarWhereInput data: XOR } export type UserTypeCreateWithoutPermissionsInput = { id: number title: string isActive?: boolean createdAt?: Date | string adminUsers?: AdminUserCreateNestedManyWithoutUserTypeInput } export type UserTypeUncheckedCreateWithoutPermissionsInput = { id: number title: string isActive?: boolean createdAt?: Date | string adminUsers?: AdminUserUncheckedCreateNestedManyWithoutUserTypeInput } export type UserTypeCreateOrConnectWithoutPermissionsInput = { where: UserTypeWhereUniqueInput create: XOR } export type UserTypeUpsertWithoutPermissionsInput = { update: XOR create: XOR where?: UserTypeWhereInput } export type UserTypeUpdateToOneWithWhereWithoutPermissionsInput = { where?: UserTypeWhereInput data: XOR } export type UserTypeUpdateWithoutPermissionsInput = { id?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string adminUsers?: AdminUserUpdateManyWithoutUserTypeNestedInput } export type UserTypeUncheckedUpdateWithoutPermissionsInput = { id?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string adminUsers?: AdminUserUncheckedUpdateManyWithoutUserTypeNestedInput } export type ProductCreateWithoutCommentsInput = { id?: string title: string description?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string category?: CategoryCreateNestedOneWithoutProductsInput brand?: BrandCreateNestedOneWithoutProductsInput variants?: ProductVariantCreateNestedManyWithoutProductInput images?: ProductImageCreateNestedManyWithoutProductInput collections?: CollectionProductCreateNestedManyWithoutProductInput promotions?: PromotionCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemCreateNestedManyWithoutProductInput } export type ProductUncheckedCreateWithoutCommentsInput = { id?: string title: string description?: string | null categoryId?: string | null brandId?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string variants?: ProductVariantUncheckedCreateNestedManyWithoutProductInput images?: ProductImageUncheckedCreateNestedManyWithoutProductInput collections?: CollectionProductUncheckedCreateNestedManyWithoutProductInput promotions?: PromotionUncheckedCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemUncheckedCreateNestedManyWithoutProductInput } export type ProductCreateOrConnectWithoutCommentsInput = { where: ProductWhereUniqueInput create: XOR } export type CustomerCreateWithoutCommentsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput orders?: OrderCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutCommentsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutCommentsInput = { where: CustomerWhereUniqueInput create: XOR } export type CommentCreateWithoutRepliesInput = { id?: string body: string status?: $Enums.CommentStatus createdAt?: Date | string updatedAt?: Date | string product: ProductCreateNestedOneWithoutCommentsInput customer: CustomerCreateNestedOneWithoutCommentsInput replyTo?: CommentCreateNestedOneWithoutRepliesInput } export type CommentUncheckedCreateWithoutRepliesInput = { id?: string productId: string customerId: string body: string status?: $Enums.CommentStatus replyToId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type CommentCreateOrConnectWithoutRepliesInput = { where: CommentWhereUniqueInput create: XOR } export type CommentCreateWithoutReplyToInput = { id?: string body: string status?: $Enums.CommentStatus createdAt?: Date | string updatedAt?: Date | string product: ProductCreateNestedOneWithoutCommentsInput customer: CustomerCreateNestedOneWithoutCommentsInput replies?: CommentCreateNestedManyWithoutReplyToInput } export type CommentUncheckedCreateWithoutReplyToInput = { id?: string productId: string customerId: string body: string status?: $Enums.CommentStatus createdAt?: Date | string updatedAt?: Date | string replies?: CommentUncheckedCreateNestedManyWithoutReplyToInput } export type CommentCreateOrConnectWithoutReplyToInput = { where: CommentWhereUniqueInput create: XOR } export type CommentCreateManyReplyToInputEnvelope = { data: CommentCreateManyReplyToInput | CommentCreateManyReplyToInput[] skipDuplicates?: boolean } export type ProductUpsertWithoutCommentsInput = { update: XOR create: XOR where?: ProductWhereInput } export type ProductUpdateToOneWithWhereWithoutCommentsInput = { where?: ProductWhereInput data: XOR } export type ProductUpdateWithoutCommentsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string category?: CategoryUpdateOneWithoutProductsNestedInput brand?: BrandUpdateOneWithoutProductsNestedInput variants?: ProductVariantUpdateManyWithoutProductNestedInput images?: ProductImageUpdateManyWithoutProductNestedInput collections?: CollectionProductUpdateManyWithoutProductNestedInput promotions?: PromotionUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateWithoutCommentsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string variants?: ProductVariantUncheckedUpdateManyWithoutProductNestedInput images?: ProductImageUncheckedUpdateManyWithoutProductNestedInput collections?: CollectionProductUncheckedUpdateManyWithoutProductNestedInput promotions?: PromotionUncheckedUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUncheckedUpdateManyWithoutProductNestedInput } export type CustomerUpsertWithoutCommentsInput = { update: XOR create: XOR where?: CustomerWhereInput } export type CustomerUpdateToOneWithWhereWithoutCommentsInput = { where?: CustomerWhereInput data: XOR } export type CustomerUpdateWithoutCommentsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutCommentsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type CommentUpsertWithoutRepliesInput = { update: XOR create: XOR where?: CommentWhereInput } export type CommentUpdateToOneWithWhereWithoutRepliesInput = { where?: CommentWhereInput data: XOR } export type CommentUpdateWithoutRepliesInput = { id?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string product?: ProductUpdateOneRequiredWithoutCommentsNestedInput customer?: CustomerUpdateOneRequiredWithoutCommentsNestedInput replyTo?: CommentUpdateOneWithoutRepliesNestedInput } export type CommentUncheckedUpdateWithoutRepliesInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus replyToId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CommentUpsertWithWhereUniqueWithoutReplyToInput = { where: CommentWhereUniqueInput update: XOR create: XOR } export type CommentUpdateWithWhereUniqueWithoutReplyToInput = { where: CommentWhereUniqueInput data: XOR } export type CommentUpdateManyWithWhereWithoutReplyToInput = { where: CommentScalarWhereInput data: XOR } export type ProductCreateWithoutPromotionsInput = { id?: string title: string description?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string category?: CategoryCreateNestedOneWithoutProductsInput brand?: BrandCreateNestedOneWithoutProductsInput variants?: ProductVariantCreateNestedManyWithoutProductInput images?: ProductImageCreateNestedManyWithoutProductInput collections?: CollectionProductCreateNestedManyWithoutProductInput comments?: CommentCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemCreateNestedManyWithoutProductInput } export type ProductUncheckedCreateWithoutPromotionsInput = { id?: string title: string description?: string | null categoryId?: string | null brandId?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string variants?: ProductVariantUncheckedCreateNestedManyWithoutProductInput images?: ProductImageUncheckedCreateNestedManyWithoutProductInput collections?: CollectionProductUncheckedCreateNestedManyWithoutProductInput comments?: CommentUncheckedCreateNestedManyWithoutProductInput allocationItems?: BranchAllocationItemUncheckedCreateNestedManyWithoutProductInput } export type ProductCreateOrConnectWithoutPromotionsInput = { where: ProductWhereUniqueInput create: XOR } export type CategoryCreateWithoutPromotionsInput = { id?: string title: string type?: number imageUrl?: string | null iconUrl?: string | null metaTag?: string | null description?: string | null parent?: CategoryCreateNestedOneWithoutChildrenInput children?: CategoryCreateNestedManyWithoutParentInput products?: ProductCreateNestedManyWithoutCategoryInput } export type CategoryUncheckedCreateWithoutPromotionsInput = { id?: string title: string type?: number imageUrl?: string | null iconUrl?: string | null metaTag?: string | null description?: string | null parentId?: string | null children?: CategoryUncheckedCreateNestedManyWithoutParentInput products?: ProductUncheckedCreateNestedManyWithoutCategoryInput } export type CategoryCreateOrConnectWithoutPromotionsInput = { where: CategoryWhereUniqueInput create: XOR } export type CustomerCreateWithoutPromotionsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput orders?: OrderCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutPromotionsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutPromotionsInput = { where: CustomerWhereUniqueInput create: XOR } export type BrandCreateWithoutPromotionsInput = { id?: string title: string products?: ProductCreateNestedManyWithoutBrandInput } export type BrandUncheckedCreateWithoutPromotionsInput = { id?: string title: string products?: ProductUncheckedCreateNestedManyWithoutBrandInput } export type BrandCreateOrConnectWithoutPromotionsInput = { where: BrandWhereUniqueInput create: XOR } export type ProductUpsertWithoutPromotionsInput = { update: XOR create: XOR where?: ProductWhereInput } export type ProductUpdateToOneWithWhereWithoutPromotionsInput = { where?: ProductWhereInput data: XOR } export type ProductUpdateWithoutPromotionsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string category?: CategoryUpdateOneWithoutProductsNestedInput brand?: BrandUpdateOneWithoutProductsNestedInput variants?: ProductVariantUpdateManyWithoutProductNestedInput images?: ProductImageUpdateManyWithoutProductNestedInput collections?: CollectionProductUpdateManyWithoutProductNestedInput comments?: CommentUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateWithoutPromotionsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string variants?: ProductVariantUncheckedUpdateManyWithoutProductNestedInput images?: ProductImageUncheckedUpdateManyWithoutProductNestedInput collections?: CollectionProductUncheckedUpdateManyWithoutProductNestedInput comments?: CommentUncheckedUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUncheckedUpdateManyWithoutProductNestedInput } export type CategoryUpsertWithoutPromotionsInput = { update: XOR create: XOR where?: CategoryWhereInput } export type CategoryUpdateToOneWithWhereWithoutPromotionsInput = { where?: CategoryWhereInput data: XOR } export type CategoryUpdateWithoutPromotionsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number imageUrl?: NullableStringFieldUpdateOperationsInput | string | null iconUrl?: NullableStringFieldUpdateOperationsInput | string | null metaTag?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null parent?: CategoryUpdateOneWithoutChildrenNestedInput children?: CategoryUpdateManyWithoutParentNestedInput products?: ProductUpdateManyWithoutCategoryNestedInput } export type CategoryUncheckedUpdateWithoutPromotionsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number imageUrl?: NullableStringFieldUpdateOperationsInput | string | null iconUrl?: NullableStringFieldUpdateOperationsInput | string | null metaTag?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null parentId?: NullableStringFieldUpdateOperationsInput | string | null children?: CategoryUncheckedUpdateManyWithoutParentNestedInput products?: ProductUncheckedUpdateManyWithoutCategoryNestedInput } export type CustomerUpsertWithoutPromotionsInput = { update: XOR create: XOR where?: CustomerWhereInput } export type CustomerUpdateToOneWithWhereWithoutPromotionsInput = { where?: CustomerWhereInput data: XOR } export type CustomerUpdateWithoutPromotionsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutPromotionsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type BrandUpsertWithoutPromotionsInput = { update: XOR create: XOR where?: BrandWhereInput } export type BrandUpdateToOneWithWhereWithoutPromotionsInput = { where?: BrandWhereInput data: XOR } export type BrandUpdateWithoutPromotionsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string products?: ProductUpdateManyWithoutBrandNestedInput } export type BrandUncheckedUpdateWithoutPromotionsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string products?: ProductUncheckedUpdateManyWithoutBrandNestedInput } export type BranchCreateWithoutAllocationsInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean city?: CityCreateNestedOneWithoutBranchesInput adminUsers?: AdminUserCreateNestedManyWithoutBranchInput orders?: OrderCreateNestedManyWithoutBranchInput } export type BranchUncheckedCreateWithoutAllocationsInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean cityId?: string | null adminUsers?: AdminUserUncheckedCreateNestedManyWithoutBranchInput orders?: OrderUncheckedCreateNestedManyWithoutBranchInput } export type BranchCreateOrConnectWithoutAllocationsInput = { where: BranchWhereUniqueInput create: XOR } export type AdminUserCreateWithoutBranchAllocationsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput branch?: BranchCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutBranchAllocationsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutBranchAllocationsInput = { where: AdminUserWhereUniqueInput create: XOR } export type BranchAllocationItemCreateWithoutAllocationInput = { id?: string weightGrams?: Decimal | DecimalJsLike | number | string | null product: ProductCreateNestedOneWithoutAllocationItemsInput } export type BranchAllocationItemUncheckedCreateWithoutAllocationInput = { id?: string productId: string weightGrams?: Decimal | DecimalJsLike | number | string | null } export type BranchAllocationItemCreateOrConnectWithoutAllocationInput = { where: BranchAllocationItemWhereUniqueInput create: XOR } export type BranchAllocationItemCreateManyAllocationInputEnvelope = { data: BranchAllocationItemCreateManyAllocationInput | BranchAllocationItemCreateManyAllocationInput[] skipDuplicates?: boolean } export type BranchUpsertWithoutAllocationsInput = { update: XOR create: XOR where?: BranchWhereInput } export type BranchUpdateToOneWithWhereWithoutAllocationsInput = { where?: BranchWhereInput data: XOR } export type BranchUpdateWithoutAllocationsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean city?: CityUpdateOneWithoutBranchesNestedInput adminUsers?: AdminUserUpdateManyWithoutBranchNestedInput orders?: OrderUpdateManyWithoutBranchNestedInput } export type BranchUncheckedUpdateWithoutAllocationsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean cityId?: NullableStringFieldUpdateOperationsInput | string | null adminUsers?: AdminUserUncheckedUpdateManyWithoutBranchNestedInput orders?: OrderUncheckedUpdateManyWithoutBranchNestedInput } export type AdminUserUpsertWithoutBranchAllocationsInput = { update: XOR create: XOR where?: AdminUserWhereInput } export type AdminUserUpdateToOneWithWhereWithoutBranchAllocationsInput = { where?: AdminUserWhereInput data: XOR } export type AdminUserUpdateWithoutBranchAllocationsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput branch?: BranchUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutBranchAllocationsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type BranchAllocationItemUpsertWithWhereUniqueWithoutAllocationInput = { where: BranchAllocationItemWhereUniqueInput update: XOR create: XOR } export type BranchAllocationItemUpdateWithWhereUniqueWithoutAllocationInput = { where: BranchAllocationItemWhereUniqueInput data: XOR } export type BranchAllocationItemUpdateManyWithWhereWithoutAllocationInput = { where: BranchAllocationItemScalarWhereInput data: XOR } export type BranchAllocationCreateWithoutItemsInput = { id?: string note?: string | null createdAt?: Date | string branch: BranchCreateNestedOneWithoutAllocationsInput allocatorAdminUser?: AdminUserCreateNestedOneWithoutBranchAllocationsInput } export type BranchAllocationUncheckedCreateWithoutItemsInput = { id?: string branchId: string allocatorAdminUserId?: string | null note?: string | null createdAt?: Date | string } export type BranchAllocationCreateOrConnectWithoutItemsInput = { where: BranchAllocationWhereUniqueInput create: XOR } export type ProductCreateWithoutAllocationItemsInput = { id?: string title: string description?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string category?: CategoryCreateNestedOneWithoutProductsInput brand?: BrandCreateNestedOneWithoutProductsInput variants?: ProductVariantCreateNestedManyWithoutProductInput images?: ProductImageCreateNestedManyWithoutProductInput collections?: CollectionProductCreateNestedManyWithoutProductInput comments?: CommentCreateNestedManyWithoutProductInput promotions?: PromotionCreateNestedManyWithoutProductInput } export type ProductUncheckedCreateWithoutAllocationItemsInput = { id?: string title: string description?: string | null categoryId?: string | null brandId?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string variants?: ProductVariantUncheckedCreateNestedManyWithoutProductInput images?: ProductImageUncheckedCreateNestedManyWithoutProductInput collections?: CollectionProductUncheckedCreateNestedManyWithoutProductInput comments?: CommentUncheckedCreateNestedManyWithoutProductInput promotions?: PromotionUncheckedCreateNestedManyWithoutProductInput } export type ProductCreateOrConnectWithoutAllocationItemsInput = { where: ProductWhereUniqueInput create: XOR } export type BranchAllocationUpsertWithoutItemsInput = { update: XOR create: XOR where?: BranchAllocationWhereInput } export type BranchAllocationUpdateToOneWithWhereWithoutItemsInput = { where?: BranchAllocationWhereInput data: XOR } export type BranchAllocationUpdateWithoutItemsInput = { id?: StringFieldUpdateOperationsInput | string note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string branch?: BranchUpdateOneRequiredWithoutAllocationsNestedInput allocatorAdminUser?: AdminUserUpdateOneWithoutBranchAllocationsNestedInput } export type BranchAllocationUncheckedUpdateWithoutItemsInput = { id?: StringFieldUpdateOperationsInput | string branchId?: StringFieldUpdateOperationsInput | string allocatorAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductUpsertWithoutAllocationItemsInput = { update: XOR create: XOR where?: ProductWhereInput } export type ProductUpdateToOneWithWhereWithoutAllocationItemsInput = { where?: ProductWhereInput data: XOR } export type ProductUpdateWithoutAllocationItemsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string category?: CategoryUpdateOneWithoutProductsNestedInput brand?: BrandUpdateOneWithoutProductsNestedInput variants?: ProductVariantUpdateManyWithoutProductNestedInput images?: ProductImageUpdateManyWithoutProductNestedInput collections?: CollectionProductUpdateManyWithoutProductNestedInput comments?: CommentUpdateManyWithoutProductNestedInput promotions?: PromotionUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateWithoutAllocationItemsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string variants?: ProductVariantUncheckedUpdateManyWithoutProductNestedInput images?: ProductImageUncheckedUpdateManyWithoutProductNestedInput collections?: CollectionProductUncheckedUpdateManyWithoutProductNestedInput comments?: CommentUncheckedUpdateManyWithoutProductNestedInput promotions?: PromotionUncheckedUpdateManyWithoutProductNestedInput } export type AdminUserCreateWithoutSentSmsMessagesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput branch?: BranchCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutSentSmsMessagesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutSentSmsMessagesInput = { where: AdminUserWhereUniqueInput create: XOR } export type AdminUserUpsertWithoutSentSmsMessagesInput = { update: XOR create: XOR where?: AdminUserWhereInput } export type AdminUserUpdateToOneWithWhereWithoutSentSmsMessagesInput = { where?: AdminUserWhereInput data: XOR } export type AdminUserUpdateWithoutSentSmsMessagesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput branch?: BranchUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutSentSmsMessagesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type AdminUserCreateWithoutSentNotificationsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput branch?: BranchCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutSentNotificationsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutSentNotificationsInput = { where: AdminUserWhereUniqueInput create: XOR } export type NotificationRecipientCreateWithoutNotificationInput = { id?: string readAt?: Date | string | null customer: CustomerCreateNestedOneWithoutNotificationsInput } export type NotificationRecipientUncheckedCreateWithoutNotificationInput = { id?: string customerId: string readAt?: Date | string | null } export type NotificationRecipientCreateOrConnectWithoutNotificationInput = { where: NotificationRecipientWhereUniqueInput create: XOR } export type NotificationRecipientCreateManyNotificationInputEnvelope = { data: NotificationRecipientCreateManyNotificationInput | NotificationRecipientCreateManyNotificationInput[] skipDuplicates?: boolean } export type AdminUserUpsertWithoutSentNotificationsInput = { update: XOR create: XOR where?: AdminUserWhereInput } export type AdminUserUpdateToOneWithWhereWithoutSentNotificationsInput = { where?: AdminUserWhereInput data: XOR } export type AdminUserUpdateWithoutSentNotificationsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput branch?: BranchUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutSentNotificationsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type NotificationRecipientUpsertWithWhereUniqueWithoutNotificationInput = { where: NotificationRecipientWhereUniqueInput update: XOR create: XOR } export type NotificationRecipientUpdateWithWhereUniqueWithoutNotificationInput = { where: NotificationRecipientWhereUniqueInput data: XOR } export type NotificationRecipientUpdateManyWithWhereWithoutNotificationInput = { where: NotificationRecipientScalarWhereInput data: XOR } export type NotificationCreateWithoutRecipientsInput = { id?: string title: string body: string audience?: $Enums.MessageAudience createdAt?: Date | string sentByAdminUser?: AdminUserCreateNestedOneWithoutSentNotificationsInput } export type NotificationUncheckedCreateWithoutRecipientsInput = { id?: string title: string body: string audience?: $Enums.MessageAudience sentByAdminUserId?: string | null createdAt?: Date | string } export type NotificationCreateOrConnectWithoutRecipientsInput = { where: NotificationWhereUniqueInput create: XOR } export type CustomerCreateWithoutNotificationsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput orders?: OrderCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutNotificationsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutNotificationsInput = { where: CustomerWhereUniqueInput create: XOR } export type NotificationUpsertWithoutRecipientsInput = { update: XOR create: XOR where?: NotificationWhereInput } export type NotificationUpdateToOneWithWhereWithoutRecipientsInput = { where?: NotificationWhereInput data: XOR } export type NotificationUpdateWithoutRecipientsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience createdAt?: DateTimeFieldUpdateOperationsInput | Date | string sentByAdminUser?: AdminUserUpdateOneWithoutSentNotificationsNestedInput } export type NotificationUncheckedUpdateWithoutRecipientsInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience sentByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerUpsertWithoutNotificationsInput = { update: XOR create: XOR where?: CustomerWhereInput } export type CustomerUpdateToOneWithWhereWithoutNotificationsInput = { where?: CustomerWhereInput data: XOR } export type CustomerUpdateWithoutNotificationsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutNotificationsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type CustomerCreateWithoutActivityLogsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput orders?: OrderCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutActivityLogsInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutActivityLogsInput = { where: CustomerWhereUniqueInput create: XOR } export type CustomerUpsertWithoutActivityLogsInput = { update: XOR create: XOR where?: CustomerWhereInput } export type CustomerUpdateToOneWithWhereWithoutActivityLogsInput = { where?: CustomerWhereInput data: XOR } export type CustomerUpdateWithoutActivityLogsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutActivityLogsInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type AdminUserCreateWithoutUploadedFilesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput branch?: BranchCreateNestedOneWithoutAdminUsersInput avatarFile?: UploadedFileCreateNestedOneWithoutAdminUserAvatarsInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutUploadedFilesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutUploadedFilesInput = { where: AdminUserWhereUniqueInput create: XOR } export type CustomerCreateWithoutAvatarFileInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput orders?: OrderCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutAvatarFileInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput otpChallenges?: CustomerOtpUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutAvatarFileInput = { where: CustomerWhereUniqueInput create: XOR } export type CustomerCreateManyAvatarFileInputEnvelope = { data: CustomerCreateManyAvatarFileInput | CustomerCreateManyAvatarFileInput[] skipDuplicates?: boolean } export type AdminUserCreateWithoutAvatarFileInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null userType?: UserTypeCreateNestedOneWithoutAdminUsersInput branch?: BranchCreateNestedOneWithoutAdminUsersInput referredCustomers?: CustomerCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionCreateNestedManyWithoutAdminUserInput } export type AdminUserUncheckedCreateWithoutAvatarFileInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null referredCustomers?: CustomerUncheckedCreateNestedManyWithoutReferredByAgentInput supervisedWorkshops?: WorkshopUncheckedCreateNestedManyWithoutSupervisorInput branchAllocations?: BranchAllocationUncheckedCreateNestedManyWithoutAllocatorAdminUserInput postedLedgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutPostedByAdminUserInput orderStatusEvents?: OrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput preOrderStatusEvents?: PreOrderStatusEventUncheckedCreateNestedManyWithoutActorAdminUserInput sentSmsMessages?: SmsMessageUncheckedCreateNestedManyWithoutSentByAdminUserInput sentNotifications?: NotificationUncheckedCreateNestedManyWithoutSentByAdminUserInput uploadedFiles?: UploadedFileUncheckedCreateNestedManyWithoutUploadedByAdminUserInput salesExpertProfile?: SalesExpertProfileUncheckedCreateNestedOneWithoutAdminUserInput sessions?: AdminSessionUncheckedCreateNestedManyWithoutAdminUserInput } export type AdminUserCreateOrConnectWithoutAvatarFileInput = { where: AdminUserWhereUniqueInput create: XOR } export type AdminUserCreateManyAvatarFileInputEnvelope = { data: AdminUserCreateManyAvatarFileInput | AdminUserCreateManyAvatarFileInput[] skipDuplicates?: boolean } export type AdminUserUpsertWithoutUploadedFilesInput = { update: XOR create: XOR where?: AdminUserWhereInput } export type AdminUserUpdateToOneWithWhereWithoutUploadedFilesInput = { where?: AdminUserWhereInput data: XOR } export type AdminUserUpdateWithoutUploadedFilesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput branch?: BranchUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutUploadedFilesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type CustomerUpsertWithWhereUniqueWithoutAvatarFileInput = { where: CustomerWhereUniqueInput update: XOR create: XOR } export type CustomerUpdateWithWhereUniqueWithoutAvatarFileInput = { where: CustomerWhereUniqueInput data: XOR } export type CustomerUpdateManyWithWhereWithoutAvatarFileInput = { where: CustomerScalarWhereInput data: XOR } export type AdminUserUpsertWithWhereUniqueWithoutAvatarFileInput = { where: AdminUserWhereUniqueInput update: XOR create: XOR } export type AdminUserUpdateWithWhereUniqueWithoutAvatarFileInput = { where: AdminUserWhereUniqueInput data: XOR } export type AdminUserUpdateManyWithWhereWithoutAvatarFileInput = { where: AdminUserScalarWhereInput data: XOR } export type CustomerCreateWithoutOtpChallengesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string city?: CityCreateNestedOneWithoutCustomersInput referredByAgent?: AdminUserCreateNestedOneWithoutReferredCustomersInput salesExpertTradingFor?: SalesExpertProfileCreateNestedOneWithoutTradingCustomerInput avatarFile?: UploadedFileCreateNestedOneWithoutCustomerAvatarsInput addresses?: CustomerAddressCreateNestedManyWithoutCustomerInput orders?: OrderCreateNestedManyWithoutCustomerInput preOrders?: PreOrderCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusCreateNestedManyWithoutCustomerInput comments?: CommentCreateNestedManyWithoutCustomerInput promotions?: PromotionCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogCreateNestedManyWithoutCustomerInput } export type CustomerUncheckedCreateWithoutOtpChallengesInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedCreateNestedOneWithoutTradingCustomerInput addresses?: CustomerAddressUncheckedCreateNestedManyWithoutCustomerInput orders?: OrderUncheckedCreateNestedManyWithoutCustomerInput preOrders?: PreOrderUncheckedCreateNestedManyWithoutCustomerInput ledgerEntries?: LedgerEntryUncheckedCreateNestedManyWithoutCustomerInput walletBonuses?: WalletBonusUncheckedCreateNestedManyWithoutCustomerInput comments?: CommentUncheckedCreateNestedManyWithoutCustomerInput promotions?: PromotionUncheckedCreateNestedManyWithoutCustomerInput notifications?: NotificationRecipientUncheckedCreateNestedManyWithoutCustomerInput activityLogs?: CustomerActivityLogUncheckedCreateNestedManyWithoutCustomerInput } export type CustomerCreateOrConnectWithoutOtpChallengesInput = { where: CustomerWhereUniqueInput create: XOR } export type CustomerUpsertWithoutOtpChallengesInput = { update: XOR create: XOR where?: CustomerWhereInput } export type CustomerUpdateToOneWithWhereWithoutOtpChallengesInput = { where?: CustomerWhereInput data: XOR } export type CustomerUpdateWithoutOtpChallengesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutOtpChallengesInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput } export type CustomerCreateManyCityInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string } export type CustomerAddressCreateManyCityInput = { id?: string customerId: string addressLine: string isDefault?: boolean } export type BranchCreateManyCityInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean } export type PreOrderCreateManyCityInput = { id?: string customerId: string workshopId?: string | null status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null convertedOrderId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type SalesExpertProfileCreateManyCityInput = { id?: string adminUserId: string gramLevel?: Decimal | DecimalJsLike | number | string phone?: string | null nationalCode?: string | null tradingCustomerId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type CustomerUpdateWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateManyWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerAddressUpdateWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string addressLine?: StringFieldUpdateOperationsInput | string isDefault?: BoolFieldUpdateOperationsInput | boolean customer?: CustomerUpdateOneRequiredWithoutAddressesNestedInput } export type CustomerAddressUncheckedUpdateWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string addressLine?: StringFieldUpdateOperationsInput | string isDefault?: BoolFieldUpdateOperationsInput | boolean } export type CustomerAddressUncheckedUpdateManyWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string addressLine?: StringFieldUpdateOperationsInput | string isDefault?: BoolFieldUpdateOperationsInput | boolean } export type BranchUpdateWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean adminUsers?: AdminUserUpdateManyWithoutBranchNestedInput orders?: OrderUpdateManyWithoutBranchNestedInput allocations?: BranchAllocationUpdateManyWithoutBranchNestedInput } export type BranchUncheckedUpdateWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean adminUsers?: AdminUserUncheckedUpdateManyWithoutBranchNestedInput orders?: OrderUncheckedUpdateManyWithoutBranchNestedInput allocations?: BranchAllocationUncheckedUpdateManyWithoutBranchNestedInput } export type BranchUncheckedUpdateManyWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type PreOrderUpdateWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutPreOrdersNestedInput workshop?: WorkshopUpdateOneWithoutPreOrdersNestedInput convertedOrder?: OrderUpdateOneWithoutConvertedFromPreOrderNestedInput statusEvents?: PreOrderStatusEventUpdateManyWithoutPreOrderNestedInput } export type PreOrderUncheckedUpdateWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string workshopId?: NullableStringFieldUpdateOperationsInput | string | null status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null convertedOrderId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string statusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutPreOrderNestedInput } export type PreOrderUncheckedUpdateManyWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string workshopId?: NullableStringFieldUpdateOperationsInput | string | null status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null convertedOrderId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SalesExpertProfileUpdateWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string gramLevel?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string phone?: NullableStringFieldUpdateOperationsInput | string | null nationalCode?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string adminUser?: AdminUserUpdateOneRequiredWithoutSalesExpertProfileNestedInput tradingCustomer?: CustomerUpdateOneWithoutSalesExpertTradingForNestedInput } export type SalesExpertProfileUncheckedUpdateWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string adminUserId?: StringFieldUpdateOperationsInput | string gramLevel?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string phone?: NullableStringFieldUpdateOperationsInput | string | null nationalCode?: NullableStringFieldUpdateOperationsInput | string | null tradingCustomerId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SalesExpertProfileUncheckedUpdateManyWithoutCityInput = { id?: StringFieldUpdateOperationsInput | string adminUserId?: StringFieldUpdateOperationsInput | string gramLevel?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string phone?: NullableStringFieldUpdateOperationsInput | string | null nationalCode?: NullableStringFieldUpdateOperationsInput | string | null tradingCustomerId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerCreateManyReferredByAgentInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null avatarFileId?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string } export type WorkshopCreateManySupervisorInput = { id?: string name: string address?: string | null phone?: string | null isActive?: boolean } export type BranchAllocationCreateManyAllocatorAdminUserInput = { id?: string branchId: string note?: string | null createdAt?: Date | string } export type LedgerEntryCreateManyPostedByAdminUserInput = { id?: string customerId: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType amount: Decimal | DecimalJsLike | number | string karatPerMille?: number | null pricePerGramRialAtEntry?: Decimal | DecimalJsLike | number | string | null orderId?: string | null confirmed?: boolean confirmedAt?: Date | string | null labName?: string | null hallmark?: string | null accountName?: string | null bankName?: string | null transferTo?: string | null originalValue?: Decimal | DecimalJsLike | number | string | null priceRial?: Decimal | DecimalJsLike | number | string | null receivedAt?: Date | string | null note?: string | null createdAt?: Date | string } export type OrderStatusEventCreateManyActorAdminUserInput = { id?: string orderId: string fromStatus?: $Enums.OrderStatus | null toStatus: $Enums.OrderStatus note?: string | null createdAt?: Date | string } export type PreOrderStatusEventCreateManyActorAdminUserInput = { id?: string preOrderId: string changes: JsonNullValueInput | InputJsonValue ipAddress?: string | null createdAt?: Date | string } export type SmsMessageCreateManySentByAdminUserInput = { id?: string audience: $Enums.MessageAudience recipients?: string | null body: string sentCount?: number createdAt?: Date | string } export type NotificationCreateManySentByAdminUserInput = { id?: string title: string body: string audience?: $Enums.MessageAudience createdAt?: Date | string } export type UploadedFileCreateManyUploadedByAdminUserInput = { id?: string url: string originalName: string mimeType: string sizeBytes: number purpose?: string | null createdAt?: Date | string } export type AdminSessionCreateManyAdminUserInput = { id?: string jti: string iamSessionId?: string | null iamSub?: string | null ipAddress?: string | null userAgent?: string | null createdAt?: Date | string expiresAt?: Date | string | null lastSeenAt?: Date | string | null revokedAt?: Date | string | null revokedReason?: string | null } export type CustomerUpdateWithoutReferredByAgentInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput avatarFile?: UploadedFileUpdateOneWithoutCustomerAvatarsNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutReferredByAgentInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateManyWithoutReferredByAgentInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type WorkshopUpdateWithoutSupervisorInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean preOrders?: PreOrderUpdateManyWithoutWorkshopNestedInput } export type WorkshopUncheckedUpdateWithoutSupervisorInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean preOrders?: PreOrderUncheckedUpdateManyWithoutWorkshopNestedInput } export type WorkshopUncheckedUpdateManyWithoutSupervisorInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string address?: NullableStringFieldUpdateOperationsInput | string | null phone?: NullableStringFieldUpdateOperationsInput | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type BranchAllocationUpdateWithoutAllocatorAdminUserInput = { id?: StringFieldUpdateOperationsInput | string note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string branch?: BranchUpdateOneRequiredWithoutAllocationsNestedInput items?: BranchAllocationItemUpdateManyWithoutAllocationNestedInput } export type BranchAllocationUncheckedUpdateWithoutAllocatorAdminUserInput = { id?: StringFieldUpdateOperationsInput | string branchId?: StringFieldUpdateOperationsInput | string note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: BranchAllocationItemUncheckedUpdateManyWithoutAllocationNestedInput } export type BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserInput = { id?: StringFieldUpdateOperationsInput | string branchId?: StringFieldUpdateOperationsInput | string note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type LedgerEntryUpdateWithoutPostedByAdminUserInput = { id?: StringFieldUpdateOperationsInput | string currency?: EnumLedgerCurrencyFieldUpdateOperationsInput | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFieldUpdateOperationsInput | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFieldUpdateOperationsInput | $Enums.LedgerSourceType amount?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string karatPerMille?: NullableIntFieldUpdateOperationsInput | number | null pricePerGramRialAtEntry?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null confirmed?: BoolFieldUpdateOperationsInput | boolean confirmedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null labName?: NullableStringFieldUpdateOperationsInput | string | null hallmark?: NullableStringFieldUpdateOperationsInput | string | null accountName?: NullableStringFieldUpdateOperationsInput | string | null bankName?: NullableStringFieldUpdateOperationsInput | string | null transferTo?: NullableStringFieldUpdateOperationsInput | string | null originalValue?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null priceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null receivedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutLedgerEntriesNestedInput order?: OrderUpdateOneWithoutLedgerEntriesNestedInput } export type LedgerEntryUncheckedUpdateWithoutPostedByAdminUserInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string currency?: EnumLedgerCurrencyFieldUpdateOperationsInput | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFieldUpdateOperationsInput | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFieldUpdateOperationsInput | $Enums.LedgerSourceType amount?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string karatPerMille?: NullableIntFieldUpdateOperationsInput | number | null pricePerGramRialAtEntry?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null orderId?: NullableStringFieldUpdateOperationsInput | string | null confirmed?: BoolFieldUpdateOperationsInput | boolean confirmedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null labName?: NullableStringFieldUpdateOperationsInput | string | null hallmark?: NullableStringFieldUpdateOperationsInput | string | null accountName?: NullableStringFieldUpdateOperationsInput | string | null bankName?: NullableStringFieldUpdateOperationsInput | string | null transferTo?: NullableStringFieldUpdateOperationsInput | string | null originalValue?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null priceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null receivedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string currency?: EnumLedgerCurrencyFieldUpdateOperationsInput | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFieldUpdateOperationsInput | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFieldUpdateOperationsInput | $Enums.LedgerSourceType amount?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string karatPerMille?: NullableIntFieldUpdateOperationsInput | number | null pricePerGramRialAtEntry?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null orderId?: NullableStringFieldUpdateOperationsInput | string | null confirmed?: BoolFieldUpdateOperationsInput | boolean confirmedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null labName?: NullableStringFieldUpdateOperationsInput | string | null hallmark?: NullableStringFieldUpdateOperationsInput | string | null accountName?: NullableStringFieldUpdateOperationsInput | string | null bankName?: NullableStringFieldUpdateOperationsInput | string | null transferTo?: NullableStringFieldUpdateOperationsInput | string | null originalValue?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null priceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null receivedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type OrderStatusEventUpdateWithoutActorAdminUserInput = { id?: StringFieldUpdateOperationsInput | string fromStatus?: NullableEnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus | null toStatus?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string order?: OrderUpdateOneRequiredWithoutStatusEventsNestedInput } export type OrderStatusEventUncheckedUpdateWithoutActorAdminUserInput = { id?: StringFieldUpdateOperationsInput | string orderId?: StringFieldUpdateOperationsInput | string fromStatus?: NullableEnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus | null toStatus?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserInput = { id?: StringFieldUpdateOperationsInput | string orderId?: StringFieldUpdateOperationsInput | string fromStatus?: NullableEnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus | null toStatus?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PreOrderStatusEventUpdateWithoutActorAdminUserInput = { id?: StringFieldUpdateOperationsInput | string changes?: JsonNullValueInput | InputJsonValue ipAddress?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string preOrder?: PreOrderUpdateOneRequiredWithoutStatusEventsNestedInput } export type PreOrderStatusEventUncheckedUpdateWithoutActorAdminUserInput = { id?: StringFieldUpdateOperationsInput | string preOrderId?: StringFieldUpdateOperationsInput | string changes?: JsonNullValueInput | InputJsonValue ipAddress?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserInput = { id?: StringFieldUpdateOperationsInput | string preOrderId?: StringFieldUpdateOperationsInput | string changes?: JsonNullValueInput | InputJsonValue ipAddress?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SmsMessageUpdateWithoutSentByAdminUserInput = { id?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience recipients?: NullableStringFieldUpdateOperationsInput | string | null body?: StringFieldUpdateOperationsInput | string sentCount?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SmsMessageUncheckedUpdateWithoutSentByAdminUserInput = { id?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience recipients?: NullableStringFieldUpdateOperationsInput | string | null body?: StringFieldUpdateOperationsInput | string sentCount?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SmsMessageUncheckedUpdateManyWithoutSentByAdminUserInput = { id?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience recipients?: NullableStringFieldUpdateOperationsInput | string | null body?: StringFieldUpdateOperationsInput | string sentCount?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NotificationUpdateWithoutSentByAdminUserInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience createdAt?: DateTimeFieldUpdateOperationsInput | Date | string recipients?: NotificationRecipientUpdateManyWithoutNotificationNestedInput } export type NotificationUncheckedUpdateWithoutSentByAdminUserInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience createdAt?: DateTimeFieldUpdateOperationsInput | Date | string recipients?: NotificationRecipientUncheckedUpdateManyWithoutNotificationNestedInput } export type NotificationUncheckedUpdateManyWithoutSentByAdminUserInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string audience?: EnumMessageAudienceFieldUpdateOperationsInput | $Enums.MessageAudience createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UploadedFileUpdateWithoutUploadedByAdminUserInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string originalName?: StringFieldUpdateOperationsInput | string mimeType?: StringFieldUpdateOperationsInput | string sizeBytes?: IntFieldUpdateOperationsInput | number purpose?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string customerAvatars?: CustomerUpdateManyWithoutAvatarFileNestedInput adminUserAvatars?: AdminUserUpdateManyWithoutAvatarFileNestedInput } export type UploadedFileUncheckedUpdateWithoutUploadedByAdminUserInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string originalName?: StringFieldUpdateOperationsInput | string mimeType?: StringFieldUpdateOperationsInput | string sizeBytes?: IntFieldUpdateOperationsInput | number purpose?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string customerAvatars?: CustomerUncheckedUpdateManyWithoutAvatarFileNestedInput adminUserAvatars?: AdminUserUncheckedUpdateManyWithoutAvatarFileNestedInput } export type UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string originalName?: StringFieldUpdateOperationsInput | string mimeType?: StringFieldUpdateOperationsInput | string sizeBytes?: IntFieldUpdateOperationsInput | number purpose?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AdminSessionUpdateWithoutAdminUserInput = { id?: StringFieldUpdateOperationsInput | string jti?: StringFieldUpdateOperationsInput | string iamSessionId?: NullableStringFieldUpdateOperationsInput | string | null iamSub?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastSeenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedReason?: NullableStringFieldUpdateOperationsInput | string | null } export type AdminSessionUncheckedUpdateWithoutAdminUserInput = { id?: StringFieldUpdateOperationsInput | string jti?: StringFieldUpdateOperationsInput | string iamSessionId?: NullableStringFieldUpdateOperationsInput | string | null iamSub?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastSeenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedReason?: NullableStringFieldUpdateOperationsInput | string | null } export type AdminSessionUncheckedUpdateManyWithoutAdminUserInput = { id?: StringFieldUpdateOperationsInput | string jti?: StringFieldUpdateOperationsInput | string iamSessionId?: NullableStringFieldUpdateOperationsInput | string | null iamSub?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null userAgent?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null lastSeenAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null revokedReason?: NullableStringFieldUpdateOperationsInput | string | null } export type CustomerAddressCreateManyCustomerInput = { id?: string cityId?: string | null addressLine: string isDefault?: boolean } export type OrderCreateManyCustomerInput = { id?: string orderNumber: string branchId?: string | null channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string } export type PreOrderCreateManyCustomerInput = { id?: string cityId?: string | null workshopId?: string | null status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null convertedOrderId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type LedgerEntryCreateManyCustomerInput = { id?: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType amount: Decimal | DecimalJsLike | number | string karatPerMille?: number | null pricePerGramRialAtEntry?: Decimal | DecimalJsLike | number | string | null orderId?: string | null confirmed?: boolean confirmedAt?: Date | string | null postedByAdminUserId?: string | null labName?: string | null hallmark?: string | null accountName?: string | null bankName?: string | null transferTo?: string | null originalValue?: Decimal | DecimalJsLike | number | string | null priceRial?: Decimal | DecimalJsLike | number | string | null receivedAt?: Date | string | null note?: string | null createdAt?: Date | string } export type WalletBonusCreateManyCustomerInput = { id?: string orderId?: string | null goldGrams: Decimal | DecimalJsLike | number | string grantedAt?: Date | string expiresAt: Date | string consumedAt?: Date | string | null isActive?: boolean } export type CommentCreateManyCustomerInput = { id?: string productId: string body: string status?: $Enums.CommentStatus replyToId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type PromotionCreateManyCustomerInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null productId?: string | null categoryId?: string | null brandId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type NotificationRecipientCreateManyCustomerInput = { id?: string notificationId: string readAt?: Date | string | null } export type CustomerActivityLogCreateManyCustomerInput = { id?: string action: string detail?: string | null createdAt?: Date | string } export type CustomerOtpCreateManyCustomerInput = { id?: string mobile: string codeHash: string expiresAt: Date | string attempts?: number consumedAt?: Date | string | null requestIp?: string | null createdAt?: Date | string } export type CustomerAddressUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string addressLine?: StringFieldUpdateOperationsInput | string isDefault?: BoolFieldUpdateOperationsInput | boolean city?: CityUpdateOneWithoutAddressesNestedInput } export type CustomerAddressUncheckedUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null addressLine?: StringFieldUpdateOperationsInput | string isDefault?: BoolFieldUpdateOperationsInput | boolean } export type CustomerAddressUncheckedUpdateManyWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null addressLine?: StringFieldUpdateOperationsInput | string isDefault?: BoolFieldUpdateOperationsInput | boolean } export type OrderUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string branch?: BranchUpdateOneWithoutOrdersNestedInput items?: OrderItemUpdateManyWithoutOrderNestedInput statusEvents?: OrderStatusEventUpdateManyWithoutOrderNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutOrderNestedInput convertedFromPreOrder?: PreOrderUpdateOneWithoutConvertedOrderNestedInput } export type OrderUncheckedUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string branchId?: NullableStringFieldUpdateOperationsInput | string | null channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: OrderItemUncheckedUpdateManyWithoutOrderNestedInput statusEvents?: OrderStatusEventUncheckedUpdateManyWithoutOrderNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutOrderNestedInput convertedFromPreOrder?: PreOrderUncheckedUpdateOneWithoutConvertedOrderNestedInput } export type OrderUncheckedUpdateManyWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string branchId?: NullableStringFieldUpdateOperationsInput | string | null channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PreOrderUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutPreOrdersNestedInput workshop?: WorkshopUpdateOneWithoutPreOrdersNestedInput convertedOrder?: OrderUpdateOneWithoutConvertedFromPreOrderNestedInput statusEvents?: PreOrderStatusEventUpdateManyWithoutPreOrderNestedInput } export type PreOrderUncheckedUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null workshopId?: NullableStringFieldUpdateOperationsInput | string | null status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null convertedOrderId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string statusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutPreOrderNestedInput } export type PreOrderUncheckedUpdateManyWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null workshopId?: NullableStringFieldUpdateOperationsInput | string | null status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null convertedOrderId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type LedgerEntryUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string currency?: EnumLedgerCurrencyFieldUpdateOperationsInput | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFieldUpdateOperationsInput | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFieldUpdateOperationsInput | $Enums.LedgerSourceType amount?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string karatPerMille?: NullableIntFieldUpdateOperationsInput | number | null pricePerGramRialAtEntry?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null confirmed?: BoolFieldUpdateOperationsInput | boolean confirmedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null labName?: NullableStringFieldUpdateOperationsInput | string | null hallmark?: NullableStringFieldUpdateOperationsInput | string | null accountName?: NullableStringFieldUpdateOperationsInput | string | null bankName?: NullableStringFieldUpdateOperationsInput | string | null transferTo?: NullableStringFieldUpdateOperationsInput | string | null originalValue?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null priceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null receivedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string order?: OrderUpdateOneWithoutLedgerEntriesNestedInput postedByAdminUser?: AdminUserUpdateOneWithoutPostedLedgerEntriesNestedInput } export type LedgerEntryUncheckedUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string currency?: EnumLedgerCurrencyFieldUpdateOperationsInput | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFieldUpdateOperationsInput | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFieldUpdateOperationsInput | $Enums.LedgerSourceType amount?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string karatPerMille?: NullableIntFieldUpdateOperationsInput | number | null pricePerGramRialAtEntry?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null orderId?: NullableStringFieldUpdateOperationsInput | string | null confirmed?: BoolFieldUpdateOperationsInput | boolean confirmedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null postedByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null labName?: NullableStringFieldUpdateOperationsInput | string | null hallmark?: NullableStringFieldUpdateOperationsInput | string | null accountName?: NullableStringFieldUpdateOperationsInput | string | null bankName?: NullableStringFieldUpdateOperationsInput | string | null transferTo?: NullableStringFieldUpdateOperationsInput | string | null originalValue?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null priceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null receivedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type LedgerEntryUncheckedUpdateManyWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string currency?: EnumLedgerCurrencyFieldUpdateOperationsInput | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFieldUpdateOperationsInput | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFieldUpdateOperationsInput | $Enums.LedgerSourceType amount?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string karatPerMille?: NullableIntFieldUpdateOperationsInput | number | null pricePerGramRialAtEntry?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null orderId?: NullableStringFieldUpdateOperationsInput | string | null confirmed?: BoolFieldUpdateOperationsInput | boolean confirmedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null postedByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null labName?: NullableStringFieldUpdateOperationsInput | string | null hallmark?: NullableStringFieldUpdateOperationsInput | string | null accountName?: NullableStringFieldUpdateOperationsInput | string | null bankName?: NullableStringFieldUpdateOperationsInput | string | null transferTo?: NullableStringFieldUpdateOperationsInput | string | null originalValue?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null priceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null receivedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type WalletBonusUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string orderId?: NullableStringFieldUpdateOperationsInput | string | null goldGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string grantedAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type WalletBonusUncheckedUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string orderId?: NullableStringFieldUpdateOperationsInput | string | null goldGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string grantedAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type WalletBonusUncheckedUpdateManyWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string orderId?: NullableStringFieldUpdateOperationsInput | string | null goldGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string grantedAt?: DateTimeFieldUpdateOperationsInput | Date | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null isActive?: BoolFieldUpdateOperationsInput | boolean } export type CommentUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string product?: ProductUpdateOneRequiredWithoutCommentsNestedInput replyTo?: CommentUpdateOneWithoutRepliesNestedInput replies?: CommentUpdateManyWithoutReplyToNestedInput } export type CommentUncheckedUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus replyToId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string replies?: CommentUncheckedUpdateManyWithoutReplyToNestedInput } export type CommentUncheckedUpdateManyWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus replyToId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string product?: ProductUpdateOneWithoutPromotionsNestedInput category?: CategoryUpdateOneWithoutPromotionsNestedInput brand?: BrandUpdateOneWithoutPromotionsNestedInput } export type PromotionUncheckedUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null productId?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionUncheckedUpdateManyWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null productId?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type NotificationRecipientUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null notification?: NotificationUpdateOneRequiredWithoutRecipientsNestedInput } export type NotificationRecipientUncheckedUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string notificationId?: StringFieldUpdateOperationsInput | string readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type NotificationRecipientUncheckedUpdateManyWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string notificationId?: StringFieldUpdateOperationsInput | string readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type CustomerActivityLogUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string action?: StringFieldUpdateOperationsInput | string detail?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerActivityLogUncheckedUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string action?: StringFieldUpdateOperationsInput | string detail?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerActivityLogUncheckedUpdateManyWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string action?: StringFieldUpdateOperationsInput | string detail?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerOtpUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string mobile?: StringFieldUpdateOperationsInput | string codeHash?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string attempts?: IntFieldUpdateOperationsInput | number consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null requestIp?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerOtpUncheckedUpdateWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string mobile?: StringFieldUpdateOperationsInput | string codeHash?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string attempts?: IntFieldUpdateOperationsInput | number consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null requestIp?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CustomerOtpUncheckedUpdateManyWithoutCustomerInput = { id?: StringFieldUpdateOperationsInput | string mobile?: StringFieldUpdateOperationsInput | string codeHash?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string attempts?: IntFieldUpdateOperationsInput | number consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null requestIp?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AdminUserCreateManyBranchInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null } export type OrderCreateManyBranchInput = { id?: string orderNumber: string customerId: string channel?: $Enums.OrderChannel status?: $Enums.OrderStatus totalGoldWeightGrams: Decimal | DecimalJsLike | number | string wageWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: boolean deliveredAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string } export type BranchAllocationCreateManyBranchInput = { id?: string allocatorAdminUserId?: string | null note?: string | null createdAt?: Date | string } export type AdminUserUpdateWithoutBranchInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutBranchInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateManyWithoutBranchInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null } export type OrderUpdateWithoutBranchInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutOrdersNestedInput items?: OrderItemUpdateManyWithoutOrderNestedInput statusEvents?: OrderStatusEventUpdateManyWithoutOrderNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutOrderNestedInput convertedFromPreOrder?: PreOrderUpdateOneWithoutConvertedOrderNestedInput } export type OrderUncheckedUpdateWithoutBranchInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: OrderItemUncheckedUpdateManyWithoutOrderNestedInput statusEvents?: OrderStatusEventUncheckedUpdateManyWithoutOrderNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutOrderNestedInput convertedFromPreOrder?: PreOrderUncheckedUpdateOneWithoutConvertedOrderNestedInput } export type OrderUncheckedUpdateManyWithoutBranchInput = { id?: StringFieldUpdateOperationsInput | string orderNumber?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string channel?: EnumOrderChannelFieldUpdateOperationsInput | $Enums.OrderChannel status?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus totalGoldWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wageWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isSuspendedOverCreditLimit?: BoolFieldUpdateOperationsInput | boolean deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type BranchAllocationUpdateWithoutBranchInput = { id?: StringFieldUpdateOperationsInput | string note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string allocatorAdminUser?: AdminUserUpdateOneWithoutBranchAllocationsNestedInput items?: BranchAllocationItemUpdateManyWithoutAllocationNestedInput } export type BranchAllocationUncheckedUpdateWithoutBranchInput = { id?: StringFieldUpdateOperationsInput | string allocatorAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: BranchAllocationItemUncheckedUpdateManyWithoutAllocationNestedInput } export type BranchAllocationUncheckedUpdateManyWithoutBranchInput = { id?: StringFieldUpdateOperationsInput | string allocatorAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PreOrderCreateManyWorkshopInput = { id?: string customerId: string cityId?: string | null status?: $Enums.PreOrderStatus designImageUrl?: string | null colorName?: string | null sizeSpec?: string | null stoneColor?: string | null minaColor?: string | null estimatedWeightGrams?: Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: Decimal | DecimalJsLike | number | string | null description?: string | null convertedOrderId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type PreOrderUpdateWithoutWorkshopInput = { id?: StringFieldUpdateOperationsInput | string status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutPreOrdersNestedInput city?: CityUpdateOneWithoutPreOrdersNestedInput convertedOrder?: OrderUpdateOneWithoutConvertedFromPreOrderNestedInput statusEvents?: PreOrderStatusEventUpdateManyWithoutPreOrderNestedInput } export type PreOrderUncheckedUpdateWithoutWorkshopInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null convertedOrderId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string statusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutPreOrderNestedInput } export type PreOrderUncheckedUpdateManyWithoutWorkshopInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null status?: EnumPreOrderStatusFieldUpdateOperationsInput | $Enums.PreOrderStatus designImageUrl?: NullableStringFieldUpdateOperationsInput | string | null colorName?: NullableStringFieldUpdateOperationsInput | string | null sizeSpec?: NullableStringFieldUpdateOperationsInput | string | null stoneColor?: NullableStringFieldUpdateOperationsInput | string | null minaColor?: NullableStringFieldUpdateOperationsInput | string | null estimatedWeightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null estimatedPriceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null description?: NullableStringFieldUpdateOperationsInput | string | null convertedOrderId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CategoryCreateManyParentInput = { id?: string title: string type?: number imageUrl?: string | null iconUrl?: string | null metaTag?: string | null description?: string | null } export type ProductCreateManyCategoryInput = { id?: string title: string description?: string | null brandId?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string } export type PromotionCreateManyCategoryInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null productId?: string | null customerId?: string | null brandId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type CategoryUpdateWithoutParentInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number imageUrl?: NullableStringFieldUpdateOperationsInput | string | null iconUrl?: NullableStringFieldUpdateOperationsInput | string | null metaTag?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null children?: CategoryUpdateManyWithoutParentNestedInput products?: ProductUpdateManyWithoutCategoryNestedInput promotions?: PromotionUpdateManyWithoutCategoryNestedInput } export type CategoryUncheckedUpdateWithoutParentInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number imageUrl?: NullableStringFieldUpdateOperationsInput | string | null iconUrl?: NullableStringFieldUpdateOperationsInput | string | null metaTag?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null children?: CategoryUncheckedUpdateManyWithoutParentNestedInput products?: ProductUncheckedUpdateManyWithoutCategoryNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCategoryNestedInput } export type CategoryUncheckedUpdateManyWithoutParentInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string type?: IntFieldUpdateOperationsInput | number imageUrl?: NullableStringFieldUpdateOperationsInput | string | null iconUrl?: NullableStringFieldUpdateOperationsInput | string | null metaTag?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null } export type ProductUpdateWithoutCategoryInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string brand?: BrandUpdateOneWithoutProductsNestedInput variants?: ProductVariantUpdateManyWithoutProductNestedInput images?: ProductImageUpdateManyWithoutProductNestedInput collections?: CollectionProductUpdateManyWithoutProductNestedInput comments?: CommentUpdateManyWithoutProductNestedInput promotions?: PromotionUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateWithoutCategoryInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string variants?: ProductVariantUncheckedUpdateManyWithoutProductNestedInput images?: ProductImageUncheckedUpdateManyWithoutProductNestedInput collections?: CollectionProductUncheckedUpdateManyWithoutProductNestedInput comments?: CommentUncheckedUpdateManyWithoutProductNestedInput promotions?: PromotionUncheckedUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUncheckedUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateManyWithoutCategoryInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionUpdateWithoutCategoryInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string product?: ProductUpdateOneWithoutPromotionsNestedInput customer?: CustomerUpdateOneWithoutPromotionsNestedInput brand?: BrandUpdateOneWithoutPromotionsNestedInput } export type PromotionUncheckedUpdateWithoutCategoryInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null productId?: NullableStringFieldUpdateOperationsInput | string | null customerId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionUncheckedUpdateManyWithoutCategoryInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null productId?: NullableStringFieldUpdateOperationsInput | string | null customerId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductCreateManyBrandInput = { id?: string title: string description?: string | null categoryId?: string | null productCode?: string | null showType?: number isActive?: boolean createdAt?: Date | string } export type PromotionCreateManyBrandInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null productId?: string | null categoryId?: string | null customerId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type ProductUpdateWithoutBrandInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string category?: CategoryUpdateOneWithoutProductsNestedInput variants?: ProductVariantUpdateManyWithoutProductNestedInput images?: ProductImageUpdateManyWithoutProductNestedInput collections?: CollectionProductUpdateManyWithoutProductNestedInput comments?: CommentUpdateManyWithoutProductNestedInput promotions?: PromotionUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateWithoutBrandInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string variants?: ProductVariantUncheckedUpdateManyWithoutProductNestedInput images?: ProductImageUncheckedUpdateManyWithoutProductNestedInput collections?: CollectionProductUncheckedUpdateManyWithoutProductNestedInput comments?: CommentUncheckedUpdateManyWithoutProductNestedInput promotions?: PromotionUncheckedUpdateManyWithoutProductNestedInput allocationItems?: BranchAllocationItemUncheckedUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateManyWithoutBrandInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null productCode?: NullableStringFieldUpdateOperationsInput | string | null showType?: IntFieldUpdateOperationsInput | number isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionUpdateWithoutBrandInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string product?: ProductUpdateOneWithoutPromotionsNestedInput category?: CategoryUpdateOneWithoutPromotionsNestedInput customer?: CustomerUpdateOneWithoutPromotionsNestedInput } export type PromotionUncheckedUpdateWithoutBrandInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null productId?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null customerId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionUncheckedUpdateManyWithoutBrandInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null productId?: NullableStringFieldUpdateOperationsInput | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null customerId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CollectionProductCreateManyCollectionInput = { productId: string } export type CollectionProductUpdateWithoutCollectionInput = { product?: ProductUpdateOneRequiredWithoutCollectionsNestedInput } export type CollectionProductUncheckedUpdateWithoutCollectionInput = { productId?: StringFieldUpdateOperationsInput | string } export type CollectionProductUncheckedUpdateManyWithoutCollectionInput = { productId?: StringFieldUpdateOperationsInput | string } export type ProductVariantCreateManyProductInput = { id?: string title: string sku?: string | null rashWeightGrams: Decimal | DecimalJsLike | number | string defaultWagePercent: Decimal | DecimalJsLike | number | string qty?: number isPreOrder?: boolean isActive?: boolean imageId?: string | null } export type ProductImageCreateManyProductInput = { id?: string url: string sortOrder?: number role?: $Enums.ProductImageRole } export type CollectionProductCreateManyProductInput = { collectionId: string } export type CommentCreateManyProductInput = { id?: string customerId: string body: string status?: $Enums.CommentStatus replyToId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type PromotionCreateManyProductInput = { id?: string title: string description?: string | null scope?: $Enums.PromotionScope usage?: $Enums.PromotionUsage discountPercent: Decimal | DecimalJsLike | number | string isActive?: boolean platform?: number startsAt?: Date | string | null endsAt?: Date | string | null categoryId?: string | null customerId?: string | null brandId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type BranchAllocationItemCreateManyProductInput = { id?: string allocationId: string weightGrams?: Decimal | DecimalJsLike | number | string | null } export type ProductVariantUpdateWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null rashWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string qty?: IntFieldUpdateOperationsInput | number isPreOrder?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean image?: ProductImageUpdateOneWithoutVariantsNestedInput orderItems?: OrderItemUpdateManyWithoutProductVariantNestedInput } export type ProductVariantUncheckedUpdateWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null rashWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string qty?: IntFieldUpdateOperationsInput | number isPreOrder?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean imageId?: NullableStringFieldUpdateOperationsInput | string | null orderItems?: OrderItemUncheckedUpdateManyWithoutProductVariantNestedInput } export type ProductVariantUncheckedUpdateManyWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null rashWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string qty?: IntFieldUpdateOperationsInput | number isPreOrder?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean imageId?: NullableStringFieldUpdateOperationsInput | string | null } export type ProductImageUpdateWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string sortOrder?: IntFieldUpdateOperationsInput | number role?: EnumProductImageRoleFieldUpdateOperationsInput | $Enums.ProductImageRole variants?: ProductVariantUpdateManyWithoutImageNestedInput } export type ProductImageUncheckedUpdateWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string sortOrder?: IntFieldUpdateOperationsInput | number role?: EnumProductImageRoleFieldUpdateOperationsInput | $Enums.ProductImageRole variants?: ProductVariantUncheckedUpdateManyWithoutImageNestedInput } export type ProductImageUncheckedUpdateManyWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string url?: StringFieldUpdateOperationsInput | string sortOrder?: IntFieldUpdateOperationsInput | number role?: EnumProductImageRoleFieldUpdateOperationsInput | $Enums.ProductImageRole } export type CollectionProductUpdateWithoutProductInput = { collection?: CollectionUpdateOneRequiredWithoutProductsNestedInput } export type CollectionProductUncheckedUpdateWithoutProductInput = { collectionId?: StringFieldUpdateOperationsInput | string } export type CollectionProductUncheckedUpdateManyWithoutProductInput = { collectionId?: StringFieldUpdateOperationsInput | string } export type CommentUpdateWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutCommentsNestedInput replyTo?: CommentUpdateOneWithoutRepliesNestedInput replies?: CommentUpdateManyWithoutReplyToNestedInput } export type CommentUncheckedUpdateWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus replyToId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string replies?: CommentUncheckedUpdateManyWithoutReplyToNestedInput } export type CommentUncheckedUpdateManyWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus replyToId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionUpdateWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string category?: CategoryUpdateOneWithoutPromotionsNestedInput customer?: CustomerUpdateOneWithoutPromotionsNestedInput brand?: BrandUpdateOneWithoutPromotionsNestedInput } export type PromotionUncheckedUpdateWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null customerId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PromotionUncheckedUpdateManyWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null scope?: EnumPromotionScopeFieldUpdateOperationsInput | $Enums.PromotionScope usage?: EnumPromotionUsageFieldUpdateOperationsInput | $Enums.PromotionUsage discountPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string isActive?: BoolFieldUpdateOperationsInput | boolean platform?: IntFieldUpdateOperationsInput | number startsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null endsAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null categoryId?: NullableStringFieldUpdateOperationsInput | string | null customerId?: NullableStringFieldUpdateOperationsInput | string | null brandId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type BranchAllocationItemUpdateWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string weightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null allocation?: BranchAllocationUpdateOneRequiredWithoutItemsNestedInput } export type BranchAllocationItemUncheckedUpdateWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string allocationId?: StringFieldUpdateOperationsInput | string weightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null } export type BranchAllocationItemUncheckedUpdateManyWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string allocationId?: StringFieldUpdateOperationsInput | string weightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null } export type ProductVariantCreateManyImageInput = { id?: string productId: string title: string sku?: string | null rashWeightGrams: Decimal | DecimalJsLike | number | string defaultWagePercent: Decimal | DecimalJsLike | number | string qty?: number isPreOrder?: boolean isActive?: boolean } export type ProductVariantUpdateWithoutImageInput = { id?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null rashWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string qty?: IntFieldUpdateOperationsInput | number isPreOrder?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean product?: ProductUpdateOneRequiredWithoutVariantsNestedInput orderItems?: OrderItemUpdateManyWithoutProductVariantNestedInput } export type ProductVariantUncheckedUpdateWithoutImageInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null rashWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string qty?: IntFieldUpdateOperationsInput | number isPreOrder?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean orderItems?: OrderItemUncheckedUpdateManyWithoutProductVariantNestedInput } export type ProductVariantUncheckedUpdateManyWithoutImageInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string title?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null rashWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string defaultWagePercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string qty?: IntFieldUpdateOperationsInput | number isPreOrder?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean } export type OrderItemCreateManyProductVariantInput = { id?: string orderId: string quantity: number rashWeightGramsSnapshot: Decimal | DecimalJsLike | number | string wagePercentSnapshot: Decimal | DecimalJsLike | number | string discountPercentSnapshot?: Decimal | DecimalJsLike | number | string computedWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string } export type OrderItemUpdateWithoutProductVariantInput = { id?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number rashWeightGramsSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string order?: OrderUpdateOneRequiredWithoutItemsNestedInput } export type OrderItemUncheckedUpdateWithoutProductVariantInput = { id?: StringFieldUpdateOperationsInput | string orderId?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number rashWeightGramsSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string } export type OrderItemUncheckedUpdateManyWithoutProductVariantInput = { id?: StringFieldUpdateOperationsInput | string orderId?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number rashWeightGramsSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string } export type OrderItemCreateManyOrderInput = { id?: string productVariantId: string quantity: number rashWeightGramsSnapshot: Decimal | DecimalJsLike | number | string wagePercentSnapshot: Decimal | DecimalJsLike | number | string discountPercentSnapshot?: Decimal | DecimalJsLike | number | string computedWeightGrams: Decimal | DecimalJsLike | number | string flatRialCharge?: Decimal | DecimalJsLike | number | string } export type OrderStatusEventCreateManyOrderInput = { id?: string fromStatus?: $Enums.OrderStatus | null toStatus: $Enums.OrderStatus note?: string | null actorAdminUserId?: string | null createdAt?: Date | string } export type LedgerEntryCreateManyOrderInput = { id?: string customerId: string currency: $Enums.LedgerCurrency direction: $Enums.LedgerDirection sourceType: $Enums.LedgerSourceType amount: Decimal | DecimalJsLike | number | string karatPerMille?: number | null pricePerGramRialAtEntry?: Decimal | DecimalJsLike | number | string | null confirmed?: boolean confirmedAt?: Date | string | null postedByAdminUserId?: string | null labName?: string | null hallmark?: string | null accountName?: string | null bankName?: string | null transferTo?: string | null originalValue?: Decimal | DecimalJsLike | number | string | null priceRial?: Decimal | DecimalJsLike | number | string | null receivedAt?: Date | string | null note?: string | null createdAt?: Date | string } export type OrderItemUpdateWithoutOrderInput = { id?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number rashWeightGramsSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string productVariant?: ProductVariantUpdateOneRequiredWithoutOrderItemsNestedInput } export type OrderItemUncheckedUpdateWithoutOrderInput = { id?: StringFieldUpdateOperationsInput | string productVariantId?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number rashWeightGramsSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string } export type OrderItemUncheckedUpdateManyWithoutOrderInput = { id?: StringFieldUpdateOperationsInput | string productVariantId?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number rashWeightGramsSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string wagePercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string discountPercentSnapshot?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string computedWeightGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string flatRialCharge?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string } export type OrderStatusEventUpdateWithoutOrderInput = { id?: StringFieldUpdateOperationsInput | string fromStatus?: NullableEnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus | null toStatus?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string actorAdminUser?: AdminUserUpdateOneWithoutOrderStatusEventsNestedInput } export type OrderStatusEventUncheckedUpdateWithoutOrderInput = { id?: StringFieldUpdateOperationsInput | string fromStatus?: NullableEnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus | null toStatus?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus note?: NullableStringFieldUpdateOperationsInput | string | null actorAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type OrderStatusEventUncheckedUpdateManyWithoutOrderInput = { id?: StringFieldUpdateOperationsInput | string fromStatus?: NullableEnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus | null toStatus?: EnumOrderStatusFieldUpdateOperationsInput | $Enums.OrderStatus note?: NullableStringFieldUpdateOperationsInput | string | null actorAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type LedgerEntryUpdateWithoutOrderInput = { id?: StringFieldUpdateOperationsInput | string currency?: EnumLedgerCurrencyFieldUpdateOperationsInput | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFieldUpdateOperationsInput | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFieldUpdateOperationsInput | $Enums.LedgerSourceType amount?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string karatPerMille?: NullableIntFieldUpdateOperationsInput | number | null pricePerGramRialAtEntry?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null confirmed?: BoolFieldUpdateOperationsInput | boolean confirmedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null labName?: NullableStringFieldUpdateOperationsInput | string | null hallmark?: NullableStringFieldUpdateOperationsInput | string | null accountName?: NullableStringFieldUpdateOperationsInput | string | null bankName?: NullableStringFieldUpdateOperationsInput | string | null transferTo?: NullableStringFieldUpdateOperationsInput | string | null originalValue?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null priceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null receivedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string customer?: CustomerUpdateOneRequiredWithoutLedgerEntriesNestedInput postedByAdminUser?: AdminUserUpdateOneWithoutPostedLedgerEntriesNestedInput } export type LedgerEntryUncheckedUpdateWithoutOrderInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string currency?: EnumLedgerCurrencyFieldUpdateOperationsInput | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFieldUpdateOperationsInput | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFieldUpdateOperationsInput | $Enums.LedgerSourceType amount?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string karatPerMille?: NullableIntFieldUpdateOperationsInput | number | null pricePerGramRialAtEntry?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null confirmed?: BoolFieldUpdateOperationsInput | boolean confirmedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null postedByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null labName?: NullableStringFieldUpdateOperationsInput | string | null hallmark?: NullableStringFieldUpdateOperationsInput | string | null accountName?: NullableStringFieldUpdateOperationsInput | string | null bankName?: NullableStringFieldUpdateOperationsInput | string | null transferTo?: NullableStringFieldUpdateOperationsInput | string | null originalValue?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null priceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null receivedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type LedgerEntryUncheckedUpdateManyWithoutOrderInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string currency?: EnumLedgerCurrencyFieldUpdateOperationsInput | $Enums.LedgerCurrency direction?: EnumLedgerDirectionFieldUpdateOperationsInput | $Enums.LedgerDirection sourceType?: EnumLedgerSourceTypeFieldUpdateOperationsInput | $Enums.LedgerSourceType amount?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string karatPerMille?: NullableIntFieldUpdateOperationsInput | number | null pricePerGramRialAtEntry?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null confirmed?: BoolFieldUpdateOperationsInput | boolean confirmedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null postedByAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null labName?: NullableStringFieldUpdateOperationsInput | string | null hallmark?: NullableStringFieldUpdateOperationsInput | string | null accountName?: NullableStringFieldUpdateOperationsInput | string | null bankName?: NullableStringFieldUpdateOperationsInput | string | null transferTo?: NullableStringFieldUpdateOperationsInput | string | null originalValue?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null priceRial?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null receivedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null note?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PreOrderStatusEventCreateManyPreOrderInput = { id?: string changes: JsonNullValueInput | InputJsonValue actorAdminUserId?: string | null ipAddress?: string | null createdAt?: Date | string } export type PreOrderStatusEventUpdateWithoutPreOrderInput = { id?: StringFieldUpdateOperationsInput | string changes?: JsonNullValueInput | InputJsonValue ipAddress?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string actorAdminUser?: AdminUserUpdateOneWithoutPreOrderStatusEventsNestedInput } export type PreOrderStatusEventUncheckedUpdateWithoutPreOrderInput = { id?: StringFieldUpdateOperationsInput | string changes?: JsonNullValueInput | InputJsonValue actorAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PreOrderStatusEventUncheckedUpdateManyWithoutPreOrderInput = { id?: StringFieldUpdateOperationsInput | string changes?: JsonNullValueInput | InputJsonValue actorAdminUserId?: NullableStringFieldUpdateOperationsInput | string | null ipAddress?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PermissionCreateManyUserTypeInput = { rid: string } export type AdminUserCreateManyUserTypeInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string avatarFileId?: string | null address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null } export type PermissionUpdateWithoutUserTypeInput = { rid?: StringFieldUpdateOperationsInput | string } export type PermissionUncheckedUpdateWithoutUserTypeInput = { rid?: StringFieldUpdateOperationsInput | string } export type PermissionUncheckedUpdateManyWithoutUserTypeInput = { rid?: StringFieldUpdateOperationsInput | string } export type AdminUserUpdateWithoutUserTypeInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null branch?: BranchUpdateOneWithoutAdminUsersNestedInput avatarFile?: UploadedFileUpdateOneWithoutAdminUserAvatarsNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutUserTypeInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateManyWithoutUserTypeInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string avatarFileId?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null } export type CommentCreateManyReplyToInput = { id?: string productId: string customerId: string body: string status?: $Enums.CommentStatus createdAt?: Date | string updatedAt?: Date | string } export type CommentUpdateWithoutReplyToInput = { id?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string product?: ProductUpdateOneRequiredWithoutCommentsNestedInput customer?: CustomerUpdateOneRequiredWithoutCommentsNestedInput replies?: CommentUpdateManyWithoutReplyToNestedInput } export type CommentUncheckedUpdateWithoutReplyToInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string replies?: CommentUncheckedUpdateManyWithoutReplyToNestedInput } export type CommentUncheckedUpdateManyWithoutReplyToInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string body?: StringFieldUpdateOperationsInput | string status?: EnumCommentStatusFieldUpdateOperationsInput | $Enums.CommentStatus createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type BranchAllocationItemCreateManyAllocationInput = { id?: string productId: string weightGrams?: Decimal | DecimalJsLike | number | string | null } export type BranchAllocationItemUpdateWithoutAllocationInput = { id?: StringFieldUpdateOperationsInput | string weightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null product?: ProductUpdateOneRequiredWithoutAllocationItemsNestedInput } export type BranchAllocationItemUncheckedUpdateWithoutAllocationInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string weightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null } export type BranchAllocationItemUncheckedUpdateManyWithoutAllocationInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string weightGrams?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null } export type NotificationRecipientCreateManyNotificationInput = { id?: string customerId: string readAt?: Date | string | null } export type NotificationRecipientUpdateWithoutNotificationInput = { id?: StringFieldUpdateOperationsInput | string readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null customer?: CustomerUpdateOneRequiredWithoutNotificationsNestedInput } export type NotificationRecipientUncheckedUpdateWithoutNotificationInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type NotificationRecipientUncheckedUpdateManyWithoutNotificationInput = { id?: StringFieldUpdateOperationsInput | string customerId?: StringFieldUpdateOperationsInput | string readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type CustomerCreateManyAvatarFileInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string nationalCode: string passwordHash: string cityId?: string | null kind?: $Enums.CustomerKind phone?: string | null address?: string | null storeName?: string | null pasazhName?: string | null zone?: string | null memberCode?: string | null referredByAgentId?: string | null goldCreditLimitGrams?: Decimal | DecimalJsLike | number | string goldDebtGrams?: Decimal | DecimalJsLike | number | string fiatDebtRial?: Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: Decimal | DecimalJsLike | number | string verificationStep?: $Enums.VerificationStep nationalIdImageUrl?: string | null businessLicenseUrl?: string | null shopImageUrl?: string | null canPlaceOrders?: boolean isActive?: boolean isArchived?: boolean createdAt?: Date | string updatedAt?: Date | string } export type AdminUserCreateManyAvatarFileInput = { id?: string fullName: string firstName?: string | null lastName?: string | null mobile: string passwordHash: string role: $Enums.AdminRole userTypeId?: number | null branchId?: string | null wagePercent?: Decimal | DecimalJsLike | number | string | null isActive?: boolean createdAt?: Date | string address?: string | null storeName?: string | null pasazhName?: string | null memberCode?: string | null } export type CustomerUpdateWithoutAvatarFileInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string city?: CityUpdateOneWithoutCustomersNestedInput referredByAgent?: AdminUserUpdateOneWithoutReferredCustomersNestedInput salesExpertTradingFor?: SalesExpertProfileUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUpdateManyWithoutCustomerNestedInput orders?: OrderUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUpdateManyWithoutCustomerNestedInput comments?: CommentUpdateManyWithoutCustomerNestedInput promotions?: PromotionUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateWithoutAvatarFileInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string salesExpertTradingFor?: SalesExpertProfileUncheckedUpdateOneWithoutTradingCustomerNestedInput addresses?: CustomerAddressUncheckedUpdateManyWithoutCustomerNestedInput orders?: OrderUncheckedUpdateManyWithoutCustomerNestedInput preOrders?: PreOrderUncheckedUpdateManyWithoutCustomerNestedInput ledgerEntries?: LedgerEntryUncheckedUpdateManyWithoutCustomerNestedInput walletBonuses?: WalletBonusUncheckedUpdateManyWithoutCustomerNestedInput comments?: CommentUncheckedUpdateManyWithoutCustomerNestedInput promotions?: PromotionUncheckedUpdateManyWithoutCustomerNestedInput notifications?: NotificationRecipientUncheckedUpdateManyWithoutCustomerNestedInput activityLogs?: CustomerActivityLogUncheckedUpdateManyWithoutCustomerNestedInput otpChallenges?: CustomerOtpUncheckedUpdateManyWithoutCustomerNestedInput } export type CustomerUncheckedUpdateManyWithoutAvatarFileInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string nationalCode?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string cityId?: NullableStringFieldUpdateOperationsInput | string | null kind?: EnumCustomerKindFieldUpdateOperationsInput | $Enums.CustomerKind phone?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null zone?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredByAgentId?: NullableStringFieldUpdateOperationsInput | string | null goldCreditLimitGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string goldDebtGrams?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string fiatDebtRial?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string makingChargeOffsetPercent?: DecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string verificationStep?: EnumVerificationStepFieldUpdateOperationsInput | $Enums.VerificationStep nationalIdImageUrl?: NullableStringFieldUpdateOperationsInput | string | null businessLicenseUrl?: NullableStringFieldUpdateOperationsInput | string | null shopImageUrl?: NullableStringFieldUpdateOperationsInput | string | null canPlaceOrders?: BoolFieldUpdateOperationsInput | boolean isActive?: BoolFieldUpdateOperationsInput | boolean isArchived?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AdminUserUpdateWithoutAvatarFileInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null userType?: UserTypeUpdateOneWithoutAdminUsersNestedInput branch?: BranchUpdateOneWithoutAdminUsersNestedInput referredCustomers?: CustomerUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateWithoutAvatarFileInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null referredCustomers?: CustomerUncheckedUpdateManyWithoutReferredByAgentNestedInput supervisedWorkshops?: WorkshopUncheckedUpdateManyWithoutSupervisorNestedInput branchAllocations?: BranchAllocationUncheckedUpdateManyWithoutAllocatorAdminUserNestedInput postedLedgerEntries?: LedgerEntryUncheckedUpdateManyWithoutPostedByAdminUserNestedInput orderStatusEvents?: OrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput preOrderStatusEvents?: PreOrderStatusEventUncheckedUpdateManyWithoutActorAdminUserNestedInput sentSmsMessages?: SmsMessageUncheckedUpdateManyWithoutSentByAdminUserNestedInput sentNotifications?: NotificationUncheckedUpdateManyWithoutSentByAdminUserNestedInput uploadedFiles?: UploadedFileUncheckedUpdateManyWithoutUploadedByAdminUserNestedInput salesExpertProfile?: SalesExpertProfileUncheckedUpdateOneWithoutAdminUserNestedInput sessions?: AdminSessionUncheckedUpdateManyWithoutAdminUserNestedInput } export type AdminUserUncheckedUpdateManyWithoutAvatarFileInput = { id?: StringFieldUpdateOperationsInput | string fullName?: StringFieldUpdateOperationsInput | string firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null mobile?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumAdminRoleFieldUpdateOperationsInput | $Enums.AdminRole userTypeId?: NullableIntFieldUpdateOperationsInput | number | null branchId?: NullableStringFieldUpdateOperationsInput | string | null wagePercent?: NullableDecimalFieldUpdateOperationsInput | Decimal | DecimalJsLike | number | string | null isActive?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string address?: NullableStringFieldUpdateOperationsInput | string | null storeName?: NullableStringFieldUpdateOperationsInput | string | null pasazhName?: NullableStringFieldUpdateOperationsInput | string | null memberCode?: NullableStringFieldUpdateOperationsInput | string | null } /** * Aliases for legacy arg types */ /** * @deprecated Use CityCountOutputTypeDefaultArgs instead */ export type CityCountOutputTypeArgs = CityCountOutputTypeDefaultArgs /** * @deprecated Use AdminUserCountOutputTypeDefaultArgs instead */ export type AdminUserCountOutputTypeArgs = AdminUserCountOutputTypeDefaultArgs /** * @deprecated Use CustomerCountOutputTypeDefaultArgs instead */ export type CustomerCountOutputTypeArgs = CustomerCountOutputTypeDefaultArgs /** * @deprecated Use BranchCountOutputTypeDefaultArgs instead */ export type BranchCountOutputTypeArgs = BranchCountOutputTypeDefaultArgs /** * @deprecated Use WorkshopCountOutputTypeDefaultArgs instead */ export type WorkshopCountOutputTypeArgs = WorkshopCountOutputTypeDefaultArgs /** * @deprecated Use CategoryCountOutputTypeDefaultArgs instead */ export type CategoryCountOutputTypeArgs = CategoryCountOutputTypeDefaultArgs /** * @deprecated Use BrandCountOutputTypeDefaultArgs instead */ export type BrandCountOutputTypeArgs = BrandCountOutputTypeDefaultArgs /** * @deprecated Use CollectionCountOutputTypeDefaultArgs instead */ export type CollectionCountOutputTypeArgs = CollectionCountOutputTypeDefaultArgs /** * @deprecated Use ProductCountOutputTypeDefaultArgs instead */ export type ProductCountOutputTypeArgs = ProductCountOutputTypeDefaultArgs /** * @deprecated Use ProductImageCountOutputTypeDefaultArgs instead */ export type ProductImageCountOutputTypeArgs = ProductImageCountOutputTypeDefaultArgs /** * @deprecated Use ProductVariantCountOutputTypeDefaultArgs instead */ export type ProductVariantCountOutputTypeArgs = ProductVariantCountOutputTypeDefaultArgs /** * @deprecated Use OrderCountOutputTypeDefaultArgs instead */ export type OrderCountOutputTypeArgs = OrderCountOutputTypeDefaultArgs /** * @deprecated Use PreOrderCountOutputTypeDefaultArgs instead */ export type PreOrderCountOutputTypeArgs = PreOrderCountOutputTypeDefaultArgs /** * @deprecated Use UserTypeCountOutputTypeDefaultArgs instead */ export type UserTypeCountOutputTypeArgs = UserTypeCountOutputTypeDefaultArgs /** * @deprecated Use CommentCountOutputTypeDefaultArgs instead */ export type CommentCountOutputTypeArgs = CommentCountOutputTypeDefaultArgs /** * @deprecated Use BranchAllocationCountOutputTypeDefaultArgs instead */ export type BranchAllocationCountOutputTypeArgs = BranchAllocationCountOutputTypeDefaultArgs /** * @deprecated Use NotificationCountOutputTypeDefaultArgs instead */ export type NotificationCountOutputTypeArgs = NotificationCountOutputTypeDefaultArgs /** * @deprecated Use UploadedFileCountOutputTypeDefaultArgs instead */ export type UploadedFileCountOutputTypeArgs = UploadedFileCountOutputTypeDefaultArgs /** * @deprecated Use CityDefaultArgs instead */ export type CityArgs = CityDefaultArgs /** * @deprecated Use AdminUserDefaultArgs instead */ export type AdminUserArgs = AdminUserDefaultArgs /** * @deprecated Use AppSessionDefaultArgs instead */ export type AppSessionArgs = AppSessionDefaultArgs /** * @deprecated Use AdminSessionDefaultArgs instead */ export type AdminSessionArgs = AdminSessionDefaultArgs /** * @deprecated Use SalesExpertProfileDefaultArgs instead */ export type SalesExpertProfileArgs = SalesExpertProfileDefaultArgs /** * @deprecated Use CustomerDefaultArgs instead */ export type CustomerArgs = CustomerDefaultArgs /** * @deprecated Use CustomerAddressDefaultArgs instead */ export type CustomerAddressArgs = CustomerAddressDefaultArgs /** * @deprecated Use BranchDefaultArgs instead */ export type BranchArgs = BranchDefaultArgs /** * @deprecated Use WorkshopDefaultArgs instead */ export type WorkshopArgs = WorkshopDefaultArgs /** * @deprecated Use CategoryDefaultArgs instead */ export type CategoryArgs = CategoryDefaultArgs /** * @deprecated Use BrandDefaultArgs instead */ export type BrandArgs = BrandDefaultArgs /** * @deprecated Use CollectionDefaultArgs instead */ export type CollectionArgs = CollectionDefaultArgs /** * @deprecated Use CollectionProductDefaultArgs instead */ export type CollectionProductArgs = CollectionProductDefaultArgs /** * @deprecated Use ProductDefaultArgs instead */ export type ProductArgs = ProductDefaultArgs /** * @deprecated Use ProductImageDefaultArgs instead */ export type ProductImageArgs = ProductImageDefaultArgs /** * @deprecated Use ProductVariantDefaultArgs instead */ export type ProductVariantArgs = ProductVariantDefaultArgs /** * @deprecated Use OrderDefaultArgs instead */ export type OrderArgs = OrderDefaultArgs /** * @deprecated Use OrderItemDefaultArgs instead */ export type OrderItemArgs = OrderItemDefaultArgs /** * @deprecated Use OrderStatusEventDefaultArgs instead */ export type OrderStatusEventArgs = OrderStatusEventDefaultArgs /** * @deprecated Use PreOrderDefaultArgs instead */ export type PreOrderArgs = PreOrderDefaultArgs /** * @deprecated Use PreOrderStatusEventDefaultArgs instead */ export type PreOrderStatusEventArgs = PreOrderStatusEventDefaultArgs /** * @deprecated Use LedgerEntryDefaultArgs instead */ export type LedgerEntryArgs = LedgerEntryDefaultArgs /** * @deprecated Use GoldPriceQuoteDefaultArgs instead */ export type GoldPriceQuoteArgs = GoldPriceQuoteDefaultArgs /** * @deprecated Use WalletBonusDefaultArgs instead */ export type WalletBonusArgs = WalletBonusDefaultArgs /** * @deprecated Use UserTypeDefaultArgs instead */ export type UserTypeArgs = UserTypeDefaultArgs /** * @deprecated Use PermissionDefaultArgs instead */ export type PermissionArgs = PermissionDefaultArgs /** * @deprecated Use CommentDefaultArgs instead */ export type CommentArgs = CommentDefaultArgs /** * @deprecated Use SettingDefaultArgs instead */ export type SettingArgs = SettingDefaultArgs /** * @deprecated Use PromotionDefaultArgs instead */ export type PromotionArgs = PromotionDefaultArgs /** * @deprecated Use PromotionExclusionDefaultArgs instead */ export type PromotionExclusionArgs = PromotionExclusionDefaultArgs /** * @deprecated Use BranchAllocationDefaultArgs instead */ export type BranchAllocationArgs = BranchAllocationDefaultArgs /** * @deprecated Use BranchAllocationItemDefaultArgs instead */ export type BranchAllocationItemArgs = BranchAllocationItemDefaultArgs /** * @deprecated Use SmsMessageDefaultArgs instead */ export type SmsMessageArgs = SmsMessageDefaultArgs /** * @deprecated Use NotificationDefaultArgs instead */ export type NotificationArgs = NotificationDefaultArgs /** * @deprecated Use NotificationRecipientDefaultArgs instead */ export type NotificationRecipientArgs = NotificationRecipientDefaultArgs /** * @deprecated Use NewsletterSubscriberDefaultArgs instead */ export type NewsletterSubscriberArgs = NewsletterSubscriberDefaultArgs /** * @deprecated Use CustomerActivityLogDefaultArgs instead */ export type CustomerActivityLogArgs = CustomerActivityLogDefaultArgs /** * @deprecated Use UploadedFileDefaultArgs instead */ export type UploadedFileArgs = UploadedFileDefaultArgs /** * @deprecated Use CustomerOtpDefaultArgs instead */ export type CustomerOtpArgs = CustomerOtpDefaultArgs /** * Batch Payload for updateMany & deleteMany & createMany */ export type BatchPayload = { count: number } /** * DMMF */ export const dmmf: runtime.BaseDMMF }