/** * Client **/ import * as runtime from './runtime/client.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 Place * */ export type Place = $Result.DefaultSelection /** * Model User * */ export type User = $Result.DefaultSelection /** * Model VoiceExperience * */ export type VoiceExperience = $Result.DefaultSelection /** * Enums */ export namespace $Enums { export const VoiceExperienceStatus: { UPLOADED: 'UPLOADED', TRANSCRIBING: 'TRANSCRIBING', TRANSCRIBED: 'TRANSCRIBED', ANALYZING: 'ANALYZING', ANALYZED: 'ANALYZED', FAILED: 'FAILED' }; export type VoiceExperienceStatus = (typeof VoiceExperienceStatus)[keyof typeof VoiceExperienceStatus] } export type VoiceExperienceStatus = $Enums.VoiceExperienceStatus export const VoiceExperienceStatus: typeof $Enums.VoiceExperienceStatus /** * ## Prisma Client ʲˢ * * Type-safe database client for TypeScript & Node.js * @example * ``` * const prisma = new PrismaClient({ * adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL }) * }) * // Fetch zero or more Places * const places = await prisma.place.findMany() * ``` * * * Read more in our [docs](https://pris.ly/d/client). */ export class PrismaClient< ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, const U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs > { [K: symbol]: { types: Prisma.TypeMap['other'] } /** * ## Prisma Client ʲˢ * * Type-safe database client for TypeScript & Node.js * @example * ``` * const prisma = new PrismaClient({ * adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL }) * }) * // Fetch zero or more Places * const places = await prisma.place.findMany() * ``` * * * Read more in our [docs](https://pris.ly/d/client). */ constructor(optionsArg ?: Prisma.Subset); $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient; /** * Connect with the database */ $connect(): $Utils.JsPromise; /** * Disconnect from the database */ $disconnect(): $Utils.JsPromise; /** * Executes a prepared raw query and returns the number of affected rows. * @example * ``` * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};` * ``` * * Read more in our [docs](https://pris.ly/d/raw-queries). */ $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://pris.ly/d/raw-queries). */ $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://pris.ly/d/raw-queries). */ $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://pris.ly/d/raw-queries). */ $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/orm/prisma-client/queries/transactions). */ $transaction

[]>(arg: [...P], options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise> $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, $Utils.Call, { extArgs: ExtArgs }>> /** * `prisma.place`: Exposes CRUD operations for the **Place** model. * Example usage: * ```ts * // Fetch zero or more Places * const places = await prisma.place.findMany() * ``` */ get place(): Prisma.PlaceDelegate; /** * `prisma.user`: Exposes CRUD operations for the **User** model. * Example usage: * ```ts * // Fetch zero or more Users * const users = await prisma.user.findMany() * ``` */ get user(): Prisma.UserDelegate; /** * `prisma.voiceExperience`: Exposes CRUD operations for the **VoiceExperience** model. * Example usage: * ```ts * // Fetch zero or more VoiceExperiences * const voiceExperiences = await prisma.voiceExperience.findMany() * ``` */ get voiceExperience(): Prisma.VoiceExperienceDelegate; } export namespace Prisma { export import DMMF = runtime.DMMF export type PrismaPromise = $Public.PrismaPromise /** * Validator */ export import validator = runtime.Public.validator /** * Prisma Errors */ export import PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export import PrismaClientInitializationError = runtime.PrismaClientInitializationError export import PrismaClientValidationError = runtime.PrismaClientValidationError /** * Re-export of sql-template-tag */ export import sql = runtime.sqltag export import empty = runtime.empty export import join = runtime.join export import raw = runtime.raw export import Sql = runtime.Sql /** * Decimal.js */ export import Decimal = runtime.Decimal export type DecimalJsLike = runtime.DecimalJsLike /** * 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: 7.8.0 * Query Engine version: 3c6e192761c0362d496ed980de936e2f3cebcd3a */ export type PrismaVersion = { client: string engine: string } export const prismaVersion: PrismaVersion /** * Utility Types */ export import Bytes = runtime.Bytes export import JsonObject = runtime.JsonObject export import JsonArray = runtime.JsonArray export import JsonValue = runtime.JsonValue export import InputJsonObject = runtime.InputJsonObject export import InputJsonArray = runtime.InputJsonArray export import InputJsonValue = runtime.InputJsonValue /** * Types of the values used to represent different kinds of `null` values when working with JSON fields. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ namespace NullTypes { /** * Type of `Prisma.DbNull`. * * You cannot use other instances of this class. Please use the `Prisma.DbNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class DbNull { private DbNull: never private constructor() } /** * Type of `Prisma.JsonNull`. * * You cannot use other instances of this class. Please use the `Prisma.JsonNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class JsonNull { private JsonNull: never private constructor() } /** * Type of `Prisma.AnyNull`. * * You cannot use other instances of this class. Please use the `Prisma.AnyNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class AnyNull { private AnyNull: never private constructor() } } /** * Helper for filtering JSON entries that have `null` on the database (empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const DbNull: NullTypes.DbNull /** * Helper for filtering JSON entries that have JSON `null` values (not empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const JsonNull: NullTypes.JsonNull /** * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull` * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const AnyNull: NullTypes.AnyNull type SelectAndInclude = { select: any include: any } type SelectAndOmit = { select: any omit: any } /** * Get the type of the value, that the Promise holds. */ export type PromiseType> = T extends PromiseLike ? U : T; /** * Get the return type of a function which returns a Promise. */ export type PromiseReturnType $Utils.JsPromise> = PromiseType> /** * From T, pick a set of properties whose keys are in the union K */ type Prisma__Pick = { [P in K]: T[P]; }; export type Enumerable = T | Array; export type RequiredKeys = { [K in keyof T]-?: {} extends Prisma__Pick ? never : K }[keyof T] export type TruthyKeys = keyof { [K in keyof T as T[K] extends false | undefined | null ? never : K]: K } export type TrueKeys = TruthyKeys>> /** * Subset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection */ export type Subset = { [key in keyof T]: key extends keyof U ? T[key] : never; }; /** * SelectSubset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection. * Additionally, it validates, if both select and include are present. If the case, it errors. */ export type SelectSubset = { [key in keyof T]: key extends keyof U ? T[key] : never } & (T extends SelectAndInclude ? 'Please either choose `select` or `include`.' : T extends SelectAndOmit ? 'Please either choose `select` or `omit`.' : {}) /** * Subset + Intersection * @desc From `T` pick properties that exist in `U` and intersect `K` */ export type SubsetIntersection = { [key in keyof T]: key extends keyof U ? T[key] : never } & K type Without = { [P in Exclude]?: never }; /** * XOR is needed to have a real mutually exclusive union type * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types */ type XOR = T extends object ? U extends object ? (Without & U) | (Without & T) : U : T /** * Is T a Record? */ type IsObject = T extends Array ? False : T extends Date ? False : T extends Uint8Array ? False : T extends BigInt ? False : T extends object ? True : False /** * If it's T[], return T */ export type UnEnumerate = T extends Array ? U : T /** * From ts-toolbelt */ type __Either = Omit & { // Merge all but K [P in K]: Prisma__Pick // With K possibilities }[K] type EitherStrict = Strict<__Either> type EitherLoose = ComputeRaw<__Either> type _Either< O extends object, K extends Key, strict extends Boolean > = { 1: EitherStrict 0: EitherLoose }[strict] type Either< O extends object, K extends Key, strict extends Boolean = 1 > = O extends unknown ? _Either : never export type Union = any type PatchUndefined = { [K in keyof O]: O[K] extends undefined ? At : O[K] } & {} /** Helper Types for "Merge" **/ export type IntersectOf = ( U extends unknown ? (k: U) => void : never ) extends (k: infer I) => void ? I : never export type Overwrite = { [K in keyof O]: K extends keyof O1 ? O1[K] : O[K]; } & {}; type _Merge = IntersectOf; }>>; type Key = string | number | symbol; type AtBasic = K extends keyof O ? O[K] : never; type AtStrict = O[K & keyof O]; type AtLoose = O extends unknown ? AtStrict : never; export type At = { 1: AtStrict; 0: AtLoose; }[strict]; export type ComputeRaw = A extends Function ? A : { [K in keyof A]: A[K]; } & {}; export type OptionalFlat = { [K in keyof O]?: O[K]; } & {}; type _Record = { [P in K]: T; }; // cause typescript not to expand types and preserve names type NoExpand = T extends unknown ? T : never; // this type assumes the passed object is entirely optional type AtLeast = NoExpand< O extends unknown ? | (K extends keyof O ? { [P in K]: O[P] } & O : O) | {[P in keyof O as P extends K ? P : never]-?: O[P]} & O : never>; type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; export type Strict = ComputeRaw<_Strict>; /** End Helper Types for "Merge" **/ export type Merge = ComputeRaw<_Merge>>; /** A [[Boolean]] */ export type Boolean = True | False // /** // 1 // */ export type True = 1 /** 0 */ export type False = 0 export type Not = { 0: 1 1: 0 }[B] export type Extends = [A1] extends [never] ? 0 // anything `never` is false : A1 extends A2 ? 1 : 0 export type Has = Not< Extends, U1> > export type Or = { 0: { 0: 0 1: 1 } 1: { 0: 1 1: 1 } }[B1][B2] export type Keys = U extends unknown ? keyof U : never type Cast = A extends B ? A : B; export const type: unique symbol; /** * Used by group by */ export type GetScalarType = O extends object ? { [P in keyof T]: P extends keyof O ? O[P] : never } : never type FieldPaths< T, U = Omit > = IsObject extends True ? U : T type GetHavingFields = { [K in keyof T]: Or< Or, Extends<'AND', K>>, Extends<'NOT', K> > extends True ? // infer is only needed to not hit TS limit // based on the brilliant idea of Pierre-Antoine Mills // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437 T[K] extends infer TK ? GetHavingFields extends object ? Merge> : never> : never : {} extends FieldPaths ? never : K }[keyof T] /** * Convert tuple to union */ type _TupleToUnion = T extends (infer E)[] ? E : never type TupleToUnion = _TupleToUnion type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T /** * Like `Pick`, but additionally can also accept an array of keys */ type PickEnumerable | keyof T> = Prisma__Pick> /** * Exclude all keys with underscores */ type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T export type FieldRef = runtime.FieldRef type FieldRefInputType = Model extends never ? never : FieldRef export const ModelName: { Place: 'Place', User: 'User', VoiceExperience: 'VoiceExperience' }; export type ModelName = (typeof ModelName)[keyof typeof ModelName] interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs }, $Utils.Record> { returns: Prisma.TypeMap } export type TypeMap = { globalOmitOptions: { omit: GlobalOmitOptions } meta: { modelProps: "place" | "user" | "voiceExperience" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { Place: { payload: Prisma.$PlacePayload fields: Prisma.PlaceFieldRefs operations: { findUnique: { args: Prisma.PlaceFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.PlaceFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.PlaceFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.PlaceFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.PlaceFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.PlaceCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.PlaceCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.PlaceCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.PlaceDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.PlaceUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.PlaceDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.PlaceUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.PlaceUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.PlaceUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.PlaceAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.PlaceGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.PlaceCountArgs result: $Utils.Optional | number } } } User: { payload: Prisma.$UserPayload fields: Prisma.UserFieldRefs operations: { findUnique: { args: Prisma.UserFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.UserFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.UserFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.UserFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.UserFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.UserCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.UserCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.UserCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.UserDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.UserUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.UserDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.UserUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.UserUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.UserUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.UserAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.UserGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.UserCountArgs result: $Utils.Optional | number } } } VoiceExperience: { payload: Prisma.$VoiceExperiencePayload fields: Prisma.VoiceExperienceFieldRefs operations: { findUnique: { args: Prisma.VoiceExperienceFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.VoiceExperienceFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.VoiceExperienceFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.VoiceExperienceFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.VoiceExperienceFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.VoiceExperienceCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.VoiceExperienceCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.VoiceExperienceCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.VoiceExperienceDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.VoiceExperienceUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.VoiceExperienceDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.VoiceExperienceUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.VoiceExperienceUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.VoiceExperienceUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.VoiceExperienceAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.VoiceExperienceGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.VoiceExperienceCountArgs 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 { /** * @default "colorless" */ errorFormat?: ErrorFormat /** * @example * ``` * // Shorthand for `emit: 'stdout'` * log: ['query', 'info', 'warn', 'error'] * * // Emit as events only * log: [ * { emit: 'event', level: 'query' }, * { emit: 'event', level: 'info' }, * { emit: 'event', level: 'warn' } * { emit: 'event', level: 'error' } * ] * * / Emit as events and log to stdout * og: [ * { emit: 'stdout', level: 'query' }, * { emit: 'stdout', level: 'info' }, * { emit: 'stdout', level: 'warn' } * { emit: 'stdout', level: 'error' } * * ``` * Read more in our [docs](https://pris.ly/d/logging). */ log?: (LogLevel | LogDefinition)[] /** * The default values for transactionOptions * maxWait ?= 2000 * timeout ?= 5000 */ transactionOptions?: { maxWait?: number timeout?: number isolationLevel?: Prisma.TransactionIsolationLevel } /** * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-planetscale` */ adapter?: runtime.SqlDriverAdapterFactory /** * Prisma Accelerate URL allowing the client to connect through Accelerate instead of a direct database. */ accelerateUrl?: string /** * Global configuration for omitting model fields by default. * * @example * ``` * const prisma = new PrismaClient({ * omit: { * user: { * password: true * } * } * }) * ``` */ omit?: Prisma.GlobalOmitConfig /** * SQL commenter plugins that add metadata to SQL queries as comments. * Comments follow the sqlcommenter format: https://google.github.io/sqlcommenter/ * * @example * ``` * const prisma = new PrismaClient({ * adapter, * comments: [ * traceContext(), * queryInsights(), * ], * }) * ``` */ comments?: runtime.SqlCommenterPlugin[] } export type GlobalOmitConfig = { place?: PlaceOmit user?: UserOmit voiceExperience?: VoiceExperienceOmit } /* Types for Logging */ export type LogLevel = 'info' | 'query' | 'warn' | 'error' export type LogDefinition = { level: LogLevel emit: 'stdout' | 'event' } export type CheckIsLogLevel = T extends LogLevel ? T : never; export type GetLogType = CheckIsLogLevel< T extends LogDefinition ? T['level'] : T >; export type GetEvents = T extends Array ? GetLogType : never; export type QueryEvent = { timestamp: Date query: string params: string duration: number target: string } export type LogEvent = { timestamp: Date message: string target: string } /* End Types for Logging */ export type PrismaAction = | 'findUnique' | 'findUniqueOrThrow' | 'findMany' | 'findFirst' | 'findFirstOrThrow' | 'create' | 'createMany' | 'createManyAndReturn' | 'update' | 'updateMany' | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' | 'executeRaw' | 'queryRaw' | 'aggregate' | 'count' | 'runCommandRaw' | 'findRaw' | 'groupBy' // tested in getLogLevel.test.ts export function getLogLevel(log: Array): LogLevel | undefined; /** * `PrismaClient` proxy available in interactive transactions. */ export type TransactionClient = Omit export type Datasource = { url?: string } /** * Count Types */ /** * Count Type PlaceCountOutputType */ export type PlaceCountOutputType = { experiences: number } export type PlaceCountOutputTypeSelect = { experiences?: boolean | PlaceCountOutputTypeCountExperiencesArgs } // Custom InputTypes /** * PlaceCountOutputType without action */ export type PlaceCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the PlaceCountOutputType */ select?: PlaceCountOutputTypeSelect | null } /** * PlaceCountOutputType without action */ export type PlaceCountOutputTypeCountExperiencesArgs = { where?: VoiceExperienceWhereInput } /** * Count Type UserCountOutputType */ export type UserCountOutputType = { voiceExperiences: number } export type UserCountOutputTypeSelect = { voiceExperiences?: boolean | UserCountOutputTypeCountVoiceExperiencesArgs } // Custom InputTypes /** * UserCountOutputType without action */ export type UserCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the UserCountOutputType */ select?: UserCountOutputTypeSelect | null } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountVoiceExperiencesArgs = { where?: VoiceExperienceWhereInput } /** * Models */ /** * Model Place */ export type AggregatePlace = { _count: PlaceCountAggregateOutputType | null _avg: PlaceAvgAggregateOutputType | null _sum: PlaceSumAggregateOutputType | null _min: PlaceMinAggregateOutputType | null _max: PlaceMaxAggregateOutputType | null } export type PlaceAvgAggregateOutputType = { latitude: number | null longitude: number | null } export type PlaceSumAggregateOutputType = { latitude: number | null longitude: number | null } export type PlaceMinAggregateOutputType = { id: string | null googlePlaceId: string | null name: string | null latitude: number | null longitude: number | null createdAt: Date | null updatedAt: Date | null } export type PlaceMaxAggregateOutputType = { id: string | null googlePlaceId: string | null name: string | null latitude: number | null longitude: number | null createdAt: Date | null updatedAt: Date | null } export type PlaceCountAggregateOutputType = { id: number googlePlaceId: number name: number latitude: number longitude: number createdAt: number updatedAt: number _all: number } export type PlaceAvgAggregateInputType = { latitude?: true longitude?: true } export type PlaceSumAggregateInputType = { latitude?: true longitude?: true } export type PlaceMinAggregateInputType = { id?: true googlePlaceId?: true name?: true latitude?: true longitude?: true createdAt?: true updatedAt?: true } export type PlaceMaxAggregateInputType = { id?: true googlePlaceId?: true name?: true latitude?: true longitude?: true createdAt?: true updatedAt?: true } export type PlaceCountAggregateInputType = { id?: true googlePlaceId?: true name?: true latitude?: true longitude?: true createdAt?: true updatedAt?: true _all?: true } export type PlaceAggregateArgs = { /** * Filter which Place to aggregate. */ where?: PlaceWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Places to fetch. */ orderBy?: PlaceOrderByWithRelationInput | PlaceOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: PlaceWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Places 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` Places. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Places **/ _count?: true | PlaceCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: PlaceAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: PlaceSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: PlaceMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: PlaceMaxAggregateInputType } export type GetPlaceAggregateType = { [P in keyof T & keyof AggregatePlace]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type PlaceGroupByArgs = { where?: PlaceWhereInput orderBy?: PlaceOrderByWithAggregationInput | PlaceOrderByWithAggregationInput[] by: PlaceScalarFieldEnum[] | PlaceScalarFieldEnum having?: PlaceScalarWhereWithAggregatesInput take?: number skip?: number _count?: PlaceCountAggregateInputType | true _avg?: PlaceAvgAggregateInputType _sum?: PlaceSumAggregateInputType _min?: PlaceMinAggregateInputType _max?: PlaceMaxAggregateInputType } export type PlaceGroupByOutputType = { id: string googlePlaceId: string name: string latitude: number longitude: number createdAt: Date updatedAt: Date _count: PlaceCountAggregateOutputType | null _avg: PlaceAvgAggregateOutputType | null _sum: PlaceSumAggregateOutputType | null _min: PlaceMinAggregateOutputType | null _max: PlaceMaxAggregateOutputType | null } type GetPlaceGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof PlaceGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type PlaceSelect = $Extensions.GetSelect<{ id?: boolean googlePlaceId?: boolean name?: boolean latitude?: boolean longitude?: boolean createdAt?: boolean updatedAt?: boolean experiences?: boolean | Place$experiencesArgs _count?: boolean | PlaceCountOutputTypeDefaultArgs }, ExtArgs["result"]["place"]> export type PlaceSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean googlePlaceId?: boolean name?: boolean latitude?: boolean longitude?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["place"]> export type PlaceSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean googlePlaceId?: boolean name?: boolean latitude?: boolean longitude?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["place"]> export type PlaceSelectScalar = { id?: boolean googlePlaceId?: boolean name?: boolean latitude?: boolean longitude?: boolean createdAt?: boolean updatedAt?: boolean } export type PlaceOmit = $Extensions.GetOmit<"id" | "googlePlaceId" | "name" | "latitude" | "longitude" | "createdAt" | "updatedAt", ExtArgs["result"]["place"]> export type PlaceInclude = { experiences?: boolean | Place$experiencesArgs _count?: boolean | PlaceCountOutputTypeDefaultArgs } export type PlaceIncludeCreateManyAndReturn = {} export type PlaceIncludeUpdateManyAndReturn = {} export type $PlacePayload = { name: "Place" objects: { experiences: Prisma.$VoiceExperiencePayload[] } scalars: $Extensions.GetPayloadResult<{ id: string googlePlaceId: string name: string latitude: number longitude: number createdAt: Date updatedAt: Date }, ExtArgs["result"]["place"]> composites: {} } type PlaceGetPayload = $Result.GetResult type PlaceCountArgs = Omit & { select?: PlaceCountAggregateInputType | true } export interface PlaceDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Place'], meta: { name: 'Place' } } /** * Find zero or one Place that matches the filter. * @param {PlaceFindUniqueArgs} args - Arguments to find a Place * @example * // Get one Place * const place = await prisma.place.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__PlaceClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Place that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {PlaceFindUniqueOrThrowArgs} args - Arguments to find a Place * @example * // Get one Place * const place = await prisma.place.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__PlaceClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Place 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 {PlaceFindFirstArgs} args - Arguments to find a Place * @example * // Get one Place * const place = await prisma.place.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__PlaceClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Place 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 {PlaceFindFirstOrThrowArgs} args - Arguments to find a Place * @example * // Get one Place * const place = await prisma.place.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__PlaceClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Places 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 {PlaceFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Places * const places = await prisma.place.findMany() * * // Get first 10 Places * const places = await prisma.place.findMany({ take: 10 }) * * // Only select the `id` * const placeWithIdOnly = await prisma.place.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a Place. * @param {PlaceCreateArgs} args - Arguments to create a Place. * @example * // Create one Place * const Place = await prisma.place.create({ * data: { * // ... data to create a Place * } * }) * */ create(args: SelectSubset>): Prisma__PlaceClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Places. * @param {PlaceCreateManyArgs} args - Arguments to create many Places. * @example * // Create many Places * const place = await prisma.place.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Places and returns the data saved in the database. * @param {PlaceCreateManyAndReturnArgs} args - Arguments to create many Places. * @example * // Create many Places * const place = await prisma.place.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Places and only return the `id` * const placeWithIdOnly = await prisma.place.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a Place. * @param {PlaceDeleteArgs} args - Arguments to delete one Place. * @example * // Delete one Place * const Place = await prisma.place.delete({ * where: { * // ... filter to delete one Place * } * }) * */ delete(args: SelectSubset>): Prisma__PlaceClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Place. * @param {PlaceUpdateArgs} args - Arguments to update one Place. * @example * // Update one Place * const place = await prisma.place.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__PlaceClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Places. * @param {PlaceDeleteManyArgs} args - Arguments to filter Places to delete. * @example * // Delete a few Places * const { count } = await prisma.place.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Places. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PlaceUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Places * const place = await prisma.place.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Places and returns the data updated in the database. * @param {PlaceUpdateManyAndReturnArgs} args - Arguments to update many Places. * @example * // Update many Places * const place = await prisma.place.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Places and only return the `id` * const placeWithIdOnly = await prisma.place.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one Place. * @param {PlaceUpsertArgs} args - Arguments to update or create a Place. * @example * // Update or create a Place * const place = await prisma.place.upsert({ * create: { * // ... data to create a Place * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Place we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__PlaceClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of Places. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PlaceCountArgs} args - Arguments to filter Places to count. * @example * // Count the number of Places * const count = await prisma.place.count({ * where: { * // ... the filter for the Places 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 Place. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PlaceAggregateArgs} 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 Place. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PlaceGroupByArgs} 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 PlaceGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: PlaceGroupByArgs['orderBy'] } : { orderBy?: PlaceGroupByArgs['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 ? GetPlaceGroupByPayload : Prisma.PrismaPromise /** * Fields of the Place model */ readonly fields: PlaceFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Place. * 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__PlaceClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" experiences = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the Place model */ interface PlaceFieldRefs { readonly id: FieldRef<"Place", 'String'> readonly googlePlaceId: FieldRef<"Place", 'String'> readonly name: FieldRef<"Place", 'String'> readonly latitude: FieldRef<"Place", 'Float'> readonly longitude: FieldRef<"Place", 'Float'> readonly createdAt: FieldRef<"Place", 'DateTime'> readonly updatedAt: FieldRef<"Place", 'DateTime'> } // Custom InputTypes /** * Place findUnique */ export type PlaceFindUniqueArgs = { /** * Select specific fields to fetch from the Place */ select?: PlaceSelect | null /** * Omit specific fields from the Place */ omit?: PlaceOmit | null /** * Choose, which related nodes to fetch as well */ include?: PlaceInclude | null /** * Filter, which Place to fetch. */ where: PlaceWhereUniqueInput } /** * Place findUniqueOrThrow */ export type PlaceFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Place */ select?: PlaceSelect | null /** * Omit specific fields from the Place */ omit?: PlaceOmit | null /** * Choose, which related nodes to fetch as well */ include?: PlaceInclude | null /** * Filter, which Place to fetch. */ where: PlaceWhereUniqueInput } /** * Place findFirst */ export type PlaceFindFirstArgs = { /** * Select specific fields to fetch from the Place */ select?: PlaceSelect | null /** * Omit specific fields from the Place */ omit?: PlaceOmit | null /** * Choose, which related nodes to fetch as well */ include?: PlaceInclude | null /** * Filter, which Place to fetch. */ where?: PlaceWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Places to fetch. */ orderBy?: PlaceOrderByWithRelationInput | PlaceOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Places. */ cursor?: PlaceWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Places 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` Places. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Places. */ distinct?: PlaceScalarFieldEnum | PlaceScalarFieldEnum[] } /** * Place findFirstOrThrow */ export type PlaceFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Place */ select?: PlaceSelect | null /** * Omit specific fields from the Place */ omit?: PlaceOmit | null /** * Choose, which related nodes to fetch as well */ include?: PlaceInclude | null /** * Filter, which Place to fetch. */ where?: PlaceWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Places to fetch. */ orderBy?: PlaceOrderByWithRelationInput | PlaceOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Places. */ cursor?: PlaceWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Places 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` Places. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Places. */ distinct?: PlaceScalarFieldEnum | PlaceScalarFieldEnum[] } /** * Place findMany */ export type PlaceFindManyArgs = { /** * Select specific fields to fetch from the Place */ select?: PlaceSelect | null /** * Omit specific fields from the Place */ omit?: PlaceOmit | null /** * Choose, which related nodes to fetch as well */ include?: PlaceInclude | null /** * Filter, which Places to fetch. */ where?: PlaceWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Places to fetch. */ orderBy?: PlaceOrderByWithRelationInput | PlaceOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Places. */ cursor?: PlaceWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Places 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` Places. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Places. */ distinct?: PlaceScalarFieldEnum | PlaceScalarFieldEnum[] } /** * Place create */ export type PlaceCreateArgs = { /** * Select specific fields to fetch from the Place */ select?: PlaceSelect | null /** * Omit specific fields from the Place */ omit?: PlaceOmit | null /** * Choose, which related nodes to fetch as well */ include?: PlaceInclude | null /** * The data needed to create a Place. */ data: XOR } /** * Place createMany */ export type PlaceCreateManyArgs = { /** * The data used to create many Places. */ data: PlaceCreateManyInput | PlaceCreateManyInput[] skipDuplicates?: boolean } /** * Place createManyAndReturn */ export type PlaceCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Place */ select?: PlaceSelectCreateManyAndReturn | null /** * Omit specific fields from the Place */ omit?: PlaceOmit | null /** * The data used to create many Places. */ data: PlaceCreateManyInput | PlaceCreateManyInput[] skipDuplicates?: boolean } /** * Place update */ export type PlaceUpdateArgs = { /** * Select specific fields to fetch from the Place */ select?: PlaceSelect | null /** * Omit specific fields from the Place */ omit?: PlaceOmit | null /** * Choose, which related nodes to fetch as well */ include?: PlaceInclude | null /** * The data needed to update a Place. */ data: XOR /** * Choose, which Place to update. */ where: PlaceWhereUniqueInput } /** * Place updateMany */ export type PlaceUpdateManyArgs = { /** * The data used to update Places. */ data: XOR /** * Filter which Places to update */ where?: PlaceWhereInput /** * Limit how many Places to update. */ limit?: number } /** * Place updateManyAndReturn */ export type PlaceUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Place */ select?: PlaceSelectUpdateManyAndReturn | null /** * Omit specific fields from the Place */ omit?: PlaceOmit | null /** * The data used to update Places. */ data: XOR /** * Filter which Places to update */ where?: PlaceWhereInput /** * Limit how many Places to update. */ limit?: number } /** * Place upsert */ export type PlaceUpsertArgs = { /** * Select specific fields to fetch from the Place */ select?: PlaceSelect | null /** * Omit specific fields from the Place */ omit?: PlaceOmit | null /** * Choose, which related nodes to fetch as well */ include?: PlaceInclude | null /** * The filter to search for the Place to update in case it exists. */ where: PlaceWhereUniqueInput /** * In case the Place found by the `where` argument doesn't exist, create a new Place with this data. */ create: XOR /** * In case the Place was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Place delete */ export type PlaceDeleteArgs = { /** * Select specific fields to fetch from the Place */ select?: PlaceSelect | null /** * Omit specific fields from the Place */ omit?: PlaceOmit | null /** * Choose, which related nodes to fetch as well */ include?: PlaceInclude | null /** * Filter which Place to delete. */ where: PlaceWhereUniqueInput } /** * Place deleteMany */ export type PlaceDeleteManyArgs = { /** * Filter which Places to delete */ where?: PlaceWhereInput /** * Limit how many Places to delete. */ limit?: number } /** * Place.experiences */ export type Place$experiencesArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelect | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceInclude | null where?: VoiceExperienceWhereInput orderBy?: VoiceExperienceOrderByWithRelationInput | VoiceExperienceOrderByWithRelationInput[] cursor?: VoiceExperienceWhereUniqueInput take?: number skip?: number distinct?: VoiceExperienceScalarFieldEnum | VoiceExperienceScalarFieldEnum[] } /** * Place without action */ export type PlaceDefaultArgs = { /** * Select specific fields to fetch from the Place */ select?: PlaceSelect | null /** * Omit specific fields from the Place */ omit?: PlaceOmit | null /** * Choose, which related nodes to fetch as well */ include?: PlaceInclude | null } /** * Model User */ export type AggregateUser = { _count: UserCountAggregateOutputType | null _min: UserMinAggregateOutputType | null _max: UserMaxAggregateOutputType | null } export type UserMinAggregateOutputType = { id: string | null telegramId: string | null username: string | null firstName: string | null lastName: string | null photoUrl: string | null languageCode: string | null createdAt: Date | null updatedAt: Date | null } export type UserMaxAggregateOutputType = { id: string | null telegramId: string | null username: string | null firstName: string | null lastName: string | null photoUrl: string | null languageCode: string | null createdAt: Date | null updatedAt: Date | null } export type UserCountAggregateOutputType = { id: number telegramId: number username: number firstName: number lastName: number photoUrl: number languageCode: number createdAt: number updatedAt: number _all: number } export type UserMinAggregateInputType = { id?: true telegramId?: true username?: true firstName?: true lastName?: true photoUrl?: true languageCode?: true createdAt?: true updatedAt?: true } export type UserMaxAggregateInputType = { id?: true telegramId?: true username?: true firstName?: true lastName?: true photoUrl?: true languageCode?: true createdAt?: true updatedAt?: true } export type UserCountAggregateInputType = { id?: true telegramId?: true username?: true firstName?: true lastName?: true photoUrl?: true languageCode?: true createdAt?: true updatedAt?: true _all?: true } export type UserAggregateArgs = { /** * Filter which User to aggregate. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Users **/ _count?: true | UserCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: UserMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: UserMaxAggregateInputType } export type GetUserAggregateType = { [P in keyof T & keyof AggregateUser]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type UserGroupByArgs = { where?: UserWhereInput orderBy?: UserOrderByWithAggregationInput | UserOrderByWithAggregationInput[] by: UserScalarFieldEnum[] | UserScalarFieldEnum having?: UserScalarWhereWithAggregatesInput take?: number skip?: number _count?: UserCountAggregateInputType | true _min?: UserMinAggregateInputType _max?: UserMaxAggregateInputType } export type UserGroupByOutputType = { id: string telegramId: string username: string | null firstName: string | null lastName: string | null photoUrl: string | null languageCode: string | null createdAt: Date updatedAt: Date _count: UserCountAggregateOutputType | null _min: UserMinAggregateOutputType | null _max: UserMaxAggregateOutputType | null } type GetUserGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof UserGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type UserSelect = $Extensions.GetSelect<{ id?: boolean telegramId?: boolean username?: boolean firstName?: boolean lastName?: boolean photoUrl?: boolean languageCode?: boolean createdAt?: boolean updatedAt?: boolean voiceExperiences?: boolean | User$voiceExperiencesArgs _count?: boolean | UserCountOutputTypeDefaultArgs }, ExtArgs["result"]["user"]> export type UserSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean telegramId?: boolean username?: boolean firstName?: boolean lastName?: boolean photoUrl?: boolean languageCode?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["user"]> export type UserSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean telegramId?: boolean username?: boolean firstName?: boolean lastName?: boolean photoUrl?: boolean languageCode?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["user"]> export type UserSelectScalar = { id?: boolean telegramId?: boolean username?: boolean firstName?: boolean lastName?: boolean photoUrl?: boolean languageCode?: boolean createdAt?: boolean updatedAt?: boolean } export type UserOmit = $Extensions.GetOmit<"id" | "telegramId" | "username" | "firstName" | "lastName" | "photoUrl" | "languageCode" | "createdAt" | "updatedAt", ExtArgs["result"]["user"]> export type UserInclude = { voiceExperiences?: boolean | User$voiceExperiencesArgs _count?: boolean | UserCountOutputTypeDefaultArgs } export type UserIncludeCreateManyAndReturn = {} export type UserIncludeUpdateManyAndReturn = {} export type $UserPayload = { name: "User" objects: { voiceExperiences: Prisma.$VoiceExperiencePayload[] } scalars: $Extensions.GetPayloadResult<{ id: string telegramId: string username: string | null firstName: string | null lastName: string | null photoUrl: string | null languageCode: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["user"]> composites: {} } type UserGetPayload = $Result.GetResult type UserCountArgs = Omit & { select?: UserCountAggregateInputType | true } export interface UserDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['User'], meta: { name: 'User' } } /** * Find zero or one User that matches the filter. * @param {UserFindUniqueArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one User that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {UserFindUniqueOrThrowArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first User that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserFindFirstArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first User that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserFindFirstOrThrowArgs} args - Arguments to find a User * @example * // Get one User * const user = await prisma.user.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Users that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Users * const users = await prisma.user.findMany() * * // Get first 10 Users * const users = await prisma.user.findMany({ take: 10 }) * * // Only select the `id` * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a User. * @param {UserCreateArgs} args - Arguments to create a User. * @example * // Create one User * const User = await prisma.user.create({ * data: { * // ... data to create a User * } * }) * */ create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Users. * @param {UserCreateManyArgs} args - Arguments to create many Users. * @example * // Create many Users * const user = await prisma.user.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Users and returns the data saved in the database. * @param {UserCreateManyAndReturnArgs} args - Arguments to create many Users. * @example * // Create many Users * const user = await prisma.user.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Users and only return the `id` * const userWithIdOnly = await prisma.user.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a User. * @param {UserDeleteArgs} args - Arguments to delete one User. * @example * // Delete one User * const User = await prisma.user.delete({ * where: { * // ... filter to delete one User * } * }) * */ delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one User. * @param {UserUpdateArgs} args - Arguments to update one User. * @example * // Update one User * const user = await prisma.user.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Users. * @param {UserDeleteManyArgs} args - Arguments to filter Users to delete. * @example * // Delete a few Users * const { count } = await prisma.user.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Users. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Users * const user = await prisma.user.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Users and returns the data updated in the database. * @param {UserUpdateManyAndReturnArgs} args - Arguments to update many Users. * @example * // Update many Users * const user = await prisma.user.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Users and only return the `id` * const userWithIdOnly = await prisma.user.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one User. * @param {UserUpsertArgs} args - Arguments to update or create a User. * @example * // Update or create a User * const user = await prisma.user.upsert({ * create: { * // ... data to create a User * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the User we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of Users. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserCountArgs} args - Arguments to filter Users to count. * @example * // Count the number of Users * const count = await prisma.user.count({ * where: { * // ... the filter for the Users we want to count * } * }) **/ count( args?: Subset, ): Prisma.PrismaPromise< T extends $Utils.Record<'select', any> ? T['select'] extends true ? number : GetScalarType : number > /** * Allows you to perform aggregations operations on a User. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Subset): Prisma.PrismaPromise> /** * Group by User. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {UserGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends UserGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: UserGroupByArgs['orderBy'] } : { orderBy?: UserGroupByArgs['orderBy'] }, OrderFields extends ExcludeUnderscoreKeys>>, ByFields extends MaybeTupleToUnion, ByValid extends Has, HavingFields extends GetHavingFields, HavingValid extends Has, ByEmpty extends T['by'] extends never[] ? True : False, InputErrors extends ByEmpty extends True ? `Error: "by" must not be empty.` : HavingValid extends False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Keys ? 'orderBy' extends Keys ? ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetUserGroupByPayload : Prisma.PrismaPromise /** * Fields of the User model */ readonly fields: UserFieldRefs; } /** * The delegate class that acts as a "Promise-like" for User. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__UserClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" voiceExperiences = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the User model */ interface UserFieldRefs { readonly id: FieldRef<"User", 'String'> readonly telegramId: FieldRef<"User", 'String'> readonly username: FieldRef<"User", 'String'> readonly firstName: FieldRef<"User", 'String'> readonly lastName: FieldRef<"User", 'String'> readonly photoUrl: FieldRef<"User", 'String'> readonly languageCode: FieldRef<"User", 'String'> readonly createdAt: FieldRef<"User", 'DateTime'> readonly updatedAt: FieldRef<"User", 'DateTime'> } // Custom InputTypes /** * User findUnique */ export type UserFindUniqueArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findUniqueOrThrow */ export type UserFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findFirst */ export type UserFindFirstArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Users. */ distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User findFirstOrThrow */ export type UserFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Users. */ distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User findMany */ export type UserFindManyArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which Users to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Users. */ distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User create */ export type UserCreateArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The data needed to create a User. */ data: XOR } /** * User createMany */ export type UserCreateManyArgs = { /** * The data used to create many Users. */ data: UserCreateManyInput | UserCreateManyInput[] skipDuplicates?: boolean } /** * User createManyAndReturn */ export type UserCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelectCreateManyAndReturn | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * The data used to create many Users. */ data: UserCreateManyInput | UserCreateManyInput[] skipDuplicates?: boolean } /** * User update */ export type UserUpdateArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The data needed to update a User. */ data: XOR /** * Choose, which User to update. */ where: UserWhereUniqueInput } /** * User updateMany */ export type UserUpdateManyArgs = { /** * The data used to update Users. */ data: XOR /** * Filter which Users to update */ where?: UserWhereInput /** * Limit how many Users to update. */ limit?: number } /** * User updateManyAndReturn */ export type UserUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelectUpdateManyAndReturn | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * The data used to update Users. */ data: XOR /** * Filter which Users to update */ where?: UserWhereInput /** * Limit how many Users to update. */ limit?: number } /** * User upsert */ export type UserUpsertArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The filter to search for the User to update in case it exists. */ where: UserWhereUniqueInput /** * In case the User found by the `where` argument doesn't exist, create a new User with this data. */ create: XOR /** * In case the User was found with the provided `where` argument, update it with this data. */ update: XOR } /** * User delete */ export type UserDeleteArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter which User to delete. */ where: UserWhereUniqueInput } /** * User deleteMany */ export type UserDeleteManyArgs = { /** * Filter which Users to delete */ where?: UserWhereInput /** * Limit how many Users to delete. */ limit?: number } /** * User.voiceExperiences */ export type User$voiceExperiencesArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelect | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceInclude | null where?: VoiceExperienceWhereInput orderBy?: VoiceExperienceOrderByWithRelationInput | VoiceExperienceOrderByWithRelationInput[] cursor?: VoiceExperienceWhereUniqueInput take?: number skip?: number distinct?: VoiceExperienceScalarFieldEnum | VoiceExperienceScalarFieldEnum[] } /** * User without action */ export type UserDefaultArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null } /** * Model VoiceExperience */ export type AggregateVoiceExperience = { _count: VoiceExperienceCountAggregateOutputType | null _avg: VoiceExperienceAvgAggregateOutputType | null _sum: VoiceExperienceSumAggregateOutputType | null _min: VoiceExperienceMinAggregateOutputType | null _max: VoiceExperienceMaxAggregateOutputType | null } export type VoiceExperienceAvgAggregateOutputType = { durationSeconds: number | null } export type VoiceExperienceSumAggregateOutputType = { durationSeconds: number | null } export type VoiceExperienceMinAggregateOutputType = { id: string | null placeId: string | null userId: string | null durationSeconds: number | null audioObjectKey: string | null status: $Enums.VoiceExperienceStatus | null transcript: string | null createdAt: Date | null updatedAt: Date | null } export type VoiceExperienceMaxAggregateOutputType = { id: string | null placeId: string | null userId: string | null durationSeconds: number | null audioObjectKey: string | null status: $Enums.VoiceExperienceStatus | null transcript: string | null createdAt: Date | null updatedAt: Date | null } export type VoiceExperienceCountAggregateOutputType = { id: number placeId: number userId: number durationSeconds: number audioObjectKey: number status: number transcript: number analysis: number createdAt: number updatedAt: number _all: number } export type VoiceExperienceAvgAggregateInputType = { durationSeconds?: true } export type VoiceExperienceSumAggregateInputType = { durationSeconds?: true } export type VoiceExperienceMinAggregateInputType = { id?: true placeId?: true userId?: true durationSeconds?: true audioObjectKey?: true status?: true transcript?: true createdAt?: true updatedAt?: true } export type VoiceExperienceMaxAggregateInputType = { id?: true placeId?: true userId?: true durationSeconds?: true audioObjectKey?: true status?: true transcript?: true createdAt?: true updatedAt?: true } export type VoiceExperienceCountAggregateInputType = { id?: true placeId?: true userId?: true durationSeconds?: true audioObjectKey?: true status?: true transcript?: true analysis?: true createdAt?: true updatedAt?: true _all?: true } export type VoiceExperienceAggregateArgs = { /** * Filter which VoiceExperience to aggregate. */ where?: VoiceExperienceWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VoiceExperiences to fetch. */ orderBy?: VoiceExperienceOrderByWithRelationInput | VoiceExperienceOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: VoiceExperienceWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VoiceExperiences 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` VoiceExperiences. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned VoiceExperiences **/ _count?: true | VoiceExperienceCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: VoiceExperienceAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: VoiceExperienceSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: VoiceExperienceMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: VoiceExperienceMaxAggregateInputType } export type GetVoiceExperienceAggregateType = { [P in keyof T & keyof AggregateVoiceExperience]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type VoiceExperienceGroupByArgs = { where?: VoiceExperienceWhereInput orderBy?: VoiceExperienceOrderByWithAggregationInput | VoiceExperienceOrderByWithAggregationInput[] by: VoiceExperienceScalarFieldEnum[] | VoiceExperienceScalarFieldEnum having?: VoiceExperienceScalarWhereWithAggregatesInput take?: number skip?: number _count?: VoiceExperienceCountAggregateInputType | true _avg?: VoiceExperienceAvgAggregateInputType _sum?: VoiceExperienceSumAggregateInputType _min?: VoiceExperienceMinAggregateInputType _max?: VoiceExperienceMaxAggregateInputType } export type VoiceExperienceGroupByOutputType = { id: string placeId: string userId: string | null durationSeconds: number audioObjectKey: string status: $Enums.VoiceExperienceStatus transcript: string | null analysis: JsonValue | null createdAt: Date updatedAt: Date _count: VoiceExperienceCountAggregateOutputType | null _avg: VoiceExperienceAvgAggregateOutputType | null _sum: VoiceExperienceSumAggregateOutputType | null _min: VoiceExperienceMinAggregateOutputType | null _max: VoiceExperienceMaxAggregateOutputType | null } type GetVoiceExperienceGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof VoiceExperienceGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type VoiceExperienceSelect = $Extensions.GetSelect<{ id?: boolean placeId?: boolean userId?: boolean durationSeconds?: boolean audioObjectKey?: boolean status?: boolean transcript?: boolean analysis?: boolean createdAt?: boolean updatedAt?: boolean place?: boolean | PlaceDefaultArgs user?: boolean | VoiceExperience$userArgs }, ExtArgs["result"]["voiceExperience"]> export type VoiceExperienceSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean placeId?: boolean userId?: boolean durationSeconds?: boolean audioObjectKey?: boolean status?: boolean transcript?: boolean analysis?: boolean createdAt?: boolean updatedAt?: boolean place?: boolean | PlaceDefaultArgs user?: boolean | VoiceExperience$userArgs }, ExtArgs["result"]["voiceExperience"]> export type VoiceExperienceSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean placeId?: boolean userId?: boolean durationSeconds?: boolean audioObjectKey?: boolean status?: boolean transcript?: boolean analysis?: boolean createdAt?: boolean updatedAt?: boolean place?: boolean | PlaceDefaultArgs user?: boolean | VoiceExperience$userArgs }, ExtArgs["result"]["voiceExperience"]> export type VoiceExperienceSelectScalar = { id?: boolean placeId?: boolean userId?: boolean durationSeconds?: boolean audioObjectKey?: boolean status?: boolean transcript?: boolean analysis?: boolean createdAt?: boolean updatedAt?: boolean } export type VoiceExperienceOmit = $Extensions.GetOmit<"id" | "placeId" | "userId" | "durationSeconds" | "audioObjectKey" | "status" | "transcript" | "analysis" | "createdAt" | "updatedAt", ExtArgs["result"]["voiceExperience"]> export type VoiceExperienceInclude = { place?: boolean | PlaceDefaultArgs user?: boolean | VoiceExperience$userArgs } export type VoiceExperienceIncludeCreateManyAndReturn = { place?: boolean | PlaceDefaultArgs user?: boolean | VoiceExperience$userArgs } export type VoiceExperienceIncludeUpdateManyAndReturn = { place?: boolean | PlaceDefaultArgs user?: boolean | VoiceExperience$userArgs } export type $VoiceExperiencePayload = { name: "VoiceExperience" objects: { place: Prisma.$PlacePayload user: Prisma.$UserPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string placeId: string userId: string | null durationSeconds: number audioObjectKey: string status: $Enums.VoiceExperienceStatus transcript: string | null analysis: Prisma.JsonValue | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["voiceExperience"]> composites: {} } type VoiceExperienceGetPayload = $Result.GetResult type VoiceExperienceCountArgs = Omit & { select?: VoiceExperienceCountAggregateInputType | true } export interface VoiceExperienceDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['VoiceExperience'], meta: { name: 'VoiceExperience' } } /** * Find zero or one VoiceExperience that matches the filter. * @param {VoiceExperienceFindUniqueArgs} args - Arguments to find a VoiceExperience * @example * // Get one VoiceExperience * const voiceExperience = await prisma.voiceExperience.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__VoiceExperienceClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one VoiceExperience that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {VoiceExperienceFindUniqueOrThrowArgs} args - Arguments to find a VoiceExperience * @example * // Get one VoiceExperience * const voiceExperience = await prisma.voiceExperience.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__VoiceExperienceClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first VoiceExperience 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 {VoiceExperienceFindFirstArgs} args - Arguments to find a VoiceExperience * @example * // Get one VoiceExperience * const voiceExperience = await prisma.voiceExperience.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__VoiceExperienceClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first VoiceExperience 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 {VoiceExperienceFindFirstOrThrowArgs} args - Arguments to find a VoiceExperience * @example * // Get one VoiceExperience * const voiceExperience = await prisma.voiceExperience.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__VoiceExperienceClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more VoiceExperiences 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 {VoiceExperienceFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all VoiceExperiences * const voiceExperiences = await prisma.voiceExperience.findMany() * * // Get first 10 VoiceExperiences * const voiceExperiences = await prisma.voiceExperience.findMany({ take: 10 }) * * // Only select the `id` * const voiceExperienceWithIdOnly = await prisma.voiceExperience.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a VoiceExperience. * @param {VoiceExperienceCreateArgs} args - Arguments to create a VoiceExperience. * @example * // Create one VoiceExperience * const VoiceExperience = await prisma.voiceExperience.create({ * data: { * // ... data to create a VoiceExperience * } * }) * */ create(args: SelectSubset>): Prisma__VoiceExperienceClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many VoiceExperiences. * @param {VoiceExperienceCreateManyArgs} args - Arguments to create many VoiceExperiences. * @example * // Create many VoiceExperiences * const voiceExperience = await prisma.voiceExperience.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many VoiceExperiences and returns the data saved in the database. * @param {VoiceExperienceCreateManyAndReturnArgs} args - Arguments to create many VoiceExperiences. * @example * // Create many VoiceExperiences * const voiceExperience = await prisma.voiceExperience.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many VoiceExperiences and only return the `id` * const voiceExperienceWithIdOnly = await prisma.voiceExperience.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a VoiceExperience. * @param {VoiceExperienceDeleteArgs} args - Arguments to delete one VoiceExperience. * @example * // Delete one VoiceExperience * const VoiceExperience = await prisma.voiceExperience.delete({ * where: { * // ... filter to delete one VoiceExperience * } * }) * */ delete(args: SelectSubset>): Prisma__VoiceExperienceClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one VoiceExperience. * @param {VoiceExperienceUpdateArgs} args - Arguments to update one VoiceExperience. * @example * // Update one VoiceExperience * const voiceExperience = await prisma.voiceExperience.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__VoiceExperienceClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more VoiceExperiences. * @param {VoiceExperienceDeleteManyArgs} args - Arguments to filter VoiceExperiences to delete. * @example * // Delete a few VoiceExperiences * const { count } = await prisma.voiceExperience.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more VoiceExperiences. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceExperienceUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many VoiceExperiences * const voiceExperience = await prisma.voiceExperience.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more VoiceExperiences and returns the data updated in the database. * @param {VoiceExperienceUpdateManyAndReturnArgs} args - Arguments to update many VoiceExperiences. * @example * // Update many VoiceExperiences * const voiceExperience = await prisma.voiceExperience.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more VoiceExperiences and only return the `id` * const voiceExperienceWithIdOnly = await prisma.voiceExperience.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one VoiceExperience. * @param {VoiceExperienceUpsertArgs} args - Arguments to update or create a VoiceExperience. * @example * // Update or create a VoiceExperience * const voiceExperience = await prisma.voiceExperience.upsert({ * create: { * // ... data to create a VoiceExperience * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the VoiceExperience we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__VoiceExperienceClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of VoiceExperiences. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceExperienceCountArgs} args - Arguments to filter VoiceExperiences to count. * @example * // Count the number of VoiceExperiences * const count = await prisma.voiceExperience.count({ * where: { * // ... the filter for the VoiceExperiences 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 VoiceExperience. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceExperienceAggregateArgs} 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 VoiceExperience. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {VoiceExperienceGroupByArgs} 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 VoiceExperienceGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: VoiceExperienceGroupByArgs['orderBy'] } : { orderBy?: VoiceExperienceGroupByArgs['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 ? GetVoiceExperienceGroupByPayload : Prisma.PrismaPromise /** * Fields of the VoiceExperience model */ readonly fields: VoiceExperienceFieldRefs; } /** * The delegate class that acts as a "Promise-like" for VoiceExperience. * 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__VoiceExperienceClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" place = {}>(args?: Subset>): Prisma__PlaceClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise } /** * Fields of the VoiceExperience model */ interface VoiceExperienceFieldRefs { readonly id: FieldRef<"VoiceExperience", 'String'> readonly placeId: FieldRef<"VoiceExperience", 'String'> readonly userId: FieldRef<"VoiceExperience", 'String'> readonly durationSeconds: FieldRef<"VoiceExperience", 'Int'> readonly audioObjectKey: FieldRef<"VoiceExperience", 'String'> readonly status: FieldRef<"VoiceExperience", 'VoiceExperienceStatus'> readonly transcript: FieldRef<"VoiceExperience", 'String'> readonly analysis: FieldRef<"VoiceExperience", 'Json'> readonly createdAt: FieldRef<"VoiceExperience", 'DateTime'> readonly updatedAt: FieldRef<"VoiceExperience", 'DateTime'> } // Custom InputTypes /** * VoiceExperience findUnique */ export type VoiceExperienceFindUniqueArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelect | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceInclude | null /** * Filter, which VoiceExperience to fetch. */ where: VoiceExperienceWhereUniqueInput } /** * VoiceExperience findUniqueOrThrow */ export type VoiceExperienceFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelect | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceInclude | null /** * Filter, which VoiceExperience to fetch. */ where: VoiceExperienceWhereUniqueInput } /** * VoiceExperience findFirst */ export type VoiceExperienceFindFirstArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelect | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceInclude | null /** * Filter, which VoiceExperience to fetch. */ where?: VoiceExperienceWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VoiceExperiences to fetch. */ orderBy?: VoiceExperienceOrderByWithRelationInput | VoiceExperienceOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for VoiceExperiences. */ cursor?: VoiceExperienceWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VoiceExperiences 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` VoiceExperiences. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of VoiceExperiences. */ distinct?: VoiceExperienceScalarFieldEnum | VoiceExperienceScalarFieldEnum[] } /** * VoiceExperience findFirstOrThrow */ export type VoiceExperienceFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelect | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceInclude | null /** * Filter, which VoiceExperience to fetch. */ where?: VoiceExperienceWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VoiceExperiences to fetch. */ orderBy?: VoiceExperienceOrderByWithRelationInput | VoiceExperienceOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for VoiceExperiences. */ cursor?: VoiceExperienceWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VoiceExperiences 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` VoiceExperiences. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of VoiceExperiences. */ distinct?: VoiceExperienceScalarFieldEnum | VoiceExperienceScalarFieldEnum[] } /** * VoiceExperience findMany */ export type VoiceExperienceFindManyArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelect | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceInclude | null /** * Filter, which VoiceExperiences to fetch. */ where?: VoiceExperienceWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of VoiceExperiences to fetch. */ orderBy?: VoiceExperienceOrderByWithRelationInput | VoiceExperienceOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing VoiceExperiences. */ cursor?: VoiceExperienceWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` VoiceExperiences 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` VoiceExperiences. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of VoiceExperiences. */ distinct?: VoiceExperienceScalarFieldEnum | VoiceExperienceScalarFieldEnum[] } /** * VoiceExperience create */ export type VoiceExperienceCreateArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelect | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceInclude | null /** * The data needed to create a VoiceExperience. */ data: XOR } /** * VoiceExperience createMany */ export type VoiceExperienceCreateManyArgs = { /** * The data used to create many VoiceExperiences. */ data: VoiceExperienceCreateManyInput | VoiceExperienceCreateManyInput[] skipDuplicates?: boolean } /** * VoiceExperience createManyAndReturn */ export type VoiceExperienceCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelectCreateManyAndReturn | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * The data used to create many VoiceExperiences. */ data: VoiceExperienceCreateManyInput | VoiceExperienceCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceIncludeCreateManyAndReturn | null } /** * VoiceExperience update */ export type VoiceExperienceUpdateArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelect | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceInclude | null /** * The data needed to update a VoiceExperience. */ data: XOR /** * Choose, which VoiceExperience to update. */ where: VoiceExperienceWhereUniqueInput } /** * VoiceExperience updateMany */ export type VoiceExperienceUpdateManyArgs = { /** * The data used to update VoiceExperiences. */ data: XOR /** * Filter which VoiceExperiences to update */ where?: VoiceExperienceWhereInput /** * Limit how many VoiceExperiences to update. */ limit?: number } /** * VoiceExperience updateManyAndReturn */ export type VoiceExperienceUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelectUpdateManyAndReturn | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * The data used to update VoiceExperiences. */ data: XOR /** * Filter which VoiceExperiences to update */ where?: VoiceExperienceWhereInput /** * Limit how many VoiceExperiences to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceIncludeUpdateManyAndReturn | null } /** * VoiceExperience upsert */ export type VoiceExperienceUpsertArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelect | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceInclude | null /** * The filter to search for the VoiceExperience to update in case it exists. */ where: VoiceExperienceWhereUniqueInput /** * In case the VoiceExperience found by the `where` argument doesn't exist, create a new VoiceExperience with this data. */ create: XOR /** * In case the VoiceExperience was found with the provided `where` argument, update it with this data. */ update: XOR } /** * VoiceExperience delete */ export type VoiceExperienceDeleteArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelect | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceInclude | null /** * Filter which VoiceExperience to delete. */ where: VoiceExperienceWhereUniqueInput } /** * VoiceExperience deleteMany */ export type VoiceExperienceDeleteManyArgs = { /** * Filter which VoiceExperiences to delete */ where?: VoiceExperienceWhereInput /** * Limit how many VoiceExperiences to delete. */ limit?: number } /** * VoiceExperience.user */ export type VoiceExperience$userArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null where?: UserWhereInput } /** * VoiceExperience without action */ export type VoiceExperienceDefaultArgs = { /** * Select specific fields to fetch from the VoiceExperience */ select?: VoiceExperienceSelect | null /** * Omit specific fields from the VoiceExperience */ omit?: VoiceExperienceOmit | null /** * Choose, which related nodes to fetch as well */ include?: VoiceExperienceInclude | null } /** * Enums */ export const TransactionIsolationLevel: { ReadUncommitted: 'ReadUncommitted', ReadCommitted: 'ReadCommitted', RepeatableRead: 'RepeatableRead', Serializable: 'Serializable' }; export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] export const PlaceScalarFieldEnum: { id: 'id', googlePlaceId: 'googlePlaceId', name: 'name', latitude: 'latitude', longitude: 'longitude', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type PlaceScalarFieldEnum = (typeof PlaceScalarFieldEnum)[keyof typeof PlaceScalarFieldEnum] export const UserScalarFieldEnum: { id: 'id', telegramId: 'telegramId', username: 'username', firstName: 'firstName', lastName: 'lastName', photoUrl: 'photoUrl', languageCode: 'languageCode', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] export const VoiceExperienceScalarFieldEnum: { id: 'id', placeId: 'placeId', userId: 'userId', durationSeconds: 'durationSeconds', audioObjectKey: 'audioObjectKey', status: 'status', transcript: 'transcript', analysis: 'analysis', createdAt: 'createdAt', updatedAt: 'updatedAt' }; export type VoiceExperienceScalarFieldEnum = (typeof VoiceExperienceScalarFieldEnum)[keyof typeof VoiceExperienceScalarFieldEnum] export const SortOrder: { asc: 'asc', desc: 'desc' }; export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] export const NullableJsonNullValueInput: { DbNull: typeof DbNull, JsonNull: typeof JsonNull }; export type NullableJsonNullValueInput = (typeof NullableJsonNullValueInput)[keyof typeof NullableJsonNullValueInput] export const QueryMode: { default: 'default', insensitive: 'insensitive' }; export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] export const NullsOrder: { first: 'first', last: 'last' }; export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder] export const JsonNullValueFilter: { DbNull: typeof DbNull, JsonNull: typeof JsonNull, AnyNull: typeof AnyNull }; export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter] /** * Field references */ /** * Reference to a field of type 'String' */ export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String'> /** * Reference to a field of type 'String[]' */ export type ListStringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String[]'> /** * Reference to a field of type 'Float' */ export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> /** * Reference to a field of type 'Float[]' */ export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'> /** * Reference to a field of type 'DateTime' */ export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> /** * Reference to a field of type 'DateTime[]' */ export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'> /** * Reference to a field of type 'Int' */ export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'> /** * Reference to a field of type 'Int[]' */ export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int[]'> /** * Reference to a field of type 'VoiceExperienceStatus' */ export type EnumVoiceExperienceStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'VoiceExperienceStatus'> /** * Reference to a field of type 'VoiceExperienceStatus[]' */ export type ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'VoiceExperienceStatus[]'> /** * Reference to a field of type 'Json' */ export type JsonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Json'> /** * Reference to a field of type 'QueryMode' */ export type EnumQueryModeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'QueryMode'> /** * Deep Input Types */ export type PlaceWhereInput = { AND?: PlaceWhereInput | PlaceWhereInput[] OR?: PlaceWhereInput[] NOT?: PlaceWhereInput | PlaceWhereInput[] id?: StringFilter<"Place"> | string googlePlaceId?: StringFilter<"Place"> | string name?: StringFilter<"Place"> | string latitude?: FloatFilter<"Place"> | number longitude?: FloatFilter<"Place"> | number createdAt?: DateTimeFilter<"Place"> | Date | string updatedAt?: DateTimeFilter<"Place"> | Date | string experiences?: VoiceExperienceListRelationFilter } export type PlaceOrderByWithRelationInput = { id?: SortOrder googlePlaceId?: SortOrder name?: SortOrder latitude?: SortOrder longitude?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder experiences?: VoiceExperienceOrderByRelationAggregateInput } export type PlaceWhereUniqueInput = Prisma.AtLeast<{ id?: string googlePlaceId?: string AND?: PlaceWhereInput | PlaceWhereInput[] OR?: PlaceWhereInput[] NOT?: PlaceWhereInput | PlaceWhereInput[] name?: StringFilter<"Place"> | string latitude?: FloatFilter<"Place"> | number longitude?: FloatFilter<"Place"> | number createdAt?: DateTimeFilter<"Place"> | Date | string updatedAt?: DateTimeFilter<"Place"> | Date | string experiences?: VoiceExperienceListRelationFilter }, "id" | "googlePlaceId"> export type PlaceOrderByWithAggregationInput = { id?: SortOrder googlePlaceId?: SortOrder name?: SortOrder latitude?: SortOrder longitude?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: PlaceCountOrderByAggregateInput _avg?: PlaceAvgOrderByAggregateInput _max?: PlaceMaxOrderByAggregateInput _min?: PlaceMinOrderByAggregateInput _sum?: PlaceSumOrderByAggregateInput } export type PlaceScalarWhereWithAggregatesInput = { AND?: PlaceScalarWhereWithAggregatesInput | PlaceScalarWhereWithAggregatesInput[] OR?: PlaceScalarWhereWithAggregatesInput[] NOT?: PlaceScalarWhereWithAggregatesInput | PlaceScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"Place"> | string googlePlaceId?: StringWithAggregatesFilter<"Place"> | string name?: StringWithAggregatesFilter<"Place"> | string latitude?: FloatWithAggregatesFilter<"Place"> | number longitude?: FloatWithAggregatesFilter<"Place"> | number createdAt?: DateTimeWithAggregatesFilter<"Place"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Place"> | Date | string } export type UserWhereInput = { AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] id?: StringFilter<"User"> | string telegramId?: StringFilter<"User"> | string username?: StringNullableFilter<"User"> | string | null firstName?: StringNullableFilter<"User"> | string | null lastName?: StringNullableFilter<"User"> | string | null photoUrl?: StringNullableFilter<"User"> | string | null languageCode?: StringNullableFilter<"User"> | string | null createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string voiceExperiences?: VoiceExperienceListRelationFilter } export type UserOrderByWithRelationInput = { id?: SortOrder telegramId?: SortOrder username?: SortOrderInput | SortOrder firstName?: SortOrderInput | SortOrder lastName?: SortOrderInput | SortOrder photoUrl?: SortOrderInput | SortOrder languageCode?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder voiceExperiences?: VoiceExperienceOrderByRelationAggregateInput } export type UserWhereUniqueInput = Prisma.AtLeast<{ id?: string telegramId?: string AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] username?: StringNullableFilter<"User"> | string | null firstName?: StringNullableFilter<"User"> | string | null lastName?: StringNullableFilter<"User"> | string | null photoUrl?: StringNullableFilter<"User"> | string | null languageCode?: StringNullableFilter<"User"> | string | null createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string voiceExperiences?: VoiceExperienceListRelationFilter }, "id" | "telegramId"> export type UserOrderByWithAggregationInput = { id?: SortOrder telegramId?: SortOrder username?: SortOrderInput | SortOrder firstName?: SortOrderInput | SortOrder lastName?: SortOrderInput | SortOrder photoUrl?: SortOrderInput | SortOrder languageCode?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: UserCountOrderByAggregateInput _max?: UserMaxOrderByAggregateInput _min?: UserMinOrderByAggregateInput } export type UserScalarWhereWithAggregatesInput = { AND?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] OR?: UserScalarWhereWithAggregatesInput[] NOT?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"User"> | string telegramId?: StringWithAggregatesFilter<"User"> | string username?: StringNullableWithAggregatesFilter<"User"> | string | null firstName?: StringNullableWithAggregatesFilter<"User"> | string | null lastName?: StringNullableWithAggregatesFilter<"User"> | string | null photoUrl?: StringNullableWithAggregatesFilter<"User"> | string | null languageCode?: StringNullableWithAggregatesFilter<"User"> | string | null createdAt?: DateTimeWithAggregatesFilter<"User"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"User"> | Date | string } export type VoiceExperienceWhereInput = { AND?: VoiceExperienceWhereInput | VoiceExperienceWhereInput[] OR?: VoiceExperienceWhereInput[] NOT?: VoiceExperienceWhereInput | VoiceExperienceWhereInput[] id?: StringFilter<"VoiceExperience"> | string placeId?: StringFilter<"VoiceExperience"> | string userId?: StringNullableFilter<"VoiceExperience"> | string | null durationSeconds?: IntFilter<"VoiceExperience"> | number audioObjectKey?: StringFilter<"VoiceExperience"> | string status?: EnumVoiceExperienceStatusFilter<"VoiceExperience"> | $Enums.VoiceExperienceStatus transcript?: StringNullableFilter<"VoiceExperience"> | string | null analysis?: JsonNullableFilter<"VoiceExperience"> createdAt?: DateTimeFilter<"VoiceExperience"> | Date | string updatedAt?: DateTimeFilter<"VoiceExperience"> | Date | string place?: XOR user?: XOR | null } export type VoiceExperienceOrderByWithRelationInput = { id?: SortOrder placeId?: SortOrder userId?: SortOrderInput | SortOrder durationSeconds?: SortOrder audioObjectKey?: SortOrder status?: SortOrder transcript?: SortOrderInput | SortOrder analysis?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder place?: PlaceOrderByWithRelationInput user?: UserOrderByWithRelationInput } export type VoiceExperienceWhereUniqueInput = Prisma.AtLeast<{ id?: string AND?: VoiceExperienceWhereInput | VoiceExperienceWhereInput[] OR?: VoiceExperienceWhereInput[] NOT?: VoiceExperienceWhereInput | VoiceExperienceWhereInput[] placeId?: StringFilter<"VoiceExperience"> | string userId?: StringNullableFilter<"VoiceExperience"> | string | null durationSeconds?: IntFilter<"VoiceExperience"> | number audioObjectKey?: StringFilter<"VoiceExperience"> | string status?: EnumVoiceExperienceStatusFilter<"VoiceExperience"> | $Enums.VoiceExperienceStatus transcript?: StringNullableFilter<"VoiceExperience"> | string | null analysis?: JsonNullableFilter<"VoiceExperience"> createdAt?: DateTimeFilter<"VoiceExperience"> | Date | string updatedAt?: DateTimeFilter<"VoiceExperience"> | Date | string place?: XOR user?: XOR | null }, "id"> export type VoiceExperienceOrderByWithAggregationInput = { id?: SortOrder placeId?: SortOrder userId?: SortOrderInput | SortOrder durationSeconds?: SortOrder audioObjectKey?: SortOrder status?: SortOrder transcript?: SortOrderInput | SortOrder analysis?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: VoiceExperienceCountOrderByAggregateInput _avg?: VoiceExperienceAvgOrderByAggregateInput _max?: VoiceExperienceMaxOrderByAggregateInput _min?: VoiceExperienceMinOrderByAggregateInput _sum?: VoiceExperienceSumOrderByAggregateInput } export type VoiceExperienceScalarWhereWithAggregatesInput = { AND?: VoiceExperienceScalarWhereWithAggregatesInput | VoiceExperienceScalarWhereWithAggregatesInput[] OR?: VoiceExperienceScalarWhereWithAggregatesInput[] NOT?: VoiceExperienceScalarWhereWithAggregatesInput | VoiceExperienceScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"VoiceExperience"> | string placeId?: StringWithAggregatesFilter<"VoiceExperience"> | string userId?: StringNullableWithAggregatesFilter<"VoiceExperience"> | string | null durationSeconds?: IntWithAggregatesFilter<"VoiceExperience"> | number audioObjectKey?: StringWithAggregatesFilter<"VoiceExperience"> | string status?: EnumVoiceExperienceStatusWithAggregatesFilter<"VoiceExperience"> | $Enums.VoiceExperienceStatus transcript?: StringNullableWithAggregatesFilter<"VoiceExperience"> | string | null analysis?: JsonNullableWithAggregatesFilter<"VoiceExperience"> createdAt?: DateTimeWithAggregatesFilter<"VoiceExperience"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"VoiceExperience"> | Date | string } export type PlaceCreateInput = { id?: string googlePlaceId: string name: string latitude: number longitude: number createdAt?: Date | string updatedAt?: Date | string experiences?: VoiceExperienceCreateNestedManyWithoutPlaceInput } export type PlaceUncheckedCreateInput = { id?: string googlePlaceId: string name: string latitude: number longitude: number createdAt?: Date | string updatedAt?: Date | string experiences?: VoiceExperienceUncheckedCreateNestedManyWithoutPlaceInput } export type PlaceUpdateInput = { id?: StringFieldUpdateOperationsInput | string googlePlaceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string latitude?: FloatFieldUpdateOperationsInput | number longitude?: FloatFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string experiences?: VoiceExperienceUpdateManyWithoutPlaceNestedInput } export type PlaceUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string googlePlaceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string latitude?: FloatFieldUpdateOperationsInput | number longitude?: FloatFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string experiences?: VoiceExperienceUncheckedUpdateManyWithoutPlaceNestedInput } export type PlaceCreateManyInput = { id?: string googlePlaceId: string name: string latitude: number longitude: number createdAt?: Date | string updatedAt?: Date | string } export type PlaceUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string googlePlaceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string latitude?: FloatFieldUpdateOperationsInput | number longitude?: FloatFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PlaceUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string googlePlaceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string latitude?: FloatFieldUpdateOperationsInput | number longitude?: FloatFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserCreateInput = { id?: string telegramId: string username?: string | null firstName?: string | null lastName?: string | null photoUrl?: string | null languageCode?: string | null createdAt?: Date | string updatedAt?: Date | string voiceExperiences?: VoiceExperienceCreateNestedManyWithoutUserInput } export type UserUncheckedCreateInput = { id?: string telegramId: string username?: string | null firstName?: string | null lastName?: string | null photoUrl?: string | null languageCode?: string | null createdAt?: Date | string updatedAt?: Date | string voiceExperiences?: VoiceExperienceUncheckedCreateNestedManyWithoutUserInput } export type UserUpdateInput = { id?: StringFieldUpdateOperationsInput | string telegramId?: StringFieldUpdateOperationsInput | string username?: NullableStringFieldUpdateOperationsInput | string | null firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null photoUrl?: NullableStringFieldUpdateOperationsInput | string | null languageCode?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string voiceExperiences?: VoiceExperienceUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string telegramId?: StringFieldUpdateOperationsInput | string username?: NullableStringFieldUpdateOperationsInput | string | null firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null photoUrl?: NullableStringFieldUpdateOperationsInput | string | null languageCode?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string voiceExperiences?: VoiceExperienceUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateManyInput = { id?: string telegramId: string username?: string | null firstName?: string | null lastName?: string | null photoUrl?: string | null languageCode?: string | null createdAt?: Date | string updatedAt?: Date | string } export type UserUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string telegramId?: StringFieldUpdateOperationsInput | string username?: NullableStringFieldUpdateOperationsInput | string | null firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null photoUrl?: NullableStringFieldUpdateOperationsInput | string | null languageCode?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string telegramId?: StringFieldUpdateOperationsInput | string username?: NullableStringFieldUpdateOperationsInput | string | null firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null photoUrl?: NullableStringFieldUpdateOperationsInput | string | null languageCode?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceExperienceCreateInput = { id?: string durationSeconds: number audioObjectKey: string status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string place: PlaceCreateNestedOneWithoutExperiencesInput user?: UserCreateNestedOneWithoutVoiceExperiencesInput } export type VoiceExperienceUncheckedCreateInput = { id?: string placeId: string userId?: string | null durationSeconds: number audioObjectKey: string status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string } export type VoiceExperienceUpdateInput = { id?: StringFieldUpdateOperationsInput | string durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string place?: PlaceUpdateOneRequiredWithoutExperiencesNestedInput user?: UserUpdateOneWithoutVoiceExperiencesNestedInput } export type VoiceExperienceUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string placeId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceExperienceCreateManyInput = { id?: string placeId: string userId?: string | null durationSeconds: number audioObjectKey: string status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string } export type VoiceExperienceUpdateManyMutationInput = { id?: StringFieldUpdateOperationsInput | string durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceExperienceUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string placeId?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type StringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> notIn?: string[] | ListStringFieldRefInput<$PrismaModel> lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> mode?: QueryMode not?: NestedStringFilter<$PrismaModel> | string } export type FloatFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] | ListFloatFieldRefInput<$PrismaModel> notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatFilter<$PrismaModel> | number } export type DateTimeFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeFilter<$PrismaModel> | Date | string } export type VoiceExperienceListRelationFilter = { every?: VoiceExperienceWhereInput some?: VoiceExperienceWhereInput none?: VoiceExperienceWhereInput } export type VoiceExperienceOrderByRelationAggregateInput = { _count?: SortOrder } export type PlaceCountOrderByAggregateInput = { id?: SortOrder googlePlaceId?: SortOrder name?: SortOrder latitude?: SortOrder longitude?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type PlaceAvgOrderByAggregateInput = { latitude?: SortOrder longitude?: SortOrder } export type PlaceMaxOrderByAggregateInput = { id?: SortOrder googlePlaceId?: SortOrder name?: SortOrder latitude?: SortOrder longitude?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type PlaceMinOrderByAggregateInput = { id?: SortOrder googlePlaceId?: SortOrder name?: SortOrder latitude?: SortOrder longitude?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type PlaceSumOrderByAggregateInput = { latitude?: SortOrder longitude?: SortOrder } export type StringWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> notIn?: string[] | ListStringFieldRefInput<$PrismaModel> lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> mode?: QueryMode not?: NestedStringWithAggregatesFilter<$PrismaModel> | string _count?: NestedIntFilter<$PrismaModel> _min?: NestedStringFilter<$PrismaModel> _max?: NestedStringFilter<$PrismaModel> } export type FloatWithAggregatesFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] | ListFloatFieldRefInput<$PrismaModel> notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedFloatFilter<$PrismaModel> _min?: NestedFloatFilter<$PrismaModel> _max?: NestedFloatFilter<$PrismaModel> } export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string _count?: NestedIntFilter<$PrismaModel> _min?: NestedDateTimeFilter<$PrismaModel> _max?: NestedDateTimeFilter<$PrismaModel> } export type StringNullableFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> mode?: QueryMode not?: NestedStringNullableFilter<$PrismaModel> | string | null } export type SortOrderInput = { sort: SortOrder nulls?: NullsOrder } export type UserCountOrderByAggregateInput = { id?: SortOrder telegramId?: SortOrder username?: SortOrder firstName?: SortOrder lastName?: SortOrder photoUrl?: SortOrder languageCode?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMaxOrderByAggregateInput = { id?: SortOrder telegramId?: SortOrder username?: SortOrder firstName?: SortOrder lastName?: SortOrder photoUrl?: SortOrder languageCode?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type UserMinOrderByAggregateInput = { id?: SortOrder telegramId?: SortOrder username?: SortOrder firstName?: SortOrder lastName?: SortOrder photoUrl?: SortOrder languageCode?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> mode?: QueryMode not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedStringNullableFilter<$PrismaModel> _max?: NestedStringNullableFilter<$PrismaModel> } export type IntFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> notIn?: number[] | ListIntFieldRefInput<$PrismaModel> lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntFilter<$PrismaModel> | number } export type EnumVoiceExperienceStatusFilter<$PrismaModel = never> = { equals?: $Enums.VoiceExperienceStatus | EnumVoiceExperienceStatusFieldRefInput<$PrismaModel> in?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> notIn?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> not?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> | $Enums.VoiceExperienceStatus } export type JsonNullableFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type JsonNullableFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string[] mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } export type PlaceScalarRelationFilter = { is?: PlaceWhereInput isNot?: PlaceWhereInput } export type UserNullableScalarRelationFilter = { is?: UserWhereInput | null isNot?: UserWhereInput | null } export type VoiceExperienceCountOrderByAggregateInput = { id?: SortOrder placeId?: SortOrder userId?: SortOrder durationSeconds?: SortOrder audioObjectKey?: SortOrder status?: SortOrder transcript?: SortOrder analysis?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type VoiceExperienceAvgOrderByAggregateInput = { durationSeconds?: SortOrder } export type VoiceExperienceMaxOrderByAggregateInput = { id?: SortOrder placeId?: SortOrder userId?: SortOrder durationSeconds?: SortOrder audioObjectKey?: SortOrder status?: SortOrder transcript?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type VoiceExperienceMinOrderByAggregateInput = { id?: SortOrder placeId?: SortOrder userId?: SortOrder durationSeconds?: SortOrder audioObjectKey?: SortOrder status?: SortOrder transcript?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } export type VoiceExperienceSumOrderByAggregateInput = { durationSeconds?: SortOrder } export type IntWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> notIn?: number[] | ListIntFieldRefInput<$PrismaModel> lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedIntFilter<$PrismaModel> _min?: NestedIntFilter<$PrismaModel> _max?: NestedIntFilter<$PrismaModel> } export type EnumVoiceExperienceStatusWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.VoiceExperienceStatus | EnumVoiceExperienceStatusFieldRefInput<$PrismaModel> in?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> notIn?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> not?: NestedEnumVoiceExperienceStatusWithAggregatesFilter<$PrismaModel> | $Enums.VoiceExperienceStatus _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> _max?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> } export type JsonNullableWithAggregatesFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string[] mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedJsonNullableFilter<$PrismaModel> _max?: NestedJsonNullableFilter<$PrismaModel> } export type VoiceExperienceCreateNestedManyWithoutPlaceInput = { create?: XOR | VoiceExperienceCreateWithoutPlaceInput[] | VoiceExperienceUncheckedCreateWithoutPlaceInput[] connectOrCreate?: VoiceExperienceCreateOrConnectWithoutPlaceInput | VoiceExperienceCreateOrConnectWithoutPlaceInput[] createMany?: VoiceExperienceCreateManyPlaceInputEnvelope connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] } export type VoiceExperienceUncheckedCreateNestedManyWithoutPlaceInput = { create?: XOR | VoiceExperienceCreateWithoutPlaceInput[] | VoiceExperienceUncheckedCreateWithoutPlaceInput[] connectOrCreate?: VoiceExperienceCreateOrConnectWithoutPlaceInput | VoiceExperienceCreateOrConnectWithoutPlaceInput[] createMany?: VoiceExperienceCreateManyPlaceInputEnvelope connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] } export type StringFieldUpdateOperationsInput = { set?: string } export type FloatFieldUpdateOperationsInput = { set?: number increment?: number decrement?: number multiply?: number divide?: number } export type DateTimeFieldUpdateOperationsInput = { set?: Date | string } export type VoiceExperienceUpdateManyWithoutPlaceNestedInput = { create?: XOR | VoiceExperienceCreateWithoutPlaceInput[] | VoiceExperienceUncheckedCreateWithoutPlaceInput[] connectOrCreate?: VoiceExperienceCreateOrConnectWithoutPlaceInput | VoiceExperienceCreateOrConnectWithoutPlaceInput[] upsert?: VoiceExperienceUpsertWithWhereUniqueWithoutPlaceInput | VoiceExperienceUpsertWithWhereUniqueWithoutPlaceInput[] createMany?: VoiceExperienceCreateManyPlaceInputEnvelope set?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] disconnect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] delete?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] update?: VoiceExperienceUpdateWithWhereUniqueWithoutPlaceInput | VoiceExperienceUpdateWithWhereUniqueWithoutPlaceInput[] updateMany?: VoiceExperienceUpdateManyWithWhereWithoutPlaceInput | VoiceExperienceUpdateManyWithWhereWithoutPlaceInput[] deleteMany?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] } export type VoiceExperienceUncheckedUpdateManyWithoutPlaceNestedInput = { create?: XOR | VoiceExperienceCreateWithoutPlaceInput[] | VoiceExperienceUncheckedCreateWithoutPlaceInput[] connectOrCreate?: VoiceExperienceCreateOrConnectWithoutPlaceInput | VoiceExperienceCreateOrConnectWithoutPlaceInput[] upsert?: VoiceExperienceUpsertWithWhereUniqueWithoutPlaceInput | VoiceExperienceUpsertWithWhereUniqueWithoutPlaceInput[] createMany?: VoiceExperienceCreateManyPlaceInputEnvelope set?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] disconnect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] delete?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] update?: VoiceExperienceUpdateWithWhereUniqueWithoutPlaceInput | VoiceExperienceUpdateWithWhereUniqueWithoutPlaceInput[] updateMany?: VoiceExperienceUpdateManyWithWhereWithoutPlaceInput | VoiceExperienceUpdateManyWithWhereWithoutPlaceInput[] deleteMany?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] } export type VoiceExperienceCreateNestedManyWithoutUserInput = { create?: XOR | VoiceExperienceCreateWithoutUserInput[] | VoiceExperienceUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceExperienceCreateOrConnectWithoutUserInput | VoiceExperienceCreateOrConnectWithoutUserInput[] createMany?: VoiceExperienceCreateManyUserInputEnvelope connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] } export type VoiceExperienceUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | VoiceExperienceCreateWithoutUserInput[] | VoiceExperienceUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceExperienceCreateOrConnectWithoutUserInput | VoiceExperienceCreateOrConnectWithoutUserInput[] createMany?: VoiceExperienceCreateManyUserInputEnvelope connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] } export type NullableStringFieldUpdateOperationsInput = { set?: string | null } export type VoiceExperienceUpdateManyWithoutUserNestedInput = { create?: XOR | VoiceExperienceCreateWithoutUserInput[] | VoiceExperienceUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceExperienceCreateOrConnectWithoutUserInput | VoiceExperienceCreateOrConnectWithoutUserInput[] upsert?: VoiceExperienceUpsertWithWhereUniqueWithoutUserInput | VoiceExperienceUpsertWithWhereUniqueWithoutUserInput[] createMany?: VoiceExperienceCreateManyUserInputEnvelope set?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] disconnect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] delete?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] update?: VoiceExperienceUpdateWithWhereUniqueWithoutUserInput | VoiceExperienceUpdateWithWhereUniqueWithoutUserInput[] updateMany?: VoiceExperienceUpdateManyWithWhereWithoutUserInput | VoiceExperienceUpdateManyWithWhereWithoutUserInput[] deleteMany?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] } export type VoiceExperienceUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | VoiceExperienceCreateWithoutUserInput[] | VoiceExperienceUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceExperienceCreateOrConnectWithoutUserInput | VoiceExperienceCreateOrConnectWithoutUserInput[] upsert?: VoiceExperienceUpsertWithWhereUniqueWithoutUserInput | VoiceExperienceUpsertWithWhereUniqueWithoutUserInput[] createMany?: VoiceExperienceCreateManyUserInputEnvelope set?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] disconnect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] delete?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] update?: VoiceExperienceUpdateWithWhereUniqueWithoutUserInput | VoiceExperienceUpdateWithWhereUniqueWithoutUserInput[] updateMany?: VoiceExperienceUpdateManyWithWhereWithoutUserInput | VoiceExperienceUpdateManyWithWhereWithoutUserInput[] deleteMany?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] } export type PlaceCreateNestedOneWithoutExperiencesInput = { create?: XOR connectOrCreate?: PlaceCreateOrConnectWithoutExperiencesInput connect?: PlaceWhereUniqueInput } export type UserCreateNestedOneWithoutVoiceExperiencesInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutVoiceExperiencesInput connect?: UserWhereUniqueInput } export type IntFieldUpdateOperationsInput = { set?: number increment?: number decrement?: number multiply?: number divide?: number } export type EnumVoiceExperienceStatusFieldUpdateOperationsInput = { set?: $Enums.VoiceExperienceStatus } export type PlaceUpdateOneRequiredWithoutExperiencesNestedInput = { create?: XOR connectOrCreate?: PlaceCreateOrConnectWithoutExperiencesInput upsert?: PlaceUpsertWithoutExperiencesInput connect?: PlaceWhereUniqueInput update?: XOR, PlaceUncheckedUpdateWithoutExperiencesInput> } export type UserUpdateOneWithoutVoiceExperiencesNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutVoiceExperiencesInput upsert?: UserUpsertWithoutVoiceExperiencesInput disconnect?: UserWhereInput | boolean delete?: UserWhereInput | boolean connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutVoiceExperiencesInput> } export type NestedStringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> notIn?: string[] | ListStringFieldRefInput<$PrismaModel> lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> not?: NestedStringFilter<$PrismaModel> | string } export type NestedFloatFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] | ListFloatFieldRefInput<$PrismaModel> notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatFilter<$PrismaModel> | number } export type NestedDateTimeFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeFilter<$PrismaModel> | Date | string } export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> notIn?: string[] | ListStringFieldRefInput<$PrismaModel> lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> not?: NestedStringWithAggregatesFilter<$PrismaModel> | string _count?: NestedIntFilter<$PrismaModel> _min?: NestedStringFilter<$PrismaModel> _max?: NestedStringFilter<$PrismaModel> } export type NestedIntFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> notIn?: number[] | ListIntFieldRefInput<$PrismaModel> lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntFilter<$PrismaModel> | number } export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] | ListFloatFieldRefInput<$PrismaModel> notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedFloatFilter<$PrismaModel> _min?: NestedFloatFilter<$PrismaModel> _max?: NestedFloatFilter<$PrismaModel> } export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string _count?: NestedIntFilter<$PrismaModel> _min?: NestedDateTimeFilter<$PrismaModel> _max?: NestedDateTimeFilter<$PrismaModel> } export type NestedStringNullableFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> not?: NestedStringNullableFilter<$PrismaModel> | string | null } export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null lt?: string | StringFieldRefInput<$PrismaModel> lte?: string | StringFieldRefInput<$PrismaModel> gt?: string | StringFieldRefInput<$PrismaModel> gte?: string | StringFieldRefInput<$PrismaModel> contains?: string | StringFieldRefInput<$PrismaModel> startsWith?: string | StringFieldRefInput<$PrismaModel> endsWith?: string | StringFieldRefInput<$PrismaModel> not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null _count?: NestedIntNullableFilter<$PrismaModel> _min?: NestedStringNullableFilter<$PrismaModel> _max?: NestedStringNullableFilter<$PrismaModel> } export type NestedIntNullableFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | ListIntFieldRefInput<$PrismaModel> | null notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableFilter<$PrismaModel> | number | null } export type NestedEnumVoiceExperienceStatusFilter<$PrismaModel = never> = { equals?: $Enums.VoiceExperienceStatus | EnumVoiceExperienceStatusFieldRefInput<$PrismaModel> in?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> notIn?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> not?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> | $Enums.VoiceExperienceStatus } export type NestedIntWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> notIn?: number[] | ListIntFieldRefInput<$PrismaModel> lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedIntFilter<$PrismaModel> _min?: NestedIntFilter<$PrismaModel> _max?: NestedIntFilter<$PrismaModel> } export type NestedEnumVoiceExperienceStatusWithAggregatesFilter<$PrismaModel = never> = { equals?: $Enums.VoiceExperienceStatus | EnumVoiceExperienceStatusFieldRefInput<$PrismaModel> in?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> notIn?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> not?: NestedEnumVoiceExperienceStatusWithAggregatesFilter<$PrismaModel> | $Enums.VoiceExperienceStatus _count?: NestedIntFilter<$PrismaModel> _min?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> _max?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> } export type NestedJsonNullableFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, Required> > | OptionalFlat>, 'path'>> export type NestedJsonNullableFilterBase<$PrismaModel = never> = { equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter path?: string[] mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: string | StringFieldRefInput<$PrismaModel> string_starts_with?: string | StringFieldRefInput<$PrismaModel> string_ends_with?: string | StringFieldRefInput<$PrismaModel> array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } export type VoiceExperienceCreateWithoutPlaceInput = { id?: string durationSeconds: number audioObjectKey: string status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string user?: UserCreateNestedOneWithoutVoiceExperiencesInput } export type VoiceExperienceUncheckedCreateWithoutPlaceInput = { id?: string userId?: string | null durationSeconds: number audioObjectKey: string status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string } export type VoiceExperienceCreateOrConnectWithoutPlaceInput = { where: VoiceExperienceWhereUniqueInput create: XOR } export type VoiceExperienceCreateManyPlaceInputEnvelope = { data: VoiceExperienceCreateManyPlaceInput | VoiceExperienceCreateManyPlaceInput[] skipDuplicates?: boolean } export type VoiceExperienceUpsertWithWhereUniqueWithoutPlaceInput = { where: VoiceExperienceWhereUniqueInput update: XOR create: XOR } export type VoiceExperienceUpdateWithWhereUniqueWithoutPlaceInput = { where: VoiceExperienceWhereUniqueInput data: XOR } export type VoiceExperienceUpdateManyWithWhereWithoutPlaceInput = { where: VoiceExperienceScalarWhereInput data: XOR } export type VoiceExperienceScalarWhereInput = { AND?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] OR?: VoiceExperienceScalarWhereInput[] NOT?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] id?: StringFilter<"VoiceExperience"> | string placeId?: StringFilter<"VoiceExperience"> | string userId?: StringNullableFilter<"VoiceExperience"> | string | null durationSeconds?: IntFilter<"VoiceExperience"> | number audioObjectKey?: StringFilter<"VoiceExperience"> | string status?: EnumVoiceExperienceStatusFilter<"VoiceExperience"> | $Enums.VoiceExperienceStatus transcript?: StringNullableFilter<"VoiceExperience"> | string | null analysis?: JsonNullableFilter<"VoiceExperience"> createdAt?: DateTimeFilter<"VoiceExperience"> | Date | string updatedAt?: DateTimeFilter<"VoiceExperience"> | Date | string } export type VoiceExperienceCreateWithoutUserInput = { id?: string durationSeconds: number audioObjectKey: string status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string place: PlaceCreateNestedOneWithoutExperiencesInput } export type VoiceExperienceUncheckedCreateWithoutUserInput = { id?: string placeId: string durationSeconds: number audioObjectKey: string status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string } export type VoiceExperienceCreateOrConnectWithoutUserInput = { where: VoiceExperienceWhereUniqueInput create: XOR } export type VoiceExperienceCreateManyUserInputEnvelope = { data: VoiceExperienceCreateManyUserInput | VoiceExperienceCreateManyUserInput[] skipDuplicates?: boolean } export type VoiceExperienceUpsertWithWhereUniqueWithoutUserInput = { where: VoiceExperienceWhereUniqueInput update: XOR create: XOR } export type VoiceExperienceUpdateWithWhereUniqueWithoutUserInput = { where: VoiceExperienceWhereUniqueInput data: XOR } export type VoiceExperienceUpdateManyWithWhereWithoutUserInput = { where: VoiceExperienceScalarWhereInput data: XOR } export type PlaceCreateWithoutExperiencesInput = { id?: string googlePlaceId: string name: string latitude: number longitude: number createdAt?: Date | string updatedAt?: Date | string } export type PlaceUncheckedCreateWithoutExperiencesInput = { id?: string googlePlaceId: string name: string latitude: number longitude: number createdAt?: Date | string updatedAt?: Date | string } export type PlaceCreateOrConnectWithoutExperiencesInput = { where: PlaceWhereUniqueInput create: XOR } export type UserCreateWithoutVoiceExperiencesInput = { id?: string telegramId: string username?: string | null firstName?: string | null lastName?: string | null photoUrl?: string | null languageCode?: string | null createdAt?: Date | string updatedAt?: Date | string } export type UserUncheckedCreateWithoutVoiceExperiencesInput = { id?: string telegramId: string username?: string | null firstName?: string | null lastName?: string | null photoUrl?: string | null languageCode?: string | null createdAt?: Date | string updatedAt?: Date | string } export type UserCreateOrConnectWithoutVoiceExperiencesInput = { where: UserWhereUniqueInput create: XOR } export type PlaceUpsertWithoutExperiencesInput = { update: XOR create: XOR where?: PlaceWhereInput } export type PlaceUpdateToOneWithWhereWithoutExperiencesInput = { where?: PlaceWhereInput data: XOR } export type PlaceUpdateWithoutExperiencesInput = { id?: StringFieldUpdateOperationsInput | string googlePlaceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string latitude?: FloatFieldUpdateOperationsInput | number longitude?: FloatFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PlaceUncheckedUpdateWithoutExperiencesInput = { id?: StringFieldUpdateOperationsInput | string googlePlaceId?: StringFieldUpdateOperationsInput | string name?: StringFieldUpdateOperationsInput | string latitude?: FloatFieldUpdateOperationsInput | number longitude?: FloatFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserUpsertWithoutVoiceExperiencesInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutVoiceExperiencesInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutVoiceExperiencesInput = { id?: StringFieldUpdateOperationsInput | string telegramId?: StringFieldUpdateOperationsInput | string username?: NullableStringFieldUpdateOperationsInput | string | null firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null photoUrl?: NullableStringFieldUpdateOperationsInput | string | null languageCode?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserUncheckedUpdateWithoutVoiceExperiencesInput = { id?: StringFieldUpdateOperationsInput | string telegramId?: StringFieldUpdateOperationsInput | string username?: NullableStringFieldUpdateOperationsInput | string | null firstName?: NullableStringFieldUpdateOperationsInput | string | null lastName?: NullableStringFieldUpdateOperationsInput | string | null photoUrl?: NullableStringFieldUpdateOperationsInput | string | null languageCode?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceExperienceCreateManyPlaceInput = { id?: string userId?: string | null durationSeconds: number audioObjectKey: string status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string } export type VoiceExperienceUpdateWithoutPlaceInput = { id?: StringFieldUpdateOperationsInput | string durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneWithoutVoiceExperiencesNestedInput } export type VoiceExperienceUncheckedUpdateWithoutPlaceInput = { id?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceExperienceUncheckedUpdateManyWithoutPlaceInput = { id?: StringFieldUpdateOperationsInput | string userId?: NullableStringFieldUpdateOperationsInput | string | null durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceExperienceCreateManyUserInput = { id?: string placeId: string durationSeconds: number audioObjectKey: string status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string } export type VoiceExperienceUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string place?: PlaceUpdateOneRequiredWithoutExperiencesNestedInput } export type VoiceExperienceUncheckedUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string placeId?: StringFieldUpdateOperationsInput | string durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type VoiceExperienceUncheckedUpdateManyWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string placeId?: StringFieldUpdateOperationsInput | string durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } /** * Batch Payload for updateMany & deleteMany & createMany */ export type BatchPayload = { count: number } /** * DMMF */ export const dmmf: runtime.BaseDMMF }