/* !!! 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! 🛑 * * Please import the `PrismaClient` class from the `client.ts` file instead. */ import * as runtime from "@prisma/client/runtime/client" import type * as Prisma from "./prismaNamespace.ts" const config: runtime.GetPrismaClientConfig = { "previewFeatures": [], "clientVersion": "7.1.0", "engineVersion": "ab635e6b9d606fa5c8fb8b1a7f909c3c3c1c98ba", "activeProvider": "postgresql", "inlineSchema": "// Prisma Schema\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../generated/prisma\"\n engineType = \"client\"\n generatedFileExtension = \"ts\"\n importFileExtension = \"ts\"\n moduleFormat = \"esm\"\n runtime = \"nodejs\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel User {\n nwkennung String @id\n email String? @unique\n arbeitsname String?\n firstName String?\n lastName String?\n passwordHash String?\n groupId String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n avatarUrl String?\n\n devicesCreated Device[] @relation(\"DeviceCreatedBy\")\n devicesUpdated Device[] @relation(\"DeviceUpdatedBy\")\n historyEntries DeviceHistory[] @relation(\"DeviceHistoryChangedBy\")\n\n // UserGroup hat ein Feld \"id\" – also darauf referenzieren\n group UserGroup? @relation(fields: [groupId], references: [id])\n\n roles UserRole[]\n\n @@index([groupId])\n}\n\nmodel Role {\n id String @id @default(uuid())\n name String @unique\n users UserRole[]\n}\n\nmodel UserRole {\n userId String\n roleId String\n assignedAt DateTime @default(now())\n\n role Role @relation(fields: [roleId], references: [id])\n user User @relation(fields: [userId], references: [nwkennung])\n\n @@id([userId, roleId])\n}\n\nmodel UserGroup {\n id String @id @default(uuid())\n name String @unique\n users User[]\n canEditDevices Boolean @default(false)\n}\n\nmodel DeviceGroup {\n id String @id @default(uuid())\n name String @unique\n devices Device[]\n}\n\nmodel Location {\n id String @id @default(uuid())\n name String @unique\n devices Device[]\n}\n\nmodel Device {\n inventoryNumber String @id\n name String\n manufacturer String\n model String\n serialNumber String?\n productNumber String?\n comment String?\n ipv4Address String? @unique\n ipv6Address String? @unique\n macAddress String? @unique\n username String? @unique\n passwordHash String? @unique\n groupId String?\n locationId String?\n loanedTo String?\n loanedFrom DateTime?\n loanedUntil DateTime?\n loanComment String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n createdById String?\n updatedById String?\n\n // 🔹 Self-Relation Hauptgerät/Zubehör\n parentDeviceId String?\n parentDevice Device? @relation(name: \"DeviceAccessories\", fields: [parentDeviceId], references: [inventoryNumber], onDelete: SetNull)\n accessories Device[] @relation(\"DeviceAccessories\")\n\n createdBy User? @relation(\"DeviceCreatedBy\", fields: [createdById], references: [nwkennung])\n updatedBy User? @relation(\"DeviceUpdatedBy\", fields: [updatedById], references: [nwkennung])\n\n group DeviceGroup? @relation(fields: [groupId], references: [id])\n location Location? @relation(fields: [locationId], references: [id])\n\n history DeviceHistory[]\n tags Tag[] @relation(\"DeviceToTag\")\n\n @@index([inventoryNumber])\n @@index([groupId])\n @@index([locationId])\n @@index([parentDeviceId])\n}\n\nmodel Tag {\n id String @id @default(uuid())\n name String @unique\n devices Device[] @relation(\"DeviceToTag\")\n}\n\nmodel DeviceHistory {\n id String @id @default(uuid())\n deviceId String?\n changeType DeviceChangeType\n snapshot Json\n changedAt DateTime @default(now())\n changedById String?\n\n changedBy User? @relation(\"DeviceHistoryChangedBy\", fields: [changedById], references: [nwkennung])\n device Device? @relation(fields: [deviceId], references: [inventoryNumber], onDelete: SetNull)\n}\n\nenum DeviceChangeType {\n CREATED\n UPDATED\n DELETED\n}\n", "runtimeDataModel": { "models": {}, "enums": {}, "types": {} } } config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"nwkennung\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"arbeitsname\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"passwordHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"groupId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"avatarUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"devicesCreated\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceCreatedBy\"},{\"name\":\"devicesUpdated\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceUpdatedBy\"},{\"name\":\"historyEntries\",\"kind\":\"object\",\"type\":\"DeviceHistory\",\"relationName\":\"DeviceHistoryChangedBy\"},{\"name\":\"group\",\"kind\":\"object\",\"type\":\"UserGroup\",\"relationName\":\"UserToUserGroup\"},{\"name\":\"roles\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"UserToUserRole\"}],\"dbName\":null},\"Role\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"RoleToUserRole\"}],\"dbName\":null},\"UserRole\":{\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"roleId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"role\",\"kind\":\"object\",\"type\":\"Role\",\"relationName\":\"RoleToUserRole\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserRole\"}],\"dbName\":null},\"UserGroup\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserGroup\"},{\"name\":\"canEditDevices\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"DeviceGroup\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"devices\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceToDeviceGroup\"}],\"dbName\":null},\"Location\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"devices\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceToLocation\"}],\"dbName\":null},\"Device\":{\"fields\":[{\"name\":\"inventoryNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"manufacturer\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"serialNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"productNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"comment\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ipv4Address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ipv6Address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"macAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"passwordHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"groupId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"locationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"loanedTo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"loanedFrom\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"loanedUntil\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"loanComment\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"parentDeviceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"parentDevice\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceAccessories\"},{\"name\":\"accessories\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceAccessories\"},{\"name\":\"createdBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DeviceCreatedBy\"},{\"name\":\"updatedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DeviceUpdatedBy\"},{\"name\":\"group\",\"kind\":\"object\",\"type\":\"DeviceGroup\",\"relationName\":\"DeviceToDeviceGroup\"},{\"name\":\"location\",\"kind\":\"object\",\"type\":\"Location\",\"relationName\":\"DeviceToLocation\"},{\"name\":\"history\",\"kind\":\"object\",\"type\":\"DeviceHistory\",\"relationName\":\"DeviceToDeviceHistory\"},{\"name\":\"tags\",\"kind\":\"object\",\"type\":\"Tag\",\"relationName\":\"DeviceToTag\"}],\"dbName\":null},\"Tag\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"devices\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceToTag\"}],\"dbName\":null},\"DeviceHistory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"deviceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"changeType\",\"kind\":\"enum\",\"type\":\"DeviceChangeType\"},{\"name\":\"snapshot\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"changedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"changedById\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"changedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DeviceHistoryChangedBy\"},{\"name\":\"device\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceToDeviceHistory\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") async function decodeBase64AsWasm(wasmBase64: string): Promise { const { Buffer } = await import('node:buffer') const wasmArray = Buffer.from(wasmBase64, 'base64') return new WebAssembly.Module(wasmArray) } config.compilerWasm = { getRuntime: async () => await import("@prisma/client/runtime/query_compiler_bg.postgresql.mjs"), getQueryCompilerWasmModule: async () => { const { wasm } = await import("@prisma/client/runtime/query_compiler_bg.postgresql.wasm-base64.mjs") return await decodeBase64AsWasm(wasm) } } export type LogOptions = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never export interface PrismaClientConstructor { /** * ## Prisma Client * * Type-safe database client for TypeScript * @example * ``` * const prisma = new PrismaClient() * // Fetch zero or more Users * const users = await prisma.user.findMany() * ``` * * Read more in our [docs](https://pris.ly/d/client). */ new < Options extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, LogOpts extends LogOptions = LogOptions, OmitOpts extends Prisma.PrismaClientOptions['omit'] = Options extends { omit: infer U } ? U : Prisma.PrismaClientOptions['omit'], ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs >(options: Prisma.Subset ): PrismaClient } /** * ## Prisma Client * * Type-safe database client for TypeScript * @example * ``` * const prisma = new PrismaClient() * // Fetch zero or more Users * const users = await prisma.user.findMany() * ``` * * Read more in our [docs](https://pris.ly/d/client). */ export interface PrismaClient< in LogOpts extends Prisma.LogLevel = never, in out OmitOpts extends Prisma.PrismaClientOptions['omit'] = undefined, in out ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs > { [K: symbol]: { types: Prisma.TypeMap['other'] } $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient; /** * Connect with the database */ $connect(): runtime.Types.Utils.JsPromise; /** * Disconnect from the database */ $disconnect(): runtime.Types.Utils.JsPromise; /** * Executes a prepared raw query and returns the number of affected rows. * @example * ``` * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};` * ``` * * Read more in our [docs](https://pris.ly/d/raw-queries). */ $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Executes a raw query and returns the number of affected rows. * Susceptible to SQL injections, see documentation. * @example * ``` * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com') * ``` * * Read more in our [docs](https://pris.ly/d/raw-queries). */ $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; /** * Performs a prepared raw query and returns the `SELECT` data. * @example * ``` * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};` * ``` * * Read more in our [docs](https://pris.ly/d/raw-queries). */ $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Performs a raw query and returns the `SELECT` data. * Susceptible to SQL injections, see documentation. * @example * ``` * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com') * ``` * * Read more in our [docs](https://pris.ly/d/raw-queries). */ $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; /** * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole. * @example * ``` * const [george, bob, alice] = await prisma.$transaction([ * prisma.user.create({ data: { name: 'George' } }), * prisma.user.create({ data: { name: 'Bob' } }), * prisma.user.create({ data: { name: 'Alice' } }), * ]) * ``` * * Read more in our [docs](https://www.prisma.io/docs/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.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; /** * `prisma.userRole`: Exposes CRUD operations for the **UserRole** model. * Example usage: * ```ts * // Fetch zero or more UserRoles * const userRoles = await prisma.userRole.findMany() * ``` */ get userRole(): Prisma.UserRoleDelegate; /** * `prisma.userGroup`: Exposes CRUD operations for the **UserGroup** model. * Example usage: * ```ts * // Fetch zero or more UserGroups * const userGroups = await prisma.userGroup.findMany() * ``` */ get userGroup(): Prisma.UserGroupDelegate; /** * `prisma.deviceGroup`: Exposes CRUD operations for the **DeviceGroup** model. * Example usage: * ```ts * // Fetch zero or more DeviceGroups * const deviceGroups = await prisma.deviceGroup.findMany() * ``` */ get deviceGroup(): Prisma.DeviceGroupDelegate; /** * `prisma.location`: Exposes CRUD operations for the **Location** model. * Example usage: * ```ts * // Fetch zero or more Locations * const locations = await prisma.location.findMany() * ``` */ get location(): Prisma.LocationDelegate; /** * `prisma.device`: Exposes CRUD operations for the **Device** model. * Example usage: * ```ts * // Fetch zero or more Devices * const devices = await prisma.device.findMany() * ``` */ get device(): Prisma.DeviceDelegate; /** * `prisma.tag`: Exposes CRUD operations for the **Tag** model. * Example usage: * ```ts * // Fetch zero or more Tags * const tags = await prisma.tag.findMany() * ``` */ get tag(): Prisma.TagDelegate; /** * `prisma.deviceHistory`: Exposes CRUD operations for the **DeviceHistory** model. * Example usage: * ```ts * // Fetch zero or more DeviceHistories * const deviceHistories = await prisma.deviceHistory.findMany() * ``` */ get deviceHistory(): Prisma.DeviceHistoryDelegate; } export function getPrismaClientClass(): PrismaClientConstructor { return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor }