/** * Client **/ import * as runtime from './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 Collection * */ export type Collection = $Result.DefaultSelection /** * Model Drawing * */ export type Drawing = $Result.DefaultSelection /** * ## Prisma Client ʲˢ * * Type-safe database client for TypeScript & Node.js * @example * ``` * const prisma = new PrismaClient() * // Fetch zero or more Collections * const collections = await prisma.collection.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 Collections * const collections = await prisma.collection.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.collection`: Exposes CRUD operations for the **Collection** model. * Example usage: * ```ts * // Fetch zero or more Collections * const collections = await prisma.collection.findMany() * ``` */ get collection(): Prisma.CollectionDelegate; /** * `prisma.drawing`: Exposes CRUD operations for the **Drawing** model. * Example usage: * ```ts * // Fetch zero or more Drawings * const drawings = await prisma.drawing.findMany() * ``` */ get drawing(): Prisma.DrawingDelegate; } 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: { Collection: 'Collection', Drawing: 'Drawing' }; 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: "collection" | "drawing" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { Collection: { payload: Prisma.$CollectionPayload fields: Prisma.CollectionFieldRefs operations: { findUnique: { args: Prisma.CollectionFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.CollectionFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.CollectionFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.CollectionFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.CollectionFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.CollectionCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.CollectionCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.CollectionCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.CollectionDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.CollectionUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.CollectionDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.CollectionUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.CollectionUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.CollectionAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.CollectionGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.CollectionCountArgs result: $Utils.Optional | number } } } Drawing: { payload: Prisma.$DrawingPayload fields: Prisma.DrawingFieldRefs operations: { findUnique: { args: Prisma.DrawingFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.DrawingFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.DrawingFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.DrawingFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.DrawingFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.DrawingCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.DrawingCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.DrawingCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.DrawingDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.DrawingUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.DrawingDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.DrawingUpdateManyArgs result: BatchPayload } upsert: { args: Prisma.DrawingUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.DrawingAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.DrawingGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.DrawingCountArgs 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 CollectionCountOutputType */ export type CollectionCountOutputType = { drawings: number } export type CollectionCountOutputTypeSelect = { drawings?: boolean | CollectionCountOutputTypeCountDrawingsArgs } // Custom InputTypes /** * CollectionCountOutputType without action */ export type CollectionCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the CollectionCountOutputType */ select?: CollectionCountOutputTypeSelect | null } /** * CollectionCountOutputType without action */ export type CollectionCountOutputTypeCountDrawingsArgs = { where?: DrawingWhereInput } /** * Models */ /** * Model Collection */ export type AggregateCollection = { _count: CollectionCountAggregateOutputType | null _min: CollectionMinAggregateOutputType | null _max: CollectionMaxAggregateOutputType | null } export type CollectionMinAggregateOutputType = { id: string | null name: string | null createdAt: Date | null updatedAt: Date | null } export type CollectionMaxAggregateOutputType = { id: string | null name: string | null createdAt: Date | null updatedAt: Date | null } export type CollectionCountAggregateOutputType = { id: number name: number createdAt: number updatedAt: number _all: number } export type CollectionMinAggregateInputType = { id?: true name?: true createdAt?: true updatedAt?: true } export type CollectionMaxAggregateInputType = { id?: true name?: true createdAt?: true updatedAt?: true } export type CollectionCountAggregateInputType = { id?: true name?: true createdAt?: true updatedAt?: true _all?: true } export type CollectionAggregateArgs = { /** * Filter which Collection to aggregate. */ where?: CollectionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Collections to fetch. */ orderBy?: CollectionOrderByWithRelationInput | CollectionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: CollectionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Collections from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Collections. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Collections **/ _count?: true | CollectionCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: CollectionMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: CollectionMaxAggregateInputType } export type GetCollectionAggregateType = { [P in keyof T & keyof AggregateCollection]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type CollectionGroupByArgs = { where?: CollectionWhereInput orderBy?: CollectionOrderByWithAggregationInput | CollectionOrderByWithAggregationInput[] by: CollectionScalarFieldEnum[] | CollectionScalarFieldEnum having?: CollectionScalarWhereWithAggregatesInput take?: number skip?: number _count?: CollectionCountAggregateInputType | true _min?: CollectionMinAggregateInputType _max?: CollectionMaxAggregateInputType } export type CollectionGroupByOutputType = { id: string name: string createdAt: Date updatedAt: Date _count: CollectionCountAggregateOutputType | null _min: CollectionMinAggregateOutputType | null _max: CollectionMaxAggregateOutputType | null } type GetCollectionGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof CollectionGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type CollectionSelect = $Extensions.GetSelect<{ id?: boolean name?: boolean createdAt?: boolean updatedAt?: boolean drawings?: boolean | Collection$drawingsArgs _count?: boolean | CollectionCountOutputTypeDefaultArgs }, ExtArgs["result"]["collection"]> export type CollectionSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["collection"]> export type CollectionSelectScalar = { id?: boolean name?: boolean createdAt?: boolean updatedAt?: boolean } export type CollectionInclude = { drawings?: boolean | Collection$drawingsArgs _count?: boolean | CollectionCountOutputTypeDefaultArgs } export type CollectionIncludeCreateManyAndReturn = {} export type $CollectionPayload = { name: "Collection" objects: { drawings: Prisma.$DrawingPayload[] } scalars: $Extensions.GetPayloadResult<{ id: string name: string createdAt: Date updatedAt: Date }, ExtArgs["result"]["collection"]> composites: {} } type CollectionGetPayload = $Result.GetResult type CollectionCountArgs = Omit & { select?: CollectionCountAggregateInputType | true } export interface CollectionDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Collection'], meta: { name: 'Collection' } } /** * Find zero or one Collection that matches the filter. * @param {CollectionFindUniqueArgs} args - Arguments to find a Collection * @example * // Get one Collection * const collection = await prisma.collection.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Collection that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {CollectionFindUniqueOrThrowArgs} args - Arguments to find a Collection * @example * // Get one Collection * const collection = await prisma.collection.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Collection that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionFindFirstArgs} args - Arguments to find a Collection * @example * // Get one Collection * const collection = await prisma.collection.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Collection that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionFindFirstOrThrowArgs} args - Arguments to find a Collection * @example * // Get one Collection * const collection = await prisma.collection.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Collections that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Collections * const collections = await prisma.collection.findMany() * * // Get first 10 Collections * const collections = await prisma.collection.findMany({ take: 10 }) * * // Only select the `id` * const collectionWithIdOnly = await prisma.collection.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Collection. * @param {CollectionCreateArgs} args - Arguments to create a Collection. * @example * // Create one Collection * const Collection = await prisma.collection.create({ * data: { * // ... data to create a Collection * } * }) * */ create(args: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Collections. * @param {CollectionCreateManyArgs} args - Arguments to create many Collections. * @example * // Create many Collections * const collection = await prisma.collection.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Collections and returns the data saved in the database. * @param {CollectionCreateManyAndReturnArgs} args - Arguments to create many Collections. * @example * // Create many Collections * const collection = await prisma.collection.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Collections and only return the `id` * const collectionWithIdOnly = await prisma.collection.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn">> /** * Delete a Collection. * @param {CollectionDeleteArgs} args - Arguments to delete one Collection. * @example * // Delete one Collection * const Collection = await prisma.collection.delete({ * where: { * // ... filter to delete one Collection * } * }) * */ delete(args: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Collection. * @param {CollectionUpdateArgs} args - Arguments to update one Collection. * @example * // Update one Collection * const collection = await prisma.collection.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Collections. * @param {CollectionDeleteManyArgs} args - Arguments to filter Collections to delete. * @example * // Delete a few Collections * const { count } = await prisma.collection.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Collections. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Collections * const collection = await prisma.collection.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Collection. * @param {CollectionUpsertArgs} args - Arguments to update or create a Collection. * @example * // Update or create a Collection * const collection = await prisma.collection.upsert({ * create: { * // ... data to create a Collection * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Collection we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__CollectionClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Collections. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionCountArgs} args - Arguments to filter Collections to count. * @example * // Count the number of Collections * const count = await prisma.collection.count({ * where: { * // ... the filter for the Collections we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a Collection. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by Collection. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {CollectionGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends CollectionGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: CollectionGroupByArgs['orderBy'] } : { orderBy?: CollectionGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCollectionGroupByPayload : Prisma.PrismaPromise /** * Fields of the Collection model */ readonly fields: CollectionFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Collection. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__CollectionClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" drawings = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Collection model */ interface CollectionFieldRefs { readonly id: FieldRef<"Collection", 'String'> readonly name: FieldRef<"Collection", 'String'> readonly createdAt: FieldRef<"Collection", 'DateTime'> readonly updatedAt: FieldRef<"Collection", 'DateTime'> } // Custom InputTypes /** * Collection findUnique */ export type CollectionFindUniqueArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * Filter, which Collection to fetch. */ where: CollectionWhereUniqueInput } /** * Collection findUniqueOrThrow */ export type CollectionFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * Filter, which Collection to fetch. */ where: CollectionWhereUniqueInput } /** * Collection findFirst */ export type CollectionFindFirstArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * Filter, which Collection to fetch. */ where?: CollectionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Collections to fetch. */ orderBy?: CollectionOrderByWithRelationInput | CollectionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Collections. */ cursor?: CollectionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Collections from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Collections. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Collections. */ distinct?: CollectionScalarFieldEnum | CollectionScalarFieldEnum[] } /** * Collection findFirstOrThrow */ export type CollectionFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * Filter, which Collection to fetch. */ where?: CollectionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Collections to fetch. */ orderBy?: CollectionOrderByWithRelationInput | CollectionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Collections. */ cursor?: CollectionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Collections from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Collections. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Collections. */ distinct?: CollectionScalarFieldEnum | CollectionScalarFieldEnum[] } /** * Collection findMany */ export type CollectionFindManyArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * Filter, which Collections to fetch. */ where?: CollectionWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Collections to fetch. */ orderBy?: CollectionOrderByWithRelationInput | CollectionOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Collections. */ cursor?: CollectionWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Collections from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Collections. */ skip?: number distinct?: CollectionScalarFieldEnum | CollectionScalarFieldEnum[] } /** * Collection create */ export type CollectionCreateArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * The data needed to create a Collection. */ data: XOR } /** * Collection createMany */ export type CollectionCreateManyArgs = { /** * The data used to create many Collections. */ data: CollectionCreateManyInput | CollectionCreateManyInput[] } /** * Collection createManyAndReturn */ export type CollectionCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelectCreateManyAndReturn | null /** * The data used to create many Collections. */ data: CollectionCreateManyInput | CollectionCreateManyInput[] } /** * Collection update */ export type CollectionUpdateArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * The data needed to update a Collection. */ data: XOR /** * Choose, which Collection to update. */ where: CollectionWhereUniqueInput } /** * Collection updateMany */ export type CollectionUpdateManyArgs = { /** * The data used to update Collections. */ data: XOR /** * Filter which Collections to update */ where?: CollectionWhereInput } /** * Collection upsert */ export type CollectionUpsertArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * The filter to search for the Collection to update in case it exists. */ where: CollectionWhereUniqueInput /** * In case the Collection found by the `where` argument doesn't exist, create a new Collection with this data. */ create: XOR /** * In case the Collection was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Collection delete */ export type CollectionDeleteArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null /** * Filter which Collection to delete. */ where: CollectionWhereUniqueInput } /** * Collection deleteMany */ export type CollectionDeleteManyArgs = { /** * Filter which Collections to delete */ where?: CollectionWhereInput } /** * Collection.drawings */ export type Collection$drawingsArgs = { /** * Select specific fields to fetch from the Drawing */ select?: DrawingSelect | null /** * Choose, which related nodes to fetch as well */ include?: DrawingInclude | null where?: DrawingWhereInput orderBy?: DrawingOrderByWithRelationInput | DrawingOrderByWithRelationInput[] cursor?: DrawingWhereUniqueInput take?: number skip?: number distinct?: DrawingScalarFieldEnum | DrawingScalarFieldEnum[] } /** * Collection without action */ export type CollectionDefaultArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null } /** * Model Drawing */ export type AggregateDrawing = { _count: DrawingCountAggregateOutputType | null _avg: DrawingAvgAggregateOutputType | null _sum: DrawingSumAggregateOutputType | null _min: DrawingMinAggregateOutputType | null _max: DrawingMaxAggregateOutputType | null } export type DrawingAvgAggregateOutputType = { version: number | null } export type DrawingSumAggregateOutputType = { version: number | null } export type DrawingMinAggregateOutputType = { id: string | null name: string | null elements: string | null appState: string | null files: string | null preview: string | null version: number | null collectionId: string | null createdAt: Date | null updatedAt: Date | null } export type DrawingMaxAggregateOutputType = { id: string | null name: string | null elements: string | null appState: string | null files: string | null preview: string | null version: number | null collectionId: string | null createdAt: Date | null updatedAt: Date | null } export type DrawingCountAggregateOutputType = { id: number name: number elements: number appState: number files: number preview: number version: number collectionId: number createdAt: number updatedAt: number _all: number } export type DrawingAvgAggregateInputType = { version?: true } export type DrawingSumAggregateInputType = { version?: true } export type DrawingMinAggregateInputType = { id?: true name?: true elements?: true appState?: true files?: true preview?: true version?: true collectionId?: true createdAt?: true updatedAt?: true } export type DrawingMaxAggregateInputType = { id?: true name?: true elements?: true appState?: true files?: true preview?: true version?: true collectionId?: true createdAt?: true updatedAt?: true } export type DrawingCountAggregateInputType = { id?: true name?: true elements?: true appState?: true files?: true preview?: true version?: true collectionId?: true createdAt?: true updatedAt?: true _all?: true } export type DrawingAggregateArgs = { /** * Filter which Drawing to aggregate. */ where?: DrawingWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Drawings to fetch. */ orderBy?: DrawingOrderByWithRelationInput | DrawingOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: DrawingWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Drawings 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` Drawings. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Drawings **/ _count?: true | DrawingCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: DrawingAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: DrawingSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: DrawingMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: DrawingMaxAggregateInputType } export type GetDrawingAggregateType = { [P in keyof T & keyof AggregateDrawing]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type DrawingGroupByArgs = { where?: DrawingWhereInput orderBy?: DrawingOrderByWithAggregationInput | DrawingOrderByWithAggregationInput[] by: DrawingScalarFieldEnum[] | DrawingScalarFieldEnum having?: DrawingScalarWhereWithAggregatesInput take?: number skip?: number _count?: DrawingCountAggregateInputType | true _avg?: DrawingAvgAggregateInputType _sum?: DrawingSumAggregateInputType _min?: DrawingMinAggregateInputType _max?: DrawingMaxAggregateInputType } export type DrawingGroupByOutputType = { id: string name: string elements: string appState: string files: string preview: string | null version: number collectionId: string | null createdAt: Date updatedAt: Date _count: DrawingCountAggregateOutputType | null _avg: DrawingAvgAggregateOutputType | null _sum: DrawingSumAggregateOutputType | null _min: DrawingMinAggregateOutputType | null _max: DrawingMaxAggregateOutputType | null } type GetDrawingGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof DrawingGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type DrawingSelect = $Extensions.GetSelect<{ id?: boolean name?: boolean elements?: boolean appState?: boolean files?: boolean preview?: boolean version?: boolean collectionId?: boolean createdAt?: boolean updatedAt?: boolean collection?: boolean | Drawing$collectionArgs }, ExtArgs["result"]["drawing"]> export type DrawingSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean name?: boolean elements?: boolean appState?: boolean files?: boolean preview?: boolean version?: boolean collectionId?: boolean createdAt?: boolean updatedAt?: boolean collection?: boolean | Drawing$collectionArgs }, ExtArgs["result"]["drawing"]> export type DrawingSelectScalar = { id?: boolean name?: boolean elements?: boolean appState?: boolean files?: boolean preview?: boolean version?: boolean collectionId?: boolean createdAt?: boolean updatedAt?: boolean } export type DrawingInclude = { collection?: boolean | Drawing$collectionArgs } export type DrawingIncludeCreateManyAndReturn = { collection?: boolean | Drawing$collectionArgs } export type $DrawingPayload = { name: "Drawing" objects: { collection: Prisma.$CollectionPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string name: string elements: string appState: string files: string preview: string | null version: number collectionId: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["drawing"]> composites: {} } type DrawingGetPayload = $Result.GetResult type DrawingCountArgs = Omit & { select?: DrawingCountAggregateInputType | true } export interface DrawingDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Drawing'], meta: { name: 'Drawing' } } /** * Find zero or one Drawing that matches the filter. * @param {DrawingFindUniqueArgs} args - Arguments to find a Drawing * @example * // Get one Drawing * const drawing = await prisma.drawing.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__DrawingClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> /** * Find one Drawing that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {DrawingFindUniqueOrThrowArgs} args - Arguments to find a Drawing * @example * // Get one Drawing * const drawing = await prisma.drawing.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__DrawingClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> /** * Find the first Drawing 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 {DrawingFindFirstArgs} args - Arguments to find a Drawing * @example * // Get one Drawing * const drawing = await prisma.drawing.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__DrawingClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> /** * Find the first Drawing 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 {DrawingFindFirstOrThrowArgs} args - Arguments to find a Drawing * @example * // Get one Drawing * const drawing = await prisma.drawing.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__DrawingClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> /** * Find zero or more Drawings 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 {DrawingFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Drawings * const drawings = await prisma.drawing.findMany() * * // Get first 10 Drawings * const drawings = await prisma.drawing.findMany({ take: 10 }) * * // Only select the `id` * const drawingWithIdOnly = await prisma.drawing.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> /** * Create a Drawing. * @param {DrawingCreateArgs} args - Arguments to create a Drawing. * @example * // Create one Drawing * const Drawing = await prisma.drawing.create({ * data: { * // ... data to create a Drawing * } * }) * */ create(args: SelectSubset>): Prisma__DrawingClient<$Result.GetResult, T, "create">, never, ExtArgs> /** * Create many Drawings. * @param {DrawingCreateManyArgs} args - Arguments to create many Drawings. * @example * // Create many Drawings * const drawing = await prisma.drawing.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Drawings and returns the data saved in the database. * @param {DrawingCreateManyAndReturnArgs} args - Arguments to create many Drawings. * @example * // Create many Drawings * const drawing = await prisma.drawing.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Drawings and only return the `id` * const drawingWithIdOnly = await prisma.drawing.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 Drawing. * @param {DrawingDeleteArgs} args - Arguments to delete one Drawing. * @example * // Delete one Drawing * const Drawing = await prisma.drawing.delete({ * where: { * // ... filter to delete one Drawing * } * }) * */ delete(args: SelectSubset>): Prisma__DrawingClient<$Result.GetResult, T, "delete">, never, ExtArgs> /** * Update one Drawing. * @param {DrawingUpdateArgs} args - Arguments to update one Drawing. * @example * // Update one Drawing * const drawing = await prisma.drawing.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__DrawingClient<$Result.GetResult, T, "update">, never, ExtArgs> /** * Delete zero or more Drawings. * @param {DrawingDeleteManyArgs} args - Arguments to filter Drawings to delete. * @example * // Delete a few Drawings * const { count } = await prisma.drawing.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Drawings. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {DrawingUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Drawings * const drawing = await prisma.drawing.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Create or update one Drawing. * @param {DrawingUpsertArgs} args - Arguments to update or create a Drawing. * @example * // Update or create a Drawing * const drawing = await prisma.drawing.upsert({ * create: { * // ... data to create a Drawing * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Drawing we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__DrawingClient<$Result.GetResult, T, "upsert">, never, ExtArgs> /** * Count the number of Drawings. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {DrawingCountArgs} args - Arguments to filter Drawings to count. * @example * // Count the number of Drawings * const count = await prisma.drawing.count({ * where: { * // ... the filter for the Drawings 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 Drawing. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {DrawingAggregateArgs} 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 Drawing. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {DrawingGroupByArgs} 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 DrawingGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: DrawingGroupByArgs['orderBy'] } : { orderBy?: DrawingGroupByArgs['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 ? GetDrawingGroupByPayload : Prisma.PrismaPromise /** * Fields of the Drawing model */ readonly fields: DrawingFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Drawing. * 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__DrawingClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" collection = {}>(args?: Subset>): Prisma__CollectionClient<$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 Drawing model */ interface DrawingFieldRefs { readonly id: FieldRef<"Drawing", 'String'> readonly name: FieldRef<"Drawing", 'String'> readonly elements: FieldRef<"Drawing", 'String'> readonly appState: FieldRef<"Drawing", 'String'> readonly files: FieldRef<"Drawing", 'String'> readonly preview: FieldRef<"Drawing", 'String'> readonly version: FieldRef<"Drawing", 'Int'> readonly collectionId: FieldRef<"Drawing", 'String'> readonly createdAt: FieldRef<"Drawing", 'DateTime'> readonly updatedAt: FieldRef<"Drawing", 'DateTime'> } // Custom InputTypes /** * Drawing findUnique */ export type DrawingFindUniqueArgs = { /** * Select specific fields to fetch from the Drawing */ select?: DrawingSelect | null /** * Choose, which related nodes to fetch as well */ include?: DrawingInclude | null /** * Filter, which Drawing to fetch. */ where: DrawingWhereUniqueInput } /** * Drawing findUniqueOrThrow */ export type DrawingFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Drawing */ select?: DrawingSelect | null /** * Choose, which related nodes to fetch as well */ include?: DrawingInclude | null /** * Filter, which Drawing to fetch. */ where: DrawingWhereUniqueInput } /** * Drawing findFirst */ export type DrawingFindFirstArgs = { /** * Select specific fields to fetch from the Drawing */ select?: DrawingSelect | null /** * Choose, which related nodes to fetch as well */ include?: DrawingInclude | null /** * Filter, which Drawing to fetch. */ where?: DrawingWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Drawings to fetch. */ orderBy?: DrawingOrderByWithRelationInput | DrawingOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Drawings. */ cursor?: DrawingWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Drawings 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` Drawings. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Drawings. */ distinct?: DrawingScalarFieldEnum | DrawingScalarFieldEnum[] } /** * Drawing findFirstOrThrow */ export type DrawingFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Drawing */ select?: DrawingSelect | null /** * Choose, which related nodes to fetch as well */ include?: DrawingInclude | null /** * Filter, which Drawing to fetch. */ where?: DrawingWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Drawings to fetch. */ orderBy?: DrawingOrderByWithRelationInput | DrawingOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Drawings. */ cursor?: DrawingWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Drawings 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` Drawings. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Drawings. */ distinct?: DrawingScalarFieldEnum | DrawingScalarFieldEnum[] } /** * Drawing findMany */ export type DrawingFindManyArgs = { /** * Select specific fields to fetch from the Drawing */ select?: DrawingSelect | null /** * Choose, which related nodes to fetch as well */ include?: DrawingInclude | null /** * Filter, which Drawings to fetch. */ where?: DrawingWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Drawings to fetch. */ orderBy?: DrawingOrderByWithRelationInput | DrawingOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Drawings. */ cursor?: DrawingWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Drawings 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` Drawings. */ skip?: number distinct?: DrawingScalarFieldEnum | DrawingScalarFieldEnum[] } /** * Drawing create */ export type DrawingCreateArgs = { /** * Select specific fields to fetch from the Drawing */ select?: DrawingSelect | null /** * Choose, which related nodes to fetch as well */ include?: DrawingInclude | null /** * The data needed to create a Drawing. */ data: XOR } /** * Drawing createMany */ export type DrawingCreateManyArgs = { /** * The data used to create many Drawings. */ data: DrawingCreateManyInput | DrawingCreateManyInput[] } /** * Drawing createManyAndReturn */ export type DrawingCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Drawing */ select?: DrawingSelectCreateManyAndReturn | null /** * The data used to create many Drawings. */ data: DrawingCreateManyInput | DrawingCreateManyInput[] /** * Choose, which related nodes to fetch as well */ include?: DrawingIncludeCreateManyAndReturn | null } /** * Drawing update */ export type DrawingUpdateArgs = { /** * Select specific fields to fetch from the Drawing */ select?: DrawingSelect | null /** * Choose, which related nodes to fetch as well */ include?: DrawingInclude | null /** * The data needed to update a Drawing. */ data: XOR /** * Choose, which Drawing to update. */ where: DrawingWhereUniqueInput } /** * Drawing updateMany */ export type DrawingUpdateManyArgs = { /** * The data used to update Drawings. */ data: XOR /** * Filter which Drawings to update */ where?: DrawingWhereInput } /** * Drawing upsert */ export type DrawingUpsertArgs = { /** * Select specific fields to fetch from the Drawing */ select?: DrawingSelect | null /** * Choose, which related nodes to fetch as well */ include?: DrawingInclude | null /** * The filter to search for the Drawing to update in case it exists. */ where: DrawingWhereUniqueInput /** * In case the Drawing found by the `where` argument doesn't exist, create a new Drawing with this data. */ create: XOR /** * In case the Drawing was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Drawing delete */ export type DrawingDeleteArgs = { /** * Select specific fields to fetch from the Drawing */ select?: DrawingSelect | null /** * Choose, which related nodes to fetch as well */ include?: DrawingInclude | null /** * Filter which Drawing to delete. */ where: DrawingWhereUniqueInput } /** * Drawing deleteMany */ export type DrawingDeleteManyArgs = { /** * Filter which Drawings to delete */ where?: DrawingWhereInput } /** * Drawing.collection */ export type Drawing$collectionArgs = { /** * Select specific fields to fetch from the Collection */ select?: CollectionSelect | null /** * Choose, which related nodes to fetch as well */ include?: CollectionInclude | null where?: CollectionWhereInput } /** * Drawing without action */ export type DrawingDefaultArgs = { /** * Select specific fields to fetch from the Drawing */ select?: DrawingSelect | null /** * Choose, which related nodes to fetch as well */ include?: DrawingInclude | null } /** * Enums */ export const TransactionIsolationLevel: { Serializable: 'Serializable' }; export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] export const CollectionScalarFieldEnum: { id: 'id', name: 'name', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type CollectionScalarFieldEnum = (typeof CollectionScalarFieldEnum)[keyof typeof CollectionScalarFieldEnum] export const DrawingScalarFieldEnum: { id: 'id', name: 'name', elements: 'elements', appState: 'appState', files: 'files', preview: 'preview', version: 'version', collectionId: 'collectionId', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type DrawingScalarFieldEnum = (typeof DrawingScalarFieldEnum)[keyof typeof DrawingScalarFieldEnum] 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 'Int' */ export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'> /** * Reference to a field of type 'Float' */ export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> /** * Deep Input Types */ export type CollectionWhereInput = { AND?: CollectionWhereInput | CollectionWhereInput[] OR?: CollectionWhereInput[] NOT?: CollectionWhereInput | CollectionWhereInput[] id?: StringFilter<"Collection"> | string name?: StringFilter<"Collection"> | string createdAt?: DateTimeFilter<"Collection"> | Date | string updatedAt?: DateTimeFilter<"Collection"> | Date | string drawings?: DrawingListRelationFilter } export type CollectionOrderByWithRelationInput = { id?: SortOrder name?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder drawings?: DrawingOrderByRelationAggregateInput } export type CollectionWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: CollectionWhereInput | CollectionWhereInput[] OR?: CollectionWhereInput[] NOT?: CollectionWhereInput | CollectionWhereInput[] name?: StringFilter<"Collection"> | string createdAt?: DateTimeFilter<"Collection"> | Date | string updatedAt?: DateTimeFilter<"Collection"> | Date | string drawings?: DrawingListRelationFilter }, "id"> export type CollectionOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: CollectionCountOrderByAggregateInput _max?: CollectionMaxOrderByAggregateInput _min?: CollectionMinOrderByAggregateInput } export type CollectionScalarWhereWithAggregatesInput = { AND?: CollectionScalarWhereWithAggregatesInput | CollectionScalarWhereWithAggregatesInput[] OR?: CollectionScalarWhereWithAggregatesInput[] NOT?: CollectionScalarWhereWithAggregatesInput | CollectionScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Collection"> | string name?: StringWithAggregatesFilter<"Collection"> | string createdAt?: DateTimeWithAggregatesFilter<"Collection"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Collection"> | Date | string } export type DrawingWhereInput = { AND?: DrawingWhereInput | DrawingWhereInput[] OR?: DrawingWhereInput[] NOT?: DrawingWhereInput | DrawingWhereInput[] id?: StringFilter<"Drawing"> | string name?: StringFilter<"Drawing"> | string elements?: StringFilter<"Drawing"> | string appState?: StringFilter<"Drawing"> | string files?: StringFilter<"Drawing"> | string preview?: StringNullableFilter<"Drawing"> | string | null version?: IntFilter<"Drawing"> | number collectionId?: StringNullableFilter<"Drawing"> | string | null createdAt?: DateTimeFilter<"Drawing"> | Date | string updatedAt?: DateTimeFilter<"Drawing"> | Date | string collection?: XOR | null } export type DrawingOrderByWithRelationInput = { id?: SortOrder name?: SortOrder elements?: SortOrder appState?: SortOrder files?: SortOrder preview?: SortOrderInput | SortOrder version?: SortOrder collectionId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder collection?: CollectionOrderByWithRelationInput } export type DrawingWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: DrawingWhereInput | DrawingWhereInput[] OR?: DrawingWhereInput[] NOT?: DrawingWhereInput | DrawingWhereInput[] name?: StringFilter<"Drawing"> | string elements?: StringFilter<"Drawing"> | string appState?: StringFilter<"Drawing"> | string files?: StringFilter<"Drawing"> | string preview?: StringNullableFilter<"Drawing"> | string | null version?: IntFilter<"Drawing"> | number collectionId?: StringNullableFilter<"Drawing"> | string | null createdAt?: DateTimeFilter<"Drawing"> | Date | string updatedAt?: DateTimeFilter<"Drawing"> | Date | string collection?: XOR | null }, "id"> export type DrawingOrderByWithAggregationInput = { id?: SortOrder name?: SortOrder elements?: SortOrder appState?: SortOrder files?: SortOrder preview?: SortOrderInput | SortOrder version?: SortOrder collectionId?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: DrawingCountOrderByAggregateInput _avg?: DrawingAvgOrderByAggregateInput _max?: DrawingMaxOrderByAggregateInput _min?: DrawingMinOrderByAggregateInput _sum?: DrawingSumOrderByAggregateInput } export type DrawingScalarWhereWithAggregatesInput = { AND?: DrawingScalarWhereWithAggregatesInput | DrawingScalarWhereWithAggregatesInput[] OR?: DrawingScalarWhereWithAggregatesInput[] NOT?: DrawingScalarWhereWithAggregatesInput | DrawingScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Drawing"> | string name?: StringWithAggregatesFilter<"Drawing"> | string elements?: StringWithAggregatesFilter<"Drawing"> | string appState?: StringWithAggregatesFilter<"Drawing"> | string files?: StringWithAggregatesFilter<"Drawing"> | string preview?: StringNullableWithAggregatesFilter<"Drawing"> | string | null version?: IntWithAggregatesFilter<"Drawing"> | number collectionId?: StringNullableWithAggregatesFilter<"Drawing"> | string | null createdAt?: DateTimeWithAggregatesFilter<"Drawing"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Drawing"> | Date | string } export type CollectionCreateInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string drawings?: DrawingCreateNestedManyWithoutCollectionInput } export type CollectionUncheckedCreateInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string drawings?: DrawingUncheckedCreateNestedManyWithoutCollectionInput } export type CollectionUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string drawings?: DrawingUpdateManyWithoutCollectionNestedInput } export type CollectionUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string drawings?: DrawingUncheckedUpdateManyWithoutCollectionNestedInput } export type CollectionCreateManyInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string } export type CollectionUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CollectionUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type DrawingCreateInput = { id?: string name: string elements: string appState: string files?: string preview?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string collection?: CollectionCreateNestedOneWithoutDrawingsInput } export type DrawingUncheckedCreateInput = { id?: string name: string elements: string appState: string files?: string preview?: string | null version?: number collectionId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type DrawingUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string elements?: StringFieldUpdateOperationsInput | string appState?: StringFieldUpdateOperationsInput | string files?: StringFieldUpdateOperationsInput | string preview?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string collection?: CollectionUpdateOneWithoutDrawingsNestedInput } export type DrawingUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string elements?: StringFieldUpdateOperationsInput | string appState?: StringFieldUpdateOperationsInput | string files?: StringFieldUpdateOperationsInput | string preview?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number collectionId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type DrawingCreateManyInput = { id?: string name: string elements: string appState: string files?: string preview?: string | null version?: number collectionId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type DrawingUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string elements?: StringFieldUpdateOperationsInput | string appState?: StringFieldUpdateOperationsInput | string files?: StringFieldUpdateOperationsInput | string preview?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type DrawingUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string elements?: StringFieldUpdateOperationsInput | string appState?: StringFieldUpdateOperationsInput | string files?: StringFieldUpdateOperationsInput | string preview?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number collectionId?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type StringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] notIn?: string[] lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> not?: NestedStringFilter<$PrismaModel> | string } export type 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 DrawingListRelationFilter = { every?: DrawingWhereInput some?: DrawingWhereInput none?: DrawingWhereInput } export type DrawingOrderByRelationAggregateInput = { _count?: SortOrder } export type CollectionCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CollectionMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type CollectionMinOrderByAggregateInput = { id?: SortOrder name?: 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 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 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 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 CollectionNullableRelationFilter = { is?: CollectionWhereInput | null isNot?: CollectionWhereInput | null } export type SortOrderInput = { sort: SortOrder nulls?: NullsOrder } export type DrawingCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder elements?: SortOrder appState?: SortOrder files?: SortOrder preview?: SortOrder version?: SortOrder collectionId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type DrawingAvgOrderByAggregateInput = { version?: SortOrder } export type DrawingMaxOrderByAggregateInput = { id?: SortOrder name?: SortOrder elements?: SortOrder appState?: SortOrder files?: SortOrder preview?: SortOrder version?: SortOrder collectionId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type DrawingMinOrderByAggregateInput = { id?: SortOrder name?: SortOrder elements?: SortOrder appState?: SortOrder files?: SortOrder preview?: SortOrder version?: SortOrder collectionId?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type DrawingSumOrderByAggregateInput = { version?: SortOrder } 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 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 DrawingCreateNestedManyWithoutCollectionInput = { create?: XOR | DrawingCreateWithoutCollectionInput[] | DrawingUncheckedCreateWithoutCollectionInput[] connectOrCreate?: DrawingCreateOrConnectWithoutCollectionInput | DrawingCreateOrConnectWithoutCollectionInput[] createMany?: DrawingCreateManyCollectionInputEnvelope connect?: DrawingWhereUniqueInput | DrawingWhereUniqueInput[] } export type DrawingUncheckedCreateNestedManyWithoutCollectionInput = { create?: XOR | DrawingCreateWithoutCollectionInput[] | DrawingUncheckedCreateWithoutCollectionInput[] connectOrCreate?: DrawingCreateOrConnectWithoutCollectionInput | DrawingCreateOrConnectWithoutCollectionInput[] createMany?: DrawingCreateManyCollectionInputEnvelope connect?: DrawingWhereUniqueInput | DrawingWhereUniqueInput[] } export type StringFieldUpdateOperationsInput = { set?: string } export type DateTimeFieldUpdateOperationsInput = { set?: Date | string } export type DrawingUpdateManyWithoutCollectionNestedInput = { create?: XOR | DrawingCreateWithoutCollectionInput[] | DrawingUncheckedCreateWithoutCollectionInput[] connectOrCreate?: DrawingCreateOrConnectWithoutCollectionInput | DrawingCreateOrConnectWithoutCollectionInput[] upsert?: DrawingUpsertWithWhereUniqueWithoutCollectionInput | DrawingUpsertWithWhereUniqueWithoutCollectionInput[] createMany?: DrawingCreateManyCollectionInputEnvelope set?: DrawingWhereUniqueInput | DrawingWhereUniqueInput[] disconnect?: DrawingWhereUniqueInput | DrawingWhereUniqueInput[] delete?: DrawingWhereUniqueInput | DrawingWhereUniqueInput[] connect?: DrawingWhereUniqueInput | DrawingWhereUniqueInput[] update?: DrawingUpdateWithWhereUniqueWithoutCollectionInput | DrawingUpdateWithWhereUniqueWithoutCollectionInput[] updateMany?: DrawingUpdateManyWithWhereWithoutCollectionInput | DrawingUpdateManyWithWhereWithoutCollectionInput[] deleteMany?: DrawingScalarWhereInput | DrawingScalarWhereInput[] } export type DrawingUncheckedUpdateManyWithoutCollectionNestedInput = { create?: XOR | DrawingCreateWithoutCollectionInput[] | DrawingUncheckedCreateWithoutCollectionInput[] connectOrCreate?: DrawingCreateOrConnectWithoutCollectionInput | DrawingCreateOrConnectWithoutCollectionInput[] upsert?: DrawingUpsertWithWhereUniqueWithoutCollectionInput | DrawingUpsertWithWhereUniqueWithoutCollectionInput[] createMany?: DrawingCreateManyCollectionInputEnvelope set?: DrawingWhereUniqueInput | DrawingWhereUniqueInput[] disconnect?: DrawingWhereUniqueInput | DrawingWhereUniqueInput[] delete?: DrawingWhereUniqueInput | DrawingWhereUniqueInput[] connect?: DrawingWhereUniqueInput | DrawingWhereUniqueInput[] update?: DrawingUpdateWithWhereUniqueWithoutCollectionInput | DrawingUpdateWithWhereUniqueWithoutCollectionInput[] updateMany?: DrawingUpdateManyWithWhereWithoutCollectionInput | DrawingUpdateManyWithWhereWithoutCollectionInput[] deleteMany?: DrawingScalarWhereInput | DrawingScalarWhereInput[] } export type CollectionCreateNestedOneWithoutDrawingsInput = { create?: XOR connectOrCreate?: CollectionCreateOrConnectWithoutDrawingsInput connect?: CollectionWhereUniqueInput } export type NullableStringFieldUpdateOperationsInput = { set?: string | null } export type IntFieldUpdateOperationsInput = { set?: number increment?: number decrement?: number multiply?: number divide?: number } export type CollectionUpdateOneWithoutDrawingsNestedInput = { create?: XOR connectOrCreate?: CollectionCreateOrConnectWithoutDrawingsInput upsert?: CollectionUpsertWithoutDrawingsInput disconnect?: CollectionWhereInput | boolean delete?: CollectionWhereInput | boolean connect?: CollectionWhereUniqueInput update?: XOR, CollectionUncheckedUpdateWithoutDrawingsInput> } 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 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 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 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 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 NestedIntWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] notIn?: number[] lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedIntFilter<$PrismaModel> _min?: NestedIntFilter<$PrismaModel> _max?: NestedIntFilter<$PrismaModel> } export type NestedFloatFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] notIn?: number[] lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatFilter<$PrismaModel> | number } export type DrawingCreateWithoutCollectionInput = { id?: string name: string elements: string appState: string files?: string preview?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string } export type DrawingUncheckedCreateWithoutCollectionInput = { id?: string name: string elements: string appState: string files?: string preview?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string } export type DrawingCreateOrConnectWithoutCollectionInput = { where: DrawingWhereUniqueInput create: XOR } export type DrawingCreateManyCollectionInputEnvelope = { data: DrawingCreateManyCollectionInput | DrawingCreateManyCollectionInput[] } export type DrawingUpsertWithWhereUniqueWithoutCollectionInput = { where: DrawingWhereUniqueInput update: XOR create: XOR } export type DrawingUpdateWithWhereUniqueWithoutCollectionInput = { where: DrawingWhereUniqueInput data: XOR } export type DrawingUpdateManyWithWhereWithoutCollectionInput = { where: DrawingScalarWhereInput data: XOR } export type DrawingScalarWhereInput = { AND?: DrawingScalarWhereInput | DrawingScalarWhereInput[] OR?: DrawingScalarWhereInput[] NOT?: DrawingScalarWhereInput | DrawingScalarWhereInput[] id?: StringFilter<"Drawing"> | string name?: StringFilter<"Drawing"> | string elements?: StringFilter<"Drawing"> | string appState?: StringFilter<"Drawing"> | string files?: StringFilter<"Drawing"> | string preview?: StringNullableFilter<"Drawing"> | string | null version?: IntFilter<"Drawing"> | number collectionId?: StringNullableFilter<"Drawing"> | string | null createdAt?: DateTimeFilter<"Drawing"> | Date | string updatedAt?: DateTimeFilter<"Drawing"> | Date | string } export type CollectionCreateWithoutDrawingsInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string } export type CollectionUncheckedCreateWithoutDrawingsInput = { id?: string name: string createdAt?: Date | string updatedAt?: Date | string } export type CollectionCreateOrConnectWithoutDrawingsInput = { where: CollectionWhereUniqueInput create: XOR } export type CollectionUpsertWithoutDrawingsInput = { update: XOR create: XOR where?: CollectionWhereInput } export type CollectionUpdateToOneWithWhereWithoutDrawingsInput = { where?: CollectionWhereInput data: XOR } export type CollectionUpdateWithoutDrawingsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type CollectionUncheckedUpdateWithoutDrawingsInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type DrawingCreateManyCollectionInput = { id?: string name: string elements: string appState: string files?: string preview?: string | null version?: number createdAt?: Date | string updatedAt?: Date | string } export type DrawingUpdateWithoutCollectionInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string elements?: StringFieldUpdateOperationsInput | string appState?: StringFieldUpdateOperationsInput | string files?: StringFieldUpdateOperationsInput | string preview?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type DrawingUncheckedUpdateWithoutCollectionInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string elements?: StringFieldUpdateOperationsInput | string appState?: StringFieldUpdateOperationsInput | string files?: StringFieldUpdateOperationsInput | string preview?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type DrawingUncheckedUpdateManyWithoutCollectionInput = { id?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string elements?: StringFieldUpdateOperationsInput | string appState?: StringFieldUpdateOperationsInput | string files?: StringFieldUpdateOperationsInput | string preview?: NullableStringFieldUpdateOperationsInput | string | null version?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } /** * Aliases for legacy arg types */ /** * @deprecated Use CollectionCountOutputTypeDefaultArgs instead */ export type CollectionCountOutputTypeArgs = CollectionCountOutputTypeDefaultArgs /** * @deprecated Use CollectionDefaultArgs instead */ export type CollectionArgs = CollectionDefaultArgs /** * @deprecated Use DrawingDefaultArgs instead */ export type DrawingArgs = DrawingDefaultArgs /** * Batch Payload for updateMany & deleteMany & createMany */ export type BatchPayload = { count: number } /** * DMMF */ export const dmmf: runtime.BaseDMMF }