(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 }): runtime.Types.Utils.JsPromise>
+
+ $transaction(fn: (prisma: Omit) => runtime.Types.Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise
+
+ $extends: runtime.Types.Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, runtime.Types.Utils.Call, {
+ extArgs: ExtArgs
+ }>>
+
+ /**
+ * `prisma.session`: Exposes CRUD operations for the **Session** model.
+ * Example usage:
+ * ```ts
+ * // Fetch zero or more Sessions
+ * const sessions = await prisma.session.findMany()
+ * ```
+ */
+ get session(): Prisma.SessionDelegate;
+
+ /**
+ * `prisma.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.role`: Exposes CRUD operations for the **Role** model.
+ * Example usage:
+ * ```ts
+ * // Fetch zero or more Roles
+ * const roles = await prisma.role.findMany()
+ * ```
+ */
+ get role(): Prisma.RoleDelegate;
+}
+
+export function getPrismaClientClass(): PrismaClientConstructor {
+ return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor
+}
diff --git a/generated/prisma/internal/prismaNamespace.ts b/generated/prisma/internal/prismaNamespace.ts
new file mode 100644
index 0000000..9bf4a22
--- /dev/null
+++ b/generated/prisma/internal/prismaNamespace.ts
@@ -0,0 +1,964 @@
+
+/* !!! This is code generated by Prisma. Do not edit directly. !!! */
+/* eslint-disable */
+// biome-ignore-all lint: generated file
+// @ts-nocheck
+/*
+ * WARNING: This is an internal file that is subject to change!
+ *
+ * 🛑 Under no circumstances should you import this file directly! 🛑
+ *
+ * All exports from this file are wrapped under a `Prisma` namespace object in the client.ts file.
+ * While this enables partial backward compatibility, it is not part of the stable public API.
+ *
+ * If you are looking for your Models, Enums, and Input Types, please import them from the respective
+ * model files in the `model` directory!
+ */
+
+import * as runtime from "@prisma/client/runtime/client"
+import type * as Prisma from "../models.ts"
+import { type PrismaClient } from "./class.ts"
+
+export type * from '../models.ts'
+
+export type DMMF = typeof runtime.DMMF
+
+export type PrismaPromise = runtime.Types.Public.PrismaPromise
+
+/**
+ * Prisma Errors
+ */
+
+export const PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError
+export type PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError
+
+export const PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError
+export type PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError
+
+export const PrismaClientRustPanicError = runtime.PrismaClientRustPanicError
+export type PrismaClientRustPanicError = runtime.PrismaClientRustPanicError
+
+export const PrismaClientInitializationError = runtime.PrismaClientInitializationError
+export type PrismaClientInitializationError = runtime.PrismaClientInitializationError
+
+export const PrismaClientValidationError = runtime.PrismaClientValidationError
+export type PrismaClientValidationError = runtime.PrismaClientValidationError
+
+/**
+ * Re-export of sql-template-tag
+ */
+export const sql = runtime.sqltag
+export const empty = runtime.empty
+export const join = runtime.join
+export const raw = runtime.raw
+export const Sql = runtime.Sql
+export type Sql = runtime.Sql
+
+
+
+/**
+ * Decimal.js
+ */
+export const Decimal = runtime.Decimal
+export type Decimal = runtime.Decimal
+
+export type DecimalJsLike = runtime.DecimalJsLike
+
+/**
+* Extensions
+*/
+export type Extension = runtime.Types.Extensions.UserArgs
+export const getExtensionContext = runtime.Extensions.getExtensionContext
+export type Args = runtime.Types.Public.Args
+export type Payload = runtime.Types.Public.Payload
+export type Result = runtime.Types.Public.Result
+export type Exact = runtime.Types.Public.Exact
+
+export type PrismaVersion = {
+ client: string
+ engine: string
+}
+
+/**
+ * Prisma Client JS version: 7.3.0
+ * Query Engine version: 9d6ad21cbbceab97458517b147a6a09ff43aa735
+ */
+export const prismaVersion: PrismaVersion = {
+ client: "7.3.0",
+ engine: "9d6ad21cbbceab97458517b147a6a09ff43aa735"
+}
+
+/**
+ * Utility Types
+ */
+
+export type Bytes = runtime.Bytes
+export type JsonObject = runtime.JsonObject
+export type JsonArray = runtime.JsonArray
+export type JsonValue = runtime.JsonValue
+export type InputJsonObject = runtime.InputJsonObject
+export type InputJsonArray = runtime.InputJsonArray
+export type InputJsonValue = runtime.InputJsonValue
+
+
+export const NullTypes = {
+ DbNull: runtime.NullTypes.DbNull as (new (secret: never) => typeof runtime.DbNull),
+ JsonNull: runtime.NullTypes.JsonNull as (new (secret: never) => typeof runtime.JsonNull),
+ AnyNull: runtime.NullTypes.AnyNull as (new (secret: never) => typeof runtime.AnyNull),
+}
+/**
+ * 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 = runtime.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 = runtime.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 = runtime.AnyNull
+
+
+type SelectAndInclude = {
+ select: any
+ include: any
+}
+
+type SelectAndOmit = {
+ select: any
+ omit: any
+}
+
+/**
+ * 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;
+
+/**
+ * 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
+ */
+export 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]
+
+export type Either<
+ O extends object,
+ K extends Key,
+ strict extends Boolean = 1
+> = O extends unknown ? _Either : never
+
+export type Union = any
+
+export 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 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
+export 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>>;
+
+export type Boolean = True | False
+
+export type True = 1
+
+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
+
+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
+
+export 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
+export type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T
+
+/**
+ * Like `Pick`, but additionally can also accept an array of keys
+ */
+export type PickEnumerable | keyof T> = Prisma__Pick>
+
+/**
+ * Exclude all keys with underscores
+ */
+export type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T
+
+
+export type FieldRef = runtime.FieldRef
+
+type FieldRefInputType = Model extends never ? never : FieldRef
+
+
+export const ModelName = {
+ Session: 'Session',
+ User: 'User',
+ Role: 'Role'
+} as const
+
+export type ModelName = (typeof ModelName)[keyof typeof ModelName]
+
+
+
+export interface TypeMapCb extends runtime.Types.Utils.Fn<{extArgs: runtime.Types.Extensions.InternalArgs }, runtime.Types.Utils.Record> {
+ returns: TypeMap
+}
+
+export type TypeMap = {
+ globalOmitOptions: {
+ omit: GlobalOmitOptions
+ }
+ meta: {
+ modelProps: "session" | "user" | "role"
+ txIsolationLevel: TransactionIsolationLevel
+ }
+ model: {
+ Session: {
+ payload: Prisma.$SessionPayload
+ fields: Prisma.SessionFieldRefs
+ operations: {
+ findUnique: {
+ args: Prisma.SessionFindUniqueArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findUniqueOrThrow: {
+ args: Prisma.SessionFindUniqueOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findFirst: {
+ args: Prisma.SessionFindFirstArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findFirstOrThrow: {
+ args: Prisma.SessionFindFirstOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findMany: {
+ args: Prisma.SessionFindManyArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ create: {
+ args: Prisma.SessionCreateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ createMany: {
+ args: Prisma.SessionCreateManyArgs
+ result: BatchPayload
+ }
+ createManyAndReturn: {
+ args: Prisma.SessionCreateManyAndReturnArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ delete: {
+ args: Prisma.SessionDeleteArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ update: {
+ args: Prisma.SessionUpdateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ deleteMany: {
+ args: Prisma.SessionDeleteManyArgs
+ result: BatchPayload
+ }
+ updateMany: {
+ args: Prisma.SessionUpdateManyArgs
+ result: BatchPayload
+ }
+ updateManyAndReturn: {
+ args: Prisma.SessionUpdateManyAndReturnArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ upsert: {
+ args: Prisma.SessionUpsertArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ aggregate: {
+ args: Prisma.SessionAggregateArgs
+ result: runtime.Types.Utils.Optional
+ }
+ groupBy: {
+ args: Prisma.SessionGroupByArgs
+ result: runtime.Types.Utils.Optional[]
+ }
+ count: {
+ args: Prisma.SessionCountArgs
+ result: runtime.Types.Utils.Optional | number
+ }
+ }
+ }
+ User: {
+ payload: Prisma.$UserPayload
+ fields: Prisma.UserFieldRefs
+ operations: {
+ findUnique: {
+ args: Prisma.UserFindUniqueArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findUniqueOrThrow: {
+ args: Prisma.UserFindUniqueOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findFirst: {
+ args: Prisma.UserFindFirstArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findFirstOrThrow: {
+ args: Prisma.UserFindFirstOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findMany: {
+ args: Prisma.UserFindManyArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ create: {
+ args: Prisma.UserCreateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ createMany: {
+ args: Prisma.UserCreateManyArgs
+ result: BatchPayload
+ }
+ createManyAndReturn: {
+ args: Prisma.UserCreateManyAndReturnArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ delete: {
+ args: Prisma.UserDeleteArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ update: {
+ args: Prisma.UserUpdateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ deleteMany: {
+ args: Prisma.UserDeleteManyArgs
+ result: BatchPayload
+ }
+ updateMany: {
+ args: Prisma.UserUpdateManyArgs
+ result: BatchPayload
+ }
+ updateManyAndReturn: {
+ args: Prisma.UserUpdateManyAndReturnArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ upsert: {
+ args: Prisma.UserUpsertArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ aggregate: {
+ args: Prisma.UserAggregateArgs
+ result: runtime.Types.Utils.Optional
+ }
+ groupBy: {
+ args: Prisma.UserGroupByArgs
+ result: runtime.Types.Utils.Optional[]
+ }
+ count: {
+ args: Prisma.UserCountArgs
+ result: runtime.Types.Utils.Optional | number
+ }
+ }
+ }
+ Role: {
+ payload: Prisma.$RolePayload
+ fields: Prisma.RoleFieldRefs
+ operations: {
+ findUnique: {
+ args: Prisma.RoleFindUniqueArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findUniqueOrThrow: {
+ args: Prisma.RoleFindUniqueOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findFirst: {
+ args: Prisma.RoleFindFirstArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findFirstOrThrow: {
+ args: Prisma.RoleFindFirstOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findMany: {
+ args: Prisma.RoleFindManyArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ create: {
+ args: Prisma.RoleCreateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ createMany: {
+ args: Prisma.RoleCreateManyArgs
+ result: BatchPayload
+ }
+ createManyAndReturn: {
+ args: Prisma.RoleCreateManyAndReturnArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ delete: {
+ args: Prisma.RoleDeleteArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ update: {
+ args: Prisma.RoleUpdateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ deleteMany: {
+ args: Prisma.RoleDeleteManyArgs
+ result: BatchPayload
+ }
+ updateMany: {
+ args: Prisma.RoleUpdateManyArgs
+ result: BatchPayload
+ }
+ updateManyAndReturn: {
+ args: Prisma.RoleUpdateManyAndReturnArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ upsert: {
+ args: Prisma.RoleUpsertArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ aggregate: {
+ args: Prisma.RoleAggregateArgs
+ result: runtime.Types.Utils.Optional
+ }
+ groupBy: {
+ args: Prisma.RoleGroupByArgs
+ result: runtime.Types.Utils.Optional[]
+ }
+ count: {
+ args: Prisma.RoleCountArgs
+ result: runtime.Types.Utils.Optional | number
+ }
+ }
+ }
+ }
+} & {
+ other: {
+ payload: any
+ operations: {
+ $executeRaw: {
+ args: [query: TemplateStringsArray | Sql, ...values: any[]],
+ result: any
+ }
+ $executeRawUnsafe: {
+ args: [query: string, ...values: any[]],
+ result: any
+ }
+ $queryRaw: {
+ args: [query: TemplateStringsArray | Sql, ...values: any[]],
+ result: any
+ }
+ $queryRawUnsafe: {
+ args: [query: string, ...values: any[]],
+ result: any
+ }
+ }
+ }
+}
+
+/**
+ * Enums
+ */
+
+export const TransactionIsolationLevel = runtime.makeStrictEnum({
+ ReadUncommitted: 'ReadUncommitted',
+ ReadCommitted: 'ReadCommitted',
+ RepeatableRead: 'RepeatableRead',
+ Serializable: 'Serializable'
+} as const)
+
+export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel]
+
+
+export const SessionScalarFieldEnum = {
+ id: 'id',
+ sessionKey: 'sessionKey',
+ userId: 'userId',
+ expires: 'expires',
+ refreshTokenGenerated: 'refreshTokenGenerated',
+ refreshedAt: 'refreshedAt',
+ invalidatedAt: 'invalidatedAt'
+} as const
+
+export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum]
+
+
+export const UserScalarFieldEnum = {
+ id: 'id',
+ permissions: 'permissions',
+ login: 'login',
+ name: 'name',
+ email: 'email',
+ emailVerified: 'emailVerified',
+ image: 'image',
+ userId: 'userId',
+ token: 'token',
+ createdAt: 'createdAt',
+ updatedAt: 'updatedAt'
+} as const
+
+export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum]
+
+
+export const RoleScalarFieldEnum = {
+ id: 'id',
+ title: 'title',
+ moniker: 'moniker',
+ permissions: 'permissions',
+ createdAt: 'createdAt',
+ updatedAt: 'updatedAt'
+} as const
+
+export type RoleScalarFieldEnum = (typeof RoleScalarFieldEnum)[keyof typeof RoleScalarFieldEnum]
+
+
+export const SortOrder = {
+ asc: 'asc',
+ desc: 'desc'
+} as const
+
+export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]
+
+
+export const QueryMode = {
+ default: 'default',
+ insensitive: 'insensitive'
+} as const
+
+export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode]
+
+
+export const NullsOrder = {
+ first: 'first',
+ last: 'last'
+} as const
+
+export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]
+
+
+
+/**
+ * Field references
+ */
+
+
+/**
+ * Reference to a field of type 'String'
+ */
+export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String'>
+
+
+
+/**
+ * Reference to a field of type '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 'Boolean'
+ */
+export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'>
+
+
+
+/**
+ * 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 'Float'
+ */
+export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'>
+
+
+
+/**
+ * Reference to a field of type 'Float[]'
+ */
+export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'>
+
+
+/**
+ * Batch Payload for updateMany & deleteMany & createMany
+ */
+export type BatchPayload = {
+ count: number
+}
+
+export const defineExtension = runtime.Extensions.defineExtension as unknown as runtime.Types.Extensions.ExtendsHook<"define", TypeMapCb, runtime.Types.Extensions.DefaultArgs>
+export type DefaultPrismaClient = PrismaClient
+export type ErrorFormat = 'pretty' | 'colorless' | 'minimal'
+export type PrismaClientOptions = ({
+ /**
+ * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-pg`.
+ */
+ adapter: runtime.SqlDriverAdapterFactory
+ accelerateUrl?: never
+} | {
+ /**
+ * Prisma Accelerate URL allowing the client to connect through Accelerate instead of a direct database.
+ */
+ accelerateUrl: string
+ adapter?: never
+}) & {
+ /**
+ * @default "colorless"
+ */
+ errorFormat?: ErrorFormat
+ /**
+ * @example
+ * ```
+ * // Shorthand for `emit: 'stdout'`
+ * log: ['query', 'info', 'warn', 'error']
+ *
+ * // Emit as events only
+ * log: [
+ * { emit: 'event', level: 'query' },
+ * { emit: 'event', level: 'info' },
+ * { emit: 'event', level: 'warn' }
+ * { emit: 'event', level: 'error' }
+ * ]
+ *
+ * / Emit as events and log to stdout
+ * og: [
+ * { emit: 'stdout', level: 'query' },
+ * { emit: 'stdout', level: 'info' },
+ * { emit: 'stdout', level: 'warn' }
+ * { emit: 'stdout', level: 'error' }
+ *
+ * ```
+ * Read more in our [docs](https://pris.ly/d/logging).
+ */
+ log?: (LogLevel | LogDefinition)[]
+ /**
+ * The default values for transactionOptions
+ * maxWait ?= 2000
+ * timeout ?= 5000
+ */
+ transactionOptions?: {
+ maxWait?: number
+ timeout?: number
+ isolationLevel?: TransactionIsolationLevel
+ }
+ /**
+ * Global configuration for omitting model fields by default.
+ *
+ * @example
+ * ```
+ * const prisma = new PrismaClient({
+ * omit: {
+ * user: {
+ * password: true
+ * }
+ * }
+ * })
+ * ```
+ */
+ omit?: GlobalOmitConfig
+ /**
+ * SQL commenter plugins that add metadata to SQL queries as comments.
+ * Comments follow the sqlcommenter format: https://google.github.io/sqlcommenter/
+ *
+ * @example
+ * ```
+ * const prisma = new PrismaClient({
+ * adapter,
+ * comments: [
+ * traceContext(),
+ * queryInsights(),
+ * ],
+ * })
+ * ```
+ */
+ comments?: runtime.SqlCommenterPlugin[]
+}
+export type GlobalOmitConfig = {
+ session?: Prisma.SessionOmit
+ user?: Prisma.UserOmit
+ role?: Prisma.RoleOmit
+}
+
+/* Types for Logging */
+export type LogLevel = 'info' | 'query' | 'warn' | 'error'
+export type LogDefinition = {
+ level: LogLevel
+ emit: 'stdout' | 'event'
+}
+
+export type CheckIsLogLevel = T extends LogLevel ? T : never;
+
+export type GetLogType = CheckIsLogLevel<
+ T extends LogDefinition ? T['level'] : T
+>;
+
+export type GetEvents = T extends Array
+ ? GetLogType
+ : never;
+
+export type QueryEvent = {
+ timestamp: Date
+ query: string
+ params: string
+ duration: number
+ target: string
+}
+
+export type LogEvent = {
+ timestamp: Date
+ message: string
+ target: string
+}
+/* End Types for Logging */
+
+
+export type PrismaAction =
+ | 'findUnique'
+ | 'findUniqueOrThrow'
+ | 'findMany'
+ | 'findFirst'
+ | 'findFirstOrThrow'
+ | 'create'
+ | 'createMany'
+ | 'createManyAndReturn'
+ | 'update'
+ | 'updateMany'
+ | 'updateManyAndReturn'
+ | 'upsert'
+ | 'delete'
+ | 'deleteMany'
+ | 'executeRaw'
+ | 'queryRaw'
+ | 'aggregate'
+ | 'count'
+ | 'runCommandRaw'
+ | 'findRaw'
+ | 'groupBy'
+
+/**
+ * `PrismaClient` proxy available in interactive transactions.
+ */
+export type TransactionClient = Omit
+
diff --git a/generated/prisma/internal/prismaNamespaceBrowser.ts b/generated/prisma/internal/prismaNamespaceBrowser.ts
new file mode 100644
index 0000000..4be0826
--- /dev/null
+++ b/generated/prisma/internal/prismaNamespaceBrowser.ts
@@ -0,0 +1,139 @@
+
+/* !!! This is code generated by Prisma. Do not edit directly. !!! */
+/* eslint-disable */
+// biome-ignore-all lint: generated file
+// @ts-nocheck
+/*
+ * WARNING: This is an internal file that is subject to change!
+ *
+ * 🛑 Under no circumstances should you import this file directly! 🛑
+ *
+ * All exports from this file are wrapped under a `Prisma` namespace object in the browser.ts file.
+ * While this enables partial backward compatibility, it is not part of the stable public API.
+ *
+ * If you are looking for your Models, Enums, and Input Types, please import them from the respective
+ * model files in the `model` directory!
+ */
+
+import * as runtime from "@prisma/client/runtime/index-browser"
+
+export type * from '../models.ts'
+export type * from './prismaNamespace.ts'
+
+export const Decimal = runtime.Decimal
+
+
+export const NullTypes = {
+ DbNull: runtime.NullTypes.DbNull as (new (secret: never) => typeof runtime.DbNull),
+ JsonNull: runtime.NullTypes.JsonNull as (new (secret: never) => typeof runtime.JsonNull),
+ AnyNull: runtime.NullTypes.AnyNull as (new (secret: never) => typeof runtime.AnyNull),
+}
+/**
+ * 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 = runtime.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 = runtime.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 = runtime.AnyNull
+
+
+export const ModelName = {
+ Session: 'Session',
+ User: 'User',
+ Role: 'Role'
+} as const
+
+export type ModelName = (typeof ModelName)[keyof typeof ModelName]
+
+/*
+ * Enums
+ */
+
+export const TransactionIsolationLevel = runtime.makeStrictEnum({
+ ReadUncommitted: 'ReadUncommitted',
+ ReadCommitted: 'ReadCommitted',
+ RepeatableRead: 'RepeatableRead',
+ Serializable: 'Serializable'
+} as const)
+
+export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel]
+
+
+export const SessionScalarFieldEnum = {
+ id: 'id',
+ sessionKey: 'sessionKey',
+ userId: 'userId',
+ expires: 'expires',
+ refreshTokenGenerated: 'refreshTokenGenerated',
+ refreshedAt: 'refreshedAt',
+ invalidatedAt: 'invalidatedAt'
+} as const
+
+export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum]
+
+
+export const UserScalarFieldEnum = {
+ id: 'id',
+ permissions: 'permissions',
+ login: 'login',
+ name: 'name',
+ email: 'email',
+ emailVerified: 'emailVerified',
+ image: 'image',
+ userId: 'userId',
+ token: 'token',
+ createdAt: 'createdAt',
+ updatedAt: 'updatedAt'
+} as const
+
+export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum]
+
+
+export const RoleScalarFieldEnum = {
+ id: 'id',
+ title: 'title',
+ moniker: 'moniker',
+ permissions: 'permissions',
+ createdAt: 'createdAt',
+ updatedAt: 'updatedAt'
+} as const
+
+export type RoleScalarFieldEnum = (typeof RoleScalarFieldEnum)[keyof typeof RoleScalarFieldEnum]
+
+
+export const SortOrder = {
+ asc: 'asc',
+ desc: 'desc'
+} as const
+
+export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]
+
+
+export const QueryMode = {
+ default: 'default',
+ insensitive: 'insensitive'
+} as const
+
+export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode]
+
+
+export const NullsOrder = {
+ first: 'first',
+ last: 'last'
+} as const
+
+export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]
+
diff --git a/generated/prisma/models.ts b/generated/prisma/models.ts
new file mode 100644
index 0000000..5076f8f
--- /dev/null
+++ b/generated/prisma/models.ts
@@ -0,0 +1,14 @@
+
+/* !!! This is code generated by Prisma. Do not edit directly. !!! */
+/* eslint-disable */
+// biome-ignore-all lint: generated file
+// @ts-nocheck
+/*
+ * This is a barrel export file for all models and their related types.
+ *
+ * 🟢 You can import this file directly.
+ */
+export type * from './models/Session.ts'
+export type * from './models/User.ts'
+export type * from './models/Role.ts'
+export type * from './commonInputTypes.ts'
\ No newline at end of file
diff --git a/generated/prisma/models/Role.ts b/generated/prisma/models/Role.ts
new file mode 100644
index 0000000..6b592f1
--- /dev/null
+++ b/generated/prisma/models/Role.ts
@@ -0,0 +1,1409 @@
+
+/* !!! This is code generated by Prisma. Do not edit directly. !!! */
+/* eslint-disable */
+// biome-ignore-all lint: generated file
+// @ts-nocheck
+/*
+ * This file exports the `Role` model and its related types.
+ *
+ * 🟢 You can import this file directly.
+ */
+import type * as runtime from "@prisma/client/runtime/client"
+import type * as $Enums from "../enums.ts"
+import type * as Prisma from "../internal/prismaNamespace.ts"
+
+/**
+ * Model Role
+ *
+ */
+export type RoleModel = runtime.Types.Result.DefaultSelection
+
+export type AggregateRole = {
+ _count: RoleCountAggregateOutputType | null
+ _min: RoleMinAggregateOutputType | null
+ _max: RoleMaxAggregateOutputType | null
+}
+
+export type RoleMinAggregateOutputType = {
+ id: string | null
+ title: string | null
+ moniker: string | null
+ permissions: string | null
+ createdAt: Date | null
+ updatedAt: Date | null
+}
+
+export type RoleMaxAggregateOutputType = {
+ id: string | null
+ title: string | null
+ moniker: string | null
+ permissions: string | null
+ createdAt: Date | null
+ updatedAt: Date | null
+}
+
+export type RoleCountAggregateOutputType = {
+ id: number
+ title: number
+ moniker: number
+ permissions: number
+ createdAt: number
+ updatedAt: number
+ _all: number
+}
+
+
+export type RoleMinAggregateInputType = {
+ id?: true
+ title?: true
+ moniker?: true
+ permissions?: true
+ createdAt?: true
+ updatedAt?: true
+}
+
+export type RoleMaxAggregateInputType = {
+ id?: true
+ title?: true
+ moniker?: true
+ permissions?: true
+ createdAt?: true
+ updatedAt?: true
+}
+
+export type RoleCountAggregateInputType = {
+ id?: true
+ title?: true
+ moniker?: true
+ permissions?: true
+ createdAt?: true
+ updatedAt?: true
+ _all?: true
+}
+
+export type RoleAggregateArgs = {
+ /**
+ * Filter which Role to aggregate.
+ */
+ where?: Prisma.RoleWhereInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
+ *
+ * Determine the order of Roles to fetch.
+ */
+ orderBy?: Prisma.RoleOrderByWithRelationInput | Prisma.RoleOrderByWithRelationInput[]
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
+ *
+ * Sets the start position
+ */
+ cursor?: Prisma.RoleWhereUniqueInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Take `±n` Roles from the position of the cursor.
+ */
+ take?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Skip the first `n` Roles.
+ */
+ skip?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Count returned Roles
+ **/
+ _count?: true | RoleCountAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to find the minimum value
+ **/
+ _min?: RoleMinAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to find the maximum value
+ **/
+ _max?: RoleMaxAggregateInputType
+}
+
+export type GetRoleAggregateType = {
+ [P in keyof T & keyof AggregateRole]: P extends '_count' | 'count'
+ ? T[P] extends true
+ ? number
+ : Prisma.GetScalarType
+ : Prisma.GetScalarType
+}
+
+
+
+
+export type RoleGroupByArgs = {
+ where?: Prisma.RoleWhereInput
+ orderBy?: Prisma.RoleOrderByWithAggregationInput | Prisma.RoleOrderByWithAggregationInput[]
+ by: Prisma.RoleScalarFieldEnum[] | Prisma.RoleScalarFieldEnum
+ having?: Prisma.RoleScalarWhereWithAggregatesInput
+ take?: number
+ skip?: number
+ _count?: RoleCountAggregateInputType | true
+ _min?: RoleMinAggregateInputType
+ _max?: RoleMaxAggregateInputType
+}
+
+export type RoleGroupByOutputType = {
+ id: string
+ title: string
+ moniker: string
+ permissions: string
+ createdAt: Date
+ updatedAt: Date
+ _count: RoleCountAggregateOutputType | null
+ _min: RoleMinAggregateOutputType | null
+ _max: RoleMaxAggregateOutputType | null
+}
+
+type GetRoleGroupByPayload = Prisma.PrismaPromise<
+ Array<
+ Prisma.PickEnumerable &
+ {
+ [P in ((keyof T) & (keyof RoleGroupByOutputType))]: P extends '_count'
+ ? T[P] extends boolean
+ ? number
+ : Prisma.GetScalarType
+ : Prisma.GetScalarType
+ }
+ >
+ >
+
+
+
+export type RoleWhereInput = {
+ AND?: Prisma.RoleWhereInput | Prisma.RoleWhereInput[]
+ OR?: Prisma.RoleWhereInput[]
+ NOT?: Prisma.RoleWhereInput | Prisma.RoleWhereInput[]
+ id?: Prisma.StringFilter<"Role"> | string
+ title?: Prisma.StringFilter<"Role"> | string
+ moniker?: Prisma.StringFilter<"Role"> | string
+ permissions?: Prisma.StringFilter<"Role"> | string
+ createdAt?: Prisma.DateTimeFilter<"Role"> | Date | string
+ updatedAt?: Prisma.DateTimeFilter<"Role"> | Date | string
+ users?: Prisma.UserListRelationFilter
+}
+
+export type RoleOrderByWithRelationInput = {
+ id?: Prisma.SortOrder
+ title?: Prisma.SortOrder
+ moniker?: Prisma.SortOrder
+ permissions?: Prisma.SortOrder
+ createdAt?: Prisma.SortOrder
+ updatedAt?: Prisma.SortOrder
+ users?: Prisma.UserOrderByRelationAggregateInput
+}
+
+export type RoleWhereUniqueInput = Prisma.AtLeast<{
+ id?: string
+ moniker?: string
+ AND?: Prisma.RoleWhereInput | Prisma.RoleWhereInput[]
+ OR?: Prisma.RoleWhereInput[]
+ NOT?: Prisma.RoleWhereInput | Prisma.RoleWhereInput[]
+ title?: Prisma.StringFilter<"Role"> | string
+ permissions?: Prisma.StringFilter<"Role"> | string
+ createdAt?: Prisma.DateTimeFilter<"Role"> | Date | string
+ updatedAt?: Prisma.DateTimeFilter<"Role"> | Date | string
+ users?: Prisma.UserListRelationFilter
+}, "id" | "moniker">
+
+export type RoleOrderByWithAggregationInput = {
+ id?: Prisma.SortOrder
+ title?: Prisma.SortOrder
+ moniker?: Prisma.SortOrder
+ permissions?: Prisma.SortOrder
+ createdAt?: Prisma.SortOrder
+ updatedAt?: Prisma.SortOrder
+ _count?: Prisma.RoleCountOrderByAggregateInput
+ _max?: Prisma.RoleMaxOrderByAggregateInput
+ _min?: Prisma.RoleMinOrderByAggregateInput
+}
+
+export type RoleScalarWhereWithAggregatesInput = {
+ AND?: Prisma.RoleScalarWhereWithAggregatesInput | Prisma.RoleScalarWhereWithAggregatesInput[]
+ OR?: Prisma.RoleScalarWhereWithAggregatesInput[]
+ NOT?: Prisma.RoleScalarWhereWithAggregatesInput | Prisma.RoleScalarWhereWithAggregatesInput[]
+ id?: Prisma.StringWithAggregatesFilter<"Role"> | string
+ title?: Prisma.StringWithAggregatesFilter<"Role"> | string
+ moniker?: Prisma.StringWithAggregatesFilter<"Role"> | string
+ permissions?: Prisma.StringWithAggregatesFilter<"Role"> | string
+ createdAt?: Prisma.DateTimeWithAggregatesFilter<"Role"> | Date | string
+ updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Role"> | Date | string
+}
+
+export type RoleCreateInput = {
+ id?: string
+ title: string
+ moniker: string
+ permissions: string
+ createdAt?: Date | string
+ updatedAt?: Date | string
+ users?: Prisma.UserCreateNestedManyWithoutRolesInput
+}
+
+export type RoleUncheckedCreateInput = {
+ id?: string
+ title: string
+ moniker: string
+ permissions: string
+ createdAt?: Date | string
+ updatedAt?: Date | string
+ users?: Prisma.UserUncheckedCreateNestedManyWithoutRolesInput
+}
+
+export type RoleUpdateInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ title?: Prisma.StringFieldUpdateOperationsInput | string
+ moniker?: Prisma.StringFieldUpdateOperationsInput | string
+ permissions?: Prisma.StringFieldUpdateOperationsInput | string
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ users?: Prisma.UserUpdateManyWithoutRolesNestedInput
+}
+
+export type RoleUncheckedUpdateInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ title?: Prisma.StringFieldUpdateOperationsInput | string
+ moniker?: Prisma.StringFieldUpdateOperationsInput | string
+ permissions?: Prisma.StringFieldUpdateOperationsInput | string
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ users?: Prisma.UserUncheckedUpdateManyWithoutRolesNestedInput
+}
+
+export type RoleCreateManyInput = {
+ id?: string
+ title: string
+ moniker: string
+ permissions: string
+ createdAt?: Date | string
+ updatedAt?: Date | string
+}
+
+export type RoleUpdateManyMutationInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ title?: Prisma.StringFieldUpdateOperationsInput | string
+ moniker?: Prisma.StringFieldUpdateOperationsInput | string
+ permissions?: Prisma.StringFieldUpdateOperationsInput | string
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+export type RoleUncheckedUpdateManyInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ title?: Prisma.StringFieldUpdateOperationsInput | string
+ moniker?: Prisma.StringFieldUpdateOperationsInput | string
+ permissions?: Prisma.StringFieldUpdateOperationsInput | string
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+export type RoleListRelationFilter = {
+ every?: Prisma.RoleWhereInput
+ some?: Prisma.RoleWhereInput
+ none?: Prisma.RoleWhereInput
+}
+
+export type RoleOrderByRelationAggregateInput = {
+ _count?: Prisma.SortOrder
+}
+
+export type RoleCountOrderByAggregateInput = {
+ id?: Prisma.SortOrder
+ title?: Prisma.SortOrder
+ moniker?: Prisma.SortOrder
+ permissions?: Prisma.SortOrder
+ createdAt?: Prisma.SortOrder
+ updatedAt?: Prisma.SortOrder
+}
+
+export type RoleMaxOrderByAggregateInput = {
+ id?: Prisma.SortOrder
+ title?: Prisma.SortOrder
+ moniker?: Prisma.SortOrder
+ permissions?: Prisma.SortOrder
+ createdAt?: Prisma.SortOrder
+ updatedAt?: Prisma.SortOrder
+}
+
+export type RoleMinOrderByAggregateInput = {
+ id?: Prisma.SortOrder
+ title?: Prisma.SortOrder
+ moniker?: Prisma.SortOrder
+ permissions?: Prisma.SortOrder
+ createdAt?: Prisma.SortOrder
+ updatedAt?: Prisma.SortOrder
+}
+
+export type RoleCreateNestedManyWithoutUsersInput = {
+ create?: Prisma.XOR | Prisma.RoleCreateWithoutUsersInput[] | Prisma.RoleUncheckedCreateWithoutUsersInput[]
+ connectOrCreate?: Prisma.RoleCreateOrConnectWithoutUsersInput | Prisma.RoleCreateOrConnectWithoutUsersInput[]
+ connect?: Prisma.RoleWhereUniqueInput | Prisma.RoleWhereUniqueInput[]
+}
+
+export type RoleUncheckedCreateNestedManyWithoutUsersInput = {
+ create?: Prisma.XOR | Prisma.RoleCreateWithoutUsersInput[] | Prisma.RoleUncheckedCreateWithoutUsersInput[]
+ connectOrCreate?: Prisma.RoleCreateOrConnectWithoutUsersInput | Prisma.RoleCreateOrConnectWithoutUsersInput[]
+ connect?: Prisma.RoleWhereUniqueInput | Prisma.RoleWhereUniqueInput[]
+}
+
+export type RoleUpdateManyWithoutUsersNestedInput = {
+ create?: Prisma.XOR | Prisma.RoleCreateWithoutUsersInput[] | Prisma.RoleUncheckedCreateWithoutUsersInput[]
+ connectOrCreate?: Prisma.RoleCreateOrConnectWithoutUsersInput | Prisma.RoleCreateOrConnectWithoutUsersInput[]
+ upsert?: Prisma.RoleUpsertWithWhereUniqueWithoutUsersInput | Prisma.RoleUpsertWithWhereUniqueWithoutUsersInput[]
+ set?: Prisma.RoleWhereUniqueInput | Prisma.RoleWhereUniqueInput[]
+ disconnect?: Prisma.RoleWhereUniqueInput | Prisma.RoleWhereUniqueInput[]
+ delete?: Prisma.RoleWhereUniqueInput | Prisma.RoleWhereUniqueInput[]
+ connect?: Prisma.RoleWhereUniqueInput | Prisma.RoleWhereUniqueInput[]
+ update?: Prisma.RoleUpdateWithWhereUniqueWithoutUsersInput | Prisma.RoleUpdateWithWhereUniqueWithoutUsersInput[]
+ updateMany?: Prisma.RoleUpdateManyWithWhereWithoutUsersInput | Prisma.RoleUpdateManyWithWhereWithoutUsersInput[]
+ deleteMany?: Prisma.RoleScalarWhereInput | Prisma.RoleScalarWhereInput[]
+}
+
+export type RoleUncheckedUpdateManyWithoutUsersNestedInput = {
+ create?: Prisma.XOR | Prisma.RoleCreateWithoutUsersInput[] | Prisma.RoleUncheckedCreateWithoutUsersInput[]
+ connectOrCreate?: Prisma.RoleCreateOrConnectWithoutUsersInput | Prisma.RoleCreateOrConnectWithoutUsersInput[]
+ upsert?: Prisma.RoleUpsertWithWhereUniqueWithoutUsersInput | Prisma.RoleUpsertWithWhereUniqueWithoutUsersInput[]
+ set?: Prisma.RoleWhereUniqueInput | Prisma.RoleWhereUniqueInput[]
+ disconnect?: Prisma.RoleWhereUniqueInput | Prisma.RoleWhereUniqueInput[]
+ delete?: Prisma.RoleWhereUniqueInput | Prisma.RoleWhereUniqueInput[]
+ connect?: Prisma.RoleWhereUniqueInput | Prisma.RoleWhereUniqueInput[]
+ update?: Prisma.RoleUpdateWithWhereUniqueWithoutUsersInput | Prisma.RoleUpdateWithWhereUniqueWithoutUsersInput[]
+ updateMany?: Prisma.RoleUpdateManyWithWhereWithoutUsersInput | Prisma.RoleUpdateManyWithWhereWithoutUsersInput[]
+ deleteMany?: Prisma.RoleScalarWhereInput | Prisma.RoleScalarWhereInput[]
+}
+
+export type RoleCreateWithoutUsersInput = {
+ id?: string
+ title: string
+ moniker: string
+ permissions: string
+ createdAt?: Date | string
+ updatedAt?: Date | string
+}
+
+export type RoleUncheckedCreateWithoutUsersInput = {
+ id?: string
+ title: string
+ moniker: string
+ permissions: string
+ createdAt?: Date | string
+ updatedAt?: Date | string
+}
+
+export type RoleCreateOrConnectWithoutUsersInput = {
+ where: Prisma.RoleWhereUniqueInput
+ create: Prisma.XOR
+}
+
+export type RoleUpsertWithWhereUniqueWithoutUsersInput = {
+ where: Prisma.RoleWhereUniqueInput
+ update: Prisma.XOR
+ create: Prisma.XOR
+}
+
+export type RoleUpdateWithWhereUniqueWithoutUsersInput = {
+ where: Prisma.RoleWhereUniqueInput
+ data: Prisma.XOR
+}
+
+export type RoleUpdateManyWithWhereWithoutUsersInput = {
+ where: Prisma.RoleScalarWhereInput
+ data: Prisma.XOR
+}
+
+export type RoleScalarWhereInput = {
+ AND?: Prisma.RoleScalarWhereInput | Prisma.RoleScalarWhereInput[]
+ OR?: Prisma.RoleScalarWhereInput[]
+ NOT?: Prisma.RoleScalarWhereInput | Prisma.RoleScalarWhereInput[]
+ id?: Prisma.StringFilter<"Role"> | string
+ title?: Prisma.StringFilter<"Role"> | string
+ moniker?: Prisma.StringFilter<"Role"> | string
+ permissions?: Prisma.StringFilter<"Role"> | string
+ createdAt?: Prisma.DateTimeFilter<"Role"> | Date | string
+ updatedAt?: Prisma.DateTimeFilter<"Role"> | Date | string
+}
+
+export type RoleUpdateWithoutUsersInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ title?: Prisma.StringFieldUpdateOperationsInput | string
+ moniker?: Prisma.StringFieldUpdateOperationsInput | string
+ permissions?: Prisma.StringFieldUpdateOperationsInput | string
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+export type RoleUncheckedUpdateWithoutUsersInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ title?: Prisma.StringFieldUpdateOperationsInput | string
+ moniker?: Prisma.StringFieldUpdateOperationsInput | string
+ permissions?: Prisma.StringFieldUpdateOperationsInput | string
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+export type RoleUncheckedUpdateManyWithoutUsersInput = {
+ id?: Prisma.StringFieldUpdateOperationsInput | string
+ title?: Prisma.StringFieldUpdateOperationsInput | string
+ moniker?: Prisma.StringFieldUpdateOperationsInput | string
+ permissions?: Prisma.StringFieldUpdateOperationsInput | string
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
+}
+
+
+/**
+ * Count Type RoleCountOutputType
+ */
+
+export type RoleCountOutputType = {
+ users: number
+}
+
+export type RoleCountOutputTypeSelect = {
+ users?: boolean | RoleCountOutputTypeCountUsersArgs
+}
+
+/**
+ * RoleCountOutputType without action
+ */
+export type RoleCountOutputTypeDefaultArgs = {
+ /**
+ * Select specific fields to fetch from the RoleCountOutputType
+ */
+ select?: Prisma.RoleCountOutputTypeSelect | null
+}
+
+/**
+ * RoleCountOutputType without action
+ */
+export type RoleCountOutputTypeCountUsersArgs