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

[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise> $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, $Utils.Call, { extArgs: ExtArgs }>> /** * `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.patient`: Exposes CRUD operations for the **Patient** model. * Example usage: * ```ts * // Fetch zero or more Patients * const patients = await prisma.patient.findMany() * ``` */ get patient(): Prisma.PatientDelegate; /** * `prisma.appointment`: Exposes CRUD operations for the **Appointment** model. * Example usage: * ```ts * // Fetch zero or more Appointments * const appointments = await prisma.appointment.findMany() * ``` */ get appointment(): Prisma.AppointmentDelegate; } export namespace Prisma { export import DMMF = runtime.DMMF export type PrismaPromise = $Public.PrismaPromise /** * Validator */ export import validator = runtime.Public.validator /** * Prisma Errors */ export import PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export import PrismaClientInitializationError = runtime.PrismaClientInitializationError export import PrismaClientValidationError = runtime.PrismaClientValidationError /** * Re-export of sql-template-tag */ export import sql = runtime.sqltag export import empty = runtime.empty export import join = runtime.join export import raw = runtime.raw export import Sql = runtime.Sql /** * Decimal.js */ export import Decimal = runtime.Decimal export type DecimalJsLike = runtime.DecimalJsLike /** * Metrics */ export type Metrics = runtime.Metrics export type Metric = runtime.Metric export type MetricHistogram = runtime.MetricHistogram export type MetricHistogramBucket = runtime.MetricHistogramBucket /** * Extensions */ export import Extension = $Extensions.UserArgs export import getExtensionContext = runtime.Extensions.getExtensionContext export import Args = $Public.Args export import Payload = $Public.Payload export import Result = $Public.Result export import Exact = $Public.Exact /** * Prisma Client JS version: 6.7.0 * Query Engine version: 3cff47a7f5d65c3ea74883f1d736e41d68ce91ed */ export type PrismaVersion = { client: string } export const prismaVersion: PrismaVersion /** * Utility Types */ export import JsonObject = runtime.JsonObject export import JsonArray = runtime.JsonArray export import JsonValue = runtime.JsonValue export import InputJsonObject = runtime.InputJsonObject export import InputJsonArray = runtime.InputJsonArray export import InputJsonValue = runtime.InputJsonValue /** * Types of the values used to represent different kinds of `null` values when working with JSON fields. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ namespace NullTypes { /** * Type of `Prisma.DbNull`. * * You cannot use other instances of this class. Please use the `Prisma.DbNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class DbNull { private DbNull: never private constructor() } /** * Type of `Prisma.JsonNull`. * * You cannot use other instances of this class. Please use the `Prisma.JsonNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class JsonNull { private JsonNull: never private constructor() } /** * Type of `Prisma.AnyNull`. * * You cannot use other instances of this class. Please use the `Prisma.AnyNull` value. * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ class AnyNull { private AnyNull: never private constructor() } } /** * Helper for filtering JSON entries that have `null` on the database (empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const DbNull: NullTypes.DbNull /** * Helper for filtering JSON entries that have JSON `null` values (not empty on the db) * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const JsonNull: NullTypes.JsonNull /** * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull` * * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field */ export const AnyNull: NullTypes.AnyNull type SelectAndInclude = { select: any include: any } type SelectAndOmit = { select: any omit: any } /** * Get the type of the value, that the Promise holds. */ export type PromiseType> = T extends PromiseLike ? U : T; /** * Get the return type of a function which returns a Promise. */ export type PromiseReturnType $Utils.JsPromise> = PromiseType> /** * From T, pick a set of properties whose keys are in the union K */ type Prisma__Pick = { [P in K]: T[P]; }; export type Enumerable = T | Array; export type RequiredKeys = { [K in keyof T]-?: {} extends Prisma__Pick ? never : K }[keyof T] export type TruthyKeys = keyof { [K in keyof T as T[K] extends false | undefined | null ? never : K]: K } export type TrueKeys = TruthyKeys>> /** * Subset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection */ export type Subset = { [key in keyof T]: key extends keyof U ? T[key] : never; }; /** * SelectSubset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection. * Additionally, it validates, if both select and include are present. If the case, it errors. */ export type SelectSubset = { [key in keyof T]: key extends keyof U ? T[key] : never } & (T extends SelectAndInclude ? 'Please either choose `select` or `include`.' : T extends SelectAndOmit ? 'Please either choose `select` or `omit`.' : {}) /** * Subset + Intersection * @desc From `T` pick properties that exist in `U` and intersect `K` */ export type SubsetIntersection = { [key in keyof T]: key extends keyof U ? T[key] : never } & K type Without = { [P in Exclude]?: never }; /** * XOR is needed to have a real mutually exclusive union type * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types */ type XOR = T extends object ? U extends object ? (Without & U) | (Without & T) : U : T /** * Is T a Record? */ type IsObject = T extends Array ? False : T extends Date ? False : T extends Uint8Array ? False : T extends BigInt ? False : T extends object ? True : False /** * If it's T[], return T */ export type UnEnumerate = T extends Array ? U : T /** * From ts-toolbelt */ type __Either = Omit & { // Merge all but K [P in K]: Prisma__Pick // With K possibilities }[K] type EitherStrict = Strict<__Either> type EitherLoose = ComputeRaw<__Either> type _Either< O extends object, K extends Key, strict extends Boolean > = { 1: EitherStrict 0: EitherLoose }[strict] type Either< O extends object, K extends Key, strict extends Boolean = 1 > = O extends unknown ? _Either : never export type Union = any type PatchUndefined = { [K in keyof O]: O[K] extends undefined ? At : O[K] } & {} /** Helper Types for "Merge" **/ export type IntersectOf = ( U extends unknown ? (k: U) => void : never ) extends (k: infer I) => void ? I : never export type Overwrite = { [K in keyof O]: K extends keyof O1 ? O1[K] : O[K]; } & {}; type _Merge = IntersectOf; }>>; type Key = string | number | symbol; type AtBasic = K extends keyof O ? O[K] : never; type AtStrict = O[K & keyof O]; type AtLoose = O extends unknown ? AtStrict : never; export type At = { 1: AtStrict; 0: AtLoose; }[strict]; export type ComputeRaw = A extends Function ? A : { [K in keyof A]: A[K]; } & {}; export type OptionalFlat = { [K in keyof O]?: O[K]; } & {}; type _Record = { [P in K]: T; }; // cause typescript not to expand types and preserve names type NoExpand = T extends unknown ? T : never; // this type assumes the passed object is entirely optional type AtLeast = NoExpand< O extends unknown ? | (K extends keyof O ? { [P in K]: O[P] } & O : O) | {[P in keyof O as P extends K ? 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: { User: 'User', Patient: 'Patient', Appointment: 'Appointment' }; export type ModelName = (typeof ModelName)[keyof typeof ModelName] export type Datasources = { db?: Datasource } interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs }, $Utils.Record> { returns: Prisma.TypeMap } export type TypeMap = { globalOmitOptions: { omit: GlobalOmitOptions } meta: { modelProps: "user" | "patient" | "appointment" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { 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 } } } Patient: { payload: Prisma.$PatientPayload fields: Prisma.PatientFieldRefs operations: { findUnique: { args: Prisma.PatientFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.PatientFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.PatientFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.PatientFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.PatientFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.PatientCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.PatientCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.PatientCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.PatientDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.PatientUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.PatientDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.PatientUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.PatientUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.PatientUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.PatientAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.PatientGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.PatientCountArgs result: $Utils.Optional | number } } } Appointment: { payload: Prisma.$AppointmentPayload fields: Prisma.AppointmentFieldRefs operations: { findUnique: { args: Prisma.AppointmentFindUniqueArgs result: $Utils.PayloadToResult | null } findUniqueOrThrow: { args: Prisma.AppointmentFindUniqueOrThrowArgs result: $Utils.PayloadToResult } findFirst: { args: Prisma.AppointmentFindFirstArgs result: $Utils.PayloadToResult | null } findFirstOrThrow: { args: Prisma.AppointmentFindFirstOrThrowArgs result: $Utils.PayloadToResult } findMany: { args: Prisma.AppointmentFindManyArgs result: $Utils.PayloadToResult[] } create: { args: Prisma.AppointmentCreateArgs result: $Utils.PayloadToResult } createMany: { args: Prisma.AppointmentCreateManyArgs result: BatchPayload } createManyAndReturn: { args: Prisma.AppointmentCreateManyAndReturnArgs result: $Utils.PayloadToResult[] } delete: { args: Prisma.AppointmentDeleteArgs result: $Utils.PayloadToResult } update: { args: Prisma.AppointmentUpdateArgs result: $Utils.PayloadToResult } deleteMany: { args: Prisma.AppointmentDeleteManyArgs result: BatchPayload } updateMany: { args: Prisma.AppointmentUpdateManyArgs result: BatchPayload } updateManyAndReturn: { args: Prisma.AppointmentUpdateManyAndReturnArgs result: $Utils.PayloadToResult[] } upsert: { args: Prisma.AppointmentUpsertArgs result: $Utils.PayloadToResult } aggregate: { args: Prisma.AppointmentAggregateArgs result: $Utils.Optional } groupBy: { args: Prisma.AppointmentGroupByArgs result: $Utils.Optional[] } count: { args: Prisma.AppointmentCountArgs result: $Utils.Optional | number } } } } } & { other: { payload: any operations: { $executeRaw: { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } $executeRawUnsafe: { args: [query: string, ...values: any[]], result: any } $queryRaw: { args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], result: any } $queryRawUnsafe: { args: [query: string, ...values: any[]], result: any } } } } export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs> export type DefaultPrismaClient = PrismaClient export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' export interface PrismaClientOptions { /** * Overwrites the datasource url from your schema.prisma file */ datasources?: Datasources /** * Overwrites the datasource url from your schema.prisma file */ datasourceUrl?: string /** * @default "colorless" */ errorFormat?: ErrorFormat /** * @example * ``` * // Defaults to stdout * log: ['query', 'info', 'warn', 'error'] * * // Emit as events * log: [ * { emit: 'stdout', level: 'query' }, * { emit: 'stdout', level: 'info' }, * { emit: 'stdout', level: 'warn' } * { emit: 'stdout', level: 'error' } * ] * ``` * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option). */ log?: (LogLevel | LogDefinition)[] /** * The default values for transactionOptions * maxWait ?= 2000 * timeout ?= 5000 */ transactionOptions?: { maxWait?: number timeout?: number isolationLevel?: Prisma.TransactionIsolationLevel } /** * Global configuration for omitting model fields by default. * * @example * ``` * const prisma = new PrismaClient({ * omit: { * user: { * password: true * } * } * }) * ``` */ omit?: Prisma.GlobalOmitConfig } export type GlobalOmitConfig = { user?: UserOmit patient?: PatientOmit appointment?: AppointmentOmit } /* Types for Logging */ export type LogLevel = 'info' | 'query' | 'warn' | 'error' export type LogDefinition = { level: LogLevel emit: 'stdout' | 'event' } export type GetLogType = T extends LogDefinition ? T['emit'] extends 'event' ? T['level'] : never : never export type GetEvents = T extends Array ? GetLogType | GetLogType | GetLogType | GetLogType : never export type QueryEvent = { timestamp: Date query: string params: string duration: number target: string } export type LogEvent = { timestamp: Date message: string target: string } /* End Types for Logging */ export type PrismaAction = | 'findUnique' | 'findUniqueOrThrow' | 'findMany' | 'findFirst' | 'findFirstOrThrow' | 'create' | 'createMany' | 'createManyAndReturn' | 'update' | 'updateMany' | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' | 'executeRaw' | 'queryRaw' | 'aggregate' | 'count' | 'runCommandRaw' | 'findRaw' | 'groupBy' /** * These options are being passed into the middleware as "params" */ export type MiddlewareParams = { model?: ModelName action: PrismaAction args: any dataPath: string[] runInTransaction: boolean } /** * The `T` type makes sure, that the `return proceed` is not forgotten in the middleware implementation */ export type Middleware = ( params: MiddlewareParams, next: (params: MiddlewareParams) => $Utils.JsPromise, ) => $Utils.JsPromise // tested in getLogLevel.test.ts export function getLogLevel(log: Array): LogLevel | undefined; /** * `PrismaClient` proxy available in interactive transactions. */ export type TransactionClient = Omit export type Datasource = { url?: string } /** * Count Types */ /** * Count Type UserCountOutputType */ export type UserCountOutputType = { patients: number appointments: number } export type UserCountOutputTypeSelect = { patients?: boolean | UserCountOutputTypeCountPatientsArgs appointments?: boolean | UserCountOutputTypeCountAppointmentsArgs } // Custom InputTypes /** * UserCountOutputType without action */ export type UserCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the UserCountOutputType */ select?: UserCountOutputTypeSelect | null } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountPatientsArgs = { where?: PatientWhereInput } /** * UserCountOutputType without action */ export type UserCountOutputTypeCountAppointmentsArgs = { where?: AppointmentWhereInput } /** * Count Type PatientCountOutputType */ export type PatientCountOutputType = { appointments: number } export type PatientCountOutputTypeSelect = { appointments?: boolean | PatientCountOutputTypeCountAppointmentsArgs } // Custom InputTypes /** * PatientCountOutputType without action */ export type PatientCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the PatientCountOutputType */ select?: PatientCountOutputTypeSelect | null } /** * PatientCountOutputType without action */ export type PatientCountOutputTypeCountAppointmentsArgs = { where?: AppointmentWhereInput } /** * Models */ /** * Model User */ export type AggregateUser = { _count: UserCountAggregateOutputType | null _avg: UserAvgAggregateOutputType | null _sum: UserSumAggregateOutputType | null _min: UserMinAggregateOutputType | null _max: UserMaxAggregateOutputType | null } export type UserAvgAggregateOutputType = { id: number | null } export type UserSumAggregateOutputType = { id: number | null } export type UserMinAggregateOutputType = { id: number | null username: string | null password: string | null } export type UserMaxAggregateOutputType = { id: number | null username: string | null password: string | null } export type UserCountAggregateOutputType = { id: number username: number password: number _all: number } export type UserAvgAggregateInputType = { id?: true } export type UserSumAggregateInputType = { id?: true } export type UserMinAggregateInputType = { id?: true username?: true password?: true } export type UserMaxAggregateInputType = { id?: true username?: true password?: true } export type UserCountAggregateInputType = { id?: true username?: true password?: 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 average **/ _avg?: UserAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: UserSumAggregateInputType /** * {@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 _avg?: UserAvgAggregateInputType _sum?: UserSumAggregateInputType _min?: UserMinAggregateInputType _max?: UserMaxAggregateInputType } export type UserGroupByOutputType = { id: number username: string password: string _count: UserCountAggregateOutputType | null _avg: UserAvgAggregateOutputType | null _sum: UserSumAggregateOutputType | 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 username?: boolean password?: boolean patients?: boolean | User$patientsArgs appointments?: boolean | User$appointmentsArgs _count?: boolean | UserCountOutputTypeDefaultArgs }, ExtArgs["result"]["user"]> export type UserSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean username?: boolean password?: boolean }, ExtArgs["result"]["user"]> export type UserSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean username?: boolean password?: boolean }, ExtArgs["result"]["user"]> export type UserSelectScalar = { id?: boolean username?: boolean password?: boolean } export type UserOmit = $Extensions.GetOmit<"id" | "username" | "password", ExtArgs["result"]["user"]> export type UserInclude = { patients?: boolean | User$patientsArgs appointments?: boolean | User$appointmentsArgs _count?: boolean | UserCountOutputTypeDefaultArgs } export type UserIncludeCreateManyAndReturn = {} export type UserIncludeUpdateManyAndReturn = {} export type $UserPayload = { name: "User" objects: { patients: Prisma.$PatientPayload[] appointments: Prisma.$AppointmentPayload[] } scalars: $Extensions.GetPayloadResult<{ id: number username: string password: string }, 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" patients = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> appointments = {}>(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", 'Int'> readonly username: FieldRef<"User", 'String'> readonly password: FieldRef<"User", 'String'> } // Custom InputTypes /** * User findUnique */ export type UserFindUniqueArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findUniqueOrThrow */ export type UserFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where: UserWhereUniqueInput } /** * User findFirst */ export type UserFindFirstArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Users. */ distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User findFirstOrThrow */ export type UserFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which User to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Users. */ distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User findMany */ export type UserFindManyArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * Filter, which Users to fetch. */ where?: UserWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Users to fetch. */ orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Users. */ cursor?: UserWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Users from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Users. */ skip?: number distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] } /** * User create */ export type UserCreateArgs = { /** * Select specific fields to fetch from the User */ select?: UserSelect | null /** * Omit specific fields from the User */ omit?: UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: UserInclude | null /** * The data needed to create a User. */ data: XOR } /** * User createMany */ export type UserCreateManyArgs = { /** * The data used to create many Users. */ data: UserCreateManyInput | UserCreateManyInput[] 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.patients */ export type User$patientsArgs = { /** * Select specific fields to fetch from the Patient */ select?: PatientSelect | null /** * Omit specific fields from the Patient */ omit?: PatientOmit | null /** * Choose, which related nodes to fetch as well */ include?: PatientInclude | null where?: PatientWhereInput orderBy?: PatientOrderByWithRelationInput | PatientOrderByWithRelationInput[] cursor?: PatientWhereUniqueInput take?: number skip?: number distinct?: PatientScalarFieldEnum | PatientScalarFieldEnum[] } /** * User.appointments */ export type User$appointmentsArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelect | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * Choose, which related nodes to fetch as well */ include?: AppointmentInclude | null where?: AppointmentWhereInput orderBy?: AppointmentOrderByWithRelationInput | AppointmentOrderByWithRelationInput[] cursor?: AppointmentWhereUniqueInput take?: number skip?: number distinct?: AppointmentScalarFieldEnum | AppointmentScalarFieldEnum[] } /** * 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 Patient */ export type AggregatePatient = { _count: PatientCountAggregateOutputType | null _avg: PatientAvgAggregateOutputType | null _sum: PatientSumAggregateOutputType | null _min: PatientMinAggregateOutputType | null _max: PatientMaxAggregateOutputType | null } export type PatientAvgAggregateOutputType = { id: number | null userId: number | null } export type PatientSumAggregateOutputType = { id: number | null userId: number | null } export type PatientMinAggregateOutputType = { id: number | null firstName: string | null lastName: string | null dateOfBirth: Date | null gender: string | null phone: string | null email: string | null address: string | null city: string | null zipCode: string | null insuranceProvider: string | null insuranceId: string | null groupNumber: string | null policyHolder: string | null allergies: string | null medicalConditions: string | null status: string | null userId: number | null createdAt: Date | null } export type PatientMaxAggregateOutputType = { id: number | null firstName: string | null lastName: string | null dateOfBirth: Date | null gender: string | null phone: string | null email: string | null address: string | null city: string | null zipCode: string | null insuranceProvider: string | null insuranceId: string | null groupNumber: string | null policyHolder: string | null allergies: string | null medicalConditions: string | null status: string | null userId: number | null createdAt: Date | null } export type PatientCountAggregateOutputType = { id: number firstName: number lastName: number dateOfBirth: number gender: number phone: number email: number address: number city: number zipCode: number insuranceProvider: number insuranceId: number groupNumber: number policyHolder: number allergies: number medicalConditions: number status: number userId: number createdAt: number _all: number } export type PatientAvgAggregateInputType = { id?: true userId?: true } export type PatientSumAggregateInputType = { id?: true userId?: true } export type PatientMinAggregateInputType = { id?: true firstName?: true lastName?: true dateOfBirth?: true gender?: true phone?: true email?: true address?: true city?: true zipCode?: true insuranceProvider?: true insuranceId?: true groupNumber?: true policyHolder?: true allergies?: true medicalConditions?: true status?: true userId?: true createdAt?: true } export type PatientMaxAggregateInputType = { id?: true firstName?: true lastName?: true dateOfBirth?: true gender?: true phone?: true email?: true address?: true city?: true zipCode?: true insuranceProvider?: true insuranceId?: true groupNumber?: true policyHolder?: true allergies?: true medicalConditions?: true status?: true userId?: true createdAt?: true } export type PatientCountAggregateInputType = { id?: true firstName?: true lastName?: true dateOfBirth?: true gender?: true phone?: true email?: true address?: true city?: true zipCode?: true insuranceProvider?: true insuranceId?: true groupNumber?: true policyHolder?: true allergies?: true medicalConditions?: true status?: true userId?: true createdAt?: true _all?: true } export type PatientAggregateArgs = { /** * Filter which Patient to aggregate. */ where?: PatientWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Patients to fetch. */ orderBy?: PatientOrderByWithRelationInput | PatientOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: PatientWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Patients 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` Patients. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Patients **/ _count?: true | PatientCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: PatientAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: PatientSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: PatientMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: PatientMaxAggregateInputType } export type GetPatientAggregateType = { [P in keyof T & keyof AggregatePatient]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type PatientGroupByArgs = { where?: PatientWhereInput orderBy?: PatientOrderByWithAggregationInput | PatientOrderByWithAggregationInput[] by: PatientScalarFieldEnum[] | PatientScalarFieldEnum having?: PatientScalarWhereWithAggregatesInput take?: number skip?: number _count?: PatientCountAggregateInputType | true _avg?: PatientAvgAggregateInputType _sum?: PatientSumAggregateInputType _min?: PatientMinAggregateInputType _max?: PatientMaxAggregateInputType } export type PatientGroupByOutputType = { id: number firstName: string lastName: string dateOfBirth: Date gender: string phone: string email: string | null address: string | null city: string | null zipCode: string | null insuranceProvider: string | null insuranceId: string | null groupNumber: string | null policyHolder: string | null allergies: string | null medicalConditions: string | null status: string userId: number createdAt: Date _count: PatientCountAggregateOutputType | null _avg: PatientAvgAggregateOutputType | null _sum: PatientSumAggregateOutputType | null _min: PatientMinAggregateOutputType | null _max: PatientMaxAggregateOutputType | null } type GetPatientGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof PatientGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type PatientSelect = $Extensions.GetSelect<{ id?: boolean firstName?: boolean lastName?: boolean dateOfBirth?: boolean gender?: boolean phone?: boolean email?: boolean address?: boolean city?: boolean zipCode?: boolean insuranceProvider?: boolean insuranceId?: boolean groupNumber?: boolean policyHolder?: boolean allergies?: boolean medicalConditions?: boolean status?: boolean userId?: boolean createdAt?: boolean user?: boolean | UserDefaultArgs appointments?: boolean | Patient$appointmentsArgs _count?: boolean | PatientCountOutputTypeDefaultArgs }, ExtArgs["result"]["patient"]> export type PatientSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean firstName?: boolean lastName?: boolean dateOfBirth?: boolean gender?: boolean phone?: boolean email?: boolean address?: boolean city?: boolean zipCode?: boolean insuranceProvider?: boolean insuranceId?: boolean groupNumber?: boolean policyHolder?: boolean allergies?: boolean medicalConditions?: boolean status?: boolean userId?: boolean createdAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["patient"]> export type PatientSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean firstName?: boolean lastName?: boolean dateOfBirth?: boolean gender?: boolean phone?: boolean email?: boolean address?: boolean city?: boolean zipCode?: boolean insuranceProvider?: boolean insuranceId?: boolean groupNumber?: boolean policyHolder?: boolean allergies?: boolean medicalConditions?: boolean status?: boolean userId?: boolean createdAt?: boolean user?: boolean | UserDefaultArgs }, ExtArgs["result"]["patient"]> export type PatientSelectScalar = { id?: boolean firstName?: boolean lastName?: boolean dateOfBirth?: boolean gender?: boolean phone?: boolean email?: boolean address?: boolean city?: boolean zipCode?: boolean insuranceProvider?: boolean insuranceId?: boolean groupNumber?: boolean policyHolder?: boolean allergies?: boolean medicalConditions?: boolean status?: boolean userId?: boolean createdAt?: boolean } export type PatientOmit = $Extensions.GetOmit<"id" | "firstName" | "lastName" | "dateOfBirth" | "gender" | "phone" | "email" | "address" | "city" | "zipCode" | "insuranceProvider" | "insuranceId" | "groupNumber" | "policyHolder" | "allergies" | "medicalConditions" | "status" | "userId" | "createdAt", ExtArgs["result"]["patient"]> export type PatientInclude = { user?: boolean | UserDefaultArgs appointments?: boolean | Patient$appointmentsArgs _count?: boolean | PatientCountOutputTypeDefaultArgs } export type PatientIncludeCreateManyAndReturn = { user?: boolean | UserDefaultArgs } export type PatientIncludeUpdateManyAndReturn = { user?: boolean | UserDefaultArgs } export type $PatientPayload = { name: "Patient" objects: { user: Prisma.$UserPayload appointments: Prisma.$AppointmentPayload[] } scalars: $Extensions.GetPayloadResult<{ id: number firstName: string lastName: string dateOfBirth: Date gender: string phone: string email: string | null address: string | null city: string | null zipCode: string | null insuranceProvider: string | null insuranceId: string | null groupNumber: string | null policyHolder: string | null allergies: string | null medicalConditions: string | null status: string userId: number createdAt: Date }, ExtArgs["result"]["patient"]> composites: {} } type PatientGetPayload = $Result.GetResult type PatientCountArgs = Omit & { select?: PatientCountAggregateInputType | true } export interface PatientDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Patient'], meta: { name: 'Patient' } } /** * Find zero or one Patient that matches the filter. * @param {PatientFindUniqueArgs} args - Arguments to find a Patient * @example * // Get one Patient * const patient = await prisma.patient.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__PatientClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Patient that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {PatientFindUniqueOrThrowArgs} args - Arguments to find a Patient * @example * // Get one Patient * const patient = await prisma.patient.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__PatientClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Patient 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 {PatientFindFirstArgs} args - Arguments to find a Patient * @example * // Get one Patient * const patient = await prisma.patient.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__PatientClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Patient 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 {PatientFindFirstOrThrowArgs} args - Arguments to find a Patient * @example * // Get one Patient * const patient = await prisma.patient.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__PatientClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Patients 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 {PatientFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Patients * const patients = await prisma.patient.findMany() * * // Get first 10 Patients * const patients = await prisma.patient.findMany({ take: 10 }) * * // Only select the `id` * const patientWithIdOnly = await prisma.patient.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a Patient. * @param {PatientCreateArgs} args - Arguments to create a Patient. * @example * // Create one Patient * const Patient = await prisma.patient.create({ * data: { * // ... data to create a Patient * } * }) * */ create(args: SelectSubset>): Prisma__PatientClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Patients. * @param {PatientCreateManyArgs} args - Arguments to create many Patients. * @example * // Create many Patients * const patient = await prisma.patient.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Patients and returns the data saved in the database. * @param {PatientCreateManyAndReturnArgs} args - Arguments to create many Patients. * @example * // Create many Patients * const patient = await prisma.patient.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Patients and only return the `id` * const patientWithIdOnly = await prisma.patient.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 Patient. * @param {PatientDeleteArgs} args - Arguments to delete one Patient. * @example * // Delete one Patient * const Patient = await prisma.patient.delete({ * where: { * // ... filter to delete one Patient * } * }) * */ delete(args: SelectSubset>): Prisma__PatientClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Patient. * @param {PatientUpdateArgs} args - Arguments to update one Patient. * @example * // Update one Patient * const patient = await prisma.patient.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__PatientClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Patients. * @param {PatientDeleteManyArgs} args - Arguments to filter Patients to delete. * @example * // Delete a few Patients * const { count } = await prisma.patient.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Patients. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PatientUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Patients * const patient = await prisma.patient.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Patients and returns the data updated in the database. * @param {PatientUpdateManyAndReturnArgs} args - Arguments to update many Patients. * @example * // Update many Patients * const patient = await prisma.patient.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Patients and only return the `id` * const patientWithIdOnly = await prisma.patient.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 Patient. * @param {PatientUpsertArgs} args - Arguments to update or create a Patient. * @example * // Update or create a Patient * const patient = await prisma.patient.upsert({ * create: { * // ... data to create a Patient * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Patient we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__PatientClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of Patients. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PatientCountArgs} args - Arguments to filter Patients to count. * @example * // Count the number of Patients * const count = await prisma.patient.count({ * where: { * // ... the filter for the Patients 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 Patient. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PatientAggregateArgs} 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 Patient. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {PatientGroupByArgs} 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 PatientGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: PatientGroupByArgs['orderBy'] } : { orderBy?: PatientGroupByArgs['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 ? GetPatientGroupByPayload : Prisma.PrismaPromise /** * Fields of the Patient model */ readonly fields: PatientFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Patient. * 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__PatientClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> appointments = {}>(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 Patient model */ interface PatientFieldRefs { readonly id: FieldRef<"Patient", 'Int'> readonly firstName: FieldRef<"Patient", 'String'> readonly lastName: FieldRef<"Patient", 'String'> readonly dateOfBirth: FieldRef<"Patient", 'DateTime'> readonly gender: FieldRef<"Patient", 'String'> readonly phone: FieldRef<"Patient", 'String'> readonly email: FieldRef<"Patient", 'String'> readonly address: FieldRef<"Patient", 'String'> readonly city: FieldRef<"Patient", 'String'> readonly zipCode: FieldRef<"Patient", 'String'> readonly insuranceProvider: FieldRef<"Patient", 'String'> readonly insuranceId: FieldRef<"Patient", 'String'> readonly groupNumber: FieldRef<"Patient", 'String'> readonly policyHolder: FieldRef<"Patient", 'String'> readonly allergies: FieldRef<"Patient", 'String'> readonly medicalConditions: FieldRef<"Patient", 'String'> readonly status: FieldRef<"Patient", 'String'> readonly userId: FieldRef<"Patient", 'Int'> readonly createdAt: FieldRef<"Patient", 'DateTime'> } // Custom InputTypes /** * Patient findUnique */ export type PatientFindUniqueArgs = { /** * Select specific fields to fetch from the Patient */ select?: PatientSelect | null /** * Omit specific fields from the Patient */ omit?: PatientOmit | null /** * Choose, which related nodes to fetch as well */ include?: PatientInclude | null /** * Filter, which Patient to fetch. */ where: PatientWhereUniqueInput } /** * Patient findUniqueOrThrow */ export type PatientFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Patient */ select?: PatientSelect | null /** * Omit specific fields from the Patient */ omit?: PatientOmit | null /** * Choose, which related nodes to fetch as well */ include?: PatientInclude | null /** * Filter, which Patient to fetch. */ where: PatientWhereUniqueInput } /** * Patient findFirst */ export type PatientFindFirstArgs = { /** * Select specific fields to fetch from the Patient */ select?: PatientSelect | null /** * Omit specific fields from the Patient */ omit?: PatientOmit | null /** * Choose, which related nodes to fetch as well */ include?: PatientInclude | null /** * Filter, which Patient to fetch. */ where?: PatientWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Patients to fetch. */ orderBy?: PatientOrderByWithRelationInput | PatientOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Patients. */ cursor?: PatientWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Patients 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` Patients. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Patients. */ distinct?: PatientScalarFieldEnum | PatientScalarFieldEnum[] } /** * Patient findFirstOrThrow */ export type PatientFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Patient */ select?: PatientSelect | null /** * Omit specific fields from the Patient */ omit?: PatientOmit | null /** * Choose, which related nodes to fetch as well */ include?: PatientInclude | null /** * Filter, which Patient to fetch. */ where?: PatientWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Patients to fetch. */ orderBy?: PatientOrderByWithRelationInput | PatientOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Patients. */ cursor?: PatientWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Patients 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` Patients. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Patients. */ distinct?: PatientScalarFieldEnum | PatientScalarFieldEnum[] } /** * Patient findMany */ export type PatientFindManyArgs = { /** * Select specific fields to fetch from the Patient */ select?: PatientSelect | null /** * Omit specific fields from the Patient */ omit?: PatientOmit | null /** * Choose, which related nodes to fetch as well */ include?: PatientInclude | null /** * Filter, which Patients to fetch. */ where?: PatientWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Patients to fetch. */ orderBy?: PatientOrderByWithRelationInput | PatientOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Patients. */ cursor?: PatientWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Patients 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` Patients. */ skip?: number distinct?: PatientScalarFieldEnum | PatientScalarFieldEnum[] } /** * Patient create */ export type PatientCreateArgs = { /** * Select specific fields to fetch from the Patient */ select?: PatientSelect | null /** * Omit specific fields from the Patient */ omit?: PatientOmit | null /** * Choose, which related nodes to fetch as well */ include?: PatientInclude | null /** * The data needed to create a Patient. */ data: XOR } /** * Patient createMany */ export type PatientCreateManyArgs = { /** * The data used to create many Patients. */ data: PatientCreateManyInput | PatientCreateManyInput[] skipDuplicates?: boolean } /** * Patient createManyAndReturn */ export type PatientCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Patient */ select?: PatientSelectCreateManyAndReturn | null /** * Omit specific fields from the Patient */ omit?: PatientOmit | null /** * The data used to create many Patients. */ data: PatientCreateManyInput | PatientCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: PatientIncludeCreateManyAndReturn | null } /** * Patient update */ export type PatientUpdateArgs = { /** * Select specific fields to fetch from the Patient */ select?: PatientSelect | null /** * Omit specific fields from the Patient */ omit?: PatientOmit | null /** * Choose, which related nodes to fetch as well */ include?: PatientInclude | null /** * The data needed to update a Patient. */ data: XOR /** * Choose, which Patient to update. */ where: PatientWhereUniqueInput } /** * Patient updateMany */ export type PatientUpdateManyArgs = { /** * The data used to update Patients. */ data: XOR /** * Filter which Patients to update */ where?: PatientWhereInput /** * Limit how many Patients to update. */ limit?: number } /** * Patient updateManyAndReturn */ export type PatientUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Patient */ select?: PatientSelectUpdateManyAndReturn | null /** * Omit specific fields from the Patient */ omit?: PatientOmit | null /** * The data used to update Patients. */ data: XOR /** * Filter which Patients to update */ where?: PatientWhereInput /** * Limit how many Patients to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: PatientIncludeUpdateManyAndReturn | null } /** * Patient upsert */ export type PatientUpsertArgs = { /** * Select specific fields to fetch from the Patient */ select?: PatientSelect | null /** * Omit specific fields from the Patient */ omit?: PatientOmit | null /** * Choose, which related nodes to fetch as well */ include?: PatientInclude | null /** * The filter to search for the Patient to update in case it exists. */ where: PatientWhereUniqueInput /** * In case the Patient found by the `where` argument doesn't exist, create a new Patient with this data. */ create: XOR /** * In case the Patient was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Patient delete */ export type PatientDeleteArgs = { /** * Select specific fields to fetch from the Patient */ select?: PatientSelect | null /** * Omit specific fields from the Patient */ omit?: PatientOmit | null /** * Choose, which related nodes to fetch as well */ include?: PatientInclude | null /** * Filter which Patient to delete. */ where: PatientWhereUniqueInput } /** * Patient deleteMany */ export type PatientDeleteManyArgs = { /** * Filter which Patients to delete */ where?: PatientWhereInput /** * Limit how many Patients to delete. */ limit?: number } /** * Patient.appointments */ export type Patient$appointmentsArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelect | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * Choose, which related nodes to fetch as well */ include?: AppointmentInclude | null where?: AppointmentWhereInput orderBy?: AppointmentOrderByWithRelationInput | AppointmentOrderByWithRelationInput[] cursor?: AppointmentWhereUniqueInput take?: number skip?: number distinct?: AppointmentScalarFieldEnum | AppointmentScalarFieldEnum[] } /** * Patient without action */ export type PatientDefaultArgs = { /** * Select specific fields to fetch from the Patient */ select?: PatientSelect | null /** * Omit specific fields from the Patient */ omit?: PatientOmit | null /** * Choose, which related nodes to fetch as well */ include?: PatientInclude | null } /** * Model Appointment */ export type AggregateAppointment = { _count: AppointmentCountAggregateOutputType | null _avg: AppointmentAvgAggregateOutputType | null _sum: AppointmentSumAggregateOutputType | null _min: AppointmentMinAggregateOutputType | null _max: AppointmentMaxAggregateOutputType | null } export type AppointmentAvgAggregateOutputType = { id: number | null patientId: number | null userId: number | null } export type AppointmentSumAggregateOutputType = { id: number | null patientId: number | null userId: number | null } export type AppointmentMinAggregateOutputType = { id: number | null patientId: number | null userId: number | null title: string | null date: Date | null startTime: Date | null endTime: Date | null type: string | null notes: string | null status: string | null createdAt: Date | null } export type AppointmentMaxAggregateOutputType = { id: number | null patientId: number | null userId: number | null title: string | null date: Date | null startTime: Date | null endTime: Date | null type: string | null notes: string | null status: string | null createdAt: Date | null } export type AppointmentCountAggregateOutputType = { id: number patientId: number userId: number title: number date: number startTime: number endTime: number type: number notes: number status: number createdAt: number _all: number } export type AppointmentAvgAggregateInputType = { id?: true patientId?: true userId?: true } export type AppointmentSumAggregateInputType = { id?: true patientId?: true userId?: true } export type AppointmentMinAggregateInputType = { id?: true patientId?: true userId?: true title?: true date?: true startTime?: true endTime?: true type?: true notes?: true status?: true createdAt?: true } export type AppointmentMaxAggregateInputType = { id?: true patientId?: true userId?: true title?: true date?: true startTime?: true endTime?: true type?: true notes?: true status?: true createdAt?: true } export type AppointmentCountAggregateInputType = { id?: true patientId?: true userId?: true title?: true date?: true startTime?: true endTime?: true type?: true notes?: true status?: true createdAt?: true _all?: true } export type AppointmentAggregateArgs = { /** * Filter which Appointment to aggregate. */ where?: AppointmentWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Appointments to fetch. */ orderBy?: AppointmentOrderByWithRelationInput | AppointmentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: AppointmentWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Appointments 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` Appointments. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Appointments **/ _count?: true | AppointmentCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: AppointmentAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: AppointmentSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: AppointmentMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: AppointmentMaxAggregateInputType } export type GetAppointmentAggregateType = { [P in keyof T & keyof AggregateAppointment]: P extends '_count' | 'count' ? T[P] extends true ? number : GetScalarType : GetScalarType } export type AppointmentGroupByArgs = { where?: AppointmentWhereInput orderBy?: AppointmentOrderByWithAggregationInput | AppointmentOrderByWithAggregationInput[] by: AppointmentScalarFieldEnum[] | AppointmentScalarFieldEnum having?: AppointmentScalarWhereWithAggregatesInput take?: number skip?: number _count?: AppointmentCountAggregateInputType | true _avg?: AppointmentAvgAggregateInputType _sum?: AppointmentSumAggregateInputType _min?: AppointmentMinAggregateInputType _max?: AppointmentMaxAggregateInputType } export type AppointmentGroupByOutputType = { id: number patientId: number userId: number title: string date: Date startTime: Date endTime: Date type: string notes: string | null status: string createdAt: Date _count: AppointmentCountAggregateOutputType | null _avg: AppointmentAvgAggregateOutputType | null _sum: AppointmentSumAggregateOutputType | null _min: AppointmentMinAggregateOutputType | null _max: AppointmentMaxAggregateOutputType | null } type GetAppointmentGroupByPayload = Prisma.PrismaPromise< Array< PickEnumerable & { [P in ((keyof T) & (keyof AppointmentGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : GetScalarType : GetScalarType } > > export type AppointmentSelect = $Extensions.GetSelect<{ id?: boolean patientId?: boolean userId?: boolean title?: boolean date?: boolean startTime?: boolean endTime?: boolean type?: boolean notes?: boolean status?: boolean createdAt?: boolean patient?: boolean | PatientDefaultArgs user?: boolean | UserDefaultArgs }, ExtArgs["result"]["appointment"]> export type AppointmentSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean patientId?: boolean userId?: boolean title?: boolean date?: boolean startTime?: boolean endTime?: boolean type?: boolean notes?: boolean status?: boolean createdAt?: boolean patient?: boolean | PatientDefaultArgs user?: boolean | UserDefaultArgs }, ExtArgs["result"]["appointment"]> export type AppointmentSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean patientId?: boolean userId?: boolean title?: boolean date?: boolean startTime?: boolean endTime?: boolean type?: boolean notes?: boolean status?: boolean createdAt?: boolean patient?: boolean | PatientDefaultArgs user?: boolean | UserDefaultArgs }, ExtArgs["result"]["appointment"]> export type AppointmentSelectScalar = { id?: boolean patientId?: boolean userId?: boolean title?: boolean date?: boolean startTime?: boolean endTime?: boolean type?: boolean notes?: boolean status?: boolean createdAt?: boolean } export type AppointmentOmit = $Extensions.GetOmit<"id" | "patientId" | "userId" | "title" | "date" | "startTime" | "endTime" | "type" | "notes" | "status" | "createdAt", ExtArgs["result"]["appointment"]> export type AppointmentInclude = { patient?: boolean | PatientDefaultArgs user?: boolean | UserDefaultArgs } export type AppointmentIncludeCreateManyAndReturn = { patient?: boolean | PatientDefaultArgs user?: boolean | UserDefaultArgs } export type AppointmentIncludeUpdateManyAndReturn = { patient?: boolean | PatientDefaultArgs user?: boolean | UserDefaultArgs } export type $AppointmentPayload = { name: "Appointment" objects: { patient: Prisma.$PatientPayload user: Prisma.$UserPayload } scalars: $Extensions.GetPayloadResult<{ id: number patientId: number userId: number title: string date: Date startTime: Date endTime: Date type: string notes: string | null status: string createdAt: Date }, ExtArgs["result"]["appointment"]> composites: {} } type AppointmentGetPayload = $Result.GetResult type AppointmentCountArgs = Omit & { select?: AppointmentCountAggregateInputType | true } export interface AppointmentDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Appointment'], meta: { name: 'Appointment' } } /** * Find zero or one Appointment that matches the filter. * @param {AppointmentFindUniqueArgs} args - Arguments to find a Appointment * @example * // Get one Appointment * const appointment = await prisma.appointment.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: SelectSubset>): Prisma__AppointmentClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Appointment that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {AppointmentFindUniqueOrThrowArgs} args - Arguments to find a Appointment * @example * // Get one Appointment * const appointment = await prisma.appointment.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: SelectSubset>): Prisma__AppointmentClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Appointment 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 {AppointmentFindFirstArgs} args - Arguments to find a Appointment * @example * // Get one Appointment * const appointment = await prisma.appointment.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: SelectSubset>): Prisma__AppointmentClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Appointment 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 {AppointmentFindFirstOrThrowArgs} args - Arguments to find a Appointment * @example * // Get one Appointment * const appointment = await prisma.appointment.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: SelectSubset>): Prisma__AppointmentClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Appointments 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 {AppointmentFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Appointments * const appointments = await prisma.appointment.findMany() * * // Get first 10 Appointments * const appointments = await prisma.appointment.findMany({ take: 10 }) * * // Only select the `id` * const appointmentWithIdOnly = await prisma.appointment.findMany({ select: { id: true } }) * */ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> /** * Create a Appointment. * @param {AppointmentCreateArgs} args - Arguments to create a Appointment. * @example * // Create one Appointment * const Appointment = await prisma.appointment.create({ * data: { * // ... data to create a Appointment * } * }) * */ create(args: SelectSubset>): Prisma__AppointmentClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Appointments. * @param {AppointmentCreateManyArgs} args - Arguments to create many Appointments. * @example * // Create many Appointments * const appointment = await prisma.appointment.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Create many Appointments and returns the data saved in the database. * @param {AppointmentCreateManyAndReturnArgs} args - Arguments to create many Appointments. * @example * // Create many Appointments * const appointment = await prisma.appointment.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Appointments and only return the `id` * const appointmentWithIdOnly = await prisma.appointment.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 Appointment. * @param {AppointmentDeleteArgs} args - Arguments to delete one Appointment. * @example * // Delete one Appointment * const Appointment = await prisma.appointment.delete({ * where: { * // ... filter to delete one Appointment * } * }) * */ delete(args: SelectSubset>): Prisma__AppointmentClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Appointment. * @param {AppointmentUpdateArgs} args - Arguments to update one Appointment. * @example * // Update one Appointment * const appointment = await prisma.appointment.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: SelectSubset>): Prisma__AppointmentClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Appointments. * @param {AppointmentDeleteManyArgs} args - Arguments to filter Appointments to delete. * @example * // Delete a few Appointments * const { count } = await prisma.appointment.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Appointments. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AppointmentUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Appointments * const appointment = await prisma.appointment.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Appointments and returns the data updated in the database. * @param {AppointmentUpdateManyAndReturnArgs} args - Arguments to update many Appointments. * @example * // Update many Appointments * const appointment = await prisma.appointment.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Appointments and only return the `id` * const appointmentWithIdOnly = await prisma.appointment.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 Appointment. * @param {AppointmentUpsertArgs} args - Arguments to update or create a Appointment. * @example * // Update or create a Appointment * const appointment = await prisma.appointment.upsert({ * create: { * // ... data to create a Appointment * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Appointment we want to update * } * }) */ upsert(args: SelectSubset>): Prisma__AppointmentClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of Appointments. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AppointmentCountArgs} args - Arguments to filter Appointments to count. * @example * // Count the number of Appointments * const count = await prisma.appointment.count({ * where: { * // ... the filter for the Appointments 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 Appointment. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AppointmentAggregateArgs} 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 Appointment. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {AppointmentGroupByArgs} 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 AppointmentGroupByArgs, HasSelectOrTake extends Or< Extends<'skip', Keys>, Extends<'take', Keys> >, OrderByArg extends True extends HasSelectOrTake ? { orderBy: AppointmentGroupByArgs['orderBy'] } : { orderBy?: AppointmentGroupByArgs['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 ? GetAppointmentGroupByPayload : Prisma.PrismaPromise /** * Fields of the Appointment model */ readonly fields: AppointmentFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Appointment. * 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__AppointmentClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" patient = {}>(args?: Subset>): Prisma__PatientClient<$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 Appointment model */ interface AppointmentFieldRefs { readonly id: FieldRef<"Appointment", 'Int'> readonly patientId: FieldRef<"Appointment", 'Int'> readonly userId: FieldRef<"Appointment", 'Int'> readonly title: FieldRef<"Appointment", 'String'> readonly date: FieldRef<"Appointment", 'DateTime'> readonly startTime: FieldRef<"Appointment", 'DateTime'> readonly endTime: FieldRef<"Appointment", 'DateTime'> readonly type: FieldRef<"Appointment", 'String'> readonly notes: FieldRef<"Appointment", 'String'> readonly status: FieldRef<"Appointment", 'String'> readonly createdAt: FieldRef<"Appointment", 'DateTime'> } // Custom InputTypes /** * Appointment findUnique */ export type AppointmentFindUniqueArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelect | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * Choose, which related nodes to fetch as well */ include?: AppointmentInclude | null /** * Filter, which Appointment to fetch. */ where: AppointmentWhereUniqueInput } /** * Appointment findUniqueOrThrow */ export type AppointmentFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelect | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * Choose, which related nodes to fetch as well */ include?: AppointmentInclude | null /** * Filter, which Appointment to fetch. */ where: AppointmentWhereUniqueInput } /** * Appointment findFirst */ export type AppointmentFindFirstArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelect | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * Choose, which related nodes to fetch as well */ include?: AppointmentInclude | null /** * Filter, which Appointment to fetch. */ where?: AppointmentWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Appointments to fetch. */ orderBy?: AppointmentOrderByWithRelationInput | AppointmentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Appointments. */ cursor?: AppointmentWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Appointments 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` Appointments. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Appointments. */ distinct?: AppointmentScalarFieldEnum | AppointmentScalarFieldEnum[] } /** * Appointment findFirstOrThrow */ export type AppointmentFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelect | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * Choose, which related nodes to fetch as well */ include?: AppointmentInclude | null /** * Filter, which Appointment to fetch. */ where?: AppointmentWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Appointments to fetch. */ orderBy?: AppointmentOrderByWithRelationInput | AppointmentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Appointments. */ cursor?: AppointmentWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Appointments 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` Appointments. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Appointments. */ distinct?: AppointmentScalarFieldEnum | AppointmentScalarFieldEnum[] } /** * Appointment findMany */ export type AppointmentFindManyArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelect | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * Choose, which related nodes to fetch as well */ include?: AppointmentInclude | null /** * Filter, which Appointments to fetch. */ where?: AppointmentWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Appointments to fetch. */ orderBy?: AppointmentOrderByWithRelationInput | AppointmentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Appointments. */ cursor?: AppointmentWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Appointments 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` Appointments. */ skip?: number distinct?: AppointmentScalarFieldEnum | AppointmentScalarFieldEnum[] } /** * Appointment create */ export type AppointmentCreateArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelect | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * Choose, which related nodes to fetch as well */ include?: AppointmentInclude | null /** * The data needed to create a Appointment. */ data: XOR } /** * Appointment createMany */ export type AppointmentCreateManyArgs = { /** * The data used to create many Appointments. */ data: AppointmentCreateManyInput | AppointmentCreateManyInput[] skipDuplicates?: boolean } /** * Appointment createManyAndReturn */ export type AppointmentCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelectCreateManyAndReturn | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * The data used to create many Appointments. */ data: AppointmentCreateManyInput | AppointmentCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: AppointmentIncludeCreateManyAndReturn | null } /** * Appointment update */ export type AppointmentUpdateArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelect | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * Choose, which related nodes to fetch as well */ include?: AppointmentInclude | null /** * The data needed to update a Appointment. */ data: XOR /** * Choose, which Appointment to update. */ where: AppointmentWhereUniqueInput } /** * Appointment updateMany */ export type AppointmentUpdateManyArgs = { /** * The data used to update Appointments. */ data: XOR /** * Filter which Appointments to update */ where?: AppointmentWhereInput /** * Limit how many Appointments to update. */ limit?: number } /** * Appointment updateManyAndReturn */ export type AppointmentUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelectUpdateManyAndReturn | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * The data used to update Appointments. */ data: XOR /** * Filter which Appointments to update */ where?: AppointmentWhereInput /** * Limit how many Appointments to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: AppointmentIncludeUpdateManyAndReturn | null } /** * Appointment upsert */ export type AppointmentUpsertArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelect | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * Choose, which related nodes to fetch as well */ include?: AppointmentInclude | null /** * The filter to search for the Appointment to update in case it exists. */ where: AppointmentWhereUniqueInput /** * In case the Appointment found by the `where` argument doesn't exist, create a new Appointment with this data. */ create: XOR /** * In case the Appointment was found with the provided `where` argument, update it with this data. */ update: XOR } /** * Appointment delete */ export type AppointmentDeleteArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelect | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * Choose, which related nodes to fetch as well */ include?: AppointmentInclude | null /** * Filter which Appointment to delete. */ where: AppointmentWhereUniqueInput } /** * Appointment deleteMany */ export type AppointmentDeleteManyArgs = { /** * Filter which Appointments to delete */ where?: AppointmentWhereInput /** * Limit how many Appointments to delete. */ limit?: number } /** * Appointment without action */ export type AppointmentDefaultArgs = { /** * Select specific fields to fetch from the Appointment */ select?: AppointmentSelect | null /** * Omit specific fields from the Appointment */ omit?: AppointmentOmit | null /** * Choose, which related nodes to fetch as well */ include?: AppointmentInclude | null } /** * Enums */ export const TransactionIsolationLevel: { ReadUncommitted: 'ReadUncommitted', ReadCommitted: 'ReadCommitted', RepeatableRead: 'RepeatableRead', Serializable: 'Serializable' }; export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] export const UserScalarFieldEnum: { id: 'id', username: 'username', password: 'password' }; export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] export const PatientScalarFieldEnum: { id: 'id', firstName: 'firstName', lastName: 'lastName', dateOfBirth: 'dateOfBirth', gender: 'gender', phone: 'phone', email: 'email', address: 'address', city: 'city', zipCode: 'zipCode', insuranceProvider: 'insuranceProvider', insuranceId: 'insuranceId', groupNumber: 'groupNumber', policyHolder: 'policyHolder', allergies: 'allergies', medicalConditions: 'medicalConditions', status: 'status', userId: 'userId', createdAt: 'createdAt' }; export type PatientScalarFieldEnum = (typeof PatientScalarFieldEnum)[keyof typeof PatientScalarFieldEnum] export const AppointmentScalarFieldEnum: { id: 'id', patientId: 'patientId', userId: 'userId', title: 'title', date: 'date', startTime: 'startTime', endTime: 'endTime', type: 'type', notes: 'notes', status: 'status', createdAt: 'createdAt' }; export type AppointmentScalarFieldEnum = (typeof AppointmentScalarFieldEnum)[keyof typeof AppointmentScalarFieldEnum] export const SortOrder: { asc: 'asc', desc: 'desc' }; export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] export const QueryMode: { default: 'default', insensitive: 'insensitive' }; export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] export const NullsOrder: { first: 'first', last: 'last' }; export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder] /** * Field references */ /** * Reference to a field of type '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 '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 '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 'Float' */ export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> /** * Reference to a field of type 'Float[]' */ export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'> /** * Deep Input Types */ export type UserWhereInput = { AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] id?: IntFilter<"User"> | number username?: StringFilter<"User"> | string password?: StringFilter<"User"> | string patients?: PatientListRelationFilter appointments?: AppointmentListRelationFilter } export type UserOrderByWithRelationInput = { id?: SortOrder username?: SortOrder password?: SortOrder patients?: PatientOrderByRelationAggregateInput appointments?: AppointmentOrderByRelationAggregateInput } export type UserWhereUniqueInput = Prisma.AtLeast<{ id?: number username?: string AND?: UserWhereInput | UserWhereInput[] OR?: UserWhereInput[] NOT?: UserWhereInput | UserWhereInput[] password?: StringFilter<"User"> | string patients?: PatientListRelationFilter appointments?: AppointmentListRelationFilter }, "id" | "username"> export type UserOrderByWithAggregationInput = { id?: SortOrder username?: SortOrder password?: SortOrder _count?: UserCountOrderByAggregateInput _avg?: UserAvgOrderByAggregateInput _max?: UserMaxOrderByAggregateInput _min?: UserMinOrderByAggregateInput _sum?: UserSumOrderByAggregateInput } export type UserScalarWhereWithAggregatesInput = { AND?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] OR?: UserScalarWhereWithAggregatesInput[] NOT?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] id?: IntWithAggregatesFilter<"User"> | number username?: StringWithAggregatesFilter<"User"> | string password?: StringWithAggregatesFilter<"User"> | string } export type PatientWhereInput = { AND?: PatientWhereInput | PatientWhereInput[] OR?: PatientWhereInput[] NOT?: PatientWhereInput | PatientWhereInput[] id?: IntFilter<"Patient"> | number firstName?: StringFilter<"Patient"> | string lastName?: StringFilter<"Patient"> | string dateOfBirth?: DateTimeFilter<"Patient"> | Date | string gender?: StringFilter<"Patient"> | string phone?: StringFilter<"Patient"> | string email?: StringNullableFilter<"Patient"> | string | null address?: StringNullableFilter<"Patient"> | string | null city?: StringNullableFilter<"Patient"> | string | null zipCode?: StringNullableFilter<"Patient"> | string | null insuranceProvider?: StringNullableFilter<"Patient"> | string | null insuranceId?: StringNullableFilter<"Patient"> | string | null groupNumber?: StringNullableFilter<"Patient"> | string | null policyHolder?: StringNullableFilter<"Patient"> | string | null allergies?: StringNullableFilter<"Patient"> | string | null medicalConditions?: StringNullableFilter<"Patient"> | string | null status?: StringFilter<"Patient"> | string userId?: IntFilter<"Patient"> | number createdAt?: DateTimeFilter<"Patient"> | Date | string user?: XOR appointments?: AppointmentListRelationFilter } export type PatientOrderByWithRelationInput = { id?: SortOrder firstName?: SortOrder lastName?: SortOrder dateOfBirth?: SortOrder gender?: SortOrder phone?: SortOrder email?: SortOrderInput | SortOrder address?: SortOrderInput | SortOrder city?: SortOrderInput | SortOrder zipCode?: SortOrderInput | SortOrder insuranceProvider?: SortOrderInput | SortOrder insuranceId?: SortOrderInput | SortOrder groupNumber?: SortOrderInput | SortOrder policyHolder?: SortOrderInput | SortOrder allergies?: SortOrderInput | SortOrder medicalConditions?: SortOrderInput | SortOrder status?: SortOrder userId?: SortOrder createdAt?: SortOrder user?: UserOrderByWithRelationInput appointments?: AppointmentOrderByRelationAggregateInput } export type PatientWhereUniqueInput = Prisma.AtLeast<{ id?: number AND?: PatientWhereInput | PatientWhereInput[] OR?: PatientWhereInput[] NOT?: PatientWhereInput | PatientWhereInput[] firstName?: StringFilter<"Patient"> | string lastName?: StringFilter<"Patient"> | string dateOfBirth?: DateTimeFilter<"Patient"> | Date | string gender?: StringFilter<"Patient"> | string phone?: StringFilter<"Patient"> | string email?: StringNullableFilter<"Patient"> | string | null address?: StringNullableFilter<"Patient"> | string | null city?: StringNullableFilter<"Patient"> | string | null zipCode?: StringNullableFilter<"Patient"> | string | null insuranceProvider?: StringNullableFilter<"Patient"> | string | null insuranceId?: StringNullableFilter<"Patient"> | string | null groupNumber?: StringNullableFilter<"Patient"> | string | null policyHolder?: StringNullableFilter<"Patient"> | string | null allergies?: StringNullableFilter<"Patient"> | string | null medicalConditions?: StringNullableFilter<"Patient"> | string | null status?: StringFilter<"Patient"> | string userId?: IntFilter<"Patient"> | number createdAt?: DateTimeFilter<"Patient"> | Date | string user?: XOR appointments?: AppointmentListRelationFilter }, "id"> export type PatientOrderByWithAggregationInput = { id?: SortOrder firstName?: SortOrder lastName?: SortOrder dateOfBirth?: SortOrder gender?: SortOrder phone?: SortOrder email?: SortOrderInput | SortOrder address?: SortOrderInput | SortOrder city?: SortOrderInput | SortOrder zipCode?: SortOrderInput | SortOrder insuranceProvider?: SortOrderInput | SortOrder insuranceId?: SortOrderInput | SortOrder groupNumber?: SortOrderInput | SortOrder policyHolder?: SortOrderInput | SortOrder allergies?: SortOrderInput | SortOrder medicalConditions?: SortOrderInput | SortOrder status?: SortOrder userId?: SortOrder createdAt?: SortOrder _count?: PatientCountOrderByAggregateInput _avg?: PatientAvgOrderByAggregateInput _max?: PatientMaxOrderByAggregateInput _min?: PatientMinOrderByAggregateInput _sum?: PatientSumOrderByAggregateInput } export type PatientScalarWhereWithAggregatesInput = { AND?: PatientScalarWhereWithAggregatesInput | PatientScalarWhereWithAggregatesInput[] OR?: PatientScalarWhereWithAggregatesInput[] NOT?: PatientScalarWhereWithAggregatesInput | PatientScalarWhereWithAggregatesInput[] id?: IntWithAggregatesFilter<"Patient"> | number firstName?: StringWithAggregatesFilter<"Patient"> | string lastName?: StringWithAggregatesFilter<"Patient"> | string dateOfBirth?: DateTimeWithAggregatesFilter<"Patient"> | Date | string gender?: StringWithAggregatesFilter<"Patient"> | string phone?: StringWithAggregatesFilter<"Patient"> | string email?: StringNullableWithAggregatesFilter<"Patient"> | string | null address?: StringNullableWithAggregatesFilter<"Patient"> | string | null city?: StringNullableWithAggregatesFilter<"Patient"> | string | null zipCode?: StringNullableWithAggregatesFilter<"Patient"> | string | null insuranceProvider?: StringNullableWithAggregatesFilter<"Patient"> | string | null insuranceId?: StringNullableWithAggregatesFilter<"Patient"> | string | null groupNumber?: StringNullableWithAggregatesFilter<"Patient"> | string | null policyHolder?: StringNullableWithAggregatesFilter<"Patient"> | string | null allergies?: StringNullableWithAggregatesFilter<"Patient"> | string | null medicalConditions?: StringNullableWithAggregatesFilter<"Patient"> | string | null status?: StringWithAggregatesFilter<"Patient"> | string userId?: IntWithAggregatesFilter<"Patient"> | number createdAt?: DateTimeWithAggregatesFilter<"Patient"> | Date | string } export type AppointmentWhereInput = { AND?: AppointmentWhereInput | AppointmentWhereInput[] OR?: AppointmentWhereInput[] NOT?: AppointmentWhereInput | AppointmentWhereInput[] id?: IntFilter<"Appointment"> | number patientId?: IntFilter<"Appointment"> | number userId?: IntFilter<"Appointment"> | number title?: StringFilter<"Appointment"> | string date?: DateTimeFilter<"Appointment"> | Date | string startTime?: DateTimeFilter<"Appointment"> | Date | string endTime?: DateTimeFilter<"Appointment"> | Date | string type?: StringFilter<"Appointment"> | string notes?: StringNullableFilter<"Appointment"> | string | null status?: StringFilter<"Appointment"> | string createdAt?: DateTimeFilter<"Appointment"> | Date | string patient?: XOR user?: XOR } export type AppointmentOrderByWithRelationInput = { id?: SortOrder patientId?: SortOrder userId?: SortOrder title?: SortOrder date?: SortOrder startTime?: SortOrder endTime?: SortOrder type?: SortOrder notes?: SortOrderInput | SortOrder status?: SortOrder createdAt?: SortOrder patient?: PatientOrderByWithRelationInput user?: UserOrderByWithRelationInput } export type AppointmentWhereUniqueInput = Prisma.AtLeast<{ id?: number AND?: AppointmentWhereInput | AppointmentWhereInput[] OR?: AppointmentWhereInput[] NOT?: AppointmentWhereInput | AppointmentWhereInput[] patientId?: IntFilter<"Appointment"> | number userId?: IntFilter<"Appointment"> | number title?: StringFilter<"Appointment"> | string date?: DateTimeFilter<"Appointment"> | Date | string startTime?: DateTimeFilter<"Appointment"> | Date | string endTime?: DateTimeFilter<"Appointment"> | Date | string type?: StringFilter<"Appointment"> | string notes?: StringNullableFilter<"Appointment"> | string | null status?: StringFilter<"Appointment"> | string createdAt?: DateTimeFilter<"Appointment"> | Date | string patient?: XOR user?: XOR }, "id"> export type AppointmentOrderByWithAggregationInput = { id?: SortOrder patientId?: SortOrder userId?: SortOrder title?: SortOrder date?: SortOrder startTime?: SortOrder endTime?: SortOrder type?: SortOrder notes?: SortOrderInput | SortOrder status?: SortOrder createdAt?: SortOrder _count?: AppointmentCountOrderByAggregateInput _avg?: AppointmentAvgOrderByAggregateInput _max?: AppointmentMaxOrderByAggregateInput _min?: AppointmentMinOrderByAggregateInput _sum?: AppointmentSumOrderByAggregateInput } export type AppointmentScalarWhereWithAggregatesInput = { AND?: AppointmentScalarWhereWithAggregatesInput | AppointmentScalarWhereWithAggregatesInput[] OR?: AppointmentScalarWhereWithAggregatesInput[] NOT?: AppointmentScalarWhereWithAggregatesInput | AppointmentScalarWhereWithAggregatesInput[] id?: IntWithAggregatesFilter<"Appointment"> | number patientId?: IntWithAggregatesFilter<"Appointment"> | number userId?: IntWithAggregatesFilter<"Appointment"> | number title?: StringWithAggregatesFilter<"Appointment"> | string date?: DateTimeWithAggregatesFilter<"Appointment"> | Date | string startTime?: DateTimeWithAggregatesFilter<"Appointment"> | Date | string endTime?: DateTimeWithAggregatesFilter<"Appointment"> | Date | string type?: StringWithAggregatesFilter<"Appointment"> | string notes?: StringNullableWithAggregatesFilter<"Appointment"> | string | null status?: StringWithAggregatesFilter<"Appointment"> | string createdAt?: DateTimeWithAggregatesFilter<"Appointment"> | Date | string } export type UserCreateInput = { username: string password: string patients?: PatientCreateNestedManyWithoutUserInput appointments?: AppointmentCreateNestedManyWithoutUserInput } export type UserUncheckedCreateInput = { id?: number username: string password: string patients?: PatientUncheckedCreateNestedManyWithoutUserInput appointments?: AppointmentUncheckedCreateNestedManyWithoutUserInput } export type UserUpdateInput = { username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string patients?: PatientUpdateManyWithoutUserNestedInput appointments?: AppointmentUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateInput = { id?: IntFieldUpdateOperationsInput | number username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string patients?: PatientUncheckedUpdateManyWithoutUserNestedInput appointments?: AppointmentUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateManyInput = { id?: number username: string password: string } export type UserUpdateManyMutationInput = { username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string } export type UserUncheckedUpdateManyInput = { id?: IntFieldUpdateOperationsInput | number username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string } export type PatientCreateInput = { firstName: string lastName: string dateOfBirth: Date | string gender: string phone: string email?: string | null address?: string | null city?: string | null zipCode?: string | null insuranceProvider?: string | null insuranceId?: string | null groupNumber?: string | null policyHolder?: string | null allergies?: string | null medicalConditions?: string | null status?: string createdAt?: Date | string user: UserCreateNestedOneWithoutPatientsInput appointments?: AppointmentCreateNestedManyWithoutPatientInput } export type PatientUncheckedCreateInput = { id?: number firstName: string lastName: string dateOfBirth: Date | string gender: string phone: string email?: string | null address?: string | null city?: string | null zipCode?: string | null insuranceProvider?: string | null insuranceId?: string | null groupNumber?: string | null policyHolder?: string | null allergies?: string | null medicalConditions?: string | null status?: string userId: number createdAt?: Date | string appointments?: AppointmentUncheckedCreateNestedManyWithoutPatientInput } export type PatientUpdateInput = { firstName?: StringFieldUpdateOperationsInput | string lastName?: StringFieldUpdateOperationsInput | string dateOfBirth?: DateTimeFieldUpdateOperationsInput | Date | string gender?: StringFieldUpdateOperationsInput | string phone?: StringFieldUpdateOperationsInput | string email?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null city?: NullableStringFieldUpdateOperationsInput | string | null zipCode?: NullableStringFieldUpdateOperationsInput | string | null insuranceProvider?: NullableStringFieldUpdateOperationsInput | string | null insuranceId?: NullableStringFieldUpdateOperationsInput | string | null groupNumber?: NullableStringFieldUpdateOperationsInput | string | null policyHolder?: NullableStringFieldUpdateOperationsInput | string | null allergies?: NullableStringFieldUpdateOperationsInput | string | null medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutPatientsNestedInput appointments?: AppointmentUpdateManyWithoutPatientNestedInput } export type PatientUncheckedUpdateInput = { id?: IntFieldUpdateOperationsInput | number firstName?: StringFieldUpdateOperationsInput | string lastName?: StringFieldUpdateOperationsInput | string dateOfBirth?: DateTimeFieldUpdateOperationsInput | Date | string gender?: StringFieldUpdateOperationsInput | string phone?: StringFieldUpdateOperationsInput | string email?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null city?: NullableStringFieldUpdateOperationsInput | string | null zipCode?: NullableStringFieldUpdateOperationsInput | string | null insuranceProvider?: NullableStringFieldUpdateOperationsInput | string | null insuranceId?: NullableStringFieldUpdateOperationsInput | string | null groupNumber?: NullableStringFieldUpdateOperationsInput | string | null policyHolder?: NullableStringFieldUpdateOperationsInput | string | null allergies?: NullableStringFieldUpdateOperationsInput | string | null medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string userId?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string appointments?: AppointmentUncheckedUpdateManyWithoutPatientNestedInput } export type PatientCreateManyInput = { id?: number firstName: string lastName: string dateOfBirth: Date | string gender: string phone: string email?: string | null address?: string | null city?: string | null zipCode?: string | null insuranceProvider?: string | null insuranceId?: string | null groupNumber?: string | null policyHolder?: string | null allergies?: string | null medicalConditions?: string | null status?: string userId: number createdAt?: Date | string } export type PatientUpdateManyMutationInput = { firstName?: StringFieldUpdateOperationsInput | string lastName?: StringFieldUpdateOperationsInput | string dateOfBirth?: DateTimeFieldUpdateOperationsInput | Date | string gender?: StringFieldUpdateOperationsInput | string phone?: StringFieldUpdateOperationsInput | string email?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null city?: NullableStringFieldUpdateOperationsInput | string | null zipCode?: NullableStringFieldUpdateOperationsInput | string | null insuranceProvider?: NullableStringFieldUpdateOperationsInput | string | null insuranceId?: NullableStringFieldUpdateOperationsInput | string | null groupNumber?: NullableStringFieldUpdateOperationsInput | string | null policyHolder?: NullableStringFieldUpdateOperationsInput | string | null allergies?: NullableStringFieldUpdateOperationsInput | string | null medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type PatientUncheckedUpdateManyInput = { id?: IntFieldUpdateOperationsInput | number firstName?: StringFieldUpdateOperationsInput | string lastName?: StringFieldUpdateOperationsInput | string dateOfBirth?: DateTimeFieldUpdateOperationsInput | Date | string gender?: StringFieldUpdateOperationsInput | string phone?: StringFieldUpdateOperationsInput | string email?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null city?: NullableStringFieldUpdateOperationsInput | string | null zipCode?: NullableStringFieldUpdateOperationsInput | string | null insuranceProvider?: NullableStringFieldUpdateOperationsInput | string | null insuranceId?: NullableStringFieldUpdateOperationsInput | string | null groupNumber?: NullableStringFieldUpdateOperationsInput | string | null policyHolder?: NullableStringFieldUpdateOperationsInput | string | null allergies?: NullableStringFieldUpdateOperationsInput | string | null medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string userId?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AppointmentCreateInput = { title: string date: Date | string startTime: Date | string endTime: Date | string type: string notes?: string | null status?: string createdAt?: Date | string patient: PatientCreateNestedOneWithoutAppointmentsInput user: UserCreateNestedOneWithoutAppointmentsInput } export type AppointmentUncheckedCreateInput = { id?: number patientId: number userId: number title: string date: Date | string startTime: Date | string endTime: Date | string type: string notes?: string | null status?: string createdAt?: Date | string } export type AppointmentUpdateInput = { title?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string startTime?: DateTimeFieldUpdateOperationsInput | Date | string endTime?: DateTimeFieldUpdateOperationsInput | Date | string type?: StringFieldUpdateOperationsInput | string notes?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string patient?: PatientUpdateOneRequiredWithoutAppointmentsNestedInput user?: UserUpdateOneRequiredWithoutAppointmentsNestedInput } export type AppointmentUncheckedUpdateInput = { id?: IntFieldUpdateOperationsInput | number patientId?: IntFieldUpdateOperationsInput | number userId?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string startTime?: DateTimeFieldUpdateOperationsInput | Date | string endTime?: DateTimeFieldUpdateOperationsInput | Date | string type?: StringFieldUpdateOperationsInput | string notes?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AppointmentCreateManyInput = { id?: number patientId: number userId: number title: string date: Date | string startTime: Date | string endTime: Date | string type: string notes?: string | null status?: string createdAt?: Date | string } export type AppointmentUpdateManyMutationInput = { title?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string startTime?: DateTimeFieldUpdateOperationsInput | Date | string endTime?: DateTimeFieldUpdateOperationsInput | Date | string type?: StringFieldUpdateOperationsInput | string notes?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AppointmentUncheckedUpdateManyInput = { id?: IntFieldUpdateOperationsInput | number patientId?: IntFieldUpdateOperationsInput | number userId?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string startTime?: DateTimeFieldUpdateOperationsInput | Date | string endTime?: DateTimeFieldUpdateOperationsInput | Date | string type?: StringFieldUpdateOperationsInput | string notes?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } 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 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 PatientListRelationFilter = { every?: PatientWhereInput some?: PatientWhereInput none?: PatientWhereInput } export type AppointmentListRelationFilter = { every?: AppointmentWhereInput some?: AppointmentWhereInput none?: AppointmentWhereInput } export type PatientOrderByRelationAggregateInput = { _count?: SortOrder } export type AppointmentOrderByRelationAggregateInput = { _count?: SortOrder } export type UserCountOrderByAggregateInput = { id?: SortOrder username?: SortOrder password?: SortOrder } export type UserAvgOrderByAggregateInput = { id?: SortOrder } export type UserMaxOrderByAggregateInput = { id?: SortOrder username?: SortOrder password?: SortOrder } export type UserMinOrderByAggregateInput = { id?: SortOrder username?: SortOrder password?: SortOrder } export type UserSumOrderByAggregateInput = { id?: 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 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 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 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 UserScalarRelationFilter = { is?: UserWhereInput isNot?: UserWhereInput } export type SortOrderInput = { sort: SortOrder nulls?: NullsOrder } export type PatientCountOrderByAggregateInput = { id?: SortOrder firstName?: SortOrder lastName?: SortOrder dateOfBirth?: SortOrder gender?: SortOrder phone?: SortOrder email?: SortOrder address?: SortOrder city?: SortOrder zipCode?: SortOrder insuranceProvider?: SortOrder insuranceId?: SortOrder groupNumber?: SortOrder policyHolder?: SortOrder allergies?: SortOrder medicalConditions?: SortOrder status?: SortOrder userId?: SortOrder createdAt?: SortOrder } export type PatientAvgOrderByAggregateInput = { id?: SortOrder userId?: SortOrder } export type PatientMaxOrderByAggregateInput = { id?: SortOrder firstName?: SortOrder lastName?: SortOrder dateOfBirth?: SortOrder gender?: SortOrder phone?: SortOrder email?: SortOrder address?: SortOrder city?: SortOrder zipCode?: SortOrder insuranceProvider?: SortOrder insuranceId?: SortOrder groupNumber?: SortOrder policyHolder?: SortOrder allergies?: SortOrder medicalConditions?: SortOrder status?: SortOrder userId?: SortOrder createdAt?: SortOrder } export type PatientMinOrderByAggregateInput = { id?: SortOrder firstName?: SortOrder lastName?: SortOrder dateOfBirth?: SortOrder gender?: SortOrder phone?: SortOrder email?: SortOrder address?: SortOrder city?: SortOrder zipCode?: SortOrder insuranceProvider?: SortOrder insuranceId?: SortOrder groupNumber?: SortOrder policyHolder?: SortOrder allergies?: SortOrder medicalConditions?: SortOrder status?: SortOrder userId?: SortOrder createdAt?: SortOrder } export type PatientSumOrderByAggregateInput = { id?: SortOrder userId?: SortOrder } 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 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 PatientScalarRelationFilter = { is?: PatientWhereInput isNot?: PatientWhereInput } export type AppointmentCountOrderByAggregateInput = { id?: SortOrder patientId?: SortOrder userId?: SortOrder title?: SortOrder date?: SortOrder startTime?: SortOrder endTime?: SortOrder type?: SortOrder notes?: SortOrder status?: SortOrder createdAt?: SortOrder } export type AppointmentAvgOrderByAggregateInput = { id?: SortOrder patientId?: SortOrder userId?: SortOrder } export type AppointmentMaxOrderByAggregateInput = { id?: SortOrder patientId?: SortOrder userId?: SortOrder title?: SortOrder date?: SortOrder startTime?: SortOrder endTime?: SortOrder type?: SortOrder notes?: SortOrder status?: SortOrder createdAt?: SortOrder } export type AppointmentMinOrderByAggregateInput = { id?: SortOrder patientId?: SortOrder userId?: SortOrder title?: SortOrder date?: SortOrder startTime?: SortOrder endTime?: SortOrder type?: SortOrder notes?: SortOrder status?: SortOrder createdAt?: SortOrder } export type AppointmentSumOrderByAggregateInput = { id?: SortOrder patientId?: SortOrder userId?: SortOrder } export type PatientCreateNestedManyWithoutUserInput = { create?: XOR | PatientCreateWithoutUserInput[] | PatientUncheckedCreateWithoutUserInput[] connectOrCreate?: PatientCreateOrConnectWithoutUserInput | PatientCreateOrConnectWithoutUserInput[] createMany?: PatientCreateManyUserInputEnvelope connect?: PatientWhereUniqueInput | PatientWhereUniqueInput[] } export type AppointmentCreateNestedManyWithoutUserInput = { create?: XOR | AppointmentCreateWithoutUserInput[] | AppointmentUncheckedCreateWithoutUserInput[] connectOrCreate?: AppointmentCreateOrConnectWithoutUserInput | AppointmentCreateOrConnectWithoutUserInput[] createMany?: AppointmentCreateManyUserInputEnvelope connect?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] } export type PatientUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | PatientCreateWithoutUserInput[] | PatientUncheckedCreateWithoutUserInput[] connectOrCreate?: PatientCreateOrConnectWithoutUserInput | PatientCreateOrConnectWithoutUserInput[] createMany?: PatientCreateManyUserInputEnvelope connect?: PatientWhereUniqueInput | PatientWhereUniqueInput[] } export type AppointmentUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | AppointmentCreateWithoutUserInput[] | AppointmentUncheckedCreateWithoutUserInput[] connectOrCreate?: AppointmentCreateOrConnectWithoutUserInput | AppointmentCreateOrConnectWithoutUserInput[] createMany?: AppointmentCreateManyUserInputEnvelope connect?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] } export type StringFieldUpdateOperationsInput = { set?: string } export type PatientUpdateManyWithoutUserNestedInput = { create?: XOR | PatientCreateWithoutUserInput[] | PatientUncheckedCreateWithoutUserInput[] connectOrCreate?: PatientCreateOrConnectWithoutUserInput | PatientCreateOrConnectWithoutUserInput[] upsert?: PatientUpsertWithWhereUniqueWithoutUserInput | PatientUpsertWithWhereUniqueWithoutUserInput[] createMany?: PatientCreateManyUserInputEnvelope set?: PatientWhereUniqueInput | PatientWhereUniqueInput[] disconnect?: PatientWhereUniqueInput | PatientWhereUniqueInput[] delete?: PatientWhereUniqueInput | PatientWhereUniqueInput[] connect?: PatientWhereUniqueInput | PatientWhereUniqueInput[] update?: PatientUpdateWithWhereUniqueWithoutUserInput | PatientUpdateWithWhereUniqueWithoutUserInput[] updateMany?: PatientUpdateManyWithWhereWithoutUserInput | PatientUpdateManyWithWhereWithoutUserInput[] deleteMany?: PatientScalarWhereInput | PatientScalarWhereInput[] } export type AppointmentUpdateManyWithoutUserNestedInput = { create?: XOR | AppointmentCreateWithoutUserInput[] | AppointmentUncheckedCreateWithoutUserInput[] connectOrCreate?: AppointmentCreateOrConnectWithoutUserInput | AppointmentCreateOrConnectWithoutUserInput[] upsert?: AppointmentUpsertWithWhereUniqueWithoutUserInput | AppointmentUpsertWithWhereUniqueWithoutUserInput[] createMany?: AppointmentCreateManyUserInputEnvelope set?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] disconnect?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] delete?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] connect?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] update?: AppointmentUpdateWithWhereUniqueWithoutUserInput | AppointmentUpdateWithWhereUniqueWithoutUserInput[] updateMany?: AppointmentUpdateManyWithWhereWithoutUserInput | AppointmentUpdateManyWithWhereWithoutUserInput[] deleteMany?: AppointmentScalarWhereInput | AppointmentScalarWhereInput[] } export type IntFieldUpdateOperationsInput = { set?: number increment?: number decrement?: number multiply?: number divide?: number } export type PatientUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | PatientCreateWithoutUserInput[] | PatientUncheckedCreateWithoutUserInput[] connectOrCreate?: PatientCreateOrConnectWithoutUserInput | PatientCreateOrConnectWithoutUserInput[] upsert?: PatientUpsertWithWhereUniqueWithoutUserInput | PatientUpsertWithWhereUniqueWithoutUserInput[] createMany?: PatientCreateManyUserInputEnvelope set?: PatientWhereUniqueInput | PatientWhereUniqueInput[] disconnect?: PatientWhereUniqueInput | PatientWhereUniqueInput[] delete?: PatientWhereUniqueInput | PatientWhereUniqueInput[] connect?: PatientWhereUniqueInput | PatientWhereUniqueInput[] update?: PatientUpdateWithWhereUniqueWithoutUserInput | PatientUpdateWithWhereUniqueWithoutUserInput[] updateMany?: PatientUpdateManyWithWhereWithoutUserInput | PatientUpdateManyWithWhereWithoutUserInput[] deleteMany?: PatientScalarWhereInput | PatientScalarWhereInput[] } export type AppointmentUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | AppointmentCreateWithoutUserInput[] | AppointmentUncheckedCreateWithoutUserInput[] connectOrCreate?: AppointmentCreateOrConnectWithoutUserInput | AppointmentCreateOrConnectWithoutUserInput[] upsert?: AppointmentUpsertWithWhereUniqueWithoutUserInput | AppointmentUpsertWithWhereUniqueWithoutUserInput[] createMany?: AppointmentCreateManyUserInputEnvelope set?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] disconnect?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] delete?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] connect?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] update?: AppointmentUpdateWithWhereUniqueWithoutUserInput | AppointmentUpdateWithWhereUniqueWithoutUserInput[] updateMany?: AppointmentUpdateManyWithWhereWithoutUserInput | AppointmentUpdateManyWithWhereWithoutUserInput[] deleteMany?: AppointmentScalarWhereInput | AppointmentScalarWhereInput[] } export type UserCreateNestedOneWithoutPatientsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutPatientsInput connect?: UserWhereUniqueInput } export type AppointmentCreateNestedManyWithoutPatientInput = { create?: XOR | AppointmentCreateWithoutPatientInput[] | AppointmentUncheckedCreateWithoutPatientInput[] connectOrCreate?: AppointmentCreateOrConnectWithoutPatientInput | AppointmentCreateOrConnectWithoutPatientInput[] createMany?: AppointmentCreateManyPatientInputEnvelope connect?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] } export type AppointmentUncheckedCreateNestedManyWithoutPatientInput = { create?: XOR | AppointmentCreateWithoutPatientInput[] | AppointmentUncheckedCreateWithoutPatientInput[] connectOrCreate?: AppointmentCreateOrConnectWithoutPatientInput | AppointmentCreateOrConnectWithoutPatientInput[] createMany?: AppointmentCreateManyPatientInputEnvelope connect?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] } export type DateTimeFieldUpdateOperationsInput = { set?: Date | string } export type NullableStringFieldUpdateOperationsInput = { set?: string | null } export type UserUpdateOneRequiredWithoutPatientsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutPatientsInput upsert?: UserUpsertWithoutPatientsInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutPatientsInput> } export type AppointmentUpdateManyWithoutPatientNestedInput = { create?: XOR | AppointmentCreateWithoutPatientInput[] | AppointmentUncheckedCreateWithoutPatientInput[] connectOrCreate?: AppointmentCreateOrConnectWithoutPatientInput | AppointmentCreateOrConnectWithoutPatientInput[] upsert?: AppointmentUpsertWithWhereUniqueWithoutPatientInput | AppointmentUpsertWithWhereUniqueWithoutPatientInput[] createMany?: AppointmentCreateManyPatientInputEnvelope set?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] disconnect?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] delete?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] connect?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] update?: AppointmentUpdateWithWhereUniqueWithoutPatientInput | AppointmentUpdateWithWhereUniqueWithoutPatientInput[] updateMany?: AppointmentUpdateManyWithWhereWithoutPatientInput | AppointmentUpdateManyWithWhereWithoutPatientInput[] deleteMany?: AppointmentScalarWhereInput | AppointmentScalarWhereInput[] } export type AppointmentUncheckedUpdateManyWithoutPatientNestedInput = { create?: XOR | AppointmentCreateWithoutPatientInput[] | AppointmentUncheckedCreateWithoutPatientInput[] connectOrCreate?: AppointmentCreateOrConnectWithoutPatientInput | AppointmentCreateOrConnectWithoutPatientInput[] upsert?: AppointmentUpsertWithWhereUniqueWithoutPatientInput | AppointmentUpsertWithWhereUniqueWithoutPatientInput[] createMany?: AppointmentCreateManyPatientInputEnvelope set?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] disconnect?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] delete?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] connect?: AppointmentWhereUniqueInput | AppointmentWhereUniqueInput[] update?: AppointmentUpdateWithWhereUniqueWithoutPatientInput | AppointmentUpdateWithWhereUniqueWithoutPatientInput[] updateMany?: AppointmentUpdateManyWithWhereWithoutPatientInput | AppointmentUpdateManyWithWhereWithoutPatientInput[] deleteMany?: AppointmentScalarWhereInput | AppointmentScalarWhereInput[] } export type PatientCreateNestedOneWithoutAppointmentsInput = { create?: XOR connectOrCreate?: PatientCreateOrConnectWithoutAppointmentsInput connect?: PatientWhereUniqueInput } export type UserCreateNestedOneWithoutAppointmentsInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutAppointmentsInput connect?: UserWhereUniqueInput } export type PatientUpdateOneRequiredWithoutAppointmentsNestedInput = { create?: XOR connectOrCreate?: PatientCreateOrConnectWithoutAppointmentsInput upsert?: PatientUpsertWithoutAppointmentsInput connect?: PatientWhereUniqueInput update?: XOR, PatientUncheckedUpdateWithoutAppointmentsInput> } export type UserUpdateOneRequiredWithoutAppointmentsNestedInput = { create?: XOR connectOrCreate?: UserCreateOrConnectWithoutAppointmentsInput upsert?: UserUpsertWithoutAppointmentsInput connect?: UserWhereUniqueInput update?: XOR, UserUncheckedUpdateWithoutAppointmentsInput> } 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 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 NestedIntWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> notIn?: number[] | ListIntFieldRefInput<$PrismaModel> lt?: number | IntFieldRefInput<$PrismaModel> lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntWithAggregatesFilter<$PrismaModel> | number _count?: NestedIntFilter<$PrismaModel> _avg?: NestedFloatFilter<$PrismaModel> _sum?: NestedIntFilter<$PrismaModel> _min?: NestedIntFilter<$PrismaModel> _max?: NestedIntFilter<$PrismaModel> } export type NestedFloatFilter<$PrismaModel = never> = { equals?: number | FloatFieldRefInput<$PrismaModel> in?: number[] | ListFloatFieldRefInput<$PrismaModel> notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> lt?: number | FloatFieldRefInput<$PrismaModel> lte?: number | FloatFieldRefInput<$PrismaModel> gt?: number | FloatFieldRefInput<$PrismaModel> gte?: number | FloatFieldRefInput<$PrismaModel> not?: NestedFloatFilter<$PrismaModel> | number } export type 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 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 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 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 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 PatientCreateWithoutUserInput = { firstName: string lastName: string dateOfBirth: Date | string gender: string phone: string email?: string | null address?: string | null city?: string | null zipCode?: string | null insuranceProvider?: string | null insuranceId?: string | null groupNumber?: string | null policyHolder?: string | null allergies?: string | null medicalConditions?: string | null status?: string createdAt?: Date | string appointments?: AppointmentCreateNestedManyWithoutPatientInput } export type PatientUncheckedCreateWithoutUserInput = { id?: number firstName: string lastName: string dateOfBirth: Date | string gender: string phone: string email?: string | null address?: string | null city?: string | null zipCode?: string | null insuranceProvider?: string | null insuranceId?: string | null groupNumber?: string | null policyHolder?: string | null allergies?: string | null medicalConditions?: string | null status?: string createdAt?: Date | string appointments?: AppointmentUncheckedCreateNestedManyWithoutPatientInput } export type PatientCreateOrConnectWithoutUserInput = { where: PatientWhereUniqueInput create: XOR } export type PatientCreateManyUserInputEnvelope = { data: PatientCreateManyUserInput | PatientCreateManyUserInput[] skipDuplicates?: boolean } export type AppointmentCreateWithoutUserInput = { title: string date: Date | string startTime: Date | string endTime: Date | string type: string notes?: string | null status?: string createdAt?: Date | string patient: PatientCreateNestedOneWithoutAppointmentsInput } export type AppointmentUncheckedCreateWithoutUserInput = { id?: number patientId: number title: string date: Date | string startTime: Date | string endTime: Date | string type: string notes?: string | null status?: string createdAt?: Date | string } export type AppointmentCreateOrConnectWithoutUserInput = { where: AppointmentWhereUniqueInput create: XOR } export type AppointmentCreateManyUserInputEnvelope = { data: AppointmentCreateManyUserInput | AppointmentCreateManyUserInput[] skipDuplicates?: boolean } export type PatientUpsertWithWhereUniqueWithoutUserInput = { where: PatientWhereUniqueInput update: XOR create: XOR } export type PatientUpdateWithWhereUniqueWithoutUserInput = { where: PatientWhereUniqueInput data: XOR } export type PatientUpdateManyWithWhereWithoutUserInput = { where: PatientScalarWhereInput data: XOR } export type PatientScalarWhereInput = { AND?: PatientScalarWhereInput | PatientScalarWhereInput[] OR?: PatientScalarWhereInput[] NOT?: PatientScalarWhereInput | PatientScalarWhereInput[] id?: IntFilter<"Patient"> | number firstName?: StringFilter<"Patient"> | string lastName?: StringFilter<"Patient"> | string dateOfBirth?: DateTimeFilter<"Patient"> | Date | string gender?: StringFilter<"Patient"> | string phone?: StringFilter<"Patient"> | string email?: StringNullableFilter<"Patient"> | string | null address?: StringNullableFilter<"Patient"> | string | null city?: StringNullableFilter<"Patient"> | string | null zipCode?: StringNullableFilter<"Patient"> | string | null insuranceProvider?: StringNullableFilter<"Patient"> | string | null insuranceId?: StringNullableFilter<"Patient"> | string | null groupNumber?: StringNullableFilter<"Patient"> | string | null policyHolder?: StringNullableFilter<"Patient"> | string | null allergies?: StringNullableFilter<"Patient"> | string | null medicalConditions?: StringNullableFilter<"Patient"> | string | null status?: StringFilter<"Patient"> | string userId?: IntFilter<"Patient"> | number createdAt?: DateTimeFilter<"Patient"> | Date | string } export type AppointmentUpsertWithWhereUniqueWithoutUserInput = { where: AppointmentWhereUniqueInput update: XOR create: XOR } export type AppointmentUpdateWithWhereUniqueWithoutUserInput = { where: AppointmentWhereUniqueInput data: XOR } export type AppointmentUpdateManyWithWhereWithoutUserInput = { where: AppointmentScalarWhereInput data: XOR } export type AppointmentScalarWhereInput = { AND?: AppointmentScalarWhereInput | AppointmentScalarWhereInput[] OR?: AppointmentScalarWhereInput[] NOT?: AppointmentScalarWhereInput | AppointmentScalarWhereInput[] id?: IntFilter<"Appointment"> | number patientId?: IntFilter<"Appointment"> | number userId?: IntFilter<"Appointment"> | number title?: StringFilter<"Appointment"> | string date?: DateTimeFilter<"Appointment"> | Date | string startTime?: DateTimeFilter<"Appointment"> | Date | string endTime?: DateTimeFilter<"Appointment"> | Date | string type?: StringFilter<"Appointment"> | string notes?: StringNullableFilter<"Appointment"> | string | null status?: StringFilter<"Appointment"> | string createdAt?: DateTimeFilter<"Appointment"> | Date | string } export type UserCreateWithoutPatientsInput = { username: string password: string appointments?: AppointmentCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutPatientsInput = { id?: number username: string password: string appointments?: AppointmentUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutPatientsInput = { where: UserWhereUniqueInput create: XOR } export type AppointmentCreateWithoutPatientInput = { title: string date: Date | string startTime: Date | string endTime: Date | string type: string notes?: string | null status?: string createdAt?: Date | string user: UserCreateNestedOneWithoutAppointmentsInput } export type AppointmentUncheckedCreateWithoutPatientInput = { id?: number userId: number title: string date: Date | string startTime: Date | string endTime: Date | string type: string notes?: string | null status?: string createdAt?: Date | string } export type AppointmentCreateOrConnectWithoutPatientInput = { where: AppointmentWhereUniqueInput create: XOR } export type AppointmentCreateManyPatientInputEnvelope = { data: AppointmentCreateManyPatientInput | AppointmentCreateManyPatientInput[] skipDuplicates?: boolean } export type UserUpsertWithoutPatientsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutPatientsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutPatientsInput = { username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string appointments?: AppointmentUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutPatientsInput = { id?: IntFieldUpdateOperationsInput | number username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string appointments?: AppointmentUncheckedUpdateManyWithoutUserNestedInput } export type AppointmentUpsertWithWhereUniqueWithoutPatientInput = { where: AppointmentWhereUniqueInput update: XOR create: XOR } export type AppointmentUpdateWithWhereUniqueWithoutPatientInput = { where: AppointmentWhereUniqueInput data: XOR } export type AppointmentUpdateManyWithWhereWithoutPatientInput = { where: AppointmentScalarWhereInput data: XOR } export type PatientCreateWithoutAppointmentsInput = { firstName: string lastName: string dateOfBirth: Date | string gender: string phone: string email?: string | null address?: string | null city?: string | null zipCode?: string | null insuranceProvider?: string | null insuranceId?: string | null groupNumber?: string | null policyHolder?: string | null allergies?: string | null medicalConditions?: string | null status?: string createdAt?: Date | string user: UserCreateNestedOneWithoutPatientsInput } export type PatientUncheckedCreateWithoutAppointmentsInput = { id?: number firstName: string lastName: string dateOfBirth: Date | string gender: string phone: string email?: string | null address?: string | null city?: string | null zipCode?: string | null insuranceProvider?: string | null insuranceId?: string | null groupNumber?: string | null policyHolder?: string | null allergies?: string | null medicalConditions?: string | null status?: string userId: number createdAt?: Date | string } export type PatientCreateOrConnectWithoutAppointmentsInput = { where: PatientWhereUniqueInput create: XOR } export type UserCreateWithoutAppointmentsInput = { username: string password: string patients?: PatientCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutAppointmentsInput = { id?: number username: string password: string patients?: PatientUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutAppointmentsInput = { where: UserWhereUniqueInput create: XOR } export type PatientUpsertWithoutAppointmentsInput = { update: XOR create: XOR where?: PatientWhereInput } export type PatientUpdateToOneWithWhereWithoutAppointmentsInput = { where?: PatientWhereInput data: XOR } export type PatientUpdateWithoutAppointmentsInput = { firstName?: StringFieldUpdateOperationsInput | string lastName?: StringFieldUpdateOperationsInput | string dateOfBirth?: DateTimeFieldUpdateOperationsInput | Date | string gender?: StringFieldUpdateOperationsInput | string phone?: StringFieldUpdateOperationsInput | string email?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null city?: NullableStringFieldUpdateOperationsInput | string | null zipCode?: NullableStringFieldUpdateOperationsInput | string | null insuranceProvider?: NullableStringFieldUpdateOperationsInput | string | null insuranceId?: NullableStringFieldUpdateOperationsInput | string | null groupNumber?: NullableStringFieldUpdateOperationsInput | string | null policyHolder?: NullableStringFieldUpdateOperationsInput | string | null allergies?: NullableStringFieldUpdateOperationsInput | string | null medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutPatientsNestedInput } export type PatientUncheckedUpdateWithoutAppointmentsInput = { id?: IntFieldUpdateOperationsInput | number firstName?: StringFieldUpdateOperationsInput | string lastName?: StringFieldUpdateOperationsInput | string dateOfBirth?: DateTimeFieldUpdateOperationsInput | Date | string gender?: StringFieldUpdateOperationsInput | string phone?: StringFieldUpdateOperationsInput | string email?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null city?: NullableStringFieldUpdateOperationsInput | string | null zipCode?: NullableStringFieldUpdateOperationsInput | string | null insuranceProvider?: NullableStringFieldUpdateOperationsInput | string | null insuranceId?: NullableStringFieldUpdateOperationsInput | string | null groupNumber?: NullableStringFieldUpdateOperationsInput | string | null policyHolder?: NullableStringFieldUpdateOperationsInput | string | null allergies?: NullableStringFieldUpdateOperationsInput | string | null medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string userId?: IntFieldUpdateOperationsInput | number createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type UserUpsertWithoutAppointmentsInput = { update: XOR create: XOR where?: UserWhereInput } export type UserUpdateToOneWithWhereWithoutAppointmentsInput = { where?: UserWhereInput data: XOR } export type UserUpdateWithoutAppointmentsInput = { username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string patients?: PatientUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutAppointmentsInput = { id?: IntFieldUpdateOperationsInput | number username?: StringFieldUpdateOperationsInput | string password?: StringFieldUpdateOperationsInput | string patients?: PatientUncheckedUpdateManyWithoutUserNestedInput } export type PatientCreateManyUserInput = { id?: number firstName: string lastName: string dateOfBirth: Date | string gender: string phone: string email?: string | null address?: string | null city?: string | null zipCode?: string | null insuranceProvider?: string | null insuranceId?: string | null groupNumber?: string | null policyHolder?: string | null allergies?: string | null medicalConditions?: string | null status?: string createdAt?: Date | string } export type AppointmentCreateManyUserInput = { id?: number patientId: number title: string date: Date | string startTime: Date | string endTime: Date | string type: string notes?: string | null status?: string createdAt?: Date | string } export type PatientUpdateWithoutUserInput = { firstName?: StringFieldUpdateOperationsInput | string lastName?: StringFieldUpdateOperationsInput | string dateOfBirth?: DateTimeFieldUpdateOperationsInput | Date | string gender?: StringFieldUpdateOperationsInput | string phone?: StringFieldUpdateOperationsInput | string email?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null city?: NullableStringFieldUpdateOperationsInput | string | null zipCode?: NullableStringFieldUpdateOperationsInput | string | null insuranceProvider?: NullableStringFieldUpdateOperationsInput | string | null insuranceId?: NullableStringFieldUpdateOperationsInput | string | null groupNumber?: NullableStringFieldUpdateOperationsInput | string | null policyHolder?: NullableStringFieldUpdateOperationsInput | string | null allergies?: NullableStringFieldUpdateOperationsInput | string | null medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string appointments?: AppointmentUpdateManyWithoutPatientNestedInput } export type PatientUncheckedUpdateWithoutUserInput = { id?: IntFieldUpdateOperationsInput | number firstName?: StringFieldUpdateOperationsInput | string lastName?: StringFieldUpdateOperationsInput | string dateOfBirth?: DateTimeFieldUpdateOperationsInput | Date | string gender?: StringFieldUpdateOperationsInput | string phone?: StringFieldUpdateOperationsInput | string email?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null city?: NullableStringFieldUpdateOperationsInput | string | null zipCode?: NullableStringFieldUpdateOperationsInput | string | null insuranceProvider?: NullableStringFieldUpdateOperationsInput | string | null insuranceId?: NullableStringFieldUpdateOperationsInput | string | null groupNumber?: NullableStringFieldUpdateOperationsInput | string | null policyHolder?: NullableStringFieldUpdateOperationsInput | string | null allergies?: NullableStringFieldUpdateOperationsInput | string | null medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string appointments?: AppointmentUncheckedUpdateManyWithoutPatientNestedInput } export type PatientUncheckedUpdateManyWithoutUserInput = { id?: IntFieldUpdateOperationsInput | number firstName?: StringFieldUpdateOperationsInput | string lastName?: StringFieldUpdateOperationsInput | string dateOfBirth?: DateTimeFieldUpdateOperationsInput | Date | string gender?: StringFieldUpdateOperationsInput | string phone?: StringFieldUpdateOperationsInput | string email?: NullableStringFieldUpdateOperationsInput | string | null address?: NullableStringFieldUpdateOperationsInput | string | null city?: NullableStringFieldUpdateOperationsInput | string | null zipCode?: NullableStringFieldUpdateOperationsInput | string | null insuranceProvider?: NullableStringFieldUpdateOperationsInput | string | null insuranceId?: NullableStringFieldUpdateOperationsInput | string | null groupNumber?: NullableStringFieldUpdateOperationsInput | string | null policyHolder?: NullableStringFieldUpdateOperationsInput | string | null allergies?: NullableStringFieldUpdateOperationsInput | string | null medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AppointmentUpdateWithoutUserInput = { title?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string startTime?: DateTimeFieldUpdateOperationsInput | Date | string endTime?: DateTimeFieldUpdateOperationsInput | Date | string type?: StringFieldUpdateOperationsInput | string notes?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string patient?: PatientUpdateOneRequiredWithoutAppointmentsNestedInput } export type AppointmentUncheckedUpdateWithoutUserInput = { id?: IntFieldUpdateOperationsInput | number patientId?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string startTime?: DateTimeFieldUpdateOperationsInput | Date | string endTime?: DateTimeFieldUpdateOperationsInput | Date | string type?: StringFieldUpdateOperationsInput | string notes?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AppointmentUncheckedUpdateManyWithoutUserInput = { id?: IntFieldUpdateOperationsInput | number patientId?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string startTime?: DateTimeFieldUpdateOperationsInput | Date | string endTime?: DateTimeFieldUpdateOperationsInput | Date | string type?: StringFieldUpdateOperationsInput | string notes?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AppointmentCreateManyPatientInput = { id?: number userId: number title: string date: Date | string startTime: Date | string endTime: Date | string type: string notes?: string | null status?: string createdAt?: Date | string } export type AppointmentUpdateWithoutPatientInput = { title?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string startTime?: DateTimeFieldUpdateOperationsInput | Date | string endTime?: DateTimeFieldUpdateOperationsInput | Date | string type?: StringFieldUpdateOperationsInput | string notes?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneRequiredWithoutAppointmentsNestedInput } export type AppointmentUncheckedUpdateWithoutPatientInput = { id?: IntFieldUpdateOperationsInput | number userId?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string startTime?: DateTimeFieldUpdateOperationsInput | Date | string endTime?: DateTimeFieldUpdateOperationsInput | Date | string type?: StringFieldUpdateOperationsInput | string notes?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } export type AppointmentUncheckedUpdateManyWithoutPatientInput = { id?: IntFieldUpdateOperationsInput | number userId?: IntFieldUpdateOperationsInput | number title?: StringFieldUpdateOperationsInput | string date?: DateTimeFieldUpdateOperationsInput | Date | string startTime?: DateTimeFieldUpdateOperationsInput | Date | string endTime?: DateTimeFieldUpdateOperationsInput | Date | string type?: StringFieldUpdateOperationsInput | string notes?: NullableStringFieldUpdateOperationsInput | string | null status?: StringFieldUpdateOperationsInput | string createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } /** * Batch Payload for updateMany & deleteMany & createMany */ export type BatchPayload = { count: number } /** * DMMF */ export const dmmf: runtime.BaseDMMF }