/** * 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 Vendor * */ export type Vendor = $Result.DefaultSelection /** * Model Role * */ export type Role = $Result.DefaultSelection /** * Model User * */ export type User = $Result.DefaultSelection /** * Model RefreshToken * */ export type RefreshToken = $Result.DefaultSelection /** * Model Category * */ export type Category = $Result.DefaultSelection /** * Model Tax * */ export type Tax = $Result.DefaultSelection /** * Model Product * */ export type Product = $Result.DefaultSelection /** * Model Transaction * */ export type Transaction = $Result.DefaultSelection /** * Model TransactionItem * */ export type TransactionItem = $Result.DefaultSelection /** * ## Prisma Client ʲˢ * * Type-safe database client for TypeScript & Node.js * @example * ``` * const prisma = new PrismaClient() * // Fetch zero or more Vendors * const vendors = await prisma.vendor.findMany() * ``` * * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ export class PrismaClient< ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs > { [K: symbol]: { types: Prisma.TypeMap['other'] } /** * ## Prisma Client ʲˢ * * Type-safe database client for TypeScript & Node.js * @example * ``` * const prisma = new PrismaClient() * // Fetch zero or more Vendors * const vendors = await prisma.vendor.findMany() * ``` * * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). */ constructor(optionsArg ?: Prisma.Subset); $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): void; /** * Connect with the database */ $connect(): $Utils.JsPromise; /** * Disconnect from the database */ $disconnect(): $Utils.JsPromise; /** * Add a middleware * @deprecated since 4.16.0. For new code, prefer client extensions instead. * @see https://pris.ly/d/extensions */ $use(cb: Prisma.Middleware): void /** * Executes a prepared raw query and returns the number of affected rows. * @example * ``` * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};` * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Executes a raw query and returns the number of affected rows. * Susceptible to SQL injections, see documentation. * @example * ``` * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com') * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; /** * Performs a prepared raw query and returns the `SELECT` data. * @example * ``` * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};` * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Performs a raw query and returns the `SELECT` data. * Susceptible to SQL injections, see documentation. * @example * ``` * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com') * ``` * * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). */ $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; /** * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole. * @example * ``` * const [george, bob, alice] = await prisma.$transaction([ * prisma.user.create({ data: { name: 'George' } }), * prisma.user.create({ data: { name: 'Bob' } }), * prisma.user.create({ data: { name: 'Alice' } }), * ]) * ``` * * Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions). */ $transaction

[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise> $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs> /** * `prisma.vendor`: Exposes CRUD operations for the **Vendor** model. * Example usage: * ```ts * // Fetch zero or more Vendors * const vendors = await prisma.vendor.findMany() * ``` */ get vendor(): Prisma.VendorDelegate; /** * `prisma.role`: Exposes CRUD operations for the **Role** model. * Example usage: * ```ts * // Fetch zero or more Roles * const roles = await prisma.role.findMany() * ``` */ get role(): Prisma.RoleDelegate; /** * `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.refreshToken`: Exposes CRUD operations for the **RefreshToken** model. * Example usage: * ```ts * // Fetch zero or more RefreshTokens * const refreshTokens = await prisma.refreshToken.findMany() * ``` */ get refreshToken(): Prisma.RefreshTokenDelegate; /** * `prisma.category`: Exposes CRUD operations for the **Category** model. * Example usage: * ```ts * // Fetch zero or more Categories * const categories = await prisma.category.findMany() * ``` */ get category(): Prisma.CategoryDelegate; /** * `prisma.tax`: Exposes CRUD operations for the **Tax** model. * Example usage: * ```ts * // Fetch zero or more Taxes * const taxes = await prisma.tax.findMany() * ``` */ get tax(): Prisma.TaxDelegate; /** * `prisma.product`: Exposes CRUD operations for the **Product** model. * Example usage: * ```ts * // Fetch zero or more Products * const products = await prisma.product.findMany() * ``` */ get product(): Prisma.ProductDelegate; /** * `prisma.transaction`: Exposes CRUD operations for the **Transaction** model. * Example usage: * ```ts * // Fetch zero or more Transactions * const transactions = await prisma.transaction.findMany() * ``` */ get transaction(): Prisma.TransactionDelegate; /** * `prisma.transactionItem`: Exposes CRUD operations for the **TransactionItem** model. * Example usage: * ```ts * // Fetch zero or more TransactionItems * const transactionItems = await prisma.transactionItem.findMany() * ``` */ get transactionItem(): Prisma.TransactionItemDelegate; } export namespace Prisma { export import DMMF = runtime.DMMF export type PrismaPromise = $Public.PrismaPromise /** * Validator */ export import validator = runtime.Public.validator /** * Prisma Errors */ export import PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export import PrismaClientInitializationError = runtime.PrismaClientInitializationError export import PrismaClientValidationError = runtime.PrismaClientValidationError export import NotFoundError = runtime.NotFoundError /** * Re-export of sql-template-tag */ export import sql = runtime.sqltag export import empty = runtime.empty export import join = runtime.join export import raw = runtime.raw export import Sql = runtime.Sql /** * Decimal.js */ export import Decimal = runtime.Decimal export type DecimalJsLike = runtime.DecimalJsLike /** * Metrics */ export type Metrics = runtime.Metrics export type Metric = runtime.Metric export type MetricHistogram = runtime.MetricHistogram export type MetricHistogramBucket = runtime.MetricHistogramBucket /** * Extensions */ export import Extension = $Extensions.UserArgs export import getExtensionContext = runtime.Extensions.getExtensionContext export import Args = $Public.Args export import Payload = $Public.Payload export import Result = $Public.Result export import Exact = $Public.Exact /** * Prisma Client JS version: 5.22.0 * Query Engine version: 605197351a3c8bdd595af2d2a9bc3025bca48ea2 */ export type PrismaVersion = { client: string } export const prismaVersion: PrismaVersion /** * Utility Types */ export import JsonObject = runtime.JsonObject export import JsonArray = runtime.JsonArray export import JsonValue = runtime.JsonValue export import InputJsonObject = runtime.InputJsonObject export import InputJsonArray = runtime.InputJsonArray export import InputJsonValue = runtime.InputJsonValue /** * Types of the values used to represent different kinds of `null` values when working with JSON fields. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ namespace NullTypes { /** * Type of `Prisma.DbNull`. * * You cannot use other instances of this class. Please use the `Prisma.DbNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class DbNull { private DbNull: never private constructor() } /** * Type of `Prisma.JsonNull`. * * You cannot use other instances of this class. Please use the `Prisma.JsonNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class JsonNull { private JsonNull: never private constructor() } /** * Type of `Prisma.AnyNull`. * * You cannot use other instances of this class. Please use the `Prisma.AnyNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class AnyNull { private AnyNull: never private constructor() } } /** * Helper for filtering JSON entries that have `null` on the database (empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const DbNull: NullTypes.DbNull /** * Helper for filtering JSON entries that have JSON `null` values (not empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const JsonNull: NullTypes.JsonNull /** * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull` * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const AnyNull: NullTypes.AnyNull type SelectAndInclude = { select: any include: any } type SelectAndOmit = { select: any omit: any } /** * Get the type of the value, that the Promise holds. */ export type PromiseType> = T extends PromiseLike ? U : T; /** * Get the return type of a function which returns a Promise. */ export type PromiseReturnType $Utils.JsPromise> = PromiseType> /** * From T, pick a set of properties whose keys are in the union K */ type Prisma__Pick = { [P in K]: T[P]; }; export type Enumerable = T | Array; export type RequiredKeys = { [K in keyof T]-?: {} extends Prisma__Pick ? never : K }[keyof T] export type TruthyKeys = keyof { [K in keyof T as T[K] extends false | undefined | null ? never : K]: K } export type TrueKeys = TruthyKeys>> /** * Subset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection */ export type Subset = { [key in keyof T]: key extends keyof U ? T[key] : never; }; /** * SelectSubset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection. * Additionally, it validates, if both select and include are present. If the case, it errors. */ export type SelectSubset = { [key in keyof T]: key extends keyof U ? T[key] : never } & (T extends SelectAndInclude ? 'Please either choose `select` or `include`.' : T extends SelectAndOmit ? 'Please either choose `select` or `omit`.' : {}) /** * Subset + Intersection * @desc From `T` pick properties that exist in `U` and intersect `K` */ export type SubsetIntersection = { [key in keyof T]: key extends keyof U ? T[key] : never } & K type Without = { [P in Exclude]?: never }; /** * XOR is needed to have a real mutually exclusive union type * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types */ type XOR = T extends object ? U extends object ? (Without & U) | (Without & T) : U : T /** * Is T a Record? */ type IsObject = T extends Array ? False : T extends Date ? False : T extends Uint8Array ? False : T extends BigInt ? False : T extends object ? True : False /** * If it's T[], return T */ export type UnEnumerate = T extends Array ? U : T /** * From ts-toolbelt */ type __Either = Omit & { // Merge all but K [P in K]: Prisma__Pick // With K possibilities }[K] type EitherStrict = Strict<__Either> type EitherLoose = ComputeRaw<__Either> type _Either< O extends object, K extends Key, strict extends Boolean > = { 1: EitherStrict 0: EitherLoose }[strict] type Either< O extends object, K extends Key, strict extends Boolean = 1 > = O extends unknown ? _Either : never export type Union = any type PatchUndefined = { [K in keyof O]: O[K] extends undefined ? At : O[K] } & {} /** Helper Types for "Merge" **/ export type IntersectOf = ( U extends unknown ? (k: U) => void : never ) extends (k: infer I) => void ? I : never export type Overwrite = { [K in keyof O]: K extends keyof O1 ? O1[K] : O[K]; } & {}; type _Merge = IntersectOf; }>>; type Key = string | number | symbol; type AtBasic = K extends keyof O ? O[K] : never; type AtStrict = O[K & keyof O]; type AtLoose = O extends unknown ? AtStrict : never; export type At = { 1: AtStrict; 0: AtLoose; }[strict]; export type ComputeRaw = A extends Function ? A : { [K in keyof A]: A[K]; } & {}; export type OptionalFlat = { [K in keyof O]?: O[K]; } & {}; type _Record = { [P in K]: T; }; // cause typescript not to expand types and preserve names type NoExpand = T extends unknown ? T : never; // this type assumes the passed object is entirely optional type AtLeast = NoExpand< O extends unknown ? | (K extends keyof O ? { [P in K]: O[P] } & O : O) | {[P in keyof O as P extends K ? K : never]-?: O[P]} & O : never>; type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; export type Strict = ComputeRaw<_Strict>; /** End Helper Types for "Merge" **/ export type Merge = ComputeRaw<_Merge>>; /** A [[Boolean]] */ export type Boolean = True | False // /** // 1 // */ export type True = 1 /** 0 */ export type False = 0 export type Not = { 0: 1 1: 0 }[B] export type Extends = [A1] extends [never] ? 0 // anything `never` is false : A1 extends A2 ? 1 : 0 export type Has = Not< Extends, U1> > export type Or = { 0: { 0: 0 1: 1 } 1: { 0: 1 1: 1 } }[B1][B2] export type Keys = U extends unknown ? keyof U : never type Cast = A extends B ? A : B; export const type: unique symbol; /** * Used by group by */ export type GetScalarType = O extends object ? { [P in keyof T]: P extends keyof O ? O[P] : never } : never type FieldPaths< T, U = Omit > = IsObject extends True ? U : T type GetHavingFields = { [K in keyof T]: Or< Or, Extends<'AND', K>>, Extends<'NOT', K> > extends True ? // infer is only needed to not hit TS limit // based on the brilliant idea of Pierre-Antoine Mills // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437 T[K] extends infer TK ? GetHavingFields extends object ? Merge> : never> : never : {} extends FieldPaths ? never : K }[keyof T] /** * Convert tuple to union */ type _TupleToUnion = T extends (infer E)[] ? E : never type TupleToUnion = _TupleToUnion type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T /** * Like `Pick`, but additionally can also accept an array of keys */ type PickEnumerable | keyof T> = Prisma__Pick> /** * Exclude all keys with underscores */ type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T export type FieldRef = runtime.FieldRef type FieldRefInputType = Model extends never ? never : FieldRef export const ModelName: { Vendor: 'Vendor', Role: 'Role', User: 'User', RefreshToken: 'RefreshToken', Category: 'Category', Tax: 'Tax', Product: 'Product', Transaction: 'Transaction', TransactionItem: 'TransactionItem' }; export type ModelName = (typeof ModelName)[keyof typeof ModelName] export type Datasources = { db?: Datasource } interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs, clientOptions: PrismaClientOptions }, $Utils.Record> { returns: Prisma.TypeMap } export type TypeMap = { meta: { modelProps: "vendor" | "role" | "user" | "refreshToken" | "category" | "tax" | "product" | "transaction" | "transactionItem" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { Vendor: { payload: Prisma.$VendorPayload fields: Prisma.VendorFieldRefs operations: { findUnique: { args: Prisma.VendorFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.VendorFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.VendorFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.VendorFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.VendorFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.VendorCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.VendorCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.VendorCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.VendorDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.VendorUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.VendorDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.VendorUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.VendorUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.VendorAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.VendorGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.VendorCountArgs result: $Utils.Optional | number } } } Role: { payload: Prisma.$RolePayload fields: Prisma.RoleFieldRefs operations: { findUnique: { args: Prisma.RoleFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.RoleFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.RoleFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.RoleFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.RoleFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.RoleCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.RoleCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.RoleCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.RoleDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.RoleUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.RoleDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.RoleUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.RoleUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.RoleAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.RoleGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.RoleCountArgs 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 } 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 } } } RefreshToken: { payload: Prisma.$RefreshTokenPayload fields: Prisma.RefreshTokenFieldRefs operations: { findUnique: { args: Prisma.RefreshTokenFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.RefreshTokenFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.RefreshTokenFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.RefreshTokenFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.RefreshTokenFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.RefreshTokenCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.RefreshTokenCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.RefreshTokenCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.RefreshTokenDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.RefreshTokenUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.RefreshTokenDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.RefreshTokenUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.RefreshTokenUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.RefreshTokenAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.RefreshTokenGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.RefreshTokenCountArgs result: $Utils.Optional | number } } } Category: { payload: Prisma.$CategoryPayload fields: Prisma.CategoryFieldRefs operations: { findUnique: { args: Prisma.CategoryFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.CategoryFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.CategoryFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.CategoryFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.CategoryFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.CategoryCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.CategoryCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.CategoryCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.CategoryDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.CategoryUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.CategoryDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.CategoryUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.CategoryUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.CategoryAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.CategoryGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.CategoryCountArgs result: $Utils.Optional | number } } } Tax: { payload: Prisma.$TaxPayload fields: Prisma.TaxFieldRefs operations: { findUnique: { args: Prisma.TaxFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.TaxFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.TaxFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.TaxFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.TaxFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.TaxCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.TaxCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.TaxCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.TaxDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.TaxUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.TaxDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.TaxUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.TaxUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.TaxAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.TaxGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.TaxCountArgs result: $Utils.Optional | number } } } Product: { payload: Prisma.$ProductPayload fields: Prisma.ProductFieldRefs operations: { findUnique: { args: Prisma.ProductFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.ProductFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.ProductFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.ProductFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.ProductFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.ProductCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.ProductCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.ProductCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.ProductDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.ProductUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.ProductDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.ProductUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.ProductUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.ProductAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.ProductGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.ProductCountArgs result: $Utils.Optional | number } } } Transaction: { payload: Prisma.$TransactionPayload fields: Prisma.TransactionFieldRefs operations: { findUnique: { args: Prisma.TransactionFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.TransactionFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.TransactionFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.TransactionFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.TransactionFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.TransactionCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.TransactionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.TransactionCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.TransactionDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.TransactionUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.TransactionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.TransactionUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.TransactionUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.TransactionAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.TransactionGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.TransactionCountArgs result: $Utils.Optional | number } } } TransactionItem: { payload: Prisma.$TransactionItemPayload fields: Prisma.TransactionItemFieldRefs operations: { findUnique: { args: Prisma.TransactionItemFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.TransactionItemFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.TransactionItemFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.TransactionItemFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.TransactionItemFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.TransactionItemCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.TransactionItemCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.TransactionItemCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.TransactionItemDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.TransactionItemUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.TransactionItemDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.TransactionItemUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.TransactionItemUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.TransactionItemAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.TransactionItemGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.TransactionItemCountArgs result: $Utils.Optional | number } } } } } & { other: { payload: any operations: { $executeRaw: { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } $executeRawUnsafe: { args: [query: string, ...values: any[]], result: any } $queryRaw: { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } $queryRawUnsafe: { args: [query: string, ...values: any[]], result: any } } } } export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs> export type DefaultPrismaClient = PrismaClient export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' export interface PrismaClientOptions { /** * Overwrites the datasource url from your schema.prisma file */ datasources?: Datasources /** * Overwrites the datasource url from your schema.prisma file */ datasourceUrl?: string /** * @default "colorless" */ errorFormat?: ErrorFormat /** * @example * ``` * // Defaults to stdout * log: ['query', 'info', 'warn', 'error'] * * // Emit as events * log: [ * { emit: 'stdout', level: 'query' }, * { emit: 'stdout', level: 'info' }, * { emit: 'stdout', level: 'warn' } * { emit: 'stdout', level: 'error' } * ] * ``` * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option). */ log?: (LogLevel | LogDefinition)[] /** * The default values for transactionOptions * maxWait ?= 2000 * timeout ?= 5000 */ transactionOptions?: { maxWait?: number timeout?: number isolationLevel?: Prisma.TransactionIsolationLevel } } /* Types for Logging */ export type LogLevel = 'info' | 'query' | 'warn' | 'error' export type LogDefinition = { level: LogLevel emit: 'stdout' | 'event' } export type GetLogType = T extends LogDefinition ? T['emit'] extends 'event' ? T['level'] : never : never export type GetEvents = T extends Array ? GetLogType | GetLogType | GetLogType | GetLogType : never export type QueryEvent = { timestamp: Date query: string params: string duration: number target: string } export type LogEvent = { timestamp: Date message: string target: string } /* End Types for Logging */ export type PrismaAction = | 'findUnique' | 'findUniqueOrThrow' | 'findMany' | 'findFirst' | 'findFirstOrThrow' | 'create' | 'createMany' | 'createManyAndReturn' | 'update' | 'updateMany' | 'upsert' | 'delete' | 'deleteMany' | 'executeRaw' | 'queryRaw' | 'aggregate' | 'count' | 'runCommandRaw' | 'findRaw' | 'groupBy' /** * These options are being passed into the middleware as "params" */ export type MiddlewareParams = { model?: ModelName action: PrismaAction args: any dataPath: string[] runInTransaction: boolean } /** * The `T` type makes sure, that the `return proceed` is not forgotten in the middleware implementation */ export type Middleware = ( params: MiddlewareParams, next: (params: MiddlewareParams) => $Utils.JsPromise, ) => $Utils.JsPromise // tested in getLogLevel.test.ts export function getLogLevel(log: Array): LogLevel | undefined; /** * `PrismaClient` proxy available in interactive transactions. */ export type TransactionClient = Omit export type Datasource = { url?: string } /** * Count Types */ /** * Count Type VendorCountOutputType */ export type VendorCountOutputType = { users: number categories: number products: number taxes: number transactions: number } export type VendorCountOutputTypeSelect = { users?: boolean | VendorCountOutputTypeCountUsersArgs categories?: boolean | VendorCountOutputTypeCountCategoriesArgs products?: boolean | VendorCountOutputTypeCountProductsArgs taxes?: boolean | VendorCountOutputTypeCountTaxesArgs transactions?: boolean | VendorCountOutputTypeCountTransactionsArgs } // Custom InputTypes /** * VendorCountOutputType without action */ export type VendorCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the VendorCountOutputType */ select?: VendorCountOutputTypeSelect | null } /** * VendorCountOutputType without action */ export type VendorCountOutputTypeCountUsersArgs = { where?: UserWhereInput } /** * VendorCountOutputType without action */ export type VendorCountOutputTypeCountCategoriesArgs = { where?: CategoryWhereInput } /** * VendorCountOutputType without action */ export type VendorCountOutputTypeCountProductsArgs = { where?: ProductWhereInput } /** * VendorCountOutputType without action */ export type VendorCountOutputTypeCountTaxesArgs = { where?: TaxWhereInput } /** * VendorCountOutputType without action */ export type VendorCountOutputTypeCountTransactionsArgs = { where?: TransactionWhereInput } /** * Count Type RoleCountOutputType */ export type RoleCountOutputType = { users: number } export type RoleCountOutputTypeSelect = { users?: boolean | RoleCountOutputTypeCountUsersArgs } // Custom InputTypes /** * RoleCountOutputType without action */ export type RoleCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the RoleCountOutputType */ select?: RoleCountOutputTypeSelect | null } /** * RoleCountOutputType without action */ export type RoleCountOutputTypeCountUsersArgs = { where?: UserWhereInput } /** * Count Type UserCountOutputType */ export type UserCountOutputType = { refreshTokens: number transactions: number } export type UserCountOutputTypeSelect = { refreshTokens?: boolean | UserCountOutputTypeCountRefreshTokensArgs transactions?: boolean | UserCountOutputTypeCountTransactionsArgs } // Custom InputTypes /** * UserCountOutputType without action */ export type UserCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the UserCountOutputType */ select?: UserCountOutputTypeSelect | null } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountRefreshTokensArgs = { where?: RefreshTokenWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountTransactionsArgs = { where?: TransactionWhereInput } /** * Count Type CategoryCountOutputType */ export type CategoryCountOutputType = { products: number } export type CategoryCountOutputTypeSelect = { products?: boolean | CategoryCountOutputTypeCountProductsArgs } // Custom InputTypes /** * CategoryCountOutputType without action */ export type CategoryCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the CategoryCountOutputType */ select?: CategoryCountOutputTypeSelect | null } /** * CategoryCountOutputType without action */ export type CategoryCountOutputTypeCountProductsArgs = { where?: ProductWhereInput } /** * Count Type TaxCountOutputType */ export type TaxCountOutputType = { products: number } export type TaxCountOutputTypeSelect = { products?: boolean | TaxCountOutputTypeCountProductsArgs } // Custom InputTypes /** * TaxCountOutputType without action */ export type TaxCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the TaxCountOutputType */ select?: TaxCountOutputTypeSelect | null } /** * TaxCountOutputType without action */ export type TaxCountOutputTypeCountProductsArgs = { where?: ProductWhereInput } /** * Count Type ProductCountOutputType */ export type ProductCountOutputType = { transactionItems: number } export type ProductCountOutputTypeSelect = { transactionItems?: boolean | ProductCountOutputTypeCountTransactionItemsArgs } // Custom InputTypes /** * ProductCountOutputType without action */ export type ProductCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the ProductCountOutputType */ select?: ProductCountOutputTypeSelect | null } /** * ProductCountOutputType without action */ export type ProductCountOutputTypeCountTransactionItemsArgs = { where?: TransactionItemWhereInput } /** * Count Type TransactionCountOutputType */ export type TransactionCountOutputType = { items: number } export type TransactionCountOutputTypeSelect = { items?: boolean | TransactionCountOutputTypeCountItemsArgs } // Custom InputTypes /** * TransactionCountOutputType without action */ export type TransactionCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the TransactionCountOutputType */ select?: TransactionCountOutputTypeSelect | null } /** * TransactionCountOutputType without action */ export type TransactionCountOutputTypeCountItemsArgs = { where?: TransactionItemWhereInput } /** * Models */ /** * Model Vendor */ export type AggregateVendor = { _count: VendorCountAggregateOutputType | null _min: VendorMinAggregateOutputType | null _max: VendorMaxAggregateOutputType | null } export type VendorMinAggregateOutputType = { id: string | null name: string | null businessNum: string | null taxSettings: string | null createdAt: Date | null updatedAt: Date | null } export type VendorMaxAggregateOutputType = { id: string | null name: string | null businessNum: string | null taxSettings: string | null createdAt: Date | null updatedAt: Date | null } export type VendorCountAggregateOutputType = { id: number name: number businessNum: number taxSettings: number createdAt: number updatedAt: number _all: number } export type VendorMinAggregateInputType = { id?: true name?: true businessNum?: true taxSettings?: true createdAt?: true updatedAt?: true } export type VendorMaxAggregateInputType = { id?: true name?: true businessNum?: true taxSettings?: true createdAt?: true updatedAt?: true } export type VendorCountAggregateInputType = { id?: true name?: true businessNum?: true taxSettings?: true createdAt?: true updatedAt?: true _all?: true } export type VendorAggregateArgs = { /** * Filter which Vendor to aggregate. */ where?: VendorWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Vendors to fetch. */ orderBy?: VendorOrderByWithRelationInput | VendorOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: VendorWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Vendors 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` Vendors. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Vendors **/ _count?: true | VendorCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: VendorMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: VendorMaxAggregateInputType } export type GetVendorAggregateType = { [P in keyof T & keyof AggregateVendor]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type VendorGroupByArgs = { where?: VendorWhereInput orderBy?: VendorOrderByWithAggregationInput | VendorOrderByWithAggregationInput[] by: VendorScalarFieldEnum[] | VendorScalarFieldEnum having?: VendorScalarWhereWithAggregatesInput take?: number skip?: number _count?: VendorCountAggregateInputType | true _min?: VendorMinAggregateInputType _max?: VendorMaxAggregateInputType } export type VendorGroupByOutputType = { id: string name: string businessNum: string | null taxSettings: string | null createdAt: Date updatedAt: Date _count: VendorCountAggregateOutputType | null _min: VendorMinAggregateOutputType | null _max: VendorMaxAggregateOutputType | null } type GetVendorGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof VendorGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type VendorSelect = $Extensions.GetSelect<{ id?: boolean name?: boolean businessNum?: boolean taxSettings?: boolean createdAt?: boolean updatedAt?: boolean users?: boolean | Vendor$usersArgs categories?: boolean | Vendor$categoriesArgs products?: boolean | Vendor$productsArgs taxes?: boolean | Vendor$taxesArgs transactions?: boolean | Vendor$transactionsArgs _count?: boolean | VendorCountOutputTypeDefaultArgs }, ExtArgs["result"]["vendor"]> export type VendorSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean businessNum?: boolean taxSettings?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["vendor"]> export type VendorSelectScalar = { id?: boolean name?: boolean businessNum?: boolean taxSettings?: boolean createdAt?: boolean updatedAt?: boolean } export type VendorInclude = { users?: boolean | Vendor$usersArgs categories?: boolean | Vendor$categoriesArgs products?: boolean | Vendor$productsArgs taxes?: boolean | Vendor$taxesArgs transactions?: boolean | Vendor$transactionsArgs _count?: boolean | VendorCountOutputTypeDefaultArgs } export type VendorIncludeCreateManyAndReturn = {} export type $VendorPayload = { name: "Vendor" objects: { users: Prisma.$UserPayload[] categories: Prisma.$CategoryPayload[] products: Prisma.$ProductPayload[] taxes: Prisma.$TaxPayload[] transactions: Prisma.$TransactionPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string name: string businessNum: string | null taxSettings: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["vendor"]> composites: {} } type VendorGetPayload = $Result.GetResult type VendorCountArgs = Omit & { select?: VendorCountAggregateInputType | true } export interface VendorDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Vendor'], meta: { name: 'Vendor' } } /** * Find zero or one Vendor that matches the filter. * @param {VendorFindUniqueArgs} args - Arguments to find a Vendor * @example * // Get one Vendor * const vendor = await prisma.vendor.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__VendorClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Vendor that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {VendorFindUniqueOrThrowArgs} args - Arguments to find a Vendor * @example * // Get one Vendor * const vendor = await prisma.vendor.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__VendorClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Vendor 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 {VendorFindFirstArgs} args - Arguments to find a Vendor * @example * // Get one Vendor * const vendor = await prisma.vendor.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__VendorClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Vendor 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 {VendorFindFirstOrThrowArgs} args - Arguments to find a Vendor * @example * // Get one Vendor * const vendor = await prisma.vendor.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__VendorClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Vendors 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 {VendorFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Vendors * const vendors = await prisma.vendor.findMany() * * // Get first 10 Vendors * const vendors = await prisma.vendor.findMany({ take: 10 }) * * // Only select the `id` * const vendorWithIdOnly = await prisma.vendor.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Vendor. * @param {VendorCreateArgs} args - Arguments to create a Vendor. * @example * // Create one Vendor * const Vendor = await prisma.vendor.create({ * data: { * // ... data to create a Vendor * } * }) * */ create(args: SelectSubset>): Prisma__VendorClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Vendors. * @param {VendorCreateManyArgs} args - Arguments to create many Vendors. * @example * // Create many Vendors * const vendor = await prisma.vendor.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Vendors and returns the data saved in the database. * @param {VendorCreateManyAndReturnArgs} args - Arguments to create many Vendors. * @example * // Create many Vendors * const vendor = await prisma.vendor.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Vendors and only return the `id` * const vendorWithIdOnly = await prisma.vendor.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Vendor. * @param {VendorDeleteArgs} args - Arguments to delete one Vendor. * @example * // Delete one Vendor * const Vendor = await prisma.vendor.delete({ * where: { * // ... filter to delete one Vendor * } * }) * */ delete(args: SelectSubset>): Prisma__VendorClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Vendor. * @param {VendorUpdateArgs} args - Arguments to update one Vendor. * @example * // Update one Vendor * const vendor = await prisma.vendor.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__VendorClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Vendors. * @param {VendorDeleteManyArgs} args - Arguments to filter Vendors to delete. * @example * // Delete a few Vendors * const { count } = await prisma.vendor.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Vendors. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VendorUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Vendors * const vendor = await prisma.vendor.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Vendor. * @param {VendorUpsertArgs} args - Arguments to update or create a Vendor. * @example * // Update or create a Vendor * const vendor = await prisma.vendor.upsert({ * create: { * // ... data to create a Vendor * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Vendor we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__VendorClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Vendors. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VendorCountArgs} args - Arguments to filter Vendors to count. * @example * // Count the number of Vendors * const count = await prisma.vendor.count({ * where: { * // ... the filter for the Vendors 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 Vendor. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VendorAggregateArgs} 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 Vendor. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VendorGroupByArgs} 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 VendorGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: VendorGroupByArgs['orderBy'] } : { orderBy?: VendorGroupByArgs['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 ? GetVendorGroupByPayload : Prisma.PrismaPromise /** * Fields of the Vendor model */ readonly fields: VendorFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Vendor. * 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__VendorClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" users = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> categories = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> products = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> taxes = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> transactions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Vendor model */ interface VendorFieldRefs { readonly id: FieldRef<"Vendor", 'String'> readonly name: FieldRef<"Vendor", 'String'> readonly businessNum: FieldRef<"Vendor", 'String'> readonly taxSettings: FieldRef<"Vendor", 'String'> readonly createdAt: FieldRef<"Vendor", 'DateTime'> readonly updatedAt: FieldRef<"Vendor", 'DateTime'> } // Custom InputTypes /** * Vendor findUnique */ export type VendorFindUniqueArgs = { /** * Select specific fields to fetch from the Vendor */ select?: VendorSelect | null /** * Choose, which related nodes to fetch as well */ include?: VendorInclude | null /** * Filter, which Vendor to fetch. */ where: VendorWhereUniqueInput } /** * Vendor findUniqueOrThrow */ export type VendorFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Vendor */ select?: VendorSelect | null /** * Choose, which related nodes to fetch as well */ include?: VendorInclude | null /** * Filter, which Vendor to fetch. */ where: VendorWhereUniqueInput } /** * Vendor findFirst */ export type VendorFindFirstArgs = { /** * Select specific fields to fetch from the Vendor */ select?: VendorSelect | null /** * Choose, which related nodes to fetch as well */ include?: VendorInclude | null /** * Filter, which Vendor to fetch. */ where?: VendorWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Vendors to fetch. */ orderBy?: VendorOrderByWithRelationInput | VendorOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Vendors. */ cursor?: VendorWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Vendors 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` Vendors. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Vendors. */ distinct?: VendorScalarFieldEnum | VendorScalarFieldEnum[] } /** * Vendor findFirstOrThrow */ export type VendorFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Vendor */ select?: VendorSelect | null /** * Choose, which related nodes to fetch as well */ include?: VendorInclude | null /** * Filter, which Vendor to fetch. */ where?: VendorWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Vendors to fetch. */ orderBy?: VendorOrderByWithRelationInput | VendorOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Vendors. */ cursor?: VendorWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Vendors 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` Vendors. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Vendors. */ distinct?: VendorScalarFieldEnum | VendorScalarFieldEnum[] } /** * Vendor findMany */ export type VendorFindManyArgs = { /** * Select specific fields to fetch from the Vendor */ select?: VendorSelect | null /** * Choose, which related nodes to fetch as well */ include?: VendorInclude | null /** * Filter, which Vendors to fetch. */ where?: VendorWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Vendors to fetch. */ orderBy?: VendorOrderByWithRelationInput | VendorOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Vendors. */ cursor?: VendorWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Vendors 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` Vendors. */ skip?: number distinct?: VendorScalarFieldEnum | VendorScalarFieldEnum[] } /** * Vendor create */ export type VendorCreateArgs = { /** * Select specific fields to fetch from the Vendor */ select?: VendorSelect | null /** * Choose, which related nodes to fetch as well */ include?: VendorInclude | null /** * The data needed to create a Vendor. */ data: XOR } /** * Vendor createMany */ export type VendorCreateManyArgs = { /** * The data used to create many Vendors. */ data: VendorCreateManyInput | VendorCreateManyInput[] } /** * Vendor createManyAndReturn */ export type VendorCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Vendor */ select?: VendorSelectCreateManyAndReturn | null /** * The data used to create many Vendors. */ data: VendorCreateManyInput | VendorCreateManyInput[] } /** * Vendor update */ export type VendorUpdateArgs = { /** * Select specific fields to fetch from the Vendor */ select?: VendorSelect | null /** * Choose, which related nodes to fetch as well */ include?: VendorInclude | null /** * The data needed to update a Vendor. */ data: XOR /** * Choose, which Vendor to update. */ where: VendorWhereUniqueInput } /** * Vendor updateMany */ export type VendorUpdateManyArgs = { /** * The data used to update Vendors. */ data: XOR /** * Filter which Vendors to update */ where?: VendorWhereInput } /** * Vendor upsert */ export type VendorUpsertArgs = { /** * Select specific fields to fetch from the Vendor */ select?: VendorSelect | null /** * Choose, which related nodes to fetch as well */ include?: VendorInclude | null /** * The filter to search for the Vendor to update in case it exists. */ where: VendorWhereUniqueInput /** * In case the Vendor found by the `where` argument doesn't exist, create a new Vendor with this data. */ create: XOR /** * In case the Vendor was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Vendor delete */ export type VendorDeleteArgs = { /** * Select specific fields to fetch from the Vendor */ select?: VendorSelect | null /** * Choose, which related nodes to fetch as well */ include?: VendorInclude | null /** * Filter which Vendor to delete. */ where: VendorWhereUniqueInput } /** * Vendor deleteMany */ export type VendorDeleteManyArgs = { /** * Filter which Vendors to delete */ where?: VendorWhereInput } /** * Vendor.users */ export type Vendor$usersArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null where?: UserWhereInput orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] cursor?: UserWhereUniqueInput take?: number skip?: number distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * Vendor.categories */ export type Vendor$categoriesArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null where?: CategoryWhereInput orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] cursor?: CategoryWhereUniqueInput take?: number skip?: number distinct?: CategoryScalarFieldEnum | CategoryScalarFieldEnum[] } /** * Vendor.products */ export type Vendor$productsArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null where?: ProductWhereInput orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] cursor?: ProductWhereUniqueInput take?: number skip?: number distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] } /** * Vendor.taxes */ export type Vendor$taxesArgs = { /** * Select specific fields to fetch from the Tax */ select?: TaxSelect | null /** * Choose, which related nodes to fetch as well */ include?: TaxInclude | null where?: TaxWhereInput orderBy?: TaxOrderByWithRelationInput | TaxOrderByWithRelationInput[] cursor?: TaxWhereUniqueInput take?: number skip?: number distinct?: TaxScalarFieldEnum | TaxScalarFieldEnum[] } /** * Vendor.transactions */ export type Vendor$transactionsArgs = { /** * Select specific fields to fetch from the Transaction */ select?: TransactionSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionInclude | null where?: TransactionWhereInput orderBy?: TransactionOrderByWithRelationInput | TransactionOrderByWithRelationInput[] cursor?: TransactionWhereUniqueInput take?: number skip?: number distinct?: TransactionScalarFieldEnum | TransactionScalarFieldEnum[] } /** * Vendor without action */ export type VendorDefaultArgs = { /** * Select specific fields to fetch from the Vendor */ select?: VendorSelect | null /** * Choose, which related nodes to fetch as well */ include?: VendorInclude | null } /** * Model Role */ export type AggregateRole = { _count: RoleCountAggregateOutputType | null _min: RoleMinAggregateOutputType | null _max: RoleMaxAggregateOutputType | null } export type RoleMinAggregateOutputType = { id: string | null name: string | null } export type RoleMaxAggregateOutputType = { id: string | null name: string | null } export type RoleCountAggregateOutputType = { id: number name: number _all: number } export type RoleMinAggregateInputType = { id?: true name?: true } export type RoleMaxAggregateInputType = { id?: true name?: true } export type RoleCountAggregateInputType = { id?: true name?: true _all?: true } export type RoleAggregateArgs = { /** * Filter which Role to aggregate. */ where?: RoleWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Roles to fetch. */ orderBy?: RoleOrderByWithRelationInput | RoleOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: RoleWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Roles 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` Roles. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Roles **/ _count?: true | RoleCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: RoleMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: RoleMaxAggregateInputType } export type GetRoleAggregateType = { [P in keyof T & keyof AggregateRole]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type RoleGroupByArgs = { where?: RoleWhereInput orderBy?: RoleOrderByWithAggregationInput | RoleOrderByWithAggregationInput[] by: RoleScalarFieldEnum[] | RoleScalarFieldEnum having?: RoleScalarWhereWithAggregatesInput take?: number skip?: number _count?: RoleCountAggregateInputType | true _min?: RoleMinAggregateInputType _max?: RoleMaxAggregateInputType } export type RoleGroupByOutputType = { id: string name: string _count: RoleCountAggregateOutputType | null _min: RoleMinAggregateOutputType | null _max: RoleMaxAggregateOutputType | null } type GetRoleGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof RoleGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type RoleSelect = $Extensions.GetSelect<{ id?: boolean name?: boolean users?: boolean | Role$usersArgs _count?: boolean | RoleCountOutputTypeDefaultArgs }, ExtArgs["result"]["role"]> export type RoleSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean }, ExtArgs["result"]["role"]> export type RoleSelectScalar = { id?: boolean name?: boolean } export type RoleInclude = { users?: boolean | Role$usersArgs _count?: boolean | RoleCountOutputTypeDefaultArgs } export type RoleIncludeCreateManyAndReturn = {} export type $RolePayload = { name: "Role" objects: { users: Prisma.$UserPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string name: string }, ExtArgs["result"]["role"]> composites: {} } type RoleGetPayload = $Result.GetResult type RoleCountArgs = Omit & { select?: RoleCountAggregateInputType | true } export interface RoleDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Role'], meta: { name: 'Role' } } /** * Find zero or one Role that matches the filter. * @param {RoleFindUniqueArgs} args - Arguments to find a Role * @example * // Get one Role * const role = await prisma.role.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__RoleClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Role that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {RoleFindUniqueOrThrowArgs} args - Arguments to find a Role * @example * // Get one Role * const role = await prisma.role.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__RoleClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Role 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 {RoleFindFirstArgs} args - Arguments to find a Role * @example * // Get one Role * const role = await prisma.role.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__RoleClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Role 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 {RoleFindFirstOrThrowArgs} args - Arguments to find a Role * @example * // Get one Role * const role = await prisma.role.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__RoleClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Roles 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 {RoleFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Roles * const roles = await prisma.role.findMany() * * // Get first 10 Roles * const roles = await prisma.role.findMany({ take: 10 }) * * // Only select the `id` * const roleWithIdOnly = await prisma.role.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Role. * @param {RoleCreateArgs} args - Arguments to create a Role. * @example * // Create one Role * const Role = await prisma.role.create({ * data: { * // ... data to create a Role * } * }) * */ create(args: SelectSubset>): Prisma__RoleClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Roles. * @param {RoleCreateManyArgs} args - Arguments to create many Roles. * @example * // Create many Roles * const role = await prisma.role.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Roles and returns the data saved in the database. * @param {RoleCreateManyAndReturnArgs} args - Arguments to create many Roles. * @example * // Create many Roles * const role = await prisma.role.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Roles and only return the `id` * const roleWithIdOnly = await prisma.role.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Role. * @param {RoleDeleteArgs} args - Arguments to delete one Role. * @example * // Delete one Role * const Role = await prisma.role.delete({ * where: { * // ... filter to delete one Role * } * }) * */ delete(args: SelectSubset>): Prisma__RoleClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Role. * @param {RoleUpdateArgs} args - Arguments to update one Role. * @example * // Update one Role * const role = await prisma.role.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__RoleClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Roles. * @param {RoleDeleteManyArgs} args - Arguments to filter Roles to delete. * @example * // Delete a few Roles * const { count } = await prisma.role.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Roles. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RoleUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Roles * const role = await prisma.role.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Role. * @param {RoleUpsertArgs} args - Arguments to update or create a Role. * @example * // Update or create a Role * const role = await prisma.role.upsert({ * create: { * // ... data to create a Role * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Role we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__RoleClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Roles. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RoleCountArgs} args - Arguments to filter Roles to count. * @example * // Count the number of Roles * const count = await prisma.role.count({ * where: { * // ... the filter for the Roles 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 Role. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RoleAggregateArgs} 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 Role. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RoleGroupByArgs} 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 RoleGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: RoleGroupByArgs['orderBy'] } : { orderBy?: RoleGroupByArgs['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 ? GetRoleGroupByPayload : Prisma.PrismaPromise /** * Fields of the Role model */ readonly fields: RoleFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Role. * 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__RoleClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" users = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Role model */ interface RoleFieldRefs { readonly id: FieldRef<"Role", 'String'> readonly name: FieldRef<"Role", 'String'> } // Custom InputTypes /** * Role findUnique */ export type RoleFindUniqueArgs = { /** * Select specific fields to fetch from the Role */ select?: RoleSelect | null /** * Choose, which related nodes to fetch as well */ include?: RoleInclude | null /** * Filter, which Role to fetch. */ where: RoleWhereUniqueInput } /** * Role findUniqueOrThrow */ export type RoleFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Role */ select?: RoleSelect | null /** * Choose, which related nodes to fetch as well */ include?: RoleInclude | null /** * Filter, which Role to fetch. */ where: RoleWhereUniqueInput } /** * Role findFirst */ export type RoleFindFirstArgs = { /** * Select specific fields to fetch from the Role */ select?: RoleSelect | null /** * Choose, which related nodes to fetch as well */ include?: RoleInclude | null /** * Filter, which Role to fetch. */ where?: RoleWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Roles to fetch. */ orderBy?: RoleOrderByWithRelationInput | RoleOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Roles. */ cursor?: RoleWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Roles 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` Roles. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Roles. */ distinct?: RoleScalarFieldEnum | RoleScalarFieldEnum[] } /** * Role findFirstOrThrow */ export type RoleFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Role */ select?: RoleSelect | null /** * Choose, which related nodes to fetch as well */ include?: RoleInclude | null /** * Filter, which Role to fetch. */ where?: RoleWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Roles to fetch. */ orderBy?: RoleOrderByWithRelationInput | RoleOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Roles. */ cursor?: RoleWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Roles 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` Roles. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Roles. */ distinct?: RoleScalarFieldEnum | RoleScalarFieldEnum[] } /** * Role findMany */ export type RoleFindManyArgs = { /** * Select specific fields to fetch from the Role */ select?: RoleSelect | null /** * Choose, which related nodes to fetch as well */ include?: RoleInclude | null /** * Filter, which Roles to fetch. */ where?: RoleWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Roles to fetch. */ orderBy?: RoleOrderByWithRelationInput | RoleOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Roles. */ cursor?: RoleWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Roles 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` Roles. */ skip?: number distinct?: RoleScalarFieldEnum | RoleScalarFieldEnum[] } /** * Role create */ export type RoleCreateArgs = { /** * Select specific fields to fetch from the Role */ select?: RoleSelect | null /** * Choose, which related nodes to fetch as well */ include?: RoleInclude | null /** * The data needed to create a Role. */ data: XOR } /** * Role createMany */ export type RoleCreateManyArgs = { /** * The data used to create many Roles. */ data: RoleCreateManyInput | RoleCreateManyInput[] } /** * Role createManyAndReturn */ export type RoleCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Role */ select?: RoleSelectCreateManyAndReturn | null /** * The data used to create many Roles. */ data: RoleCreateManyInput | RoleCreateManyInput[] } /** * Role update */ export type RoleUpdateArgs = { /** * Select specific fields to fetch from the Role */ select?: RoleSelect | null /** * Choose, which related nodes to fetch as well */ include?: RoleInclude | null /** * The data needed to update a Role. */ data: XOR /** * Choose, which Role to update. */ where: RoleWhereUniqueInput } /** * Role updateMany */ export type RoleUpdateManyArgs = { /** * The data used to update Roles. */ data: XOR /** * Filter which Roles to update */ where?: RoleWhereInput } /** * Role upsert */ export type RoleUpsertArgs = { /** * Select specific fields to fetch from the Role */ select?: RoleSelect | null /** * Choose, which related nodes to fetch as well */ include?: RoleInclude | null /** * The filter to search for the Role to update in case it exists. */ where: RoleWhereUniqueInput /** * In case the Role found by the `where` argument doesn't exist, create a new Role with this data. */ create: XOR /** * In case the Role was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Role delete */ export type RoleDeleteArgs = { /** * Select specific fields to fetch from the Role */ select?: RoleSelect | null /** * Choose, which related nodes to fetch as well */ include?: RoleInclude | null /** * Filter which Role to delete. */ where: RoleWhereUniqueInput } /** * Role deleteMany */ export type RoleDeleteManyArgs = { /** * Filter which Roles to delete */ where?: RoleWhereInput } /** * Role.users */ export type Role$usersArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null where?: UserWhereInput orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] cursor?: UserWhereUniqueInput take?: number skip?: number distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * Role without action */ export type RoleDefaultArgs = { /** * Select specific fields to fetch from the Role */ select?: RoleSelect | null /** * Choose, which related nodes to fetch as well */ include?: RoleInclude | null } /** * Model User */ export type AggregateUser = { _count: UserCountAggregateOutputType | null _min: UserMinAggregateOutputType | null _max: UserMaxAggregateOutputType | null } export type UserMinAggregateOutputType = { id: string | null email: string | null passwordHash: string | null name: string | null vendorId: string | null roleId: string | null createdAt: Date | null updatedAt: Date | null } export type UserMaxAggregateOutputType = { id: string | null email: string | null passwordHash: string | null name: string | null vendorId: string | null roleId: string | null createdAt: Date | null updatedAt: Date | null } export type UserCountAggregateOutputType = { id: number email: number passwordHash: number name: number vendorId: number roleId: number createdAt: number updatedAt: number _all: number } export type UserMinAggregateInputType = { id?: true email?: true passwordHash?: true name?: true vendorId?: true roleId?: true createdAt?: true updatedAt?: true } export type UserMaxAggregateInputType = { id?: true email?: true passwordHash?: true name?: true vendorId?: true roleId?: true createdAt?: true updatedAt?: true } export type UserCountAggregateInputType = { id?: true email?: true passwordHash?: true name?: true vendorId?: true roleId?: 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 email: string passwordHash: string name: string vendorId: string roleId: string 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 email?: boolean passwordHash?: boolean name?: boolean vendorId?: boolean roleId?: boolean createdAt?: boolean updatedAt?: boolean vendor?: boolean | VendorDefaultArgs role?: boolean | RoleDefaultArgs refreshTokens?: boolean | User$refreshTokensArgs transactions?: boolean | User$transactionsArgs _count?: boolean | UserCountOutputTypeDefaultArgs }, ExtArgs["result"]["user"]> export type UserSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean email?: boolean passwordHash?: boolean name?: boolean vendorId?: boolean roleId?: boolean createdAt?: boolean updatedAt?: boolean vendor?: boolean | VendorDefaultArgs role?: boolean | RoleDefaultArgs }, ExtArgs["result"]["user"]> export type UserSelectScalar = { id?: boolean email?: boolean passwordHash?: boolean name?: boolean vendorId?: boolean roleId?: boolean createdAt?: boolean updatedAt?: boolean } export type UserInclude = { vendor?: boolean | VendorDefaultArgs role?: boolean | RoleDefaultArgs refreshTokens?: boolean | User$refreshTokensArgs transactions?: boolean | User$transactionsArgs _count?: boolean | UserCountOutputTypeDefaultArgs } export type UserIncludeCreateManyAndReturn = { vendor?: boolean | VendorDefaultArgs role?: boolean | RoleDefaultArgs } export type $UserPayload = { name: "User" objects: { vendor: Prisma.$VendorPayload role: Prisma.$RolePayload refreshTokens: Prisma.$RefreshTokenPayload[] transactions: Prisma.$TransactionPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string email: string passwordHash: string name: string vendorId: string roleId: string 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"> | null, null, ExtArgs> /** * 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">, never, ExtArgs> /** * 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"> | null, null, ExtArgs> /** * 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">, never, ExtArgs> /** * 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">> /** * 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">, never, ExtArgs> /** * 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">> /** * 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">, never, ExtArgs> /** * 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">, never, ExtArgs> /** * 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 /** * 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">, never, ExtArgs> /** * 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" vendor = {}>(args?: Subset>): Prisma__VendorClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> role = {}>(args?: Subset>): Prisma__RoleClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> refreshTokens = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> transactions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the User model */ interface UserFieldRefs { readonly id: FieldRef<"User", 'String'> readonly email: FieldRef<"User", 'String'> readonly passwordHash: FieldRef<"User", 'String'> readonly name: FieldRef<"User", 'String'> readonly vendorId: FieldRef<"User", 'String'> readonly roleId: FieldRef<"User", 'String'> 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 /** * 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 /** * 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 /** * 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 /** * 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 /** * 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 /** * 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 /** * The data used to create many Users. */ data: UserCreateManyInput | UserCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: UserIncludeCreateManyAndReturn | null } /** * User update */ export type UserUpdateArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | 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 } /** * User upsert */ export type UserUpsertArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | 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 /** * 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 } /** * User.refreshTokens */ export type User$refreshTokensArgs = { /** * Select specific fields to fetch from the RefreshToken */ select?: RefreshTokenSelect | null /** * Choose, which related nodes to fetch as well */ include?: RefreshTokenInclude | null where?: RefreshTokenWhereInput orderBy?: RefreshTokenOrderByWithRelationInput | RefreshTokenOrderByWithRelationInput[] cursor?: RefreshTokenWhereUniqueInput take?: number skip?: number distinct?: RefreshTokenScalarFieldEnum | RefreshTokenScalarFieldEnum[] } /** * User.transactions */ export type User$transactionsArgs = { /** * Select specific fields to fetch from the Transaction */ select?: TransactionSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionInclude | null where?: TransactionWhereInput orderBy?: TransactionOrderByWithRelationInput | TransactionOrderByWithRelationInput[] cursor?: TransactionWhereUniqueInput take?: number skip?: number distinct?: TransactionScalarFieldEnum | TransactionScalarFieldEnum[] } /** * User without action */ export type UserDefaultArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null } /** * Model RefreshToken */ export type AggregateRefreshToken = { _count: RefreshTokenCountAggregateOutputType | null _min: RefreshTokenMinAggregateOutputType | null _max: RefreshTokenMaxAggregateOutputType | null } export type RefreshTokenMinAggregateOutputType = { id: string | null token: string | null userId: string | null expiresAt: Date | null createdAt: Date | null } export type RefreshTokenMaxAggregateOutputType = { id: string | null token: string | null userId: string | null expiresAt: Date | null createdAt: Date | null } export type RefreshTokenCountAggregateOutputType = { id: number token: number userId: number expiresAt: number createdAt: number _all: number } export type RefreshTokenMinAggregateInputType = { id?: true token?: true userId?: true expiresAt?: true createdAt?: true } export type RefreshTokenMaxAggregateInputType = { id?: true token?: true userId?: true expiresAt?: true createdAt?: true } export type RefreshTokenCountAggregateInputType = { id?: true token?: true userId?: true expiresAt?: true createdAt?: true _all?: true } export type RefreshTokenAggregateArgs = { /** * Filter which RefreshToken to aggregate. */ where?: RefreshTokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of RefreshTokens to fetch. */ orderBy?: RefreshTokenOrderByWithRelationInput | RefreshTokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: RefreshTokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` RefreshTokens 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` RefreshTokens. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned RefreshTokens **/ _count?: true | RefreshTokenCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: RefreshTokenMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: RefreshTokenMaxAggregateInputType } export type GetRefreshTokenAggregateType = { [P in keyof T & keyof AggregateRefreshToken]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type RefreshTokenGroupByArgs = { where?: RefreshTokenWhereInput orderBy?: RefreshTokenOrderByWithAggregationInput | RefreshTokenOrderByWithAggregationInput[] by: RefreshTokenScalarFieldEnum[] | RefreshTokenScalarFieldEnum having?: RefreshTokenScalarWhereWithAggregatesInput take?: number skip?: number _count?: RefreshTokenCountAggregateInputType | true _min?: RefreshTokenMinAggregateInputType _max?: RefreshTokenMaxAggregateInputType } export type RefreshTokenGroupByOutputType = { id: string token: string userId: string expiresAt: Date createdAt: Date _count: RefreshTokenCountAggregateOutputType | null _min: RefreshTokenMinAggregateOutputType | null _max: RefreshTokenMaxAggregateOutputType | null } type GetRefreshTokenGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof RefreshTokenGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type RefreshTokenSelect = $Extensions.GetSelect<{ id?: boolean token?: boolean userId?: boolean expiresAt?: boolean createdAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["refreshToken"]> export type RefreshTokenSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean token?: boolean userId?: boolean expiresAt?: boolean createdAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["refreshToken"]> export type RefreshTokenSelectScalar = { id?: boolean token?: boolean userId?: boolean expiresAt?: boolean createdAt?: boolean } export type RefreshTokenInclude = { user?: boolean | UserDefaultArgs } export type RefreshTokenIncludeCreateManyAndReturn = { user?: boolean | UserDefaultArgs } export type $RefreshTokenPayload = { name: "RefreshToken" objects: { user: Prisma.$UserPayload } scalars: $Extensions.GetPayloadResult<{ id: string token: string userId: string expiresAt: Date createdAt: Date }, ExtArgs["result"]["refreshToken"]> composites: {} } type RefreshTokenGetPayload = $Result.GetResult type RefreshTokenCountArgs = Omit & { select?: RefreshTokenCountAggregateInputType | true } export interface RefreshTokenDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['RefreshToken'], meta: { name: 'RefreshToken' } } /** * Find zero or one RefreshToken that matches the filter. * @param {RefreshTokenFindUniqueArgs} args - Arguments to find a RefreshToken * @example * // Get one RefreshToken * const refreshToken = await prisma.refreshToken.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__RefreshTokenClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one RefreshToken that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {RefreshTokenFindUniqueOrThrowArgs} args - Arguments to find a RefreshToken * @example * // Get one RefreshToken * const refreshToken = await prisma.refreshToken.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__RefreshTokenClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first RefreshToken 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 {RefreshTokenFindFirstArgs} args - Arguments to find a RefreshToken * @example * // Get one RefreshToken * const refreshToken = await prisma.refreshToken.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__RefreshTokenClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first RefreshToken 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 {RefreshTokenFindFirstOrThrowArgs} args - Arguments to find a RefreshToken * @example * // Get one RefreshToken * const refreshToken = await prisma.refreshToken.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__RefreshTokenClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more RefreshTokens 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 {RefreshTokenFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all RefreshTokens * const refreshTokens = await prisma.refreshToken.findMany() * * // Get first 10 RefreshTokens * const refreshTokens = await prisma.refreshToken.findMany({ take: 10 }) * * // Only select the `id` * const refreshTokenWithIdOnly = await prisma.refreshToken.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a RefreshToken. * @param {RefreshTokenCreateArgs} args - Arguments to create a RefreshToken. * @example * // Create one RefreshToken * const RefreshToken = await prisma.refreshToken.create({ * data: { * // ... data to create a RefreshToken * } * }) * */ create(args: SelectSubset>): Prisma__RefreshTokenClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many RefreshTokens. * @param {RefreshTokenCreateManyArgs} args - Arguments to create many RefreshTokens. * @example * // Create many RefreshTokens * const refreshToken = await prisma.refreshToken.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many RefreshTokens and returns the data saved in the database. * @param {RefreshTokenCreateManyAndReturnArgs} args - Arguments to create many RefreshTokens. * @example * // Create many RefreshTokens * const refreshToken = await prisma.refreshToken.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many RefreshTokens and only return the `id` * const refreshTokenWithIdOnly = await prisma.refreshToken.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a RefreshToken. * @param {RefreshTokenDeleteArgs} args - Arguments to delete one RefreshToken. * @example * // Delete one RefreshToken * const RefreshToken = await prisma.refreshToken.delete({ * where: { * // ... filter to delete one RefreshToken * } * }) * */ delete(args: SelectSubset>): Prisma__RefreshTokenClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one RefreshToken. * @param {RefreshTokenUpdateArgs} args - Arguments to update one RefreshToken. * @example * // Update one RefreshToken * const refreshToken = await prisma.refreshToken.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__RefreshTokenClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more RefreshTokens. * @param {RefreshTokenDeleteManyArgs} args - Arguments to filter RefreshTokens to delete. * @example * // Delete a few RefreshTokens * const { count } = await prisma.refreshToken.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more RefreshTokens. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RefreshTokenUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many RefreshTokens * const refreshToken = await prisma.refreshToken.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one RefreshToken. * @param {RefreshTokenUpsertArgs} args - Arguments to update or create a RefreshToken. * @example * // Update or create a RefreshToken * const refreshToken = await prisma.refreshToken.upsert({ * create: { * // ... data to create a RefreshToken * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the RefreshToken we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__RefreshTokenClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of RefreshTokens. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RefreshTokenCountArgs} args - Arguments to filter RefreshTokens to count. * @example * // Count the number of RefreshTokens * const count = await prisma.refreshToken.count({ * where: { * // ... the filter for the RefreshTokens 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 RefreshToken. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RefreshTokenAggregateArgs} 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 RefreshToken. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RefreshTokenGroupByArgs} 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 RefreshTokenGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: RefreshTokenGroupByArgs['orderBy'] } : { orderBy?: RefreshTokenGroupByArgs['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 ? GetRefreshTokenGroupByPayload : Prisma.PrismaPromise /** * Fields of the RefreshToken model */ readonly fields: RefreshTokenFieldRefs; } /** * The delegate class that acts as a "Promise-like" for RefreshToken. * 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__RefreshTokenClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the RefreshToken model */ interface RefreshTokenFieldRefs { readonly id: FieldRef<"RefreshToken", 'String'> readonly token: FieldRef<"RefreshToken", 'String'> readonly userId: FieldRef<"RefreshToken", 'String'> readonly expiresAt: FieldRef<"RefreshToken", 'DateTime'> readonly createdAt: FieldRef<"RefreshToken", 'DateTime'> } // Custom InputTypes /** * RefreshToken findUnique */ export type RefreshTokenFindUniqueArgs = { /** * Select specific fields to fetch from the RefreshToken */ select?: RefreshTokenSelect | null /** * Choose, which related nodes to fetch as well */ include?: RefreshTokenInclude | null /** * Filter, which RefreshToken to fetch. */ where: RefreshTokenWhereUniqueInput } /** * RefreshToken findUniqueOrThrow */ export type RefreshTokenFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the RefreshToken */ select?: RefreshTokenSelect | null /** * Choose, which related nodes to fetch as well */ include?: RefreshTokenInclude | null /** * Filter, which RefreshToken to fetch. */ where: RefreshTokenWhereUniqueInput } /** * RefreshToken findFirst */ export type RefreshTokenFindFirstArgs = { /** * Select specific fields to fetch from the RefreshToken */ select?: RefreshTokenSelect | null /** * Choose, which related nodes to fetch as well */ include?: RefreshTokenInclude | null /** * Filter, which RefreshToken to fetch. */ where?: RefreshTokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of RefreshTokens to fetch. */ orderBy?: RefreshTokenOrderByWithRelationInput | RefreshTokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for RefreshTokens. */ cursor?: RefreshTokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` RefreshTokens 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` RefreshTokens. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of RefreshTokens. */ distinct?: RefreshTokenScalarFieldEnum | RefreshTokenScalarFieldEnum[] } /** * RefreshToken findFirstOrThrow */ export type RefreshTokenFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the RefreshToken */ select?: RefreshTokenSelect | null /** * Choose, which related nodes to fetch as well */ include?: RefreshTokenInclude | null /** * Filter, which RefreshToken to fetch. */ where?: RefreshTokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of RefreshTokens to fetch. */ orderBy?: RefreshTokenOrderByWithRelationInput | RefreshTokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for RefreshTokens. */ cursor?: RefreshTokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` RefreshTokens 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` RefreshTokens. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of RefreshTokens. */ distinct?: RefreshTokenScalarFieldEnum | RefreshTokenScalarFieldEnum[] } /** * RefreshToken findMany */ export type RefreshTokenFindManyArgs = { /** * Select specific fields to fetch from the RefreshToken */ select?: RefreshTokenSelect | null /** * Choose, which related nodes to fetch as well */ include?: RefreshTokenInclude | null /** * Filter, which RefreshTokens to fetch. */ where?: RefreshTokenWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of RefreshTokens to fetch. */ orderBy?: RefreshTokenOrderByWithRelationInput | RefreshTokenOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing RefreshTokens. */ cursor?: RefreshTokenWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` RefreshTokens 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` RefreshTokens. */ skip?: number distinct?: RefreshTokenScalarFieldEnum | RefreshTokenScalarFieldEnum[] } /** * RefreshToken create */ export type RefreshTokenCreateArgs = { /** * Select specific fields to fetch from the RefreshToken */ select?: RefreshTokenSelect | null /** * Choose, which related nodes to fetch as well */ include?: RefreshTokenInclude | null /** * The data needed to create a RefreshToken. */ data: XOR } /** * RefreshToken createMany */ export type RefreshTokenCreateManyArgs = { /** * The data used to create many RefreshTokens. */ data: RefreshTokenCreateManyInput | RefreshTokenCreateManyInput[] } /** * RefreshToken createManyAndReturn */ export type RefreshTokenCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the RefreshToken */ select?: RefreshTokenSelectCreateManyAndReturn | null /** * The data used to create many RefreshTokens. */ data: RefreshTokenCreateManyInput | RefreshTokenCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: RefreshTokenIncludeCreateManyAndReturn | null } /** * RefreshToken update */ export type RefreshTokenUpdateArgs = { /** * Select specific fields to fetch from the RefreshToken */ select?: RefreshTokenSelect | null /** * Choose, which related nodes to fetch as well */ include?: RefreshTokenInclude | null /** * The data needed to update a RefreshToken. */ data: XOR /** * Choose, which RefreshToken to update. */ where: RefreshTokenWhereUniqueInput } /** * RefreshToken updateMany */ export type RefreshTokenUpdateManyArgs = { /** * The data used to update RefreshTokens. */ data: XOR /** * Filter which RefreshTokens to update */ where?: RefreshTokenWhereInput } /** * RefreshToken upsert */ export type RefreshTokenUpsertArgs = { /** * Select specific fields to fetch from the RefreshToken */ select?: RefreshTokenSelect | null /** * Choose, which related nodes to fetch as well */ include?: RefreshTokenInclude | null /** * The filter to search for the RefreshToken to update in case it exists. */ where: RefreshTokenWhereUniqueInput /** * In case the RefreshToken found by the `where` argument doesn't exist, create a new RefreshToken with this data. */ create: XOR /** * In case the RefreshToken was found with the provided `where` argument, update it with this data. */ update: XOR } /** * RefreshToken delete */ export type RefreshTokenDeleteArgs = { /** * Select specific fields to fetch from the RefreshToken */ select?: RefreshTokenSelect | null /** * Choose, which related nodes to fetch as well */ include?: RefreshTokenInclude | null /** * Filter which RefreshToken to delete. */ where: RefreshTokenWhereUniqueInput } /** * RefreshToken deleteMany */ export type RefreshTokenDeleteManyArgs = { /** * Filter which RefreshTokens to delete */ where?: RefreshTokenWhereInput } /** * RefreshToken without action */ export type RefreshTokenDefaultArgs = { /** * Select specific fields to fetch from the RefreshToken */ select?: RefreshTokenSelect | null /** * Choose, which related nodes to fetch as well */ include?: RefreshTokenInclude | null } /** * Model Category */ export type AggregateCategory = { _count: CategoryCountAggregateOutputType | null _min: CategoryMinAggregateOutputType | null _max: CategoryMaxAggregateOutputType | null } export type CategoryMinAggregateOutputType = { id: string | null name: string | null vendorId: string | null createdAt: Date | null updatedAt: Date | null } export type CategoryMaxAggregateOutputType = { id: string | null name: string | null vendorId: string | null createdAt: Date | null updatedAt: Date | null } export type CategoryCountAggregateOutputType = { id: number name: number vendorId: number createdAt: number updatedAt: number _all: number } export type CategoryMinAggregateInputType = { id?: true name?: true vendorId?: true createdAt?: true updatedAt?: true } export type CategoryMaxAggregateInputType = { id?: true name?: true vendorId?: true createdAt?: true updatedAt?: true } export type CategoryCountAggregateInputType = { id?: true name?: true vendorId?: true createdAt?: true updatedAt?: true _all?: true } export type CategoryAggregateArgs = { /** * Filter which Category to aggregate. */ where?: CategoryWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Categories to fetch. */ orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: CategoryWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Categories from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Categories. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Categories **/ _count?: true | CategoryCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: CategoryMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: CategoryMaxAggregateInputType } export type GetCategoryAggregateType = { [P in keyof T & keyof AggregateCategory]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type CategoryGroupByArgs = { where?: CategoryWhereInput orderBy?: CategoryOrderByWithAggregationInput | CategoryOrderByWithAggregationInput[] by: CategoryScalarFieldEnum[] | CategoryScalarFieldEnum having?: CategoryScalarWhereWithAggregatesInput take?: number skip?: number _count?: CategoryCountAggregateInputType | true _min?: CategoryMinAggregateInputType _max?: CategoryMaxAggregateInputType } export type CategoryGroupByOutputType = { id: string name: string vendorId: string createdAt: Date updatedAt: Date _count: CategoryCountAggregateOutputType | null _min: CategoryMinAggregateOutputType | null _max: CategoryMaxAggregateOutputType | null } type GetCategoryGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof CategoryGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type CategorySelect = $Extensions.GetSelect<{ id?: boolean name?: boolean vendorId?: boolean createdAt?: boolean updatedAt?: boolean vendor?: boolean | VendorDefaultArgs products?: boolean | Category$productsArgs _count?: boolean | CategoryCountOutputTypeDefaultArgs }, ExtArgs["result"]["category"]> export type CategorySelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean vendorId?: boolean createdAt?: boolean updatedAt?: boolean vendor?: boolean | VendorDefaultArgs }, ExtArgs["result"]["category"]> export type CategorySelectScalar = { id?: boolean name?: boolean vendorId?: boolean createdAt?: boolean updatedAt?: boolean } export type CategoryInclude = { vendor?: boolean | VendorDefaultArgs products?: boolean | Category$productsArgs _count?: boolean | CategoryCountOutputTypeDefaultArgs } export type CategoryIncludeCreateManyAndReturn = { vendor?: boolean | VendorDefaultArgs } export type $CategoryPayload = { name: "Category" objects: { vendor: Prisma.$VendorPayload products: Prisma.$ProductPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string name: string vendorId: string createdAt: Date updatedAt: Date }, ExtArgs["result"]["category"]> composites: {} } type CategoryGetPayload = $Result.GetResult type CategoryCountArgs = Omit & { select?: CategoryCountAggregateInputType | true } export interface CategoryDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Category'], meta: { name: 'Category' } } /** * Find zero or one Category that matches the filter. * @param {CategoryFindUniqueArgs} args - Arguments to find a Category * @example * // Get one Category * const category = await prisma.category.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Category that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {CategoryFindUniqueOrThrowArgs} args - Arguments to find a Category * @example * // Get one Category * const category = await prisma.category.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Category that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CategoryFindFirstArgs} args - Arguments to find a Category * @example * // Get one Category * const category = await prisma.category.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Category that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CategoryFindFirstOrThrowArgs} args - Arguments to find a Category * @example * // Get one Category * const category = await prisma.category.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Categories that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CategoryFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Categories * const categories = await prisma.category.findMany() * * // Get first 10 Categories * const categories = await prisma.category.findMany({ take: 10 }) * * // Only select the `id` * const categoryWithIdOnly = await prisma.category.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Category. * @param {CategoryCreateArgs} args - Arguments to create a Category. * @example * // Create one Category * const Category = await prisma.category.create({ * data: { * // ... data to create a Category * } * }) * */ create(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Categories. * @param {CategoryCreateManyArgs} args - Arguments to create many Categories. * @example * // Create many Categories * const category = await prisma.category.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Categories and returns the data saved in the database. * @param {CategoryCreateManyAndReturnArgs} args - Arguments to create many Categories. * @example * // Create many Categories * const category = await prisma.category.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Categories and only return the `id` * const categoryWithIdOnly = await prisma.category.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Category. * @param {CategoryDeleteArgs} args - Arguments to delete one Category. * @example * // Delete one Category * const Category = await prisma.category.delete({ * where: { * // ... filter to delete one Category * } * }) * */ delete(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Category. * @param {CategoryUpdateArgs} args - Arguments to update one Category. * @example * // Update one Category * const category = await prisma.category.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Categories. * @param {CategoryDeleteManyArgs} args - Arguments to filter Categories to delete. * @example * // Delete a few Categories * const { count } = await prisma.category.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Categories. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CategoryUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Categories * const category = await prisma.category.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Category. * @param {CategoryUpsertArgs} args - Arguments to update or create a Category. * @example * // Update or create a Category * const category = await prisma.category.upsert({ * create: { * // ... data to create a Category * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Category we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Categories. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CategoryCountArgs} args - Arguments to filter Categories to count. * @example * // Count the number of Categories * const count = await prisma.category.count({ * where: { * // ... the filter for the Categories we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Category. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CategoryAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by Category. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CategoryGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends CategoryGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: CategoryGroupByArgs['orderBy'] } : { orderBy?: CategoryGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCategoryGroupByPayload : Prisma.PrismaPromise /** * Fields of the Category model */ readonly fields: CategoryFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Category. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__CategoryClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" vendor = {}>(args?: Subset>): Prisma__VendorClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> products = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Category model */ interface CategoryFieldRefs { readonly id: FieldRef<"Category", 'String'> readonly name: FieldRef<"Category", 'String'> readonly vendorId: FieldRef<"Category", 'String'> readonly createdAt: FieldRef<"Category", 'DateTime'> readonly updatedAt: FieldRef<"Category", 'DateTime'> } // Custom InputTypes /** * Category findUnique */ export type CategoryFindUniqueArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * Filter, which Category to fetch. */ where: CategoryWhereUniqueInput } /** * Category findUniqueOrThrow */ export type CategoryFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * Filter, which Category to fetch. */ where: CategoryWhereUniqueInput } /** * Category findFirst */ export type CategoryFindFirstArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * Filter, which Category to fetch. */ where?: CategoryWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Categories to fetch. */ orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Categories. */ cursor?: CategoryWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Categories from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Categories. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Categories. */ distinct?: CategoryScalarFieldEnum | CategoryScalarFieldEnum[] } /** * Category findFirstOrThrow */ export type CategoryFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * Filter, which Category to fetch. */ where?: CategoryWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Categories to fetch. */ orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Categories. */ cursor?: CategoryWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Categories from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Categories. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Categories. */ distinct?: CategoryScalarFieldEnum | CategoryScalarFieldEnum[] } /** * Category findMany */ export type CategoryFindManyArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * Filter, which Categories to fetch. */ where?: CategoryWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Categories to fetch. */ orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Categories. */ cursor?: CategoryWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Categories from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Categories. */ skip?: number distinct?: CategoryScalarFieldEnum | CategoryScalarFieldEnum[] } /** * Category create */ export type CategoryCreateArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * The data needed to create a Category. */ data: XOR } /** * Category createMany */ export type CategoryCreateManyArgs = { /** * The data used to create many Categories. */ data: CategoryCreateManyInput | CategoryCreateManyInput[] } /** * Category createManyAndReturn */ export type CategoryCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelectCreateManyAndReturn | null /** * The data used to create many Categories. */ data: CategoryCreateManyInput | CategoryCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: CategoryIncludeCreateManyAndReturn | null } /** * Category update */ export type CategoryUpdateArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * The data needed to update a Category. */ data: XOR /** * Choose, which Category to update. */ where: CategoryWhereUniqueInput } /** * Category updateMany */ export type CategoryUpdateManyArgs = { /** * The data used to update Categories. */ data: XOR /** * Filter which Categories to update */ where?: CategoryWhereInput } /** * Category upsert */ export type CategoryUpsertArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * The filter to search for the Category to update in case it exists. */ where: CategoryWhereUniqueInput /** * In case the Category found by the `where` argument doesn't exist, create a new Category with this data. */ create: XOR /** * In case the Category was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Category delete */ export type CategoryDeleteArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null /** * Filter which Category to delete. */ where: CategoryWhereUniqueInput } /** * Category deleteMany */ export type CategoryDeleteManyArgs = { /** * Filter which Categories to delete */ where?: CategoryWhereInput } /** * Category.products */ export type Category$productsArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null where?: ProductWhereInput orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] cursor?: ProductWhereUniqueInput take?: number skip?: number distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] } /** * Category without action */ export type CategoryDefaultArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null } /** * Model Tax */ export type AggregateTax = { _count: TaxCountAggregateOutputType | null _avg: TaxAvgAggregateOutputType | null _sum: TaxSumAggregateOutputType | null _min: TaxMinAggregateOutputType | null _max: TaxMaxAggregateOutputType | null } export type TaxAvgAggregateOutputType = { rate: number | null } export type TaxSumAggregateOutputType = { rate: number | null } export type TaxMinAggregateOutputType = { id: string | null name: string | null rate: number | null vendorId: string | null createdAt: Date | null updatedAt: Date | null } export type TaxMaxAggregateOutputType = { id: string | null name: string | null rate: number | null vendorId: string | null createdAt: Date | null updatedAt: Date | null } export type TaxCountAggregateOutputType = { id: number name: number rate: number vendorId: number createdAt: number updatedAt: number _all: number } export type TaxAvgAggregateInputType = { rate?: true } export type TaxSumAggregateInputType = { rate?: true } export type TaxMinAggregateInputType = { id?: true name?: true rate?: true vendorId?: true createdAt?: true updatedAt?: true } export type TaxMaxAggregateInputType = { id?: true name?: true rate?: true vendorId?: true createdAt?: true updatedAt?: true } export type TaxCountAggregateInputType = { id?: true name?: true rate?: true vendorId?: true createdAt?: true updatedAt?: true _all?: true } export type TaxAggregateArgs = { /** * Filter which Tax to aggregate. */ where?: TaxWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Taxes to fetch. */ orderBy?: TaxOrderByWithRelationInput | TaxOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: TaxWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Taxes 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` Taxes. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Taxes **/ _count?: true | TaxCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: TaxAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: TaxSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: TaxMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: TaxMaxAggregateInputType } export type GetTaxAggregateType = { [P in keyof T & keyof AggregateTax]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type TaxGroupByArgs = { where?: TaxWhereInput orderBy?: TaxOrderByWithAggregationInput | TaxOrderByWithAggregationInput[] by: TaxScalarFieldEnum[] | TaxScalarFieldEnum having?: TaxScalarWhereWithAggregatesInput take?: number skip?: number _count?: TaxCountAggregateInputType | true _avg?: TaxAvgAggregateInputType _sum?: TaxSumAggregateInputType _min?: TaxMinAggregateInputType _max?: TaxMaxAggregateInputType } export type TaxGroupByOutputType = { id: string name: string rate: number vendorId: string createdAt: Date updatedAt: Date _count: TaxCountAggregateOutputType | null _avg: TaxAvgAggregateOutputType | null _sum: TaxSumAggregateOutputType | null _min: TaxMinAggregateOutputType | null _max: TaxMaxAggregateOutputType | null } type GetTaxGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof TaxGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type TaxSelect = $Extensions.GetSelect<{ id?: boolean name?: boolean rate?: boolean vendorId?: boolean createdAt?: boolean updatedAt?: boolean vendor?: boolean | VendorDefaultArgs products?: boolean | Tax$productsArgs _count?: boolean | TaxCountOutputTypeDefaultArgs }, ExtArgs["result"]["tax"]> export type TaxSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean rate?: boolean vendorId?: boolean createdAt?: boolean updatedAt?: boolean vendor?: boolean | VendorDefaultArgs }, ExtArgs["result"]["tax"]> export type TaxSelectScalar = { id?: boolean name?: boolean rate?: boolean vendorId?: boolean createdAt?: boolean updatedAt?: boolean } export type TaxInclude = { vendor?: boolean | VendorDefaultArgs products?: boolean | Tax$productsArgs _count?: boolean | TaxCountOutputTypeDefaultArgs } export type TaxIncludeCreateManyAndReturn = { vendor?: boolean | VendorDefaultArgs } export type $TaxPayload = { name: "Tax" objects: { vendor: Prisma.$VendorPayload products: Prisma.$ProductPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string name: string rate: number vendorId: string createdAt: Date updatedAt: Date }, ExtArgs["result"]["tax"]> composites: {} } type TaxGetPayload = $Result.GetResult type TaxCountArgs = Omit & { select?: TaxCountAggregateInputType | true } export interface TaxDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Tax'], meta: { name: 'Tax' } } /** * Find zero or one Tax that matches the filter. * @param {TaxFindUniqueArgs} args - Arguments to find a Tax * @example * // Get one Tax * const tax = await prisma.tax.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__TaxClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Tax that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {TaxFindUniqueOrThrowArgs} args - Arguments to find a Tax * @example * // Get one Tax * const tax = await prisma.tax.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__TaxClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Tax 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 {TaxFindFirstArgs} args - Arguments to find a Tax * @example * // Get one Tax * const tax = await prisma.tax.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__TaxClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Tax 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 {TaxFindFirstOrThrowArgs} args - Arguments to find a Tax * @example * // Get one Tax * const tax = await prisma.tax.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__TaxClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Taxes 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 {TaxFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Taxes * const taxes = await prisma.tax.findMany() * * // Get first 10 Taxes * const taxes = await prisma.tax.findMany({ take: 10 }) * * // Only select the `id` * const taxWithIdOnly = await prisma.tax.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Tax. * @param {TaxCreateArgs} args - Arguments to create a Tax. * @example * // Create one Tax * const Tax = await prisma.tax.create({ * data: { * // ... data to create a Tax * } * }) * */ create(args: SelectSubset>): Prisma__TaxClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Taxes. * @param {TaxCreateManyArgs} args - Arguments to create many Taxes. * @example * // Create many Taxes * const tax = await prisma.tax.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Taxes and returns the data saved in the database. * @param {TaxCreateManyAndReturnArgs} args - Arguments to create many Taxes. * @example * // Create many Taxes * const tax = await prisma.tax.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Taxes and only return the `id` * const taxWithIdOnly = await prisma.tax.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Tax. * @param {TaxDeleteArgs} args - Arguments to delete one Tax. * @example * // Delete one Tax * const Tax = await prisma.tax.delete({ * where: { * // ... filter to delete one Tax * } * }) * */ delete(args: SelectSubset>): Prisma__TaxClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Tax. * @param {TaxUpdateArgs} args - Arguments to update one Tax. * @example * // Update one Tax * const tax = await prisma.tax.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__TaxClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Taxes. * @param {TaxDeleteManyArgs} args - Arguments to filter Taxes to delete. * @example * // Delete a few Taxes * const { count } = await prisma.tax.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Taxes. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TaxUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Taxes * const tax = await prisma.tax.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Tax. * @param {TaxUpsertArgs} args - Arguments to update or create a Tax. * @example * // Update or create a Tax * const tax = await prisma.tax.upsert({ * create: { * // ... data to create a Tax * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Tax we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__TaxClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Taxes. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TaxCountArgs} args - Arguments to filter Taxes to count. * @example * // Count the number of Taxes * const count = await prisma.tax.count({ * where: { * // ... the filter for the Taxes 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 Tax. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TaxAggregateArgs} 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 Tax. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TaxGroupByArgs} 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 TaxGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: TaxGroupByArgs['orderBy'] } : { orderBy?: TaxGroupByArgs['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 ? GetTaxGroupByPayload : Prisma.PrismaPromise /** * Fields of the Tax model */ readonly fields: TaxFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Tax. * 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__TaxClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" vendor = {}>(args?: Subset>): Prisma__VendorClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> products = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Tax model */ interface TaxFieldRefs { readonly id: FieldRef<"Tax", 'String'> readonly name: FieldRef<"Tax", 'String'> readonly rate: FieldRef<"Tax", 'Float'> readonly vendorId: FieldRef<"Tax", 'String'> readonly createdAt: FieldRef<"Tax", 'DateTime'> readonly updatedAt: FieldRef<"Tax", 'DateTime'> } // Custom InputTypes /** * Tax findUnique */ export type TaxFindUniqueArgs = { /** * Select specific fields to fetch from the Tax */ select?: TaxSelect | null /** * Choose, which related nodes to fetch as well */ include?: TaxInclude | null /** * Filter, which Tax to fetch. */ where: TaxWhereUniqueInput } /** * Tax findUniqueOrThrow */ export type TaxFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Tax */ select?: TaxSelect | null /** * Choose, which related nodes to fetch as well */ include?: TaxInclude | null /** * Filter, which Tax to fetch. */ where: TaxWhereUniqueInput } /** * Tax findFirst */ export type TaxFindFirstArgs = { /** * Select specific fields to fetch from the Tax */ select?: TaxSelect | null /** * Choose, which related nodes to fetch as well */ include?: TaxInclude | null /** * Filter, which Tax to fetch. */ where?: TaxWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Taxes to fetch. */ orderBy?: TaxOrderByWithRelationInput | TaxOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Taxes. */ cursor?: TaxWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Taxes 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` Taxes. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Taxes. */ distinct?: TaxScalarFieldEnum | TaxScalarFieldEnum[] } /** * Tax findFirstOrThrow */ export type TaxFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Tax */ select?: TaxSelect | null /** * Choose, which related nodes to fetch as well */ include?: TaxInclude | null /** * Filter, which Tax to fetch. */ where?: TaxWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Taxes to fetch. */ orderBy?: TaxOrderByWithRelationInput | TaxOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Taxes. */ cursor?: TaxWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Taxes 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` Taxes. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Taxes. */ distinct?: TaxScalarFieldEnum | TaxScalarFieldEnum[] } /** * Tax findMany */ export type TaxFindManyArgs = { /** * Select specific fields to fetch from the Tax */ select?: TaxSelect | null /** * Choose, which related nodes to fetch as well */ include?: TaxInclude | null /** * Filter, which Taxes to fetch. */ where?: TaxWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Taxes to fetch. */ orderBy?: TaxOrderByWithRelationInput | TaxOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Taxes. */ cursor?: TaxWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Taxes 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` Taxes. */ skip?: number distinct?: TaxScalarFieldEnum | TaxScalarFieldEnum[] } /** * Tax create */ export type TaxCreateArgs = { /** * Select specific fields to fetch from the Tax */ select?: TaxSelect | null /** * Choose, which related nodes to fetch as well */ include?: TaxInclude | null /** * The data needed to create a Tax. */ data: XOR } /** * Tax createMany */ export type TaxCreateManyArgs = { /** * The data used to create many Taxes. */ data: TaxCreateManyInput | TaxCreateManyInput[] } /** * Tax createManyAndReturn */ export type TaxCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Tax */ select?: TaxSelectCreateManyAndReturn | null /** * The data used to create many Taxes. */ data: TaxCreateManyInput | TaxCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: TaxIncludeCreateManyAndReturn | null } /** * Tax update */ export type TaxUpdateArgs = { /** * Select specific fields to fetch from the Tax */ select?: TaxSelect | null /** * Choose, which related nodes to fetch as well */ include?: TaxInclude | null /** * The data needed to update a Tax. */ data: XOR /** * Choose, which Tax to update. */ where: TaxWhereUniqueInput } /** * Tax updateMany */ export type TaxUpdateManyArgs = { /** * The data used to update Taxes. */ data: XOR /** * Filter which Taxes to update */ where?: TaxWhereInput } /** * Tax upsert */ export type TaxUpsertArgs = { /** * Select specific fields to fetch from the Tax */ select?: TaxSelect | null /** * Choose, which related nodes to fetch as well */ include?: TaxInclude | null /** * The filter to search for the Tax to update in case it exists. */ where: TaxWhereUniqueInput /** * In case the Tax found by the `where` argument doesn't exist, create a new Tax with this data. */ create: XOR /** * In case the Tax was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Tax delete */ export type TaxDeleteArgs = { /** * Select specific fields to fetch from the Tax */ select?: TaxSelect | null /** * Choose, which related nodes to fetch as well */ include?: TaxInclude | null /** * Filter which Tax to delete. */ where: TaxWhereUniqueInput } /** * Tax deleteMany */ export type TaxDeleteManyArgs = { /** * Filter which Taxes to delete */ where?: TaxWhereInput } /** * Tax.products */ export type Tax$productsArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null where?: ProductWhereInput orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] cursor?: ProductWhereUniqueInput take?: number skip?: number distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] } /** * Tax without action */ export type TaxDefaultArgs = { /** * Select specific fields to fetch from the Tax */ select?: TaxSelect | null /** * Choose, which related nodes to fetch as well */ include?: TaxInclude | null } /** * Model Product */ export type AggregateProduct = { _count: ProductCountAggregateOutputType | null _avg: ProductAvgAggregateOutputType | null _sum: ProductSumAggregateOutputType | null _min: ProductMinAggregateOutputType | null _max: ProductMaxAggregateOutputType | null } export type ProductAvgAggregateOutputType = { price: number | null version: number | null } export type ProductSumAggregateOutputType = { price: number | null version: number | null } export type ProductMinAggregateOutputType = { id: string | null name: string | null sku: string | null description: string | null price: number | null vendorId: string | null categoryId: string | null taxId: string | null tags: string | null version: number | null createdAt: Date | null updatedAt: Date | null } export type ProductMaxAggregateOutputType = { id: string | null name: string | null sku: string | null description: string | null price: number | null vendorId: string | null categoryId: string | null taxId: string | null tags: string | null version: number | null createdAt: Date | null updatedAt: Date | null } export type ProductCountAggregateOutputType = { id: number name: number sku: number description: number price: number vendorId: number categoryId: number taxId: number tags: number version: number createdAt: number updatedAt: number _all: number } export type ProductAvgAggregateInputType = { price?: true version?: true } export type ProductSumAggregateInputType = { price?: true version?: true } export type ProductMinAggregateInputType = { id?: true name?: true sku?: true description?: true price?: true vendorId?: true categoryId?: true taxId?: true tags?: true version?: true createdAt?: true updatedAt?: true } export type ProductMaxAggregateInputType = { id?: true name?: true sku?: true description?: true price?: true vendorId?: true categoryId?: true taxId?: true tags?: true version?: true createdAt?: true updatedAt?: true } export type ProductCountAggregateInputType = { id?: true name?: true sku?: true description?: true price?: true vendorId?: true categoryId?: true taxId?: true tags?: true version?: true createdAt?: true updatedAt?: true _all?: true } export type ProductAggregateArgs = { /** * Filter which Product to aggregate. */ where?: ProductWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Products to fetch. */ orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: ProductWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Products from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Products. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Products **/ _count?: true | ProductCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: ProductAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: ProductSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: ProductMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: ProductMaxAggregateInputType } export type GetProductAggregateType = { [P in keyof T & keyof AggregateProduct]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type ProductGroupByArgs = { where?: ProductWhereInput orderBy?: ProductOrderByWithAggregationInput | ProductOrderByWithAggregationInput[] by: ProductScalarFieldEnum[] | ProductScalarFieldEnum having?: ProductScalarWhereWithAggregatesInput take?: number skip?: number _count?: ProductCountAggregateInputType | true _avg?: ProductAvgAggregateInputType _sum?: ProductSumAggregateInputType _min?: ProductMinAggregateInputType _max?: ProductMaxAggregateInputType } export type ProductGroupByOutputType = { id: string name: string sku: string | null description: string | null price: number vendorId: string categoryId: string | null taxId: string | null tags: string | null version: number createdAt: Date updatedAt: Date _count: ProductCountAggregateOutputType | null _avg: ProductAvgAggregateOutputType | null _sum: ProductSumAggregateOutputType | null _min: ProductMinAggregateOutputType | null _max: ProductMaxAggregateOutputType | null } type GetProductGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof ProductGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type ProductSelect = $Extensions.GetSelect<{ id?: boolean name?: boolean sku?: boolean description?: boolean price?: boolean vendorId?: boolean categoryId?: boolean taxId?: boolean tags?: boolean version?: boolean createdAt?: boolean updatedAt?: boolean vendor?: boolean | VendorDefaultArgs category?: boolean | Product$categoryArgs tax?: boolean | Product$taxArgs transactionItems?: boolean | Product$transactionItemsArgs _count?: boolean | ProductCountOutputTypeDefaultArgs }, ExtArgs["result"]["product"]> export type ProductSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean sku?: boolean description?: boolean price?: boolean vendorId?: boolean categoryId?: boolean taxId?: boolean tags?: boolean version?: boolean createdAt?: boolean updatedAt?: boolean vendor?: boolean | VendorDefaultArgs category?: boolean | Product$categoryArgs tax?: boolean | Product$taxArgs }, ExtArgs["result"]["product"]> export type ProductSelectScalar = { id?: boolean name?: boolean sku?: boolean description?: boolean price?: boolean vendorId?: boolean categoryId?: boolean taxId?: boolean tags?: boolean version?: boolean createdAt?: boolean updatedAt?: boolean } export type ProductInclude = { vendor?: boolean | VendorDefaultArgs category?: boolean | Product$categoryArgs tax?: boolean | Product$taxArgs transactionItems?: boolean | Product$transactionItemsArgs _count?: boolean | ProductCountOutputTypeDefaultArgs } export type ProductIncludeCreateManyAndReturn = { vendor?: boolean | VendorDefaultArgs category?: boolean | Product$categoryArgs tax?: boolean | Product$taxArgs } export type $ProductPayload = { name: "Product" objects: { vendor: Prisma.$VendorPayload category: Prisma.$CategoryPayload | null tax: Prisma.$TaxPayload | null transactionItems: Prisma.$TransactionItemPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string name: string sku: string | null description: string | null price: number vendorId: string categoryId: string | null taxId: string | null tags: string | null version: number createdAt: Date updatedAt: Date }, ExtArgs["result"]["product"]> composites: {} } type ProductGetPayload = $Result.GetResult type ProductCountArgs = Omit & { select?: ProductCountAggregateInputType | true } export interface ProductDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Product'], meta: { name: 'Product' } } /** * Find zero or one Product that matches the filter. * @param {ProductFindUniqueArgs} args - Arguments to find a Product * @example * // Get one Product * const product = await prisma.product.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Product that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {ProductFindUniqueOrThrowArgs} args - Arguments to find a Product * @example * // Get one Product * const product = await prisma.product.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Product that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductFindFirstArgs} args - Arguments to find a Product * @example * // Get one Product * const product = await prisma.product.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Product that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductFindFirstOrThrowArgs} args - Arguments to find a Product * @example * // Get one Product * const product = await prisma.product.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Products that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Products * const products = await prisma.product.findMany() * * // Get first 10 Products * const products = await prisma.product.findMany({ take: 10 }) * * // Only select the `id` * const productWithIdOnly = await prisma.product.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Product. * @param {ProductCreateArgs} args - Arguments to create a Product. * @example * // Create one Product * const Product = await prisma.product.create({ * data: { * // ... data to create a Product * } * }) * */ create(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Products. * @param {ProductCreateManyArgs} args - Arguments to create many Products. * @example * // Create many Products * const product = await prisma.product.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Products and returns the data saved in the database. * @param {ProductCreateManyAndReturnArgs} args - Arguments to create many Products. * @example * // Create many Products * const product = await prisma.product.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Products and only return the `id` * const productWithIdOnly = await prisma.product.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Product. * @param {ProductDeleteArgs} args - Arguments to delete one Product. * @example * // Delete one Product * const Product = await prisma.product.delete({ * where: { * // ... filter to delete one Product * } * }) * */ delete(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Product. * @param {ProductUpdateArgs} args - Arguments to update one Product. * @example * // Update one Product * const product = await prisma.product.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Products. * @param {ProductDeleteManyArgs} args - Arguments to filter Products to delete. * @example * // Delete a few Products * const { count } = await prisma.product.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Products. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Products * const product = await prisma.product.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Product. * @param {ProductUpsertArgs} args - Arguments to update or create a Product. * @example * // Update or create a Product * const product = await prisma.product.upsert({ * create: { * // ... data to create a Product * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Product we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Products. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductCountArgs} args - Arguments to filter Products to count. * @example * // Count the number of Products * const count = await prisma.product.count({ * where: { * // ... the filter for the Products we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Product. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by Product. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {ProductGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends ProductGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: ProductGroupByArgs['orderBy'] } : { orderBy?: ProductGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetProductGroupByPayload : Prisma.PrismaPromise /** * Fields of the Product model */ readonly fields: ProductFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Product. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__ProductClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" vendor = {}>(args?: Subset>): Prisma__VendorClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> category = {}>(args?: Subset>): Prisma__CategoryClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> tax = {}>(args?: Subset>): Prisma__TaxClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> transactionItems = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Product model */ interface ProductFieldRefs { readonly id: FieldRef<"Product", 'String'> readonly name: FieldRef<"Product", 'String'> readonly sku: FieldRef<"Product", 'String'> readonly description: FieldRef<"Product", 'String'> readonly price: FieldRef<"Product", 'Float'> readonly vendorId: FieldRef<"Product", 'String'> readonly categoryId: FieldRef<"Product", 'String'> readonly taxId: FieldRef<"Product", 'String'> readonly tags: FieldRef<"Product", 'String'> readonly version: FieldRef<"Product", 'Int'> readonly createdAt: FieldRef<"Product", 'DateTime'> readonly updatedAt: FieldRef<"Product", 'DateTime'> } // Custom InputTypes /** * Product findUnique */ export type ProductFindUniqueArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * Filter, which Product to fetch. */ where: ProductWhereUniqueInput } /** * Product findUniqueOrThrow */ export type ProductFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * Filter, which Product to fetch. */ where: ProductWhereUniqueInput } /** * Product findFirst */ export type ProductFindFirstArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * Filter, which Product to fetch. */ where?: ProductWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Products to fetch. */ orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Products. */ cursor?: ProductWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Products from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Products. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Products. */ distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] } /** * Product findFirstOrThrow */ export type ProductFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * Filter, which Product to fetch. */ where?: ProductWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Products to fetch. */ orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Products. */ cursor?: ProductWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Products from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Products. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Products. */ distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] } /** * Product findMany */ export type ProductFindManyArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * Filter, which Products to fetch. */ where?: ProductWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Products to fetch. */ orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Products. */ cursor?: ProductWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Products from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Products. */ skip?: number distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] } /** * Product create */ export type ProductCreateArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * The data needed to create a Product. */ data: XOR } /** * Product createMany */ export type ProductCreateManyArgs = { /** * The data used to create many Products. */ data: ProductCreateManyInput | ProductCreateManyInput[] } /** * Product createManyAndReturn */ export type ProductCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelectCreateManyAndReturn | null /** * The data used to create many Products. */ data: ProductCreateManyInput | ProductCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: ProductIncludeCreateManyAndReturn | null } /** * Product update */ export type ProductUpdateArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * The data needed to update a Product. */ data: XOR /** * Choose, which Product to update. */ where: ProductWhereUniqueInput } /** * Product updateMany */ export type ProductUpdateManyArgs = { /** * The data used to update Products. */ data: XOR /** * Filter which Products to update */ where?: ProductWhereInput } /** * Product upsert */ export type ProductUpsertArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * The filter to search for the Product to update in case it exists. */ where: ProductWhereUniqueInput /** * In case the Product found by the `where` argument doesn't exist, create a new Product with this data. */ create: XOR /** * In case the Product was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Product delete */ export type ProductDeleteArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null /** * Filter which Product to delete. */ where: ProductWhereUniqueInput } /** * Product deleteMany */ export type ProductDeleteManyArgs = { /** * Filter which Products to delete */ where?: ProductWhereInput } /** * Product.category */ export type Product$categoryArgs = { /** * Select specific fields to fetch from the Category */ select?: CategorySelect | null /** * Choose, which related nodes to fetch as well */ include?: CategoryInclude | null where?: CategoryWhereInput } /** * Product.tax */ export type Product$taxArgs = { /** * Select specific fields to fetch from the Tax */ select?: TaxSelect | null /** * Choose, which related nodes to fetch as well */ include?: TaxInclude | null where?: TaxWhereInput } /** * Product.transactionItems */ export type Product$transactionItemsArgs = { /** * Select specific fields to fetch from the TransactionItem */ select?: TransactionItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionItemInclude | null where?: TransactionItemWhereInput orderBy?: TransactionItemOrderByWithRelationInput | TransactionItemOrderByWithRelationInput[] cursor?: TransactionItemWhereUniqueInput take?: number skip?: number distinct?: TransactionItemScalarFieldEnum | TransactionItemScalarFieldEnum[] } /** * Product without action */ export type ProductDefaultArgs = { /** * Select specific fields to fetch from the Product */ select?: ProductSelect | null /** * Choose, which related nodes to fetch as well */ include?: ProductInclude | null } /** * Model Transaction */ export type AggregateTransaction = { _count: TransactionCountAggregateOutputType | null _avg: TransactionAvgAggregateOutputType | null _sum: TransactionSumAggregateOutputType | null _min: TransactionMinAggregateOutputType | null _max: TransactionMaxAggregateOutputType | null } export type TransactionAvgAggregateOutputType = { subtotal: number | null taxTotal: number | null discountTotal: number | null total: number | null } export type TransactionSumAggregateOutputType = { subtotal: number | null taxTotal: number | null discountTotal: number | null total: number | null } export type TransactionMinAggregateOutputType = { id: string | null idempotencyKey: string | null vendorId: string | null userId: string | null status: string | null paymentMethod: string | null subtotal: number | null taxTotal: number | null discountTotal: number | null total: number | null notes: string | null createdAt: Date | null updatedAt: Date | null } export type TransactionMaxAggregateOutputType = { id: string | null idempotencyKey: string | null vendorId: string | null userId: string | null status: string | null paymentMethod: string | null subtotal: number | null taxTotal: number | null discountTotal: number | null total: number | null notes: string | null createdAt: Date | null updatedAt: Date | null } export type TransactionCountAggregateOutputType = { id: number idempotencyKey: number vendorId: number userId: number status: number paymentMethod: number subtotal: number taxTotal: number discountTotal: number total: number notes: number createdAt: number updatedAt: number _all: number } export type TransactionAvgAggregateInputType = { subtotal?: true taxTotal?: true discountTotal?: true total?: true } export type TransactionSumAggregateInputType = { subtotal?: true taxTotal?: true discountTotal?: true total?: true } export type TransactionMinAggregateInputType = { id?: true idempotencyKey?: true vendorId?: true userId?: true status?: true paymentMethod?: true subtotal?: true taxTotal?: true discountTotal?: true total?: true notes?: true createdAt?: true updatedAt?: true } export type TransactionMaxAggregateInputType = { id?: true idempotencyKey?: true vendorId?: true userId?: true status?: true paymentMethod?: true subtotal?: true taxTotal?: true discountTotal?: true total?: true notes?: true createdAt?: true updatedAt?: true } export type TransactionCountAggregateInputType = { id?: true idempotencyKey?: true vendorId?: true userId?: true status?: true paymentMethod?: true subtotal?: true taxTotal?: true discountTotal?: true total?: true notes?: true createdAt?: true updatedAt?: true _all?: true } export type TransactionAggregateArgs = { /** * Filter which Transaction to aggregate. */ where?: TransactionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Transactions to fetch. */ orderBy?: TransactionOrderByWithRelationInput | TransactionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: TransactionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Transactions 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` Transactions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Transactions **/ _count?: true | TransactionCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: TransactionAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: TransactionSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: TransactionMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: TransactionMaxAggregateInputType } export type GetTransactionAggregateType = { [P in keyof T & keyof AggregateTransaction]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type TransactionGroupByArgs = { where?: TransactionWhereInput orderBy?: TransactionOrderByWithAggregationInput | TransactionOrderByWithAggregationInput[] by: TransactionScalarFieldEnum[] | TransactionScalarFieldEnum having?: TransactionScalarWhereWithAggregatesInput take?: number skip?: number _count?: TransactionCountAggregateInputType | true _avg?: TransactionAvgAggregateInputType _sum?: TransactionSumAggregateInputType _min?: TransactionMinAggregateInputType _max?: TransactionMaxAggregateInputType } export type TransactionGroupByOutputType = { id: string idempotencyKey: string vendorId: string userId: string status: string paymentMethod: string subtotal: number taxTotal: number discountTotal: number total: number notes: string | null createdAt: Date updatedAt: Date _count: TransactionCountAggregateOutputType | null _avg: TransactionAvgAggregateOutputType | null _sum: TransactionSumAggregateOutputType | null _min: TransactionMinAggregateOutputType | null _max: TransactionMaxAggregateOutputType | null } type GetTransactionGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof TransactionGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type TransactionSelect = $Extensions.GetSelect<{ id?: boolean idempotencyKey?: boolean vendorId?: boolean userId?: boolean status?: boolean paymentMethod?: boolean subtotal?: boolean taxTotal?: boolean discountTotal?: boolean total?: boolean notes?: boolean createdAt?: boolean updatedAt?: boolean vendor?: boolean | VendorDefaultArgs user?: boolean | UserDefaultArgs items?: boolean | Transaction$itemsArgs _count?: boolean | TransactionCountOutputTypeDefaultArgs }, ExtArgs["result"]["transaction"]> export type TransactionSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean idempotencyKey?: boolean vendorId?: boolean userId?: boolean status?: boolean paymentMethod?: boolean subtotal?: boolean taxTotal?: boolean discountTotal?: boolean total?: boolean notes?: boolean createdAt?: boolean updatedAt?: boolean vendor?: boolean | VendorDefaultArgs user?: boolean | UserDefaultArgs }, ExtArgs["result"]["transaction"]> export type TransactionSelectScalar = { id?: boolean idempotencyKey?: boolean vendorId?: boolean userId?: boolean status?: boolean paymentMethod?: boolean subtotal?: boolean taxTotal?: boolean discountTotal?: boolean total?: boolean notes?: boolean createdAt?: boolean updatedAt?: boolean } export type TransactionInclude = { vendor?: boolean | VendorDefaultArgs user?: boolean | UserDefaultArgs items?: boolean | Transaction$itemsArgs _count?: boolean | TransactionCountOutputTypeDefaultArgs } export type TransactionIncludeCreateManyAndReturn = { vendor?: boolean | VendorDefaultArgs user?: boolean | UserDefaultArgs } export type $TransactionPayload = { name: "Transaction" objects: { vendor: Prisma.$VendorPayload user: Prisma.$UserPayload items: Prisma.$TransactionItemPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string idempotencyKey: string vendorId: string userId: string status: string paymentMethod: string subtotal: number taxTotal: number discountTotal: number total: number notes: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["transaction"]> composites: {} } type TransactionGetPayload = $Result.GetResult type TransactionCountArgs = Omit & { select?: TransactionCountAggregateInputType | true } export interface TransactionDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Transaction'], meta: { name: 'Transaction' } } /** * Find zero or one Transaction that matches the filter. * @param {TransactionFindUniqueArgs} args - Arguments to find a Transaction * @example * // Get one Transaction * const transaction = await prisma.transaction.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__TransactionClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Transaction that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {TransactionFindUniqueOrThrowArgs} args - Arguments to find a Transaction * @example * // Get one Transaction * const transaction = await prisma.transaction.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__TransactionClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Transaction 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 {TransactionFindFirstArgs} args - Arguments to find a Transaction * @example * // Get one Transaction * const transaction = await prisma.transaction.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__TransactionClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Transaction 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 {TransactionFindFirstOrThrowArgs} args - Arguments to find a Transaction * @example * // Get one Transaction * const transaction = await prisma.transaction.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__TransactionClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Transactions 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 {TransactionFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Transactions * const transactions = await prisma.transaction.findMany() * * // Get first 10 Transactions * const transactions = await prisma.transaction.findMany({ take: 10 }) * * // Only select the `id` * const transactionWithIdOnly = await prisma.transaction.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Transaction. * @param {TransactionCreateArgs} args - Arguments to create a Transaction. * @example * // Create one Transaction * const Transaction = await prisma.transaction.create({ * data: { * // ... data to create a Transaction * } * }) * */ create(args: SelectSubset>): Prisma__TransactionClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Transactions. * @param {TransactionCreateManyArgs} args - Arguments to create many Transactions. * @example * // Create many Transactions * const transaction = await prisma.transaction.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Transactions and returns the data saved in the database. * @param {TransactionCreateManyAndReturnArgs} args - Arguments to create many Transactions. * @example * // Create many Transactions * const transaction = await prisma.transaction.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Transactions and only return the `id` * const transactionWithIdOnly = await prisma.transaction.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Transaction. * @param {TransactionDeleteArgs} args - Arguments to delete one Transaction. * @example * // Delete one Transaction * const Transaction = await prisma.transaction.delete({ * where: { * // ... filter to delete one Transaction * } * }) * */ delete(args: SelectSubset>): Prisma__TransactionClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Transaction. * @param {TransactionUpdateArgs} args - Arguments to update one Transaction. * @example * // Update one Transaction * const transaction = await prisma.transaction.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__TransactionClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Transactions. * @param {TransactionDeleteManyArgs} args - Arguments to filter Transactions to delete. * @example * // Delete a few Transactions * const { count } = await prisma.transaction.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Transactions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TransactionUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Transactions * const transaction = await prisma.transaction.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Transaction. * @param {TransactionUpsertArgs} args - Arguments to update or create a Transaction. * @example * // Update or create a Transaction * const transaction = await prisma.transaction.upsert({ * create: { * // ... data to create a Transaction * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Transaction we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__TransactionClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Transactions. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TransactionCountArgs} args - Arguments to filter Transactions to count. * @example * // Count the number of Transactions * const count = await prisma.transaction.count({ * where: { * // ... the filter for the Transactions 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 Transaction. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TransactionAggregateArgs} 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 Transaction. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TransactionGroupByArgs} 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 TransactionGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: TransactionGroupByArgs['orderBy'] } : { orderBy?: TransactionGroupByArgs['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 ? GetTransactionGroupByPayload : Prisma.PrismaPromise /** * Fields of the Transaction model */ readonly fields: TransactionFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Transaction. * 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__TransactionClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" vendor = {}>(args?: Subset>): Prisma__VendorClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> items = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Transaction model */ interface TransactionFieldRefs { readonly id: FieldRef<"Transaction", 'String'> readonly idempotencyKey: FieldRef<"Transaction", 'String'> readonly vendorId: FieldRef<"Transaction", 'String'> readonly userId: FieldRef<"Transaction", 'String'> readonly status: FieldRef<"Transaction", 'String'> readonly paymentMethod: FieldRef<"Transaction", 'String'> readonly subtotal: FieldRef<"Transaction", 'Float'> readonly taxTotal: FieldRef<"Transaction", 'Float'> readonly discountTotal: FieldRef<"Transaction", 'Float'> readonly total: FieldRef<"Transaction", 'Float'> readonly notes: FieldRef<"Transaction", 'String'> readonly createdAt: FieldRef<"Transaction", 'DateTime'> readonly updatedAt: FieldRef<"Transaction", 'DateTime'> } // Custom InputTypes /** * Transaction findUnique */ export type TransactionFindUniqueArgs = { /** * Select specific fields to fetch from the Transaction */ select?: TransactionSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionInclude | null /** * Filter, which Transaction to fetch. */ where: TransactionWhereUniqueInput } /** * Transaction findUniqueOrThrow */ export type TransactionFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Transaction */ select?: TransactionSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionInclude | null /** * Filter, which Transaction to fetch. */ where: TransactionWhereUniqueInput } /** * Transaction findFirst */ export type TransactionFindFirstArgs = { /** * Select specific fields to fetch from the Transaction */ select?: TransactionSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionInclude | null /** * Filter, which Transaction to fetch. */ where?: TransactionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Transactions to fetch. */ orderBy?: TransactionOrderByWithRelationInput | TransactionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Transactions. */ cursor?: TransactionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Transactions 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` Transactions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Transactions. */ distinct?: TransactionScalarFieldEnum | TransactionScalarFieldEnum[] } /** * Transaction findFirstOrThrow */ export type TransactionFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Transaction */ select?: TransactionSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionInclude | null /** * Filter, which Transaction to fetch. */ where?: TransactionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Transactions to fetch. */ orderBy?: TransactionOrderByWithRelationInput | TransactionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Transactions. */ cursor?: TransactionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Transactions 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` Transactions. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Transactions. */ distinct?: TransactionScalarFieldEnum | TransactionScalarFieldEnum[] } /** * Transaction findMany */ export type TransactionFindManyArgs = { /** * Select specific fields to fetch from the Transaction */ select?: TransactionSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionInclude | null /** * Filter, which Transactions to fetch. */ where?: TransactionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Transactions to fetch. */ orderBy?: TransactionOrderByWithRelationInput | TransactionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Transactions. */ cursor?: TransactionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Transactions 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` Transactions. */ skip?: number distinct?: TransactionScalarFieldEnum | TransactionScalarFieldEnum[] } /** * Transaction create */ export type TransactionCreateArgs = { /** * Select specific fields to fetch from the Transaction */ select?: TransactionSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionInclude | null /** * The data needed to create a Transaction. */ data: XOR } /** * Transaction createMany */ export type TransactionCreateManyArgs = { /** * The data used to create many Transactions. */ data: TransactionCreateManyInput | TransactionCreateManyInput[] } /** * Transaction createManyAndReturn */ export type TransactionCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Transaction */ select?: TransactionSelectCreateManyAndReturn | null /** * The data used to create many Transactions. */ data: TransactionCreateManyInput | TransactionCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: TransactionIncludeCreateManyAndReturn | null } /** * Transaction update */ export type TransactionUpdateArgs = { /** * Select specific fields to fetch from the Transaction */ select?: TransactionSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionInclude | null /** * The data needed to update a Transaction. */ data: XOR /** * Choose, which Transaction to update. */ where: TransactionWhereUniqueInput } /** * Transaction updateMany */ export type TransactionUpdateManyArgs = { /** * The data used to update Transactions. */ data: XOR /** * Filter which Transactions to update */ where?: TransactionWhereInput } /** * Transaction upsert */ export type TransactionUpsertArgs = { /** * Select specific fields to fetch from the Transaction */ select?: TransactionSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionInclude | null /** * The filter to search for the Transaction to update in case it exists. */ where: TransactionWhereUniqueInput /** * In case the Transaction found by the `where` argument doesn't exist, create a new Transaction with this data. */ create: XOR /** * In case the Transaction was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Transaction delete */ export type TransactionDeleteArgs = { /** * Select specific fields to fetch from the Transaction */ select?: TransactionSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionInclude | null /** * Filter which Transaction to delete. */ where: TransactionWhereUniqueInput } /** * Transaction deleteMany */ export type TransactionDeleteManyArgs = { /** * Filter which Transactions to delete */ where?: TransactionWhereInput } /** * Transaction.items */ export type Transaction$itemsArgs = { /** * Select specific fields to fetch from the TransactionItem */ select?: TransactionItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionItemInclude | null where?: TransactionItemWhereInput orderBy?: TransactionItemOrderByWithRelationInput | TransactionItemOrderByWithRelationInput[] cursor?: TransactionItemWhereUniqueInput take?: number skip?: number distinct?: TransactionItemScalarFieldEnum | TransactionItemScalarFieldEnum[] } /** * Transaction without action */ export type TransactionDefaultArgs = { /** * Select specific fields to fetch from the Transaction */ select?: TransactionSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionInclude | null } /** * Model TransactionItem */ export type AggregateTransactionItem = { _count: TransactionItemCountAggregateOutputType | null _avg: TransactionItemAvgAggregateOutputType | null _sum: TransactionItemSumAggregateOutputType | null _min: TransactionItemMinAggregateOutputType | null _max: TransactionItemMaxAggregateOutputType | null } export type TransactionItemAvgAggregateOutputType = { quantity: number | null unitPrice: number | null taxRate: number | null discount: number | null total: number | null } export type TransactionItemSumAggregateOutputType = { quantity: number | null unitPrice: number | null taxRate: number | null discount: number | null total: number | null } export type TransactionItemMinAggregateOutputType = { id: string | null transactionId: string | null productId: string | null productName: string | null quantity: number | null unitPrice: number | null taxRate: number | null discount: number | null total: number | null } export type TransactionItemMaxAggregateOutputType = { id: string | null transactionId: string | null productId: string | null productName: string | null quantity: number | null unitPrice: number | null taxRate: number | null discount: number | null total: number | null } export type TransactionItemCountAggregateOutputType = { id: number transactionId: number productId: number productName: number quantity: number unitPrice: number taxRate: number discount: number total: number _all: number } export type TransactionItemAvgAggregateInputType = { quantity?: true unitPrice?: true taxRate?: true discount?: true total?: true } export type TransactionItemSumAggregateInputType = { quantity?: true unitPrice?: true taxRate?: true discount?: true total?: true } export type TransactionItemMinAggregateInputType = { id?: true transactionId?: true productId?: true productName?: true quantity?: true unitPrice?: true taxRate?: true discount?: true total?: true } export type TransactionItemMaxAggregateInputType = { id?: true transactionId?: true productId?: true productName?: true quantity?: true unitPrice?: true taxRate?: true discount?: true total?: true } export type TransactionItemCountAggregateInputType = { id?: true transactionId?: true productId?: true productName?: true quantity?: true unitPrice?: true taxRate?: true discount?: true total?: true _all?: true } export type TransactionItemAggregateArgs = { /** * Filter which TransactionItem to aggregate. */ where?: TransactionItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of TransactionItems to fetch. */ orderBy?: TransactionItemOrderByWithRelationInput | TransactionItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: TransactionItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` TransactionItems 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` TransactionItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned TransactionItems **/ _count?: true | TransactionItemCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: TransactionItemAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: TransactionItemSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: TransactionItemMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: TransactionItemMaxAggregateInputType } export type GetTransactionItemAggregateType = { [P in keyof T & keyof AggregateTransactionItem]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type TransactionItemGroupByArgs = { where?: TransactionItemWhereInput orderBy?: TransactionItemOrderByWithAggregationInput | TransactionItemOrderByWithAggregationInput[] by: TransactionItemScalarFieldEnum[] | TransactionItemScalarFieldEnum having?: TransactionItemScalarWhereWithAggregatesInput take?: number skip?: number _count?: TransactionItemCountAggregateInputType | true _avg?: TransactionItemAvgAggregateInputType _sum?: TransactionItemSumAggregateInputType _min?: TransactionItemMinAggregateInputType _max?: TransactionItemMaxAggregateInputType } export type TransactionItemGroupByOutputType = { id: string transactionId: string productId: string productName: string quantity: number unitPrice: number taxRate: number discount: number total: number _count: TransactionItemCountAggregateOutputType | null _avg: TransactionItemAvgAggregateOutputType | null _sum: TransactionItemSumAggregateOutputType | null _min: TransactionItemMinAggregateOutputType | null _max: TransactionItemMaxAggregateOutputType | null } type GetTransactionItemGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof TransactionItemGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type TransactionItemSelect = $Extensions.GetSelect<{ id?: boolean transactionId?: boolean productId?: boolean productName?: boolean quantity?: boolean unitPrice?: boolean taxRate?: boolean discount?: boolean total?: boolean transaction?: boolean | TransactionDefaultArgs product?: boolean | ProductDefaultArgs }, ExtArgs["result"]["transactionItem"]> export type TransactionItemSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean transactionId?: boolean productId?: boolean productName?: boolean quantity?: boolean unitPrice?: boolean taxRate?: boolean discount?: boolean total?: boolean transaction?: boolean | TransactionDefaultArgs product?: boolean | ProductDefaultArgs }, ExtArgs["result"]["transactionItem"]> export type TransactionItemSelectScalar = { id?: boolean transactionId?: boolean productId?: boolean productName?: boolean quantity?: boolean unitPrice?: boolean taxRate?: boolean discount?: boolean total?: boolean } export type TransactionItemInclude = { transaction?: boolean | TransactionDefaultArgs product?: boolean | ProductDefaultArgs } export type TransactionItemIncludeCreateManyAndReturn = { transaction?: boolean | TransactionDefaultArgs product?: boolean | ProductDefaultArgs } export type $TransactionItemPayload = { name: "TransactionItem" objects: { transaction: Prisma.$TransactionPayload product: Prisma.$ProductPayload } scalars: $Extensions.GetPayloadResult<{ id: string transactionId: string productId: string productName: string quantity: number unitPrice: number taxRate: number discount: number total: number }, ExtArgs["result"]["transactionItem"]> composites: {} } type TransactionItemGetPayload = $Result.GetResult type TransactionItemCountArgs = Omit & { select?: TransactionItemCountAggregateInputType | true } export interface TransactionItemDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['TransactionItem'], meta: { name: 'TransactionItem' } } /** * Find zero or one TransactionItem that matches the filter. * @param {TransactionItemFindUniqueArgs} args - Arguments to find a TransactionItem * @example * // Get one TransactionItem * const transactionItem = await prisma.transactionItem.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__TransactionItemClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one TransactionItem that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {TransactionItemFindUniqueOrThrowArgs} args - Arguments to find a TransactionItem * @example * // Get one TransactionItem * const transactionItem = await prisma.transactionItem.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__TransactionItemClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first TransactionItem 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 {TransactionItemFindFirstArgs} args - Arguments to find a TransactionItem * @example * // Get one TransactionItem * const transactionItem = await prisma.transactionItem.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__TransactionItemClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first TransactionItem 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 {TransactionItemFindFirstOrThrowArgs} args - Arguments to find a TransactionItem * @example * // Get one TransactionItem * const transactionItem = await prisma.transactionItem.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__TransactionItemClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more TransactionItems 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 {TransactionItemFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all TransactionItems * const transactionItems = await prisma.transactionItem.findMany() * * // Get first 10 TransactionItems * const transactionItems = await prisma.transactionItem.findMany({ take: 10 }) * * // Only select the `id` * const transactionItemWithIdOnly = await prisma.transactionItem.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a TransactionItem. * @param {TransactionItemCreateArgs} args - Arguments to create a TransactionItem. * @example * // Create one TransactionItem * const TransactionItem = await prisma.transactionItem.create({ * data: { * // ... data to create a TransactionItem * } * }) * */ create(args: SelectSubset>): Prisma__TransactionItemClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many TransactionItems. * @param {TransactionItemCreateManyArgs} args - Arguments to create many TransactionItems. * @example * // Create many TransactionItems * const transactionItem = await prisma.transactionItem.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many TransactionItems and returns the data saved in the database. * @param {TransactionItemCreateManyAndReturnArgs} args - Arguments to create many TransactionItems. * @example * // Create many TransactionItems * const transactionItem = await prisma.transactionItem.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many TransactionItems and only return the `id` * const transactionItemWithIdOnly = await prisma.transactionItem.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a TransactionItem. * @param {TransactionItemDeleteArgs} args - Arguments to delete one TransactionItem. * @example * // Delete one TransactionItem * const TransactionItem = await prisma.transactionItem.delete({ * where: { * // ... filter to delete one TransactionItem * } * }) * */ delete(args: SelectSubset>): Prisma__TransactionItemClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one TransactionItem. * @param {TransactionItemUpdateArgs} args - Arguments to update one TransactionItem. * @example * // Update one TransactionItem * const transactionItem = await prisma.transactionItem.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__TransactionItemClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more TransactionItems. * @param {TransactionItemDeleteManyArgs} args - Arguments to filter TransactionItems to delete. * @example * // Delete a few TransactionItems * const { count } = await prisma.transactionItem.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more TransactionItems. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TransactionItemUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many TransactionItems * const transactionItem = await prisma.transactionItem.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one TransactionItem. * @param {TransactionItemUpsertArgs} args - Arguments to update or create a TransactionItem. * @example * // Update or create a TransactionItem * const transactionItem = await prisma.transactionItem.upsert({ * create: { * // ... data to create a TransactionItem * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the TransactionItem we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__TransactionItemClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of TransactionItems. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TransactionItemCountArgs} args - Arguments to filter TransactionItems to count. * @example * // Count the number of TransactionItems * const count = await prisma.transactionItem.count({ * where: { * // ... the filter for the TransactionItems 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 TransactionItem. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TransactionItemAggregateArgs} 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 TransactionItem. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {TransactionItemGroupByArgs} 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 TransactionItemGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: TransactionItemGroupByArgs['orderBy'] } : { orderBy?: TransactionItemGroupByArgs['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 ? GetTransactionItemGroupByPayload : Prisma.PrismaPromise /** * Fields of the TransactionItem model */ readonly fields: TransactionItemFieldRefs; } /** * The delegate class that acts as a "Promise-like" for TransactionItem. * 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__TransactionItemClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" transaction = {}>(args?: Subset>): Prisma__TransactionClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> product = {}>(args?: Subset>): Prisma__ProductClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the TransactionItem model */ interface TransactionItemFieldRefs { readonly id: FieldRef<"TransactionItem", 'String'> readonly transactionId: FieldRef<"TransactionItem", 'String'> readonly productId: FieldRef<"TransactionItem", 'String'> readonly productName: FieldRef<"TransactionItem", 'String'> readonly quantity: FieldRef<"TransactionItem", 'Int'> readonly unitPrice: FieldRef<"TransactionItem", 'Float'> readonly taxRate: FieldRef<"TransactionItem", 'Float'> readonly discount: FieldRef<"TransactionItem", 'Float'> readonly total: FieldRef<"TransactionItem", 'Float'> } // Custom InputTypes /** * TransactionItem findUnique */ export type TransactionItemFindUniqueArgs = { /** * Select specific fields to fetch from the TransactionItem */ select?: TransactionItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionItemInclude | null /** * Filter, which TransactionItem to fetch. */ where: TransactionItemWhereUniqueInput } /** * TransactionItem findUniqueOrThrow */ export type TransactionItemFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the TransactionItem */ select?: TransactionItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionItemInclude | null /** * Filter, which TransactionItem to fetch. */ where: TransactionItemWhereUniqueInput } /** * TransactionItem findFirst */ export type TransactionItemFindFirstArgs = { /** * Select specific fields to fetch from the TransactionItem */ select?: TransactionItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionItemInclude | null /** * Filter, which TransactionItem to fetch. */ where?: TransactionItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of TransactionItems to fetch. */ orderBy?: TransactionItemOrderByWithRelationInput | TransactionItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for TransactionItems. */ cursor?: TransactionItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` TransactionItems 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` TransactionItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of TransactionItems. */ distinct?: TransactionItemScalarFieldEnum | TransactionItemScalarFieldEnum[] } /** * TransactionItem findFirstOrThrow */ export type TransactionItemFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the TransactionItem */ select?: TransactionItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionItemInclude | null /** * Filter, which TransactionItem to fetch. */ where?: TransactionItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of TransactionItems to fetch. */ orderBy?: TransactionItemOrderByWithRelationInput | TransactionItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for TransactionItems. */ cursor?: TransactionItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` TransactionItems 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` TransactionItems. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of TransactionItems. */ distinct?: TransactionItemScalarFieldEnum | TransactionItemScalarFieldEnum[] } /** * TransactionItem findMany */ export type TransactionItemFindManyArgs = { /** * Select specific fields to fetch from the TransactionItem */ select?: TransactionItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionItemInclude | null /** * Filter, which TransactionItems to fetch. */ where?: TransactionItemWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of TransactionItems to fetch. */ orderBy?: TransactionItemOrderByWithRelationInput | TransactionItemOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing TransactionItems. */ cursor?: TransactionItemWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` TransactionItems 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` TransactionItems. */ skip?: number distinct?: TransactionItemScalarFieldEnum | TransactionItemScalarFieldEnum[] } /** * TransactionItem create */ export type TransactionItemCreateArgs = { /** * Select specific fields to fetch from the TransactionItem */ select?: TransactionItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionItemInclude | null /** * The data needed to create a TransactionItem. */ data: XOR } /** * TransactionItem createMany */ export type TransactionItemCreateManyArgs = { /** * The data used to create many TransactionItems. */ data: TransactionItemCreateManyInput | TransactionItemCreateManyInput[] } /** * TransactionItem createManyAndReturn */ export type TransactionItemCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the TransactionItem */ select?: TransactionItemSelectCreateManyAndReturn | null /** * The data used to create many TransactionItems. */ data: TransactionItemCreateManyInput | TransactionItemCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: TransactionItemIncludeCreateManyAndReturn | null } /** * TransactionItem update */ export type TransactionItemUpdateArgs = { /** * Select specific fields to fetch from the TransactionItem */ select?: TransactionItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionItemInclude | null /** * The data needed to update a TransactionItem. */ data: XOR /** * Choose, which TransactionItem to update. */ where: TransactionItemWhereUniqueInput } /** * TransactionItem updateMany */ export type TransactionItemUpdateManyArgs = { /** * The data used to update TransactionItems. */ data: XOR /** * Filter which TransactionItems to update */ where?: TransactionItemWhereInput } /** * TransactionItem upsert */ export type TransactionItemUpsertArgs = { /** * Select specific fields to fetch from the TransactionItem */ select?: TransactionItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionItemInclude | null /** * The filter to search for the TransactionItem to update in case it exists. */ where: TransactionItemWhereUniqueInput /** * In case the TransactionItem found by the `where` argument doesn't exist, create a new TransactionItem with this data. */ create: XOR /** * In case the TransactionItem was found with the provided `where` argument, update it with this data. */ update: XOR } /** * TransactionItem delete */ export type TransactionItemDeleteArgs = { /** * Select specific fields to fetch from the TransactionItem */ select?: TransactionItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionItemInclude | null /** * Filter which TransactionItem to delete. */ where: TransactionItemWhereUniqueInput } /** * TransactionItem deleteMany */ export type TransactionItemDeleteManyArgs = { /** * Filter which TransactionItems to delete */ where?: TransactionItemWhereInput } /** * TransactionItem without action */ export type TransactionItemDefaultArgs = { /** * Select specific fields to fetch from the TransactionItem */ select?: TransactionItemSelect | null /** * Choose, which related nodes to fetch as well */ include?: TransactionItemInclude | null } /** * Enums */ export const TransactionIsolationLevel: { Serializable: 'Serializable' }; export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] export const VendorScalarFieldEnum: { id: 'id', name: 'name', businessNum: 'businessNum', taxSettings: 'taxSettings', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type VendorScalarFieldEnum = (typeof VendorScalarFieldEnum)[keyof typeof VendorScalarFieldEnum] export const RoleScalarFieldEnum: { id: 'id', name: 'name' }; export type RoleScalarFieldEnum = (typeof RoleScalarFieldEnum)[keyof typeof RoleScalarFieldEnum] export const UserScalarFieldEnum: { id: 'id', email: 'email', passwordHash: 'passwordHash', name: 'name', vendorId: 'vendorId', roleId: 'roleId', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] export const RefreshTokenScalarFieldEnum: { id: 'id', token: 'token', userId: 'userId', expiresAt: 'expiresAt', createdAt: 'createdAt' }; export type RefreshTokenScalarFieldEnum = (typeof RefreshTokenScalarFieldEnum)[keyof typeof RefreshTokenScalarFieldEnum] export const CategoryScalarFieldEnum: { id: 'id', name: 'name', vendorId: 'vendorId', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type CategoryScalarFieldEnum = (typeof CategoryScalarFieldEnum)[keyof typeof CategoryScalarFieldEnum] export const TaxScalarFieldEnum: { id: 'id', name: 'name', rate: 'rate', vendorId: 'vendorId', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type TaxScalarFieldEnum = (typeof TaxScalarFieldEnum)[keyof typeof TaxScalarFieldEnum] export const ProductScalarFieldEnum: { id: 'id', name: 'name', sku: 'sku', description: 'description', price: 'price', vendorId: 'vendorId', categoryId: 'categoryId', taxId: 'taxId', tags: 'tags', version: 'version', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type ProductScalarFieldEnum = (typeof ProductScalarFieldEnum)[keyof typeof ProductScalarFieldEnum] export const TransactionScalarFieldEnum: { id: 'id', idempotencyKey: 'idempotencyKey', vendorId: 'vendorId', userId: 'userId', status: 'status', paymentMethod: 'paymentMethod', subtotal: 'subtotal', taxTotal: 'taxTotal', discountTotal: 'discountTotal', total: 'total', notes: 'notes', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type TransactionScalarFieldEnum = (typeof TransactionScalarFieldEnum)[keyof typeof TransactionScalarFieldEnum] export const TransactionItemScalarFieldEnum: { id: 'id', transactionId: 'transactionId', productId: 'productId', productName: 'productName', quantity: 'quantity', unitPrice: 'unitPrice', taxRate: 'taxRate', discount: 'discount', total: 'total' }; export type TransactionItemScalarFieldEnum = (typeof TransactionItemScalarFieldEnum)[keyof typeof TransactionItemScalarFieldEnum] export const SortOrder: { asc: 'asc', desc: 'desc' }; export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] 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 'DateTime' */ export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> /** * Reference to a field of type 'Float' */ export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> /** * Reference to a field of type 'Int' */ export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'> /** * Deep Input Types */ export type VendorWhereInput = { AND?: VendorWhereInput | VendorWhereInput[] OR?: VendorWhereInput[] NOT?: VendorWhereInput | VendorWhereInput[] id?: StringFilter<"Vendor"> | string name?: StringFilter<"Vendor"> | string businessNum?: StringNullableFilter<"Vendor"> | string | null taxSettings?: StringNullableFilter<"Vendor"> | string | null createdAt?: DateTimeFilter<"Vendor"> | Date | string updatedAt?: DateTimeFilter<"Vendor"> | Date | string users?: UserListRelationFilter categories?: CategoryListRelationFilter products?: ProductListRelationFilter taxes?: TaxListRelationFilter transactions?: TransactionListRelationFilter } export type VendorOrderByWithRelationInput = { id?: SortOrder name?: SortOrder businessNum?: SortOrderInput | SortOrder taxSettings?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder users?: UserOrderByRelationAggregateInput categories?: CategoryOrderByRelationAggregateInput products?: ProductOrderByRelationAggregateInput taxes?: TaxOrderByRelationAggregateInput transactions?: TransactionOrderByRelationAggregateInput } export type VendorWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: VendorWhereInput | VendorWhereInput[] OR?: VendorWhereInput[] NOT?: VendorWhereInput | VendorWhereInput[] name?: StringFilter<"Vendor"> | string businessNum?: StringNullableFilter<"Vendor"> | string | null taxSettings?: StringNullableFilter<"Vendor"> | string | null createdAt?: DateTimeFilter<"Vendor"> | Date | string updatedAt?: DateTimeFilter<"Vendor"> | Date | string users?: UserListRelationFilter categories?: CategoryListRelationFilter products?: ProductListRelationFilter taxes?: TaxListRelationFilter transactions?: TransactionListRelationFilter }, "id"> export type VendorOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder businessNum?: SortOrderInput | SortOrder taxSettings?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: VendorCountOrderByAggregateInput _max?: VendorMaxOrderByAggregateInput _min?: VendorMinOrderByAggregateInput } export type VendorScalarWhereWithAggregatesInput = { AND?: VendorScalarWhereWithAggregatesInput | VendorScalarWhereWithAggregatesInput[] OR?: VendorScalarWhereWithAggregatesInput[] NOT?: VendorScalarWhereWithAggregatesInput | VendorScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Vendor"> | string name?: StringWithAggregatesFilter<"Vendor"> | string businessNum?: StringNullableWithAggregatesFilter<"Vendor"> | string | null taxSettings?: StringNullableWithAggregatesFilter<"Vendor"> | string | null createdAt?: DateTimeWithAggregatesFilter<"Vendor"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Vendor"> | Date | string } export type RoleWhereInput = { AND?: RoleWhereInput | RoleWhereInput[] OR?: RoleWhereInput[] NOT?: RoleWhereInput | RoleWhereInput[] id?: StringFilter<"Role"> | string name?: StringFilter<"Role"> | string users?: UserListRelationFilter } export type RoleOrderByWithRelationInput = { id?: SortOrder name?: SortOrder users?: UserOrderByRelationAggregateInput } export type RoleWhereUniqueInput = Prisma.AtLeast<{ id?: string name?: string AND?: RoleWhereInput | RoleWhereInput[] OR?: RoleWhereInput[] NOT?: RoleWhereInput | RoleWhereInput[] users?: UserListRelationFilter }, "id" | "name"> export type RoleOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder _count?: RoleCountOrderByAggregateInput _max?: RoleMaxOrderByAggregateInput _min?: RoleMinOrderByAggregateInput } export type RoleScalarWhereWithAggregatesInput = { AND?: RoleScalarWhereWithAggregatesInput | RoleScalarWhereWithAggregatesInput[] OR?: RoleScalarWhereWithAggregatesInput[] NOT?: RoleScalarWhereWithAggregatesInput | RoleScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Role"> | string name?: StringWithAggregatesFilter<"Role"> | string } export type UserWhereInput = { AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] id?: StringFilter<"User"> | string email?: StringFilter<"User"> | string passwordHash?: StringFilter<"User"> | string name?: StringFilter<"User"> | string vendorId?: StringFilter<"User"> | string roleId?: StringFilter<"User"> | string createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string vendor?: XOR role?: XOR refreshTokens?: RefreshTokenListRelationFilter transactions?: TransactionListRelationFilter } export type UserOrderByWithRelationInput = { id?: SortOrder email?: SortOrder passwordHash?: SortOrder name?: SortOrder vendorId?: SortOrder roleId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder vendor?: VendorOrderByWithRelationInput role?: RoleOrderByWithRelationInput refreshTokens?: RefreshTokenOrderByRelationAggregateInput transactions?: TransactionOrderByRelationAggregateInput } export type UserWhereUniqueInput = Prisma.AtLeast<{ id?: string email?: string AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] passwordHash?: StringFilter<"User"> | string name?: StringFilter<"User"> | string vendorId?: StringFilter<"User"> | string roleId?: StringFilter<"User"> | string createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string vendor?: XOR role?: XOR refreshTokens?: RefreshTokenListRelationFilter transactions?: TransactionListRelationFilter }, "id" | "email"> export type UserOrderByWithAggregationInput = { id?: SortOrder email?: SortOrder passwordHash?: SortOrder name?: SortOrder vendorId?: SortOrder roleId?: 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 email?: StringWithAggregatesFilter<"User"> | string passwordHash?: StringWithAggregatesFilter<"User"> | string name?: StringWithAggregatesFilter<"User"> | string vendorId?: StringWithAggregatesFilter<"User"> | string roleId?: StringWithAggregatesFilter<"User"> | string createdAt?: DateTimeWithAggregatesFilter<"User"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"User"> | Date | string } export type RefreshTokenWhereInput = { AND?: RefreshTokenWhereInput | RefreshTokenWhereInput[] OR?: RefreshTokenWhereInput[] NOT?: RefreshTokenWhereInput | RefreshTokenWhereInput[] id?: StringFilter<"RefreshToken"> | string token?: StringFilter<"RefreshToken"> | string userId?: StringFilter<"RefreshToken"> | string expiresAt?: DateTimeFilter<"RefreshToken"> | Date | string createdAt?: DateTimeFilter<"RefreshToken"> | Date | string user?: XOR } export type RefreshTokenOrderByWithRelationInput = { id?: SortOrder token?: SortOrder userId?: SortOrder expiresAt?: SortOrder createdAt?: SortOrder user?: UserOrderByWithRelationInput } export type RefreshTokenWhereUniqueInput = Prisma.AtLeast<{ id?: string token?: string AND?: RefreshTokenWhereInput | RefreshTokenWhereInput[] OR?: RefreshTokenWhereInput[] NOT?: RefreshTokenWhereInput | RefreshTokenWhereInput[] userId?: StringFilter<"RefreshToken"> | string expiresAt?: DateTimeFilter<"RefreshToken"> | Date | string createdAt?: DateTimeFilter<"RefreshToken"> | Date | string user?: XOR }, "id" | "token"> export type RefreshTokenOrderByWithAggregationInput = { id?: SortOrder token?: SortOrder userId?: SortOrder expiresAt?: SortOrder createdAt?: SortOrder _count?: RefreshTokenCountOrderByAggregateInput _max?: RefreshTokenMaxOrderByAggregateInput _min?: RefreshTokenMinOrderByAggregateInput } export type RefreshTokenScalarWhereWithAggregatesInput = { AND?: RefreshTokenScalarWhereWithAggregatesInput | RefreshTokenScalarWhereWithAggregatesInput[] OR?: RefreshTokenScalarWhereWithAggregatesInput[] NOT?: RefreshTokenScalarWhereWithAggregatesInput | RefreshTokenScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"RefreshToken"> | string token?: StringWithAggregatesFilter<"RefreshToken"> | string userId?: StringWithAggregatesFilter<"RefreshToken"> | string expiresAt?: DateTimeWithAggregatesFilter<"RefreshToken"> | Date | string createdAt?: DateTimeWithAggregatesFilter<"RefreshToken"> | Date | string } export type CategoryWhereInput = { AND?: CategoryWhereInput | CategoryWhereInput[] OR?: CategoryWhereInput[] NOT?: CategoryWhereInput | CategoryWhereInput[] id?: StringFilter<"Category"> | string name?: StringFilter<"Category"> | string vendorId?: StringFilter<"Category"> | string createdAt?: DateTimeFilter<"Category"> | Date | string updatedAt?: DateTimeFilter<"Category"> | Date | string vendor?: XOR products?: ProductListRelationFilter } export type CategoryOrderByWithRelationInput = { id?: SortOrder name?: SortOrder vendorId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder vendor?: VendorOrderByWithRelationInput products?: ProductOrderByRelationAggregateInput } export type CategoryWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: CategoryWhereInput | CategoryWhereInput[] OR?: CategoryWhereInput[] NOT?: CategoryWhereInput | CategoryWhereInput[] name?: StringFilter<"Category"> | string vendorId?: StringFilter<"Category"> | string createdAt?: DateTimeFilter<"Category"> | Date | string updatedAt?: DateTimeFilter<"Category"> | Date | string vendor?: XOR products?: ProductListRelationFilter }, "id"> export type CategoryOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder vendorId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: CategoryCountOrderByAggregateInput _max?: CategoryMaxOrderByAggregateInput _min?: CategoryMinOrderByAggregateInput } export type CategoryScalarWhereWithAggregatesInput = { AND?: CategoryScalarWhereWithAggregatesInput | CategoryScalarWhereWithAggregatesInput[] OR?: CategoryScalarWhereWithAggregatesInput[] NOT?: CategoryScalarWhereWithAggregatesInput | CategoryScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Category"> | string name?: StringWithAggregatesFilter<"Category"> | string vendorId?: StringWithAggregatesFilter<"Category"> | string createdAt?: DateTimeWithAggregatesFilter<"Category"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Category"> | Date | string } export type TaxWhereInput = { AND?: TaxWhereInput | TaxWhereInput[] OR?: TaxWhereInput[] NOT?: TaxWhereInput | TaxWhereInput[] id?: StringFilter<"Tax"> | string name?: StringFilter<"Tax"> | string rate?: FloatFilter<"Tax"> | number vendorId?: StringFilter<"Tax"> | string createdAt?: DateTimeFilter<"Tax"> | Date | string updatedAt?: DateTimeFilter<"Tax"> | Date | string vendor?: XOR products?: ProductListRelationFilter } export type TaxOrderByWithRelationInput = { id?: SortOrder name?: SortOrder rate?: SortOrder vendorId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder vendor?: VendorOrderByWithRelationInput products?: ProductOrderByRelationAggregateInput } export type TaxWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: TaxWhereInput | TaxWhereInput[] OR?: TaxWhereInput[] NOT?: TaxWhereInput | TaxWhereInput[] name?: StringFilter<"Tax"> | string rate?: FloatFilter<"Tax"> | number vendorId?: StringFilter<"Tax"> | string createdAt?: DateTimeFilter<"Tax"> | Date | string updatedAt?: DateTimeFilter<"Tax"> | Date | string vendor?: XOR products?: ProductListRelationFilter }, "id"> export type TaxOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder rate?: SortOrder vendorId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: TaxCountOrderByAggregateInput _avg?: TaxAvgOrderByAggregateInput _max?: TaxMaxOrderByAggregateInput _min?: TaxMinOrderByAggregateInput _sum?: TaxSumOrderByAggregateInput } export type TaxScalarWhereWithAggregatesInput = { AND?: TaxScalarWhereWithAggregatesInput | TaxScalarWhereWithAggregatesInput[] OR?: TaxScalarWhereWithAggregatesInput[] NOT?: TaxScalarWhereWithAggregatesInput | TaxScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Tax"> | string name?: StringWithAggregatesFilter<"Tax"> | string rate?: FloatWithAggregatesFilter<"Tax"> | number vendorId?: StringWithAggregatesFilter<"Tax"> | string createdAt?: DateTimeWithAggregatesFilter<"Tax"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Tax"> | Date | string } export type ProductWhereInput = { AND?: ProductWhereInput | ProductWhereInput[] OR?: ProductWhereInput[] NOT?: ProductWhereInput | ProductWhereInput[] id?: StringFilter<"Product"> | string name?: StringFilter<"Product"> | string sku?: StringNullableFilter<"Product"> | string | null description?: StringNullableFilter<"Product"> | string | null price?: FloatFilter<"Product"> | number vendorId?: StringFilter<"Product"> | string categoryId?: StringNullableFilter<"Product"> | string | null taxId?: StringNullableFilter<"Product"> | string | null tags?: StringNullableFilter<"Product"> | string | null version?: IntFilter<"Product"> | number createdAt?: DateTimeFilter<"Product"> | Date | string updatedAt?: DateTimeFilter<"Product"> | Date | string vendor?: XOR category?: XOR | null tax?: XOR | null transactionItems?: TransactionItemListRelationFilter } export type ProductOrderByWithRelationInput = { id?: SortOrder name?: SortOrder sku?: SortOrderInput | SortOrder description?: SortOrderInput | SortOrder price?: SortOrder vendorId?: SortOrder categoryId?: SortOrderInput | SortOrder taxId?: SortOrderInput | SortOrder tags?: SortOrderInput | SortOrder version?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder vendor?: VendorOrderByWithRelationInput category?: CategoryOrderByWithRelationInput tax?: TaxOrderByWithRelationInput transactionItems?: TransactionItemOrderByRelationAggregateInput } export type ProductWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: ProductWhereInput | ProductWhereInput[] OR?: ProductWhereInput[] NOT?: ProductWhereInput | ProductWhereInput[] name?: StringFilter<"Product"> | string sku?: StringNullableFilter<"Product"> | string | null description?: StringNullableFilter<"Product"> | string | null price?: FloatFilter<"Product"> | number vendorId?: StringFilter<"Product"> | string categoryId?: StringNullableFilter<"Product"> | string | null taxId?: StringNullableFilter<"Product"> | string | null tags?: StringNullableFilter<"Product"> | string | null version?: IntFilter<"Product"> | number createdAt?: DateTimeFilter<"Product"> | Date | string updatedAt?: DateTimeFilter<"Product"> | Date | string vendor?: XOR category?: XOR | null tax?: XOR | null transactionItems?: TransactionItemListRelationFilter }, "id"> export type ProductOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder sku?: SortOrderInput | SortOrder description?: SortOrderInput | SortOrder price?: SortOrder vendorId?: SortOrder categoryId?: SortOrderInput | SortOrder taxId?: SortOrderInput | SortOrder tags?: SortOrderInput | SortOrder version?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: ProductCountOrderByAggregateInput _avg?: ProductAvgOrderByAggregateInput _max?: ProductMaxOrderByAggregateInput _min?: ProductMinOrderByAggregateInput _sum?: ProductSumOrderByAggregateInput } export type ProductScalarWhereWithAggregatesInput = { AND?: ProductScalarWhereWithAggregatesInput | ProductScalarWhereWithAggregatesInput[] OR?: ProductScalarWhereWithAggregatesInput[] NOT?: ProductScalarWhereWithAggregatesInput | ProductScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Product"> | string name?: StringWithAggregatesFilter<"Product"> | string sku?: StringNullableWithAggregatesFilter<"Product"> | string | null description?: StringNullableWithAggregatesFilter<"Product"> | string | null price?: FloatWithAggregatesFilter<"Product"> | number vendorId?: StringWithAggregatesFilter<"Product"> | string categoryId?: StringNullableWithAggregatesFilter<"Product"> | string | null taxId?: StringNullableWithAggregatesFilter<"Product"> | string | null tags?: StringNullableWithAggregatesFilter<"Product"> | string | null version?: IntWithAggregatesFilter<"Product"> | number createdAt?: DateTimeWithAggregatesFilter<"Product"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Product"> | Date | string } export type TransactionWhereInput = { AND?: TransactionWhereInput | TransactionWhereInput[] OR?: TransactionWhereInput[] NOT?: TransactionWhereInput | TransactionWhereInput[] id?: StringFilter<"Transaction"> | string idempotencyKey?: StringFilter<"Transaction"> | string vendorId?: StringFilter<"Transaction"> | string userId?: StringFilter<"Transaction"> | string status?: StringFilter<"Transaction"> | string paymentMethod?: StringFilter<"Transaction"> | string subtotal?: FloatFilter<"Transaction"> | number taxTotal?: FloatFilter<"Transaction"> | number discountTotal?: FloatFilter<"Transaction"> | number total?: FloatFilter<"Transaction"> | number notes?: StringNullableFilter<"Transaction"> | string | null createdAt?: DateTimeFilter<"Transaction"> | Date | string updatedAt?: DateTimeFilter<"Transaction"> | Date | string vendor?: XOR user?: XOR items?: TransactionItemListRelationFilter } export type TransactionOrderByWithRelationInput = { id?: SortOrder idempotencyKey?: SortOrder vendorId?: SortOrder userId?: SortOrder status?: SortOrder paymentMethod?: SortOrder subtotal?: SortOrder taxTotal?: SortOrder discountTotal?: SortOrder total?: SortOrder notes?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder vendor?: VendorOrderByWithRelationInput user?: UserOrderByWithRelationInput items?: TransactionItemOrderByRelationAggregateInput } export type TransactionWhereUniqueInput = Prisma.AtLeast<{ id?: string idempotencyKey?: string AND?: TransactionWhereInput | TransactionWhereInput[] OR?: TransactionWhereInput[] NOT?: TransactionWhereInput | TransactionWhereInput[] vendorId?: StringFilter<"Transaction"> | string userId?: StringFilter<"Transaction"> | string status?: StringFilter<"Transaction"> | string paymentMethod?: StringFilter<"Transaction"> | string subtotal?: FloatFilter<"Transaction"> | number taxTotal?: FloatFilter<"Transaction"> | number discountTotal?: FloatFilter<"Transaction"> | number total?: FloatFilter<"Transaction"> | number notes?: StringNullableFilter<"Transaction"> | string | null createdAt?: DateTimeFilter<"Transaction"> | Date | string updatedAt?: DateTimeFilter<"Transaction"> | Date | string vendor?: XOR user?: XOR items?: TransactionItemListRelationFilter }, "id" | "idempotencyKey"> export type TransactionOrderByWithAggregationInput = { id?: SortOrder idempotencyKey?: SortOrder vendorId?: SortOrder userId?: SortOrder status?: SortOrder paymentMethod?: SortOrder subtotal?: SortOrder taxTotal?: SortOrder discountTotal?: SortOrder total?: SortOrder notes?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: TransactionCountOrderByAggregateInput _avg?: TransactionAvgOrderByAggregateInput _max?: TransactionMaxOrderByAggregateInput _min?: TransactionMinOrderByAggregateInput _sum?: TransactionSumOrderByAggregateInput } export type TransactionScalarWhereWithAggregatesInput = { AND?: TransactionScalarWhereWithAggregatesInput | TransactionScalarWhereWithAggregatesInput[] OR?: TransactionScalarWhereWithAggregatesInput[] NOT?: TransactionScalarWhereWithAggregatesInput | TransactionScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Transaction"> | string idempotencyKey?: StringWithAggregatesFilter<"Transaction"> | string vendorId?: StringWithAggregatesFilter<"Transaction"> | string userId?: StringWithAggregatesFilter<"Transaction"> | string status?: StringWithAggregatesFilter<"Transaction"> | string paymentMethod?: StringWithAggregatesFilter<"Transaction"> | string subtotal?: FloatWithAggregatesFilter<"Transaction"> | number taxTotal?: FloatWithAggregatesFilter<"Transaction"> | number discountTotal?: FloatWithAggregatesFilter<"Transaction"> | number total?: FloatWithAggregatesFilter<"Transaction"> | number notes?: StringNullableWithAggregatesFilter<"Transaction"> | string | null createdAt?: DateTimeWithAggregatesFilter<"Transaction"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Transaction"> | Date | string } export type TransactionItemWhereInput = { AND?: TransactionItemWhereInput | TransactionItemWhereInput[] OR?: TransactionItemWhereInput[] NOT?: TransactionItemWhereInput | TransactionItemWhereInput[] id?: StringFilter<"TransactionItem"> | string transactionId?: StringFilter<"TransactionItem"> | string productId?: StringFilter<"TransactionItem"> | string productName?: StringFilter<"TransactionItem"> | string quantity?: IntFilter<"TransactionItem"> | number unitPrice?: FloatFilter<"TransactionItem"> | number taxRate?: FloatFilter<"TransactionItem"> | number discount?: FloatFilter<"TransactionItem"> | number total?: FloatFilter<"TransactionItem"> | number transaction?: XOR product?: XOR } export type TransactionItemOrderByWithRelationInput = { id?: SortOrder transactionId?: SortOrder productId?: SortOrder productName?: SortOrder quantity?: SortOrder unitPrice?: SortOrder taxRate?: SortOrder discount?: SortOrder total?: SortOrder transaction?: TransactionOrderByWithRelationInput product?: ProductOrderByWithRelationInput } export type TransactionItemWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: TransactionItemWhereInput | TransactionItemWhereInput[] OR?: TransactionItemWhereInput[] NOT?: TransactionItemWhereInput | TransactionItemWhereInput[] transactionId?: StringFilter<"TransactionItem"> | string productId?: StringFilter<"TransactionItem"> | string productName?: StringFilter<"TransactionItem"> | string quantity?: IntFilter<"TransactionItem"> | number unitPrice?: FloatFilter<"TransactionItem"> | number taxRate?: FloatFilter<"TransactionItem"> | number discount?: FloatFilter<"TransactionItem"> | number total?: FloatFilter<"TransactionItem"> | number transaction?: XOR product?: XOR }, "id"> export type TransactionItemOrderByWithAggregationInput = { id?: SortOrder transactionId?: SortOrder productId?: SortOrder productName?: SortOrder quantity?: SortOrder unitPrice?: SortOrder taxRate?: SortOrder discount?: SortOrder total?: SortOrder _count?: TransactionItemCountOrderByAggregateInput _avg?: TransactionItemAvgOrderByAggregateInput _max?: TransactionItemMaxOrderByAggregateInput _min?: TransactionItemMinOrderByAggregateInput _sum?: TransactionItemSumOrderByAggregateInput } export type TransactionItemScalarWhereWithAggregatesInput = { AND?: TransactionItemScalarWhereWithAggregatesInput | TransactionItemScalarWhereWithAggregatesInput[] OR?: TransactionItemScalarWhereWithAggregatesInput[] NOT?: TransactionItemScalarWhereWithAggregatesInput | TransactionItemScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"TransactionItem"> | string transactionId?: StringWithAggregatesFilter<"TransactionItem"> | string productId?: StringWithAggregatesFilter<"TransactionItem"> | string productName?: StringWithAggregatesFilter<"TransactionItem"> | string quantity?: IntWithAggregatesFilter<"TransactionItem"> | number unitPrice?: FloatWithAggregatesFilter<"TransactionItem"> | number taxRate?: FloatWithAggregatesFilter<"TransactionItem"> | number discount?: FloatWithAggregatesFilter<"TransactionItem"> | number total?: FloatWithAggregatesFilter<"TransactionItem"> | number } export type VendorCreateInput = { id?: string name: string businessNum?: string | null taxSettings?: string | null createdAt?: Date | string updatedAt?: Date | string users?: UserCreateNestedManyWithoutVendorInput categories?: CategoryCreateNestedManyWithoutVendorInput products?: ProductCreateNestedManyWithoutVendorInput taxes?: TaxCreateNestedManyWithoutVendorInput transactions?: TransactionCreateNestedManyWithoutVendorInput } export type VendorUncheckedCreateInput = { id?: string name: string businessNum?: string | null taxSettings?: string | null createdAt?: Date | string updatedAt?: Date | string users?: UserUncheckedCreateNestedManyWithoutVendorInput categories?: CategoryUncheckedCreateNestedManyWithoutVendorInput products?: ProductUncheckedCreateNestedManyWithoutVendorInput taxes?: TaxUncheckedCreateNestedManyWithoutVendorInput transactions?: TransactionUncheckedCreateNestedManyWithoutVendorInput } export type VendorUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string users?: UserUpdateManyWithoutVendorNestedInput categories?: CategoryUpdateManyWithoutVendorNestedInput products?: ProductUpdateManyWithoutVendorNestedInput taxes?: TaxUpdateManyWithoutVendorNestedInput transactions?: TransactionUpdateManyWithoutVendorNestedInput } export type VendorUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string users?: UserUncheckedUpdateManyWithoutVendorNestedInput categories?: CategoryUncheckedUpdateManyWithoutVendorNestedInput products?: ProductUncheckedUpdateManyWithoutVendorNestedInput taxes?: TaxUncheckedUpdateManyWithoutVendorNestedInput transactions?: TransactionUncheckedUpdateManyWithoutVendorNestedInput } export type VendorCreateManyInput = { id?: string name: string businessNum?: string | null taxSettings?: string | null createdAt?: Date | string updatedAt?: Date | string } export type VendorUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VendorUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type RoleCreateInput = { id?: string name: string users?: UserCreateNestedManyWithoutRoleInput } export type RoleUncheckedCreateInput = { id?: string name: string users?: UserUncheckedCreateNestedManyWithoutRoleInput } export type RoleUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string users?: UserUpdateManyWithoutRoleNestedInput } export type RoleUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string users?: UserUncheckedUpdateManyWithoutRoleNestedInput } export type RoleCreateManyInput = { id?: string name: string } export type RoleUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string } export type RoleUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string } export type UserCreateInput = { id?: string email: string passwordHash: string name: string createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutUsersInput role: RoleCreateNestedOneWithoutUsersInput refreshTokens?: RefreshTokenCreateNestedManyWithoutUserInput transactions?: TransactionCreateNestedManyWithoutUserInput } export type UserUncheckedCreateInput = { id?: string email: string passwordHash: string name: string vendorId: string roleId: string createdAt?: Date | string updatedAt?: Date | string refreshTokens?: RefreshTokenUncheckedCreateNestedManyWithoutUserInput transactions?: TransactionUncheckedCreateNestedManyWithoutUserInput } export type UserUpdateInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutUsersNestedInput role?: RoleUpdateOneRequiredWithoutUsersNestedInput refreshTokens?: RefreshTokenUpdateManyWithoutUserNestedInput transactions?: TransactionUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string roleId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string refreshTokens?: RefreshTokenUncheckedUpdateManyWithoutUserNestedInput transactions?: TransactionUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateManyInput = { id?: string email: string passwordHash: string name: string vendorId: string roleId: string createdAt?: Date | string updatedAt?: Date | string } export type UserUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string roleId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type RefreshTokenCreateInput = { id?: string token: string expiresAt: Date | string createdAt?: Date | string user: UserCreateNestedOneWithoutRefreshTokensInput } export type RefreshTokenUncheckedCreateInput = { id?: string token: string userId: string expiresAt: Date | string createdAt?: Date | string } export type RefreshTokenUpdateInput = { id?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutRefreshTokensNestedInput } export type RefreshTokenUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type RefreshTokenCreateManyInput = { id?: string token: string userId: string expiresAt: Date | string createdAt?: Date | string } export type RefreshTokenUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type RefreshTokenUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CategoryCreateInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutCategoriesInput products?: ProductCreateNestedManyWithoutCategoryInput } export type CategoryUncheckedCreateInput = { id?: string name: string vendorId: string createdAt?: Date | string updatedAt?: Date | string products?: ProductUncheckedCreateNestedManyWithoutCategoryInput } export type CategoryUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutCategoriesNestedInput products?: ProductUpdateManyWithoutCategoryNestedInput } export type CategoryUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string products?: ProductUncheckedUpdateManyWithoutCategoryNestedInput } export type CategoryCreateManyInput = { id?: string name: string vendorId: string createdAt?: Date | string updatedAt?: Date | string } export type CategoryUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CategoryUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TaxCreateInput = { id?: string name: string rate: number createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutTaxesInput products?: ProductCreateNestedManyWithoutTaxInput } export type TaxUncheckedCreateInput = { id?: string name: string rate: number vendorId: string createdAt?: Date | string updatedAt?: Date | string products?: ProductUncheckedCreateNestedManyWithoutTaxInput } export type TaxUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string rate?: FloatFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutTaxesNestedInput products?: ProductUpdateManyWithoutTaxNestedInput } export type TaxUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string rate?: FloatFieldUpdateOperationsInput | number vendorId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string products?: ProductUncheckedUpdateManyWithoutTaxNestedInput } export type TaxCreateManyInput = { id?: string name: string rate: number vendorId: string createdAt?: Date | string updatedAt?: Date | string } export type TaxUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string rate?: FloatFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TaxUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string rate?: FloatFieldUpdateOperationsInput | number vendorId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductCreateInput = { id?: string name: string sku?: string | null description?: string | null price: number tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutProductsInput category?: CategoryCreateNestedOneWithoutProductsInput tax?: TaxCreateNestedOneWithoutProductsInput transactionItems?: TransactionItemCreateNestedManyWithoutProductInput } export type ProductUncheckedCreateInput = { id?: string name: string sku?: string | null description?: string | null price: number vendorId: string categoryId?: string | null taxId?: string | null tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string transactionItems?: TransactionItemUncheckedCreateNestedManyWithoutProductInput } export type ProductUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutProductsNestedInput category?: CategoryUpdateOneWithoutProductsNestedInput tax?: TaxUpdateOneWithoutProductsNestedInput transactionItems?: TransactionItemUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number vendorId?: StringFieldUpdateOperationsInput | string categoryId?: NullableStringFieldUpdateOperationsInput | string | null taxId?: NullableStringFieldUpdateOperationsInput | string | null tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string transactionItems?: TransactionItemUncheckedUpdateManyWithoutProductNestedInput } export type ProductCreateManyInput = { id?: string name: string sku?: string | null description?: string | null price: number vendorId: string categoryId?: string | null taxId?: string | null tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string } export type ProductUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number vendorId?: StringFieldUpdateOperationsInput | string categoryId?: NullableStringFieldUpdateOperationsInput | string | null taxId?: NullableStringFieldUpdateOperationsInput | string | null tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TransactionCreateInput = { id?: string idempotencyKey: string status: string paymentMethod: string subtotal: number taxTotal: number discountTotal: number total: number notes?: string | null createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutTransactionsInput user: UserCreateNestedOneWithoutTransactionsInput items?: TransactionItemCreateNestedManyWithoutTransactionInput } export type TransactionUncheckedCreateInput = { id?: string idempotencyKey: string vendorId: string userId: string status: string paymentMethod: string subtotal: number taxTotal: number discountTotal: number total: number notes?: string | null createdAt?: Date | string updatedAt?: Date | string items?: TransactionItemUncheckedCreateNestedManyWithoutTransactionInput } export type TransactionUpdateInput = { id?: StringFieldUpdateOperationsInput | string idempotencyKey?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string paymentMethod?: StringFieldUpdateOperationsInput | string subtotal?: FloatFieldUpdateOperationsInput | number taxTotal?: FloatFieldUpdateOperationsInput | number discountTotal?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutTransactionsNestedInput user?: UserUpdateOneRequiredWithoutTransactionsNestedInput items?: TransactionItemUpdateManyWithoutTransactionNestedInput } export type TransactionUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string idempotencyKey?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string paymentMethod?: StringFieldUpdateOperationsInput | string subtotal?: FloatFieldUpdateOperationsInput | number taxTotal?: FloatFieldUpdateOperationsInput | number discountTotal?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: TransactionItemUncheckedUpdateManyWithoutTransactionNestedInput } export type TransactionCreateManyInput = { id?: string idempotencyKey: string vendorId: string userId: string status: string paymentMethod: string subtotal: number taxTotal: number discountTotal: number total: number notes?: string | null createdAt?: Date | string updatedAt?: Date | string } export type TransactionUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string idempotencyKey?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string paymentMethod?: StringFieldUpdateOperationsInput | string subtotal?: FloatFieldUpdateOperationsInput | number taxTotal?: FloatFieldUpdateOperationsInput | number discountTotal?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TransactionUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string idempotencyKey?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string paymentMethod?: StringFieldUpdateOperationsInput | string subtotal?: FloatFieldUpdateOperationsInput | number taxTotal?: FloatFieldUpdateOperationsInput | number discountTotal?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TransactionItemCreateInput = { id?: string productName: string quantity: number unitPrice: number taxRate: number discount: number total: number transaction: TransactionCreateNestedOneWithoutItemsInput product: ProductCreateNestedOneWithoutTransactionItemsInput } export type TransactionItemUncheckedCreateInput = { id?: string transactionId: string productId: string productName: string quantity: number unitPrice: number taxRate: number discount: number total: number } export type TransactionItemUpdateInput = { id?: StringFieldUpdateOperationsInput | string productName?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number unitPrice?: FloatFieldUpdateOperationsInput | number taxRate?: FloatFieldUpdateOperationsInput | number discount?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number transaction?: TransactionUpdateOneRequiredWithoutItemsNestedInput product?: ProductUpdateOneRequiredWithoutTransactionItemsNestedInput } export type TransactionItemUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string transactionId?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string productName?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number unitPrice?: FloatFieldUpdateOperationsInput | number taxRate?: FloatFieldUpdateOperationsInput | number discount?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number } export type TransactionItemCreateManyInput = { id?: string transactionId: string productId: string productName: string quantity: number unitPrice: number taxRate: number discount: number total: number } export type TransactionItemUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string productName?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number unitPrice?: FloatFieldUpdateOperationsInput | number taxRate?: FloatFieldUpdateOperationsInput | number discount?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number } export type TransactionItemUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string transactionId?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string productName?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number unitPrice?: FloatFieldUpdateOperationsInput | number taxRate?: FloatFieldUpdateOperationsInput | number discount?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number } 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 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 UserListRelationFilter = { every?: UserWhereInput some?: UserWhereInput none?: UserWhereInput } export type CategoryListRelationFilter = { every?: CategoryWhereInput some?: CategoryWhereInput none?: CategoryWhereInput } export type ProductListRelationFilter = { every?: ProductWhereInput some?: ProductWhereInput none?: ProductWhereInput } export type TaxListRelationFilter = { every?: TaxWhereInput some?: TaxWhereInput none?: TaxWhereInput } export type TransactionListRelationFilter = { every?: TransactionWhereInput some?: TransactionWhereInput none?: TransactionWhereInput } export type SortOrderInput = { sort: SortOrder nulls?: NullsOrder } export type UserOrderByRelationAggregateInput = { _count?: SortOrder } export type CategoryOrderByRelationAggregateInput = { _count?: SortOrder } export type ProductOrderByRelationAggregateInput = { _count?: SortOrder } export type TaxOrderByRelationAggregateInput = { _count?: SortOrder } export type TransactionOrderByRelationAggregateInput = { _count?: SortOrder } export type VendorCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder businessNum?: SortOrder taxSettings?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type VendorMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder businessNum?: SortOrder taxSettings?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type VendorMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder businessNum?: SortOrder taxSettings?: 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 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 RoleCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder } export type RoleMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder } export type RoleMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder } export type VendorRelationFilter = { is?: VendorWhereInput isNot?: VendorWhereInput } export type RoleRelationFilter = { is?: RoleWhereInput isNot?: RoleWhereInput } export type RefreshTokenListRelationFilter = { every?: RefreshTokenWhereInput some?: RefreshTokenWhereInput none?: RefreshTokenWhereInput } export type RefreshTokenOrderByRelationAggregateInput = { _count?: SortOrder } export type UserCountOrderByAggregateInput = { id?: SortOrder email?: SortOrder passwordHash?: SortOrder name?: SortOrder vendorId?: SortOrder roleId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMaxOrderByAggregateInput = { id?: SortOrder email?: SortOrder passwordHash?: SortOrder name?: SortOrder vendorId?: SortOrder roleId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMinOrderByAggregateInput = { id?: SortOrder email?: SortOrder passwordHash?: SortOrder name?: SortOrder vendorId?: SortOrder roleId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserRelationFilter = { is?: UserWhereInput isNot?: UserWhereInput } export type RefreshTokenCountOrderByAggregateInput = { id?: SortOrder token?: SortOrder userId?: SortOrder expiresAt?: SortOrder createdAt?: SortOrder } export type RefreshTokenMaxOrderByAggregateInput = { id?: SortOrder token?: SortOrder userId?: SortOrder expiresAt?: SortOrder createdAt?: SortOrder } export type RefreshTokenMinOrderByAggregateInput = { id?: SortOrder token?: SortOrder userId?: SortOrder expiresAt?: SortOrder createdAt?: SortOrder } export type CategoryCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder vendorId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CategoryMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder vendorId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CategoryMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder vendorId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type FloatFilter<$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 TaxCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder rate?: SortOrder vendorId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type TaxAvgOrderByAggregateInput = { rate?: SortOrder } export type TaxMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder rate?: SortOrder vendorId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type TaxMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder rate?: SortOrder vendorId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type TaxSumOrderByAggregateInput = { rate?: SortOrder } export type FloatWithAggregatesFilter<$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?: NestedFloatWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedFloatFilter<$PrismaModel> _min?: NestedFloatFilter<$PrismaModel> _max?: NestedFloatFilter<$PrismaModel> } 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 CategoryNullableRelationFilter = { is?: CategoryWhereInput | null isNot?: CategoryWhereInput | null } export type TaxNullableRelationFilter = { is?: TaxWhereInput | null isNot?: TaxWhereInput | null } export type TransactionItemListRelationFilter = { every?: TransactionItemWhereInput some?: TransactionItemWhereInput none?: TransactionItemWhereInput } export type TransactionItemOrderByRelationAggregateInput = { _count?: SortOrder } export type ProductCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder sku?: SortOrder description?: SortOrder price?: SortOrder vendorId?: SortOrder categoryId?: SortOrder taxId?: SortOrder tags?: SortOrder version?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type ProductAvgOrderByAggregateInput = { price?: SortOrder version?: SortOrder } export type ProductMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder sku?: SortOrder description?: SortOrder price?: SortOrder vendorId?: SortOrder categoryId?: SortOrder taxId?: SortOrder tags?: SortOrder version?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type ProductMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder sku?: SortOrder description?: SortOrder price?: SortOrder vendorId?: SortOrder categoryId?: SortOrder taxId?: SortOrder tags?: SortOrder version?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type ProductSumOrderByAggregateInput = { price?: SortOrder version?: 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 TransactionCountOrderByAggregateInput = { id?: SortOrder idempotencyKey?: SortOrder vendorId?: SortOrder userId?: SortOrder status?: SortOrder paymentMethod?: SortOrder subtotal?: SortOrder taxTotal?: SortOrder discountTotal?: SortOrder total?: SortOrder notes?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type TransactionAvgOrderByAggregateInput = { subtotal?: SortOrder taxTotal?: SortOrder discountTotal?: SortOrder total?: SortOrder } export type TransactionMaxOrderByAggregateInput = { id?: SortOrder idempotencyKey?: SortOrder vendorId?: SortOrder userId?: SortOrder status?: SortOrder paymentMethod?: SortOrder subtotal?: SortOrder taxTotal?: SortOrder discountTotal?: SortOrder total?: SortOrder notes?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type TransactionMinOrderByAggregateInput = { id?: SortOrder idempotencyKey?: SortOrder vendorId?: SortOrder userId?: SortOrder status?: SortOrder paymentMethod?: SortOrder subtotal?: SortOrder taxTotal?: SortOrder discountTotal?: SortOrder total?: SortOrder notes?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type TransactionSumOrderByAggregateInput = { subtotal?: SortOrder taxTotal?: SortOrder discountTotal?: SortOrder total?: SortOrder } export type TransactionRelationFilter = { is?: TransactionWhereInput isNot?: TransactionWhereInput } export type ProductRelationFilter = { is?: ProductWhereInput isNot?: ProductWhereInput } export type TransactionItemCountOrderByAggregateInput = { id?: SortOrder transactionId?: SortOrder productId?: SortOrder productName?: SortOrder quantity?: SortOrder unitPrice?: SortOrder taxRate?: SortOrder discount?: SortOrder total?: SortOrder } export type TransactionItemAvgOrderByAggregateInput = { quantity?: SortOrder unitPrice?: SortOrder taxRate?: SortOrder discount?: SortOrder total?: SortOrder } export type TransactionItemMaxOrderByAggregateInput = { id?: SortOrder transactionId?: SortOrder productId?: SortOrder productName?: SortOrder quantity?: SortOrder unitPrice?: SortOrder taxRate?: SortOrder discount?: SortOrder total?: SortOrder } export type TransactionItemMinOrderByAggregateInput = { id?: SortOrder transactionId?: SortOrder productId?: SortOrder productName?: SortOrder quantity?: SortOrder unitPrice?: SortOrder taxRate?: SortOrder discount?: SortOrder total?: SortOrder } export type TransactionItemSumOrderByAggregateInput = { quantity?: SortOrder unitPrice?: SortOrder taxRate?: SortOrder discount?: SortOrder total?: SortOrder } export type UserCreateNestedManyWithoutVendorInput = { create?: XOR | UserCreateWithoutVendorInput[] | UserUncheckedCreateWithoutVendorInput[] connectOrCreate?: UserCreateOrConnectWithoutVendorInput | UserCreateOrConnectWithoutVendorInput[] createMany?: UserCreateManyVendorInputEnvelope connect?: UserWhereUniqueInput | UserWhereUniqueInput[] } export type CategoryCreateNestedManyWithoutVendorInput = { create?: XOR | CategoryCreateWithoutVendorInput[] | CategoryUncheckedCreateWithoutVendorInput[] connectOrCreate?: CategoryCreateOrConnectWithoutVendorInput | CategoryCreateOrConnectWithoutVendorInput[] createMany?: CategoryCreateManyVendorInputEnvelope connect?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] } export type ProductCreateNestedManyWithoutVendorInput = { create?: XOR | ProductCreateWithoutVendorInput[] | ProductUncheckedCreateWithoutVendorInput[] connectOrCreate?: ProductCreateOrConnectWithoutVendorInput | ProductCreateOrConnectWithoutVendorInput[] createMany?: ProductCreateManyVendorInputEnvelope connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] } export type TaxCreateNestedManyWithoutVendorInput = { create?: XOR | TaxCreateWithoutVendorInput[] | TaxUncheckedCreateWithoutVendorInput[] connectOrCreate?: TaxCreateOrConnectWithoutVendorInput | TaxCreateOrConnectWithoutVendorInput[] createMany?: TaxCreateManyVendorInputEnvelope connect?: TaxWhereUniqueInput | TaxWhereUniqueInput[] } export type TransactionCreateNestedManyWithoutVendorInput = { create?: XOR | TransactionCreateWithoutVendorInput[] | TransactionUncheckedCreateWithoutVendorInput[] connectOrCreate?: TransactionCreateOrConnectWithoutVendorInput | TransactionCreateOrConnectWithoutVendorInput[] createMany?: TransactionCreateManyVendorInputEnvelope connect?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] } export type UserUncheckedCreateNestedManyWithoutVendorInput = { create?: XOR | UserCreateWithoutVendorInput[] | UserUncheckedCreateWithoutVendorInput[] connectOrCreate?: UserCreateOrConnectWithoutVendorInput | UserCreateOrConnectWithoutVendorInput[] createMany?: UserCreateManyVendorInputEnvelope connect?: UserWhereUniqueInput | UserWhereUniqueInput[] } export type CategoryUncheckedCreateNestedManyWithoutVendorInput = { create?: XOR | CategoryCreateWithoutVendorInput[] | CategoryUncheckedCreateWithoutVendorInput[] connectOrCreate?: CategoryCreateOrConnectWithoutVendorInput | CategoryCreateOrConnectWithoutVendorInput[] createMany?: CategoryCreateManyVendorInputEnvelope connect?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] } export type ProductUncheckedCreateNestedManyWithoutVendorInput = { create?: XOR | ProductCreateWithoutVendorInput[] | ProductUncheckedCreateWithoutVendorInput[] connectOrCreate?: ProductCreateOrConnectWithoutVendorInput | ProductCreateOrConnectWithoutVendorInput[] createMany?: ProductCreateManyVendorInputEnvelope connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] } export type TaxUncheckedCreateNestedManyWithoutVendorInput = { create?: XOR | TaxCreateWithoutVendorInput[] | TaxUncheckedCreateWithoutVendorInput[] connectOrCreate?: TaxCreateOrConnectWithoutVendorInput | TaxCreateOrConnectWithoutVendorInput[] createMany?: TaxCreateManyVendorInputEnvelope connect?: TaxWhereUniqueInput | TaxWhereUniqueInput[] } export type TransactionUncheckedCreateNestedManyWithoutVendorInput = { create?: XOR | TransactionCreateWithoutVendorInput[] | TransactionUncheckedCreateWithoutVendorInput[] connectOrCreate?: TransactionCreateOrConnectWithoutVendorInput | TransactionCreateOrConnectWithoutVendorInput[] createMany?: TransactionCreateManyVendorInputEnvelope connect?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] } export type StringFieldUpdateOperationsInput = { set?: string } export type NullableStringFieldUpdateOperationsInput = { set?: string | null } export type DateTimeFieldUpdateOperationsInput = { set?: Date | string } export type UserUpdateManyWithoutVendorNestedInput = { create?: XOR | UserCreateWithoutVendorInput[] | UserUncheckedCreateWithoutVendorInput[] connectOrCreate?: UserCreateOrConnectWithoutVendorInput | UserCreateOrConnectWithoutVendorInput[] upsert?: UserUpsertWithWhereUniqueWithoutVendorInput | UserUpsertWithWhereUniqueWithoutVendorInput[] createMany?: UserCreateManyVendorInputEnvelope set?: UserWhereUniqueInput | UserWhereUniqueInput[] disconnect?: UserWhereUniqueInput | UserWhereUniqueInput[] delete?: UserWhereUniqueInput | UserWhereUniqueInput[] connect?: UserWhereUniqueInput | UserWhereUniqueInput[] update?: UserUpdateWithWhereUniqueWithoutVendorInput | UserUpdateWithWhereUniqueWithoutVendorInput[] updateMany?: UserUpdateManyWithWhereWithoutVendorInput | UserUpdateManyWithWhereWithoutVendorInput[] deleteMany?: UserScalarWhereInput | UserScalarWhereInput[] } export type CategoryUpdateManyWithoutVendorNestedInput = { create?: XOR | CategoryCreateWithoutVendorInput[] | CategoryUncheckedCreateWithoutVendorInput[] connectOrCreate?: CategoryCreateOrConnectWithoutVendorInput | CategoryCreateOrConnectWithoutVendorInput[] upsert?: CategoryUpsertWithWhereUniqueWithoutVendorInput | CategoryUpsertWithWhereUniqueWithoutVendorInput[] createMany?: CategoryCreateManyVendorInputEnvelope set?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] disconnect?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] delete?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] connect?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] update?: CategoryUpdateWithWhereUniqueWithoutVendorInput | CategoryUpdateWithWhereUniqueWithoutVendorInput[] updateMany?: CategoryUpdateManyWithWhereWithoutVendorInput | CategoryUpdateManyWithWhereWithoutVendorInput[] deleteMany?: CategoryScalarWhereInput | CategoryScalarWhereInput[] } export type ProductUpdateManyWithoutVendorNestedInput = { create?: XOR | ProductCreateWithoutVendorInput[] | ProductUncheckedCreateWithoutVendorInput[] connectOrCreate?: ProductCreateOrConnectWithoutVendorInput | ProductCreateOrConnectWithoutVendorInput[] upsert?: ProductUpsertWithWhereUniqueWithoutVendorInput | ProductUpsertWithWhereUniqueWithoutVendorInput[] createMany?: ProductCreateManyVendorInputEnvelope set?: ProductWhereUniqueInput | ProductWhereUniqueInput[] disconnect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] delete?: ProductWhereUniqueInput | ProductWhereUniqueInput[] connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] update?: ProductUpdateWithWhereUniqueWithoutVendorInput | ProductUpdateWithWhereUniqueWithoutVendorInput[] updateMany?: ProductUpdateManyWithWhereWithoutVendorInput | ProductUpdateManyWithWhereWithoutVendorInput[] deleteMany?: ProductScalarWhereInput | ProductScalarWhereInput[] } export type TaxUpdateManyWithoutVendorNestedInput = { create?: XOR | TaxCreateWithoutVendorInput[] | TaxUncheckedCreateWithoutVendorInput[] connectOrCreate?: TaxCreateOrConnectWithoutVendorInput | TaxCreateOrConnectWithoutVendorInput[] upsert?: TaxUpsertWithWhereUniqueWithoutVendorInput | TaxUpsertWithWhereUniqueWithoutVendorInput[] createMany?: TaxCreateManyVendorInputEnvelope set?: TaxWhereUniqueInput | TaxWhereUniqueInput[] disconnect?: TaxWhereUniqueInput | TaxWhereUniqueInput[] delete?: TaxWhereUniqueInput | TaxWhereUniqueInput[] connect?: TaxWhereUniqueInput | TaxWhereUniqueInput[] update?: TaxUpdateWithWhereUniqueWithoutVendorInput | TaxUpdateWithWhereUniqueWithoutVendorInput[] updateMany?: TaxUpdateManyWithWhereWithoutVendorInput | TaxUpdateManyWithWhereWithoutVendorInput[] deleteMany?: TaxScalarWhereInput | TaxScalarWhereInput[] } export type TransactionUpdateManyWithoutVendorNestedInput = { create?: XOR | TransactionCreateWithoutVendorInput[] | TransactionUncheckedCreateWithoutVendorInput[] connectOrCreate?: TransactionCreateOrConnectWithoutVendorInput | TransactionCreateOrConnectWithoutVendorInput[] upsert?: TransactionUpsertWithWhereUniqueWithoutVendorInput | TransactionUpsertWithWhereUniqueWithoutVendorInput[] createMany?: TransactionCreateManyVendorInputEnvelope set?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] disconnect?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] delete?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] connect?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] update?: TransactionUpdateWithWhereUniqueWithoutVendorInput | TransactionUpdateWithWhereUniqueWithoutVendorInput[] updateMany?: TransactionUpdateManyWithWhereWithoutVendorInput | TransactionUpdateManyWithWhereWithoutVendorInput[] deleteMany?: TransactionScalarWhereInput | TransactionScalarWhereInput[] } export type UserUncheckedUpdateManyWithoutVendorNestedInput = { create?: XOR | UserCreateWithoutVendorInput[] | UserUncheckedCreateWithoutVendorInput[] connectOrCreate?: UserCreateOrConnectWithoutVendorInput | UserCreateOrConnectWithoutVendorInput[] upsert?: UserUpsertWithWhereUniqueWithoutVendorInput | UserUpsertWithWhereUniqueWithoutVendorInput[] createMany?: UserCreateManyVendorInputEnvelope set?: UserWhereUniqueInput | UserWhereUniqueInput[] disconnect?: UserWhereUniqueInput | UserWhereUniqueInput[] delete?: UserWhereUniqueInput | UserWhereUniqueInput[] connect?: UserWhereUniqueInput | UserWhereUniqueInput[] update?: UserUpdateWithWhereUniqueWithoutVendorInput | UserUpdateWithWhereUniqueWithoutVendorInput[] updateMany?: UserUpdateManyWithWhereWithoutVendorInput | UserUpdateManyWithWhereWithoutVendorInput[] deleteMany?: UserScalarWhereInput | UserScalarWhereInput[] } export type CategoryUncheckedUpdateManyWithoutVendorNestedInput = { create?: XOR | CategoryCreateWithoutVendorInput[] | CategoryUncheckedCreateWithoutVendorInput[] connectOrCreate?: CategoryCreateOrConnectWithoutVendorInput | CategoryCreateOrConnectWithoutVendorInput[] upsert?: CategoryUpsertWithWhereUniqueWithoutVendorInput | CategoryUpsertWithWhereUniqueWithoutVendorInput[] createMany?: CategoryCreateManyVendorInputEnvelope set?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] disconnect?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] delete?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] connect?: CategoryWhereUniqueInput | CategoryWhereUniqueInput[] update?: CategoryUpdateWithWhereUniqueWithoutVendorInput | CategoryUpdateWithWhereUniqueWithoutVendorInput[] updateMany?: CategoryUpdateManyWithWhereWithoutVendorInput | CategoryUpdateManyWithWhereWithoutVendorInput[] deleteMany?: CategoryScalarWhereInput | CategoryScalarWhereInput[] } export type ProductUncheckedUpdateManyWithoutVendorNestedInput = { create?: XOR | ProductCreateWithoutVendorInput[] | ProductUncheckedCreateWithoutVendorInput[] connectOrCreate?: ProductCreateOrConnectWithoutVendorInput | ProductCreateOrConnectWithoutVendorInput[] upsert?: ProductUpsertWithWhereUniqueWithoutVendorInput | ProductUpsertWithWhereUniqueWithoutVendorInput[] createMany?: ProductCreateManyVendorInputEnvelope set?: ProductWhereUniqueInput | ProductWhereUniqueInput[] disconnect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] delete?: ProductWhereUniqueInput | ProductWhereUniqueInput[] connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] update?: ProductUpdateWithWhereUniqueWithoutVendorInput | ProductUpdateWithWhereUniqueWithoutVendorInput[] updateMany?: ProductUpdateManyWithWhereWithoutVendorInput | ProductUpdateManyWithWhereWithoutVendorInput[] deleteMany?: ProductScalarWhereInput | ProductScalarWhereInput[] } export type TaxUncheckedUpdateManyWithoutVendorNestedInput = { create?: XOR | TaxCreateWithoutVendorInput[] | TaxUncheckedCreateWithoutVendorInput[] connectOrCreate?: TaxCreateOrConnectWithoutVendorInput | TaxCreateOrConnectWithoutVendorInput[] upsert?: TaxUpsertWithWhereUniqueWithoutVendorInput | TaxUpsertWithWhereUniqueWithoutVendorInput[] createMany?: TaxCreateManyVendorInputEnvelope set?: TaxWhereUniqueInput | TaxWhereUniqueInput[] disconnect?: TaxWhereUniqueInput | TaxWhereUniqueInput[] delete?: TaxWhereUniqueInput | TaxWhereUniqueInput[] connect?: TaxWhereUniqueInput | TaxWhereUniqueInput[] update?: TaxUpdateWithWhereUniqueWithoutVendorInput | TaxUpdateWithWhereUniqueWithoutVendorInput[] updateMany?: TaxUpdateManyWithWhereWithoutVendorInput | TaxUpdateManyWithWhereWithoutVendorInput[] deleteMany?: TaxScalarWhereInput | TaxScalarWhereInput[] } export type TransactionUncheckedUpdateManyWithoutVendorNestedInput = { create?: XOR | TransactionCreateWithoutVendorInput[] | TransactionUncheckedCreateWithoutVendorInput[] connectOrCreate?: TransactionCreateOrConnectWithoutVendorInput | TransactionCreateOrConnectWithoutVendorInput[] upsert?: TransactionUpsertWithWhereUniqueWithoutVendorInput | TransactionUpsertWithWhereUniqueWithoutVendorInput[] createMany?: TransactionCreateManyVendorInputEnvelope set?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] disconnect?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] delete?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] connect?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] update?: TransactionUpdateWithWhereUniqueWithoutVendorInput | TransactionUpdateWithWhereUniqueWithoutVendorInput[] updateMany?: TransactionUpdateManyWithWhereWithoutVendorInput | TransactionUpdateManyWithWhereWithoutVendorInput[] deleteMany?: TransactionScalarWhereInput | TransactionScalarWhereInput[] } export type UserCreateNestedManyWithoutRoleInput = { create?: XOR | UserCreateWithoutRoleInput[] | UserUncheckedCreateWithoutRoleInput[] connectOrCreate?: UserCreateOrConnectWithoutRoleInput | UserCreateOrConnectWithoutRoleInput[] createMany?: UserCreateManyRoleInputEnvelope connect?: UserWhereUniqueInput | UserWhereUniqueInput[] } export type UserUncheckedCreateNestedManyWithoutRoleInput = { create?: XOR | UserCreateWithoutRoleInput[] | UserUncheckedCreateWithoutRoleInput[] connectOrCreate?: UserCreateOrConnectWithoutRoleInput | UserCreateOrConnectWithoutRoleInput[] createMany?: UserCreateManyRoleInputEnvelope connect?: UserWhereUniqueInput | UserWhereUniqueInput[] } export type UserUpdateManyWithoutRoleNestedInput = { create?: XOR | UserCreateWithoutRoleInput[] | UserUncheckedCreateWithoutRoleInput[] connectOrCreate?: UserCreateOrConnectWithoutRoleInput | UserCreateOrConnectWithoutRoleInput[] upsert?: UserUpsertWithWhereUniqueWithoutRoleInput | UserUpsertWithWhereUniqueWithoutRoleInput[] createMany?: UserCreateManyRoleInputEnvelope set?: UserWhereUniqueInput | UserWhereUniqueInput[] disconnect?: UserWhereUniqueInput | UserWhereUniqueInput[] delete?: UserWhereUniqueInput | UserWhereUniqueInput[] connect?: UserWhereUniqueInput | UserWhereUniqueInput[] update?: UserUpdateWithWhereUniqueWithoutRoleInput | UserUpdateWithWhereUniqueWithoutRoleInput[] updateMany?: UserUpdateManyWithWhereWithoutRoleInput | UserUpdateManyWithWhereWithoutRoleInput[] deleteMany?: UserScalarWhereInput | UserScalarWhereInput[] } export type UserUncheckedUpdateManyWithoutRoleNestedInput = { create?: XOR | UserCreateWithoutRoleInput[] | UserUncheckedCreateWithoutRoleInput[] connectOrCreate?: UserCreateOrConnectWithoutRoleInput | UserCreateOrConnectWithoutRoleInput[] upsert?: UserUpsertWithWhereUniqueWithoutRoleInput | UserUpsertWithWhereUniqueWithoutRoleInput[] createMany?: UserCreateManyRoleInputEnvelope set?: UserWhereUniqueInput | UserWhereUniqueInput[] disconnect?: UserWhereUniqueInput | UserWhereUniqueInput[] delete?: UserWhereUniqueInput | UserWhereUniqueInput[] connect?: UserWhereUniqueInput | UserWhereUniqueInput[] update?: UserUpdateWithWhereUniqueWithoutRoleInput | UserUpdateWithWhereUniqueWithoutRoleInput[] updateMany?: UserUpdateManyWithWhereWithoutRoleInput | UserUpdateManyWithWhereWithoutRoleInput[] deleteMany?: UserScalarWhereInput | UserScalarWhereInput[] } export type VendorCreateNestedOneWithoutUsersInput = { create?: XOR connectOrCreate?: VendorCreateOrConnectWithoutUsersInput connect?: VendorWhereUniqueInput } export type RoleCreateNestedOneWithoutUsersInput = { create?: XOR connectOrCreate?: RoleCreateOrConnectWithoutUsersInput connect?: RoleWhereUniqueInput } export type RefreshTokenCreateNestedManyWithoutUserInput = { create?: XOR | RefreshTokenCreateWithoutUserInput[] | RefreshTokenUncheckedCreateWithoutUserInput[] connectOrCreate?: RefreshTokenCreateOrConnectWithoutUserInput | RefreshTokenCreateOrConnectWithoutUserInput[] createMany?: RefreshTokenCreateManyUserInputEnvelope connect?: RefreshTokenWhereUniqueInput | RefreshTokenWhereUniqueInput[] } export type TransactionCreateNestedManyWithoutUserInput = { create?: XOR | TransactionCreateWithoutUserInput[] | TransactionUncheckedCreateWithoutUserInput[] connectOrCreate?: TransactionCreateOrConnectWithoutUserInput | TransactionCreateOrConnectWithoutUserInput[] createMany?: TransactionCreateManyUserInputEnvelope connect?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] } export type RefreshTokenUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | RefreshTokenCreateWithoutUserInput[] | RefreshTokenUncheckedCreateWithoutUserInput[] connectOrCreate?: RefreshTokenCreateOrConnectWithoutUserInput | RefreshTokenCreateOrConnectWithoutUserInput[] createMany?: RefreshTokenCreateManyUserInputEnvelope connect?: RefreshTokenWhereUniqueInput | RefreshTokenWhereUniqueInput[] } export type TransactionUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | TransactionCreateWithoutUserInput[] | TransactionUncheckedCreateWithoutUserInput[] connectOrCreate?: TransactionCreateOrConnectWithoutUserInput | TransactionCreateOrConnectWithoutUserInput[] createMany?: TransactionCreateManyUserInputEnvelope connect?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] } export type VendorUpdateOneRequiredWithoutUsersNestedInput = { create?: XOR connectOrCreate?: VendorCreateOrConnectWithoutUsersInput upsert?: VendorUpsertWithoutUsersInput connect?: VendorWhereUniqueInput update?: XOR, VendorUncheckedUpdateWithoutUsersInput> } export type RoleUpdateOneRequiredWithoutUsersNestedInput = { create?: XOR connectOrCreate?: RoleCreateOrConnectWithoutUsersInput upsert?: RoleUpsertWithoutUsersInput connect?: RoleWhereUniqueInput update?: XOR, RoleUncheckedUpdateWithoutUsersInput> } export type RefreshTokenUpdateManyWithoutUserNestedInput = { create?: XOR | RefreshTokenCreateWithoutUserInput[] | RefreshTokenUncheckedCreateWithoutUserInput[] connectOrCreate?: RefreshTokenCreateOrConnectWithoutUserInput | RefreshTokenCreateOrConnectWithoutUserInput[] upsert?: RefreshTokenUpsertWithWhereUniqueWithoutUserInput | RefreshTokenUpsertWithWhereUniqueWithoutUserInput[] createMany?: RefreshTokenCreateManyUserInputEnvelope set?: RefreshTokenWhereUniqueInput | RefreshTokenWhereUniqueInput[] disconnect?: RefreshTokenWhereUniqueInput | RefreshTokenWhereUniqueInput[] delete?: RefreshTokenWhereUniqueInput | RefreshTokenWhereUniqueInput[] connect?: RefreshTokenWhereUniqueInput | RefreshTokenWhereUniqueInput[] update?: RefreshTokenUpdateWithWhereUniqueWithoutUserInput | RefreshTokenUpdateWithWhereUniqueWithoutUserInput[] updateMany?: RefreshTokenUpdateManyWithWhereWithoutUserInput | RefreshTokenUpdateManyWithWhereWithoutUserInput[] deleteMany?: RefreshTokenScalarWhereInput | RefreshTokenScalarWhereInput[] } export type TransactionUpdateManyWithoutUserNestedInput = { create?: XOR | TransactionCreateWithoutUserInput[] | TransactionUncheckedCreateWithoutUserInput[] connectOrCreate?: TransactionCreateOrConnectWithoutUserInput | TransactionCreateOrConnectWithoutUserInput[] upsert?: TransactionUpsertWithWhereUniqueWithoutUserInput | TransactionUpsertWithWhereUniqueWithoutUserInput[] createMany?: TransactionCreateManyUserInputEnvelope set?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] disconnect?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] delete?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] connect?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] update?: TransactionUpdateWithWhereUniqueWithoutUserInput | TransactionUpdateWithWhereUniqueWithoutUserInput[] updateMany?: TransactionUpdateManyWithWhereWithoutUserInput | TransactionUpdateManyWithWhereWithoutUserInput[] deleteMany?: TransactionScalarWhereInput | TransactionScalarWhereInput[] } export type RefreshTokenUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | RefreshTokenCreateWithoutUserInput[] | RefreshTokenUncheckedCreateWithoutUserInput[] connectOrCreate?: RefreshTokenCreateOrConnectWithoutUserInput | RefreshTokenCreateOrConnectWithoutUserInput[] upsert?: RefreshTokenUpsertWithWhereUniqueWithoutUserInput | RefreshTokenUpsertWithWhereUniqueWithoutUserInput[] createMany?: RefreshTokenCreateManyUserInputEnvelope set?: RefreshTokenWhereUniqueInput | RefreshTokenWhereUniqueInput[] disconnect?: RefreshTokenWhereUniqueInput | RefreshTokenWhereUniqueInput[] delete?: RefreshTokenWhereUniqueInput | RefreshTokenWhereUniqueInput[] connect?: RefreshTokenWhereUniqueInput | RefreshTokenWhereUniqueInput[] update?: RefreshTokenUpdateWithWhereUniqueWithoutUserInput | RefreshTokenUpdateWithWhereUniqueWithoutUserInput[] updateMany?: RefreshTokenUpdateManyWithWhereWithoutUserInput | RefreshTokenUpdateManyWithWhereWithoutUserInput[] deleteMany?: RefreshTokenScalarWhereInput | RefreshTokenScalarWhereInput[] } export type TransactionUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | TransactionCreateWithoutUserInput[] | TransactionUncheckedCreateWithoutUserInput[] connectOrCreate?: TransactionCreateOrConnectWithoutUserInput | TransactionCreateOrConnectWithoutUserInput[] upsert?: TransactionUpsertWithWhereUniqueWithoutUserInput | TransactionUpsertWithWhereUniqueWithoutUserInput[] createMany?: TransactionCreateManyUserInputEnvelope set?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] disconnect?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] delete?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] connect?: TransactionWhereUniqueInput | TransactionWhereUniqueInput[] update?: TransactionUpdateWithWhereUniqueWithoutUserInput | TransactionUpdateWithWhereUniqueWithoutUserInput[] updateMany?: TransactionUpdateManyWithWhereWithoutUserInput | TransactionUpdateManyWithWhereWithoutUserInput[] deleteMany?: TransactionScalarWhereInput | TransactionScalarWhereInput[] } export type UserCreateNestedOneWithoutRefreshTokensInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutRefreshTokensInput connect?: UserWhereUniqueInput } export type UserUpdateOneRequiredWithoutRefreshTokensNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutRefreshTokensInput upsert?: UserUpsertWithoutRefreshTokensInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutRefreshTokensInput> } export type VendorCreateNestedOneWithoutCategoriesInput = { create?: XOR connectOrCreate?: VendorCreateOrConnectWithoutCategoriesInput connect?: VendorWhereUniqueInput } export type ProductCreateNestedManyWithoutCategoryInput = { create?: XOR | ProductCreateWithoutCategoryInput[] | ProductUncheckedCreateWithoutCategoryInput[] connectOrCreate?: ProductCreateOrConnectWithoutCategoryInput | ProductCreateOrConnectWithoutCategoryInput[] createMany?: ProductCreateManyCategoryInputEnvelope connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] } export type ProductUncheckedCreateNestedManyWithoutCategoryInput = { create?: XOR | ProductCreateWithoutCategoryInput[] | ProductUncheckedCreateWithoutCategoryInput[] connectOrCreate?: ProductCreateOrConnectWithoutCategoryInput | ProductCreateOrConnectWithoutCategoryInput[] createMany?: ProductCreateManyCategoryInputEnvelope connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] } export type VendorUpdateOneRequiredWithoutCategoriesNestedInput = { create?: XOR connectOrCreate?: VendorCreateOrConnectWithoutCategoriesInput upsert?: VendorUpsertWithoutCategoriesInput connect?: VendorWhereUniqueInput update?: XOR, VendorUncheckedUpdateWithoutCategoriesInput> } export type ProductUpdateManyWithoutCategoryNestedInput = { create?: XOR | ProductCreateWithoutCategoryInput[] | ProductUncheckedCreateWithoutCategoryInput[] connectOrCreate?: ProductCreateOrConnectWithoutCategoryInput | ProductCreateOrConnectWithoutCategoryInput[] upsert?: ProductUpsertWithWhereUniqueWithoutCategoryInput | ProductUpsertWithWhereUniqueWithoutCategoryInput[] createMany?: ProductCreateManyCategoryInputEnvelope set?: ProductWhereUniqueInput | ProductWhereUniqueInput[] disconnect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] delete?: ProductWhereUniqueInput | ProductWhereUniqueInput[] connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] update?: ProductUpdateWithWhereUniqueWithoutCategoryInput | ProductUpdateWithWhereUniqueWithoutCategoryInput[] updateMany?: ProductUpdateManyWithWhereWithoutCategoryInput | ProductUpdateManyWithWhereWithoutCategoryInput[] deleteMany?: ProductScalarWhereInput | ProductScalarWhereInput[] } export type ProductUncheckedUpdateManyWithoutCategoryNestedInput = { create?: XOR | ProductCreateWithoutCategoryInput[] | ProductUncheckedCreateWithoutCategoryInput[] connectOrCreate?: ProductCreateOrConnectWithoutCategoryInput | ProductCreateOrConnectWithoutCategoryInput[] upsert?: ProductUpsertWithWhereUniqueWithoutCategoryInput | ProductUpsertWithWhereUniqueWithoutCategoryInput[] createMany?: ProductCreateManyCategoryInputEnvelope set?: ProductWhereUniqueInput | ProductWhereUniqueInput[] disconnect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] delete?: ProductWhereUniqueInput | ProductWhereUniqueInput[] connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] update?: ProductUpdateWithWhereUniqueWithoutCategoryInput | ProductUpdateWithWhereUniqueWithoutCategoryInput[] updateMany?: ProductUpdateManyWithWhereWithoutCategoryInput | ProductUpdateManyWithWhereWithoutCategoryInput[] deleteMany?: ProductScalarWhereInput | ProductScalarWhereInput[] } export type VendorCreateNestedOneWithoutTaxesInput = { create?: XOR connectOrCreate?: VendorCreateOrConnectWithoutTaxesInput connect?: VendorWhereUniqueInput } export type ProductCreateNestedManyWithoutTaxInput = { create?: XOR | ProductCreateWithoutTaxInput[] | ProductUncheckedCreateWithoutTaxInput[] connectOrCreate?: ProductCreateOrConnectWithoutTaxInput | ProductCreateOrConnectWithoutTaxInput[] createMany?: ProductCreateManyTaxInputEnvelope connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] } export type ProductUncheckedCreateNestedManyWithoutTaxInput = { create?: XOR | ProductCreateWithoutTaxInput[] | ProductUncheckedCreateWithoutTaxInput[] connectOrCreate?: ProductCreateOrConnectWithoutTaxInput | ProductCreateOrConnectWithoutTaxInput[] createMany?: ProductCreateManyTaxInputEnvelope connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] } export type FloatFieldUpdateOperationsInput = { set?: number increment?: number decrement?: number multiply?: number divide?: number } export type VendorUpdateOneRequiredWithoutTaxesNestedInput = { create?: XOR connectOrCreate?: VendorCreateOrConnectWithoutTaxesInput upsert?: VendorUpsertWithoutTaxesInput connect?: VendorWhereUniqueInput update?: XOR, VendorUncheckedUpdateWithoutTaxesInput> } export type ProductUpdateManyWithoutTaxNestedInput = { create?: XOR | ProductCreateWithoutTaxInput[] | ProductUncheckedCreateWithoutTaxInput[] connectOrCreate?: ProductCreateOrConnectWithoutTaxInput | ProductCreateOrConnectWithoutTaxInput[] upsert?: ProductUpsertWithWhereUniqueWithoutTaxInput | ProductUpsertWithWhereUniqueWithoutTaxInput[] createMany?: ProductCreateManyTaxInputEnvelope set?: ProductWhereUniqueInput | ProductWhereUniqueInput[] disconnect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] delete?: ProductWhereUniqueInput | ProductWhereUniqueInput[] connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] update?: ProductUpdateWithWhereUniqueWithoutTaxInput | ProductUpdateWithWhereUniqueWithoutTaxInput[] updateMany?: ProductUpdateManyWithWhereWithoutTaxInput | ProductUpdateManyWithWhereWithoutTaxInput[] deleteMany?: ProductScalarWhereInput | ProductScalarWhereInput[] } export type ProductUncheckedUpdateManyWithoutTaxNestedInput = { create?: XOR | ProductCreateWithoutTaxInput[] | ProductUncheckedCreateWithoutTaxInput[] connectOrCreate?: ProductCreateOrConnectWithoutTaxInput | ProductCreateOrConnectWithoutTaxInput[] upsert?: ProductUpsertWithWhereUniqueWithoutTaxInput | ProductUpsertWithWhereUniqueWithoutTaxInput[] createMany?: ProductCreateManyTaxInputEnvelope set?: ProductWhereUniqueInput | ProductWhereUniqueInput[] disconnect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] delete?: ProductWhereUniqueInput | ProductWhereUniqueInput[] connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] update?: ProductUpdateWithWhereUniqueWithoutTaxInput | ProductUpdateWithWhereUniqueWithoutTaxInput[] updateMany?: ProductUpdateManyWithWhereWithoutTaxInput | ProductUpdateManyWithWhereWithoutTaxInput[] deleteMany?: ProductScalarWhereInput | ProductScalarWhereInput[] } export type VendorCreateNestedOneWithoutProductsInput = { create?: XOR connectOrCreate?: VendorCreateOrConnectWithoutProductsInput connect?: VendorWhereUniqueInput } export type CategoryCreateNestedOneWithoutProductsInput = { create?: XOR connectOrCreate?: CategoryCreateOrConnectWithoutProductsInput connect?: CategoryWhereUniqueInput } export type TaxCreateNestedOneWithoutProductsInput = { create?: XOR connectOrCreate?: TaxCreateOrConnectWithoutProductsInput connect?: TaxWhereUniqueInput } export type TransactionItemCreateNestedManyWithoutProductInput = { create?: XOR | TransactionItemCreateWithoutProductInput[] | TransactionItemUncheckedCreateWithoutProductInput[] connectOrCreate?: TransactionItemCreateOrConnectWithoutProductInput | TransactionItemCreateOrConnectWithoutProductInput[] createMany?: TransactionItemCreateManyProductInputEnvelope connect?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] } export type TransactionItemUncheckedCreateNestedManyWithoutProductInput = { create?: XOR | TransactionItemCreateWithoutProductInput[] | TransactionItemUncheckedCreateWithoutProductInput[] connectOrCreate?: TransactionItemCreateOrConnectWithoutProductInput | TransactionItemCreateOrConnectWithoutProductInput[] createMany?: TransactionItemCreateManyProductInputEnvelope connect?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] } export type IntFieldUpdateOperationsInput = { set?: number increment?: number decrement?: number multiply?: number divide?: number } export type VendorUpdateOneRequiredWithoutProductsNestedInput = { create?: XOR connectOrCreate?: VendorCreateOrConnectWithoutProductsInput upsert?: VendorUpsertWithoutProductsInput connect?: VendorWhereUniqueInput update?: XOR, VendorUncheckedUpdateWithoutProductsInput> } export type CategoryUpdateOneWithoutProductsNestedInput = { create?: XOR connectOrCreate?: CategoryCreateOrConnectWithoutProductsInput upsert?: CategoryUpsertWithoutProductsInput disconnect?: CategoryWhereInput | boolean delete?: CategoryWhereInput | boolean connect?: CategoryWhereUniqueInput update?: XOR, CategoryUncheckedUpdateWithoutProductsInput> } export type TaxUpdateOneWithoutProductsNestedInput = { create?: XOR connectOrCreate?: TaxCreateOrConnectWithoutProductsInput upsert?: TaxUpsertWithoutProductsInput disconnect?: TaxWhereInput | boolean delete?: TaxWhereInput | boolean connect?: TaxWhereUniqueInput update?: XOR, TaxUncheckedUpdateWithoutProductsInput> } export type TransactionItemUpdateManyWithoutProductNestedInput = { create?: XOR | TransactionItemCreateWithoutProductInput[] | TransactionItemUncheckedCreateWithoutProductInput[] connectOrCreate?: TransactionItemCreateOrConnectWithoutProductInput | TransactionItemCreateOrConnectWithoutProductInput[] upsert?: TransactionItemUpsertWithWhereUniqueWithoutProductInput | TransactionItemUpsertWithWhereUniqueWithoutProductInput[] createMany?: TransactionItemCreateManyProductInputEnvelope set?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] disconnect?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] delete?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] connect?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] update?: TransactionItemUpdateWithWhereUniqueWithoutProductInput | TransactionItemUpdateWithWhereUniqueWithoutProductInput[] updateMany?: TransactionItemUpdateManyWithWhereWithoutProductInput | TransactionItemUpdateManyWithWhereWithoutProductInput[] deleteMany?: TransactionItemScalarWhereInput | TransactionItemScalarWhereInput[] } export type TransactionItemUncheckedUpdateManyWithoutProductNestedInput = { create?: XOR | TransactionItemCreateWithoutProductInput[] | TransactionItemUncheckedCreateWithoutProductInput[] connectOrCreate?: TransactionItemCreateOrConnectWithoutProductInput | TransactionItemCreateOrConnectWithoutProductInput[] upsert?: TransactionItemUpsertWithWhereUniqueWithoutProductInput | TransactionItemUpsertWithWhereUniqueWithoutProductInput[] createMany?: TransactionItemCreateManyProductInputEnvelope set?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] disconnect?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] delete?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] connect?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] update?: TransactionItemUpdateWithWhereUniqueWithoutProductInput | TransactionItemUpdateWithWhereUniqueWithoutProductInput[] updateMany?: TransactionItemUpdateManyWithWhereWithoutProductInput | TransactionItemUpdateManyWithWhereWithoutProductInput[] deleteMany?: TransactionItemScalarWhereInput | TransactionItemScalarWhereInput[] } export type VendorCreateNestedOneWithoutTransactionsInput = { create?: XOR connectOrCreate?: VendorCreateOrConnectWithoutTransactionsInput connect?: VendorWhereUniqueInput } export type UserCreateNestedOneWithoutTransactionsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutTransactionsInput connect?: UserWhereUniqueInput } export type TransactionItemCreateNestedManyWithoutTransactionInput = { create?: XOR | TransactionItemCreateWithoutTransactionInput[] | TransactionItemUncheckedCreateWithoutTransactionInput[] connectOrCreate?: TransactionItemCreateOrConnectWithoutTransactionInput | TransactionItemCreateOrConnectWithoutTransactionInput[] createMany?: TransactionItemCreateManyTransactionInputEnvelope connect?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] } export type TransactionItemUncheckedCreateNestedManyWithoutTransactionInput = { create?: XOR | TransactionItemCreateWithoutTransactionInput[] | TransactionItemUncheckedCreateWithoutTransactionInput[] connectOrCreate?: TransactionItemCreateOrConnectWithoutTransactionInput | TransactionItemCreateOrConnectWithoutTransactionInput[] createMany?: TransactionItemCreateManyTransactionInputEnvelope connect?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] } export type VendorUpdateOneRequiredWithoutTransactionsNestedInput = { create?: XOR connectOrCreate?: VendorCreateOrConnectWithoutTransactionsInput upsert?: VendorUpsertWithoutTransactionsInput connect?: VendorWhereUniqueInput update?: XOR, VendorUncheckedUpdateWithoutTransactionsInput> } export type UserUpdateOneRequiredWithoutTransactionsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutTransactionsInput upsert?: UserUpsertWithoutTransactionsInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutTransactionsInput> } export type TransactionItemUpdateManyWithoutTransactionNestedInput = { create?: XOR | TransactionItemCreateWithoutTransactionInput[] | TransactionItemUncheckedCreateWithoutTransactionInput[] connectOrCreate?: TransactionItemCreateOrConnectWithoutTransactionInput | TransactionItemCreateOrConnectWithoutTransactionInput[] upsert?: TransactionItemUpsertWithWhereUniqueWithoutTransactionInput | TransactionItemUpsertWithWhereUniqueWithoutTransactionInput[] createMany?: TransactionItemCreateManyTransactionInputEnvelope set?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] disconnect?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] delete?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] connect?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] update?: TransactionItemUpdateWithWhereUniqueWithoutTransactionInput | TransactionItemUpdateWithWhereUniqueWithoutTransactionInput[] updateMany?: TransactionItemUpdateManyWithWhereWithoutTransactionInput | TransactionItemUpdateManyWithWhereWithoutTransactionInput[] deleteMany?: TransactionItemScalarWhereInput | TransactionItemScalarWhereInput[] } export type TransactionItemUncheckedUpdateManyWithoutTransactionNestedInput = { create?: XOR | TransactionItemCreateWithoutTransactionInput[] | TransactionItemUncheckedCreateWithoutTransactionInput[] connectOrCreate?: TransactionItemCreateOrConnectWithoutTransactionInput | TransactionItemCreateOrConnectWithoutTransactionInput[] upsert?: TransactionItemUpsertWithWhereUniqueWithoutTransactionInput | TransactionItemUpsertWithWhereUniqueWithoutTransactionInput[] createMany?: TransactionItemCreateManyTransactionInputEnvelope set?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] disconnect?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] delete?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] connect?: TransactionItemWhereUniqueInput | TransactionItemWhereUniqueInput[] update?: TransactionItemUpdateWithWhereUniqueWithoutTransactionInput | TransactionItemUpdateWithWhereUniqueWithoutTransactionInput[] updateMany?: TransactionItemUpdateManyWithWhereWithoutTransactionInput | TransactionItemUpdateManyWithWhereWithoutTransactionInput[] deleteMany?: TransactionItemScalarWhereInput | TransactionItemScalarWhereInput[] } export type TransactionCreateNestedOneWithoutItemsInput = { create?: XOR connectOrCreate?: TransactionCreateOrConnectWithoutItemsInput connect?: TransactionWhereUniqueInput } export type ProductCreateNestedOneWithoutTransactionItemsInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutTransactionItemsInput connect?: ProductWhereUniqueInput } export type TransactionUpdateOneRequiredWithoutItemsNestedInput = { create?: XOR connectOrCreate?: TransactionCreateOrConnectWithoutItemsInput upsert?: TransactionUpsertWithoutItemsInput connect?: TransactionWhereUniqueInput update?: XOR, TransactionUncheckedUpdateWithoutItemsInput> } export type ProductUpdateOneRequiredWithoutTransactionItemsNestedInput = { create?: XOR connectOrCreate?: ProductCreateOrConnectWithoutTransactionItemsInput upsert?: ProductUpsertWithoutTransactionItemsInput connect?: ProductWhereUniqueInput update?: XOR, ProductUncheckedUpdateWithoutTransactionItemsInput> } 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 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 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 NestedFloatWithAggregatesFilter<$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?: NestedFloatWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedFloatFilter<$PrismaModel> _min?: NestedFloatFilter<$PrismaModel> _max?: NestedFloatFilter<$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 UserCreateWithoutVendorInput = { id?: string email: string passwordHash: string name: string createdAt?: Date | string updatedAt?: Date | string role: RoleCreateNestedOneWithoutUsersInput refreshTokens?: RefreshTokenCreateNestedManyWithoutUserInput transactions?: TransactionCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutVendorInput = { id?: string email: string passwordHash: string name: string roleId: string createdAt?: Date | string updatedAt?: Date | string refreshTokens?: RefreshTokenUncheckedCreateNestedManyWithoutUserInput transactions?: TransactionUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutVendorInput = { where: UserWhereUniqueInput create: XOR } export type UserCreateManyVendorInputEnvelope = { data: UserCreateManyVendorInput | UserCreateManyVendorInput[] } export type CategoryCreateWithoutVendorInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string products?: ProductCreateNestedManyWithoutCategoryInput } export type CategoryUncheckedCreateWithoutVendorInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string products?: ProductUncheckedCreateNestedManyWithoutCategoryInput } export type CategoryCreateOrConnectWithoutVendorInput = { where: CategoryWhereUniqueInput create: XOR } export type CategoryCreateManyVendorInputEnvelope = { data: CategoryCreateManyVendorInput | CategoryCreateManyVendorInput[] } export type ProductCreateWithoutVendorInput = { id?: string name: string sku?: string | null description?: string | null price: number tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string category?: CategoryCreateNestedOneWithoutProductsInput tax?: TaxCreateNestedOneWithoutProductsInput transactionItems?: TransactionItemCreateNestedManyWithoutProductInput } export type ProductUncheckedCreateWithoutVendorInput = { id?: string name: string sku?: string | null description?: string | null price: number categoryId?: string | null taxId?: string | null tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string transactionItems?: TransactionItemUncheckedCreateNestedManyWithoutProductInput } export type ProductCreateOrConnectWithoutVendorInput = { where: ProductWhereUniqueInput create: XOR } export type ProductCreateManyVendorInputEnvelope = { data: ProductCreateManyVendorInput | ProductCreateManyVendorInput[] } export type TaxCreateWithoutVendorInput = { id?: string name: string rate: number createdAt?: Date | string updatedAt?: Date | string products?: ProductCreateNestedManyWithoutTaxInput } export type TaxUncheckedCreateWithoutVendorInput = { id?: string name: string rate: number createdAt?: Date | string updatedAt?: Date | string products?: ProductUncheckedCreateNestedManyWithoutTaxInput } export type TaxCreateOrConnectWithoutVendorInput = { where: TaxWhereUniqueInput create: XOR } export type TaxCreateManyVendorInputEnvelope = { data: TaxCreateManyVendorInput | TaxCreateManyVendorInput[] } export type TransactionCreateWithoutVendorInput = { id?: string idempotencyKey: string status: string paymentMethod: string subtotal: number taxTotal: number discountTotal: number total: number notes?: string | null createdAt?: Date | string updatedAt?: Date | string user: UserCreateNestedOneWithoutTransactionsInput items?: TransactionItemCreateNestedManyWithoutTransactionInput } export type TransactionUncheckedCreateWithoutVendorInput = { id?: string idempotencyKey: string userId: string status: string paymentMethod: string subtotal: number taxTotal: number discountTotal: number total: number notes?: string | null createdAt?: Date | string updatedAt?: Date | string items?: TransactionItemUncheckedCreateNestedManyWithoutTransactionInput } export type TransactionCreateOrConnectWithoutVendorInput = { where: TransactionWhereUniqueInput create: XOR } export type TransactionCreateManyVendorInputEnvelope = { data: TransactionCreateManyVendorInput | TransactionCreateManyVendorInput[] } export type UserUpsertWithWhereUniqueWithoutVendorInput = { where: UserWhereUniqueInput update: XOR create: XOR } export type UserUpdateWithWhereUniqueWithoutVendorInput = { where: UserWhereUniqueInput data: XOR } export type UserUpdateManyWithWhereWithoutVendorInput = { where: UserScalarWhereInput data: XOR } export type UserScalarWhereInput = { AND?: UserScalarWhereInput | UserScalarWhereInput[] OR?: UserScalarWhereInput[] NOT?: UserScalarWhereInput | UserScalarWhereInput[] id?: StringFilter<"User"> | string email?: StringFilter<"User"> | string passwordHash?: StringFilter<"User"> | string name?: StringFilter<"User"> | string vendorId?: StringFilter<"User"> | string roleId?: StringFilter<"User"> | string createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string } export type CategoryUpsertWithWhereUniqueWithoutVendorInput = { where: CategoryWhereUniqueInput update: XOR create: XOR } export type CategoryUpdateWithWhereUniqueWithoutVendorInput = { where: CategoryWhereUniqueInput data: XOR } export type CategoryUpdateManyWithWhereWithoutVendorInput = { where: CategoryScalarWhereInput data: XOR } export type CategoryScalarWhereInput = { AND?: CategoryScalarWhereInput | CategoryScalarWhereInput[] OR?: CategoryScalarWhereInput[] NOT?: CategoryScalarWhereInput | CategoryScalarWhereInput[] id?: StringFilter<"Category"> | string name?: StringFilter<"Category"> | string vendorId?: StringFilter<"Category"> | string createdAt?: DateTimeFilter<"Category"> | Date | string updatedAt?: DateTimeFilter<"Category"> | Date | string } export type ProductUpsertWithWhereUniqueWithoutVendorInput = { where: ProductWhereUniqueInput update: XOR create: XOR } export type ProductUpdateWithWhereUniqueWithoutVendorInput = { where: ProductWhereUniqueInput data: XOR } export type ProductUpdateManyWithWhereWithoutVendorInput = { where: ProductScalarWhereInput data: XOR } export type ProductScalarWhereInput = { AND?: ProductScalarWhereInput | ProductScalarWhereInput[] OR?: ProductScalarWhereInput[] NOT?: ProductScalarWhereInput | ProductScalarWhereInput[] id?: StringFilter<"Product"> | string name?: StringFilter<"Product"> | string sku?: StringNullableFilter<"Product"> | string | null description?: StringNullableFilter<"Product"> | string | null price?: FloatFilter<"Product"> | number vendorId?: StringFilter<"Product"> | string categoryId?: StringNullableFilter<"Product"> | string | null taxId?: StringNullableFilter<"Product"> | string | null tags?: StringNullableFilter<"Product"> | string | null version?: IntFilter<"Product"> | number createdAt?: DateTimeFilter<"Product"> | Date | string updatedAt?: DateTimeFilter<"Product"> | Date | string } export type TaxUpsertWithWhereUniqueWithoutVendorInput = { where: TaxWhereUniqueInput update: XOR create: XOR } export type TaxUpdateWithWhereUniqueWithoutVendorInput = { where: TaxWhereUniqueInput data: XOR } export type TaxUpdateManyWithWhereWithoutVendorInput = { where: TaxScalarWhereInput data: XOR } export type TaxScalarWhereInput = { AND?: TaxScalarWhereInput | TaxScalarWhereInput[] OR?: TaxScalarWhereInput[] NOT?: TaxScalarWhereInput | TaxScalarWhereInput[] id?: StringFilter<"Tax"> | string name?: StringFilter<"Tax"> | string rate?: FloatFilter<"Tax"> | number vendorId?: StringFilter<"Tax"> | string createdAt?: DateTimeFilter<"Tax"> | Date | string updatedAt?: DateTimeFilter<"Tax"> | Date | string } export type TransactionUpsertWithWhereUniqueWithoutVendorInput = { where: TransactionWhereUniqueInput update: XOR create: XOR } export type TransactionUpdateWithWhereUniqueWithoutVendorInput = { where: TransactionWhereUniqueInput data: XOR } export type TransactionUpdateManyWithWhereWithoutVendorInput = { where: TransactionScalarWhereInput data: XOR } export type TransactionScalarWhereInput = { AND?: TransactionScalarWhereInput | TransactionScalarWhereInput[] OR?: TransactionScalarWhereInput[] NOT?: TransactionScalarWhereInput | TransactionScalarWhereInput[] id?: StringFilter<"Transaction"> | string idempotencyKey?: StringFilter<"Transaction"> | string vendorId?: StringFilter<"Transaction"> | string userId?: StringFilter<"Transaction"> | string status?: StringFilter<"Transaction"> | string paymentMethod?: StringFilter<"Transaction"> | string subtotal?: FloatFilter<"Transaction"> | number taxTotal?: FloatFilter<"Transaction"> | number discountTotal?: FloatFilter<"Transaction"> | number total?: FloatFilter<"Transaction"> | number notes?: StringNullableFilter<"Transaction"> | string | null createdAt?: DateTimeFilter<"Transaction"> | Date | string updatedAt?: DateTimeFilter<"Transaction"> | Date | string } export type UserCreateWithoutRoleInput = { id?: string email: string passwordHash: string name: string createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutUsersInput refreshTokens?: RefreshTokenCreateNestedManyWithoutUserInput transactions?: TransactionCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutRoleInput = { id?: string email: string passwordHash: string name: string vendorId: string createdAt?: Date | string updatedAt?: Date | string refreshTokens?: RefreshTokenUncheckedCreateNestedManyWithoutUserInput transactions?: TransactionUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutRoleInput = { where: UserWhereUniqueInput create: XOR } export type UserCreateManyRoleInputEnvelope = { data: UserCreateManyRoleInput | UserCreateManyRoleInput[] } export type UserUpsertWithWhereUniqueWithoutRoleInput = { where: UserWhereUniqueInput update: XOR create: XOR } export type UserUpdateWithWhereUniqueWithoutRoleInput = { where: UserWhereUniqueInput data: XOR } export type UserUpdateManyWithWhereWithoutRoleInput = { where: UserScalarWhereInput data: XOR } export type VendorCreateWithoutUsersInput = { id?: string name: string businessNum?: string | null taxSettings?: string | null createdAt?: Date | string updatedAt?: Date | string categories?: CategoryCreateNestedManyWithoutVendorInput products?: ProductCreateNestedManyWithoutVendorInput taxes?: TaxCreateNestedManyWithoutVendorInput transactions?: TransactionCreateNestedManyWithoutVendorInput } export type VendorUncheckedCreateWithoutUsersInput = { id?: string name: string businessNum?: string | null taxSettings?: string | null createdAt?: Date | string updatedAt?: Date | string categories?: CategoryUncheckedCreateNestedManyWithoutVendorInput products?: ProductUncheckedCreateNestedManyWithoutVendorInput taxes?: TaxUncheckedCreateNestedManyWithoutVendorInput transactions?: TransactionUncheckedCreateNestedManyWithoutVendorInput } export type VendorCreateOrConnectWithoutUsersInput = { where: VendorWhereUniqueInput create: XOR } export type RoleCreateWithoutUsersInput = { id?: string name: string } export type RoleUncheckedCreateWithoutUsersInput = { id?: string name: string } export type RoleCreateOrConnectWithoutUsersInput = { where: RoleWhereUniqueInput create: XOR } export type RefreshTokenCreateWithoutUserInput = { id?: string token: string expiresAt: Date | string createdAt?: Date | string } export type RefreshTokenUncheckedCreateWithoutUserInput = { id?: string token: string expiresAt: Date | string createdAt?: Date | string } export type RefreshTokenCreateOrConnectWithoutUserInput = { where: RefreshTokenWhereUniqueInput create: XOR } export type RefreshTokenCreateManyUserInputEnvelope = { data: RefreshTokenCreateManyUserInput | RefreshTokenCreateManyUserInput[] } export type TransactionCreateWithoutUserInput = { id?: string idempotencyKey: string status: string paymentMethod: string subtotal: number taxTotal: number discountTotal: number total: number notes?: string | null createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutTransactionsInput items?: TransactionItemCreateNestedManyWithoutTransactionInput } export type TransactionUncheckedCreateWithoutUserInput = { id?: string idempotencyKey: string vendorId: string status: string paymentMethod: string subtotal: number taxTotal: number discountTotal: number total: number notes?: string | null createdAt?: Date | string updatedAt?: Date | string items?: TransactionItemUncheckedCreateNestedManyWithoutTransactionInput } export type TransactionCreateOrConnectWithoutUserInput = { where: TransactionWhereUniqueInput create: XOR } export type TransactionCreateManyUserInputEnvelope = { data: TransactionCreateManyUserInput | TransactionCreateManyUserInput[] } export type VendorUpsertWithoutUsersInput = { update: XOR create: XOR where?: VendorWhereInput } export type VendorUpdateToOneWithWhereWithoutUsersInput = { where?: VendorWhereInput data: XOR } export type VendorUpdateWithoutUsersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string categories?: CategoryUpdateManyWithoutVendorNestedInput products?: ProductUpdateManyWithoutVendorNestedInput taxes?: TaxUpdateManyWithoutVendorNestedInput transactions?: TransactionUpdateManyWithoutVendorNestedInput } export type VendorUncheckedUpdateWithoutUsersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string categories?: CategoryUncheckedUpdateManyWithoutVendorNestedInput products?: ProductUncheckedUpdateManyWithoutVendorNestedInput taxes?: TaxUncheckedUpdateManyWithoutVendorNestedInput transactions?: TransactionUncheckedUpdateManyWithoutVendorNestedInput } export type RoleUpsertWithoutUsersInput = { update: XOR create: XOR where?: RoleWhereInput } export type RoleUpdateToOneWithWhereWithoutUsersInput = { where?: RoleWhereInput data: XOR } export type RoleUpdateWithoutUsersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string } export type RoleUncheckedUpdateWithoutUsersInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string } export type RefreshTokenUpsertWithWhereUniqueWithoutUserInput = { where: RefreshTokenWhereUniqueInput update: XOR create: XOR } export type RefreshTokenUpdateWithWhereUniqueWithoutUserInput = { where: RefreshTokenWhereUniqueInput data: XOR } export type RefreshTokenUpdateManyWithWhereWithoutUserInput = { where: RefreshTokenScalarWhereInput data: XOR } export type RefreshTokenScalarWhereInput = { AND?: RefreshTokenScalarWhereInput | RefreshTokenScalarWhereInput[] OR?: RefreshTokenScalarWhereInput[] NOT?: RefreshTokenScalarWhereInput | RefreshTokenScalarWhereInput[] id?: StringFilter<"RefreshToken"> | string token?: StringFilter<"RefreshToken"> | string userId?: StringFilter<"RefreshToken"> | string expiresAt?: DateTimeFilter<"RefreshToken"> | Date | string createdAt?: DateTimeFilter<"RefreshToken"> | Date | string } export type TransactionUpsertWithWhereUniqueWithoutUserInput = { where: TransactionWhereUniqueInput update: XOR create: XOR } export type TransactionUpdateWithWhereUniqueWithoutUserInput = { where: TransactionWhereUniqueInput data: XOR } export type TransactionUpdateManyWithWhereWithoutUserInput = { where: TransactionScalarWhereInput data: XOR } export type UserCreateWithoutRefreshTokensInput = { id?: string email: string passwordHash: string name: string createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutUsersInput role: RoleCreateNestedOneWithoutUsersInput transactions?: TransactionCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutRefreshTokensInput = { id?: string email: string passwordHash: string name: string vendorId: string roleId: string createdAt?: Date | string updatedAt?: Date | string transactions?: TransactionUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutRefreshTokensInput = { where: UserWhereUniqueInput create: XOR } export type UserUpsertWithoutRefreshTokensInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutRefreshTokensInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutRefreshTokensInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutUsersNestedInput role?: RoleUpdateOneRequiredWithoutUsersNestedInput transactions?: TransactionUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutRefreshTokensInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string roleId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string transactions?: TransactionUncheckedUpdateManyWithoutUserNestedInput } export type VendorCreateWithoutCategoriesInput = { id?: string name: string businessNum?: string | null taxSettings?: string | null createdAt?: Date | string updatedAt?: Date | string users?: UserCreateNestedManyWithoutVendorInput products?: ProductCreateNestedManyWithoutVendorInput taxes?: TaxCreateNestedManyWithoutVendorInput transactions?: TransactionCreateNestedManyWithoutVendorInput } export type VendorUncheckedCreateWithoutCategoriesInput = { id?: string name: string businessNum?: string | null taxSettings?: string | null createdAt?: Date | string updatedAt?: Date | string users?: UserUncheckedCreateNestedManyWithoutVendorInput products?: ProductUncheckedCreateNestedManyWithoutVendorInput taxes?: TaxUncheckedCreateNestedManyWithoutVendorInput transactions?: TransactionUncheckedCreateNestedManyWithoutVendorInput } export type VendorCreateOrConnectWithoutCategoriesInput = { where: VendorWhereUniqueInput create: XOR } export type ProductCreateWithoutCategoryInput = { id?: string name: string sku?: string | null description?: string | null price: number tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutProductsInput tax?: TaxCreateNestedOneWithoutProductsInput transactionItems?: TransactionItemCreateNestedManyWithoutProductInput } export type ProductUncheckedCreateWithoutCategoryInput = { id?: string name: string sku?: string | null description?: string | null price: number vendorId: string taxId?: string | null tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string transactionItems?: TransactionItemUncheckedCreateNestedManyWithoutProductInput } export type ProductCreateOrConnectWithoutCategoryInput = { where: ProductWhereUniqueInput create: XOR } export type ProductCreateManyCategoryInputEnvelope = { data: ProductCreateManyCategoryInput | ProductCreateManyCategoryInput[] } export type VendorUpsertWithoutCategoriesInput = { update: XOR create: XOR where?: VendorWhereInput } export type VendorUpdateToOneWithWhereWithoutCategoriesInput = { where?: VendorWhereInput data: XOR } export type VendorUpdateWithoutCategoriesInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string users?: UserUpdateManyWithoutVendorNestedInput products?: ProductUpdateManyWithoutVendorNestedInput taxes?: TaxUpdateManyWithoutVendorNestedInput transactions?: TransactionUpdateManyWithoutVendorNestedInput } export type VendorUncheckedUpdateWithoutCategoriesInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string users?: UserUncheckedUpdateManyWithoutVendorNestedInput products?: ProductUncheckedUpdateManyWithoutVendorNestedInput taxes?: TaxUncheckedUpdateManyWithoutVendorNestedInput transactions?: TransactionUncheckedUpdateManyWithoutVendorNestedInput } export type ProductUpsertWithWhereUniqueWithoutCategoryInput = { where: ProductWhereUniqueInput update: XOR create: XOR } export type ProductUpdateWithWhereUniqueWithoutCategoryInput = { where: ProductWhereUniqueInput data: XOR } export type ProductUpdateManyWithWhereWithoutCategoryInput = { where: ProductScalarWhereInput data: XOR } export type VendorCreateWithoutTaxesInput = { id?: string name: string businessNum?: string | null taxSettings?: string | null createdAt?: Date | string updatedAt?: Date | string users?: UserCreateNestedManyWithoutVendorInput categories?: CategoryCreateNestedManyWithoutVendorInput products?: ProductCreateNestedManyWithoutVendorInput transactions?: TransactionCreateNestedManyWithoutVendorInput } export type VendorUncheckedCreateWithoutTaxesInput = { id?: string name: string businessNum?: string | null taxSettings?: string | null createdAt?: Date | string updatedAt?: Date | string users?: UserUncheckedCreateNestedManyWithoutVendorInput categories?: CategoryUncheckedCreateNestedManyWithoutVendorInput products?: ProductUncheckedCreateNestedManyWithoutVendorInput transactions?: TransactionUncheckedCreateNestedManyWithoutVendorInput } export type VendorCreateOrConnectWithoutTaxesInput = { where: VendorWhereUniqueInput create: XOR } export type ProductCreateWithoutTaxInput = { id?: string name: string sku?: string | null description?: string | null price: number tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutProductsInput category?: CategoryCreateNestedOneWithoutProductsInput transactionItems?: TransactionItemCreateNestedManyWithoutProductInput } export type ProductUncheckedCreateWithoutTaxInput = { id?: string name: string sku?: string | null description?: string | null price: number vendorId: string categoryId?: string | null tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string transactionItems?: TransactionItemUncheckedCreateNestedManyWithoutProductInput } export type ProductCreateOrConnectWithoutTaxInput = { where: ProductWhereUniqueInput create: XOR } export type ProductCreateManyTaxInputEnvelope = { data: ProductCreateManyTaxInput | ProductCreateManyTaxInput[] } export type VendorUpsertWithoutTaxesInput = { update: XOR create: XOR where?: VendorWhereInput } export type VendorUpdateToOneWithWhereWithoutTaxesInput = { where?: VendorWhereInput data: XOR } export type VendorUpdateWithoutTaxesInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string users?: UserUpdateManyWithoutVendorNestedInput categories?: CategoryUpdateManyWithoutVendorNestedInput products?: ProductUpdateManyWithoutVendorNestedInput transactions?: TransactionUpdateManyWithoutVendorNestedInput } export type VendorUncheckedUpdateWithoutTaxesInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string users?: UserUncheckedUpdateManyWithoutVendorNestedInput categories?: CategoryUncheckedUpdateManyWithoutVendorNestedInput products?: ProductUncheckedUpdateManyWithoutVendorNestedInput transactions?: TransactionUncheckedUpdateManyWithoutVendorNestedInput } export type ProductUpsertWithWhereUniqueWithoutTaxInput = { where: ProductWhereUniqueInput update: XOR create: XOR } export type ProductUpdateWithWhereUniqueWithoutTaxInput = { where: ProductWhereUniqueInput data: XOR } export type ProductUpdateManyWithWhereWithoutTaxInput = { where: ProductScalarWhereInput data: XOR } export type VendorCreateWithoutProductsInput = { id?: string name: string businessNum?: string | null taxSettings?: string | null createdAt?: Date | string updatedAt?: Date | string users?: UserCreateNestedManyWithoutVendorInput categories?: CategoryCreateNestedManyWithoutVendorInput taxes?: TaxCreateNestedManyWithoutVendorInput transactions?: TransactionCreateNestedManyWithoutVendorInput } export type VendorUncheckedCreateWithoutProductsInput = { id?: string name: string businessNum?: string | null taxSettings?: string | null createdAt?: Date | string updatedAt?: Date | string users?: UserUncheckedCreateNestedManyWithoutVendorInput categories?: CategoryUncheckedCreateNestedManyWithoutVendorInput taxes?: TaxUncheckedCreateNestedManyWithoutVendorInput transactions?: TransactionUncheckedCreateNestedManyWithoutVendorInput } export type VendorCreateOrConnectWithoutProductsInput = { where: VendorWhereUniqueInput create: XOR } export type CategoryCreateWithoutProductsInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutCategoriesInput } export type CategoryUncheckedCreateWithoutProductsInput = { id?: string name: string vendorId: string createdAt?: Date | string updatedAt?: Date | string } export type CategoryCreateOrConnectWithoutProductsInput = { where: CategoryWhereUniqueInput create: XOR } export type TaxCreateWithoutProductsInput = { id?: string name: string rate: number createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutTaxesInput } export type TaxUncheckedCreateWithoutProductsInput = { id?: string name: string rate: number vendorId: string createdAt?: Date | string updatedAt?: Date | string } export type TaxCreateOrConnectWithoutProductsInput = { where: TaxWhereUniqueInput create: XOR } export type TransactionItemCreateWithoutProductInput = { id?: string productName: string quantity: number unitPrice: number taxRate: number discount: number total: number transaction: TransactionCreateNestedOneWithoutItemsInput } export type TransactionItemUncheckedCreateWithoutProductInput = { id?: string transactionId: string productName: string quantity: number unitPrice: number taxRate: number discount: number total: number } export type TransactionItemCreateOrConnectWithoutProductInput = { where: TransactionItemWhereUniqueInput create: XOR } export type TransactionItemCreateManyProductInputEnvelope = { data: TransactionItemCreateManyProductInput | TransactionItemCreateManyProductInput[] } export type VendorUpsertWithoutProductsInput = { update: XOR create: XOR where?: VendorWhereInput } export type VendorUpdateToOneWithWhereWithoutProductsInput = { where?: VendorWhereInput data: XOR } export type VendorUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string users?: UserUpdateManyWithoutVendorNestedInput categories?: CategoryUpdateManyWithoutVendorNestedInput taxes?: TaxUpdateManyWithoutVendorNestedInput transactions?: TransactionUpdateManyWithoutVendorNestedInput } export type VendorUncheckedUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string users?: UserUncheckedUpdateManyWithoutVendorNestedInput categories?: CategoryUncheckedUpdateManyWithoutVendorNestedInput taxes?: TaxUncheckedUpdateManyWithoutVendorNestedInput transactions?: TransactionUncheckedUpdateManyWithoutVendorNestedInput } export type CategoryUpsertWithoutProductsInput = { update: XOR create: XOR where?: CategoryWhereInput } export type CategoryUpdateToOneWithWhereWithoutProductsInput = { where?: CategoryWhereInput data: XOR } export type CategoryUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutCategoriesNestedInput } export type CategoryUncheckedUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TaxUpsertWithoutProductsInput = { update: XOR create: XOR where?: TaxWhereInput } export type TaxUpdateToOneWithWhereWithoutProductsInput = { where?: TaxWhereInput data: XOR } export type TaxUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string rate?: FloatFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutTaxesNestedInput } export type TaxUncheckedUpdateWithoutProductsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string rate?: FloatFieldUpdateOperationsInput | number vendorId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TransactionItemUpsertWithWhereUniqueWithoutProductInput = { where: TransactionItemWhereUniqueInput update: XOR create: XOR } export type TransactionItemUpdateWithWhereUniqueWithoutProductInput = { where: TransactionItemWhereUniqueInput data: XOR } export type TransactionItemUpdateManyWithWhereWithoutProductInput = { where: TransactionItemScalarWhereInput data: XOR } export type TransactionItemScalarWhereInput = { AND?: TransactionItemScalarWhereInput | TransactionItemScalarWhereInput[] OR?: TransactionItemScalarWhereInput[] NOT?: TransactionItemScalarWhereInput | TransactionItemScalarWhereInput[] id?: StringFilter<"TransactionItem"> | string transactionId?: StringFilter<"TransactionItem"> | string productId?: StringFilter<"TransactionItem"> | string productName?: StringFilter<"TransactionItem"> | string quantity?: IntFilter<"TransactionItem"> | number unitPrice?: FloatFilter<"TransactionItem"> | number taxRate?: FloatFilter<"TransactionItem"> | number discount?: FloatFilter<"TransactionItem"> | number total?: FloatFilter<"TransactionItem"> | number } export type VendorCreateWithoutTransactionsInput = { id?: string name: string businessNum?: string | null taxSettings?: string | null createdAt?: Date | string updatedAt?: Date | string users?: UserCreateNestedManyWithoutVendorInput categories?: CategoryCreateNestedManyWithoutVendorInput products?: ProductCreateNestedManyWithoutVendorInput taxes?: TaxCreateNestedManyWithoutVendorInput } export type VendorUncheckedCreateWithoutTransactionsInput = { id?: string name: string businessNum?: string | null taxSettings?: string | null createdAt?: Date | string updatedAt?: Date | string users?: UserUncheckedCreateNestedManyWithoutVendorInput categories?: CategoryUncheckedCreateNestedManyWithoutVendorInput products?: ProductUncheckedCreateNestedManyWithoutVendorInput taxes?: TaxUncheckedCreateNestedManyWithoutVendorInput } export type VendorCreateOrConnectWithoutTransactionsInput = { where: VendorWhereUniqueInput create: XOR } export type UserCreateWithoutTransactionsInput = { id?: string email: string passwordHash: string name: string createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutUsersInput role: RoleCreateNestedOneWithoutUsersInput refreshTokens?: RefreshTokenCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutTransactionsInput = { id?: string email: string passwordHash: string name: string vendorId: string roleId: string createdAt?: Date | string updatedAt?: Date | string refreshTokens?: RefreshTokenUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutTransactionsInput = { where: UserWhereUniqueInput create: XOR } export type TransactionItemCreateWithoutTransactionInput = { id?: string productName: string quantity: number unitPrice: number taxRate: number discount: number total: number product: ProductCreateNestedOneWithoutTransactionItemsInput } export type TransactionItemUncheckedCreateWithoutTransactionInput = { id?: string productId: string productName: string quantity: number unitPrice: number taxRate: number discount: number total: number } export type TransactionItemCreateOrConnectWithoutTransactionInput = { where: TransactionItemWhereUniqueInput create: XOR } export type TransactionItemCreateManyTransactionInputEnvelope = { data: TransactionItemCreateManyTransactionInput | TransactionItemCreateManyTransactionInput[] } export type VendorUpsertWithoutTransactionsInput = { update: XOR create: XOR where?: VendorWhereInput } export type VendorUpdateToOneWithWhereWithoutTransactionsInput = { where?: VendorWhereInput data: XOR } export type VendorUpdateWithoutTransactionsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string users?: UserUpdateManyWithoutVendorNestedInput categories?: CategoryUpdateManyWithoutVendorNestedInput products?: ProductUpdateManyWithoutVendorNestedInput taxes?: TaxUpdateManyWithoutVendorNestedInput } export type VendorUncheckedUpdateWithoutTransactionsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string businessNum?: NullableStringFieldUpdateOperationsInput | string | null taxSettings?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string users?: UserUncheckedUpdateManyWithoutVendorNestedInput categories?: CategoryUncheckedUpdateManyWithoutVendorNestedInput products?: ProductUncheckedUpdateManyWithoutVendorNestedInput taxes?: TaxUncheckedUpdateManyWithoutVendorNestedInput } export type UserUpsertWithoutTransactionsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutTransactionsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutTransactionsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutUsersNestedInput role?: RoleUpdateOneRequiredWithoutUsersNestedInput refreshTokens?: RefreshTokenUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutTransactionsInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string roleId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string refreshTokens?: RefreshTokenUncheckedUpdateManyWithoutUserNestedInput } export type TransactionItemUpsertWithWhereUniqueWithoutTransactionInput = { where: TransactionItemWhereUniqueInput update: XOR create: XOR } export type TransactionItemUpdateWithWhereUniqueWithoutTransactionInput = { where: TransactionItemWhereUniqueInput data: XOR } export type TransactionItemUpdateManyWithWhereWithoutTransactionInput = { where: TransactionItemScalarWhereInput data: XOR } export type TransactionCreateWithoutItemsInput = { id?: string idempotencyKey: string status: string paymentMethod: string subtotal: number taxTotal: number discountTotal: number total: number notes?: string | null createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutTransactionsInput user: UserCreateNestedOneWithoutTransactionsInput } export type TransactionUncheckedCreateWithoutItemsInput = { id?: string idempotencyKey: string vendorId: string userId: string status: string paymentMethod: string subtotal: number taxTotal: number discountTotal: number total: number notes?: string | null createdAt?: Date | string updatedAt?: Date | string } export type TransactionCreateOrConnectWithoutItemsInput = { where: TransactionWhereUniqueInput create: XOR } export type ProductCreateWithoutTransactionItemsInput = { id?: string name: string sku?: string | null description?: string | null price: number tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string vendor: VendorCreateNestedOneWithoutProductsInput category?: CategoryCreateNestedOneWithoutProductsInput tax?: TaxCreateNestedOneWithoutProductsInput } export type ProductUncheckedCreateWithoutTransactionItemsInput = { id?: string name: string sku?: string | null description?: string | null price: number vendorId: string categoryId?: string | null taxId?: string | null tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string } export type ProductCreateOrConnectWithoutTransactionItemsInput = { where: ProductWhereUniqueInput create: XOR } export type TransactionUpsertWithoutItemsInput = { update: XOR create: XOR where?: TransactionWhereInput } export type TransactionUpdateToOneWithWhereWithoutItemsInput = { where?: TransactionWhereInput data: XOR } export type TransactionUpdateWithoutItemsInput = { id?: StringFieldUpdateOperationsInput | string idempotencyKey?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string paymentMethod?: StringFieldUpdateOperationsInput | string subtotal?: FloatFieldUpdateOperationsInput | number taxTotal?: FloatFieldUpdateOperationsInput | number discountTotal?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutTransactionsNestedInput user?: UserUpdateOneRequiredWithoutTransactionsNestedInput } export type TransactionUncheckedUpdateWithoutItemsInput = { id?: StringFieldUpdateOperationsInput | string idempotencyKey?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string paymentMethod?: StringFieldUpdateOperationsInput | string subtotal?: FloatFieldUpdateOperationsInput | number taxTotal?: FloatFieldUpdateOperationsInput | number discountTotal?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductUpsertWithoutTransactionItemsInput = { update: XOR create: XOR where?: ProductWhereInput } export type ProductUpdateToOneWithWhereWithoutTransactionItemsInput = { where?: ProductWhereInput data: XOR } export type ProductUpdateWithoutTransactionItemsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutProductsNestedInput category?: CategoryUpdateOneWithoutProductsNestedInput tax?: TaxUpdateOneWithoutProductsNestedInput } export type ProductUncheckedUpdateWithoutTransactionItemsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number vendorId?: StringFieldUpdateOperationsInput | string categoryId?: NullableStringFieldUpdateOperationsInput | string | null taxId?: NullableStringFieldUpdateOperationsInput | string | null tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserCreateManyVendorInput = { id?: string email: string passwordHash: string name: string roleId: string createdAt?: Date | string updatedAt?: Date | string } export type CategoryCreateManyVendorInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string } export type ProductCreateManyVendorInput = { id?: string name: string sku?: string | null description?: string | null price: number categoryId?: string | null taxId?: string | null tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string } export type TaxCreateManyVendorInput = { id?: string name: string rate: number createdAt?: Date | string updatedAt?: Date | string } export type TransactionCreateManyVendorInput = { id?: string idempotencyKey: string userId: string status: string paymentMethod: string subtotal: number taxTotal: number discountTotal: number total: number notes?: string | null createdAt?: Date | string updatedAt?: Date | string } export type UserUpdateWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string role?: RoleUpdateOneRequiredWithoutUsersNestedInput refreshTokens?: RefreshTokenUpdateManyWithoutUserNestedInput transactions?: TransactionUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string roleId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string refreshTokens?: RefreshTokenUncheckedUpdateManyWithoutUserNestedInput transactions?: TransactionUncheckedUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateManyWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string roleId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CategoryUpdateWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string products?: ProductUpdateManyWithoutCategoryNestedInput } export type CategoryUncheckedUpdateWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string products?: ProductUncheckedUpdateManyWithoutCategoryNestedInput } export type CategoryUncheckedUpdateManyWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductUpdateWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string category?: CategoryUpdateOneWithoutProductsNestedInput tax?: TaxUpdateOneWithoutProductsNestedInput transactionItems?: TransactionItemUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number categoryId?: NullableStringFieldUpdateOperationsInput | string | null taxId?: NullableStringFieldUpdateOperationsInput | string | null tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string transactionItems?: TransactionItemUncheckedUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateManyWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number categoryId?: NullableStringFieldUpdateOperationsInput | string | null taxId?: NullableStringFieldUpdateOperationsInput | string | null tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TaxUpdateWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string rate?: FloatFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string products?: ProductUpdateManyWithoutTaxNestedInput } export type TaxUncheckedUpdateWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string rate?: FloatFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string products?: ProductUncheckedUpdateManyWithoutTaxNestedInput } export type TaxUncheckedUpdateManyWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string rate?: FloatFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TransactionUpdateWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string idempotencyKey?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string paymentMethod?: StringFieldUpdateOperationsInput | string subtotal?: FloatFieldUpdateOperationsInput | number taxTotal?: FloatFieldUpdateOperationsInput | number discountTotal?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutTransactionsNestedInput items?: TransactionItemUpdateManyWithoutTransactionNestedInput } export type TransactionUncheckedUpdateWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string idempotencyKey?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string paymentMethod?: StringFieldUpdateOperationsInput | string subtotal?: FloatFieldUpdateOperationsInput | number taxTotal?: FloatFieldUpdateOperationsInput | number discountTotal?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: TransactionItemUncheckedUpdateManyWithoutTransactionNestedInput } export type TransactionUncheckedUpdateManyWithoutVendorInput = { id?: StringFieldUpdateOperationsInput | string idempotencyKey?: StringFieldUpdateOperationsInput | string userId?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string paymentMethod?: StringFieldUpdateOperationsInput | string subtotal?: FloatFieldUpdateOperationsInput | number taxTotal?: FloatFieldUpdateOperationsInput | number discountTotal?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserCreateManyRoleInput = { id?: string email: string passwordHash: string name: string vendorId: string createdAt?: Date | string updatedAt?: Date | string } export type UserUpdateWithoutRoleInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutUsersNestedInput refreshTokens?: RefreshTokenUpdateManyWithoutUserNestedInput transactions?: TransactionUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutRoleInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string refreshTokens?: RefreshTokenUncheckedUpdateManyWithoutUserNestedInput transactions?: TransactionUncheckedUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateManyWithoutRoleInput = { id?: StringFieldUpdateOperationsInput | string email?: StringFieldUpdateOperationsInput | string passwordHash?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type RefreshTokenCreateManyUserInput = { id?: string token: string expiresAt: Date | string createdAt?: Date | string } export type TransactionCreateManyUserInput = { id?: string idempotencyKey: string vendorId: string status: string paymentMethod: string subtotal: number taxTotal: number discountTotal: number total: number notes?: string | null createdAt?: Date | string updatedAt?: Date | string } export type RefreshTokenUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type RefreshTokenUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type RefreshTokenUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string token?: StringFieldUpdateOperationsInput | string expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TransactionUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string idempotencyKey?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string paymentMethod?: StringFieldUpdateOperationsInput | string subtotal?: FloatFieldUpdateOperationsInput | number taxTotal?: FloatFieldUpdateOperationsInput | number discountTotal?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutTransactionsNestedInput items?: TransactionItemUpdateManyWithoutTransactionNestedInput } export type TransactionUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string idempotencyKey?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string paymentMethod?: StringFieldUpdateOperationsInput | string subtotal?: FloatFieldUpdateOperationsInput | number taxTotal?: FloatFieldUpdateOperationsInput | number discountTotal?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string items?: TransactionItemUncheckedUpdateManyWithoutTransactionNestedInput } export type TransactionUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string idempotencyKey?: StringFieldUpdateOperationsInput | string vendorId?: StringFieldUpdateOperationsInput | string status?: StringFieldUpdateOperationsInput | string paymentMethod?: StringFieldUpdateOperationsInput | string subtotal?: FloatFieldUpdateOperationsInput | number taxTotal?: FloatFieldUpdateOperationsInput | number discountTotal?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductCreateManyCategoryInput = { id?: string name: string sku?: string | null description?: string | null price: number vendorId: string taxId?: string | null tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string } export type ProductUpdateWithoutCategoryInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutProductsNestedInput tax?: TaxUpdateOneWithoutProductsNestedInput transactionItems?: TransactionItemUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateWithoutCategoryInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number vendorId?: StringFieldUpdateOperationsInput | string taxId?: NullableStringFieldUpdateOperationsInput | string | null tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string transactionItems?: TransactionItemUncheckedUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateManyWithoutCategoryInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number vendorId?: StringFieldUpdateOperationsInput | string taxId?: NullableStringFieldUpdateOperationsInput | string | null tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type ProductCreateManyTaxInput = { id?: string name: string sku?: string | null description?: string | null price: number vendorId: string categoryId?: string | null tags?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string } export type ProductUpdateWithoutTaxInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string vendor?: VendorUpdateOneRequiredWithoutProductsNestedInput category?: CategoryUpdateOneWithoutProductsNestedInput transactionItems?: TransactionItemUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateWithoutTaxInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number vendorId?: StringFieldUpdateOperationsInput | string categoryId?: NullableStringFieldUpdateOperationsInput | string | null tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string transactionItems?: TransactionItemUncheckedUpdateManyWithoutProductNestedInput } export type ProductUncheckedUpdateManyWithoutTaxInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string sku?: NullableStringFieldUpdateOperationsInput | string | null description?: NullableStringFieldUpdateOperationsInput | string | null price?: FloatFieldUpdateOperationsInput | number vendorId?: StringFieldUpdateOperationsInput | string categoryId?: NullableStringFieldUpdateOperationsInput | string | null tags?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type TransactionItemCreateManyProductInput = { id?: string transactionId: string productName: string quantity: number unitPrice: number taxRate: number discount: number total: number } export type TransactionItemUpdateWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string productName?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number unitPrice?: FloatFieldUpdateOperationsInput | number taxRate?: FloatFieldUpdateOperationsInput | number discount?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number transaction?: TransactionUpdateOneRequiredWithoutItemsNestedInput } export type TransactionItemUncheckedUpdateWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string transactionId?: StringFieldUpdateOperationsInput | string productName?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number unitPrice?: FloatFieldUpdateOperationsInput | number taxRate?: FloatFieldUpdateOperationsInput | number discount?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number } export type TransactionItemUncheckedUpdateManyWithoutProductInput = { id?: StringFieldUpdateOperationsInput | string transactionId?: StringFieldUpdateOperationsInput | string productName?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number unitPrice?: FloatFieldUpdateOperationsInput | number taxRate?: FloatFieldUpdateOperationsInput | number discount?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number } export type TransactionItemCreateManyTransactionInput = { id?: string productId: string productName: string quantity: number unitPrice: number taxRate: number discount: number total: number } export type TransactionItemUpdateWithoutTransactionInput = { id?: StringFieldUpdateOperationsInput | string productName?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number unitPrice?: FloatFieldUpdateOperationsInput | number taxRate?: FloatFieldUpdateOperationsInput | number discount?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number product?: ProductUpdateOneRequiredWithoutTransactionItemsNestedInput } export type TransactionItemUncheckedUpdateWithoutTransactionInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string productName?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number unitPrice?: FloatFieldUpdateOperationsInput | number taxRate?: FloatFieldUpdateOperationsInput | number discount?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number } export type TransactionItemUncheckedUpdateManyWithoutTransactionInput = { id?: StringFieldUpdateOperationsInput | string productId?: StringFieldUpdateOperationsInput | string productName?: StringFieldUpdateOperationsInput | string quantity?: IntFieldUpdateOperationsInput | number unitPrice?: FloatFieldUpdateOperationsInput | number taxRate?: FloatFieldUpdateOperationsInput | number discount?: FloatFieldUpdateOperationsInput | number total?: FloatFieldUpdateOperationsInput | number } /** * Aliases for legacy arg types */ /** * @deprecated Use VendorCountOutputTypeDefaultArgs instead */ export type VendorCountOutputTypeArgs = VendorCountOutputTypeDefaultArgs /** * @deprecated Use RoleCountOutputTypeDefaultArgs instead */ export type RoleCountOutputTypeArgs = RoleCountOutputTypeDefaultArgs /** * @deprecated Use UserCountOutputTypeDefaultArgs instead */ export type UserCountOutputTypeArgs = UserCountOutputTypeDefaultArgs /** * @deprecated Use CategoryCountOutputTypeDefaultArgs instead */ export type CategoryCountOutputTypeArgs = CategoryCountOutputTypeDefaultArgs /** * @deprecated Use TaxCountOutputTypeDefaultArgs instead */ export type TaxCountOutputTypeArgs = TaxCountOutputTypeDefaultArgs /** * @deprecated Use ProductCountOutputTypeDefaultArgs instead */ export type ProductCountOutputTypeArgs = ProductCountOutputTypeDefaultArgs /** * @deprecated Use TransactionCountOutputTypeDefaultArgs instead */ export type TransactionCountOutputTypeArgs = TransactionCountOutputTypeDefaultArgs /** * @deprecated Use VendorDefaultArgs instead */ export type VendorArgs = VendorDefaultArgs /** * @deprecated Use RoleDefaultArgs instead */ export type RoleArgs = RoleDefaultArgs /** * @deprecated Use UserDefaultArgs instead */ export type UserArgs = UserDefaultArgs /** * @deprecated Use RefreshTokenDefaultArgs instead */ export type RefreshTokenArgs = RefreshTokenDefaultArgs /** * @deprecated Use CategoryDefaultArgs instead */ export type CategoryArgs = CategoryDefaultArgs /** * @deprecated Use TaxDefaultArgs instead */ export type TaxArgs = TaxDefaultArgs /** * @deprecated Use ProductDefaultArgs instead */ export type ProductArgs = ProductDefaultArgs /** * @deprecated Use TransactionDefaultArgs instead */ export type TransactionArgs = TransactionDefaultArgs /** * @deprecated Use TransactionItemDefaultArgs instead */ export type TransactionItemArgs = TransactionItemDefaultArgs /** * Batch Payload for updateMany & deleteMany & createMany */ export type BatchPayload = { count: number } /** * DMMF */ export const dmmf: runtime.BaseDMMF }