271 lines
19 KiB
TypeScript
271 lines
19 KiB
TypeScript
|
||
/* !!! 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<WebAssembly.Module> {
|
||
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<ClientOptions extends Prisma.PrismaClientOptions> =
|
||
'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array<Prisma.LogLevel | Prisma.LogDefinition> ? Prisma.GetEvents<ClientOptions['log']> : 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<Options> = LogOptions<Options>,
|
||
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<Options, Prisma.PrismaClientOptions> ): PrismaClient<LogOpts, OmitOpts, ExtArgs>
|
||
}
|
||
|
||
/**
|
||
* ## 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<ExtArgs>['other'] }
|
||
|
||
$on<V extends LogOpts>(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient;
|
||
|
||
/**
|
||
* Connect with the database
|
||
*/
|
||
$connect(): runtime.Types.Utils.JsPromise<void>;
|
||
|
||
/**
|
||
* Disconnect from the database
|
||
*/
|
||
$disconnect(): runtime.Types.Utils.JsPromise<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://pris.ly/d/raw-queries).
|
||
*/
|
||
$executeRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<number>;
|
||
|
||
/**
|
||
* 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<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<number>;
|
||
|
||
/**
|
||
* 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<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<T>;
|
||
|
||
/**
|
||
* 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<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<T>;
|
||
|
||
|
||
/**
|
||
* 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<P extends Prisma.PrismaPromise<any>[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise<runtime.Types.Utils.UnwrapTuple<P>>
|
||
|
||
$transaction<R>(fn: (prisma: Omit<PrismaClient, runtime.ITXClientDenyList>) => runtime.Types.Utils.JsPromise<R>, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise<R>
|
||
|
||
$extends: runtime.Types.Extensions.ExtendsHook<"extends", Prisma.TypeMapCb<OmitOpts>, ExtArgs, runtime.Types.Utils.Call<Prisma.TypeMapCb<OmitOpts>, {
|
||
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<ExtArgs, { omit: OmitOpts }>;
|
||
|
||
/**
|
||
* `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<ExtArgs, { omit: OmitOpts }>;
|
||
|
||
/**
|
||
* `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<ExtArgs, { omit: OmitOpts }>;
|
||
|
||
/**
|
||
* `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<ExtArgs, { omit: OmitOpts }>;
|
||
|
||
/**
|
||
* `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<ExtArgs, { omit: OmitOpts }>;
|
||
|
||
/**
|
||
* `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<ExtArgs, { omit: OmitOpts }>;
|
||
|
||
/**
|
||
* `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<ExtArgs, { omit: OmitOpts }>;
|
||
|
||
/**
|
||
* `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<ExtArgs, { omit: OmitOpts }>;
|
||
|
||
/**
|
||
* `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<ExtArgs, { omit: OmitOpts }>;
|
||
}
|
||
|
||
export function getPrismaClientClass(): PrismaClientConstructor {
|
||
return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor
|
||
}
|