/** * 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 Store * */ export type Store = $Result.DefaultSelection /** * Model Cart * */ export type Cart = $Result.DefaultSelection /** * Model CartItem * */ export type CartItem = $Result.DefaultSelection /** * Model UserAddress * */ export type UserAddress = $Result.DefaultSelection /** * Model Order * */ export type Order = $Result.DefaultSelection /** * Model ProductCache * */ export type ProductCache = $Result.DefaultSelection /** * Model User * */ export type User = $Result.DefaultSelection /** * Model Session * */ export type Session = $Result.DefaultSelection /** * Model Account * */ export type Account = $Result.DefaultSelection /** * Model VerificationToken * */ export type VerificationToken = $Result.DefaultSelection /** * Enums */ export namespace $Enums { export const Role: { OWNER: 'OWNER', CUSTOMER: 'CUSTOMER' }; export type Role = (typeof Role)[keyof typeof Role] } export type Role = $Enums.Role export const Role: typeof $Enums.Role /** * ## Prisma Client ʲˢ * * Type-safe database client for TypeScript & Node.js * @example * ``` * const prisma = new PrismaClient() * // Fetch zero or more Stores * const stores = await prisma.store.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, const 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 Stores * const stores = await prisma.store.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): PrismaClient; /** * Connect with the database */ $connect(): $Utils.JsPromise; /** * Disconnect from the database */ $disconnect(): $Utils.JsPromise; /** * 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, $Utils.Call, { extArgs: ExtArgs }>> /** * `prisma.store`: Exposes CRUD operations for the **Store** model. * Example usage: * ```ts * // Fetch zero or more Stores * const stores = await prisma.store.findMany() * ``` */ get store(): Prisma.StoreDelegate; /** * `prisma.cart`: Exposes CRUD operations for the **Cart** model. * Example usage: * ```ts * // Fetch zero or more Carts * const carts = await prisma.cart.findMany() * ``` */ get cart(): Prisma.CartDelegate; /** * `prisma.cartItem`: Exposes CRUD operations for the **CartItem** model. * Example usage: * ```ts * // Fetch zero or more CartItems * const cartItems = await prisma.cartItem.findMany() * ``` */ get cartItem(): Prisma.CartItemDelegate; /** * `prisma.userAddress`: Exposes CRUD operations for the **UserAddress** model. * Example usage: * ```ts * // Fetch zero or more UserAddresses * const userAddresses = await prisma.userAddress.findMany() * ``` */ get userAddress(): Prisma.UserAddressDelegate; /** * `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.productCache`: Exposes CRUD operations for the **ProductCache** model. * Example usage: * ```ts * // Fetch zero or more ProductCaches * const productCaches = await prisma.productCache.findMany() * ``` */ get productCache(): Prisma.ProductCacheDelegate; /** * `prisma.user`: Exposes CRUD operations for the **User** model. * Example usage: * ```ts * // Fetch zero or more Users * const users = await prisma.user.findMany() * ``` */ get user(): Prisma.UserDelegate; /** * `prisma.session`: Exposes CRUD operations for the **Session** model. * Example usage: * ```ts * // Fetch zero or more Sessions * const sessions = await prisma.session.findMany() * ``` */ get session(): Prisma.SessionDelegate; /** * `prisma.account`: Exposes CRUD operations for the **Account** model. * Example usage: * ```ts * // Fetch zero or more Accounts * const accounts = await prisma.account.findMany() * ``` */ get account(): Prisma.AccountDelegate; /** * `prisma.verificationToken`: Exposes CRUD operations for the **VerificationToken** model. * Example usage: * ```ts * // Fetch zero or more VerificationTokens * const verificationTokens = await prisma.verificationToken.findMany() * ``` */ get verificationToken(): Prisma.VerificationTokenDelegate; } 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 /** * 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: 6.19.2 * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7 */ export type PrismaVersion = { client: string } export const prismaVersion: PrismaVersion /** * Utility Types */ export import Bytes = runtime.Bytes 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 ? P : 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: { Store: 'Store', Cart: 'Cart', CartItem: 'CartItem', UserAddress: 'UserAddress', Order: 'Order', ProductCache: 'ProductCache', User: 'User', Session: 'Session', Account: 'Account', VerificationToken: 'VerificationToken' }; export type ModelName = (typeof ModelName)[keyof typeof ModelName] export type Datasources = { db?: Datasource } interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs }, $Utils.Record> { returns: Prisma.TypeMap } export type TypeMap = { globalOmitOptions: { omit: GlobalOmitOptions } meta: { modelProps: "store" | "cart" | "cartItem" | "userAddress" | "order" | "productCache" | "user" | "session" | "account" | "verificationToken" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { Store: { payload: Prisma.$StorePayload fields: Prisma.StoreFieldRefs operations: { findUnique: { args: Prisma.StoreFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.StoreFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.StoreFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.StoreFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.StoreFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.StoreCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.StoreCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.StoreCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.StoreDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.StoreUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.StoreDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.StoreUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.StoreUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.StoreUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.StoreAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.StoreGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.StoreCountArgs result: $Utils.Optional | number } } } Cart: { payload: Prisma.$CartPayload fields: Prisma.CartFieldRefs operations: { findUnique: { args: Prisma.CartFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.CartFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.CartFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.CartFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.CartFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.CartCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.CartCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.CartCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.CartDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.CartUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.CartDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.CartUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.CartUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.CartUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.CartAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.CartGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.CartCountArgs result: $Utils.Optional | number } } } CartItem: { payload: Prisma.$CartItemPayload fields: Prisma.CartItemFieldRefs operations: { findUnique: { args: Prisma.CartItemFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.CartItemFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.CartItemFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.CartItemFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.CartItemFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.CartItemCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.CartItemCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.CartItemCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.CartItemDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.CartItemUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.CartItemDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.CartItemUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.CartItemUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.CartItemUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.CartItemAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.CartItemGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.CartItemCountArgs result: $Utils.Optional | number } } } UserAddress: { payload: Prisma.$UserAddressPayload fields: Prisma.UserAddressFieldRefs operations: { findUnique: { args: Prisma.UserAddressFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.UserAddressFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.UserAddressFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.UserAddressFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.UserAddressFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.UserAddressCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.UserAddressCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.UserAddressCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.UserAddressDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.UserAddressUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.UserAddressDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.UserAddressUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.UserAddressUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.UserAddressUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.UserAddressAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.UserAddressGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.UserAddressCountArgs 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 } updateManyAndReturn: { args: Prisma.OrderUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } 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 } } } ProductCache: { payload: Prisma.$ProductCachePayload fields: Prisma.ProductCacheFieldRefs operations: { findUnique: { args: Prisma.ProductCacheFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.ProductCacheFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.ProductCacheFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.ProductCacheFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.ProductCacheFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.ProductCacheCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.ProductCacheCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.ProductCacheCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.ProductCacheDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.ProductCacheUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.ProductCacheDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.ProductCacheUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.ProductCacheUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.ProductCacheUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.ProductCacheAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.ProductCacheGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.ProductCacheCountArgs result: $Utils.Optional | number } } } User: { payload: Prisma.$UserPayload fields: Prisma.UserFieldRefs operations: { findUnique: { args: Prisma.UserFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.UserFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.UserFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.UserFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.UserFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.UserCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.UserCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.UserCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.UserDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.UserUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.UserDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.UserUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.UserUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.UserUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.UserAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.UserGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.UserCountArgs result: $Utils.Optional | number } } } Session: { payload: Prisma.$SessionPayload fields: Prisma.SessionFieldRefs operations: { findUnique: { args: Prisma.SessionFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.SessionFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.SessionFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.SessionFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.SessionFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.SessionCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.SessionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.SessionCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.SessionDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.SessionUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.SessionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.SessionUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.SessionUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.SessionUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.SessionAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.SessionGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.SessionCountArgs result: $Utils.Optional | number } } } Account: { payload: Prisma.$AccountPayload fields: Prisma.AccountFieldRefs operations: { findUnique: { args: Prisma.AccountFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.AccountFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.AccountFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.AccountFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.AccountFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.AccountCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.AccountCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.AccountCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.AccountDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.AccountUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.AccountDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.AccountUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.AccountUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.AccountUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.AccountAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.AccountGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.AccountCountArgs result: $Utils.Optional | number } } } VerificationToken: { payload: Prisma.$VerificationTokenPayload fields: Prisma.VerificationTokenFieldRefs operations: { findUnique: { args: Prisma.VerificationTokenFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.VerificationTokenFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.VerificationTokenFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.VerificationTokenFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.VerificationTokenFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.VerificationTokenCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.VerificationTokenCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.VerificationTokenCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.VerificationTokenDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.VerificationTokenUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.VerificationTokenDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.VerificationTokenUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.VerificationTokenUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.VerificationTokenUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.VerificationTokenAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.VerificationTokenGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.VerificationTokenCountArgs 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 * ``` * // Shorthand for `emit: 'stdout'` * log: ['query', 'info', 'warn', 'error'] * * // Emit as events only * log: [ * { emit: 'event', level: 'query' }, * { emit: 'event', level: 'info' }, * { emit: 'event', level: 'warn' } * { emit: 'event', level: 'error' } * ] * * / Emit as events and log to stdout * og: [ * { 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 } /** * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-planetscale` */ adapter?: runtime.SqlDriverAdapterFactory | null /** * Global configuration for omitting model fields by default. * * @example * ``` * const prisma = new PrismaClient({ * omit: { * user: { * password: true * } * } * }) * ``` */ omit?: Prisma.GlobalOmitConfig } export type GlobalOmitConfig = { store?: StoreOmit cart?: CartOmit cartItem?: CartItemOmit userAddress?: UserAddressOmit order?: OrderOmit productCache?: ProductCacheOmit user?: UserOmit session?: SessionOmit account?: AccountOmit verificationToken?: VerificationTokenOmit } /* Types for Logging */ export type LogLevel = 'info' | 'query' | 'warn' | 'error' export type LogDefinition = { level: LogLevel emit: 'stdout' | 'event' } export type CheckIsLogLevel = T extends LogLevel ? T : never; export type GetLogType = CheckIsLogLevel< T extends LogDefinition ? T['level'] : T >; export type GetEvents = T extends Array ? 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' | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' | 'executeRaw' | 'queryRaw' | 'aggregate' | 'count' | 'runCommandRaw' | 'findRaw' | 'groupBy' // 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 StoreCountOutputType */ export type StoreCountOutputType = { carts: number products: number } export type StoreCountOutputTypeSelect = { carts?: boolean | StoreCountOutputTypeCountCartsArgs products?: boolean | StoreCountOutputTypeCountProductsArgs } // Custom InputTypes /** * StoreCountOutputType without action */ export type StoreCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the StoreCountOutputType */ select?: StoreCountOutputTypeSelect | null } /** * StoreCountOutputType without action */ export type StoreCountOutputTypeCountCartsArgs = { where?: CartWhereInput } /** * StoreCountOutputType without action */ export type StoreCountOutputTypeCountProductsArgs = { where?: ProductCacheWhereInput } /** * Count Type CartCountOutputType */ export type CartCountOutputType = { items: number } export type CartCountOutputTypeSelect = { items?: boolean | CartCountOutputTypeCountItemsArgs } // Custom InputTypes /** * CartCountOutputType without action */ export type CartCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the CartCountOutputType */ select?: CartCountOutputTypeSelect | null } /** * CartCountOutputType without action */ export type CartCountOutputTypeCountItemsArgs = { where?: CartItemWhereInput } /** * Count Type UserCountOutputType */ export type UserCountOutputType = { carts: number accounts: number sessions: number } export type UserCountOutputTypeSelect = { carts?: boolean | UserCountOutputTypeCountCartsArgs accounts?: boolean | UserCountOutputTypeCountAccountsArgs sessions?: boolean | UserCountOutputTypeCountSessionsArgs } // Custom InputTypes /** * UserCountOutputType without action */ export type UserCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the UserCountOutputType */ select?: UserCountOutputTypeSelect | null } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountCartsArgs = { where?: CartWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountAccountsArgs = { where?: AccountWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountSessionsArgs = { where?: SessionWhereInput } /** * Models */ /** * Model Store */ export type AggregateStore = { _count: StoreCountAggregateOutputType | null _min: StoreMinAggregateOutputType | null _max: StoreMaxAggregateOutputType | null } export type StoreMinAggregateOutputType = { id: string | null slug: string | null stripeAccountId: string | null userId: string | null name: string | null website: string | null createdAt: Date | null updatedAt: Date | null } export type StoreMaxAggregateOutputType = { id: string | null slug: string | null stripeAccountId: string | null userId: string | null name: string | null website: string | null createdAt: Date | null updatedAt: Date | null } export type StoreCountAggregateOutputType = { id: number slug: number stripeAccountId: number userId: number name: number website: number defaultSellingPreferences: number createdAt: number updatedAt: number _all: number } export type StoreMinAggregateInputType = { id?: true slug?: true stripeAccountId?: true userId?: true name?: true website?: true createdAt?: true updatedAt?: true } export type StoreMaxAggregateInputType = { id?: true slug?: true stripeAccountId?: true userId?: true name?: true website?: true createdAt?: true updatedAt?: true } export type StoreCountAggregateInputType = { id?: true slug?: true stripeAccountId?: true userId?: true name?: true website?: true defaultSellingPreferences?: true createdAt?: true updatedAt?: true _all?: true } export type StoreAggregateArgs = { /** * Filter which Store to aggregate. */ where?: StoreWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Stores to fetch. */ orderBy?: StoreOrderByWithRelationInput | StoreOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: StoreWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Stores 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` Stores. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Stores **/ _count?: true | StoreCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: StoreMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: StoreMaxAggregateInputType } export type GetStoreAggregateType = { [P in keyof T & keyof AggregateStore]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type StoreGroupByArgs = { where?: StoreWhereInput orderBy?: StoreOrderByWithAggregationInput | StoreOrderByWithAggregationInput[] by: StoreScalarFieldEnum[] | StoreScalarFieldEnum having?: StoreScalarWhereWithAggregatesInput take?: number skip?: number _count?: StoreCountAggregateInputType | true _min?: StoreMinAggregateInputType _max?: StoreMaxAggregateInputType } export type StoreGroupByOutputType = { id: string slug: string stripeAccountId: string | null userId: string name: string | null website: string | null defaultSellingPreferences: JsonValue | null createdAt: Date updatedAt: Date _count: StoreCountAggregateOutputType | null _min: StoreMinAggregateOutputType | null _max: StoreMaxAggregateOutputType | null } type GetStoreGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof StoreGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type StoreSelect = $Extensions.GetSelect<{ id?: boolean slug?: boolean stripeAccountId?: boolean userId?: boolean name?: boolean website?: boolean defaultSellingPreferences?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs carts?: boolean | Store$cartsArgs products?: boolean | Store$productsArgs _count?: boolean | StoreCountOutputTypeDefaultArgs }, ExtArgs["result"]["store"]> export type StoreSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean slug?: boolean stripeAccountId?: boolean userId?: boolean name?: boolean website?: boolean defaultSellingPreferences?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["store"]> export type StoreSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean slug?: boolean stripeAccountId?: boolean userId?: boolean name?: boolean website?: boolean defaultSellingPreferences?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["store"]> export type StoreSelectScalar = { id?: boolean slug?: boolean stripeAccountId?: boolean userId?: boolean name?: boolean website?: boolean defaultSellingPreferences?: boolean createdAt?: boolean updatedAt?: boolean } export type StoreOmit = $Extensions.GetOmit<"id" | "slug" | "stripeAccountId" | "userId" | "name" | "website" | "defaultSellingPreferences" | "createdAt" | "updatedAt", ExtArgs["result"]["store"]> export type StoreInclude = { user?: boolean | UserDefaultArgs carts?: boolean | Store$cartsArgs products?: boolean | Store$productsArgs _count?: boolean | StoreCountOutputTypeDefaultArgs } export type StoreIncludeCreateManyAndReturn = { user?: boolean | UserDefaultArgs } export type StoreIncludeUpdateManyAndReturn = { user?: boolean | UserDefaultArgs } export type $StorePayload = { name: "Store" objects: { user: Prisma.$UserPayload carts: Prisma.$CartPayload[] products: Prisma.$ProductCachePayload[] } scalars: $Extensions.GetPayloadResult<{ id: string slug: string stripeAccountId: string | null userId: string name: string | null website: string | null defaultSellingPreferences: Prisma.JsonValue | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["store"]> composites: {} } type StoreGetPayload = $Result.GetResult type StoreCountArgs = Omit & { select?: StoreCountAggregateInputType | true } export interface StoreDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Store'], meta: { name: 'Store' } } /** * Find zero or one Store that matches the filter. * @param {StoreFindUniqueArgs} args - Arguments to find a Store * @example * // Get one Store * const store = await prisma.store.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__StoreClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Store that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {StoreFindUniqueOrThrowArgs} args - Arguments to find a Store * @example * // Get one Store * const store = await prisma.store.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__StoreClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Store 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 {StoreFindFirstArgs} args - Arguments to find a Store * @example * // Get one Store * const store = await prisma.store.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__StoreClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Store 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 {StoreFindFirstOrThrowArgs} args - Arguments to find a Store * @example * // Get one Store * const store = await prisma.store.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__StoreClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Stores 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 {StoreFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Stores * const stores = await prisma.store.findMany() * * // Get first 10 Stores * const stores = await prisma.store.findMany({ take: 10 }) * * // Only select the `id` * const storeWithIdOnly = await prisma.store.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a Store. * @param {StoreCreateArgs} args - Arguments to create a Store. * @example * // Create one Store * const Store = await prisma.store.create({ * data: { * // ... data to create a Store * } * }) * */ create(args: SelectSubset>): Prisma__StoreClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Stores. * @param {StoreCreateManyArgs} args - Arguments to create many Stores. * @example * // Create many Stores * const store = await prisma.store.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Stores and returns the data saved in the database. * @param {StoreCreateManyAndReturnArgs} args - Arguments to create many Stores. * @example * // Create many Stores * const store = await prisma.store.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Stores and only return the `id` * const storeWithIdOnly = await prisma.store.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", GlobalOmitOptions>> /** * Delete a Store. * @param {StoreDeleteArgs} args - Arguments to delete one Store. * @example * // Delete one Store * const Store = await prisma.store.delete({ * where: { * // ... filter to delete one Store * } * }) * */ delete(args: SelectSubset>): Prisma__StoreClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Store. * @param {StoreUpdateArgs} args - Arguments to update one Store. * @example * // Update one Store * const store = await prisma.store.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__StoreClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Stores. * @param {StoreDeleteManyArgs} args - Arguments to filter Stores to delete. * @example * // Delete a few Stores * const { count } = await prisma.store.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Stores. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {StoreUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Stores * const store = await prisma.store.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Stores and returns the data updated in the database. * @param {StoreUpdateManyAndReturnArgs} args - Arguments to update many Stores. * @example * // Update many Stores * const store = await prisma.store.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Stores and only return the `id` * const storeWithIdOnly = await prisma.store.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one Store. * @param {StoreUpsertArgs} args - Arguments to update or create a Store. * @example * // Update or create a Store * const store = await prisma.store.upsert({ * create: { * // ... data to create a Store * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Store we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__StoreClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of Stores. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {StoreCountArgs} args - Arguments to filter Stores to count. * @example * // Count the number of Stores * const count = await prisma.store.count({ * where: { * // ... the filter for the Stores 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 Store. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {StoreAggregateArgs} 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 Store. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {StoreGroupByArgs} 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 StoreGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: StoreGroupByArgs['orderBy'] } : { orderBy?: StoreGroupByArgs['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 ? GetStoreGroupByPayload : Prisma.PrismaPromise /** * Fields of the Store model */ readonly fields: StoreFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Store. * 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__StoreClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> carts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> products = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | 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 Store model */ interface StoreFieldRefs { readonly id: FieldRef<"Store", 'String'> readonly slug: FieldRef<"Store", 'String'> readonly stripeAccountId: FieldRef<"Store", 'String'> readonly userId: FieldRef<"Store", 'String'> readonly name: FieldRef<"Store", 'String'> readonly website: FieldRef<"Store", 'String'> readonly defaultSellingPreferences: FieldRef<"Store", 'Json'> readonly createdAt: FieldRef<"Store", 'DateTime'> readonly updatedAt: FieldRef<"Store", 'DateTime'> } // Custom InputTypes /** * Store findUnique */ export type StoreFindUniqueArgs = { /** * Select specific fields to fetch from the Store */ select?: StoreSelect | null /** * Omit specific fields from the Store */ omit?: StoreOmit | null /** * Choose, which related nodes to fetch as well */ include?: StoreInclude | null /** * Filter, which Store to fetch. */ where: StoreWhereUniqueInput } /** * Store findUniqueOrThrow */ export type StoreFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Store */ select?: StoreSelect | null /** * Omit specific fields from the Store */ omit?: StoreOmit | null /** * Choose, which related nodes to fetch as well */ include?: StoreInclude | null /** * Filter, which Store to fetch. */ where: StoreWhereUniqueInput } /** * Store findFirst */ export type StoreFindFirstArgs = { /** * Select specific fields to fetch from the Store */ select?: StoreSelect | null /** * Omit specific fields from the Store */ omit?: StoreOmit | null /** * Choose, which related nodes to fetch as well */ include?: StoreInclude | null /** * Filter, which Store to fetch. */ where?: StoreWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Stores to fetch. */ orderBy?: StoreOrderByWithRelationInput | StoreOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Stores. */ cursor?: StoreWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Stores 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` Stores. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Stores. */ distinct?: StoreScalarFieldEnum | StoreScalarFieldEnum[] } /** * Store findFirstOrThrow */ export type StoreFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Store */ select?: StoreSelect | null /** * Omit specific fields from the Store */ omit?: StoreOmit | null /** * Choose, which related nodes to fetch as well */ include?: StoreInclude | null /** * Filter, which Store to fetch. */ where?: StoreWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Stores to fetch. */ orderBy?: StoreOrderByWithRelationInput | StoreOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Stores. */ cursor?: StoreWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Stores 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` Stores. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Stores. */ distinct?: StoreScalarFieldEnum | StoreScalarFieldEnum[] } /** * Store findMany */ export type StoreFindManyArgs = { /** * Select specific fields to fetch from the Store */ select?: StoreSelect | null /** * Omit specific fields from the Store */ omit?: StoreOmit | null /** * Choose, which related nodes to fetch as well */ include?: StoreInclude | null /** * Filter, which Stores to fetch. */ where?: StoreWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Stores to fetch. */ orderBy?: StoreOrderByWithRelationInput | StoreOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Stores. */ cursor?: StoreWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Stores 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` Stores. */ skip?: number distinct?: StoreScalarFieldEnum | StoreScalarFieldEnum[] } /** * Store create */ export type StoreCreateArgs = { /** * Select specific fields to fetch from the Store */ select?: StoreSelect | null /** * Omit specific fields from the Store */ omit?: StoreOmit | null /** * Choose, which related nodes to fetch as well */ include?: StoreInclude | null /** * The data needed to create a Store. */ data: XOR } /** * Store createMany */ export type StoreCreateManyArgs = { /** * The data used to create many Stores. */ data: StoreCreateManyInput | StoreCreateManyInput[] } /** * Store createManyAndReturn */ export type StoreCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Store */ select?: StoreSelectCreateManyAndReturn | null /** * Omit specific fields from the Store */ omit?: StoreOmit | null /** * The data used to create many Stores. */ data: StoreCreateManyInput | StoreCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: StoreIncludeCreateManyAndReturn | null } /** * Store update */ export type StoreUpdateArgs = { /** * Select specific fields to fetch from the Store */ select?: StoreSelect | null /** * Omit specific fields from the Store */ omit?: StoreOmit | null /** * Choose, which related nodes to fetch as well */ include?: StoreInclude | null /** * The data needed to update a Store. */ data: XOR /** * Choose, which Store to update. */ where: StoreWhereUniqueInput } /** * Store updateMany */ export type StoreUpdateManyArgs = { /** * The data used to update Stores. */ data: XOR /** * Filter which Stores to update */ where?: StoreWhereInput /** * Limit how many Stores to update. */ limit?: number } /** * Store updateManyAndReturn */ export type StoreUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Store */ select?: StoreSelectUpdateManyAndReturn | null /** * Omit specific fields from the Store */ omit?: StoreOmit | null /** * The data used to update Stores. */ data: XOR /** * Filter which Stores to update */ where?: StoreWhereInput /** * Limit how many Stores to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: StoreIncludeUpdateManyAndReturn | null } /** * Store upsert */ export type StoreUpsertArgs = { /** * Select specific fields to fetch from the Store */ select?: StoreSelect | null /** * Omit specific fields from the Store */ omit?: StoreOmit | null /** * Choose, which related nodes to fetch as well */ include?: StoreInclude | null /** * The filter to search for the Store to update in case it exists. */ where: StoreWhereUniqueInput /** * In case the Store found by the `where` argument doesn't exist, create a new Store with this data. */ create: XOR /** * In case the Store was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Store delete */ export type StoreDeleteArgs = { /** * Select specific fields to fetch from the Store */ select?: StoreSelect | null /** * Omit specific fields from the Store */ omit?: StoreOmit | null /** * Choose, which related nodes to fetch as well */ include?: StoreInclude | null /** * Filter which Store to delete. */ where: StoreWhereUniqueInput } /** * Store deleteMany */ export type StoreDeleteManyArgs = { /** * Filter which Stores to delete */ where?: StoreWhereInput /** * Limit how many Stores to delete. */ limit?: number } /** * Store.carts */ export type Store$cartsArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelect | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartInclude | null where?: CartWhereInput orderBy?: CartOrderByWithRelationInput | CartOrderByWithRelationInput[] cursor?: CartWhereUniqueInput take?: number skip?: number distinct?: CartScalarFieldEnum | CartScalarFieldEnum[] } /** * Store.products */ export type Store$productsArgs = { /** * Select specific fields to fetch from the ProductCache */ select?: ProductCacheSelect | null /** * Omit specific fields from the ProductCache */ omit?: ProductCacheOmit | null /** * Choose, which related nodes to fetch as well */ include?: ProductCacheInclude | null where?: ProductCacheWhereInput orderBy?: ProductCacheOrderByWithRelationInput | ProductCacheOrderByWithRelationInput[] cursor?: ProductCacheWhereUniqueInput take?: number skip?: number distinct?: ProductCacheScalarFieldEnum | ProductCacheScalarFieldEnum[] } /** * Store without action */ export type StoreDefaultArgs = { /** * Select specific fields to fetch from the Store */ select?: StoreSelect | null /** * Omit specific fields from the Store */ omit?: StoreOmit | null /** * Choose, which related nodes to fetch as well */ include?: StoreInclude | null } /** * Model Cart */ export type AggregateCart = { _count: CartCountAggregateOutputType | null _min: CartMinAggregateOutputType | null _max: CartMaxAggregateOutputType | null } export type CartMinAggregateOutputType = { id: string | null storeId: string | null sessionId: string | null userId: string | null createdAt: Date | null updatedAt: Date | null } export type CartMaxAggregateOutputType = { id: string | null storeId: string | null sessionId: string | null userId: string | null createdAt: Date | null updatedAt: Date | null } export type CartCountAggregateOutputType = { id: number storeId: number sessionId: number userId: number createdAt: number updatedAt: number _all: number } export type CartMinAggregateInputType = { id?: true storeId?: true sessionId?: true userId?: true createdAt?: true updatedAt?: true } export type CartMaxAggregateInputType = { id?: true storeId?: true sessionId?: true userId?: true createdAt?: true updatedAt?: true } export type CartCountAggregateInputType = { id?: true storeId?: true sessionId?: true userId?: true createdAt?: true updatedAt?: true _all?: true } export type CartAggregateArgs = { /** * Filter which Cart to aggregate. */ where?: CartWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Carts to fetch. */ orderBy?: CartOrderByWithRelationInput | CartOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: CartWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Carts 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` Carts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Carts **/ _count?: true | CartCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: CartMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: CartMaxAggregateInputType } export type GetCartAggregateType = { [P in keyof T & keyof AggregateCart]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type CartGroupByArgs = { where?: CartWhereInput orderBy?: CartOrderByWithAggregationInput | CartOrderByWithAggregationInput[] by: CartScalarFieldEnum[] | CartScalarFieldEnum having?: CartScalarWhereWithAggregatesInput take?: number skip?: number _count?: CartCountAggregateInputType | true _min?: CartMinAggregateInputType _max?: CartMaxAggregateInputType } export type CartGroupByOutputType = { id: string storeId: string sessionId: string userId: string | null createdAt: Date updatedAt: Date _count: CartCountAggregateOutputType | null _min: CartMinAggregateOutputType | null _max: CartMaxAggregateOutputType | null } type GetCartGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof CartGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type CartSelect = $Extensions.GetSelect<{ id?: boolean storeId?: boolean sessionId?: boolean userId?: boolean createdAt?: boolean updatedAt?: boolean store?: boolean | StoreDefaultArgs user?: boolean | Cart$userArgs items?: boolean | Cart$itemsArgs _count?: boolean | CartCountOutputTypeDefaultArgs }, ExtArgs["result"]["cart"]> export type CartSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean storeId?: boolean sessionId?: boolean userId?: boolean createdAt?: boolean updatedAt?: boolean store?: boolean | StoreDefaultArgs user?: boolean | Cart$userArgs }, ExtArgs["result"]["cart"]> export type CartSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean storeId?: boolean sessionId?: boolean userId?: boolean createdAt?: boolean updatedAt?: boolean store?: boolean | StoreDefaultArgs user?: boolean | Cart$userArgs }, ExtArgs["result"]["cart"]> export type CartSelectScalar = { id?: boolean storeId?: boolean sessionId?: boolean userId?: boolean createdAt?: boolean updatedAt?: boolean } export type CartOmit = $Extensions.GetOmit<"id" | "storeId" | "sessionId" | "userId" | "createdAt" | "updatedAt", ExtArgs["result"]["cart"]> export type CartInclude = { store?: boolean | StoreDefaultArgs user?: boolean | Cart$userArgs items?: boolean | Cart$itemsArgs _count?: boolean | CartCountOutputTypeDefaultArgs } export type CartIncludeCreateManyAndReturn = { store?: boolean | StoreDefaultArgs user?: boolean | Cart$userArgs } export type CartIncludeUpdateManyAndReturn = { store?: boolean | StoreDefaultArgs user?: boolean | Cart$userArgs } export type $CartPayload = { name: "Cart" objects: { store: Prisma.$StorePayload user: Prisma.$UserPayload | null items: Prisma.$CartItemPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string storeId: string sessionId: string userId: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["cart"]> composites: {} } type CartGetPayload = $Result.GetResult type CartCountArgs = Omit & { select?: CartCountAggregateInputType | true } export interface CartDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Cart'], meta: { name: 'Cart' } } /** * Find zero or one Cart that matches the filter. * @param {CartFindUniqueArgs} args - Arguments to find a Cart * @example * // Get one Cart * const cart = await prisma.cart.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__CartClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Cart that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {CartFindUniqueOrThrowArgs} args - Arguments to find a Cart * @example * // Get one Cart * const cart = await prisma.cart.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__CartClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Cart 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 {CartFindFirstArgs} args - Arguments to find a Cart * @example * // Get one Cart * const cart = await prisma.cart.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__CartClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Cart 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 {CartFindFirstOrThrowArgs} args - Arguments to find a Cart * @example * // Get one Cart * const cart = await prisma.cart.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__CartClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Carts 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 {CartFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Carts * const carts = await prisma.cart.findMany() * * // Get first 10 Carts * const carts = await prisma.cart.findMany({ take: 10 }) * * // Only select the `id` * const cartWithIdOnly = await prisma.cart.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a Cart. * @param {CartCreateArgs} args - Arguments to create a Cart. * @example * // Create one Cart * const Cart = await prisma.cart.create({ * data: { * // ... data to create a Cart * } * }) * */ create(args: SelectSubset>): Prisma__CartClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Carts. * @param {CartCreateManyArgs} args - Arguments to create many Carts. * @example * // Create many Carts * const cart = await prisma.cart.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Carts and returns the data saved in the database. * @param {CartCreateManyAndReturnArgs} args - Arguments to create many Carts. * @example * // Create many Carts * const cart = await prisma.cart.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Carts and only return the `id` * const cartWithIdOnly = await prisma.cart.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", GlobalOmitOptions>> /** * Delete a Cart. * @param {CartDeleteArgs} args - Arguments to delete one Cart. * @example * // Delete one Cart * const Cart = await prisma.cart.delete({ * where: { * // ... filter to delete one Cart * } * }) * */ delete(args: SelectSubset>): Prisma__CartClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Cart. * @param {CartUpdateArgs} args - Arguments to update one Cart. * @example * // Update one Cart * const cart = await prisma.cart.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__CartClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Carts. * @param {CartDeleteManyArgs} args - Arguments to filter Carts to delete. * @example * // Delete a few Carts * const { count } = await prisma.cart.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Carts. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CartUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Carts * const cart = await prisma.cart.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Carts and returns the data updated in the database. * @param {CartUpdateManyAndReturnArgs} args - Arguments to update many Carts. * @example * // Update many Carts * const cart = await prisma.cart.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Carts and only return the `id` * const cartWithIdOnly = await prisma.cart.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one Cart. * @param {CartUpsertArgs} args - Arguments to update or create a Cart. * @example * // Update or create a Cart * const cart = await prisma.cart.upsert({ * create: { * // ... data to create a Cart * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Cart we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__CartClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of Carts. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CartCountArgs} args - Arguments to filter Carts to count. * @example * // Count the number of Carts * const count = await prisma.cart.count({ * where: { * // ... the filter for the Carts 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 Cart. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CartAggregateArgs} 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 Cart. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CartGroupByArgs} 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 CartGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: CartGroupByArgs['orderBy'] } : { orderBy?: CartGroupByArgs['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 ? GetCartGroupByPayload : Prisma.PrismaPromise /** * Fields of the Cart model */ readonly fields: CartFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Cart. * 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__CartClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" store = {}>(args?: Subset>): Prisma__StoreClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> items = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | 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 Cart model */ interface CartFieldRefs { readonly id: FieldRef<"Cart", 'String'> readonly storeId: FieldRef<"Cart", 'String'> readonly sessionId: FieldRef<"Cart", 'String'> readonly userId: FieldRef<"Cart", 'String'> readonly createdAt: FieldRef<"Cart", 'DateTime'> readonly updatedAt: FieldRef<"Cart", 'DateTime'> } // Custom InputTypes /** * Cart findUnique */ export type CartFindUniqueArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelect | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartInclude | null /** * Filter, which Cart to fetch. */ where: CartWhereUniqueInput } /** * Cart findUniqueOrThrow */ export type CartFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelect | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartInclude | null /** * Filter, which Cart to fetch. */ where: CartWhereUniqueInput } /** * Cart findFirst */ export type CartFindFirstArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelect | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartInclude | null /** * Filter, which Cart to fetch. */ where?: CartWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Carts to fetch. */ orderBy?: CartOrderByWithRelationInput | CartOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Carts. */ cursor?: CartWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Carts 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` Carts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Carts. */ distinct?: CartScalarFieldEnum | CartScalarFieldEnum[] } /** * Cart findFirstOrThrow */ export type CartFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelect | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartInclude | null /** * Filter, which Cart to fetch. */ where?: CartWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Carts to fetch. */ orderBy?: CartOrderByWithRelationInput | CartOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Carts. */ cursor?: CartWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Carts 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` Carts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Carts. */ distinct?: CartScalarFieldEnum | CartScalarFieldEnum[] } /** * Cart findMany */ export type CartFindManyArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelect | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartInclude | null /** * Filter, which Carts to fetch. */ where?: CartWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Carts to fetch. */ orderBy?: CartOrderByWithRelationInput | CartOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Carts. */ cursor?: CartWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Carts 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` Carts. */ skip?: number distinct?: CartScalarFieldEnum | CartScalarFieldEnum[] } /** * Cart create */ export type CartCreateArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelect | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartInclude | null /** * The data needed to create a Cart. */ data: XOR } /** * Cart createMany */ export type CartCreateManyArgs = { /** * The data used to create many Carts. */ data: CartCreateManyInput | CartCreateManyInput[] } /** * Cart createManyAndReturn */ export type CartCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelectCreateManyAndReturn | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * The data used to create many Carts. */ data: CartCreateManyInput | CartCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: CartIncludeCreateManyAndReturn | null } /** * Cart update */ export type CartUpdateArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelect | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartInclude | null /** * The data needed to update a Cart. */ data: XOR /** * Choose, which Cart to update. */ where: CartWhereUniqueInput } /** * Cart updateMany */ export type CartUpdateManyArgs = { /** * The data used to update Carts. */ data: XOR /** * Filter which Carts to update */ where?: CartWhereInput /** * Limit how many Carts to update. */ limit?: number } /** * Cart updateManyAndReturn */ export type CartUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelectUpdateManyAndReturn | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * The data used to update Carts. */ data: XOR /** * Filter which Carts to update */ where?: CartWhereInput /** * Limit how many Carts to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: CartIncludeUpdateManyAndReturn | null } /** * Cart upsert */ export type CartUpsertArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelect | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartInclude | null /** * The filter to search for the Cart to update in case it exists. */ where: CartWhereUniqueInput /** * In case the Cart found by the `where` argument doesn't exist, create a new Cart with this data. */ create: XOR /** * In case the Cart was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Cart delete */ export type CartDeleteArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelect | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartInclude | null /** * Filter which Cart to delete. */ where: CartWhereUniqueInput } /** * Cart deleteMany */ export type CartDeleteManyArgs = { /** * Filter which Carts to delete */ where?: CartWhereInput /** * Limit how many Carts to delete. */ limit?: number } /** * Cart.user */ export type Cart$userArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null where?: UserWhereInput } /** * Cart.items */ export type Cart$itemsArgs = { /** * Select specific fields to fetch from the CartItem */ select?: CartItemSelect | null /** * Omit specific fields from the CartItem */ omit?: CartItemOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartItemInclude | null where?: CartItemWhereInput orderBy?: CartItemOrderByWithRelationInput | CartItemOrderByWithRelationInput[] cursor?: CartItemWhereUniqueInput take?: number skip?: number distinct?: CartItemScalarFieldEnum | CartItemScalarFieldEnum[] } /** * Cart without action */ export type CartDefaultArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelect | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartInclude | null } /** * Model CartItem */ export type AggregateCartItem = { _count: CartItemCountAggregateOutputType | null _avg: CartItemAvgAggregateOutputType | null _sum: CartItemSumAggregateOutputType | null _min: CartItemMinAggregateOutputType | null _max: CartItemMaxAggregateOutputType | null } export type CartItemAvgAggregateOutputType = { unitAmount: number | null quantity: number | null } export type CartItemSumAggregateOutputType = { unitAmount: number | null quantity: number | null } export type CartItemMinAggregateOutputType = { id: string | null cartId: string | null productId: string | null priceId: string | null name: string | null unitAmount: number | null currency: string | null quantity: number | null createdAt: Date | null updatedAt: Date | null } export type CartItemMaxAggregateOutputType = { id: string | null cartId: string | null productId: string | null priceId: string | null name: string | null unitAmount: number | null currency: string | null quantity: number | null createdAt: Date | null updatedAt: Date | null } export type CartItemCountAggregateOutputType = { id: number cartId: number productId: number priceId: number name: number unitAmount: number currency: number quantity: number createdAt: number updatedAt: number _all: number } export type CartItemAvgAggregateInputType = { unitAmount?: true quantity?: true } export type CartItemSumAggregateInputType = { unitAmount?: true quantity?: true } export type CartItemMinAggregateInputType = { id?: true cartId?: true productId?: true priceId?: true name?: true unitAmount?: true currency?: true quantity?: true createdAt?: true updatedAt?: true } export type CartItemMaxAggregateInputType = { id?: true cartId?: true productId?: true priceId?: true name?: true unitAmount?: true currency?: true quantity?: true createdAt?: true updatedAt?: true } export type CartItemCountAggregateInputType = { id?: true cartId?: true productId?: true priceId?: true name?: true unitAmount?: true currency?: true quantity?: true createdAt?: true updatedAt?: true _all?: true } export type CartItemAggregateArgs = { /** * Filter which CartItem to aggregate. */ where?: CartItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CartItems to fetch. */ orderBy?: CartItemOrderByWithRelationInput | CartItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: CartItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CartItems 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` CartItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned CartItems **/ _count?: true | CartItemCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: CartItemAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: CartItemSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: CartItemMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: CartItemMaxAggregateInputType } export type GetCartItemAggregateType = { [P in keyof T & keyof AggregateCartItem]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type CartItemGroupByArgs = { where?: CartItemWhereInput orderBy?: CartItemOrderByWithAggregationInput | CartItemOrderByWithAggregationInput[] by: CartItemScalarFieldEnum[] | CartItemScalarFieldEnum having?: CartItemScalarWhereWithAggregatesInput take?: number skip?: number _count?: CartItemCountAggregateInputType | true _avg?: CartItemAvgAggregateInputType _sum?: CartItemSumAggregateInputType _min?: CartItemMinAggregateInputType _max?: CartItemMaxAggregateInputType } export type CartItemGroupByOutputType = { id: string cartId: string productId: string priceId: string name: string unitAmount: number currency: string quantity: number createdAt: Date updatedAt: Date _count: CartItemCountAggregateOutputType | null _avg: CartItemAvgAggregateOutputType | null _sum: CartItemSumAggregateOutputType | null _min: CartItemMinAggregateOutputType | null _max: CartItemMaxAggregateOutputType | null } type GetCartItemGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof CartItemGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type CartItemSelect = $Extensions.GetSelect<{ id?: boolean cartId?: boolean productId?: boolean priceId?: boolean name?: boolean unitAmount?: boolean currency?: boolean quantity?: boolean createdAt?: boolean updatedAt?: boolean cart?: boolean | CartDefaultArgs }, ExtArgs["result"]["cartItem"]> export type CartItemSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean cartId?: boolean productId?: boolean priceId?: boolean name?: boolean unitAmount?: boolean currency?: boolean quantity?: boolean createdAt?: boolean updatedAt?: boolean cart?: boolean | CartDefaultArgs }, ExtArgs["result"]["cartItem"]> export type CartItemSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean cartId?: boolean productId?: boolean priceId?: boolean name?: boolean unitAmount?: boolean currency?: boolean quantity?: boolean createdAt?: boolean updatedAt?: boolean cart?: boolean | CartDefaultArgs }, ExtArgs["result"]["cartItem"]> export type CartItemSelectScalar = { id?: boolean cartId?: boolean productId?: boolean priceId?: boolean name?: boolean unitAmount?: boolean currency?: boolean quantity?: boolean createdAt?: boolean updatedAt?: boolean } export type CartItemOmit = $Extensions.GetOmit<"id" | "cartId" | "productId" | "priceId" | "name" | "unitAmount" | "currency" | "quantity" | "createdAt" | "updatedAt", ExtArgs["result"]["cartItem"]> export type CartItemInclude = { cart?: boolean | CartDefaultArgs } export type CartItemIncludeCreateManyAndReturn = { cart?: boolean | CartDefaultArgs } export type CartItemIncludeUpdateManyAndReturn = { cart?: boolean | CartDefaultArgs } export type $CartItemPayload = { name: "CartItem" objects: { cart: Prisma.$CartPayload } scalars: $Extensions.GetPayloadResult<{ id: string cartId: string productId: string priceId: string name: string unitAmount: number currency: string quantity: number createdAt: Date updatedAt: Date }, ExtArgs["result"]["cartItem"]> composites: {} } type CartItemGetPayload = $Result.GetResult type CartItemCountArgs = Omit & { select?: CartItemCountAggregateInputType | true } export interface CartItemDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['CartItem'], meta: { name: 'CartItem' } } /** * Find zero or one CartItem that matches the filter. * @param {CartItemFindUniqueArgs} args - Arguments to find a CartItem * @example * // Get one CartItem * const cartItem = await prisma.cartItem.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__CartItemClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one CartItem that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {CartItemFindUniqueOrThrowArgs} args - Arguments to find a CartItem * @example * // Get one CartItem * const cartItem = await prisma.cartItem.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__CartItemClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first CartItem 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 {CartItemFindFirstArgs} args - Arguments to find a CartItem * @example * // Get one CartItem * const cartItem = await prisma.cartItem.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__CartItemClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first CartItem 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 {CartItemFindFirstOrThrowArgs} args - Arguments to find a CartItem * @example * // Get one CartItem * const cartItem = await prisma.cartItem.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__CartItemClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more CartItems 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 {CartItemFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all CartItems * const cartItems = await prisma.cartItem.findMany() * * // Get first 10 CartItems * const cartItems = await prisma.cartItem.findMany({ take: 10 }) * * // Only select the `id` * const cartItemWithIdOnly = await prisma.cartItem.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a CartItem. * @param {CartItemCreateArgs} args - Arguments to create a CartItem. * @example * // Create one CartItem * const CartItem = await prisma.cartItem.create({ * data: { * // ... data to create a CartItem * } * }) * */ create(args: SelectSubset>): Prisma__CartItemClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many CartItems. * @param {CartItemCreateManyArgs} args - Arguments to create many CartItems. * @example * // Create many CartItems * const cartItem = await prisma.cartItem.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many CartItems and returns the data saved in the database. * @param {CartItemCreateManyAndReturnArgs} args - Arguments to create many CartItems. * @example * // Create many CartItems * const cartItem = await prisma.cartItem.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many CartItems and only return the `id` * const cartItemWithIdOnly = await prisma.cartItem.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", GlobalOmitOptions>> /** * Delete a CartItem. * @param {CartItemDeleteArgs} args - Arguments to delete one CartItem. * @example * // Delete one CartItem * const CartItem = await prisma.cartItem.delete({ * where: { * // ... filter to delete one CartItem * } * }) * */ delete(args: SelectSubset>): Prisma__CartItemClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one CartItem. * @param {CartItemUpdateArgs} args - Arguments to update one CartItem. * @example * // Update one CartItem * const cartItem = await prisma.cartItem.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__CartItemClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more CartItems. * @param {CartItemDeleteManyArgs} args - Arguments to filter CartItems to delete. * @example * // Delete a few CartItems * const { count } = await prisma.cartItem.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more CartItems. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CartItemUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many CartItems * const cartItem = await prisma.cartItem.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more CartItems and returns the data updated in the database. * @param {CartItemUpdateManyAndReturnArgs} args - Arguments to update many CartItems. * @example * // Update many CartItems * const cartItem = await prisma.cartItem.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more CartItems and only return the `id` * const cartItemWithIdOnly = await prisma.cartItem.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one CartItem. * @param {CartItemUpsertArgs} args - Arguments to update or create a CartItem. * @example * // Update or create a CartItem * const cartItem = await prisma.cartItem.upsert({ * create: { * // ... data to create a CartItem * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the CartItem we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__CartItemClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of CartItems. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CartItemCountArgs} args - Arguments to filter CartItems to count. * @example * // Count the number of CartItems * const count = await prisma.cartItem.count({ * where: { * // ... the filter for the CartItems 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 CartItem. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CartItemAggregateArgs} 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 CartItem. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CartItemGroupByArgs} 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 CartItemGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: CartItemGroupByArgs['orderBy'] } : { orderBy?: CartItemGroupByArgs['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 ? GetCartItemGroupByPayload : Prisma.PrismaPromise /** * Fields of the CartItem model */ readonly fields: CartItemFieldRefs; } /** * The delegate class that acts as a "Promise-like" for CartItem. * 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__CartItemClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" cart = {}>(args?: Subset>): Prisma__CartClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $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 CartItem model */ interface CartItemFieldRefs { readonly id: FieldRef<"CartItem", 'String'> readonly cartId: FieldRef<"CartItem", 'String'> readonly productId: FieldRef<"CartItem", 'String'> readonly priceId: FieldRef<"CartItem", 'String'> readonly name: FieldRef<"CartItem", 'String'> readonly unitAmount: FieldRef<"CartItem", 'Int'> readonly currency: FieldRef<"CartItem", 'String'> readonly quantity: FieldRef<"CartItem", 'Int'> readonly createdAt: FieldRef<"CartItem", 'DateTime'> readonly updatedAt: FieldRef<"CartItem", 'DateTime'> } // Custom InputTypes /** * CartItem findUnique */ export type CartItemFindUniqueArgs = { /** * Select specific fields to fetch from the CartItem */ select?: CartItemSelect | null /** * Omit specific fields from the CartItem */ omit?: CartItemOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartItemInclude | null /** * Filter, which CartItem to fetch. */ where: CartItemWhereUniqueInput } /** * CartItem findUniqueOrThrow */ export type CartItemFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the CartItem */ select?: CartItemSelect | null /** * Omit specific fields from the CartItem */ omit?: CartItemOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartItemInclude | null /** * Filter, which CartItem to fetch. */ where: CartItemWhereUniqueInput } /** * CartItem findFirst */ export type CartItemFindFirstArgs = { /** * Select specific fields to fetch from the CartItem */ select?: CartItemSelect | null /** * Omit specific fields from the CartItem */ omit?: CartItemOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartItemInclude | null /** * Filter, which CartItem to fetch. */ where?: CartItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CartItems to fetch. */ orderBy?: CartItemOrderByWithRelationInput | CartItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for CartItems. */ cursor?: CartItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CartItems 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` CartItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of CartItems. */ distinct?: CartItemScalarFieldEnum | CartItemScalarFieldEnum[] } /** * CartItem findFirstOrThrow */ export type CartItemFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the CartItem */ select?: CartItemSelect | null /** * Omit specific fields from the CartItem */ omit?: CartItemOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartItemInclude | null /** * Filter, which CartItem to fetch. */ where?: CartItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CartItems to fetch. */ orderBy?: CartItemOrderByWithRelationInput | CartItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for CartItems. */ cursor?: CartItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CartItems 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` CartItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of CartItems. */ distinct?: CartItemScalarFieldEnum | CartItemScalarFieldEnum[] } /** * CartItem findMany */ export type CartItemFindManyArgs = { /** * Select specific fields to fetch from the CartItem */ select?: CartItemSelect | null /** * Omit specific fields from the CartItem */ omit?: CartItemOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartItemInclude | null /** * Filter, which CartItems to fetch. */ where?: CartItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of CartItems to fetch. */ orderBy?: CartItemOrderByWithRelationInput | CartItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing CartItems. */ cursor?: CartItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` CartItems 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` CartItems. */ skip?: number distinct?: CartItemScalarFieldEnum | CartItemScalarFieldEnum[] } /** * CartItem create */ export type CartItemCreateArgs = { /** * Select specific fields to fetch from the CartItem */ select?: CartItemSelect | null /** * Omit specific fields from the CartItem */ omit?: CartItemOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartItemInclude | null /** * The data needed to create a CartItem. */ data: XOR } /** * CartItem createMany */ export type CartItemCreateManyArgs = { /** * The data used to create many CartItems. */ data: CartItemCreateManyInput | CartItemCreateManyInput[] } /** * CartItem createManyAndReturn */ export type CartItemCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the CartItem */ select?: CartItemSelectCreateManyAndReturn | null /** * Omit specific fields from the CartItem */ omit?: CartItemOmit | null /** * The data used to create many CartItems. */ data: CartItemCreateManyInput | CartItemCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: CartItemIncludeCreateManyAndReturn | null } /** * CartItem update */ export type CartItemUpdateArgs = { /** * Select specific fields to fetch from the CartItem */ select?: CartItemSelect | null /** * Omit specific fields from the CartItem */ omit?: CartItemOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartItemInclude | null /** * The data needed to update a CartItem. */ data: XOR /** * Choose, which CartItem to update. */ where: CartItemWhereUniqueInput } /** * CartItem updateMany */ export type CartItemUpdateManyArgs = { /** * The data used to update CartItems. */ data: XOR /** * Filter which CartItems to update */ where?: CartItemWhereInput /** * Limit how many CartItems to update. */ limit?: number } /** * CartItem updateManyAndReturn */ export type CartItemUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the CartItem */ select?: CartItemSelectUpdateManyAndReturn | null /** * Omit specific fields from the CartItem */ omit?: CartItemOmit | null /** * The data used to update CartItems. */ data: XOR /** * Filter which CartItems to update */ where?: CartItemWhereInput /** * Limit how many CartItems to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: CartItemIncludeUpdateManyAndReturn | null } /** * CartItem upsert */ export type CartItemUpsertArgs = { /** * Select specific fields to fetch from the CartItem */ select?: CartItemSelect | null /** * Omit specific fields from the CartItem */ omit?: CartItemOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartItemInclude | null /** * The filter to search for the CartItem to update in case it exists. */ where: CartItemWhereUniqueInput /** * In case the CartItem found by the `where` argument doesn't exist, create a new CartItem with this data. */ create: XOR /** * In case the CartItem was found with the provided `where` argument, update it with this data. */ update: XOR } /** * CartItem delete */ export type CartItemDeleteArgs = { /** * Select specific fields to fetch from the CartItem */ select?: CartItemSelect | null /** * Omit specific fields from the CartItem */ omit?: CartItemOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartItemInclude | null /** * Filter which CartItem to delete. */ where: CartItemWhereUniqueInput } /** * CartItem deleteMany */ export type CartItemDeleteManyArgs = { /** * Filter which CartItems to delete */ where?: CartItemWhereInput /** * Limit how many CartItems to delete. */ limit?: number } /** * CartItem without action */ export type CartItemDefaultArgs = { /** * Select specific fields to fetch from the CartItem */ select?: CartItemSelect | null /** * Omit specific fields from the CartItem */ omit?: CartItemOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartItemInclude | null } /** * Model UserAddress */ export type AggregateUserAddress = { _count: UserAddressCountAggregateOutputType | null _min: UserAddressMinAggregateOutputType | null _max: UserAddressMaxAggregateOutputType | null } export type UserAddressMinAggregateOutputType = { id: string | null userId: string | null name: string | null street1: string | null city: string | null state: string | null zip: string | null country: string | null phone: string | null createdAt: Date | null updatedAt: Date | null } export type UserAddressMaxAggregateOutputType = { id: string | null userId: string | null name: string | null street1: string | null city: string | null state: string | null zip: string | null country: string | null phone: string | null createdAt: Date | null updatedAt: Date | null } export type UserAddressCountAggregateOutputType = { id: number userId: number name: number street1: number city: number state: number zip: number country: number phone: number createdAt: number updatedAt: number _all: number } export type UserAddressMinAggregateInputType = { id?: true userId?: true name?: true street1?: true city?: true state?: true zip?: true country?: true phone?: true createdAt?: true updatedAt?: true } export type UserAddressMaxAggregateInputType = { id?: true userId?: true name?: true street1?: true city?: true state?: true zip?: true country?: true phone?: true createdAt?: true updatedAt?: true } export type UserAddressCountAggregateInputType = { id?: true userId?: true name?: true street1?: true city?: true state?: true zip?: true country?: true phone?: true createdAt?: true updatedAt?: true _all?: true } export type UserAddressAggregateArgs = { /** * Filter which UserAddress to aggregate. */ where?: UserAddressWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserAddresses to fetch. */ orderBy?: UserAddressOrderByWithRelationInput | UserAddressOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: UserAddressWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserAddresses 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` UserAddresses. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned UserAddresses **/ _count?: true | UserAddressCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: UserAddressMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: UserAddressMaxAggregateInputType } export type GetUserAddressAggregateType = { [P in keyof T & keyof AggregateUserAddress]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type UserAddressGroupByArgs = { where?: UserAddressWhereInput orderBy?: UserAddressOrderByWithAggregationInput | UserAddressOrderByWithAggregationInput[] by: UserAddressScalarFieldEnum[] | UserAddressScalarFieldEnum having?: UserAddressScalarWhereWithAggregatesInput take?: number skip?: number _count?: UserAddressCountAggregateInputType | true _min?: UserAddressMinAggregateInputType _max?: UserAddressMaxAggregateInputType } export type UserAddressGroupByOutputType = { id: string userId: string name: string street1: string city: string state: string zip: string country: string phone: string | null createdAt: Date updatedAt: Date _count: UserAddressCountAggregateOutputType | null _min: UserAddressMinAggregateOutputType | null _max: UserAddressMaxAggregateOutputType | null } type GetUserAddressGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof UserAddressGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type UserAddressSelect = $Extensions.GetSelect<{ id?: boolean userId?: boolean name?: boolean street1?: boolean city?: boolean state?: boolean zip?: boolean country?: boolean phone?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["userAddress"]> export type UserAddressSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean name?: boolean street1?: boolean city?: boolean state?: boolean zip?: boolean country?: boolean phone?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["userAddress"]> export type UserAddressSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean name?: boolean street1?: boolean city?: boolean state?: boolean zip?: boolean country?: boolean phone?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["userAddress"]> export type UserAddressSelectScalar = { id?: boolean userId?: boolean name?: boolean street1?: boolean city?: boolean state?: boolean zip?: boolean country?: boolean phone?: boolean createdAt?: boolean updatedAt?: boolean } export type UserAddressOmit = $Extensions.GetOmit<"id" | "userId" | "name" | "street1" | "city" | "state" | "zip" | "country" | "phone" | "createdAt" | "updatedAt", ExtArgs["result"]["userAddress"]> export type UserAddressInclude = { user?: boolean | UserDefaultArgs } export type UserAddressIncludeCreateManyAndReturn = { user?: boolean | UserDefaultArgs } export type UserAddressIncludeUpdateManyAndReturn = { user?: boolean | UserDefaultArgs } export type $UserAddressPayload = { name: "UserAddress" objects: { user: Prisma.$UserPayload } scalars: $Extensions.GetPayloadResult<{ id: string userId: string name: string street1: string city: string state: string zip: string country: string phone: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["userAddress"]> composites: {} } type UserAddressGetPayload = $Result.GetResult type UserAddressCountArgs = Omit & { select?: UserAddressCountAggregateInputType | true } export interface UserAddressDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['UserAddress'], meta: { name: 'UserAddress' } } /** * Find zero or one UserAddress that matches the filter. * @param {UserAddressFindUniqueArgs} args - Arguments to find a UserAddress * @example * // Get one UserAddress * const userAddress = await prisma.userAddress.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__UserAddressClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one UserAddress that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {UserAddressFindUniqueOrThrowArgs} args - Arguments to find a UserAddress * @example * // Get one UserAddress * const userAddress = await prisma.userAddress.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__UserAddressClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first UserAddress 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 {UserAddressFindFirstArgs} args - Arguments to find a UserAddress * @example * // Get one UserAddress * const userAddress = await prisma.userAddress.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__UserAddressClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first UserAddress 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 {UserAddressFindFirstOrThrowArgs} args - Arguments to find a UserAddress * @example * // Get one UserAddress * const userAddress = await prisma.userAddress.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__UserAddressClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more UserAddresses 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 {UserAddressFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all UserAddresses * const userAddresses = await prisma.userAddress.findMany() * * // Get first 10 UserAddresses * const userAddresses = await prisma.userAddress.findMany({ take: 10 }) * * // Only select the `id` * const userAddressWithIdOnly = await prisma.userAddress.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a UserAddress. * @param {UserAddressCreateArgs} args - Arguments to create a UserAddress. * @example * // Create one UserAddress * const UserAddress = await prisma.userAddress.create({ * data: { * // ... data to create a UserAddress * } * }) * */ create(args: SelectSubset>): Prisma__UserAddressClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many UserAddresses. * @param {UserAddressCreateManyArgs} args - Arguments to create many UserAddresses. * @example * // Create many UserAddresses * const userAddress = await prisma.userAddress.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many UserAddresses and returns the data saved in the database. * @param {UserAddressCreateManyAndReturnArgs} args - Arguments to create many UserAddresses. * @example * // Create many UserAddresses * const userAddress = await prisma.userAddress.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many UserAddresses and only return the `id` * const userAddressWithIdOnly = await prisma.userAddress.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", GlobalOmitOptions>> /** * Delete a UserAddress. * @param {UserAddressDeleteArgs} args - Arguments to delete one UserAddress. * @example * // Delete one UserAddress * const UserAddress = await prisma.userAddress.delete({ * where: { * // ... filter to delete one UserAddress * } * }) * */ delete(args: SelectSubset>): Prisma__UserAddressClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one UserAddress. * @param {UserAddressUpdateArgs} args - Arguments to update one UserAddress. * @example * // Update one UserAddress * const userAddress = await prisma.userAddress.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__UserAddressClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more UserAddresses. * @param {UserAddressDeleteManyArgs} args - Arguments to filter UserAddresses to delete. * @example * // Delete a few UserAddresses * const { count } = await prisma.userAddress.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more UserAddresses. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserAddressUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many UserAddresses * const userAddress = await prisma.userAddress.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more UserAddresses and returns the data updated in the database. * @param {UserAddressUpdateManyAndReturnArgs} args - Arguments to update many UserAddresses. * @example * // Update many UserAddresses * const userAddress = await prisma.userAddress.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more UserAddresses and only return the `id` * const userAddressWithIdOnly = await prisma.userAddress.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one UserAddress. * @param {UserAddressUpsertArgs} args - Arguments to update or create a UserAddress. * @example * // Update or create a UserAddress * const userAddress = await prisma.userAddress.upsert({ * create: { * // ... data to create a UserAddress * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the UserAddress we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__UserAddressClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of UserAddresses. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserAddressCountArgs} args - Arguments to filter UserAddresses to count. * @example * // Count the number of UserAddresses * const count = await prisma.userAddress.count({ * where: { * // ... the filter for the UserAddresses 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 UserAddress. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserAddressAggregateArgs} 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 UserAddress. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserAddressGroupByArgs} 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 UserAddressGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: UserAddressGroupByArgs['orderBy'] } : { orderBy?: UserAddressGroupByArgs['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 ? GetUserAddressGroupByPayload : Prisma.PrismaPromise /** * Fields of the UserAddress model */ readonly fields: UserAddressFieldRefs; } /** * The delegate class that acts as a "Promise-like" for UserAddress. * 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__UserAddressClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $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 UserAddress model */ interface UserAddressFieldRefs { readonly id: FieldRef<"UserAddress", 'String'> readonly userId: FieldRef<"UserAddress", 'String'> readonly name: FieldRef<"UserAddress", 'String'> readonly street1: FieldRef<"UserAddress", 'String'> readonly city: FieldRef<"UserAddress", 'String'> readonly state: FieldRef<"UserAddress", 'String'> readonly zip: FieldRef<"UserAddress", 'String'> readonly country: FieldRef<"UserAddress", 'String'> readonly phone: FieldRef<"UserAddress", 'String'> readonly createdAt: FieldRef<"UserAddress", 'DateTime'> readonly updatedAt: FieldRef<"UserAddress", 'DateTime'> } // Custom InputTypes /** * UserAddress findUnique */ export type UserAddressFindUniqueArgs = { /** * Select specific fields to fetch from the UserAddress */ select?: UserAddressSelect | null /** * Omit specific fields from the UserAddress */ omit?: UserAddressOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserAddressInclude | null /** * Filter, which UserAddress to fetch. */ where: UserAddressWhereUniqueInput } /** * UserAddress findUniqueOrThrow */ export type UserAddressFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the UserAddress */ select?: UserAddressSelect | null /** * Omit specific fields from the UserAddress */ omit?: UserAddressOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserAddressInclude | null /** * Filter, which UserAddress to fetch. */ where: UserAddressWhereUniqueInput } /** * UserAddress findFirst */ export type UserAddressFindFirstArgs = { /** * Select specific fields to fetch from the UserAddress */ select?: UserAddressSelect | null /** * Omit specific fields from the UserAddress */ omit?: UserAddressOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserAddressInclude | null /** * Filter, which UserAddress to fetch. */ where?: UserAddressWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserAddresses to fetch. */ orderBy?: UserAddressOrderByWithRelationInput | UserAddressOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for UserAddresses. */ cursor?: UserAddressWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserAddresses 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` UserAddresses. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of UserAddresses. */ distinct?: UserAddressScalarFieldEnum | UserAddressScalarFieldEnum[] } /** * UserAddress findFirstOrThrow */ export type UserAddressFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the UserAddress */ select?: UserAddressSelect | null /** * Omit specific fields from the UserAddress */ omit?: UserAddressOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserAddressInclude | null /** * Filter, which UserAddress to fetch. */ where?: UserAddressWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserAddresses to fetch. */ orderBy?: UserAddressOrderByWithRelationInput | UserAddressOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for UserAddresses. */ cursor?: UserAddressWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserAddresses 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` UserAddresses. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of UserAddresses. */ distinct?: UserAddressScalarFieldEnum | UserAddressScalarFieldEnum[] } /** * UserAddress findMany */ export type UserAddressFindManyArgs = { /** * Select specific fields to fetch from the UserAddress */ select?: UserAddressSelect | null /** * Omit specific fields from the UserAddress */ omit?: UserAddressOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserAddressInclude | null /** * Filter, which UserAddresses to fetch. */ where?: UserAddressWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of UserAddresses to fetch. */ orderBy?: UserAddressOrderByWithRelationInput | UserAddressOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing UserAddresses. */ cursor?: UserAddressWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` UserAddresses 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` UserAddresses. */ skip?: number distinct?: UserAddressScalarFieldEnum | UserAddressScalarFieldEnum[] } /** * UserAddress create */ export type UserAddressCreateArgs = { /** * Select specific fields to fetch from the UserAddress */ select?: UserAddressSelect | null /** * Omit specific fields from the UserAddress */ omit?: UserAddressOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserAddressInclude | null /** * The data needed to create a UserAddress. */ data: XOR } /** * UserAddress createMany */ export type UserAddressCreateManyArgs = { /** * The data used to create many UserAddresses. */ data: UserAddressCreateManyInput | UserAddressCreateManyInput[] } /** * UserAddress createManyAndReturn */ export type UserAddressCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the UserAddress */ select?: UserAddressSelectCreateManyAndReturn | null /** * Omit specific fields from the UserAddress */ omit?: UserAddressOmit | null /** * The data used to create many UserAddresses. */ data: UserAddressCreateManyInput | UserAddressCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: UserAddressIncludeCreateManyAndReturn | null } /** * UserAddress update */ export type UserAddressUpdateArgs = { /** * Select specific fields to fetch from the UserAddress */ select?: UserAddressSelect | null /** * Omit specific fields from the UserAddress */ omit?: UserAddressOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserAddressInclude | null /** * The data needed to update a UserAddress. */ data: XOR /** * Choose, which UserAddress to update. */ where: UserAddressWhereUniqueInput } /** * UserAddress updateMany */ export type UserAddressUpdateManyArgs = { /** * The data used to update UserAddresses. */ data: XOR /** * Filter which UserAddresses to update */ where?: UserAddressWhereInput /** * Limit how many UserAddresses to update. */ limit?: number } /** * UserAddress updateManyAndReturn */ export type UserAddressUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the UserAddress */ select?: UserAddressSelectUpdateManyAndReturn | null /** * Omit specific fields from the UserAddress */ omit?: UserAddressOmit | null /** * The data used to update UserAddresses. */ data: XOR /** * Filter which UserAddresses to update */ where?: UserAddressWhereInput /** * Limit how many UserAddresses to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: UserAddressIncludeUpdateManyAndReturn | null } /** * UserAddress upsert */ export type UserAddressUpsertArgs = { /** * Select specific fields to fetch from the UserAddress */ select?: UserAddressSelect | null /** * Omit specific fields from the UserAddress */ omit?: UserAddressOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserAddressInclude | null /** * The filter to search for the UserAddress to update in case it exists. */ where: UserAddressWhereUniqueInput /** * In case the UserAddress found by the `where` argument doesn't exist, create a new UserAddress with this data. */ create: XOR /** * In case the UserAddress was found with the provided `where` argument, update it with this data. */ update: XOR } /** * UserAddress delete */ export type UserAddressDeleteArgs = { /** * Select specific fields to fetch from the UserAddress */ select?: UserAddressSelect | null /** * Omit specific fields from the UserAddress */ omit?: UserAddressOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserAddressInclude | null /** * Filter which UserAddress to delete. */ where: UserAddressWhereUniqueInput } /** * UserAddress deleteMany */ export type UserAddressDeleteManyArgs = { /** * Filter which UserAddresses to delete */ where?: UserAddressWhereInput /** * Limit how many UserAddresses to delete. */ limit?: number } /** * UserAddress without action */ export type UserAddressDefaultArgs = { /** * Select specific fields to fetch from the UserAddress */ select?: UserAddressSelect | null /** * Omit specific fields from the UserAddress */ omit?: UserAddressOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserAddressInclude | null } /** * Model Order */ export type AggregateOrder = { _count: OrderCountAggregateOutputType | null _min: OrderMinAggregateOutputType | null _max: OrderMaxAggregateOutputType | null } export type OrderMinAggregateOutputType = { id: string | null storeId: string | null userId: string | null sessionId: string | null stripeCheckoutSessionId: string | null shippingRateId: string | null status: string | null labelUrl: string | null createdAt: Date | null updatedAt: Date | null } export type OrderMaxAggregateOutputType = { id: string | null storeId: string | null userId: string | null sessionId: string | null stripeCheckoutSessionId: string | null shippingRateId: string | null status: string | null labelUrl: string | null createdAt: Date | null updatedAt: Date | null } export type OrderCountAggregateOutputType = { id: number storeId: number userId: number sessionId: number stripeCheckoutSessionId: number shippingRateId: number shippingRateSnapshot: number shippingAddress: number items: number status: number labelUrl: number createdAt: number updatedAt: number _all: number } export type OrderMinAggregateInputType = { id?: true storeId?: true userId?: true sessionId?: true stripeCheckoutSessionId?: true shippingRateId?: true status?: true labelUrl?: true createdAt?: true updatedAt?: true } export type OrderMaxAggregateInputType = { id?: true storeId?: true userId?: true sessionId?: true stripeCheckoutSessionId?: true shippingRateId?: true status?: true labelUrl?: true createdAt?: true updatedAt?: true } export type OrderCountAggregateInputType = { id?: true storeId?: true userId?: true sessionId?: true stripeCheckoutSessionId?: true shippingRateId?: true shippingRateSnapshot?: true shippingAddress?: true items?: true status?: true labelUrl?: 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 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 _min?: OrderMinAggregateInputType _max?: OrderMaxAggregateInputType } export type OrderGroupByOutputType = { id: string storeId: string userId: string | null sessionId: string | null stripeCheckoutSessionId: string shippingRateId: string | null shippingRateSnapshot: JsonValue | null shippingAddress: JsonValue | null items: JsonValue status: string labelUrl: string | null createdAt: Date updatedAt: Date _count: OrderCountAggregateOutputType | 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 storeId?: boolean userId?: boolean sessionId?: boolean stripeCheckoutSessionId?: boolean shippingRateId?: boolean shippingRateSnapshot?: boolean shippingAddress?: boolean items?: boolean status?: boolean labelUrl?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["order"]> export type OrderSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean storeId?: boolean userId?: boolean sessionId?: boolean stripeCheckoutSessionId?: boolean shippingRateId?: boolean shippingRateSnapshot?: boolean shippingAddress?: boolean items?: boolean status?: boolean labelUrl?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["order"]> export type OrderSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean storeId?: boolean userId?: boolean sessionId?: boolean stripeCheckoutSessionId?: boolean shippingRateId?: boolean shippingRateSnapshot?: boolean shippingAddress?: boolean items?: boolean status?: boolean labelUrl?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["order"]> export type OrderSelectScalar = { id?: boolean storeId?: boolean userId?: boolean sessionId?: boolean stripeCheckoutSessionId?: boolean shippingRateId?: boolean shippingRateSnapshot?: boolean shippingAddress?: boolean items?: boolean status?: boolean labelUrl?: boolean createdAt?: boolean updatedAt?: boolean } export type OrderOmit = $Extensions.GetOmit<"id" | "storeId" | "userId" | "sessionId" | "stripeCheckoutSessionId" | "shippingRateId" | "shippingRateSnapshot" | "shippingAddress" | "items" | "status" | "labelUrl" | "createdAt" | "updatedAt", ExtArgs["result"]["order"]> export type $OrderPayload = { name: "Order" objects: {} scalars: $Extensions.GetPayloadResult<{ id: string storeId: string userId: string | null sessionId: string | null stripeCheckoutSessionId: string shippingRateId: string | null shippingRateSnapshot: Prisma.JsonValue | null shippingAddress: Prisma.JsonValue | null items: Prisma.JsonValue status: string labelUrl: string | 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", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * 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", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * 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", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * 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", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * 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", GlobalOmitOptions>> /** * 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", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * 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", GlobalOmitOptions>> /** * 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", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * 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", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * 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 /** * Update zero or more Orders and returns the data updated in the database. * @param {OrderUpdateManyAndReturnArgs} args - Arguments to update many Orders. * @example * // Update many Orders * const order = await prisma.order.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Orders and only return the `id` * const orderWithIdOnly = await prisma.order.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * 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", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * 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" /** * 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 storeId: FieldRef<"Order", 'String'> readonly userId: FieldRef<"Order", 'String'> readonly sessionId: FieldRef<"Order", 'String'> readonly stripeCheckoutSessionId: FieldRef<"Order", 'String'> readonly shippingRateId: FieldRef<"Order", 'String'> readonly shippingRateSnapshot: FieldRef<"Order", 'Json'> readonly shippingAddress: FieldRef<"Order", 'Json'> readonly items: FieldRef<"Order", 'Json'> readonly status: FieldRef<"Order", 'String'> readonly labelUrl: FieldRef<"Order", 'String'> 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 /** * Omit specific fields from the Order */ omit?: OrderOmit | null /** * Filter, which Order to fetch. */ where: OrderWhereUniqueInput } /** * Order findUniqueOrThrow */ export type OrderFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Omit specific fields from the Order */ omit?: OrderOmit | null /** * Filter, which Order to fetch. */ where: OrderWhereUniqueInput } /** * Order findFirst */ export type OrderFindFirstArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Omit specific fields from the Order */ omit?: OrderOmit | 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 /** * Omit specific fields from the Order */ omit?: OrderOmit | 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 /** * Omit specific fields from the Order */ omit?: OrderOmit | 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 /** * Omit specific fields from the Order */ omit?: OrderOmit | 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[] } /** * Order createManyAndReturn */ export type OrderCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelectCreateManyAndReturn | null /** * Omit specific fields from the Order */ omit?: OrderOmit | null /** * The data used to create many Orders. */ data: OrderCreateManyInput | OrderCreateManyInput[] } /** * Order update */ export type OrderUpdateArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Omit specific fields from the Order */ omit?: OrderOmit | 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 /** * Limit how many Orders to update. */ limit?: number } /** * Order updateManyAndReturn */ export type OrderUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelectUpdateManyAndReturn | null /** * Omit specific fields from the Order */ omit?: OrderOmit | null /** * The data used to update Orders. */ data: XOR /** * Filter which Orders to update */ where?: OrderWhereInput /** * Limit how many Orders to update. */ limit?: number } /** * Order upsert */ export type OrderUpsertArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Omit specific fields from the Order */ omit?: OrderOmit | 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 /** * Omit specific fields from the Order */ omit?: OrderOmit | null /** * Filter which Order to delete. */ where: OrderWhereUniqueInput } /** * Order deleteMany */ export type OrderDeleteManyArgs = { /** * Filter which Orders to delete */ where?: OrderWhereInput /** * Limit how many Orders to delete. */ limit?: number } /** * Order without action */ export type OrderDefaultArgs = { /** * Select specific fields to fetch from the Order */ select?: OrderSelect | null /** * Omit specific fields from the Order */ omit?: OrderOmit | null } /** * Model ProductCache */ export type AggregateProductCache = { _count: ProductCacheCountAggregateOutputType | null _avg: ProductCacheAvgAggregateOutputType | null _sum: ProductCacheSumAggregateOutputType | null _min: ProductCacheMinAggregateOutputType | null _max: ProductCacheMaxAggregateOutputType | null } export type ProductCacheAvgAggregateOutputType = { unitAmount: number | null } export type ProductCacheSumAggregateOutputType = { unitAmount: number | null } export type ProductCacheMinAggregateOutputType = { id: string | null storeId: string | null stripeProductId: string | null stripePriceId: string | null name: string | null description: string | null unitAmount: number | null currency: string | null active: boolean | null createdAt: Date | null updatedAt: Date | null } export type ProductCacheMaxAggregateOutputType = { id: string | null storeId: string | null stripeProductId: string | null stripePriceId: string | null name: string | null description: string | null unitAmount: number | null currency: string | null active: boolean | null createdAt: Date | null updatedAt: Date | null } export type ProductCacheCountAggregateOutputType = { id: number storeId: number stripeProductId: number stripePriceId: number name: number description: number unitAmount: number currency: number active: number createdAt: number updatedAt: number _all: number } export type ProductCacheAvgAggregateInputType = { unitAmount?: true } export type ProductCacheSumAggregateInputType = { unitAmount?: true } export type ProductCacheMinAggregateInputType = { id?: true storeId?: true stripeProductId?: true stripePriceId?: true name?: true description?: true unitAmount?: true currency?: true active?: true createdAt?: true updatedAt?: true } export type ProductCacheMaxAggregateInputType = { id?: true storeId?: true stripeProductId?: true stripePriceId?: true name?: true description?: true unitAmount?: true currency?: true active?: true createdAt?: true updatedAt?: true } export type ProductCacheCountAggregateInputType = { id?: true storeId?: true stripeProductId?: true stripePriceId?: true name?: true description?: true unitAmount?: true currency?: true active?: true createdAt?: true updatedAt?: true _all?: true } export type ProductCacheAggregateArgs = { /** * Filter which ProductCache to aggregate. */ where?: ProductCacheWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of ProductCaches to fetch. */ orderBy?: ProductCacheOrderByWithRelationInput | ProductCacheOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: ProductCacheWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` ProductCaches 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` ProductCaches. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned ProductCaches **/ _count?: true | ProductCacheCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: ProductCacheAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: ProductCacheSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: ProductCacheMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: ProductCacheMaxAggregateInputType } export type GetProductCacheAggregateType = { [P in keyof T & keyof AggregateProductCache]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type ProductCacheGroupByArgs = { where?: ProductCacheWhereInput orderBy?: ProductCacheOrderByWithAggregationInput | ProductCacheOrderByWithAggregationInput[] by: ProductCacheScalarFieldEnum[] | ProductCacheScalarFieldEnum having?: ProductCacheScalarWhereWithAggregatesInput take?: number skip?: number _count?: ProductCacheCountAggregateInputType | true _avg?: ProductCacheAvgAggregateInputType _sum?: ProductCacheSumAggregateInputType _min?: ProductCacheMinAggregateInputType _max?: ProductCacheMaxAggregateInputType } export type ProductCacheGroupByOutputType = { id: string storeId: string stripeProductId: string stripePriceId: string name: string description: string | null unitAmount: number currency: string active: boolean createdAt: Date updatedAt: Date _count: ProductCacheCountAggregateOutputType | null _avg: ProductCacheAvgAggregateOutputType | null _sum: ProductCacheSumAggregateOutputType | null _min: ProductCacheMinAggregateOutputType | null _max: ProductCacheMaxAggregateOutputType | null } type GetProductCacheGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof ProductCacheGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type ProductCacheSelect = $Extensions.GetSelect<{ id?: boolean storeId?: boolean stripeProductId?: boolean stripePriceId?: boolean name?: boolean description?: boolean unitAmount?: boolean currency?: boolean active?: boolean createdAt?: boolean updatedAt?: boolean store?: boolean | StoreDefaultArgs }, ExtArgs["result"]["productCache"]> export type ProductCacheSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean storeId?: boolean stripeProductId?: boolean stripePriceId?: boolean name?: boolean description?: boolean unitAmount?: boolean currency?: boolean active?: boolean createdAt?: boolean updatedAt?: boolean store?: boolean | StoreDefaultArgs }, ExtArgs["result"]["productCache"]> export type ProductCacheSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean storeId?: boolean stripeProductId?: boolean stripePriceId?: boolean name?: boolean description?: boolean unitAmount?: boolean currency?: boolean active?: boolean createdAt?: boolean updatedAt?: boolean store?: boolean | StoreDefaultArgs }, ExtArgs["result"]["productCache"]> export type ProductCacheSelectScalar = { id?: boolean storeId?: boolean stripeProductId?: boolean stripePriceId?: boolean name?: boolean description?: boolean unitAmount?: boolean currency?: boolean active?: boolean createdAt?: boolean updatedAt?: boolean } export type ProductCacheOmit = $Extensions.GetOmit<"id" | "storeId" | "stripeProductId" | "stripePriceId" | "name" | "description" | "unitAmount" | "currency" | "active" | "createdAt" | "updatedAt", ExtArgs["result"]["productCache"]> export type ProductCacheInclude = { store?: boolean | StoreDefaultArgs } export type ProductCacheIncludeCreateManyAndReturn = { store?: boolean | StoreDefaultArgs } export type ProductCacheIncludeUpdateManyAndReturn = { store?: boolean | StoreDefaultArgs } export type $ProductCachePayload = { name: "ProductCache" objects: { store: Prisma.$StorePayload } scalars: $Extensions.GetPayloadResult<{ id: string storeId: string stripeProductId: string stripePriceId: string name: string description: string | null unitAmount: number currency: string active: boolean createdAt: Date updatedAt: Date }, ExtArgs["result"]["productCache"]> composites: {} } type ProductCacheGetPayload = $Result.GetResult type ProductCacheCountArgs = Omit & { select?: ProductCacheCountAggregateInputType | true } export interface ProductCacheDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['ProductCache'], meta: { name: 'ProductCache' } } /** * Find zero or one ProductCache that matches the filter. * @param {ProductCacheFindUniqueArgs} args - Arguments to find a ProductCache * @example * // Get one ProductCache * const productCache = await prisma.productCache.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__ProductCacheClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one ProductCache that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {ProductCacheFindUniqueOrThrowArgs} args - Arguments to find a ProductCache * @example * // Get one ProductCache * const productCache = await prisma.productCache.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__ProductCacheClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first ProductCache 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 {ProductCacheFindFirstArgs} args - Arguments to find a ProductCache * @example * // Get one ProductCache * const productCache = await prisma.productCache.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__ProductCacheClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first ProductCache 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 {ProductCacheFindFirstOrThrowArgs} args - Arguments to find a ProductCache * @example * // Get one ProductCache * const productCache = await prisma.productCache.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__ProductCacheClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more ProductCaches 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 {ProductCacheFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all ProductCaches * const productCaches = await prisma.productCache.findMany() * * // Get first 10 ProductCaches * const productCaches = await prisma.productCache.findMany({ take: 10 }) * * // Only select the `id` * const productCacheWithIdOnly = await prisma.productCache.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a ProductCache. * @param {ProductCacheCreateArgs} args - Arguments to create a ProductCache. * @example * // Create one ProductCache * const ProductCache = await prisma.productCache.create({ * data: { * // ... data to create a ProductCache * } * }) * */ create(args: SelectSubset>): Prisma__ProductCacheClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many ProductCaches. * @param {ProductCacheCreateManyArgs} args - Arguments to create many ProductCaches. * @example * // Create many ProductCaches * const productCache = await prisma.productCache.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many ProductCaches and returns the data saved in the database. * @param {ProductCacheCreateManyAndReturnArgs} args - Arguments to create many ProductCaches. * @example * // Create many ProductCaches * const productCache = await prisma.productCache.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many ProductCaches and only return the `id` * const productCacheWithIdOnly = await prisma.productCache.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", GlobalOmitOptions>> /** * Delete a ProductCache. * @param {ProductCacheDeleteArgs} args - Arguments to delete one ProductCache. * @example * // Delete one ProductCache * const ProductCache = await prisma.productCache.delete({ * where: { * // ... filter to delete one ProductCache * } * }) * */ delete(args: SelectSubset>): Prisma__ProductCacheClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one ProductCache. * @param {ProductCacheUpdateArgs} args - Arguments to update one ProductCache. * @example * // Update one ProductCache * const productCache = await prisma.productCache.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__ProductCacheClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more ProductCaches. * @param {ProductCacheDeleteManyArgs} args - Arguments to filter ProductCaches to delete. * @example * // Delete a few ProductCaches * const { count } = await prisma.productCache.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more ProductCaches. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductCacheUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many ProductCaches * const productCache = await prisma.productCache.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more ProductCaches and returns the data updated in the database. * @param {ProductCacheUpdateManyAndReturnArgs} args - Arguments to update many ProductCaches. * @example * // Update many ProductCaches * const productCache = await prisma.productCache.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more ProductCaches and only return the `id` * const productCacheWithIdOnly = await prisma.productCache.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one ProductCache. * @param {ProductCacheUpsertArgs} args - Arguments to update or create a ProductCache. * @example * // Update or create a ProductCache * const productCache = await prisma.productCache.upsert({ * create: { * // ... data to create a ProductCache * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the ProductCache we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__ProductCacheClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of ProductCaches. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductCacheCountArgs} args - Arguments to filter ProductCaches to count. * @example * // Count the number of ProductCaches * const count = await prisma.productCache.count({ * where: { * // ... the filter for the ProductCaches 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 ProductCache. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductCacheAggregateArgs} 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 ProductCache. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductCacheGroupByArgs} 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 ProductCacheGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: ProductCacheGroupByArgs['orderBy'] } : { orderBy?: ProductCacheGroupByArgs['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 ? GetProductCacheGroupByPayload : Prisma.PrismaPromise /** * Fields of the ProductCache model */ readonly fields: ProductCacheFieldRefs; } /** * The delegate class that acts as a "Promise-like" for ProductCache. * 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__ProductCacheClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" store = {}>(args?: Subset>): Prisma__StoreClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $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 ProductCache model */ interface ProductCacheFieldRefs { readonly id: FieldRef<"ProductCache", 'String'> readonly storeId: FieldRef<"ProductCache", 'String'> readonly stripeProductId: FieldRef<"ProductCache", 'String'> readonly stripePriceId: FieldRef<"ProductCache", 'String'> readonly name: FieldRef<"ProductCache", 'String'> readonly description: FieldRef<"ProductCache", 'String'> readonly unitAmount: FieldRef<"ProductCache", 'Int'> readonly currency: FieldRef<"ProductCache", 'String'> readonly active: FieldRef<"ProductCache", 'Boolean'> readonly createdAt: FieldRef<"ProductCache", 'DateTime'> readonly updatedAt: FieldRef<"ProductCache", 'DateTime'> } // Custom InputTypes /** * ProductCache findUnique */ export type ProductCacheFindUniqueArgs = { /** * Select specific fields to fetch from the ProductCache */ select?: ProductCacheSelect | null /** * Omit specific fields from the ProductCache */ omit?: ProductCacheOmit | null /** * Choose, which related nodes to fetch as well */ include?: ProductCacheInclude | null /** * Filter, which ProductCache to fetch. */ where: ProductCacheWhereUniqueInput } /** * ProductCache findUniqueOrThrow */ export type ProductCacheFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the ProductCache */ select?: ProductCacheSelect | null /** * Omit specific fields from the ProductCache */ omit?: ProductCacheOmit | null /** * Choose, which related nodes to fetch as well */ include?: ProductCacheInclude | null /** * Filter, which ProductCache to fetch. */ where: ProductCacheWhereUniqueInput } /** * ProductCache findFirst */ export type ProductCacheFindFirstArgs = { /** * Select specific fields to fetch from the ProductCache */ select?: ProductCacheSelect | null /** * Omit specific fields from the ProductCache */ omit?: ProductCacheOmit | null /** * Choose, which related nodes to fetch as well */ include?: ProductCacheInclude | null /** * Filter, which ProductCache to fetch. */ where?: ProductCacheWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of ProductCaches to fetch. */ orderBy?: ProductCacheOrderByWithRelationInput | ProductCacheOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for ProductCaches. */ cursor?: ProductCacheWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` ProductCaches 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` ProductCaches. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of ProductCaches. */ distinct?: ProductCacheScalarFieldEnum | ProductCacheScalarFieldEnum[] } /** * ProductCache findFirstOrThrow */ export type ProductCacheFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the ProductCache */ select?: ProductCacheSelect | null /** * Omit specific fields from the ProductCache */ omit?: ProductCacheOmit | null /** * Choose, which related nodes to fetch as well */ include?: ProductCacheInclude | null /** * Filter, which ProductCache to fetch. */ where?: ProductCacheWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of ProductCaches to fetch. */ orderBy?: ProductCacheOrderByWithRelationInput | ProductCacheOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for ProductCaches. */ cursor?: ProductCacheWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` ProductCaches 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` ProductCaches. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of ProductCaches. */ distinct?: ProductCacheScalarFieldEnum | ProductCacheScalarFieldEnum[] } /** * ProductCache findMany */ export type ProductCacheFindManyArgs = { /** * Select specific fields to fetch from the ProductCache */ select?: ProductCacheSelect | null /** * Omit specific fields from the ProductCache */ omit?: ProductCacheOmit | null /** * Choose, which related nodes to fetch as well */ include?: ProductCacheInclude | null /** * Filter, which ProductCaches to fetch. */ where?: ProductCacheWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of ProductCaches to fetch. */ orderBy?: ProductCacheOrderByWithRelationInput | ProductCacheOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing ProductCaches. */ cursor?: ProductCacheWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` ProductCaches 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` ProductCaches. */ skip?: number distinct?: ProductCacheScalarFieldEnum | ProductCacheScalarFieldEnum[] } /** * ProductCache create */ export type ProductCacheCreateArgs = { /** * Select specific fields to fetch from the ProductCache */ select?: ProductCacheSelect | null /** * Omit specific fields from the ProductCache */ omit?: ProductCacheOmit | null /** * Choose, which related nodes to fetch as well */ include?: ProductCacheInclude | null /** * The data needed to create a ProductCache. */ data: XOR } /** * ProductCache createMany */ export type ProductCacheCreateManyArgs = { /** * The data used to create many ProductCaches. */ data: ProductCacheCreateManyInput | ProductCacheCreateManyInput[] } /** * ProductCache createManyAndReturn */ export type ProductCacheCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the ProductCache */ select?: ProductCacheSelectCreateManyAndReturn | null /** * Omit specific fields from the ProductCache */ omit?: ProductCacheOmit | null /** * The data used to create many ProductCaches. */ data: ProductCacheCreateManyInput | ProductCacheCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: ProductCacheIncludeCreateManyAndReturn | null } /** * ProductCache update */ export type ProductCacheUpdateArgs = { /** * Select specific fields to fetch from the ProductCache */ select?: ProductCacheSelect | null /** * Omit specific fields from the ProductCache */ omit?: ProductCacheOmit | null /** * Choose, which related nodes to fetch as well */ include?: ProductCacheInclude | null /** * The data needed to update a ProductCache. */ data: XOR /** * Choose, which ProductCache to update. */ where: ProductCacheWhereUniqueInput } /** * ProductCache updateMany */ export type ProductCacheUpdateManyArgs = { /** * The data used to update ProductCaches. */ data: XOR /** * Filter which ProductCaches to update */ where?: ProductCacheWhereInput /** * Limit how many ProductCaches to update. */ limit?: number } /** * ProductCache updateManyAndReturn */ export type ProductCacheUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the ProductCache */ select?: ProductCacheSelectUpdateManyAndReturn | null /** * Omit specific fields from the ProductCache */ omit?: ProductCacheOmit | null /** * The data used to update ProductCaches. */ data: XOR /** * Filter which ProductCaches to update */ where?: ProductCacheWhereInput /** * Limit how many ProductCaches to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: ProductCacheIncludeUpdateManyAndReturn | null } /** * ProductCache upsert */ export type ProductCacheUpsertArgs = { /** * Select specific fields to fetch from the ProductCache */ select?: ProductCacheSelect | null /** * Omit specific fields from the ProductCache */ omit?: ProductCacheOmit | null /** * Choose, which related nodes to fetch as well */ include?: ProductCacheInclude | null /** * The filter to search for the ProductCache to update in case it exists. */ where: ProductCacheWhereUniqueInput /** * In case the ProductCache found by the `where` argument doesn't exist, create a new ProductCache with this data. */ create: XOR /** * In case the ProductCache was found with the provided `where` argument, update it with this data. */ update: XOR } /** * ProductCache delete */ export type ProductCacheDeleteArgs = { /** * Select specific fields to fetch from the ProductCache */ select?: ProductCacheSelect | null /** * Omit specific fields from the ProductCache */ omit?: ProductCacheOmit | null /** * Choose, which related nodes to fetch as well */ include?: ProductCacheInclude | null /** * Filter which ProductCache to delete. */ where: ProductCacheWhereUniqueInput } /** * ProductCache deleteMany */ export type ProductCacheDeleteManyArgs = { /** * Filter which ProductCaches to delete */ where?: ProductCacheWhereInput /** * Limit how many ProductCaches to delete. */ limit?: number } /** * ProductCache without action */ export type ProductCacheDefaultArgs = { /** * Select specific fields to fetch from the ProductCache */ select?: ProductCacheSelect | null /** * Omit specific fields from the ProductCache */ omit?: ProductCacheOmit | null /** * Choose, which related nodes to fetch as well */ include?: ProductCacheInclude | null } /** * Model User */ export type AggregateUser = { _count: UserCountAggregateOutputType | null _min: UserMinAggregateOutputType | null _max: UserMaxAggregateOutputType | null } export type UserMinAggregateOutputType = { id: string | null name: string | null email: string | null passwordHash: string | null role: $Enums.Role | null createdAt: Date | null updatedAt: Date | null } export type UserMaxAggregateOutputType = { id: string | null name: string | null email: string | null passwordHash: string | null role: $Enums.Role | null createdAt: Date | null updatedAt: Date | null } export type UserCountAggregateOutputType = { id: number name: number email: number passwordHash: number role: number createdAt: number updatedAt: number _all: number } export type UserMinAggregateInputType = { id?: true name?: true email?: true passwordHash?: true role?: true createdAt?: true updatedAt?: true } export type UserMaxAggregateInputType = { id?: true name?: true email?: true passwordHash?: true role?: true createdAt?: true updatedAt?: true } export type UserCountAggregateInputType = { id?: true name?: true email?: true passwordHash?: true role?: true createdAt?: true updatedAt?: true _all?: true } export type UserAggregateArgs = { /** * Filter which User to aggregate. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users 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` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Users **/ _count?: true | UserCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: UserMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: UserMaxAggregateInputType } export type GetUserAggregateType = { [P in keyof T & keyof AggregateUser]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type UserGroupByArgs = { where?: UserWhereInput orderBy?: UserOrderByWithAggregationInput | UserOrderByWithAggregationInput[] by: UserScalarFieldEnum[] | UserScalarFieldEnum having?: UserScalarWhereWithAggregatesInput take?: number skip?: number _count?: UserCountAggregateInputType | true _min?: UserMinAggregateInputType _max?: UserMaxAggregateInputType } export type UserGroupByOutputType = { id: string name: string email: string passwordHash: string role: $Enums.Role createdAt: Date updatedAt: Date _count: UserCountAggregateOutputType | null _min: UserMinAggregateOutputType | null _max: UserMaxAggregateOutputType | null } type GetUserGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof UserGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type UserSelect = $Extensions.GetSelect<{ id?: boolean name?: boolean email?: boolean passwordHash?: boolean role?: boolean createdAt?: boolean updatedAt?: boolean store?: boolean | User$storeArgs carts?: boolean | User$cartsArgs address?: boolean | User$addressArgs accounts?: boolean | User$accountsArgs sessions?: boolean | User$sessionsArgs _count?: boolean | UserCountOutputTypeDefaultArgs }, ExtArgs["result"]["user"]> export type UserSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean email?: boolean passwordHash?: boolean role?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["user"]> export type UserSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean email?: boolean passwordHash?: boolean role?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["user"]> export type UserSelectScalar = { id?: boolean name?: boolean email?: boolean passwordHash?: boolean role?: boolean createdAt?: boolean updatedAt?: boolean } export type UserOmit = $Extensions.GetOmit<"id" | "name" | "email" | "passwordHash" | "role" | "createdAt" | "updatedAt", ExtArgs["result"]["user"]> export type UserInclude = { store?: boolean | User$storeArgs carts?: boolean | User$cartsArgs address?: boolean | User$addressArgs accounts?: boolean | User$accountsArgs sessions?: boolean | User$sessionsArgs _count?: boolean | UserCountOutputTypeDefaultArgs } export type UserIncludeCreateManyAndReturn = {} export type UserIncludeUpdateManyAndReturn = {} export type $UserPayload = { name: "User" objects: { store: Prisma.$StorePayload | null carts: Prisma.$CartPayload[] address: Prisma.$UserAddressPayload | null accounts: Prisma.$AccountPayload[] sessions: Prisma.$SessionPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string name: string email: string passwordHash: string role: $Enums.Role createdAt: Date updatedAt: Date }, ExtArgs["result"]["user"]> composites: {} } type UserGetPayload = $Result.GetResult type UserCountArgs = Omit & { select?: UserCountAggregateInputType | true } export interface UserDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['User'], meta: { name: 'User' } } /** * Find zero or one User that matches the filter. * @param {UserFindUniqueArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one User that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {UserFindUniqueOrThrowArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first User 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 {UserFindFirstArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first User 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 {UserFindFirstOrThrowArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Users 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 {UserFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Users * const users = await prisma.user.findMany() * * // Get first 10 Users * const users = await prisma.user.findMany({ take: 10 }) * * // Only select the `id` * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a User. * @param {UserCreateArgs} args - Arguments to create a User. * @example * // Create one User * const User = await prisma.user.create({ * data: { * // ... data to create a User * } * }) * */ create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Users. * @param {UserCreateManyArgs} args - Arguments to create many Users. * @example * // Create many Users * const user = await prisma.user.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Users and returns the data saved in the database. * @param {UserCreateManyAndReturnArgs} args - Arguments to create many Users. * @example * // Create many Users * const user = await prisma.user.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Users and only return the `id` * const userWithIdOnly = await prisma.user.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", GlobalOmitOptions>> /** * Delete a User. * @param {UserDeleteArgs} args - Arguments to delete one User. * @example * // Delete one User * const User = await prisma.user.delete({ * where: { * // ... filter to delete one User * } * }) * */ delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one User. * @param {UserUpdateArgs} args - Arguments to update one User. * @example * // Update one User * const user = await prisma.user.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Users. * @param {UserDeleteManyArgs} args - Arguments to filter Users to delete. * @example * // Delete a few Users * const { count } = await prisma.user.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Users. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Users * const user = await prisma.user.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Users and returns the data updated in the database. * @param {UserUpdateManyAndReturnArgs} args - Arguments to update many Users. * @example * // Update many Users * const user = await prisma.user.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Users and only return the `id` * const userWithIdOnly = await prisma.user.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one User. * @param {UserUpsertArgs} args - Arguments to update or create a User. * @example * // Update or create a User * const user = await prisma.user.upsert({ * create: { * // ... data to create a User * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the User we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of Users. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserCountArgs} args - Arguments to filter Users to count. * @example * // Count the number of Users * const count = await prisma.user.count({ * where: { * // ... the filter for the Users 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 User. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserAggregateArgs} 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 User. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserGroupByArgs} 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 UserGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: UserGroupByArgs['orderBy'] } : { orderBy?: UserGroupByArgs['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 ? GetUserGroupByPayload : Prisma.PrismaPromise /** * Fields of the User model */ readonly fields: UserFieldRefs; } /** * The delegate class that acts as a "Promise-like" for User. * 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__UserClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" store = {}>(args?: Subset>): Prisma__StoreClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> carts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> address = {}>(args?: Subset>): Prisma__UserAddressClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> accounts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> sessions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | 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 User model */ interface UserFieldRefs { readonly id: FieldRef<"User", 'String'> readonly name: FieldRef<"User", 'String'> readonly email: FieldRef<"User", 'String'> readonly passwordHash: FieldRef<"User", 'String'> readonly role: FieldRef<"User", 'Role'> readonly createdAt: FieldRef<"User", 'DateTime'> readonly updatedAt: FieldRef<"User", 'DateTime'> } // Custom InputTypes /** * User findUnique */ export type UserFindUniqueArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findUniqueOrThrow */ export type UserFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findFirst */ export type UserFindFirstArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users 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` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Users. */ distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User findFirstOrThrow */ export type UserFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users 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` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Users. */ distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User findMany */ export type UserFindManyArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which Users to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users 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` Users. */ skip?: number distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User create */ export type UserCreateArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The data needed to create a User. */ data: XOR } /** * User createMany */ export type UserCreateManyArgs = { /** * The data used to create many Users. */ data: UserCreateManyInput | UserCreateManyInput[] } /** * User createManyAndReturn */ export type UserCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelectCreateManyAndReturn | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * The data used to create many Users. */ data: UserCreateManyInput | UserCreateManyInput[] } /** * User update */ export type UserUpdateArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The data needed to update a User. */ data: XOR /** * Choose, which User to update. */ where: UserWhereUniqueInput } /** * User updateMany */ export type UserUpdateManyArgs = { /** * The data used to update Users. */ data: XOR /** * Filter which Users to update */ where?: UserWhereInput /** * Limit how many Users to update. */ limit?: number } /** * User updateManyAndReturn */ export type UserUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelectUpdateManyAndReturn | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * The data used to update Users. */ data: XOR /** * Filter which Users to update */ where?: UserWhereInput /** * Limit how many Users to update. */ limit?: number } /** * User upsert */ export type UserUpsertArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The filter to search for the User to update in case it exists. */ where: UserWhereUniqueInput /** * In case the User found by the `where` argument doesn't exist, create a new User with this data. */ create: XOR /** * In case the User was found with the provided `where` argument, update it with this data. */ update: XOR } /** * User delete */ export type UserDeleteArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter which User to delete. */ where: UserWhereUniqueInput } /** * User deleteMany */ export type UserDeleteManyArgs = { /** * Filter which Users to delete */ where?: UserWhereInput /** * Limit how many Users to delete. */ limit?: number } /** * User.store */ export type User$storeArgs = { /** * Select specific fields to fetch from the Store */ select?: StoreSelect | null /** * Omit specific fields from the Store */ omit?: StoreOmit | null /** * Choose, which related nodes to fetch as well */ include?: StoreInclude | null where?: StoreWhereInput } /** * User.carts */ export type User$cartsArgs = { /** * Select specific fields to fetch from the Cart */ select?: CartSelect | null /** * Omit specific fields from the Cart */ omit?: CartOmit | null /** * Choose, which related nodes to fetch as well */ include?: CartInclude | null where?: CartWhereInput orderBy?: CartOrderByWithRelationInput | CartOrderByWithRelationInput[] cursor?: CartWhereUniqueInput take?: number skip?: number distinct?: CartScalarFieldEnum | CartScalarFieldEnum[] } /** * User.address */ export type User$addressArgs = { /** * Select specific fields to fetch from the UserAddress */ select?: UserAddressSelect | null /** * Omit specific fields from the UserAddress */ omit?: UserAddressOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserAddressInclude | null where?: UserAddressWhereInput } /** * User.accounts */ export type User$accountsArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Omit specific fields from the Account */ omit?: AccountOmit | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null where?: AccountWhereInput orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] cursor?: AccountWhereUniqueInput take?: number skip?: number distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] } /** * User.sessions */ export type User$sessionsArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null where?: SessionWhereInput orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] cursor?: SessionWhereUniqueInput take?: number skip?: number distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] } /** * User without action */ export type UserDefaultArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null } /** * Model Session */ export type AggregateSession = { _count: SessionCountAggregateOutputType | null _min: SessionMinAggregateOutputType | null _max: SessionMaxAggregateOutputType | null } export type SessionMinAggregateOutputType = { id: string | null sessionToken: string | null userId: string | null expires: Date | null createdAt: Date | null updatedAt: Date | null } export type SessionMaxAggregateOutputType = { id: string | null sessionToken: string | null userId: string | null expires: Date | null createdAt: Date | null updatedAt: Date | null } export type SessionCountAggregateOutputType = { id: number sessionToken: number userId: number expires: number createdAt: number updatedAt: number _all: number } export type SessionMinAggregateInputType = { id?: true sessionToken?: true userId?: true expires?: true createdAt?: true updatedAt?: true } export type SessionMaxAggregateInputType = { id?: true sessionToken?: true userId?: true expires?: true createdAt?: true updatedAt?: true } export type SessionCountAggregateInputType = { id?: true sessionToken?: true userId?: true expires?: true createdAt?: true updatedAt?: true _all?: true } export type SessionAggregateArgs = { /** * Filter which Session to aggregate. */ where?: SessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Sessions to fetch. */ orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: SessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Sessions 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` Sessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Sessions **/ _count?: true | SessionCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: SessionMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: SessionMaxAggregateInputType } export type GetSessionAggregateType = { [P in keyof T & keyof AggregateSession]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type SessionGroupByArgs = { where?: SessionWhereInput orderBy?: SessionOrderByWithAggregationInput | SessionOrderByWithAggregationInput[] by: SessionScalarFieldEnum[] | SessionScalarFieldEnum having?: SessionScalarWhereWithAggregatesInput take?: number skip?: number _count?: SessionCountAggregateInputType | true _min?: SessionMinAggregateInputType _max?: SessionMaxAggregateInputType } export type SessionGroupByOutputType = { id: string sessionToken: string userId: string expires: Date createdAt: Date updatedAt: Date _count: SessionCountAggregateOutputType | null _min: SessionMinAggregateOutputType | null _max: SessionMaxAggregateOutputType | null } type GetSessionGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof SessionGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type SessionSelect = $Extensions.GetSelect<{ id?: boolean sessionToken?: boolean userId?: boolean expires?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["session"]> export type SessionSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean sessionToken?: boolean userId?: boolean expires?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["session"]> export type SessionSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean sessionToken?: boolean userId?: boolean expires?: boolean createdAt?: boolean updatedAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["session"]> export type SessionSelectScalar = { id?: boolean sessionToken?: boolean userId?: boolean expires?: boolean createdAt?: boolean updatedAt?: boolean } export type SessionOmit = $Extensions.GetOmit<"id" | "sessionToken" | "userId" | "expires" | "createdAt" | "updatedAt", ExtArgs["result"]["session"]> export type SessionInclude = { user?: boolean | UserDefaultArgs } export type SessionIncludeCreateManyAndReturn = { user?: boolean | UserDefaultArgs } export type SessionIncludeUpdateManyAndReturn = { user?: boolean | UserDefaultArgs } export type $SessionPayload = { name: "Session" objects: { user: Prisma.$UserPayload } scalars: $Extensions.GetPayloadResult<{ id: string sessionToken: string userId: string expires: Date createdAt: Date updatedAt: Date }, ExtArgs["result"]["session"]> composites: {} } type SessionGetPayload = $Result.GetResult type SessionCountArgs = Omit & { select?: SessionCountAggregateInputType | true } export interface SessionDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Session'], meta: { name: 'Session' } } /** * Find zero or one Session that matches the filter. * @param {SessionFindUniqueArgs} args - Arguments to find a Session * @example * // Get one Session * const session = await prisma.session.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Session that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {SessionFindUniqueOrThrowArgs} args - Arguments to find a Session * @example * // Get one Session * const session = await prisma.session.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Session 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 {SessionFindFirstArgs} args - Arguments to find a Session * @example * // Get one Session * const session = await prisma.session.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Session 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 {SessionFindFirstOrThrowArgs} args - Arguments to find a Session * @example * // Get one Session * const session = await prisma.session.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Sessions 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 {SessionFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Sessions * const sessions = await prisma.session.findMany() * * // Get first 10 Sessions * const sessions = await prisma.session.findMany({ take: 10 }) * * // Only select the `id` * const sessionWithIdOnly = await prisma.session.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a Session. * @param {SessionCreateArgs} args - Arguments to create a Session. * @example * // Create one Session * const Session = await prisma.session.create({ * data: { * // ... data to create a Session * } * }) * */ create(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Sessions. * @param {SessionCreateManyArgs} args - Arguments to create many Sessions. * @example * // Create many Sessions * const session = await prisma.session.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Sessions and returns the data saved in the database. * @param {SessionCreateManyAndReturnArgs} args - Arguments to create many Sessions. * @example * // Create many Sessions * const session = await prisma.session.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Sessions and only return the `id` * const sessionWithIdOnly = await prisma.session.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", GlobalOmitOptions>> /** * Delete a Session. * @param {SessionDeleteArgs} args - Arguments to delete one Session. * @example * // Delete one Session * const Session = await prisma.session.delete({ * where: { * // ... filter to delete one Session * } * }) * */ delete(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Session. * @param {SessionUpdateArgs} args - Arguments to update one Session. * @example * // Update one Session * const session = await prisma.session.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Sessions. * @param {SessionDeleteManyArgs} args - Arguments to filter Sessions to delete. * @example * // Delete a few Sessions * const { count } = await prisma.session.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Sessions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Sessions * const session = await prisma.session.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Sessions and returns the data updated in the database. * @param {SessionUpdateManyAndReturnArgs} args - Arguments to update many Sessions. * @example * // Update many Sessions * const session = await prisma.session.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Sessions and only return the `id` * const sessionWithIdOnly = await prisma.session.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one Session. * @param {SessionUpsertArgs} args - Arguments to update or create a Session. * @example * // Update or create a Session * const session = await prisma.session.upsert({ * create: { * // ... data to create a Session * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Session we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of Sessions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionCountArgs} args - Arguments to filter Sessions to count. * @example * // Count the number of Sessions * const count = await prisma.session.count({ * where: { * // ... the filter for the Sessions 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 Session. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionAggregateArgs} 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 Session. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {SessionGroupByArgs} 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 SessionGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: SessionGroupByArgs['orderBy'] } : { orderBy?: SessionGroupByArgs['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 ? GetSessionGroupByPayload : Prisma.PrismaPromise /** * Fields of the Session model */ readonly fields: SessionFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Session. * 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__SessionClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $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 Session model */ interface SessionFieldRefs { readonly id: FieldRef<"Session", 'String'> readonly sessionToken: FieldRef<"Session", 'String'> readonly userId: FieldRef<"Session", 'String'> readonly expires: FieldRef<"Session", 'DateTime'> readonly createdAt: FieldRef<"Session", 'DateTime'> readonly updatedAt: FieldRef<"Session", 'DateTime'> } // Custom InputTypes /** * Session findUnique */ export type SessionFindUniqueArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Session to fetch. */ where: SessionWhereUniqueInput } /** * Session findUniqueOrThrow */ export type SessionFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Session to fetch. */ where: SessionWhereUniqueInput } /** * Session findFirst */ export type SessionFindFirstArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Session to fetch. */ where?: SessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Sessions to fetch. */ orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Sessions. */ cursor?: SessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Sessions 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` Sessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Sessions. */ distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] } /** * Session findFirstOrThrow */ export type SessionFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Session to fetch. */ where?: SessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Sessions to fetch. */ orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Sessions. */ cursor?: SessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Sessions 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` Sessions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Sessions. */ distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] } /** * Session findMany */ export type SessionFindManyArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter, which Sessions to fetch. */ where?: SessionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Sessions to fetch. */ orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Sessions. */ cursor?: SessionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Sessions 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` Sessions. */ skip?: number distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] } /** * Session create */ export type SessionCreateArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * The data needed to create a Session. */ data: XOR } /** * Session createMany */ export type SessionCreateManyArgs = { /** * The data used to create many Sessions. */ data: SessionCreateManyInput | SessionCreateManyInput[] } /** * Session createManyAndReturn */ export type SessionCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelectCreateManyAndReturn | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * The data used to create many Sessions. */ data: SessionCreateManyInput | SessionCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: SessionIncludeCreateManyAndReturn | null } /** * Session update */ export type SessionUpdateArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * The data needed to update a Session. */ data: XOR /** * Choose, which Session to update. */ where: SessionWhereUniqueInput } /** * Session updateMany */ export type SessionUpdateManyArgs = { /** * The data used to update Sessions. */ data: XOR /** * Filter which Sessions to update */ where?: SessionWhereInput /** * Limit how many Sessions to update. */ limit?: number } /** * Session updateManyAndReturn */ export type SessionUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelectUpdateManyAndReturn | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * The data used to update Sessions. */ data: XOR /** * Filter which Sessions to update */ where?: SessionWhereInput /** * Limit how many Sessions to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: SessionIncludeUpdateManyAndReturn | null } /** * Session upsert */ export type SessionUpsertArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * The filter to search for the Session to update in case it exists. */ where: SessionWhereUniqueInput /** * In case the Session found by the `where` argument doesn't exist, create a new Session with this data. */ create: XOR /** * In case the Session was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Session delete */ export type SessionDeleteArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null /** * Filter which Session to delete. */ where: SessionWhereUniqueInput } /** * Session deleteMany */ export type SessionDeleteManyArgs = { /** * Filter which Sessions to delete */ where?: SessionWhereInput /** * Limit how many Sessions to delete. */ limit?: number } /** * Session without action */ export type SessionDefaultArgs = { /** * Select specific fields to fetch from the Session */ select?: SessionSelect | null /** * Omit specific fields from the Session */ omit?: SessionOmit | null /** * Choose, which related nodes to fetch as well */ include?: SessionInclude | null } /** * Model Account */ export type AggregateAccount = { _count: AccountCountAggregateOutputType | null _avg: AccountAvgAggregateOutputType | null _sum: AccountSumAggregateOutputType | null _min: AccountMinAggregateOutputType | null _max: AccountMaxAggregateOutputType | null } export type AccountAvgAggregateOutputType = { expires_at: number | null } export type AccountSumAggregateOutputType = { expires_at: number | null } export type AccountMinAggregateOutputType = { id: string | null userId: string | null type: string | null provider: string | null providerAccountId: string | null refresh_token: string | null access_token: string | null expires_at: number | null token_type: string | null scope: string | null id_token: string | null session_state: string | null } export type AccountMaxAggregateOutputType = { id: string | null userId: string | null type: string | null provider: string | null providerAccountId: string | null refresh_token: string | null access_token: string | null expires_at: number | null token_type: string | null scope: string | null id_token: string | null session_state: string | null } export type AccountCountAggregateOutputType = { id: number userId: number type: number provider: number providerAccountId: number refresh_token: number access_token: number expires_at: number token_type: number scope: number id_token: number session_state: number _all: number } export type AccountAvgAggregateInputType = { expires_at?: true } export type AccountSumAggregateInputType = { expires_at?: true } export type AccountMinAggregateInputType = { id?: true userId?: true type?: true provider?: true providerAccountId?: true refresh_token?: true access_token?: true expires_at?: true token_type?: true scope?: true id_token?: true session_state?: true } export type AccountMaxAggregateInputType = { id?: true userId?: true type?: true provider?: true providerAccountId?: true refresh_token?: true access_token?: true expires_at?: true token_type?: true scope?: true id_token?: true session_state?: true } export type AccountCountAggregateInputType = { id?: true userId?: true type?: true provider?: true providerAccountId?: true refresh_token?: true access_token?: true expires_at?: true token_type?: true scope?: true id_token?: true session_state?: true _all?: true } export type AccountAggregateArgs = { /** * Filter which Account to aggregate. */ where?: AccountWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Accounts to fetch. */ orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: AccountWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Accounts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Accounts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Accounts **/ _count?: true | AccountCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: AccountAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: AccountSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: AccountMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: AccountMaxAggregateInputType } export type GetAccountAggregateType = { [P in keyof T & keyof AggregateAccount]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type AccountGroupByArgs = { where?: AccountWhereInput orderBy?: AccountOrderByWithAggregationInput | AccountOrderByWithAggregationInput[] by: AccountScalarFieldEnum[] | AccountScalarFieldEnum having?: AccountScalarWhereWithAggregatesInput take?: number skip?: number _count?: AccountCountAggregateInputType | true _avg?: AccountAvgAggregateInputType _sum?: AccountSumAggregateInputType _min?: AccountMinAggregateInputType _max?: AccountMaxAggregateInputType } export type AccountGroupByOutputType = { id: string userId: string type: string provider: string providerAccountId: string refresh_token: string | null access_token: string | null expires_at: number | null token_type: string | null scope: string | null id_token: string | null session_state: string | null _count: AccountCountAggregateOutputType | null _avg: AccountAvgAggregateOutputType | null _sum: AccountSumAggregateOutputType | null _min: AccountMinAggregateOutputType | null _max: AccountMaxAggregateOutputType | null } type GetAccountGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof AccountGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type AccountSelect = $Extensions.GetSelect<{ id?: boolean userId?: boolean type?: boolean provider?: boolean providerAccountId?: boolean refresh_token?: boolean access_token?: boolean expires_at?: boolean token_type?: boolean scope?: boolean id_token?: boolean session_state?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["account"]> export type AccountSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean type?: boolean provider?: boolean providerAccountId?: boolean refresh_token?: boolean access_token?: boolean expires_at?: boolean token_type?: boolean scope?: boolean id_token?: boolean session_state?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["account"]> export type AccountSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean userId?: boolean type?: boolean provider?: boolean providerAccountId?: boolean refresh_token?: boolean access_token?: boolean expires_at?: boolean token_type?: boolean scope?: boolean id_token?: boolean session_state?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["account"]> export type AccountSelectScalar = { id?: boolean userId?: boolean type?: boolean provider?: boolean providerAccountId?: boolean refresh_token?: boolean access_token?: boolean expires_at?: boolean token_type?: boolean scope?: boolean id_token?: boolean session_state?: boolean } export type AccountOmit = $Extensions.GetOmit<"id" | "userId" | "type" | "provider" | "providerAccountId" | "refresh_token" | "access_token" | "expires_at" | "token_type" | "scope" | "id_token" | "session_state", ExtArgs["result"]["account"]> export type AccountInclude = { user?: boolean | UserDefaultArgs } export type AccountIncludeCreateManyAndReturn = { user?: boolean | UserDefaultArgs } export type AccountIncludeUpdateManyAndReturn = { user?: boolean | UserDefaultArgs } export type $AccountPayload = { name: "Account" objects: { user: Prisma.$UserPayload } scalars: $Extensions.GetPayloadResult<{ id: string userId: string type: string provider: string providerAccountId: string refresh_token: string | null access_token: string | null expires_at: number | null token_type: string | null scope: string | null id_token: string | null session_state: string | null }, ExtArgs["result"]["account"]> composites: {} } type AccountGetPayload = $Result.GetResult type AccountCountArgs = Omit & { select?: AccountCountAggregateInputType | true } export interface AccountDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Account'], meta: { name: 'Account' } } /** * Find zero or one Account that matches the filter. * @param {AccountFindUniqueArgs} args - Arguments to find a Account * @example * // Get one Account * const account = await prisma.account.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Account that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {AccountFindUniqueOrThrowArgs} args - Arguments to find a Account * @example * // Get one Account * const account = await prisma.account.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Account that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountFindFirstArgs} args - Arguments to find a Account * @example * // Get one Account * const account = await prisma.account.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Account that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountFindFirstOrThrowArgs} args - Arguments to find a Account * @example * // Get one Account * const account = await prisma.account.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Accounts that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Accounts * const accounts = await prisma.account.findMany() * * // Get first 10 Accounts * const accounts = await prisma.account.findMany({ take: 10 }) * * // Only select the `id` * const accountWithIdOnly = await prisma.account.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a Account. * @param {AccountCreateArgs} args - Arguments to create a Account. * @example * // Create one Account * const Account = await prisma.account.create({ * data: { * // ... data to create a Account * } * }) * */ create(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Accounts. * @param {AccountCreateManyArgs} args - Arguments to create many Accounts. * @example * // Create many Accounts * const account = await prisma.account.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Accounts and returns the data saved in the database. * @param {AccountCreateManyAndReturnArgs} args - Arguments to create many Accounts. * @example * // Create many Accounts * const account = await prisma.account.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Accounts and only return the `id` * const accountWithIdOnly = await prisma.account.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a Account. * @param {AccountDeleteArgs} args - Arguments to delete one Account. * @example * // Delete one Account * const Account = await prisma.account.delete({ * where: { * // ... filter to delete one Account * } * }) * */ delete(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Account. * @param {AccountUpdateArgs} args - Arguments to update one Account. * @example * // Update one Account * const account = await prisma.account.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Accounts. * @param {AccountDeleteManyArgs} args - Arguments to filter Accounts to delete. * @example * // Delete a few Accounts * const { count } = await prisma.account.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Accounts. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Accounts * const account = await prisma.account.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Accounts and returns the data updated in the database. * @param {AccountUpdateManyAndReturnArgs} args - Arguments to update many Accounts. * @example * // Update many Accounts * const account = await prisma.account.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Accounts and only return the `id` * const accountWithIdOnly = await prisma.account.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one Account. * @param {AccountUpsertArgs} args - Arguments to update or create a Account. * @example * // Update or create a Account * const account = await prisma.account.upsert({ * create: { * // ... data to create a Account * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Account we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__AccountClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of Accounts. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountCountArgs} args - Arguments to filter Accounts to count. * @example * // Count the number of Accounts * const count = await prisma.account.count({ * where: { * // ... the filter for the Accounts we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Account. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by Account. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AccountGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends AccountGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: AccountGroupByArgs['orderBy'] } : { orderBy?: AccountGroupByArgs['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 ? GetAccountGroupByPayload : Prisma.PrismaPromise /** * Fields of the Account model */ readonly fields: AccountFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Account. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__AccountClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $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 Account model */ interface AccountFieldRefs { readonly id: FieldRef<"Account", 'String'> readonly userId: FieldRef<"Account", 'String'> readonly type: FieldRef<"Account", 'String'> readonly provider: FieldRef<"Account", 'String'> readonly providerAccountId: FieldRef<"Account", 'String'> readonly refresh_token: FieldRef<"Account", 'String'> readonly access_token: FieldRef<"Account", 'String'> readonly expires_at: FieldRef<"Account", 'Int'> readonly token_type: FieldRef<"Account", 'String'> readonly scope: FieldRef<"Account", 'String'> readonly id_token: FieldRef<"Account", 'String'> readonly session_state: FieldRef<"Account", 'String'> } // Custom InputTypes /** * Account findUnique */ export type AccountFindUniqueArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Omit specific fields from the Account */ omit?: AccountOmit | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * Filter, which Account to fetch. */ where: AccountWhereUniqueInput } /** * Account findUniqueOrThrow */ export type AccountFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Omit specific fields from the Account */ omit?: AccountOmit | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * Filter, which Account to fetch. */ where: AccountWhereUniqueInput } /** * Account findFirst */ export type AccountFindFirstArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Omit specific fields from the Account */ omit?: AccountOmit | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * Filter, which Account to fetch. */ where?: AccountWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Accounts to fetch. */ orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Accounts. */ cursor?: AccountWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Accounts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Accounts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Accounts. */ distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] } /** * Account findFirstOrThrow */ export type AccountFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Omit specific fields from the Account */ omit?: AccountOmit | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * Filter, which Account to fetch. */ where?: AccountWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Accounts to fetch. */ orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Accounts. */ cursor?: AccountWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Accounts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Accounts. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Accounts. */ distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] } /** * Account findMany */ export type AccountFindManyArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Omit specific fields from the Account */ omit?: AccountOmit | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * Filter, which Accounts to fetch. */ where?: AccountWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Accounts to fetch. */ orderBy?: AccountOrderByWithRelationInput | AccountOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Accounts. */ cursor?: AccountWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Accounts from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Accounts. */ skip?: number distinct?: AccountScalarFieldEnum | AccountScalarFieldEnum[] } /** * Account create */ export type AccountCreateArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Omit specific fields from the Account */ omit?: AccountOmit | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * The data needed to create a Account. */ data: XOR } /** * Account createMany */ export type AccountCreateManyArgs = { /** * The data used to create many Accounts. */ data: AccountCreateManyInput | AccountCreateManyInput[] } /** * Account createManyAndReturn */ export type AccountCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelectCreateManyAndReturn | null /** * Omit specific fields from the Account */ omit?: AccountOmit | null /** * The data used to create many Accounts. */ data: AccountCreateManyInput | AccountCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: AccountIncludeCreateManyAndReturn | null } /** * Account update */ export type AccountUpdateArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Omit specific fields from the Account */ omit?: AccountOmit | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * The data needed to update a Account. */ data: XOR /** * Choose, which Account to update. */ where: AccountWhereUniqueInput } /** * Account updateMany */ export type AccountUpdateManyArgs = { /** * The data used to update Accounts. */ data: XOR /** * Filter which Accounts to update */ where?: AccountWhereInput /** * Limit how many Accounts to update. */ limit?: number } /** * Account updateManyAndReturn */ export type AccountUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelectUpdateManyAndReturn | null /** * Omit specific fields from the Account */ omit?: AccountOmit | null /** * The data used to update Accounts. */ data: XOR /** * Filter which Accounts to update */ where?: AccountWhereInput /** * Limit how many Accounts to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: AccountIncludeUpdateManyAndReturn | null } /** * Account upsert */ export type AccountUpsertArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Omit specific fields from the Account */ omit?: AccountOmit | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * The filter to search for the Account to update in case it exists. */ where: AccountWhereUniqueInput /** * In case the Account found by the `where` argument doesn't exist, create a new Account with this data. */ create: XOR /** * In case the Account was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Account delete */ export type AccountDeleteArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Omit specific fields from the Account */ omit?: AccountOmit | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null /** * Filter which Account to delete. */ where: AccountWhereUniqueInput } /** * Account deleteMany */ export type AccountDeleteManyArgs = { /** * Filter which Accounts to delete */ where?: AccountWhereInput /** * Limit how many Accounts to delete. */ limit?: number } /** * Account without action */ export type AccountDefaultArgs = { /** * Select specific fields to fetch from the Account */ select?: AccountSelect | null /** * Omit specific fields from the Account */ omit?: AccountOmit | null /** * Choose, which related nodes to fetch as well */ include?: AccountInclude | null } /** * Model VerificationToken */ export type AggregateVerificationToken = { _count: VerificationTokenCountAggregateOutputType | null _min: VerificationTokenMinAggregateOutputType | null _max: VerificationTokenMaxAggregateOutputType | null } export type VerificationTokenMinAggregateOutputType = { identifier: string | null token: string | null expires: Date | null } export type VerificationTokenMaxAggregateOutputType = { identifier: string | null token: string | null expires: Date | null } export type VerificationTokenCountAggregateOutputType = { identifier: number token: number expires: number _all: number } export type VerificationTokenMinAggregateInputType = { identifier?: true token?: true expires?: true } export type VerificationTokenMaxAggregateInputType = { identifier?: true token?: true expires?: true } export type VerificationTokenCountAggregateInputType = { identifier?: true token?: true expires?: true _all?: true } export type VerificationTokenAggregateArgs = { /** * Filter which VerificationToken to aggregate. */ where?: VerificationTokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VerificationTokens to fetch. */ orderBy?: VerificationTokenOrderByWithRelationInput | VerificationTokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: VerificationTokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VerificationTokens 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` VerificationTokens. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned VerificationTokens **/ _count?: true | VerificationTokenCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: VerificationTokenMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: VerificationTokenMaxAggregateInputType } export type GetVerificationTokenAggregateType = { [P in keyof T & keyof AggregateVerificationToken]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type VerificationTokenGroupByArgs = { where?: VerificationTokenWhereInput orderBy?: VerificationTokenOrderByWithAggregationInput | VerificationTokenOrderByWithAggregationInput[] by: VerificationTokenScalarFieldEnum[] | VerificationTokenScalarFieldEnum having?: VerificationTokenScalarWhereWithAggregatesInput take?: number skip?: number _count?: VerificationTokenCountAggregateInputType | true _min?: VerificationTokenMinAggregateInputType _max?: VerificationTokenMaxAggregateInputType } export type VerificationTokenGroupByOutputType = { identifier: string token: string expires: Date _count: VerificationTokenCountAggregateOutputType | null _min: VerificationTokenMinAggregateOutputType | null _max: VerificationTokenMaxAggregateOutputType | null } type GetVerificationTokenGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof VerificationTokenGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type VerificationTokenSelect = $Extensions.GetSelect<{ identifier?: boolean token?: boolean expires?: boolean }, ExtArgs["result"]["verificationToken"]> export type VerificationTokenSelectCreateManyAndReturn = $Extensions.GetSelect<{ identifier?: boolean token?: boolean expires?: boolean }, ExtArgs["result"]["verificationToken"]> export type VerificationTokenSelectUpdateManyAndReturn = $Extensions.GetSelect<{ identifier?: boolean token?: boolean expires?: boolean }, ExtArgs["result"]["verificationToken"]> export type VerificationTokenSelectScalar = { identifier?: boolean token?: boolean expires?: boolean } export type VerificationTokenOmit = $Extensions.GetOmit<"identifier" | "token" | "expires", ExtArgs["result"]["verificationToken"]> export type $VerificationTokenPayload = { name: "VerificationToken" objects: {} scalars: $Extensions.GetPayloadResult<{ identifier: string token: string expires: Date }, ExtArgs["result"]["verificationToken"]> composites: {} } type VerificationTokenGetPayload = $Result.GetResult type VerificationTokenCountArgs = Omit & { select?: VerificationTokenCountAggregateInputType | true } export interface VerificationTokenDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['VerificationToken'], meta: { name: 'VerificationToken' } } /** * Find zero or one VerificationToken that matches the filter. * @param {VerificationTokenFindUniqueArgs} args - Arguments to find a VerificationToken * @example * // Get one VerificationToken * const verificationToken = await prisma.verificationToken.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one VerificationToken that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {VerificationTokenFindUniqueOrThrowArgs} args - Arguments to find a VerificationToken * @example * // Get one VerificationToken * const verificationToken = await prisma.verificationToken.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first VerificationToken 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 {VerificationTokenFindFirstArgs} args - Arguments to find a VerificationToken * @example * // Get one VerificationToken * const verificationToken = await prisma.verificationToken.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first VerificationToken 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 {VerificationTokenFindFirstOrThrowArgs} args - Arguments to find a VerificationToken * @example * // Get one VerificationToken * const verificationToken = await prisma.verificationToken.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more VerificationTokens 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 {VerificationTokenFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all VerificationTokens * const verificationTokens = await prisma.verificationToken.findMany() * * // Get first 10 VerificationTokens * const verificationTokens = await prisma.verificationToken.findMany({ take: 10 }) * * // Only select the `identifier` * const verificationTokenWithIdentifierOnly = await prisma.verificationToken.findMany({ select: { identifier: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a VerificationToken. * @param {VerificationTokenCreateArgs} args - Arguments to create a VerificationToken. * @example * // Create one VerificationToken * const VerificationToken = await prisma.verificationToken.create({ * data: { * // ... data to create a VerificationToken * } * }) * */ create(args: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many VerificationTokens. * @param {VerificationTokenCreateManyArgs} args - Arguments to create many VerificationTokens. * @example * // Create many VerificationTokens * const verificationToken = await prisma.verificationToken.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many VerificationTokens and returns the data saved in the database. * @param {VerificationTokenCreateManyAndReturnArgs} args - Arguments to create many VerificationTokens. * @example * // Create many VerificationTokens * const verificationToken = await prisma.verificationToken.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many VerificationTokens and only return the `identifier` * const verificationTokenWithIdentifierOnly = await prisma.verificationToken.createManyAndReturn({ * select: { identifier: 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", GlobalOmitOptions>> /** * Delete a VerificationToken. * @param {VerificationTokenDeleteArgs} args - Arguments to delete one VerificationToken. * @example * // Delete one VerificationToken * const VerificationToken = await prisma.verificationToken.delete({ * where: { * // ... filter to delete one VerificationToken * } * }) * */ delete(args: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one VerificationToken. * @param {VerificationTokenUpdateArgs} args - Arguments to update one VerificationToken. * @example * // Update one VerificationToken * const verificationToken = await prisma.verificationToken.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more VerificationTokens. * @param {VerificationTokenDeleteManyArgs} args - Arguments to filter VerificationTokens to delete. * @example * // Delete a few VerificationTokens * const { count } = await prisma.verificationToken.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more VerificationTokens. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VerificationTokenUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many VerificationTokens * const verificationToken = await prisma.verificationToken.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more VerificationTokens and returns the data updated in the database. * @param {VerificationTokenUpdateManyAndReturnArgs} args - Arguments to update many VerificationTokens. * @example * // Update many VerificationTokens * const verificationToken = await prisma.verificationToken.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more VerificationTokens and only return the `identifier` * const verificationTokenWithIdentifierOnly = await prisma.verificationToken.updateManyAndReturn({ * select: { identifier: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one VerificationToken. * @param {VerificationTokenUpsertArgs} args - Arguments to update or create a VerificationToken. * @example * // Update or create a VerificationToken * const verificationToken = await prisma.verificationToken.upsert({ * create: { * // ... data to create a VerificationToken * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the VerificationToken we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__VerificationTokenClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of VerificationTokens. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VerificationTokenCountArgs} args - Arguments to filter VerificationTokens to count. * @example * // Count the number of VerificationTokens * const count = await prisma.verificationToken.count({ * where: { * // ... the filter for the VerificationTokens 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 VerificationToken. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VerificationTokenAggregateArgs} 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 VerificationToken. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VerificationTokenGroupByArgs} 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 VerificationTokenGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: VerificationTokenGroupByArgs['orderBy'] } : { orderBy?: VerificationTokenGroupByArgs['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 ? GetVerificationTokenGroupByPayload : Prisma.PrismaPromise /** * Fields of the VerificationToken model */ readonly fields: VerificationTokenFieldRefs; } /** * The delegate class that acts as a "Promise-like" for VerificationToken. * 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__VerificationTokenClient 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 VerificationToken model */ interface VerificationTokenFieldRefs { readonly identifier: FieldRef<"VerificationToken", 'String'> readonly token: FieldRef<"VerificationToken", 'String'> readonly expires: FieldRef<"VerificationToken", 'DateTime'> } // Custom InputTypes /** * VerificationToken findUnique */ export type VerificationTokenFindUniqueArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Omit specific fields from the VerificationToken */ omit?: VerificationTokenOmit | null /** * Filter, which VerificationToken to fetch. */ where: VerificationTokenWhereUniqueInput } /** * VerificationToken findUniqueOrThrow */ export type VerificationTokenFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Omit specific fields from the VerificationToken */ omit?: VerificationTokenOmit | null /** * Filter, which VerificationToken to fetch. */ where: VerificationTokenWhereUniqueInput } /** * VerificationToken findFirst */ export type VerificationTokenFindFirstArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Omit specific fields from the VerificationToken */ omit?: VerificationTokenOmit | null /** * Filter, which VerificationToken to fetch. */ where?: VerificationTokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VerificationTokens to fetch. */ orderBy?: VerificationTokenOrderByWithRelationInput | VerificationTokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for VerificationTokens. */ cursor?: VerificationTokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VerificationTokens 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` VerificationTokens. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of VerificationTokens. */ distinct?: VerificationTokenScalarFieldEnum | VerificationTokenScalarFieldEnum[] } /** * VerificationToken findFirstOrThrow */ export type VerificationTokenFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Omit specific fields from the VerificationToken */ omit?: VerificationTokenOmit | null /** * Filter, which VerificationToken to fetch. */ where?: VerificationTokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VerificationTokens to fetch. */ orderBy?: VerificationTokenOrderByWithRelationInput | VerificationTokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for VerificationTokens. */ cursor?: VerificationTokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VerificationTokens 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` VerificationTokens. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of VerificationTokens. */ distinct?: VerificationTokenScalarFieldEnum | VerificationTokenScalarFieldEnum[] } /** * VerificationToken findMany */ export type VerificationTokenFindManyArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Omit specific fields from the VerificationToken */ omit?: VerificationTokenOmit | null /** * Filter, which VerificationTokens to fetch. */ where?: VerificationTokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VerificationTokens to fetch. */ orderBy?: VerificationTokenOrderByWithRelationInput | VerificationTokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing VerificationTokens. */ cursor?: VerificationTokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VerificationTokens 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` VerificationTokens. */ skip?: number distinct?: VerificationTokenScalarFieldEnum | VerificationTokenScalarFieldEnum[] } /** * VerificationToken create */ export type VerificationTokenCreateArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Omit specific fields from the VerificationToken */ omit?: VerificationTokenOmit | null /** * The data needed to create a VerificationToken. */ data: XOR } /** * VerificationToken createMany */ export type VerificationTokenCreateManyArgs = { /** * The data used to create many VerificationTokens. */ data: VerificationTokenCreateManyInput | VerificationTokenCreateManyInput[] } /** * VerificationToken createManyAndReturn */ export type VerificationTokenCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelectCreateManyAndReturn | null /** * Omit specific fields from the VerificationToken */ omit?: VerificationTokenOmit | null /** * The data used to create many VerificationTokens. */ data: VerificationTokenCreateManyInput | VerificationTokenCreateManyInput[] } /** * VerificationToken update */ export type VerificationTokenUpdateArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Omit specific fields from the VerificationToken */ omit?: VerificationTokenOmit | null /** * The data needed to update a VerificationToken. */ data: XOR /** * Choose, which VerificationToken to update. */ where: VerificationTokenWhereUniqueInput } /** * VerificationToken updateMany */ export type VerificationTokenUpdateManyArgs = { /** * The data used to update VerificationTokens. */ data: XOR /** * Filter which VerificationTokens to update */ where?: VerificationTokenWhereInput /** * Limit how many VerificationTokens to update. */ limit?: number } /** * VerificationToken updateManyAndReturn */ export type VerificationTokenUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelectUpdateManyAndReturn | null /** * Omit specific fields from the VerificationToken */ omit?: VerificationTokenOmit | null /** * The data used to update VerificationTokens. */ data: XOR /** * Filter which VerificationTokens to update */ where?: VerificationTokenWhereInput /** * Limit how many VerificationTokens to update. */ limit?: number } /** * VerificationToken upsert */ export type VerificationTokenUpsertArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Omit specific fields from the VerificationToken */ omit?: VerificationTokenOmit | null /** * The filter to search for the VerificationToken to update in case it exists. */ where: VerificationTokenWhereUniqueInput /** * In case the VerificationToken found by the `where` argument doesn't exist, create a new VerificationToken with this data. */ create: XOR /** * In case the VerificationToken was found with the provided `where` argument, update it with this data. */ update: XOR } /** * VerificationToken delete */ export type VerificationTokenDeleteArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Omit specific fields from the VerificationToken */ omit?: VerificationTokenOmit | null /** * Filter which VerificationToken to delete. */ where: VerificationTokenWhereUniqueInput } /** * VerificationToken deleteMany */ export type VerificationTokenDeleteManyArgs = { /** * Filter which VerificationTokens to delete */ where?: VerificationTokenWhereInput /** * Limit how many VerificationTokens to delete. */ limit?: number } /** * VerificationToken without action */ export type VerificationTokenDefaultArgs = { /** * Select specific fields to fetch from the VerificationToken */ select?: VerificationTokenSelect | null /** * Omit specific fields from the VerificationToken */ omit?: VerificationTokenOmit | null } /** * Enums */ export const TransactionIsolationLevel: { Serializable: 'Serializable' }; export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] export const StoreScalarFieldEnum: { id: 'id', slug: 'slug', stripeAccountId: 'stripeAccountId', userId: 'userId', name: 'name', website: 'website', defaultSellingPreferences: 'defaultSellingPreferences', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type StoreScalarFieldEnum = (typeof StoreScalarFieldEnum)[keyof typeof StoreScalarFieldEnum] export const CartScalarFieldEnum: { id: 'id', storeId: 'storeId', sessionId: 'sessionId', userId: 'userId', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type CartScalarFieldEnum = (typeof CartScalarFieldEnum)[keyof typeof CartScalarFieldEnum] export const CartItemScalarFieldEnum: { id: 'id', cartId: 'cartId', productId: 'productId', priceId: 'priceId', name: 'name', unitAmount: 'unitAmount', currency: 'currency', quantity: 'quantity', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type CartItemScalarFieldEnum = (typeof CartItemScalarFieldEnum)[keyof typeof CartItemScalarFieldEnum] export const UserAddressScalarFieldEnum: { id: 'id', userId: 'userId', name: 'name', street1: 'street1', city: 'city', state: 'state', zip: 'zip', country: 'country', phone: 'phone', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type UserAddressScalarFieldEnum = (typeof UserAddressScalarFieldEnum)[keyof typeof UserAddressScalarFieldEnum] export const OrderScalarFieldEnum: { id: 'id', storeId: 'storeId', userId: 'userId', sessionId: 'sessionId', stripeCheckoutSessionId: 'stripeCheckoutSessionId', shippingRateId: 'shippingRateId', shippingRateSnapshot: 'shippingRateSnapshot', shippingAddress: 'shippingAddress', items: 'items', status: 'status', labelUrl: 'labelUrl', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type OrderScalarFieldEnum = (typeof OrderScalarFieldEnum)[keyof typeof OrderScalarFieldEnum] export const ProductCacheScalarFieldEnum: { id: 'id', storeId: 'storeId', stripeProductId: 'stripeProductId', stripePriceId: 'stripePriceId', name: 'name', description: 'description', unitAmount: 'unitAmount', currency: 'currency', active: 'active', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type ProductCacheScalarFieldEnum = (typeof ProductCacheScalarFieldEnum)[keyof typeof ProductCacheScalarFieldEnum] export const UserScalarFieldEnum: { id: 'id', name: 'name', email: 'email', passwordHash: 'passwordHash', role: 'role', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] export const SessionScalarFieldEnum: { id: 'id', sessionToken: 'sessionToken', userId: 'userId', expires: 'expires', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum] export const AccountScalarFieldEnum: { id: 'id', userId: 'userId', type: 'type', provider: 'provider', providerAccountId: 'providerAccountId', refresh_token: 'refresh_token', access_token: 'access_token', expires_at: 'expires_at', token_type: 'token_type', scope: 'scope', id_token: 'id_token', session_state: 'session_state' }; export type AccountScalarFieldEnum = (typeof AccountScalarFieldEnum)[keyof typeof AccountScalarFieldEnum] export const VerificationTokenScalarFieldEnum: { identifier: 'identifier', token: 'token', expires: 'expires' }; export type VerificationTokenScalarFieldEnum = (typeof VerificationTokenScalarFieldEnum)[keyof typeof VerificationTokenScalarFieldEnum] export const SortOrder: { asc: 'asc', desc: 'desc' }; export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] export const NullableJsonNullValueInput: { DbNull: typeof DbNull, JsonNull: typeof JsonNull }; export type NullableJsonNullValueInput = (typeof NullableJsonNullValueInput)[keyof typeof NullableJsonNullValueInput] export const JsonNullValueInput: { JsonNull: typeof JsonNull }; export type JsonNullValueInput = (typeof JsonNullValueInput)[keyof typeof JsonNullValueInput] export const JsonNullValueFilter: { DbNull: typeof DbNull, JsonNull: typeof JsonNull, AnyNull: typeof AnyNull }; export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter] 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] /** * Field references */ /** * Reference to a field of type 'String' */ export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String'> /** * Reference to a field of type 'Json' */ export type JsonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Json'> /** * Reference to a field of type 'QueryMode' */ export type EnumQueryModeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'QueryMode'> /** * Reference to a field of type 'DateTime' */ export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> /** * Reference to a field of type 'Int' */ export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'> /** * Reference to a field of type 'Boolean' */ export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> /** * Reference to a field of type 'Role' */ export type EnumRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Role'> /** * Reference to a field of type 'Float' */ export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> /** * Deep Input Types */ export type StoreWhereInput = { AND?: StoreWhereInput | StoreWhereInput[] OR?: StoreWhereInput[] NOT?: StoreWhereInput | StoreWhereInput[] id?: StringFilter<"Store"> | string slug?: StringFilter<"Store"> | string stripeAccountId?: StringNullableFilter<"Store"> | string | null userId?: StringFilter<"Store"> | string name?: StringNullableFilter<"Store"> | string | null website?: StringNullableFilter<"Store"> | string | null defaultSellingPreferences?: JsonNullableFilter<"Store"> createdAt?: DateTimeFilter<"Store"> | Date | string updatedAt?: DateTimeFilter<"Store"> | Date | string user?: XOR carts?: CartListRelationFilter products?: ProductCacheListRelationFilter } export type StoreOrderByWithRelationInput = { id?: SortOrder slug?: SortOrder stripeAccountId?: SortOrderInput | SortOrder userId?: SortOrder name?: SortOrderInput | SortOrder website?: SortOrderInput | SortOrder defaultSellingPreferences?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder user?: UserOrderByWithRelationInput carts?: CartOrderByRelationAggregateInput products?: ProductCacheOrderByRelationAggregateInput } export type StoreWhereUniqueInput = Prisma.AtLeast<{ id?: string slug?: string stripeAccountId?: string userId?: string AND?: StoreWhereInput | StoreWhereInput[] OR?: StoreWhereInput[] NOT?: StoreWhereInput | StoreWhereInput[] name?: StringNullableFilter<"Store"> | string | null website?: StringNullableFilter<"Store"> | string | null defaultSellingPreferences?: JsonNullableFilter<"Store"> createdAt?: DateTimeFilter<"Store"> | Date | string updatedAt?: DateTimeFilter<"Store"> | Date | string user?: XOR carts?: CartListRelationFilter products?: ProductCacheListRelationFilter }, "id" | "slug" | "stripeAccountId" | "userId"> export type StoreOrderByWithAggregationInput = { id?: SortOrder slug?: SortOrder stripeAccountId?: SortOrderInput | SortOrder userId?: SortOrder name?: SortOrderInput | SortOrder website?: SortOrderInput | SortOrder defaultSellingPreferences?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: StoreCountOrderByAggregateInput _max?: StoreMaxOrderByAggregateInput _min?: StoreMinOrderByAggregateInput } export type StoreScalarWhereWithAggregatesInput = { AND?: StoreScalarWhereWithAggregatesInput | StoreScalarWhereWithAggregatesInput[] OR?: StoreScalarWhereWithAggregatesInput[] NOT?: StoreScalarWhereWithAggregatesInput | StoreScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Store"> | string slug?: StringWithAggregatesFilter<"Store"> | string stripeAccountId?: StringNullableWithAggregatesFilter<"Store"> | string | null userId?: StringWithAggregatesFilter<"Store"> | string name?: StringNullableWithAggregatesFilter<"Store"> | string | null website?: StringNullableWithAggregatesFilter<"Store"> | string | null defaultSellingPreferences?: JsonNullableWithAggregatesFilter<"Store"> createdAt?: DateTimeWithAggregatesFilter<"Store"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Store"> | Date | string } export type CartWhereInput = { AND?: CartWhereInput | CartWhereInput[] OR?: CartWhereInput[] NOT?: CartWhereInput | CartWhereInput[] id?: StringFilter<"Cart"> | string storeId?: StringFilter<"Cart"> | string sessionId?: StringFilter<"Cart"> | string userId?: StringNullableFilter<"Cart"> | string | null createdAt?: DateTimeFilter<"Cart"> | Date | string updatedAt?: DateTimeFilter<"Cart"> | Date | string store?: XOR user?: XOR | null items?: CartItemListRelationFilter } export type CartOrderByWithRelationInput = { id?: SortOrder storeId?: SortOrder sessionId?: SortOrder userId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder store?: StoreOrderByWithRelationInput user?: UserOrderByWithRelationInput items?: CartItemOrderByRelationAggregateInput } export type CartWhereUniqueInput = Prisma.AtLeast<{ id?: string storeId_sessionId?: CartStoreIdSessionIdCompoundUniqueInput storeId_userId?: CartStoreIdUserIdCompoundUniqueInput AND?: CartWhereInput | CartWhereInput[] OR?: CartWhereInput[] NOT?: CartWhereInput | CartWhereInput[] storeId?: StringFilter<"Cart"> | string sessionId?: StringFilter<"Cart"> | string userId?: StringNullableFilter<"Cart"> | string | null createdAt?: DateTimeFilter<"Cart"> | Date | string updatedAt?: DateTimeFilter<"Cart"> | Date | string store?: XOR user?: XOR | null items?: CartItemListRelationFilter }, "id" | "storeId_sessionId" | "storeId_userId"> export type CartOrderByWithAggregationInput = { id?: SortOrder storeId?: SortOrder sessionId?: SortOrder userId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: CartCountOrderByAggregateInput _max?: CartMaxOrderByAggregateInput _min?: CartMinOrderByAggregateInput } export type CartScalarWhereWithAggregatesInput = { AND?: CartScalarWhereWithAggregatesInput | CartScalarWhereWithAggregatesInput[] OR?: CartScalarWhereWithAggregatesInput[] NOT?: CartScalarWhereWithAggregatesInput | CartScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Cart"> | string storeId?: StringWithAggregatesFilter<"Cart"> | string sessionId?: StringWithAggregatesFilter<"Cart"> | string userId?: StringNullableWithAggregatesFilter<"Cart"> | string | null createdAt?: DateTimeWithAggregatesFilter<"Cart"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Cart"> | Date | string } export type CartItemWhereInput = { AND?: CartItemWhereInput | CartItemWhereInput[] OR?: CartItemWhereInput[] NOT?: CartItemWhereInput | CartItemWhereInput[] id?: StringFilter<"CartItem"> | string cartId?: StringFilter<"CartItem"> | string productId?: StringFilter<"CartItem"> | string priceId?: StringFilter<"CartItem"> | string name?: StringFilter<"CartItem"> | string unitAmount?: IntFilter<"CartItem"> | number currency?: StringFilter<"CartItem"> | string quantity?: IntFilter<"CartItem"> | number createdAt?: DateTimeFilter<"CartItem"> | Date | string updatedAt?: DateTimeFilter<"CartItem"> | Date | string cart?: XOR } export type CartItemOrderByWithRelationInput = { id?: SortOrder cartId?: SortOrder productId?: SortOrder priceId?: SortOrder name?: SortOrder unitAmount?: SortOrder currency?: SortOrder quantity?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder cart?: CartOrderByWithRelationInput } export type CartItemWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: CartItemWhereInput | CartItemWhereInput[] OR?: CartItemWhereInput[] NOT?: CartItemWhereInput | CartItemWhereInput[] cartId?: StringFilter<"CartItem"> | string productId?: StringFilter<"CartItem"> | string priceId?: StringFilter<"CartItem"> | string name?: StringFilter<"CartItem"> | string unitAmount?: IntFilter<"CartItem"> | number currency?: StringFilter<"CartItem"> | string quantity?: IntFilter<"CartItem"> | number createdAt?: DateTimeFilter<"CartItem"> | Date | string updatedAt?: DateTimeFilter<"CartItem"> | Date | string cart?: XOR }, "id"> export type CartItemOrderByWithAggregationInput = { id?: SortOrder cartId?: SortOrder productId?: SortOrder priceId?: SortOrder name?: SortOrder unitAmount?: SortOrder currency?: SortOrder quantity?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: CartItemCountOrderByAggregateInput _avg?: CartItemAvgOrderByAggregateInput _max?: CartItemMaxOrderByAggregateInput _min?: CartItemMinOrderByAggregateInput _sum?: CartItemSumOrderByAggregateInput } export type CartItemScalarWhereWithAggregatesInput = { AND?: CartItemScalarWhereWithAggregatesInput | CartItemScalarWhereWithAggregatesInput[] OR?: CartItemScalarWhereWithAggregatesInput[] NOT?: CartItemScalarWhereWithAggregatesInput | CartItemScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"CartItem"> | string cartId?: StringWithAggregatesFilter<"CartItem"> | string productId?: StringWithAggregatesFilter<"CartItem"> | string priceId?: StringWithAggregatesFilter<"CartItem"> | string name?: StringWithAggregatesFilter<"CartItem"> | string unitAmount?: IntWithAggregatesFilter<"CartItem"> | number currency?: StringWithAggregatesFilter<"CartItem"> | string quantity?: IntWithAggregatesFilter<"CartItem"> | number createdAt?: DateTimeWithAggregatesFilter<"CartItem"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"CartItem"> | Date | string } export type UserAddressWhereInput = { AND?: UserAddressWhereInput | UserAddressWhereInput[] OR?: UserAddressWhereInput[] NOT?: UserAddressWhereInput | UserAddressWhereInput[] id?: StringFilter<"UserAddress"> | string userId?: StringFilter<"UserAddress"> | string name?: StringFilter<"UserAddress"> | string street1?: StringFilter<"UserAddress"> | string city?: StringFilter<"UserAddress"> | string state?: StringFilter<"UserAddress"> | string zip?: StringFilter<"UserAddress"> | string country?: StringFilter<"UserAddress"> | string phone?: StringNullableFilter<"UserAddress"> | string | null createdAt?: DateTimeFilter<"UserAddress"> | Date | string updatedAt?: DateTimeFilter<"UserAddress"> | Date | string user?: XOR } export type UserAddressOrderByWithRelationInput = { id?: SortOrder userId?: SortOrder name?: SortOrder street1?: SortOrder city?: SortOrder state?: SortOrder zip?: SortOrder country?: SortOrder phone?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder user?: UserOrderByWithRelationInput } export type UserAddressWhereUniqueInput = Prisma.AtLeast<{ id?: string userId?: string AND?: UserAddressWhereInput | UserAddressWhereInput[] OR?: UserAddressWhereInput[] NOT?: UserAddressWhereInput | UserAddressWhereInput[] name?: StringFilter<"UserAddress"> | string street1?: StringFilter<"UserAddress"> | string city?: StringFilter<"UserAddress"> | string state?: StringFilter<"UserAddress"> | string zip?: StringFilter<"UserAddress"> | string country?: StringFilter<"UserAddress"> | string phone?: StringNullableFilter<"UserAddress"> | string | null createdAt?: DateTimeFilter<"UserAddress"> | Date | string updatedAt?: DateTimeFilter<"UserAddress"> | Date | string user?: XOR }, "id" | "userId"> export type UserAddressOrderByWithAggregationInput = { id?: SortOrder userId?: SortOrder name?: SortOrder street1?: SortOrder city?: SortOrder state?: SortOrder zip?: SortOrder country?: SortOrder phone?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: UserAddressCountOrderByAggregateInput _max?: UserAddressMaxOrderByAggregateInput _min?: UserAddressMinOrderByAggregateInput } export type UserAddressScalarWhereWithAggregatesInput = { AND?: UserAddressScalarWhereWithAggregatesInput | UserAddressScalarWhereWithAggregatesInput[] OR?: UserAddressScalarWhereWithAggregatesInput[] NOT?: UserAddressScalarWhereWithAggregatesInput | UserAddressScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"UserAddress"> | string userId?: StringWithAggregatesFilter<"UserAddress"> | string name?: StringWithAggregatesFilter<"UserAddress"> | string street1?: StringWithAggregatesFilter<"UserAddress"> | string city?: StringWithAggregatesFilter<"UserAddress"> | string state?: StringWithAggregatesFilter<"UserAddress"> | string zip?: StringWithAggregatesFilter<"UserAddress"> | string country?: StringWithAggregatesFilter<"UserAddress"> | string phone?: StringNullableWithAggregatesFilter<"UserAddress"> | string | null createdAt?: DateTimeWithAggregatesFilter<"UserAddress"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"UserAddress"> | Date | string } export type OrderWhereInput = { AND?: OrderWhereInput | OrderWhereInput[] OR?: OrderWhereInput[] NOT?: OrderWhereInput | OrderWhereInput[] id?: StringFilter<"Order"> | string storeId?: StringFilter<"Order"> | string userId?: StringNullableFilter<"Order"> | string | null sessionId?: StringNullableFilter<"Order"> | string | null stripeCheckoutSessionId?: StringFilter<"Order"> | string shippingRateId?: StringNullableFilter<"Order"> | string | null shippingRateSnapshot?: JsonNullableFilter<"Order"> shippingAddress?: JsonNullableFilter<"Order"> items?: JsonFilter<"Order"> status?: StringFilter<"Order"> | string labelUrl?: StringNullableFilter<"Order"> | string | null createdAt?: DateTimeFilter<"Order"> | Date | string updatedAt?: DateTimeFilter<"Order"> | Date | string } export type OrderOrderByWithRelationInput = { id?: SortOrder storeId?: SortOrder userId?: SortOrderInput | SortOrder sessionId?: SortOrderInput | SortOrder stripeCheckoutSessionId?: SortOrder shippingRateId?: SortOrderInput | SortOrder shippingRateSnapshot?: SortOrderInput | SortOrder shippingAddress?: SortOrderInput | SortOrder items?: SortOrder status?: SortOrder labelUrl?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type OrderWhereUniqueInput = Prisma.AtLeast<{ id?: string stripeCheckoutSessionId?: string AND?: OrderWhereInput | OrderWhereInput[] OR?: OrderWhereInput[] NOT?: OrderWhereInput | OrderWhereInput[] storeId?: StringFilter<"Order"> | string userId?: StringNullableFilter<"Order"> | string | null sessionId?: StringNullableFilter<"Order"> | string | null shippingRateId?: StringNullableFilter<"Order"> | string | null shippingRateSnapshot?: JsonNullableFilter<"Order"> shippingAddress?: JsonNullableFilter<"Order"> items?: JsonFilter<"Order"> status?: StringFilter<"Order"> | string labelUrl?: StringNullableFilter<"Order"> | string | null createdAt?: DateTimeFilter<"Order"> | Date | string updatedAt?: DateTimeFilter<"Order"> | Date | string }, "id" | "stripeCheckoutSessionId"> export type OrderOrderByWithAggregationInput = { id?: SortOrder storeId?: SortOrder userId?: SortOrderInput | SortOrder sessionId?: SortOrderInput | SortOrder stripeCheckoutSessionId?: SortOrder shippingRateId?: SortOrderInput | SortOrder shippingRateSnapshot?: SortOrderInput | SortOrder shippingAddress?: SortOrderInput | SortOrder items?: SortOrder status?: SortOrder labelUrl?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: OrderCountOrderByAggregateInput _max?: OrderMaxOrderByAggregateInput _min?: OrderMinOrderByAggregateInput } export type OrderScalarWhereWithAggregatesInput = { AND?: OrderScalarWhereWithAggregatesInput | OrderScalarWhereWithAggregatesInput[] OR?: OrderScalarWhereWithAggregatesInput[] NOT?: OrderScalarWhereWithAggregatesInput | OrderScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Order"> | string storeId?: StringWithAggregatesFilter<"Order"> | string userId?: StringNullableWithAggregatesFilter<"Order"> | string | null sessionId?: StringNullableWithAggregatesFilter<"Order"> | string | null stripeCheckoutSessionId?: StringWithAggregatesFilter<"Order"> | string shippingRateId?: StringNullableWithAggregatesFilter<"Order"> | string | null shippingRateSnapshot?: JsonNullableWithAggregatesFilter<"Order"> shippingAddress?: JsonNullableWithAggregatesFilter<"Order"> items?: JsonWithAggregatesFilter<"Order"> status?: StringWithAggregatesFilter<"Order"> | string labelUrl?: StringNullableWithAggregatesFilter<"Order"> | string | null createdAt?: DateTimeWithAggregatesFilter<"Order"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Order"> | Date | string } export type ProductCacheWhereInput = { AND?: ProductCacheWhereInput | ProductCacheWhereInput[] OR?: ProductCacheWhereInput[] NOT?: ProductCacheWhereInput | ProductCacheWhereInput[] id?: StringFilter<"ProductCache"> | string storeId?: StringFilter<"ProductCache"> | string stripeProductId?: StringFilter<"ProductCache"> | string stripePriceId?: StringFilter<"ProductCache"> | string name?: StringFilter<"ProductCache"> | string description?: StringNullableFilter<"ProductCache"> | string | null unitAmount?: IntFilter<"ProductCache"> | number currency?: StringFilter<"ProductCache"> | string active?: BoolFilter<"ProductCache"> | boolean createdAt?: DateTimeFilter<"ProductCache"> | Date | string updatedAt?: DateTimeFilter<"ProductCache"> | Date | string store?: XOR } export type ProductCacheOrderByWithRelationInput = { id?: SortOrder storeId?: SortOrder stripeProductId?: SortOrder stripePriceId?: SortOrder name?: SortOrder description?: SortOrderInput | SortOrder unitAmount?: SortOrder currency?: SortOrder active?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder store?: StoreOrderByWithRelationInput } export type ProductCacheWhereUniqueInput = Prisma.AtLeast<{ id?: string storeId_stripeProductId?: ProductCacheStoreIdStripeProductIdCompoundUniqueInput AND?: ProductCacheWhereInput | ProductCacheWhereInput[] OR?: ProductCacheWhereInput[] NOT?: ProductCacheWhereInput | ProductCacheWhereInput[] storeId?: StringFilter<"ProductCache"> | string stripeProductId?: StringFilter<"ProductCache"> | string stripePriceId?: StringFilter<"ProductCache"> | string name?: StringFilter<"ProductCache"> | string description?: StringNullableFilter<"ProductCache"> | string | null unitAmount?: IntFilter<"ProductCache"> | number currency?: StringFilter<"ProductCache"> | string active?: BoolFilter<"ProductCache"> | boolean createdAt?: DateTimeFilter<"ProductCache"> | Date | string updatedAt?: DateTimeFilter<"ProductCache"> | Date | string store?: XOR }, "id" | "storeId_stripeProductId"> export type ProductCacheOrderByWithAggregationInput = { id?: SortOrder storeId?: SortOrder stripeProductId?: SortOrder stripePriceId?: SortOrder name?: SortOrder description?: SortOrderInput | SortOrder unitAmount?: SortOrder currency?: SortOrder active?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: ProductCacheCountOrderByAggregateInput _avg?: ProductCacheAvgOrderByAggregateInput _max?: ProductCacheMaxOrderByAggregateInput _min?: ProductCacheMinOrderByAggregateInput _sum?: ProductCacheSumOrderByAggregateInput } export type ProductCacheScalarWhereWithAggregatesInput = { AND?: ProductCacheScalarWhereWithAggregatesInput | ProductCacheScalarWhereWithAggregatesInput[] OR?: ProductCacheScalarWhereWithAggregatesInput[] NOT?: ProductCacheScalarWhereWithAggregatesInput | ProductCacheScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"ProductCache"> | string storeId?: StringWithAggregatesFilter<"ProductCache"> | string stripeProductId?: StringWithAggregatesFilter<"ProductCache"> | string stripePriceId?: StringWithAggregatesFilter<"ProductCache"> | string name?: StringWithAggregatesFilter<"ProductCache"> | string description?: StringNullableWithAggregatesFilter<"ProductCache"> | string | null unitAmount?: IntWithAggregatesFilter<"ProductCache"> | number currency?: StringWithAggregatesFilter<"ProductCache"> | string active?: BoolWithAggregatesFilter<"ProductCache"> | boolean createdAt?: DateTimeWithAggregatesFilter<"ProductCache"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"ProductCache"> | Date | string } export type UserWhereInput = { AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] id?: StringFilter<"User"> | string name?: StringFilter<"User"> | string email?: StringFilter<"User"> | string passwordHash?: StringFilter<"User"> | string role?: EnumRoleFilter<"User"> | $Enums.Role createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string store?: XOR | null carts?: CartListRelationFilter address?: XOR | null accounts?: AccountListRelationFilter sessions?: SessionListRelationFilter } export type UserOrderByWithRelationInput = { id?: SortOrder name?: SortOrder email?: SortOrder passwordHash?: SortOrder role?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder store?: StoreOrderByWithRelationInput carts?: CartOrderByRelationAggregateInput address?: UserAddressOrderByWithRelationInput accounts?: AccountOrderByRelationAggregateInput sessions?: SessionOrderByRelationAggregateInput } export type UserWhereUniqueInput = Prisma.AtLeast<{ id?: string email?: string AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] name?: StringFilter<"User"> | string passwordHash?: StringFilter<"User"> | string role?: EnumRoleFilter<"User"> | $Enums.Role createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string store?: XOR | null carts?: CartListRelationFilter address?: XOR | null accounts?: AccountListRelationFilter sessions?: SessionListRelationFilter }, "id" | "email"> export type UserOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder email?: SortOrder passwordHash?: SortOrder role?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: UserCountOrderByAggregateInput _max?: UserMaxOrderByAggregateInput _min?: UserMinOrderByAggregateInput } export type UserScalarWhereWithAggregatesInput = { AND?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] OR?: UserScalarWhereWithAggregatesInput[] NOT?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"User"> | string name?: StringWithAggregatesFilter<"User"> | string email?: StringWithAggregatesFilter<"User"> | string passwordHash?: StringWithAggregatesFilter<"User"> | string role?: EnumRoleWithAggregatesFilter<"User"> | $Enums.Role createdAt?: DateTimeWithAggregatesFilter<"User"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"User"> | Date | string } export type SessionWhereInput = { AND?: SessionWhereInput | SessionWhereInput[] OR?: SessionWhereInput[] NOT?: SessionWhereInput | SessionWhereInput[] id?: StringFilter<"Session"> | string sessionToken?: StringFilter<"Session"> | string userId?: StringFilter<"Session"> | string expires?: DateTimeFilter<"Session"> | Date | string createdAt?: DateTimeFilter<"Session"> | Date | string updatedAt?: DateTimeFilter<"Session"> | Date | string user?: XOR } export type SessionOrderByWithRelationInput = { id?: SortOrder sessionToken?: SortOrder userId?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder user?: UserOrderByWithRelationInput } export type SessionWhereUniqueInput = Prisma.AtLeast<{ id?: string sessionToken?: string AND?: SessionWhereInput | SessionWhereInput[] OR?: SessionWhereInput[] NOT?: SessionWhereInput | SessionWhereInput[] userId?: StringFilter<"Session"> | string expires?: DateTimeFilter<"Session"> | Date | string createdAt?: DateTimeFilter<"Session"> | Date | string updatedAt?: DateTimeFilter<"Session"> | Date | string user?: XOR }, "id" | "sessionToken"> export type SessionOrderByWithAggregationInput = { id?: SortOrder sessionToken?: SortOrder userId?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: SessionCountOrderByAggregateInput _max?: SessionMaxOrderByAggregateInput _min?: SessionMinOrderByAggregateInput } export type SessionScalarWhereWithAggregatesInput = { AND?: SessionScalarWhereWithAggregatesInput | SessionScalarWhereWithAggregatesInput[] OR?: SessionScalarWhereWithAggregatesInput[] NOT?: SessionScalarWhereWithAggregatesInput | SessionScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Session"> | string sessionToken?: StringWithAggregatesFilter<"Session"> | string userId?: StringWithAggregatesFilter<"Session"> | string expires?: DateTimeWithAggregatesFilter<"Session"> | Date | string createdAt?: DateTimeWithAggregatesFilter<"Session"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Session"> | Date | string } export type AccountWhereInput = { AND?: AccountWhereInput | AccountWhereInput[] OR?: AccountWhereInput[] NOT?: AccountWhereInput | AccountWhereInput[] id?: StringFilter<"Account"> | string userId?: StringFilter<"Account"> | string type?: StringFilter<"Account"> | string provider?: StringFilter<"Account"> | string providerAccountId?: StringFilter<"Account"> | string refresh_token?: StringNullableFilter<"Account"> | string | null access_token?: StringNullableFilter<"Account"> | string | null expires_at?: IntNullableFilter<"Account"> | number | null token_type?: StringNullableFilter<"Account"> | string | null scope?: StringNullableFilter<"Account"> | string | null id_token?: StringNullableFilter<"Account"> | string | null session_state?: StringNullableFilter<"Account"> | string | null user?: XOR } export type AccountOrderByWithRelationInput = { id?: SortOrder userId?: SortOrder type?: SortOrder provider?: SortOrder providerAccountId?: SortOrder refresh_token?: SortOrderInput | SortOrder access_token?: SortOrderInput | SortOrder expires_at?: SortOrderInput | SortOrder token_type?: SortOrderInput | SortOrder scope?: SortOrderInput | SortOrder id_token?: SortOrderInput | SortOrder session_state?: SortOrderInput | SortOrder user?: UserOrderByWithRelationInput } export type AccountWhereUniqueInput = Prisma.AtLeast<{ id?: string provider_providerAccountId?: AccountProviderProviderAccountIdCompoundUniqueInput AND?: AccountWhereInput | AccountWhereInput[] OR?: AccountWhereInput[] NOT?: AccountWhereInput | AccountWhereInput[] userId?: StringFilter<"Account"> | string type?: StringFilter<"Account"> | string provider?: StringFilter<"Account"> | string providerAccountId?: StringFilter<"Account"> | string refresh_token?: StringNullableFilter<"Account"> | string | null access_token?: StringNullableFilter<"Account"> | string | null expires_at?: IntNullableFilter<"Account"> | number | null token_type?: StringNullableFilter<"Account"> | string | null scope?: StringNullableFilter<"Account"> | string | null id_token?: StringNullableFilter<"Account"> | string | null session_state?: StringNullableFilter<"Account"> | string | null user?: XOR }, "id" | "provider_providerAccountId"> export type AccountOrderByWithAggregationInput = { id?: SortOrder userId?: SortOrder type?: SortOrder provider?: SortOrder providerAccountId?: SortOrder refresh_token?: SortOrderInput | SortOrder access_token?: SortOrderInput | SortOrder expires_at?: SortOrderInput | SortOrder token_type?: SortOrderInput | SortOrder scope?: SortOrderInput | SortOrder id_token?: SortOrderInput | SortOrder session_state?: SortOrderInput | SortOrder _count?: AccountCountOrderByAggregateInput _avg?: AccountAvgOrderByAggregateInput _max?: AccountMaxOrderByAggregateInput _min?: AccountMinOrderByAggregateInput _sum?: AccountSumOrderByAggregateInput } export type AccountScalarWhereWithAggregatesInput = { AND?: AccountScalarWhereWithAggregatesInput | AccountScalarWhereWithAggregatesInput[] OR?: AccountScalarWhereWithAggregatesInput[] NOT?: AccountScalarWhereWithAggregatesInput | AccountScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Account"> | string userId?: StringWithAggregatesFilter<"Account"> | string type?: StringWithAggregatesFilter<"Account"> | string provider?: StringWithAggregatesFilter<"Account"> | string providerAccountId?: StringWithAggregatesFilter<"Account"> | string refresh_token?: StringNullableWithAggregatesFilter<"Account"> | string | null access_token?: StringNullableWithAggregatesFilter<"Account"> | string | null expires_at?: IntNullableWithAggregatesFilter<"Account"> | number | null token_type?: StringNullableWithAggregatesFilter<"Account"> | string | null scope?: StringNullableWithAggregatesFilter<"Account"> | string | null id_token?: StringNullableWithAggregatesFilter<"Account"> | string | null session_state?: StringNullableWithAggregatesFilter<"Account"> | string | null } export type VerificationTokenWhereInput = { AND?: VerificationTokenWhereInput | VerificationTokenWhereInput[] OR?: VerificationTokenWhereInput[] NOT?: VerificationTokenWhereInput | VerificationTokenWhereInput[] identifier?: StringFilter<"VerificationToken"> | string token?: StringFilter<"VerificationToken"> | string expires?: DateTimeFilter<"VerificationToken"> | Date | string } export type VerificationTokenOrderByWithRelationInput = { identifier?: SortOrder token?: SortOrder expires?: SortOrder } export type VerificationTokenWhereUniqueInput = Prisma.AtLeast<{ token?: string identifier_token?: VerificationTokenIdentifierTokenCompoundUniqueInput AND?: VerificationTokenWhereInput | VerificationTokenWhereInput[] OR?: VerificationTokenWhereInput[] NOT?: VerificationTokenWhereInput | VerificationTokenWhereInput[] identifier?: StringFilter<"VerificationToken"> | string expires?: DateTimeFilter<"VerificationToken"> | Date | string }, "token" | "identifier_token"> export type VerificationTokenOrderByWithAggregationInput = { identifier?: SortOrder token?: SortOrder expires?: SortOrder _count?: VerificationTokenCountOrderByAggregateInput _max?: VerificationTokenMaxOrderByAggregateInput _min?: VerificationTokenMinOrderByAggregateInput } export type VerificationTokenScalarWhereWithAggregatesInput = { AND?: VerificationTokenScalarWhereWithAggregatesInput | VerificationTokenScalarWhereWithAggregatesInput[] OR?: VerificationTokenScalarWhereWithAggregatesInput[] NOT?: VerificationTokenScalarWhereWithAggregatesInput | VerificationTokenScalarWhereWithAggregatesInput[] identifier?: StringWithAggregatesFilter<"VerificationToken"> | string token?: StringWithAggregatesFilter<"VerificationToken"> | string expires?: DateTimeWithAggregatesFilter<"VerificationToken"> | Date | string } export type StoreCreateInput = { id?: string slug: string stripeAccountId?: string | null name?: string | null website?: string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutStoreInput carts?: CartCreateNestedManyWithoutStoreInput products?: ProductCacheCreateNestedManyWithoutStoreInput } export type StoreUncheckedCreateInput = { id?: string slug: string stripeAccountId?: string | null userId: string name?: string | null website?: string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string carts?: CartUncheckedCreateNestedManyWithoutStoreInput products?: ProductCacheUncheckedCreateNestedManyWithoutStoreInput } export type StoreUpdateInput = { id?: StringFieldUpdateOperationsInput | string slug?: StringFieldUpdateOperationsInput | string stripeAccountId?: NullableStringFieldUpdateOperationsInput | string | null name?: NullableStringFieldUpdateOperationsInput | string | null website?: NullableStringFieldUpdateOperationsInput | string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutStoreNestedInput carts?: CartUpdateManyWithoutStoreNestedInput products?: ProductCacheUpdateManyWithoutStoreNestedInput } export type StoreUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string slug?: StringFieldUpdateOperationsInput | string stripeAccountId?: NullableStringFieldUpdateOperationsInput | string | null userId?: StringFieldUpdateOperationsInput | string name?: NullableStringFieldUpdateOperationsInput | string | null website?: NullableStringFieldUpdateOperationsInput | string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string carts?: CartUncheckedUpdateManyWithoutStoreNestedInput products?: ProductCacheUncheckedUpdateManyWithoutStoreNestedInput } export type StoreCreateManyInput = { id?: string slug: string stripeAccountId?: string | null userId: string name?: string | null website?: string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string } export type StoreUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string slug?: StringFieldUpdateOperationsInput | string stripeAccountId?: NullableStringFieldUpdateOperationsInput | string | null name?: NullableStringFieldUpdateOperationsInput | string | null website?: NullableStringFieldUpdateOperationsInput | string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type StoreUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string slug?: StringFieldUpdateOperationsInput | string stripeAccountId?: NullableStringFieldUpdateOperationsInput | string | null userId?: StringFieldUpdateOperationsInput | string name?: NullableStringFieldUpdateOperationsInput | string | null website?: NullableStringFieldUpdateOperationsInput | string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CartCreateInput = { id?: string sessionId: string createdAt?: Date | string updatedAt?: Date | string store: StoreCreateNestedOneWithoutCartsInput user?: UserCreateNestedOneWithoutCartsInput items?: CartItemCreateNestedManyWithoutCartInput } export type CartUncheckedCreateInput = { id?: string storeId: string sessionId: string userId?: string | null createdAt?: Date | string updatedAt?: Date | string items?: CartItemUncheckedCreateNestedManyWithoutCartInput } export type CartUpdateInput = { id?: StringFieldUpdateOperationsInput | string sessionId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUpdateOneRequiredWithoutCartsNestedInput user?: UserUpdateOneWithoutCartsNestedInput items?: CartItemUpdateManyWithoutCartNestedInput } export type CartUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string storeId?: StringFieldUpdateOperationsInput | string sessionId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: CartItemUncheckedUpdateManyWithoutCartNestedInput } export type CartCreateManyInput = { id?: string storeId: string sessionId: string userId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type CartUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string sessionId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CartUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string storeId?: StringFieldUpdateOperationsInput | string sessionId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CartItemCreateInput = { id?: string productId: string priceId: string name: string unitAmount: number currency: string quantity: number createdAt?: Date | string updatedAt?: Date | string cart: CartCreateNestedOneWithoutItemsInput } export type CartItemUncheckedCreateInput = { id?: string cartId: string productId: string priceId: string name: string unitAmount: number currency: string quantity: number createdAt?: Date | string updatedAt?: Date | string } export type CartItemUpdateInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string priceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string cart?: CartUpdateOneRequiredWithoutItemsNestedInput } export type CartItemUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string cartId?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string priceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CartItemCreateManyInput = { id?: string cartId: string productId: string priceId: string name: string unitAmount: number currency: string quantity: number createdAt?: Date | string updatedAt?: Date | string } export type CartItemUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string priceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CartItemUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string cartId?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string priceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserAddressCreateInput = { id?: string name: string street1: string city: string state: string zip: string country: string phone?: string | null createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutAddressInput } export type UserAddressUncheckedCreateInput = { id?: string userId: string name: string street1: string city: string state: string zip: string country: string phone?: string | null createdAt?: Date | string updatedAt?: Date | string } export type UserAddressUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string street1?: StringFieldUpdateOperationsInput | string city?: StringFieldUpdateOperationsInput | string state?: StringFieldUpdateOperationsInput | string zip?: StringFieldUpdateOperationsInput | string country?: StringFieldUpdateOperationsInput | string phone?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutAddressNestedInput } export type UserAddressUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string street1?: StringFieldUpdateOperationsInput | string city?: StringFieldUpdateOperationsInput | string state?: StringFieldUpdateOperationsInput | string zip?: StringFieldUpdateOperationsInput | string country?: StringFieldUpdateOperationsInput | string phone?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserAddressCreateManyInput = { id?: string userId: string name: string street1: string city: string state: string zip: string country: string phone?: string | null createdAt?: Date | string updatedAt?: Date | string } export type UserAddressUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string street1?: StringFieldUpdateOperationsInput | string city?: StringFieldUpdateOperationsInput | string state?: StringFieldUpdateOperationsInput | string zip?: StringFieldUpdateOperationsInput | string country?: StringFieldUpdateOperationsInput | string phone?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserAddressUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string street1?: StringFieldUpdateOperationsInput | string city?: StringFieldUpdateOperationsInput | string state?: StringFieldUpdateOperationsInput | string zip?: StringFieldUpdateOperationsInput | string country?: StringFieldUpdateOperationsInput | string phone?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type OrderCreateInput = { id?: string storeId: string userId?: string | null sessionId?: string | null stripeCheckoutSessionId: string shippingRateId?: string | null shippingRateSnapshot?: NullableJsonNullValueInput | InputJsonValue shippingAddress?: NullableJsonNullValueInput | InputJsonValue items: JsonNullValueInput | InputJsonValue status: string labelUrl?: string | null createdAt?: Date | string updatedAt?: Date | string } export type OrderUncheckedCreateInput = { id?: string storeId: string userId?: string | null sessionId?: string | null stripeCheckoutSessionId: string shippingRateId?: string | null shippingRateSnapshot?: NullableJsonNullValueInput | InputJsonValue shippingAddress?: NullableJsonNullValueInput | InputJsonValue items: JsonNullValueInput | InputJsonValue status: string labelUrl?: string | null createdAt?: Date | string updatedAt?: Date | string } export type OrderUpdateInput = { id?: StringFieldUpdateOperationsInput | string storeId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null sessionId?: NullableStringFieldUpdateOperationsInput | string | null stripeCheckoutSessionId?: StringFieldUpdateOperationsInput | string shippingRateId?: NullableStringFieldUpdateOperationsInput | string | null shippingRateSnapshot?: NullableJsonNullValueInput | InputJsonValue shippingAddress?: NullableJsonNullValueInput | InputJsonValue items?: JsonNullValueInput | InputJsonValue status?: StringFieldUpdateOperationsInput | string labelUrl?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type OrderUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string storeId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null sessionId?: NullableStringFieldUpdateOperationsInput | string | null stripeCheckoutSessionId?: StringFieldUpdateOperationsInput | string shippingRateId?: NullableStringFieldUpdateOperationsInput | string | null shippingRateSnapshot?: NullableJsonNullValueInput | InputJsonValue shippingAddress?: NullableJsonNullValueInput | InputJsonValue items?: JsonNullValueInput | InputJsonValue status?: StringFieldUpdateOperationsInput | string labelUrl?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type OrderCreateManyInput = { id?: string storeId: string userId?: string | null sessionId?: string | null stripeCheckoutSessionId: string shippingRateId?: string | null shippingRateSnapshot?: NullableJsonNullValueInput | InputJsonValue shippingAddress?: NullableJsonNullValueInput | InputJsonValue items: JsonNullValueInput | InputJsonValue status: string labelUrl?: string | null createdAt?: Date | string updatedAt?: Date | string } export type OrderUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string storeId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null sessionId?: NullableStringFieldUpdateOperationsInput | string | null stripeCheckoutSessionId?: StringFieldUpdateOperationsInput | string shippingRateId?: NullableStringFieldUpdateOperationsInput | string | null shippingRateSnapshot?: NullableJsonNullValueInput | InputJsonValue shippingAddress?: NullableJsonNullValueInput | InputJsonValue items?: JsonNullValueInput | InputJsonValue status?: StringFieldUpdateOperationsInput | string labelUrl?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type OrderUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string storeId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null sessionId?: NullableStringFieldUpdateOperationsInput | string | null stripeCheckoutSessionId?: StringFieldUpdateOperationsInput | string shippingRateId?: NullableStringFieldUpdateOperationsInput | string | null shippingRateSnapshot?: NullableJsonNullValueInput | InputJsonValue shippingAddress?: NullableJsonNullValueInput | InputJsonValue items?: JsonNullValueInput | InputJsonValue status?: StringFieldUpdateOperationsInput | string labelUrl?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductCacheCreateInput = { id?: string stripeProductId: string stripePriceId: string name: string description?: string | null unitAmount: number currency: string active?: boolean createdAt?: Date | string updatedAt?: Date | string store: StoreCreateNestedOneWithoutProductsInput } export type ProductCacheUncheckedCreateInput = { id?: string storeId: string stripeProductId: string stripePriceId: string name: string description?: string | null unitAmount: number currency: string active?: boolean createdAt?: Date | string updatedAt?: Date | string } export type ProductCacheUpdateInput = { id?: StringFieldUpdateOperationsInput | string stripeProductId?: StringFieldUpdateOperationsInput | string stripePriceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string active?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUpdateOneRequiredWithoutProductsNestedInput } export type ProductCacheUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string storeId?: StringFieldUpdateOperationsInput | string stripeProductId?: StringFieldUpdateOperationsInput | string stripePriceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string active?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductCacheCreateManyInput = { id?: string storeId: string stripeProductId: string stripePriceId: string name: string description?: string | null unitAmount: number currency: string active?: boolean createdAt?: Date | string updatedAt?: Date | string } export type ProductCacheUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string stripeProductId?: StringFieldUpdateOperationsInput | string stripePriceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string active?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductCacheUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string storeId?: StringFieldUpdateOperationsInput | string stripeProductId?: StringFieldUpdateOperationsInput | string stripePriceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string active?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserCreateInput = { id?: string name: string email: string passwordHash: string role?: $Enums.Role createdAt?: Date | string updatedAt?: Date | string store?: StoreCreateNestedOneWithoutUserInput carts?: CartCreateNestedManyWithoutUserInput address?: UserAddressCreateNestedOneWithoutUserInput accounts?: AccountCreateNestedManyWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput } export type UserUncheckedCreateInput = { id?: string name: string email: string passwordHash: string role?: $Enums.Role createdAt?: Date | string updatedAt?: Date | string store?: StoreUncheckedCreateNestedOneWithoutUserInput carts?: CartUncheckedCreateNestedManyWithoutUserInput address?: UserAddressUncheckedCreateNestedOneWithoutUserInput accounts?: AccountUncheckedCreateNestedManyWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput } export type UserUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUpdateOneWithoutUserNestedInput carts?: CartUpdateManyWithoutUserNestedInput address?: UserAddressUpdateOneWithoutUserNestedInput accounts?: AccountUpdateManyWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUncheckedUpdateOneWithoutUserNestedInput carts?: CartUncheckedUpdateManyWithoutUserNestedInput address?: UserAddressUncheckedUpdateOneWithoutUserNestedInput accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateManyInput = { id?: string name: string email: string passwordHash: string role?: $Enums.Role createdAt?: Date | string updatedAt?: Date | string } export type UserUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionCreateInput = { id?: string sessionToken: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutSessionsInput } export type SessionUncheckedCreateInput = { id?: string sessionToken: string userId: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string } export type SessionUpdateInput = { id?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutSessionsNestedInput } export type SessionUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionCreateManyInput = { id?: string sessionToken: string userId: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string } export type SessionUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountCreateInput = { id?: string type: string provider: string providerAccountId: string refresh_token?: string | null access_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null id_token?: string | null session_state?: string | null user: UserCreateNestedOneWithoutAccountsInput } export type AccountUncheckedCreateInput = { id?: string userId: string type: string provider: string providerAccountId: string refresh_token?: string | null access_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null id_token?: string | null session_state?: string | null } export type AccountUpdateInput = { id?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string refresh_token?: NullableStringFieldUpdateOperationsInput | string | null access_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null id_token?: NullableStringFieldUpdateOperationsInput | string | null session_state?: NullableStringFieldUpdateOperationsInput | string | null user?: UserUpdateOneRequiredWithoutAccountsNestedInput } export type AccountUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string refresh_token?: NullableStringFieldUpdateOperationsInput | string | null access_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null id_token?: NullableStringFieldUpdateOperationsInput | string | null session_state?: NullableStringFieldUpdateOperationsInput | string | null } export type AccountCreateManyInput = { id?: string userId: string type: string provider: string providerAccountId: string refresh_token?: string | null access_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null id_token?: string | null session_state?: string | null } export type AccountUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string refresh_token?: NullableStringFieldUpdateOperationsInput | string | null access_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null id_token?: NullableStringFieldUpdateOperationsInput | string | null session_state?: NullableStringFieldUpdateOperationsInput | string | null } export type AccountUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string refresh_token?: NullableStringFieldUpdateOperationsInput | string | null access_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null id_token?: NullableStringFieldUpdateOperationsInput | string | null session_state?: NullableStringFieldUpdateOperationsInput | string | null } export type VerificationTokenCreateInput = { identifier: string token: string expires: Date | string } export type VerificationTokenUncheckedCreateInput = { identifier: string token: string expires: Date | string } export type VerificationTokenUpdateInput = { identifier?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string } export type VerificationTokenUncheckedUpdateInput = { identifier?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string } export type VerificationTokenCreateManyInput = { identifier: string token: string expires: Date | string } export type VerificationTokenUpdateManyMutationInput = { identifier?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string } export type VerificationTokenUncheckedUpdateManyInput = { identifier?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string } export type StringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] notIn?: string[] 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 StringNullableFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | null notIn?: string[] | 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 JsonNullableFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type JsonNullableFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } export type DateTimeFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] notIn?: Date[] | string[] 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 UserScalarRelationFilter = { is?: UserWhereInput isNot?: UserWhereInput } export type CartListRelationFilter = { every?: CartWhereInput some?: CartWhereInput none?: CartWhereInput } export type ProductCacheListRelationFilter = { every?: ProductCacheWhereInput some?: ProductCacheWhereInput none?: ProductCacheWhereInput } export type SortOrderInput = { sort: SortOrder nulls?: NullsOrder } export type CartOrderByRelationAggregateInput = { _count?: SortOrder } export type ProductCacheOrderByRelationAggregateInput = { _count?: SortOrder } export type StoreCountOrderByAggregateInput = { id?: SortOrder slug?: SortOrder stripeAccountId?: SortOrder userId?: SortOrder name?: SortOrder website?: SortOrder defaultSellingPreferences?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type StoreMaxOrderByAggregateInput = { id?: SortOrder slug?: SortOrder stripeAccountId?: SortOrder userId?: SortOrder name?: SortOrder website?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type StoreMinOrderByAggregateInput = { id?: SortOrder slug?: SortOrder stripeAccountId?: SortOrder userId?: SortOrder name?: SortOrder website?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type StringWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] notIn?: string[] 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 StringNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | null notIn?: string[] | 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 JsonNullableWithAggregatesFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedJsonNullableFilter<$PrismaModel> _max?: NestedJsonNullableFilter<$PrismaModel> } export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] notIn?: Date[] | string[] 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 StoreScalarRelationFilter = { is?: StoreWhereInput isNot?: StoreWhereInput } export type UserNullableScalarRelationFilter = { is?: UserWhereInput | null isNot?: UserWhereInput | null } export type CartItemListRelationFilter = { every?: CartItemWhereInput some?: CartItemWhereInput none?: CartItemWhereInput } export type CartItemOrderByRelationAggregateInput = { _count?: SortOrder } export type CartStoreIdSessionIdCompoundUniqueInput = { storeId: string sessionId: string } export type CartStoreIdUserIdCompoundUniqueInput = { storeId: string userId: string } export type CartCountOrderByAggregateInput = { id?: SortOrder storeId?: SortOrder sessionId?: SortOrder userId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CartMaxOrderByAggregateInput = { id?: SortOrder storeId?: SortOrder sessionId?: SortOrder userId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CartMinOrderByAggregateInput = { id?: SortOrder storeId?: SortOrder sessionId?: SortOrder userId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type IntFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] notIn?: number[] lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntFilter<$PrismaModel> | number } export type CartScalarRelationFilter = { is?: CartWhereInput isNot?: CartWhereInput } export type CartItemCountOrderByAggregateInput = { id?: SortOrder cartId?: SortOrder productId?: SortOrder priceId?: SortOrder name?: SortOrder unitAmount?: SortOrder currency?: SortOrder quantity?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CartItemAvgOrderByAggregateInput = { unitAmount?: SortOrder quantity?: SortOrder } export type CartItemMaxOrderByAggregateInput = { id?: SortOrder cartId?: SortOrder productId?: SortOrder priceId?: SortOrder name?: SortOrder unitAmount?: SortOrder currency?: SortOrder quantity?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CartItemMinOrderByAggregateInput = { id?: SortOrder cartId?: SortOrder productId?: SortOrder priceId?: SortOrder name?: SortOrder unitAmount?: SortOrder currency?: SortOrder quantity?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CartItemSumOrderByAggregateInput = { unitAmount?: SortOrder quantity?: SortOrder } export type IntWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] notIn?: number[] 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 UserAddressCountOrderByAggregateInput = { id?: SortOrder userId?: SortOrder name?: SortOrder street1?: SortOrder city?: SortOrder state?: SortOrder zip?: SortOrder country?: SortOrder phone?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserAddressMaxOrderByAggregateInput = { id?: SortOrder userId?: SortOrder name?: SortOrder street1?: SortOrder city?: SortOrder state?: SortOrder zip?: SortOrder country?: SortOrder phone?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserAddressMinOrderByAggregateInput = { id?: SortOrder userId?: SortOrder name?: SortOrder street1?: SortOrder city?: SortOrder state?: SortOrder zip?: SortOrder country?: SortOrder phone?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type JsonFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type JsonFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } export type OrderCountOrderByAggregateInput = { id?: SortOrder storeId?: SortOrder userId?: SortOrder sessionId?: SortOrder stripeCheckoutSessionId?: SortOrder shippingRateId?: SortOrder shippingRateSnapshot?: SortOrder shippingAddress?: SortOrder items?: SortOrder status?: SortOrder labelUrl?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type OrderMaxOrderByAggregateInput = { id?: SortOrder storeId?: SortOrder userId?: SortOrder sessionId?: SortOrder stripeCheckoutSessionId?: SortOrder shippingRateId?: SortOrder status?: SortOrder labelUrl?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type OrderMinOrderByAggregateInput = { id?: SortOrder storeId?: SortOrder userId?: SortOrder sessionId?: SortOrder stripeCheckoutSessionId?: SortOrder shippingRateId?: SortOrder status?: SortOrder labelUrl?: SortOrder createdAt?: SortOrder updatedAt?: 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 mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter _count?: NestedIntFilter<$PrismaModel> _min?: NestedJsonFilter<$PrismaModel> _max?: NestedJsonFilter<$PrismaModel> } export type BoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean } export type ProductCacheStoreIdStripeProductIdCompoundUniqueInput = { storeId: string stripeProductId: string } export type ProductCacheCountOrderByAggregateInput = { id?: SortOrder storeId?: SortOrder stripeProductId?: SortOrder stripePriceId?: SortOrder name?: SortOrder description?: SortOrder unitAmount?: SortOrder currency?: SortOrder active?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type ProductCacheAvgOrderByAggregateInput = { unitAmount?: SortOrder } export type ProductCacheMaxOrderByAggregateInput = { id?: SortOrder storeId?: SortOrder stripeProductId?: SortOrder stripePriceId?: SortOrder name?: SortOrder description?: SortOrder unitAmount?: SortOrder currency?: SortOrder active?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type ProductCacheMinOrderByAggregateInput = { id?: SortOrder storeId?: SortOrder stripeProductId?: SortOrder stripePriceId?: SortOrder name?: SortOrder description?: SortOrder unitAmount?: SortOrder currency?: SortOrder active?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type ProductCacheSumOrderByAggregateInput = { unitAmount?: SortOrder } export type BoolWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean _count?: NestedIntFilter<$PrismaModel> _min?: NestedBoolFilter<$PrismaModel> _max?: NestedBoolFilter<$PrismaModel> } export type EnumRoleFilter<$PrismaModel = never> = { equals?: $Enums.Role | EnumRoleFieldRefInput<$PrismaModel> in?: $Enums.Role[] notIn?: $Enums.Role[] not?: NestedEnumRoleFilter<$PrismaModel> | $Enums.Role } export type StoreNullableScalarRelationFilter = { is?: StoreWhereInput | null isNot?: StoreWhereInput | null } export type UserAddressNullableScalarRelationFilter = { is?: UserAddressWhereInput | null isNot?: UserAddressWhereInput | null } export type AccountListRelationFilter = { every?: AccountWhereInput some?: AccountWhereInput none?: AccountWhereInput } export type SessionListRelationFilter = { every?: SessionWhereInput some?: SessionWhereInput none?: SessionWhereInput } export type AccountOrderByRelationAggregateInput = { _count?: SortOrder } export type SessionOrderByRelationAggregateInput = { _count?: SortOrder } export type UserCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder email?: SortOrder passwordHash?: SortOrder role?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder email?: SortOrder passwordHash?: SortOrder role?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder email?: SortOrder passwordHash?: SortOrder role?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type EnumRoleWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.Role | EnumRoleFieldRefInput<$PrismaModel> in?: $Enums.Role[] notIn?: $Enums.Role[] not?: NestedEnumRoleWithAggregatesFilter<$PrismaModel> | $Enums.Role _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumRoleFilter<$PrismaModel> _max?: NestedEnumRoleFilter<$PrismaModel> } export type SessionCountOrderByAggregateInput = { id?: SortOrder sessionToken?: SortOrder userId?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SessionMaxOrderByAggregateInput = { id?: SortOrder sessionToken?: SortOrder userId?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type SessionMinOrderByAggregateInput = { id?: SortOrder sessionToken?: SortOrder userId?: SortOrder expires?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type IntNullableFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | null notIn?: number[] | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableFilter<$PrismaModel> | number | null } export type AccountProviderProviderAccountIdCompoundUniqueInput = { provider: string providerAccountId: string } export type AccountCountOrderByAggregateInput = { id?: SortOrder userId?: SortOrder type?: SortOrder provider?: SortOrder providerAccountId?: SortOrder refresh_token?: SortOrder access_token?: SortOrder expires_at?: SortOrder token_type?: SortOrder scope?: SortOrder id_token?: SortOrder session_state?: SortOrder } export type AccountAvgOrderByAggregateInput = { expires_at?: SortOrder } export type AccountMaxOrderByAggregateInput = { id?: SortOrder userId?: SortOrder type?: SortOrder provider?: SortOrder providerAccountId?: SortOrder refresh_token?: SortOrder access_token?: SortOrder expires_at?: SortOrder token_type?: SortOrder scope?: SortOrder id_token?: SortOrder session_state?: SortOrder } export type AccountMinOrderByAggregateInput = { id?: SortOrder userId?: SortOrder type?: SortOrder provider?: SortOrder providerAccountId?: SortOrder refresh_token?: SortOrder access_token?: SortOrder expires_at?: SortOrder token_type?: SortOrder scope?: SortOrder id_token?: SortOrder session_state?: SortOrder } export type AccountSumOrderByAggregateInput = { expires_at?: SortOrder } export type IntNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | null notIn?: number[] | 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 VerificationTokenIdentifierTokenCompoundUniqueInput = { identifier: string token: string } export type VerificationTokenCountOrderByAggregateInput = { identifier?: SortOrder token?: SortOrder expires?: SortOrder } export type VerificationTokenMaxOrderByAggregateInput = { identifier?: SortOrder token?: SortOrder expires?: SortOrder } export type VerificationTokenMinOrderByAggregateInput = { identifier?: SortOrder token?: SortOrder expires?: SortOrder } export type UserCreateNestedOneWithoutStoreInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutStoreInput connect?: UserWhereUniqueInput } export type CartCreateNestedManyWithoutStoreInput = { create?: XOR | CartCreateWithoutStoreInput[] | CartUncheckedCreateWithoutStoreInput[] connectOrCreate?: CartCreateOrConnectWithoutStoreInput | CartCreateOrConnectWithoutStoreInput[] createMany?: CartCreateManyStoreInputEnvelope connect?: CartWhereUniqueInput | CartWhereUniqueInput[] } export type ProductCacheCreateNestedManyWithoutStoreInput = { create?: XOR | ProductCacheCreateWithoutStoreInput[] | ProductCacheUncheckedCreateWithoutStoreInput[] connectOrCreate?: ProductCacheCreateOrConnectWithoutStoreInput | ProductCacheCreateOrConnectWithoutStoreInput[] createMany?: ProductCacheCreateManyStoreInputEnvelope connect?: ProductCacheWhereUniqueInput | ProductCacheWhereUniqueInput[] } export type CartUncheckedCreateNestedManyWithoutStoreInput = { create?: XOR | CartCreateWithoutStoreInput[] | CartUncheckedCreateWithoutStoreInput[] connectOrCreate?: CartCreateOrConnectWithoutStoreInput | CartCreateOrConnectWithoutStoreInput[] createMany?: CartCreateManyStoreInputEnvelope connect?: CartWhereUniqueInput | CartWhereUniqueInput[] } export type ProductCacheUncheckedCreateNestedManyWithoutStoreInput = { create?: XOR | ProductCacheCreateWithoutStoreInput[] | ProductCacheUncheckedCreateWithoutStoreInput[] connectOrCreate?: ProductCacheCreateOrConnectWithoutStoreInput | ProductCacheCreateOrConnectWithoutStoreInput[] createMany?: ProductCacheCreateManyStoreInputEnvelope connect?: ProductCacheWhereUniqueInput | ProductCacheWhereUniqueInput[] } export type StringFieldUpdateOperationsInput = { set?: string } export type NullableStringFieldUpdateOperationsInput = { set?: string | null } export type DateTimeFieldUpdateOperationsInput = { set?: Date | string } export type UserUpdateOneRequiredWithoutStoreNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutStoreInput upsert?: UserUpsertWithoutStoreInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutStoreInput> } export type CartUpdateManyWithoutStoreNestedInput = { create?: XOR | CartCreateWithoutStoreInput[] | CartUncheckedCreateWithoutStoreInput[] connectOrCreate?: CartCreateOrConnectWithoutStoreInput | CartCreateOrConnectWithoutStoreInput[] upsert?: CartUpsertWithWhereUniqueWithoutStoreInput | CartUpsertWithWhereUniqueWithoutStoreInput[] createMany?: CartCreateManyStoreInputEnvelope set?: CartWhereUniqueInput | CartWhereUniqueInput[] disconnect?: CartWhereUniqueInput | CartWhereUniqueInput[] delete?: CartWhereUniqueInput | CartWhereUniqueInput[] connect?: CartWhereUniqueInput | CartWhereUniqueInput[] update?: CartUpdateWithWhereUniqueWithoutStoreInput | CartUpdateWithWhereUniqueWithoutStoreInput[] updateMany?: CartUpdateManyWithWhereWithoutStoreInput | CartUpdateManyWithWhereWithoutStoreInput[] deleteMany?: CartScalarWhereInput | CartScalarWhereInput[] } export type ProductCacheUpdateManyWithoutStoreNestedInput = { create?: XOR | ProductCacheCreateWithoutStoreInput[] | ProductCacheUncheckedCreateWithoutStoreInput[] connectOrCreate?: ProductCacheCreateOrConnectWithoutStoreInput | ProductCacheCreateOrConnectWithoutStoreInput[] upsert?: ProductCacheUpsertWithWhereUniqueWithoutStoreInput | ProductCacheUpsertWithWhereUniqueWithoutStoreInput[] createMany?: ProductCacheCreateManyStoreInputEnvelope set?: ProductCacheWhereUniqueInput | ProductCacheWhereUniqueInput[] disconnect?: ProductCacheWhereUniqueInput | ProductCacheWhereUniqueInput[] delete?: ProductCacheWhereUniqueInput | ProductCacheWhereUniqueInput[] connect?: ProductCacheWhereUniqueInput | ProductCacheWhereUniqueInput[] update?: ProductCacheUpdateWithWhereUniqueWithoutStoreInput | ProductCacheUpdateWithWhereUniqueWithoutStoreInput[] updateMany?: ProductCacheUpdateManyWithWhereWithoutStoreInput | ProductCacheUpdateManyWithWhereWithoutStoreInput[] deleteMany?: ProductCacheScalarWhereInput | ProductCacheScalarWhereInput[] } export type CartUncheckedUpdateManyWithoutStoreNestedInput = { create?: XOR | CartCreateWithoutStoreInput[] | CartUncheckedCreateWithoutStoreInput[] connectOrCreate?: CartCreateOrConnectWithoutStoreInput | CartCreateOrConnectWithoutStoreInput[] upsert?: CartUpsertWithWhereUniqueWithoutStoreInput | CartUpsertWithWhereUniqueWithoutStoreInput[] createMany?: CartCreateManyStoreInputEnvelope set?: CartWhereUniqueInput | CartWhereUniqueInput[] disconnect?: CartWhereUniqueInput | CartWhereUniqueInput[] delete?: CartWhereUniqueInput | CartWhereUniqueInput[] connect?: CartWhereUniqueInput | CartWhereUniqueInput[] update?: CartUpdateWithWhereUniqueWithoutStoreInput | CartUpdateWithWhereUniqueWithoutStoreInput[] updateMany?: CartUpdateManyWithWhereWithoutStoreInput | CartUpdateManyWithWhereWithoutStoreInput[] deleteMany?: CartScalarWhereInput | CartScalarWhereInput[] } export type ProductCacheUncheckedUpdateManyWithoutStoreNestedInput = { create?: XOR | ProductCacheCreateWithoutStoreInput[] | ProductCacheUncheckedCreateWithoutStoreInput[] connectOrCreate?: ProductCacheCreateOrConnectWithoutStoreInput | ProductCacheCreateOrConnectWithoutStoreInput[] upsert?: ProductCacheUpsertWithWhereUniqueWithoutStoreInput | ProductCacheUpsertWithWhereUniqueWithoutStoreInput[] createMany?: ProductCacheCreateManyStoreInputEnvelope set?: ProductCacheWhereUniqueInput | ProductCacheWhereUniqueInput[] disconnect?: ProductCacheWhereUniqueInput | ProductCacheWhereUniqueInput[] delete?: ProductCacheWhereUniqueInput | ProductCacheWhereUniqueInput[] connect?: ProductCacheWhereUniqueInput | ProductCacheWhereUniqueInput[] update?: ProductCacheUpdateWithWhereUniqueWithoutStoreInput | ProductCacheUpdateWithWhereUniqueWithoutStoreInput[] updateMany?: ProductCacheUpdateManyWithWhereWithoutStoreInput | ProductCacheUpdateManyWithWhereWithoutStoreInput[] deleteMany?: ProductCacheScalarWhereInput | ProductCacheScalarWhereInput[] } export type StoreCreateNestedOneWithoutCartsInput = { create?: XOR connectOrCreate?: StoreCreateOrConnectWithoutCartsInput connect?: StoreWhereUniqueInput } export type UserCreateNestedOneWithoutCartsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutCartsInput connect?: UserWhereUniqueInput } export type CartItemCreateNestedManyWithoutCartInput = { create?: XOR | CartItemCreateWithoutCartInput[] | CartItemUncheckedCreateWithoutCartInput[] connectOrCreate?: CartItemCreateOrConnectWithoutCartInput | CartItemCreateOrConnectWithoutCartInput[] createMany?: CartItemCreateManyCartInputEnvelope connect?: CartItemWhereUniqueInput | CartItemWhereUniqueInput[] } export type CartItemUncheckedCreateNestedManyWithoutCartInput = { create?: XOR | CartItemCreateWithoutCartInput[] | CartItemUncheckedCreateWithoutCartInput[] connectOrCreate?: CartItemCreateOrConnectWithoutCartInput | CartItemCreateOrConnectWithoutCartInput[] createMany?: CartItemCreateManyCartInputEnvelope connect?: CartItemWhereUniqueInput | CartItemWhereUniqueInput[] } export type StoreUpdateOneRequiredWithoutCartsNestedInput = { create?: XOR connectOrCreate?: StoreCreateOrConnectWithoutCartsInput upsert?: StoreUpsertWithoutCartsInput connect?: StoreWhereUniqueInput update?: XOR, StoreUncheckedUpdateWithoutCartsInput> } export type UserUpdateOneWithoutCartsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutCartsInput upsert?: UserUpsertWithoutCartsInput disconnect?: UserWhereInput | boolean delete?: UserWhereInput | boolean connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutCartsInput> } export type CartItemUpdateManyWithoutCartNestedInput = { create?: XOR | CartItemCreateWithoutCartInput[] | CartItemUncheckedCreateWithoutCartInput[] connectOrCreate?: CartItemCreateOrConnectWithoutCartInput | CartItemCreateOrConnectWithoutCartInput[] upsert?: CartItemUpsertWithWhereUniqueWithoutCartInput | CartItemUpsertWithWhereUniqueWithoutCartInput[] createMany?: CartItemCreateManyCartInputEnvelope set?: CartItemWhereUniqueInput | CartItemWhereUniqueInput[] disconnect?: CartItemWhereUniqueInput | CartItemWhereUniqueInput[] delete?: CartItemWhereUniqueInput | CartItemWhereUniqueInput[] connect?: CartItemWhereUniqueInput | CartItemWhereUniqueInput[] update?: CartItemUpdateWithWhereUniqueWithoutCartInput | CartItemUpdateWithWhereUniqueWithoutCartInput[] updateMany?: CartItemUpdateManyWithWhereWithoutCartInput | CartItemUpdateManyWithWhereWithoutCartInput[] deleteMany?: CartItemScalarWhereInput | CartItemScalarWhereInput[] } export type CartItemUncheckedUpdateManyWithoutCartNestedInput = { create?: XOR | CartItemCreateWithoutCartInput[] | CartItemUncheckedCreateWithoutCartInput[] connectOrCreate?: CartItemCreateOrConnectWithoutCartInput | CartItemCreateOrConnectWithoutCartInput[] upsert?: CartItemUpsertWithWhereUniqueWithoutCartInput | CartItemUpsertWithWhereUniqueWithoutCartInput[] createMany?: CartItemCreateManyCartInputEnvelope set?: CartItemWhereUniqueInput | CartItemWhereUniqueInput[] disconnect?: CartItemWhereUniqueInput | CartItemWhereUniqueInput[] delete?: CartItemWhereUniqueInput | CartItemWhereUniqueInput[] connect?: CartItemWhereUniqueInput | CartItemWhereUniqueInput[] update?: CartItemUpdateWithWhereUniqueWithoutCartInput | CartItemUpdateWithWhereUniqueWithoutCartInput[] updateMany?: CartItemUpdateManyWithWhereWithoutCartInput | CartItemUpdateManyWithWhereWithoutCartInput[] deleteMany?: CartItemScalarWhereInput | CartItemScalarWhereInput[] } export type CartCreateNestedOneWithoutItemsInput = { create?: XOR connectOrCreate?: CartCreateOrConnectWithoutItemsInput connect?: CartWhereUniqueInput } export type IntFieldUpdateOperationsInput = { set?: number increment?: number decrement?: number multiply?: number divide?: number } export type CartUpdateOneRequiredWithoutItemsNestedInput = { create?: XOR connectOrCreate?: CartCreateOrConnectWithoutItemsInput upsert?: CartUpsertWithoutItemsInput connect?: CartWhereUniqueInput update?: XOR, CartUncheckedUpdateWithoutItemsInput> } export type UserCreateNestedOneWithoutAddressInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutAddressInput connect?: UserWhereUniqueInput } export type UserUpdateOneRequiredWithoutAddressNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutAddressInput upsert?: UserUpsertWithoutAddressInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutAddressInput> } export type StoreCreateNestedOneWithoutProductsInput = { create?: XOR connectOrCreate?: StoreCreateOrConnectWithoutProductsInput connect?: StoreWhereUniqueInput } export type BoolFieldUpdateOperationsInput = { set?: boolean } export type StoreUpdateOneRequiredWithoutProductsNestedInput = { create?: XOR connectOrCreate?: StoreCreateOrConnectWithoutProductsInput upsert?: StoreUpsertWithoutProductsInput connect?: StoreWhereUniqueInput update?: XOR, StoreUncheckedUpdateWithoutProductsInput> } export type StoreCreateNestedOneWithoutUserInput = { create?: XOR connectOrCreate?: StoreCreateOrConnectWithoutUserInput connect?: StoreWhereUniqueInput } export type CartCreateNestedManyWithoutUserInput = { create?: XOR | CartCreateWithoutUserInput[] | CartUncheckedCreateWithoutUserInput[] connectOrCreate?: CartCreateOrConnectWithoutUserInput | CartCreateOrConnectWithoutUserInput[] createMany?: CartCreateManyUserInputEnvelope connect?: CartWhereUniqueInput | CartWhereUniqueInput[] } export type UserAddressCreateNestedOneWithoutUserInput = { create?: XOR connectOrCreate?: UserAddressCreateOrConnectWithoutUserInput connect?: UserAddressWhereUniqueInput } export type AccountCreateNestedManyWithoutUserInput = { create?: XOR | AccountCreateWithoutUserInput[] | AccountUncheckedCreateWithoutUserInput[] connectOrCreate?: AccountCreateOrConnectWithoutUserInput | AccountCreateOrConnectWithoutUserInput[] createMany?: AccountCreateManyUserInputEnvelope connect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] } export type SessionCreateNestedManyWithoutUserInput = { create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] createMany?: SessionCreateManyUserInputEnvelope connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] } export type StoreUncheckedCreateNestedOneWithoutUserInput = { create?: XOR connectOrCreate?: StoreCreateOrConnectWithoutUserInput connect?: StoreWhereUniqueInput } export type CartUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | CartCreateWithoutUserInput[] | CartUncheckedCreateWithoutUserInput[] connectOrCreate?: CartCreateOrConnectWithoutUserInput | CartCreateOrConnectWithoutUserInput[] createMany?: CartCreateManyUserInputEnvelope connect?: CartWhereUniqueInput | CartWhereUniqueInput[] } export type UserAddressUncheckedCreateNestedOneWithoutUserInput = { create?: XOR connectOrCreate?: UserAddressCreateOrConnectWithoutUserInput connect?: UserAddressWhereUniqueInput } export type AccountUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | AccountCreateWithoutUserInput[] | AccountUncheckedCreateWithoutUserInput[] connectOrCreate?: AccountCreateOrConnectWithoutUserInput | AccountCreateOrConnectWithoutUserInput[] createMany?: AccountCreateManyUserInputEnvelope connect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] } export type SessionUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] createMany?: SessionCreateManyUserInputEnvelope connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] } export type EnumRoleFieldUpdateOperationsInput = { set?: $Enums.Role } export type StoreUpdateOneWithoutUserNestedInput = { create?: XOR connectOrCreate?: StoreCreateOrConnectWithoutUserInput upsert?: StoreUpsertWithoutUserInput disconnect?: StoreWhereInput | boolean delete?: StoreWhereInput | boolean connect?: StoreWhereUniqueInput update?: XOR, StoreUncheckedUpdateWithoutUserInput> } export type CartUpdateManyWithoutUserNestedInput = { create?: XOR | CartCreateWithoutUserInput[] | CartUncheckedCreateWithoutUserInput[] connectOrCreate?: CartCreateOrConnectWithoutUserInput | CartCreateOrConnectWithoutUserInput[] upsert?: CartUpsertWithWhereUniqueWithoutUserInput | CartUpsertWithWhereUniqueWithoutUserInput[] createMany?: CartCreateManyUserInputEnvelope set?: CartWhereUniqueInput | CartWhereUniqueInput[] disconnect?: CartWhereUniqueInput | CartWhereUniqueInput[] delete?: CartWhereUniqueInput | CartWhereUniqueInput[] connect?: CartWhereUniqueInput | CartWhereUniqueInput[] update?: CartUpdateWithWhereUniqueWithoutUserInput | CartUpdateWithWhereUniqueWithoutUserInput[] updateMany?: CartUpdateManyWithWhereWithoutUserInput | CartUpdateManyWithWhereWithoutUserInput[] deleteMany?: CartScalarWhereInput | CartScalarWhereInput[] } export type UserAddressUpdateOneWithoutUserNestedInput = { create?: XOR connectOrCreate?: UserAddressCreateOrConnectWithoutUserInput upsert?: UserAddressUpsertWithoutUserInput disconnect?: UserAddressWhereInput | boolean delete?: UserAddressWhereInput | boolean connect?: UserAddressWhereUniqueInput update?: XOR, UserAddressUncheckedUpdateWithoutUserInput> } export type AccountUpdateManyWithoutUserNestedInput = { create?: XOR | AccountCreateWithoutUserInput[] | AccountUncheckedCreateWithoutUserInput[] connectOrCreate?: AccountCreateOrConnectWithoutUserInput | AccountCreateOrConnectWithoutUserInput[] upsert?: AccountUpsertWithWhereUniqueWithoutUserInput | AccountUpsertWithWhereUniqueWithoutUserInput[] createMany?: AccountCreateManyUserInputEnvelope set?: AccountWhereUniqueInput | AccountWhereUniqueInput[] disconnect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] delete?: AccountWhereUniqueInput | AccountWhereUniqueInput[] connect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] update?: AccountUpdateWithWhereUniqueWithoutUserInput | AccountUpdateWithWhereUniqueWithoutUserInput[] updateMany?: AccountUpdateManyWithWhereWithoutUserInput | AccountUpdateManyWithWhereWithoutUserInput[] deleteMany?: AccountScalarWhereInput | AccountScalarWhereInput[] } export type SessionUpdateManyWithoutUserNestedInput = { create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] upsert?: SessionUpsertWithWhereUniqueWithoutUserInput | SessionUpsertWithWhereUniqueWithoutUserInput[] createMany?: SessionCreateManyUserInputEnvelope set?: SessionWhereUniqueInput | SessionWhereUniqueInput[] disconnect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] delete?: SessionWhereUniqueInput | SessionWhereUniqueInput[] connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] update?: SessionUpdateWithWhereUniqueWithoutUserInput | SessionUpdateWithWhereUniqueWithoutUserInput[] updateMany?: SessionUpdateManyWithWhereWithoutUserInput | SessionUpdateManyWithWhereWithoutUserInput[] deleteMany?: SessionScalarWhereInput | SessionScalarWhereInput[] } export type StoreUncheckedUpdateOneWithoutUserNestedInput = { create?: XOR connectOrCreate?: StoreCreateOrConnectWithoutUserInput upsert?: StoreUpsertWithoutUserInput disconnect?: StoreWhereInput | boolean delete?: StoreWhereInput | boolean connect?: StoreWhereUniqueInput update?: XOR, StoreUncheckedUpdateWithoutUserInput> } export type CartUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | CartCreateWithoutUserInput[] | CartUncheckedCreateWithoutUserInput[] connectOrCreate?: CartCreateOrConnectWithoutUserInput | CartCreateOrConnectWithoutUserInput[] upsert?: CartUpsertWithWhereUniqueWithoutUserInput | CartUpsertWithWhereUniqueWithoutUserInput[] createMany?: CartCreateManyUserInputEnvelope set?: CartWhereUniqueInput | CartWhereUniqueInput[] disconnect?: CartWhereUniqueInput | CartWhereUniqueInput[] delete?: CartWhereUniqueInput | CartWhereUniqueInput[] connect?: CartWhereUniqueInput | CartWhereUniqueInput[] update?: CartUpdateWithWhereUniqueWithoutUserInput | CartUpdateWithWhereUniqueWithoutUserInput[] updateMany?: CartUpdateManyWithWhereWithoutUserInput | CartUpdateManyWithWhereWithoutUserInput[] deleteMany?: CartScalarWhereInput | CartScalarWhereInput[] } export type UserAddressUncheckedUpdateOneWithoutUserNestedInput = { create?: XOR connectOrCreate?: UserAddressCreateOrConnectWithoutUserInput upsert?: UserAddressUpsertWithoutUserInput disconnect?: UserAddressWhereInput | boolean delete?: UserAddressWhereInput | boolean connect?: UserAddressWhereUniqueInput update?: XOR, UserAddressUncheckedUpdateWithoutUserInput> } export type AccountUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | AccountCreateWithoutUserInput[] | AccountUncheckedCreateWithoutUserInput[] connectOrCreate?: AccountCreateOrConnectWithoutUserInput | AccountCreateOrConnectWithoutUserInput[] upsert?: AccountUpsertWithWhereUniqueWithoutUserInput | AccountUpsertWithWhereUniqueWithoutUserInput[] createMany?: AccountCreateManyUserInputEnvelope set?: AccountWhereUniqueInput | AccountWhereUniqueInput[] disconnect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] delete?: AccountWhereUniqueInput | AccountWhereUniqueInput[] connect?: AccountWhereUniqueInput | AccountWhereUniqueInput[] update?: AccountUpdateWithWhereUniqueWithoutUserInput | AccountUpdateWithWhereUniqueWithoutUserInput[] updateMany?: AccountUpdateManyWithWhereWithoutUserInput | AccountUpdateManyWithWhereWithoutUserInput[] deleteMany?: AccountScalarWhereInput | AccountScalarWhereInput[] } export type SessionUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] upsert?: SessionUpsertWithWhereUniqueWithoutUserInput | SessionUpsertWithWhereUniqueWithoutUserInput[] createMany?: SessionCreateManyUserInputEnvelope set?: SessionWhereUniqueInput | SessionWhereUniqueInput[] disconnect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] delete?: SessionWhereUniqueInput | SessionWhereUniqueInput[] connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] update?: SessionUpdateWithWhereUniqueWithoutUserInput | SessionUpdateWithWhereUniqueWithoutUserInput[] updateMany?: SessionUpdateManyWithWhereWithoutUserInput | SessionUpdateManyWithWhereWithoutUserInput[] deleteMany?: SessionScalarWhereInput | SessionScalarWhereInput[] } export type UserCreateNestedOneWithoutSessionsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutSessionsInput connect?: UserWhereUniqueInput } export type UserUpdateOneRequiredWithoutSessionsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutSessionsInput upsert?: UserUpsertWithoutSessionsInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutSessionsInput> } export type UserCreateNestedOneWithoutAccountsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutAccountsInput connect?: UserWhereUniqueInput } export type NullableIntFieldUpdateOperationsInput = { set?: number | null increment?: number decrement?: number multiply?: number divide?: number } export type UserUpdateOneRequiredWithoutAccountsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutAccountsInput upsert?: UserUpsertWithoutAccountsInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutAccountsInput> } export type NestedStringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] notIn?: string[] 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[] | null notIn?: string[] | 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 NestedDateTimeFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] notIn?: Date[] | string[] 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 NestedStringWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] notIn?: string[] 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[] notIn?: number[] 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[] | null notIn?: string[] | 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[] | null notIn?: number[] | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableFilter<$PrismaModel> | number | null } export type NestedJsonNullableFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type NestedJsonNullableFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] notIn?: Date[] | string[] 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 NestedIntWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] notIn?: number[] 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[] notIn?: number[] lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatFilter<$PrismaModel> | number } export type NestedJsonFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type NestedJsonFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } export type NestedBoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean } export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean _count?: NestedIntFilter<$PrismaModel> _min?: NestedBoolFilter<$PrismaModel> _max?: NestedBoolFilter<$PrismaModel> } export type NestedEnumRoleFilter<$PrismaModel = never> = { equals?: $Enums.Role | EnumRoleFieldRefInput<$PrismaModel> in?: $Enums.Role[] notIn?: $Enums.Role[] not?: NestedEnumRoleFilter<$PrismaModel> | $Enums.Role } export type NestedEnumRoleWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.Role | EnumRoleFieldRefInput<$PrismaModel> in?: $Enums.Role[] notIn?: $Enums.Role[] not?: NestedEnumRoleWithAggregatesFilter<$PrismaModel> | $Enums.Role _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumRoleFilter<$PrismaModel> _max?: NestedEnumRoleFilter<$PrismaModel> } export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | null notIn?: number[] | 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[] | null notIn?: number[] | null lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatNullableFilter<$PrismaModel> | number | null } export type UserCreateWithoutStoreInput = { id?: string name: string email: string passwordHash: string role?: $Enums.Role createdAt?: Date | string updatedAt?: Date | string carts?: CartCreateNestedManyWithoutUserInput address?: UserAddressCreateNestedOneWithoutUserInput accounts?: AccountCreateNestedManyWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutStoreInput = { id?: string name: string email: string passwordHash: string role?: $Enums.Role createdAt?: Date | string updatedAt?: Date | string carts?: CartUncheckedCreateNestedManyWithoutUserInput address?: UserAddressUncheckedCreateNestedOneWithoutUserInput accounts?: AccountUncheckedCreateNestedManyWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutStoreInput = { where: UserWhereUniqueInput create: XOR } export type CartCreateWithoutStoreInput = { id?: string sessionId: string createdAt?: Date | string updatedAt?: Date | string user?: UserCreateNestedOneWithoutCartsInput items?: CartItemCreateNestedManyWithoutCartInput } export type CartUncheckedCreateWithoutStoreInput = { id?: string sessionId: string userId?: string | null createdAt?: Date | string updatedAt?: Date | string items?: CartItemUncheckedCreateNestedManyWithoutCartInput } export type CartCreateOrConnectWithoutStoreInput = { where: CartWhereUniqueInput create: XOR } export type CartCreateManyStoreInputEnvelope = { data: CartCreateManyStoreInput | CartCreateManyStoreInput[] } export type ProductCacheCreateWithoutStoreInput = { id?: string stripeProductId: string stripePriceId: string name: string description?: string | null unitAmount: number currency: string active?: boolean createdAt?: Date | string updatedAt?: Date | string } export type ProductCacheUncheckedCreateWithoutStoreInput = { id?: string stripeProductId: string stripePriceId: string name: string description?: string | null unitAmount: number currency: string active?: boolean createdAt?: Date | string updatedAt?: Date | string } export type ProductCacheCreateOrConnectWithoutStoreInput = { where: ProductCacheWhereUniqueInput create: XOR } export type ProductCacheCreateManyStoreInputEnvelope = { data: ProductCacheCreateManyStoreInput | ProductCacheCreateManyStoreInput[] } export type UserUpsertWithoutStoreInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutStoreInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutStoreInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string carts?: CartUpdateManyWithoutUserNestedInput address?: UserAddressUpdateOneWithoutUserNestedInput accounts?: AccountUpdateManyWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutStoreInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string carts?: CartUncheckedUpdateManyWithoutUserNestedInput address?: UserAddressUncheckedUpdateOneWithoutUserNestedInput accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput } export type CartUpsertWithWhereUniqueWithoutStoreInput = { where: CartWhereUniqueInput update: XOR create: XOR } export type CartUpdateWithWhereUniqueWithoutStoreInput = { where: CartWhereUniqueInput data: XOR } export type CartUpdateManyWithWhereWithoutStoreInput = { where: CartScalarWhereInput data: XOR } export type CartScalarWhereInput = { AND?: CartScalarWhereInput | CartScalarWhereInput[] OR?: CartScalarWhereInput[] NOT?: CartScalarWhereInput | CartScalarWhereInput[] id?: StringFilter<"Cart"> | string storeId?: StringFilter<"Cart"> | string sessionId?: StringFilter<"Cart"> | string userId?: StringNullableFilter<"Cart"> | string | null createdAt?: DateTimeFilter<"Cart"> | Date | string updatedAt?: DateTimeFilter<"Cart"> | Date | string } export type ProductCacheUpsertWithWhereUniqueWithoutStoreInput = { where: ProductCacheWhereUniqueInput update: XOR create: XOR } export type ProductCacheUpdateWithWhereUniqueWithoutStoreInput = { where: ProductCacheWhereUniqueInput data: XOR } export type ProductCacheUpdateManyWithWhereWithoutStoreInput = { where: ProductCacheScalarWhereInput data: XOR } export type ProductCacheScalarWhereInput = { AND?: ProductCacheScalarWhereInput | ProductCacheScalarWhereInput[] OR?: ProductCacheScalarWhereInput[] NOT?: ProductCacheScalarWhereInput | ProductCacheScalarWhereInput[] id?: StringFilter<"ProductCache"> | string storeId?: StringFilter<"ProductCache"> | string stripeProductId?: StringFilter<"ProductCache"> | string stripePriceId?: StringFilter<"ProductCache"> | string name?: StringFilter<"ProductCache"> | string description?: StringNullableFilter<"ProductCache"> | string | null unitAmount?: IntFilter<"ProductCache"> | number currency?: StringFilter<"ProductCache"> | string active?: BoolFilter<"ProductCache"> | boolean createdAt?: DateTimeFilter<"ProductCache"> | Date | string updatedAt?: DateTimeFilter<"ProductCache"> | Date | string } export type StoreCreateWithoutCartsInput = { id?: string slug: string stripeAccountId?: string | null name?: string | null website?: string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutStoreInput products?: ProductCacheCreateNestedManyWithoutStoreInput } export type StoreUncheckedCreateWithoutCartsInput = { id?: string slug: string stripeAccountId?: string | null userId: string name?: string | null website?: string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string products?: ProductCacheUncheckedCreateNestedManyWithoutStoreInput } export type StoreCreateOrConnectWithoutCartsInput = { where: StoreWhereUniqueInput create: XOR } export type UserCreateWithoutCartsInput = { id?: string name: string email: string passwordHash: string role?: $Enums.Role createdAt?: Date | string updatedAt?: Date | string store?: StoreCreateNestedOneWithoutUserInput address?: UserAddressCreateNestedOneWithoutUserInput accounts?: AccountCreateNestedManyWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutCartsInput = { id?: string name: string email: string passwordHash: string role?: $Enums.Role createdAt?: Date | string updatedAt?: Date | string store?: StoreUncheckedCreateNestedOneWithoutUserInput address?: UserAddressUncheckedCreateNestedOneWithoutUserInput accounts?: AccountUncheckedCreateNestedManyWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutCartsInput = { where: UserWhereUniqueInput create: XOR } export type CartItemCreateWithoutCartInput = { id?: string productId: string priceId: string name: string unitAmount: number currency: string quantity: number createdAt?: Date | string updatedAt?: Date | string } export type CartItemUncheckedCreateWithoutCartInput = { id?: string productId: string priceId: string name: string unitAmount: number currency: string quantity: number createdAt?: Date | string updatedAt?: Date | string } export type CartItemCreateOrConnectWithoutCartInput = { where: CartItemWhereUniqueInput create: XOR } export type CartItemCreateManyCartInputEnvelope = { data: CartItemCreateManyCartInput | CartItemCreateManyCartInput[] } export type StoreUpsertWithoutCartsInput = { update: XOR create: XOR where?: StoreWhereInput } export type StoreUpdateToOneWithWhereWithoutCartsInput = { where?: StoreWhereInput data: XOR } export type StoreUpdateWithoutCartsInput = { id?: StringFieldUpdateOperationsInput | string slug?: StringFieldUpdateOperationsInput | string stripeAccountId?: NullableStringFieldUpdateOperationsInput | string | null name?: NullableStringFieldUpdateOperationsInput | string | null website?: NullableStringFieldUpdateOperationsInput | string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutStoreNestedInput products?: ProductCacheUpdateManyWithoutStoreNestedInput } export type StoreUncheckedUpdateWithoutCartsInput = { id?: StringFieldUpdateOperationsInput | string slug?: StringFieldUpdateOperationsInput | string stripeAccountId?: NullableStringFieldUpdateOperationsInput | string | null userId?: StringFieldUpdateOperationsInput | string name?: NullableStringFieldUpdateOperationsInput | string | null website?: NullableStringFieldUpdateOperationsInput | string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string products?: ProductCacheUncheckedUpdateManyWithoutStoreNestedInput } export type UserUpsertWithoutCartsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutCartsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutCartsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUpdateOneWithoutUserNestedInput address?: UserAddressUpdateOneWithoutUserNestedInput accounts?: AccountUpdateManyWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutCartsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUncheckedUpdateOneWithoutUserNestedInput address?: UserAddressUncheckedUpdateOneWithoutUserNestedInput accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput } export type CartItemUpsertWithWhereUniqueWithoutCartInput = { where: CartItemWhereUniqueInput update: XOR create: XOR } export type CartItemUpdateWithWhereUniqueWithoutCartInput = { where: CartItemWhereUniqueInput data: XOR } export type CartItemUpdateManyWithWhereWithoutCartInput = { where: CartItemScalarWhereInput data: XOR } export type CartItemScalarWhereInput = { AND?: CartItemScalarWhereInput | CartItemScalarWhereInput[] OR?: CartItemScalarWhereInput[] NOT?: CartItemScalarWhereInput | CartItemScalarWhereInput[] id?: StringFilter<"CartItem"> | string cartId?: StringFilter<"CartItem"> | string productId?: StringFilter<"CartItem"> | string priceId?: StringFilter<"CartItem"> | string name?: StringFilter<"CartItem"> | string unitAmount?: IntFilter<"CartItem"> | number currency?: StringFilter<"CartItem"> | string quantity?: IntFilter<"CartItem"> | number createdAt?: DateTimeFilter<"CartItem"> | Date | string updatedAt?: DateTimeFilter<"CartItem"> | Date | string } export type CartCreateWithoutItemsInput = { id?: string sessionId: string createdAt?: Date | string updatedAt?: Date | string store: StoreCreateNestedOneWithoutCartsInput user?: UserCreateNestedOneWithoutCartsInput } export type CartUncheckedCreateWithoutItemsInput = { id?: string storeId: string sessionId: string userId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type CartCreateOrConnectWithoutItemsInput = { where: CartWhereUniqueInput create: XOR } export type CartUpsertWithoutItemsInput = { update: XOR create: XOR where?: CartWhereInput } export type CartUpdateToOneWithWhereWithoutItemsInput = { where?: CartWhereInput data: XOR } export type CartUpdateWithoutItemsInput = { id?: StringFieldUpdateOperationsInput | string sessionId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUpdateOneRequiredWithoutCartsNestedInput user?: UserUpdateOneWithoutCartsNestedInput } export type CartUncheckedUpdateWithoutItemsInput = { id?: StringFieldUpdateOperationsInput | string storeId?: StringFieldUpdateOperationsInput | string sessionId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserCreateWithoutAddressInput = { id?: string name: string email: string passwordHash: string role?: $Enums.Role createdAt?: Date | string updatedAt?: Date | string store?: StoreCreateNestedOneWithoutUserInput carts?: CartCreateNestedManyWithoutUserInput accounts?: AccountCreateNestedManyWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutAddressInput = { id?: string name: string email: string passwordHash: string role?: $Enums.Role createdAt?: Date | string updatedAt?: Date | string store?: StoreUncheckedCreateNestedOneWithoutUserInput carts?: CartUncheckedCreateNestedManyWithoutUserInput accounts?: AccountUncheckedCreateNestedManyWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutAddressInput = { where: UserWhereUniqueInput create: XOR } export type UserUpsertWithoutAddressInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutAddressInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutAddressInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUpdateOneWithoutUserNestedInput carts?: CartUpdateManyWithoutUserNestedInput accounts?: AccountUpdateManyWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutAddressInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUncheckedUpdateOneWithoutUserNestedInput carts?: CartUncheckedUpdateManyWithoutUserNestedInput accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput } export type StoreCreateWithoutProductsInput = { id?: string slug: string stripeAccountId?: string | null name?: string | null website?: string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutStoreInput carts?: CartCreateNestedManyWithoutStoreInput } export type StoreUncheckedCreateWithoutProductsInput = { id?: string slug: string stripeAccountId?: string | null userId: string name?: string | null website?: string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string carts?: CartUncheckedCreateNestedManyWithoutStoreInput } export type StoreCreateOrConnectWithoutProductsInput = { where: StoreWhereUniqueInput create: XOR } export type StoreUpsertWithoutProductsInput = { update: XOR create: XOR where?: StoreWhereInput } export type StoreUpdateToOneWithWhereWithoutProductsInput = { where?: StoreWhereInput data: XOR } export type StoreUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string slug?: StringFieldUpdateOperationsInput | string stripeAccountId?: NullableStringFieldUpdateOperationsInput | string | null name?: NullableStringFieldUpdateOperationsInput | string | null website?: NullableStringFieldUpdateOperationsInput | string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutStoreNestedInput carts?: CartUpdateManyWithoutStoreNestedInput } export type StoreUncheckedUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string slug?: StringFieldUpdateOperationsInput | string stripeAccountId?: NullableStringFieldUpdateOperationsInput | string | null userId?: StringFieldUpdateOperationsInput | string name?: NullableStringFieldUpdateOperationsInput | string | null website?: NullableStringFieldUpdateOperationsInput | string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string carts?: CartUncheckedUpdateManyWithoutStoreNestedInput } export type StoreCreateWithoutUserInput = { id?: string slug: string stripeAccountId?: string | null name?: string | null website?: string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string carts?: CartCreateNestedManyWithoutStoreInput products?: ProductCacheCreateNestedManyWithoutStoreInput } export type StoreUncheckedCreateWithoutUserInput = { id?: string slug: string stripeAccountId?: string | null name?: string | null website?: string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string carts?: CartUncheckedCreateNestedManyWithoutStoreInput products?: ProductCacheUncheckedCreateNestedManyWithoutStoreInput } export type StoreCreateOrConnectWithoutUserInput = { where: StoreWhereUniqueInput create: XOR } export type CartCreateWithoutUserInput = { id?: string sessionId: string createdAt?: Date | string updatedAt?: Date | string store: StoreCreateNestedOneWithoutCartsInput items?: CartItemCreateNestedManyWithoutCartInput } export type CartUncheckedCreateWithoutUserInput = { id?: string storeId: string sessionId: string createdAt?: Date | string updatedAt?: Date | string items?: CartItemUncheckedCreateNestedManyWithoutCartInput } export type CartCreateOrConnectWithoutUserInput = { where: CartWhereUniqueInput create: XOR } export type CartCreateManyUserInputEnvelope = { data: CartCreateManyUserInput | CartCreateManyUserInput[] } export type UserAddressCreateWithoutUserInput = { id?: string name: string street1: string city: string state: string zip: string country: string phone?: string | null createdAt?: Date | string updatedAt?: Date | string } export type UserAddressUncheckedCreateWithoutUserInput = { id?: string name: string street1: string city: string state: string zip: string country: string phone?: string | null createdAt?: Date | string updatedAt?: Date | string } export type UserAddressCreateOrConnectWithoutUserInput = { where: UserAddressWhereUniqueInput create: XOR } export type AccountCreateWithoutUserInput = { id?: string type: string provider: string providerAccountId: string refresh_token?: string | null access_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null id_token?: string | null session_state?: string | null } export type AccountUncheckedCreateWithoutUserInput = { id?: string type: string provider: string providerAccountId: string refresh_token?: string | null access_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null id_token?: string | null session_state?: string | null } export type AccountCreateOrConnectWithoutUserInput = { where: AccountWhereUniqueInput create: XOR } export type AccountCreateManyUserInputEnvelope = { data: AccountCreateManyUserInput | AccountCreateManyUserInput[] } export type SessionCreateWithoutUserInput = { id?: string sessionToken: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string } export type SessionUncheckedCreateWithoutUserInput = { id?: string sessionToken: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string } export type SessionCreateOrConnectWithoutUserInput = { where: SessionWhereUniqueInput create: XOR } export type SessionCreateManyUserInputEnvelope = { data: SessionCreateManyUserInput | SessionCreateManyUserInput[] } export type StoreUpsertWithoutUserInput = { update: XOR create: XOR where?: StoreWhereInput } export type StoreUpdateToOneWithWhereWithoutUserInput = { where?: StoreWhereInput data: XOR } export type StoreUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string slug?: StringFieldUpdateOperationsInput | string stripeAccountId?: NullableStringFieldUpdateOperationsInput | string | null name?: NullableStringFieldUpdateOperationsInput | string | null website?: NullableStringFieldUpdateOperationsInput | string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string carts?: CartUpdateManyWithoutStoreNestedInput products?: ProductCacheUpdateManyWithoutStoreNestedInput } export type StoreUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string slug?: StringFieldUpdateOperationsInput | string stripeAccountId?: NullableStringFieldUpdateOperationsInput | string | null name?: NullableStringFieldUpdateOperationsInput | string | null website?: NullableStringFieldUpdateOperationsInput | string | null defaultSellingPreferences?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string carts?: CartUncheckedUpdateManyWithoutStoreNestedInput products?: ProductCacheUncheckedUpdateManyWithoutStoreNestedInput } export type CartUpsertWithWhereUniqueWithoutUserInput = { where: CartWhereUniqueInput update: XOR create: XOR } export type CartUpdateWithWhereUniqueWithoutUserInput = { where: CartWhereUniqueInput data: XOR } export type CartUpdateManyWithWhereWithoutUserInput = { where: CartScalarWhereInput data: XOR } export type UserAddressUpsertWithoutUserInput = { update: XOR create: XOR where?: UserAddressWhereInput } export type UserAddressUpdateToOneWithWhereWithoutUserInput = { where?: UserAddressWhereInput data: XOR } export type UserAddressUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string street1?: StringFieldUpdateOperationsInput | string city?: StringFieldUpdateOperationsInput | string state?: StringFieldUpdateOperationsInput | string zip?: StringFieldUpdateOperationsInput | string country?: StringFieldUpdateOperationsInput | string phone?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserAddressUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string street1?: StringFieldUpdateOperationsInput | string city?: StringFieldUpdateOperationsInput | string state?: StringFieldUpdateOperationsInput | string zip?: StringFieldUpdateOperationsInput | string country?: StringFieldUpdateOperationsInput | string phone?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountUpsertWithWhereUniqueWithoutUserInput = { where: AccountWhereUniqueInput update: XOR create: XOR } export type AccountUpdateWithWhereUniqueWithoutUserInput = { where: AccountWhereUniqueInput data: XOR } export type AccountUpdateManyWithWhereWithoutUserInput = { where: AccountScalarWhereInput data: XOR } export type AccountScalarWhereInput = { AND?: AccountScalarWhereInput | AccountScalarWhereInput[] OR?: AccountScalarWhereInput[] NOT?: AccountScalarWhereInput | AccountScalarWhereInput[] id?: StringFilter<"Account"> | string userId?: StringFilter<"Account"> | string type?: StringFilter<"Account"> | string provider?: StringFilter<"Account"> | string providerAccountId?: StringFilter<"Account"> | string refresh_token?: StringNullableFilter<"Account"> | string | null access_token?: StringNullableFilter<"Account"> | string | null expires_at?: IntNullableFilter<"Account"> | number | null token_type?: StringNullableFilter<"Account"> | string | null scope?: StringNullableFilter<"Account"> | string | null id_token?: StringNullableFilter<"Account"> | string | null session_state?: StringNullableFilter<"Account"> | string | null } export type SessionUpsertWithWhereUniqueWithoutUserInput = { where: SessionWhereUniqueInput update: XOR create: XOR } export type SessionUpdateWithWhereUniqueWithoutUserInput = { where: SessionWhereUniqueInput data: XOR } export type SessionUpdateManyWithWhereWithoutUserInput = { where: SessionScalarWhereInput data: XOR } export type SessionScalarWhereInput = { AND?: SessionScalarWhereInput | SessionScalarWhereInput[] OR?: SessionScalarWhereInput[] NOT?: SessionScalarWhereInput | SessionScalarWhereInput[] id?: StringFilter<"Session"> | string sessionToken?: StringFilter<"Session"> | string userId?: StringFilter<"Session"> | string expires?: DateTimeFilter<"Session"> | Date | string createdAt?: DateTimeFilter<"Session"> | Date | string updatedAt?: DateTimeFilter<"Session"> | Date | string } export type UserCreateWithoutSessionsInput = { id?: string name: string email: string passwordHash: string role?: $Enums.Role createdAt?: Date | string updatedAt?: Date | string store?: StoreCreateNestedOneWithoutUserInput carts?: CartCreateNestedManyWithoutUserInput address?: UserAddressCreateNestedOneWithoutUserInput accounts?: AccountCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutSessionsInput = { id?: string name: string email: string passwordHash: string role?: $Enums.Role createdAt?: Date | string updatedAt?: Date | string store?: StoreUncheckedCreateNestedOneWithoutUserInput carts?: CartUncheckedCreateNestedManyWithoutUserInput address?: UserAddressUncheckedCreateNestedOneWithoutUserInput accounts?: AccountUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutSessionsInput = { where: UserWhereUniqueInput create: XOR } export type UserUpsertWithoutSessionsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutSessionsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutSessionsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUpdateOneWithoutUserNestedInput carts?: CartUpdateManyWithoutUserNestedInput address?: UserAddressUpdateOneWithoutUserNestedInput accounts?: AccountUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutSessionsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUncheckedUpdateOneWithoutUserNestedInput carts?: CartUncheckedUpdateManyWithoutUserNestedInput address?: UserAddressUncheckedUpdateOneWithoutUserNestedInput accounts?: AccountUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutAccountsInput = { id?: string name: string email: string passwordHash: string role?: $Enums.Role createdAt?: Date | string updatedAt?: Date | string store?: StoreCreateNestedOneWithoutUserInput carts?: CartCreateNestedManyWithoutUserInput address?: UserAddressCreateNestedOneWithoutUserInput sessions?: SessionCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutAccountsInput = { id?: string name: string email: string passwordHash: string role?: $Enums.Role createdAt?: Date | string updatedAt?: Date | string store?: StoreUncheckedCreateNestedOneWithoutUserInput carts?: CartUncheckedCreateNestedManyWithoutUserInput address?: UserAddressUncheckedCreateNestedOneWithoutUserInput sessions?: SessionUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutAccountsInput = { where: UserWhereUniqueInput create: XOR } export type UserUpsertWithoutAccountsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutAccountsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutAccountsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUpdateOneWithoutUserNestedInput carts?: CartUpdateManyWithoutUserNestedInput address?: UserAddressUpdateOneWithoutUserNestedInput sessions?: SessionUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutAccountsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUncheckedUpdateOneWithoutUserNestedInput carts?: CartUncheckedUpdateManyWithoutUserNestedInput address?: UserAddressUncheckedUpdateOneWithoutUserNestedInput sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput } export type CartCreateManyStoreInput = { id?: string sessionId: string userId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type ProductCacheCreateManyStoreInput = { id?: string stripeProductId: string stripePriceId: string name: string description?: string | null unitAmount: number currency: string active?: boolean createdAt?: Date | string updatedAt?: Date | string } export type CartUpdateWithoutStoreInput = { id?: StringFieldUpdateOperationsInput | string sessionId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneWithoutCartsNestedInput items?: CartItemUpdateManyWithoutCartNestedInput } export type CartUncheckedUpdateWithoutStoreInput = { id?: StringFieldUpdateOperationsInput | string sessionId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: CartItemUncheckedUpdateManyWithoutCartNestedInput } export type CartUncheckedUpdateManyWithoutStoreInput = { id?: StringFieldUpdateOperationsInput | string sessionId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductCacheUpdateWithoutStoreInput = { id?: StringFieldUpdateOperationsInput | string stripeProductId?: StringFieldUpdateOperationsInput | string stripePriceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string active?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductCacheUncheckedUpdateWithoutStoreInput = { id?: StringFieldUpdateOperationsInput | string stripeProductId?: StringFieldUpdateOperationsInput | string stripePriceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string active?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductCacheUncheckedUpdateManyWithoutStoreInput = { id?: StringFieldUpdateOperationsInput | string stripeProductId?: StringFieldUpdateOperationsInput | string stripePriceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string active?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CartItemCreateManyCartInput = { id?: string productId: string priceId: string name: string unitAmount: number currency: string quantity: number createdAt?: Date | string updatedAt?: Date | string } export type CartItemUpdateWithoutCartInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string priceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CartItemUncheckedUpdateWithoutCartInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string priceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CartItemUncheckedUpdateManyWithoutCartInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string priceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string unitAmount?: IntFieldUpdateOperationsInput | number currency?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CartCreateManyUserInput = { id?: string storeId: string sessionId: string createdAt?: Date | string updatedAt?: Date | string } export type AccountCreateManyUserInput = { id?: string type: string provider: string providerAccountId: string refresh_token?: string | null access_token?: string | null expires_at?: number | null token_type?: string | null scope?: string | null id_token?: string | null session_state?: string | null } export type SessionCreateManyUserInput = { id?: string sessionToken: string expires: Date | string createdAt?: Date | string updatedAt?: Date | string } export type CartUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string sessionId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string store?: StoreUpdateOneRequiredWithoutCartsNestedInput items?: CartItemUpdateManyWithoutCartNestedInput } export type CartUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string storeId?: StringFieldUpdateOperationsInput | string sessionId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: CartItemUncheckedUpdateManyWithoutCartNestedInput } export type CartUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string storeId?: StringFieldUpdateOperationsInput | string sessionId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AccountUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string refresh_token?: NullableStringFieldUpdateOperationsInput | string | null access_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null id_token?: NullableStringFieldUpdateOperationsInput | string | null session_state?: NullableStringFieldUpdateOperationsInput | string | null } export type AccountUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string refresh_token?: NullableStringFieldUpdateOperationsInput | string | null access_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null id_token?: NullableStringFieldUpdateOperationsInput | string | null session_state?: NullableStringFieldUpdateOperationsInput | string | null } export type AccountUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string type?: StringFieldUpdateOperationsInput | string provider?: StringFieldUpdateOperationsInput | string providerAccountId?: StringFieldUpdateOperationsInput | string refresh_token?: NullableStringFieldUpdateOperationsInput | string | null access_token?: NullableStringFieldUpdateOperationsInput | string | null expires_at?: NullableIntFieldUpdateOperationsInput | number | null token_type?: NullableStringFieldUpdateOperationsInput | string | null scope?: NullableStringFieldUpdateOperationsInput | string | null id_token?: NullableStringFieldUpdateOperationsInput | string | null session_state?: NullableStringFieldUpdateOperationsInput | string | null } export type SessionUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type SessionUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string sessionToken?: StringFieldUpdateOperationsInput | string expires?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } /** * Batch Payload for updateMany & deleteMany & createMany */ export type BatchPayload = { count: number } /** * DMMF */ export const dmmf: runtime.BaseDMMF }