From 23e233fe0282161ee0f537f66cf393b4d554a131 Mon Sep 17 00:00:00 2001 From: xCyanGrizzly Date: Wed, 18 Feb 2026 17:34:19 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20commit=20generated=20Prisma=20client=20?= =?UTF-8?q?=E2=80=94=20Turbopack=20excludes=20gitignored=20paths?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Turbopack skips gitignored directories during module resolution in next build. Since src/generated/prisma was in .gitignore, the build on CI failed with "Module not found: Can't resolve '@/generated/prisma'" even though prisma generate created the files. Fix: commit the generated client and remove it from .gitignore. Run `npx prisma generate` after schema changes to update. Co-Authored-By: Claude Opus 4.6 --- .gitignore | 5 +- src/generated/prisma/browser.ts | 94 + src/generated/prisma/client.ts | 116 + src/generated/prisma/commonInputTypes.ts | 483 +++ src/generated/prisma/enums.ts | 17 + src/generated/prisma/index.ts | 1 + src/generated/prisma/internal/class.ts | 340 ++ .../prisma/internal/prismaNamespace.ts | 2062 ++++++++++++ .../prisma/internal/prismaNamespaceBrowser.ts | 323 ++ src/generated/prisma/models.ts | 26 + src/generated/prisma/models/Account.ts | 1643 ++++++++++ src/generated/prisma/models/Filament.ts | 2750 ++++++++++++++++ src/generated/prisma/models/Location.ts | 1821 ++++++++++ src/generated/prisma/models/Paint.ts | 2667 +++++++++++++++ src/generated/prisma/models/Resin.ts | 2612 +++++++++++++++ src/generated/prisma/models/Session.ts | 1305 ++++++++ src/generated/prisma/models/Tag.ts | 1680 ++++++++++ src/generated/prisma/models/TagOnFilament.ts | 1344 ++++++++ src/generated/prisma/models/TagOnPaint.ts | 1344 ++++++++ src/generated/prisma/models/TagOnResin.ts | 1344 ++++++++ src/generated/prisma/models/UsageLog.ts | 2119 ++++++++++++ src/generated/prisma/models/User.ts | 2914 +++++++++++++++++ src/generated/prisma/models/UserSettings.ts | 1366 ++++++++ src/generated/prisma/models/Vendor.ts | 1872 +++++++++++ .../prisma/models/VerificationToken.ts | 1094 +++++++ 25 files changed, 31340 insertions(+), 2 deletions(-) create mode 100644 src/generated/prisma/browser.ts create mode 100644 src/generated/prisma/client.ts create mode 100644 src/generated/prisma/commonInputTypes.ts create mode 100644 src/generated/prisma/enums.ts create mode 100644 src/generated/prisma/index.ts create mode 100644 src/generated/prisma/internal/class.ts create mode 100644 src/generated/prisma/internal/prismaNamespace.ts create mode 100644 src/generated/prisma/internal/prismaNamespaceBrowser.ts create mode 100644 src/generated/prisma/models.ts create mode 100644 src/generated/prisma/models/Account.ts create mode 100644 src/generated/prisma/models/Filament.ts create mode 100644 src/generated/prisma/models/Location.ts create mode 100644 src/generated/prisma/models/Paint.ts create mode 100644 src/generated/prisma/models/Resin.ts create mode 100644 src/generated/prisma/models/Session.ts create mode 100644 src/generated/prisma/models/Tag.ts create mode 100644 src/generated/prisma/models/TagOnFilament.ts create mode 100644 src/generated/prisma/models/TagOnPaint.ts create mode 100644 src/generated/prisma/models/TagOnResin.ts create mode 100644 src/generated/prisma/models/UsageLog.ts create mode 100644 src/generated/prisma/models/User.ts create mode 100644 src/generated/prisma/models/UserSettings.ts create mode 100644 src/generated/prisma/models/Vendor.ts create mode 100644 src/generated/prisma/models/VerificationToken.ts diff --git a/.gitignore b/.gitignore index b1f8891..de790a2 100644 --- a/.gitignore +++ b/.gitignore @@ -42,8 +42,9 @@ yarn-error.log* *.tsbuildinfo next-env.d.ts -# prisma — generated client (regenerated by `prisma generate`) -/src/generated/prisma +# prisma — generated client is committed so Turbopack can resolve it +# during next build (Turbopack excludes gitignored paths from module resolution). +# Run `npx prisma generate` after schema changes to update. # ide .idea diff --git a/src/generated/prisma/browser.ts b/src/generated/prisma/browser.ts new file mode 100644 index 0000000..91e730c --- /dev/null +++ b/src/generated/prisma/browser.ts @@ -0,0 +1,94 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file should be your main import to use Prisma-related types and utilities in a browser. + * Use it to get access to models, enums, and input types. + * + * This file does not contain a `PrismaClient` class, nor several other helpers that are intended as server-side only. + * See `client.ts` for the standard, server-side entry point. + * + * 🟢 You can import this file directly. + */ + +import * as Prisma from './internal/prismaNamespaceBrowser' +export { Prisma } +export * as $Enums from './enums' +export * from './enums'; +/** + * Model User + * + */ +export type User = Prisma.UserModel +/** + * Model Account + * + */ +export type Account = Prisma.AccountModel +/** + * Model Session + * + */ +export type Session = Prisma.SessionModel +/** + * Model VerificationToken + * + */ +export type VerificationToken = Prisma.VerificationTokenModel +/** + * Model Vendor + * + */ +export type Vendor = Prisma.VendorModel +/** + * Model Location + * + */ +export type Location = Prisma.LocationModel +/** + * Model Filament + * + */ +export type Filament = Prisma.FilamentModel +/** + * Model Resin + * + */ +export type Resin = Prisma.ResinModel +/** + * Model Paint + * + */ +export type Paint = Prisma.PaintModel +/** + * Model Tag + * + */ +export type Tag = Prisma.TagModel +/** + * Model TagOnFilament + * + */ +export type TagOnFilament = Prisma.TagOnFilamentModel +/** + * Model TagOnResin + * + */ +export type TagOnResin = Prisma.TagOnResinModel +/** + * Model TagOnPaint + * + */ +export type TagOnPaint = Prisma.TagOnPaintModel +/** + * Model UsageLog + * + */ +export type UsageLog = Prisma.UsageLogModel +/** + * Model UserSettings + * + */ +export type UserSettings = Prisma.UserSettingsModel diff --git a/src/generated/prisma/client.ts b/src/generated/prisma/client.ts new file mode 100644 index 0000000..774da15 --- /dev/null +++ b/src/generated/prisma/client.ts @@ -0,0 +1,116 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file should be your main import to use Prisma. Through it you get access to all the models, enums, and input types. + * If you're looking for something you can import in the client-side of your application, please refer to the `browser.ts` file instead. + * + * 🟢 You can import this file directly. + */ + +import * as process from 'node:process' +import * as path from 'node:path' +import { fileURLToPath } from 'node:url' +globalThis['__dirname'] = path.dirname(fileURLToPath(import.meta.url)) + +import * as runtime from "@prisma/client/runtime/client" +import * as $Enums from "./enums" +import * as $Class from "./internal/class" +import * as Prisma from "./internal/prismaNamespace" + +export * as $Enums from './enums' +export * from "./enums" +/** + * ## 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 const PrismaClient = $Class.getPrismaClientClass() +export type PrismaClient = $Class.PrismaClient +export { Prisma } + +/** + * Model User + * + */ +export type User = Prisma.UserModel +/** + * Model Account + * + */ +export type Account = Prisma.AccountModel +/** + * Model Session + * + */ +export type Session = Prisma.SessionModel +/** + * Model VerificationToken + * + */ +export type VerificationToken = Prisma.VerificationTokenModel +/** + * Model Vendor + * + */ +export type Vendor = Prisma.VendorModel +/** + * Model Location + * + */ +export type Location = Prisma.LocationModel +/** + * Model Filament + * + */ +export type Filament = Prisma.FilamentModel +/** + * Model Resin + * + */ +export type Resin = Prisma.ResinModel +/** + * Model Paint + * + */ +export type Paint = Prisma.PaintModel +/** + * Model Tag + * + */ +export type Tag = Prisma.TagModel +/** + * Model TagOnFilament + * + */ +export type TagOnFilament = Prisma.TagOnFilamentModel +/** + * Model TagOnResin + * + */ +export type TagOnResin = Prisma.TagOnResinModel +/** + * Model TagOnPaint + * + */ +export type TagOnPaint = Prisma.TagOnPaintModel +/** + * Model UsageLog + * + */ +export type UsageLog = Prisma.UsageLogModel +/** + * Model UserSettings + * + */ +export type UserSettings = Prisma.UserSettingsModel diff --git a/src/generated/prisma/commonInputTypes.ts b/src/generated/prisma/commonInputTypes.ts new file mode 100644 index 0000000..f46d9f3 --- /dev/null +++ b/src/generated/prisma/commonInputTypes.ts @@ -0,0 +1,483 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports various common sort, input & filter types that are not directly linked to a particular model. + * + * 🟢 You can import this file directly. + */ + +import type * as runtime from "@prisma/client/runtime/client" +import * as $Enums from "./enums" +import type * as Prisma from "./internal/prismaNamespace" + + +export type StringFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + mode?: Prisma.QueryMode + not?: Prisma.NestedStringFilter<$PrismaModel> | string +} + +export type StringNullableFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + mode?: Prisma.QueryMode + not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null +} + +export type DateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null +} + +export type EnumRoleFilter<$PrismaModel = never> = { + equals?: $Enums.Role | Prisma.EnumRoleFieldRefInput<$PrismaModel> + in?: $Enums.Role[] | Prisma.ListEnumRoleFieldRefInput<$PrismaModel> + notIn?: $Enums.Role[] | Prisma.ListEnumRoleFieldRefInput<$PrismaModel> + not?: Prisma.NestedEnumRoleFilter<$PrismaModel> | $Enums.Role +} + +export type DateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string +} + +export type SortOrderInput = { + sort: Prisma.SortOrder + nulls?: Prisma.NullsOrder +} + +export type StringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + mode?: Prisma.QueryMode + not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedStringFilter<$PrismaModel> + _max?: Prisma.NestedStringFilter<$PrismaModel> +} + +export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + mode?: Prisma.QueryMode + not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedStringNullableFilter<$PrismaModel> + _max?: Prisma.NestedStringNullableFilter<$PrismaModel> +} + +export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> + _max?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> +} + +export type EnumRoleWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.Role | Prisma.EnumRoleFieldRefInput<$PrismaModel> + in?: $Enums.Role[] | Prisma.ListEnumRoleFieldRefInput<$PrismaModel> + notIn?: $Enums.Role[] | Prisma.ListEnumRoleFieldRefInput<$PrismaModel> + not?: Prisma.NestedEnumRoleWithAggregatesFilter<$PrismaModel> | $Enums.Role + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedEnumRoleFilter<$PrismaModel> + _max?: Prisma.NestedEnumRoleFilter<$PrismaModel> +} + +export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedDateTimeFilter<$PrismaModel> + _max?: Prisma.NestedDateTimeFilter<$PrismaModel> +} + +export type IntNullableFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntNullableFilter<$PrismaModel> | number | null +} + +export type IntNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _avg?: Prisma.NestedFloatNullableFilter<$PrismaModel> + _sum?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedIntNullableFilter<$PrismaModel> + _max?: Prisma.NestedIntNullableFilter<$PrismaModel> +} + +export type BoolFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> + not?: Prisma.NestedBoolFilter<$PrismaModel> | boolean +} + +export type BoolWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> + not?: Prisma.NestedBoolWithAggregatesFilter<$PrismaModel> | boolean + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedBoolFilter<$PrismaModel> + _max?: Prisma.NestedBoolFilter<$PrismaModel> +} + +export type FloatFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatFilter<$PrismaModel> | number +} + +export type FloatNullableFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatNullableFilter<$PrismaModel> | number | null +} + +export type FloatWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatWithAggregatesFilter<$PrismaModel> | number + _count?: Prisma.NestedIntFilter<$PrismaModel> + _avg?: Prisma.NestedFloatFilter<$PrismaModel> + _sum?: Prisma.NestedFloatFilter<$PrismaModel> + _min?: Prisma.NestedFloatFilter<$PrismaModel> + _max?: Prisma.NestedFloatFilter<$PrismaModel> +} + +export type FloatNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _avg?: Prisma.NestedFloatNullableFilter<$PrismaModel> + _sum?: Prisma.NestedFloatNullableFilter<$PrismaModel> + _min?: Prisma.NestedFloatNullableFilter<$PrismaModel> + _max?: Prisma.NestedFloatNullableFilter<$PrismaModel> +} + +export type NestedStringFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + not?: Prisma.NestedStringFilter<$PrismaModel> | string +} + +export type NestedStringNullableFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null +} + +export type NestedDateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null +} + +export type NestedEnumRoleFilter<$PrismaModel = never> = { + equals?: $Enums.Role | Prisma.EnumRoleFieldRefInput<$PrismaModel> + in?: $Enums.Role[] | Prisma.ListEnumRoleFieldRefInput<$PrismaModel> + notIn?: $Enums.Role[] | Prisma.ListEnumRoleFieldRefInput<$PrismaModel> + not?: Prisma.NestedEnumRoleFilter<$PrismaModel> | $Enums.Role +} + +export type NestedDateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string +} + +export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedStringFilter<$PrismaModel> + _max?: Prisma.NestedStringFilter<$PrismaModel> +} + +export type NestedIntFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntFilter<$PrismaModel> | number +} + +export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + lt?: string | Prisma.StringFieldRefInput<$PrismaModel> + lte?: string | Prisma.StringFieldRefInput<$PrismaModel> + gt?: string | Prisma.StringFieldRefInput<$PrismaModel> + gte?: string | Prisma.StringFieldRefInput<$PrismaModel> + contains?: string | Prisma.StringFieldRefInput<$PrismaModel> + startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> + not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedStringNullableFilter<$PrismaModel> + _max?: Prisma.NestedStringNullableFilter<$PrismaModel> +} + +export type NestedIntNullableFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntNullableFilter<$PrismaModel> | number | null +} + +export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> + _max?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> +} + +export type NestedEnumRoleWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.Role | Prisma.EnumRoleFieldRefInput<$PrismaModel> + in?: $Enums.Role[] | Prisma.ListEnumRoleFieldRefInput<$PrismaModel> + notIn?: $Enums.Role[] | Prisma.ListEnumRoleFieldRefInput<$PrismaModel> + not?: Prisma.NestedEnumRoleWithAggregatesFilter<$PrismaModel> | $Enums.Role + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedEnumRoleFilter<$PrismaModel> + _max?: Prisma.NestedEnumRoleFilter<$PrismaModel> +} + +export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> + not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedDateTimeFilter<$PrismaModel> + _max?: Prisma.NestedDateTimeFilter<$PrismaModel> +} + +export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _avg?: Prisma.NestedFloatNullableFilter<$PrismaModel> + _sum?: Prisma.NestedIntNullableFilter<$PrismaModel> + _min?: Prisma.NestedIntNullableFilter<$PrismaModel> + _max?: Prisma.NestedIntNullableFilter<$PrismaModel> +} + +export type NestedFloatNullableFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatNullableFilter<$PrismaModel> | number | null +} + +export type NestedBoolFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> + not?: Prisma.NestedBoolFilter<$PrismaModel> | boolean +} + +export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | Prisma.BooleanFieldRefInput<$PrismaModel> + not?: Prisma.NestedBoolWithAggregatesFilter<$PrismaModel> | boolean + _count?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedBoolFilter<$PrismaModel> + _max?: Prisma.NestedBoolFilter<$PrismaModel> +} + +export type NestedFloatFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatFilter<$PrismaModel> | number +} + +export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatWithAggregatesFilter<$PrismaModel> | number + _count?: Prisma.NestedIntFilter<$PrismaModel> + _avg?: Prisma.NestedFloatFilter<$PrismaModel> + _sum?: Prisma.NestedFloatFilter<$PrismaModel> + _min?: Prisma.NestedFloatFilter<$PrismaModel> + _max?: Prisma.NestedFloatFilter<$PrismaModel> +} + +export type NestedFloatNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: Prisma.NestedIntNullableFilter<$PrismaModel> + _avg?: Prisma.NestedFloatNullableFilter<$PrismaModel> + _sum?: Prisma.NestedFloatNullableFilter<$PrismaModel> + _min?: Prisma.NestedFloatNullableFilter<$PrismaModel> + _max?: Prisma.NestedFloatNullableFilter<$PrismaModel> +} + + diff --git a/src/generated/prisma/enums.ts b/src/generated/prisma/enums.ts new file mode 100644 index 0000000..d99e563 --- /dev/null +++ b/src/generated/prisma/enums.ts @@ -0,0 +1,17 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* +* This file exports all enum related types from the schema. +* +* 🟢 You can import this file directly. +*/ + +export const Role = { + ADMIN: 'ADMIN', + USER: 'USER' +} as const + +export type Role = (typeof Role)[keyof typeof Role] diff --git a/src/generated/prisma/index.ts b/src/generated/prisma/index.ts new file mode 100644 index 0000000..5ec7692 --- /dev/null +++ b/src/generated/prisma/index.ts @@ -0,0 +1 @@ +export * from "./client"; diff --git a/src/generated/prisma/internal/class.ts b/src/generated/prisma/internal/class.ts new file mode 100644 index 0000000..69aed9f --- /dev/null +++ b/src/generated/prisma/internal/class.ts @@ -0,0 +1,340 @@ + +/* !!! 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" + + +const config: runtime.GetPrismaClientConfig = { + "previewFeatures": [], + "clientVersion": "7.4.0", + "engineVersion": "ab56fe763f921d033a6c195e7ddeb3e255bdbb57", + "activeProvider": "postgresql", + "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\n// ───────────────────────────────────────\n// Auth.js required models\n// ───────────────────────────────────────\n\nenum Role {\n ADMIN\n USER\n}\n\nmodel User {\n id String @id @default(cuid())\n name String?\n email String? @unique\n emailVerified DateTime?\n image String?\n hashedPassword String?\n role Role @default(USER)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n accounts Account[]\n sessions Session[]\n filaments Filament[]\n resins Resin[]\n paints Paint[]\n vendors Vendor[]\n locations Location[]\n usageLogs UsageLog[]\n tags Tag[]\n settings UserSettings?\n}\n\nmodel Account {\n id String @id @default(cuid())\n userId String\n type String\n provider String\n providerAccountId String\n refresh_token String? @db.Text\n access_token String? @db.Text\n expires_at Int?\n token_type String?\n scope String?\n id_token String? @db.Text\n session_state String?\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@unique([provider, providerAccountId])\n}\n\nmodel Session {\n id String @id @default(cuid())\n sessionToken String @unique\n userId String\n expires DateTime\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n}\n\nmodel VerificationToken {\n identifier String\n token String\n expires DateTime\n\n @@unique([identifier, token])\n}\n\n// ───────────────────────────────────────\n// Domain models\n// ───────────────────────────────────────\n\nmodel Vendor {\n id String @id @default(cuid())\n name String @db.VarChar(64)\n website String? @db.VarChar(256)\n notes String? @db.Text\n archived Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n userId String\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n filaments Filament[]\n resins Resin[]\n paints Paint[]\n\n @@index([userId])\n @@index([archived])\n}\n\nmodel Location {\n id String @id @default(cuid())\n name String @db.VarChar(64)\n description String? @db.VarChar(256)\n archived Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n userId String\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n filaments Filament[]\n resins Resin[]\n paints Paint[]\n\n @@index([userId])\n @@index([archived])\n}\n\nmodel Filament {\n id String @id @default(cuid())\n name String @db.VarChar(128)\n brand String @db.VarChar(64)\n material String @db.VarChar(32)\n color String @db.VarChar(64)\n colorHex String @db.VarChar(7)\n diameter Float @default(1.75)\n spoolWeight Float\n usedWeight Float @default(0)\n emptySpoolWeight Float @default(0)\n purchaseDate DateTime?\n cost Float?\n notes String? @db.Text\n archived Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n userId String\n vendorId String?\n locationId String?\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n vendor Vendor? @relation(fields: [vendorId], references: [id], onDelete: SetNull)\n location Location? @relation(fields: [locationId], references: [id], onDelete: SetNull)\n tags TagOnFilament[]\n usageLogs UsageLog[]\n\n @@index([userId])\n @@index([vendorId])\n @@index([locationId])\n @@index([material])\n @@index([archived])\n @@index([brand])\n}\n\nmodel Resin {\n id String @id @default(cuid())\n name String @db.VarChar(128)\n brand String @db.VarChar(64)\n resinType String @db.VarChar(32)\n color String @db.VarChar(64)\n colorHex String @db.VarChar(7)\n bottleSize Float\n usedML Float @default(0)\n purchaseDate DateTime?\n cost Float?\n notes String? @db.Text\n archived Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n userId String\n vendorId String?\n locationId String?\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n vendor Vendor? @relation(fields: [vendorId], references: [id], onDelete: SetNull)\n location Location? @relation(fields: [locationId], references: [id], onDelete: SetNull)\n tags TagOnResin[]\n usageLogs UsageLog[]\n\n @@index([userId])\n @@index([vendorId])\n @@index([locationId])\n @@index([resinType])\n @@index([archived])\n @@index([brand])\n}\n\nmodel Paint {\n id String @id @default(cuid())\n name String @db.VarChar(128)\n brand String @db.VarChar(64)\n line String? @db.VarChar(64)\n color String @db.VarChar(64)\n colorHex String @db.VarChar(7)\n finish String @db.VarChar(32)\n volumeML Float\n usedML Float @default(0)\n purchaseDate DateTime?\n cost Float?\n notes String? @db.Text\n archived Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n userId String\n vendorId String?\n locationId String?\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n vendor Vendor? @relation(fields: [vendorId], references: [id], onDelete: SetNull)\n location Location? @relation(fields: [locationId], references: [id], onDelete: SetNull)\n tags TagOnPaint[]\n usageLogs UsageLog[]\n\n @@index([userId])\n @@index([vendorId])\n @@index([locationId])\n @@index([finish])\n @@index([archived])\n @@index([brand])\n}\n\nmodel Tag {\n id String @id @default(cuid())\n name String @db.VarChar(64)\n createdAt DateTime @default(now())\n userId String\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n filaments TagOnFilament[]\n resins TagOnResin[]\n paints TagOnPaint[]\n\n @@unique([name, userId])\n @@index([userId])\n}\n\nmodel TagOnFilament {\n filamentId String\n tagId String\n\n filament Filament @relation(fields: [filamentId], references: [id], onDelete: Cascade)\n tag Tag @relation(fields: [tagId], references: [id], onDelete: Cascade)\n\n @@id([filamentId, tagId])\n}\n\nmodel TagOnResin {\n resinId String\n tagId String\n\n resin Resin @relation(fields: [resinId], references: [id], onDelete: Cascade)\n tag Tag @relation(fields: [tagId], references: [id], onDelete: Cascade)\n\n @@id([resinId, tagId])\n}\n\nmodel TagOnPaint {\n paintId String\n tagId String\n\n paint Paint @relation(fields: [paintId], references: [id], onDelete: Cascade)\n tag Tag @relation(fields: [tagId], references: [id], onDelete: Cascade)\n\n @@id([paintId, tagId])\n}\n\nmodel UsageLog {\n id String @id @default(cuid())\n itemType String @db.VarChar(16)\n itemId String\n amount Float\n unit String @db.VarChar(4)\n notes String? @db.Text\n createdAt DateTime @default(now())\n userId String\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n filament Filament? @relation(fields: [filamentId], references: [id], onDelete: Cascade)\n filamentId String?\n resin Resin? @relation(fields: [resinId], references: [id], onDelete: Cascade)\n resinId String?\n paint Paint? @relation(fields: [paintId], references: [id], onDelete: Cascade)\n paintId String?\n\n @@index([userId])\n @@index([itemType, itemId])\n @@index([createdAt])\n}\n\nmodel UserSettings {\n id String @id @default(cuid())\n userId String @unique\n lowStockThreshold Float @default(10)\n currency String @default(\"USD\") @db.VarChar(3)\n theme String @default(\"dark\") @db.VarChar(8)\n units String @default(\"metric\") @db.VarChar(8)\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n}\n", + "runtimeDataModel": { + "models": {}, + "enums": {}, + "types": {} + }, + "parameterizationSchema": { + "strings": [], + "graph": "" + } +} + +config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerified\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hashedPassword\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"enum\",\"type\":\"Role\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToUser\"},{\"name\":\"sessions\",\"kind\":\"object\",\"type\":\"Session\",\"relationName\":\"SessionToUser\"},{\"name\":\"filaments\",\"kind\":\"object\",\"type\":\"Filament\",\"relationName\":\"FilamentToUser\"},{\"name\":\"resins\",\"kind\":\"object\",\"type\":\"Resin\",\"relationName\":\"ResinToUser\"},{\"name\":\"paints\",\"kind\":\"object\",\"type\":\"Paint\",\"relationName\":\"PaintToUser\"},{\"name\":\"vendors\",\"kind\":\"object\",\"type\":\"Vendor\",\"relationName\":\"UserToVendor\"},{\"name\":\"locations\",\"kind\":\"object\",\"type\":\"Location\",\"relationName\":\"LocationToUser\"},{\"name\":\"usageLogs\",\"kind\":\"object\",\"type\":\"UsageLog\",\"relationName\":\"UsageLogToUser\"},{\"name\":\"tags\",\"kind\":\"object\",\"type\":\"Tag\",\"relationName\":\"TagToUser\"},{\"name\":\"settings\",\"kind\":\"object\",\"type\":\"UserSettings\",\"relationName\":\"UserToUserSettings\"}],\"dbName\":null},\"Account\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerAccountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"token_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"id_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"session_state\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AccountToUser\"}],\"dbName\":null},\"Session\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessionToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"SessionToUser\"}],\"dbName\":null},\"VerificationToken\":{\"fields\":[{\"name\":\"identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Vendor\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"website\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"archived\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToVendor\"},{\"name\":\"filaments\",\"kind\":\"object\",\"type\":\"Filament\",\"relationName\":\"FilamentToVendor\"},{\"name\":\"resins\",\"kind\":\"object\",\"type\":\"Resin\",\"relationName\":\"ResinToVendor\"},{\"name\":\"paints\",\"kind\":\"object\",\"type\":\"Paint\",\"relationName\":\"PaintToVendor\"}],\"dbName\":null},\"Location\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"archived\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"LocationToUser\"},{\"name\":\"filaments\",\"kind\":\"object\",\"type\":\"Filament\",\"relationName\":\"FilamentToLocation\"},{\"name\":\"resins\",\"kind\":\"object\",\"type\":\"Resin\",\"relationName\":\"LocationToResin\"},{\"name\":\"paints\",\"kind\":\"object\",\"type\":\"Paint\",\"relationName\":\"LocationToPaint\"}],\"dbName\":null},\"Filament\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"brand\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"material\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"color\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"colorHex\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"diameter\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"spoolWeight\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"usedWeight\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"emptySpoolWeight\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"purchaseDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"cost\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"archived\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vendorId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"locationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"FilamentToUser\"},{\"name\":\"vendor\",\"kind\":\"object\",\"type\":\"Vendor\",\"relationName\":\"FilamentToVendor\"},{\"name\":\"location\",\"kind\":\"object\",\"type\":\"Location\",\"relationName\":\"FilamentToLocation\"},{\"name\":\"tags\",\"kind\":\"object\",\"type\":\"TagOnFilament\",\"relationName\":\"FilamentToTagOnFilament\"},{\"name\":\"usageLogs\",\"kind\":\"object\",\"type\":\"UsageLog\",\"relationName\":\"FilamentToUsageLog\"}],\"dbName\":null},\"Resin\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"brand\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resinType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"color\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"colorHex\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bottleSize\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"usedML\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"purchaseDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"cost\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"archived\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vendorId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"locationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ResinToUser\"},{\"name\":\"vendor\",\"kind\":\"object\",\"type\":\"Vendor\",\"relationName\":\"ResinToVendor\"},{\"name\":\"location\",\"kind\":\"object\",\"type\":\"Location\",\"relationName\":\"LocationToResin\"},{\"name\":\"tags\",\"kind\":\"object\",\"type\":\"TagOnResin\",\"relationName\":\"ResinToTagOnResin\"},{\"name\":\"usageLogs\",\"kind\":\"object\",\"type\":\"UsageLog\",\"relationName\":\"ResinToUsageLog\"}],\"dbName\":null},\"Paint\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"brand\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"line\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"color\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"colorHex\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"finish\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"volumeML\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"usedML\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"purchaseDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"cost\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"archived\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vendorId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"locationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PaintToUser\"},{\"name\":\"vendor\",\"kind\":\"object\",\"type\":\"Vendor\",\"relationName\":\"PaintToVendor\"},{\"name\":\"location\",\"kind\":\"object\",\"type\":\"Location\",\"relationName\":\"LocationToPaint\"},{\"name\":\"tags\",\"kind\":\"object\",\"type\":\"TagOnPaint\",\"relationName\":\"PaintToTagOnPaint\"},{\"name\":\"usageLogs\",\"kind\":\"object\",\"type\":\"UsageLog\",\"relationName\":\"PaintToUsageLog\"}],\"dbName\":null},\"Tag\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TagToUser\"},{\"name\":\"filaments\",\"kind\":\"object\",\"type\":\"TagOnFilament\",\"relationName\":\"TagToTagOnFilament\"},{\"name\":\"resins\",\"kind\":\"object\",\"type\":\"TagOnResin\",\"relationName\":\"TagToTagOnResin\"},{\"name\":\"paints\",\"kind\":\"object\",\"type\":\"TagOnPaint\",\"relationName\":\"TagToTagOnPaint\"}],\"dbName\":null},\"TagOnFilament\":{\"fields\":[{\"name\":\"filamentId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tagId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"filament\",\"kind\":\"object\",\"type\":\"Filament\",\"relationName\":\"FilamentToTagOnFilament\"},{\"name\":\"tag\",\"kind\":\"object\",\"type\":\"Tag\",\"relationName\":\"TagToTagOnFilament\"}],\"dbName\":null},\"TagOnResin\":{\"fields\":[{\"name\":\"resinId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tagId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resin\",\"kind\":\"object\",\"type\":\"Resin\",\"relationName\":\"ResinToTagOnResin\"},{\"name\":\"tag\",\"kind\":\"object\",\"type\":\"Tag\",\"relationName\":\"TagToTagOnResin\"}],\"dbName\":null},\"TagOnPaint\":{\"fields\":[{\"name\":\"paintId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tagId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paint\",\"kind\":\"object\",\"type\":\"Paint\",\"relationName\":\"PaintToTagOnPaint\"},{\"name\":\"tag\",\"kind\":\"object\",\"type\":\"Tag\",\"relationName\":\"TagToTagOnPaint\"}],\"dbName\":null},\"UsageLog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"itemType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"itemId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"unit\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UsageLogToUser\"},{\"name\":\"filament\",\"kind\":\"object\",\"type\":\"Filament\",\"relationName\":\"FilamentToUsageLog\"},{\"name\":\"filamentId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resin\",\"kind\":\"object\",\"type\":\"Resin\",\"relationName\":\"ResinToUsageLog\"},{\"name\":\"resinId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paint\",\"kind\":\"object\",\"type\":\"Paint\",\"relationName\":\"PaintToUsageLog\"},{\"name\":\"paintId\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"UserSettings\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lowStockThreshold\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"currency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"theme\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"units\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserSettings\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") +config.parameterizationSchema = { + strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"accounts\",\"sessions\",\"filaments\",\"vendor\",\"resins\",\"location\",\"paint\",\"filament\",\"tag\",\"resin\",\"paints\",\"_count\",\"tags\",\"usageLogs\",\"vendors\",\"locations\",\"settings\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"data\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"create\",\"update\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"having\",\"_min\",\"_max\",\"User.groupBy\",\"User.aggregate\",\"Account.findUnique\",\"Account.findUniqueOrThrow\",\"Account.findFirst\",\"Account.findFirstOrThrow\",\"Account.findMany\",\"Account.createOne\",\"Account.createMany\",\"Account.createManyAndReturn\",\"Account.updateOne\",\"Account.updateMany\",\"Account.updateManyAndReturn\",\"Account.upsertOne\",\"Account.deleteOne\",\"Account.deleteMany\",\"_avg\",\"_sum\",\"Account.groupBy\",\"Account.aggregate\",\"Session.findUnique\",\"Session.findUniqueOrThrow\",\"Session.findFirst\",\"Session.findFirstOrThrow\",\"Session.findMany\",\"Session.createOne\",\"Session.createMany\",\"Session.createManyAndReturn\",\"Session.updateOne\",\"Session.updateMany\",\"Session.updateManyAndReturn\",\"Session.upsertOne\",\"Session.deleteOne\",\"Session.deleteMany\",\"Session.groupBy\",\"Session.aggregate\",\"VerificationToken.findUnique\",\"VerificationToken.findUniqueOrThrow\",\"VerificationToken.findFirst\",\"VerificationToken.findFirstOrThrow\",\"VerificationToken.findMany\",\"VerificationToken.createOne\",\"VerificationToken.createMany\",\"VerificationToken.createManyAndReturn\",\"VerificationToken.updateOne\",\"VerificationToken.updateMany\",\"VerificationToken.updateManyAndReturn\",\"VerificationToken.upsertOne\",\"VerificationToken.deleteOne\",\"VerificationToken.deleteMany\",\"VerificationToken.groupBy\",\"VerificationToken.aggregate\",\"Vendor.findUnique\",\"Vendor.findUniqueOrThrow\",\"Vendor.findFirst\",\"Vendor.findFirstOrThrow\",\"Vendor.findMany\",\"Vendor.createOne\",\"Vendor.createMany\",\"Vendor.createManyAndReturn\",\"Vendor.updateOne\",\"Vendor.updateMany\",\"Vendor.updateManyAndReturn\",\"Vendor.upsertOne\",\"Vendor.deleteOne\",\"Vendor.deleteMany\",\"Vendor.groupBy\",\"Vendor.aggregate\",\"Location.findUnique\",\"Location.findUniqueOrThrow\",\"Location.findFirst\",\"Location.findFirstOrThrow\",\"Location.findMany\",\"Location.createOne\",\"Location.createMany\",\"Location.createManyAndReturn\",\"Location.updateOne\",\"Location.updateMany\",\"Location.updateManyAndReturn\",\"Location.upsertOne\",\"Location.deleteOne\",\"Location.deleteMany\",\"Location.groupBy\",\"Location.aggregate\",\"Filament.findUnique\",\"Filament.findUniqueOrThrow\",\"Filament.findFirst\",\"Filament.findFirstOrThrow\",\"Filament.findMany\",\"Filament.createOne\",\"Filament.createMany\",\"Filament.createManyAndReturn\",\"Filament.updateOne\",\"Filament.updateMany\",\"Filament.updateManyAndReturn\",\"Filament.upsertOne\",\"Filament.deleteOne\",\"Filament.deleteMany\",\"Filament.groupBy\",\"Filament.aggregate\",\"Resin.findUnique\",\"Resin.findUniqueOrThrow\",\"Resin.findFirst\",\"Resin.findFirstOrThrow\",\"Resin.findMany\",\"Resin.createOne\",\"Resin.createMany\",\"Resin.createManyAndReturn\",\"Resin.updateOne\",\"Resin.updateMany\",\"Resin.updateManyAndReturn\",\"Resin.upsertOne\",\"Resin.deleteOne\",\"Resin.deleteMany\",\"Resin.groupBy\",\"Resin.aggregate\",\"Paint.findUnique\",\"Paint.findUniqueOrThrow\",\"Paint.findFirst\",\"Paint.findFirstOrThrow\",\"Paint.findMany\",\"Paint.createOne\",\"Paint.createMany\",\"Paint.createManyAndReturn\",\"Paint.updateOne\",\"Paint.updateMany\",\"Paint.updateManyAndReturn\",\"Paint.upsertOne\",\"Paint.deleteOne\",\"Paint.deleteMany\",\"Paint.groupBy\",\"Paint.aggregate\",\"Tag.findUnique\",\"Tag.findUniqueOrThrow\",\"Tag.findFirst\",\"Tag.findFirstOrThrow\",\"Tag.findMany\",\"Tag.createOne\",\"Tag.createMany\",\"Tag.createManyAndReturn\",\"Tag.updateOne\",\"Tag.updateMany\",\"Tag.updateManyAndReturn\",\"Tag.upsertOne\",\"Tag.deleteOne\",\"Tag.deleteMany\",\"Tag.groupBy\",\"Tag.aggregate\",\"TagOnFilament.findUnique\",\"TagOnFilament.findUniqueOrThrow\",\"TagOnFilament.findFirst\",\"TagOnFilament.findFirstOrThrow\",\"TagOnFilament.findMany\",\"TagOnFilament.createOne\",\"TagOnFilament.createMany\",\"TagOnFilament.createManyAndReturn\",\"TagOnFilament.updateOne\",\"TagOnFilament.updateMany\",\"TagOnFilament.updateManyAndReturn\",\"TagOnFilament.upsertOne\",\"TagOnFilament.deleteOne\",\"TagOnFilament.deleteMany\",\"TagOnFilament.groupBy\",\"TagOnFilament.aggregate\",\"TagOnResin.findUnique\",\"TagOnResin.findUniqueOrThrow\",\"TagOnResin.findFirst\",\"TagOnResin.findFirstOrThrow\",\"TagOnResin.findMany\",\"TagOnResin.createOne\",\"TagOnResin.createMany\",\"TagOnResin.createManyAndReturn\",\"TagOnResin.updateOne\",\"TagOnResin.updateMany\",\"TagOnResin.updateManyAndReturn\",\"TagOnResin.upsertOne\",\"TagOnResin.deleteOne\",\"TagOnResin.deleteMany\",\"TagOnResin.groupBy\",\"TagOnResin.aggregate\",\"TagOnPaint.findUnique\",\"TagOnPaint.findUniqueOrThrow\",\"TagOnPaint.findFirst\",\"TagOnPaint.findFirstOrThrow\",\"TagOnPaint.findMany\",\"TagOnPaint.createOne\",\"TagOnPaint.createMany\",\"TagOnPaint.createManyAndReturn\",\"TagOnPaint.updateOne\",\"TagOnPaint.updateMany\",\"TagOnPaint.updateManyAndReturn\",\"TagOnPaint.upsertOne\",\"TagOnPaint.deleteOne\",\"TagOnPaint.deleteMany\",\"TagOnPaint.groupBy\",\"TagOnPaint.aggregate\",\"UsageLog.findUnique\",\"UsageLog.findUniqueOrThrow\",\"UsageLog.findFirst\",\"UsageLog.findFirstOrThrow\",\"UsageLog.findMany\",\"UsageLog.createOne\",\"UsageLog.createMany\",\"UsageLog.createManyAndReturn\",\"UsageLog.updateOne\",\"UsageLog.updateMany\",\"UsageLog.updateManyAndReturn\",\"UsageLog.upsertOne\",\"UsageLog.deleteOne\",\"UsageLog.deleteMany\",\"UsageLog.groupBy\",\"UsageLog.aggregate\",\"UserSettings.findUnique\",\"UserSettings.findUniqueOrThrow\",\"UserSettings.findFirst\",\"UserSettings.findFirstOrThrow\",\"UserSettings.findMany\",\"UserSettings.createOne\",\"UserSettings.createMany\",\"UserSettings.createManyAndReturn\",\"UserSettings.updateOne\",\"UserSettings.updateMany\",\"UserSettings.updateManyAndReturn\",\"UserSettings.upsertOne\",\"UserSettings.deleteOne\",\"UserSettings.deleteMany\",\"UserSettings.groupBy\",\"UserSettings.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"userId\",\"lowStockThreshold\",\"currency\",\"theme\",\"units\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"itemType\",\"itemId\",\"amount\",\"unit\",\"notes\",\"createdAt\",\"filamentId\",\"resinId\",\"paintId\",\"tagId\",\"name\",\"brand\",\"line\",\"color\",\"colorHex\",\"finish\",\"volumeML\",\"usedML\",\"purchaseDate\",\"cost\",\"archived\",\"updatedAt\",\"vendorId\",\"locationId\",\"resinType\",\"bottleSize\",\"material\",\"diameter\",\"spoolWeight\",\"usedWeight\",\"emptySpoolWeight\",\"description\",\"website\",\"identifier\",\"token\",\"expires\",\"identifier_token\",\"sessionToken\",\"type\",\"provider\",\"providerAccountId\",\"refresh_token\",\"access_token\",\"expires_at\",\"token_type\",\"scope\",\"id_token\",\"session_state\",\"email\",\"emailVerified\",\"image\",\"hashedPassword\",\"Role\",\"role\",\"every\",\"some\",\"none\",\"name_userId\",\"resinId_tagId\",\"filamentId_tagId\",\"paintId_tagId\",\"provider_providerAccountId\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"), + graph: "9AiMAfABFgQAAPoDACAFAAD7AwAgBgAA_AMAIAgAAP0DACAOAAD-AwAgEAAAggQAIBEAAIEEACASAAD_AwAgEwAAgAQAIBQAAIMEACCNAgAA9gMAMI4CAABjABCPAgAA9gMAMJACAQAAAAGmAkAA7AMAIasCAQD3AwAhtgJAAOwDACHRAgEAAAAB0gJAAPgDACHTAgEA9wMAIdQCAQD3AwAh1gIAAPkD1gIiAQAAAAEAIBADAADPAwAgjQIAAKIEADCOAgAAAwAQjwIAAKIEADCQAgEAzgMAIZECAQDOAwAhxwIBAM4DACHIAgEAzgMAIckCAQDOAwAhygIBAPcDACHLAgEA9wMAIcwCAgCjBAAhzQIBAPcDACHOAgEA9wMAIc8CAQD3AwAh0AIBAPcDACEIAwAArQQAIMoCAACuBAAgywIAAK4EACDMAgAArgQAIM0CAACuBAAgzgIAAK4EACDPAgAArgQAINACAACuBAAgEQMAAM8DACCNAgAAogQAMI4CAAADABCPAgAAogQAMJACAQAAAAGRAgEAzgMAIccCAQDOAwAhyAIBAM4DACHJAgEAzgMAIcoCAQD3AwAhywIBAPcDACHMAgIAowQAIc0CAQD3AwAhzgIBAPcDACHPAgEA9wMAIdACAQD3AwAh3gIAAKEEACADAAAAAwAgAQAABAAwAgAABQAgCAMAAM8DACCNAgAAoAQAMI4CAAAHABCPAgAAoAQAMJACAQDOAwAhkQIBAM4DACHEAkAA7AMAIcYCAQDOAwAhAQMAAK0EACAIAwAAzwMAII0CAACgBAAwjgIAAAcAEI8CAACgBAAwkAIBAAAAAZECAQDOAwAhxAJAAOwDACHGAgEAAAABAwAAAAcAIAEAAAgAMAIAAAkAIBsDAADPAwAgBwAAnAQAIAkAAJ0EACAQAACGBAAgEQAAgQQAII0CAACfBAAwjgIAAAsAEI8CAACfBAAwkAIBAM4DACGRAgEAzgMAIaUCAQD3AwAhpgJAAOwDACGrAgEAzgMAIawCAQDOAwAhrgIBAM4DACGvAgEAzgMAIbMCQAD4AwAhtAIIAJsEACG1AiAAigQAIbYCQADsAwAhtwIBAPcDACG4AgEA9wMAIbsCAQDOAwAhvAIIAM0DACG9AggAzQMAIb4CCADNAwAhvwIIAM0DACEKAwAArQQAIAcAAN4HACAJAADfBwAgEAAA1wcAIBEAANQHACClAgAArgQAILMCAACuBAAgtAIAAK4EACC3AgAArgQAILgCAACuBAAgGwMAAM8DACAHAACcBAAgCQAAnQQAIBAAAIYEACARAACBBAAgjQIAAJ8EADCOAgAACwAQjwIAAJ8EADCQAgEAAAABkQIBAM4DACGlAgEA9wMAIaYCQADsAwAhqwIBAM4DACGsAgEAzgMAIa4CAQDOAwAhrwIBAM4DACGzAkAA-AMAIbQCCACbBAAhtQIgAIoEACG2AkAA7AMAIbcCAQD3AwAhuAIBAPcDACG7AgEAzgMAIbwCCADNAwAhvQIIAM0DACG-AggAzQMAIb8CCADNAwAhAwAAAAsAIAEAAAwAMAIAAA0AIA8DAADPAwAgBgAA_AMAIAgAAP0DACAOAAD-AwAgjQIAAIsEADCOAgAADwAQjwIAAIsEADCQAgEAzgMAIZECAQDOAwAhpQIBAPcDACGmAkAA7AMAIasCAQDOAwAhtQIgAIoEACG2AkAA7AMAIcECAQD3AwAhAQAAAA8AIAMAAAALACABAAAMADACAAANACAZAwAAzwMAIAcAAJwEACAJAACdBAAgEAAAhwQAIBEAAIEEACCNAgAAngQAMI4CAAASABCPAgAAngQAMJACAQDOAwAhkQIBAM4DACGlAgEA9wMAIaYCQADsAwAhqwIBAM4DACGsAgEAzgMAIa4CAQDOAwAhrwIBAM4DACGyAggAzQMAIbMCQAD4AwAhtAIIAJsEACG1AiAAigQAIbYCQADsAwAhtwIBAPcDACG4AgEA9wMAIbkCAQDOAwAhugIIAM0DACEKAwAArQQAIAcAAN4HACAJAADfBwAgEAAA2AcAIBEAANQHACClAgAArgQAILMCAACuBAAgtAIAAK4EACC3AgAArgQAILgCAACuBAAgGQMAAM8DACAHAACcBAAgCQAAnQQAIBAAAIcEACARAACBBAAgjQIAAJ4EADCOAgAAEgAQjwIAAJ4EADCQAgEAAAABkQIBAM4DACGlAgEA9wMAIaYCQADsAwAhqwIBAM4DACGsAgEAzgMAIa4CAQDOAwAhrwIBAM4DACGyAggAzQMAIbMCQAD4AwAhtAIIAJsEACG1AiAAigQAIbYCQADsAwAhtwIBAPcDACG4AgEA9wMAIbkCAQDOAwAhugIIAM0DACEDAAAAEgAgAQAAEwAwAgAAFAAgAQAAAA8AIA4DAADPAwAgBgAA_AMAIAgAAP0DACAOAAD-AwAgjQIAAIkEADCOAgAAFwAQjwIAAIkEADCQAgEAzgMAIZECAQDOAwAhpgJAAOwDACGrAgEAzgMAIbUCIACKBAAhtgJAAOwDACHAAgEA9wMAIQEAAAAXACADAAAACwAgAQAADAAwAgAADQAgAwAAABIAIAEAABMAMAIAABQAIBoDAADPAwAgBwAAnAQAIAkAAJ0EACAQAACIBAAgEQAAgQQAII0CAACaBAAwjgIAABsAEI8CAACaBAAwkAIBAM4DACGRAgEAzgMAIaUCAQD3AwAhpgJAAOwDACGrAgEAzgMAIawCAQDOAwAhrQIBAPcDACGuAgEAzgMAIa8CAQDOAwAhsAIBAM4DACGxAggAzQMAIbICCADNAwAhswJAAPgDACG0AggAmwQAIbUCIACKBAAhtgJAAOwDACG3AgEA9wMAIbgCAQD3AwAhCwMAAK0EACAHAADeBwAgCQAA3wcAIBAAANkHACARAADUBwAgpQIAAK4EACCtAgAArgQAILMCAACuBAAgtAIAAK4EACC3AgAArgQAILgCAACuBAAgGgMAAM8DACAHAACcBAAgCQAAnQQAIBAAAIgEACARAACBBAAgjQIAAJoEADCOAgAAGwAQjwIAAJoEADCQAgEAAAABkQIBAM4DACGlAgEA9wMAIaYCQADsAwAhqwIBAM4DACGsAgEAzgMAIa0CAQD3AwAhrgIBAM4DACGvAgEAzgMAIbACAQDOAwAhsQIIAM0DACGyAggAzQMAIbMCQAD4AwAhtAIIAJsEACG1AiAAigQAIbYCQADsAwAhtwIBAPcDACG4AgEA9wMAIQMAAAAbACABAAAcADACAAAdACABAAAADwAgAQAAABcAIAcKAACZBAAgDAAAkwQAII0CAACYBAAwjgIAACEAEI8CAACYBAAwqQIBAM4DACGqAgEAzgMAIQIKAADcBwAgDAAA3QcAIAgKAACZBAAgDAAAkwQAII0CAACYBAAwjgIAACEAEI8CAACYBAAwqQIBAM4DACGqAgEAzgMAId0CAACXBAAgAwAAACEAIAEAACIAMAIAACMAIAcLAACWBAAgDAAAkwQAII0CAACVBAAwjgIAACUAEI8CAACVBAAwpwIBAM4DACGqAgEAzgMAIQILAADaBwAgDAAA3QcAIAgLAACWBAAgDAAAkwQAII0CAACVBAAwjgIAACUAEI8CAACVBAAwpwIBAM4DACGqAgEAzgMAIdwCAACUBAAgAwAAACUAIAEAACYAMAIAACcAIAcMAACTBAAgDQAAkgQAII0CAACRBAAwjgIAACkAEI8CAACRBAAwqAIBAM4DACGqAgEAzgMAIQIMAADdBwAgDQAA2wcAIAgMAACTBAAgDQAAkgQAII0CAACRBAAwjgIAACkAEI8CAACRBAAwqAIBAM4DACGqAgEAzgMAIdsCAACQBAAgAwAAACkAIAEAACoAMAIAACsAIAMAAAAhACABAAAiADACAAAjACABAAAAJQAgAQAAACkAIAEAAAAhACASAwAAzwMAIAoAAI8EACALAACNBAAgDQAAjgQAII0CAACMBAAwjgIAADEAEI8CAACMBAAwkAIBAM4DACGRAgEAzgMAIaECAQDOAwAhogIBAM4DACGjAggAzQMAIaQCAQDOAwAhpQIBAPcDACGmAkAA7AMAIacCAQD3AwAhqAIBAPcDACGpAgEA9wMAIQgDAACtBAAgCgAA3AcAIAsAANoHACANAADbBwAgpQIAAK4EACCnAgAArgQAIKgCAACuBAAgqQIAAK4EACASAwAAzwMAIAoAAI8EACALAACNBAAgDQAAjgQAII0CAACMBAAwjgIAADEAEI8CAACMBAAwkAIBAAAAAZECAQDOAwAhoQIBAM4DACGiAgEAzgMAIaMCCADNAwAhpAIBAM4DACGlAgEA9wMAIaYCQADsAwAhpwIBAPcDACGoAgEA9wMAIakCAQD3AwAhAwAAADEAIAEAADIAMAIAADMAIAEAAAALACABAAAAEgAgAQAAABsAIAEAAAAhACABAAAAMQAgAQAAAAsAIAEAAAASACABAAAAGwAgAwAAACkAIAEAACoAMAIAACsAIAMAAAAxACABAAAyADACAAAzACABAAAAKQAgAQAAADEAIAMAAAAbACABAAAcADACAAAdACABAAAACwAgAQAAABIAIAEAAAAbACABAAAAFwAgAwAAACUAIAEAACYAMAIAACcAIAMAAAAxACABAAAyADACAAAzACABAAAAJQAgAQAAADEAIAMAAAASACABAAATADACAAAUACADAAAAGwAgAQAAHAAwAgAAHQAgBgMAAK0EACAGAADPBwAgCAAA0AcAIA4AANEHACClAgAArgQAIMECAACuBAAgDwMAAM8DACAGAAD8AwAgCAAA_QMAIA4AAP4DACCNAgAAiwQAMI4CAAAPABCPAgAAiwQAMJACAQAAAAGRAgEAzgMAIaUCAQD3AwAhpgJAAOwDACGrAgEAzgMAIbUCIACKBAAhtgJAAOwDACHBAgEA9wMAIQMAAAAPACABAABMADACAABNACAFAwAArQQAIAYAAM8HACAIAADQBwAgDgAA0QcAIMACAACuBAAgDgMAAM8DACAGAAD8AwAgCAAA_QMAIA4AAP4DACCNAgAAiQQAMI4CAAAXABCPAgAAiQQAMJACAQAAAAGRAgEAzgMAIaYCQADsAwAhqwIBAM4DACG1AiAAigQAIbYCQADsAwAhwAIBAPcDACEDAAAAFwAgAQAATwAwAgAAUAAgAwAAADEAIAEAADIAMAIAADMAIAsDAADPAwAgBgAAhgQAIAgAAIcEACAOAACIBAAgjQIAAIUEADCOAgAAUwAQjwIAAIUEADCQAgEAzgMAIZECAQDOAwAhpgJAAOwDACGrAgEAzgMAIQQDAACtBAAgBgAA1wcAIAgAANgHACAOAADZBwAgDAMAAM8DACAGAACGBAAgCAAAhwQAIA4AAIgEACCNAgAAhQQAMI4CAABTABCPAgAAhQQAMJACAQAAAAGRAgEAzgMAIaYCQADsAwAhqwIBAM4DACHaAgAAhAQAIAMAAABTACABAABUADACAABVACAKAwAAzwMAII0CAADMAwAwjgIAAFcAEI8CAADMAwAwkAIBAM4DACGRAgEAzgMAIZICCADNAwAhkwIBAM4DACGUAgEAzgMAIZUCAQDOAwAhAQAAAFcAIAEAAAADACABAAAABwAgAQAAAAsAIAEAAAASACABAAAAGwAgAQAAAA8AIAEAAAAXACABAAAAMQAgAQAAAFMAIAEAAAABACAWBAAA-gMAIAUAAPsDACAGAAD8AwAgCAAA_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_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_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_gQAIAYAAP8EACAIAACABQAgDgAAgQUAIJACAQAAAAGRAgEAAAABpgJAAAAAAasCAQAAAAEBGgAAvQIAIASQAgEAAAABkQIBAAAAAaYCQAAAAAGrAgEAAAABARoAAL8CADABGgAAvwIAMAgDAADWBAAgBgAA1wQAIAgAANgEACAOAADZBAAgkAIBAKkEACGRAgEAqQQAIaYCQAC1BAAhqwIBAKkEACECAAAAVQAgGgAAwgIAIASQAgEAqQQAIZECAQCpBAAhpgJAALUEACGrAgEAqQQAIQIAAABTACAaAADEAgAgAgAAAFMAIBoAAMQCACADAAAAVQAgIQAAvQIAICIAAMICACABAAAAVQAgAQAAAFMAIAMPAADTBAAgJwAA1QQAICgAANQEACAHjQIAANsDADCOAgAAywIAEI8CAADbAwAwkAIBAMUDACGRAgEAxQMAIaYCQADSAwAhqwIBAMUDACEDAAAAUwAgAQAAygIAMCYAAMsCACADAAAAUwAgAQAAVAAwAgAAVQAgAQAAACcAIAEAAAAnACADAAAAJQAgAQAAJgAwAgAAJwAgAwAAACUAIAEAACYAMAIAACcAIAMAAAAlACABAAAmADACAAAnACAECwAA0QQAIAwAANIEACCnAgEAAAABqgIBAAAAAQEaAADTAgAgAqcCAQAAAAGqAgEAAAABARoAANUCADABGgAA1QIAMAQLAADPBAAgDAAA0AQAIKcCAQCpBAAhqgIBAKkEACECAAAAJwAgGgAA2AIAIAKnAgEAqQQAIaoCAQCpBAAhAgAAACUAIBoAANoCACACAAAAJQAgGgAA2gIAIAMAAAAnACAhAADTAgAgIgAA2AIAIAEAAAAnACABAAAAJQAgAw8AAMwEACAnAADOBAAgKAAAzQQAIAWNAgAA2gMAMI4CAADhAgAQjwIAANoDADCnAgEAxQMAIaoCAQDFAwAhAwAAACUAIAEAAOACADAmAADhAgAgAwAAACUAIAEAACYAMAIAACcAIAEAAAArACABAAAAKwAgAwAAACkAIAEAACoAMAIAACsAIAMAAAApACABAAAqADACAAArACADAAAAKQAgAQAAKgAwAgAAKwAgBAwAAMsEACANAADKBAAgqAIBAAAAAaoCAQAAAAEBGgAA6QIAIAKoAgEAAAABqgIBAAAAAQEaAADrAgAwARoAAOsCADAEDAAAyQQAIA0AAMgEACCoAgEAqQQAIaoCAQCpBAAhAgAAACsAIBoAAO4CACACqAIBAKkEACGqAgEAqQQAIQIAAAApACAaAADwAgAgAgAAACkAIBoAAPACACADAAAAKwAgIQAA6QIAICIAAO4CACABAAAAKwAgAQAAACkAIAMPAADFBAAgJwAAxwQAICgAAMYEACAFjQIAANkDADCOAgAA9wIAEI8CAADZAwAwqAIBAMUDACGqAgEAxQMAIQMAAAApACABAAD2AgAwJgAA9wIAIAMAAAApACABAAAqADACAAArACABAAAAIwAgAQAAACMAIAMAAAAhACABAAAiADACAAAjACADAAAAIQAgAQAAIgAwAgAAIwAgAwAAACEAIAEAACIAMAIAACMAIAQKAADDBAAgDAAAxAQAIKkCAQAAAAGqAgEAAAABARoAAP8CACACqQIBAAAAAaoCAQAAAAEBGgAAgQMAMAEaAACBAwAwBAoAAMEEACAMAADCBAAgqQIBAKkEACGqAgEAqQQAIQIAAAAjACAaAACEAwAgAqkCAQCpBAAhqgIBAKkEACECAAAAIQAgGgAAhgMAIAIAAAAhACAaAACGAwAgAwAAACMAICEAAP8CACAiAACEAwAgAQAAACMAIAEAAAAhACADDwAAvgQAICcAAMAEACAoAAC_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-gMAIAUAAPsDACAGAAD8AwAgCAAA_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_AggAxgMAIQqNAgAA6AMAMI4CAADnAQAQjwIAAOgDADCQAgEAxQMAIZECAQDFAwAhpgJAANIDACGrAgEAxQMAIbUCIADfAwAhtgJAANIDACHAAgEA0QMAIQuNAgAA6QMAMI4CAADRAQAQjwIAAOkDADCQAgEAxQMAIZECAQDFAwAhpQIBANEDACGmAkAA0gMAIasCAQDFAwAhtQIgAN8DACG2AkAA0gMAIcECAQDRAwAhBo0CAADqAwAwjgIAALsBABCPAgAA6gMAMMICAQDFAwAhwwIBAMUDACHEAkAA0gMAIQaNAgAA6wMAMI4CAACoAQAQjwIAAOsDADDCAgEAzgMAIcMCAQDOAwAhxAJAAOwDACEIlgJAAAAAAZcCQAAAAASYAkAAAAAEmQJAAAAAAZoCQAAAAAGbAkAAAAABnAJAAAAAAZ0CQADUAwAhAsICAQAAAAHDAgEAAAABB40CAADuAwAwjgIAAKIBABCPAgAA7gMAMJACAQDFAwAhkQIBAMUDACHEAkAA0gMAIcYCAQDFAwAhD40CAADvAwAwjgIAAIwBABCPAgAA7wMAMJACAQDFAwAhkQIBAMUDACHHAgEAxQMAIcgCAQDFAwAhyQIBAMUDACHKAgEA0QMAIcsCAQDRAwAhzAICAPADACHNAgEA0QMAIc4CAQDRAwAhzwIBANEDACHQAgEA0QMAIQ0PAADWAwAgJwAA1gMAICgAANYDACA5AADjAwAgOgAA1gMAIJYCAgAAAAGXAgIAAAAFmAICAAAABZkCAgAAAAGaAgIAAAABmwICAAAAAZwCAgAAAAGdAgIA8QMAIQ0PAADWAwAgJwAA1gMAICgAANYDACA5AADjAwAgOgAA1gMAIJYCAgAAAAGXAgIAAAAFmAICAAAABZkCAgAAAAGaAgIAAAABmwICAAAAAZwCAgAAAAGdAgIA8QMAIQyNAgAA8gMAMI4CAAB2ABCPAgAA8gMAMJACAQDFAwAhpgJAANIDACGrAgEA0QMAIbYCQADSAwAh0QIBANEDACHSAkAA3QMAIdMCAQDRAwAh1AIBANEDACHWAgAA8wPWAiIHDwAAyAMAICcAAPUDACAoAAD1AwAglgIAAADWAgKXAgAAANYCCJgCAAAA1gIInQIAAPQD1gIiBw8AAMgDACAnAAD1AwAgKAAA9QMAIJYCAAAA1gIClwIAAADWAgiYAgAAANYCCJ0CAAD0A9YCIgSWAgAAANYCApcCAAAA1gIImAIAAADWAgidAgAA9QPWAiIWBAAA-gMAIAUAAPsDACAGAAD8AwAgCAAA_QMAIA4AAP4DACAQAACCBAAgEQAAgQQAIBIAAP8DACATAACABAAgFAAAgwQAII0CAAD2AwAwjgIAAGMAEI8CAAD2AwAwkAIBAM4DACGmAkAA7AMAIasCAQD3AwAhtgJAAOwDACHRAgEA9wMAIdICQAD4AwAh0wIBAPcDACHUAgEA9wMAIdYCAAD5A9YCIguWAgEAAAABlwIBAAAABZgCAQAAAAWZAgEAAAABmgIBAAAAAZsCAQAAAAGcAgEAAAABnQIBANcDACGeAgEAAAABnwIBAAAAAaACAQAAAAEIlgJAAAAAAZcCQAAAAAWYAkAAAAAFmQJAAAAAAZoCQAAAAAGbAkAAAAABnAJAAAAAAZ0CQADlAwAhBJYCAAAA1gIClwIAAADWAgiYAgAAANYCCJ0CAAD1A9YCIgPXAgAAAwAg2AIAAAMAINkCAAADACAD1wIAAAcAINgCAAAHACDZAgAABwAgA9cCAAALACDYAgAACwAg2QIAAAsAIAPXAgAAEgAg2AIAABIAINkCAAASACAD1wIAABsAINgCAAAbACDZAgAAGwAgA9cCAAAPACDYAgAADwAg2QIAAA8AIAPXAgAAFwAg2AIAABcAINkCAAAXACAD1wIAADEAINgCAAAxACDZAgAAMQAgA9cCAABTACDYAgAAUwAg2QIAAFMAIAwDAADPAwAgjQIAAMwDADCOAgAAVwAQjwIAAMwDADCQAgEAzgMAIZECAQDOAwAhkgIIAM0DACGTAgEAzgMAIZQCAQDOAwAhlQIBAM4DACHfAgAAVwAg4AIAAFcAIAKRAgEAAAABqwIBAAAAAQsDAADPAwAgBgAAhgQAIAgAAIcEACAOAACIBAAgjQIAAIUEADCOAgAAUwAQjwIAAIUEADCQAgEAzgMAIZECAQDOAwAhpgJAAOwDACGrAgEAzgMAIQPXAgAAJQAg2AIAACUAINkCAAAlACAD1wIAACkAINgCAAApACDZAgAAKQAgA9cCAAAhACDYAgAAIQAg2QIAACEAIA4DAADPAwAgBgAA_AMAIAgAAP0DACAOAAD-AwAgjQIAAIkEADCOAgAAFwAQjwIAAIkEADCQAgEAzgMAIZECAQDOAwAhpgJAAOwDACGrAgEAzgMAIbUCIACKBAAhtgJAAOwDACHAAgEA9wMAIQKWAiAAAAABnQIgAOEDACEPAwAAzwMAIAYAAPwDACAIAAD9AwAgDgAA_gMAII0CAACLBAAwjgIAAA8AEI8CAACLBAAwkAIBAM4DACGRAgEAzgMAIaUCAQD3AwAhpgJAAOwDACGrAgEAzgMAIbUCIACKBAAhtgJAAOwDACHBAgEA9wMAIRIDAADPAwAgCgAAjwQAIAsAAI0EACANAACOBAAgjQIAAIwEADCOAgAAMQAQjwIAAIwEADCQAgEAzgMAIZECAQDOAwAhoQIBAM4DACGiAgEAzgMAIaMCCADNAwAhpAIBAM4DACGlAgEA9wMAIaYCQADsAwAhpwIBAPcDACGoAgEA9wMAIakCAQD3AwAhHQMAAM8DACAHAACcBAAgCQAAnQQAIBAAAIYEACARAACBBAAgjQIAAJ8EADCOAgAACwAQjwIAAJ8EADCQAgEAzgMAIZECAQDOAwAhpQIBAPcDACGmAkAA7AMAIasCAQDOAwAhrAIBAM4DACGuAgEAzgMAIa8CAQDOAwAhswJAAPgDACG0AggAmwQAIbUCIACKBAAhtgJAAOwDACG3AgEA9wMAIbgCAQD3AwAhuwIBAM4DACG8AggAzQMAIb0CCADNAwAhvgIIAM0DACG_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_gMAII0CAACLBAAwjgIAAA8AEI8CAACLBAAwkAIBAM4DACGRAgEAzgMAIaUCAQD3AwAhpgJAAOwDACGrAgEAzgMAIbUCIACKBAAhtgJAAOwDACHBAgEA9wMAId8CAAAPACDgAgAADwAgEAMAAM8DACAGAAD8AwAgCAAA_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_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-gUAIBoAAPsFACAVjQIAAPkFADCOAgAA-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_AggAzQMAIRaNAgAAkQYAMI4CAACSBgAQjwIAAJEGADCQAgEAzgMAIZECAQDOAwAhpQIBAPcDACGmAkAA7AMAIasCAQDOAwAhrAIBAM4DACGuAgEAzgMAIa8CAQDOAwAhswJAAPgDACG0AggAmwQAIbUCIACKBAAhtgJAAOwDACG3AgEA9wMAIbgCAQD3AwAhuwIBAM4DACG8AggAzQMAIb0CCADNAwAhvgIIAM0DACG_AggAzQMAIRKQAgEAqQQAIZECAQCpBAAhpQIBALQEACGmAkAAtQQAIasCAQCpBAAhrAIBAKkEACGuAgEAqQQAIa8CAQCpBAAhswJAAIcFACG0AggAiAUAIbUCIACJBQAhtgJAALUEACG3AgEAtAQAIbsCAQCpBAAhvAIIAKoEACG9AggAqgQAIb4CCACqBAAhvwIIAKoEACEWAwAAzwUAIAcAANAFACAQAADSBQAgEQAA0wUAIJACAQCpBAAhkQIBAKkEACGlAgEAtAQAIaYCQAC1BAAhqwIBAKkEACGsAgEAqQQAIa4CAQCpBAAhrwIBAKkEACGzAkAAhwUAIbQCCACIBQAhtQIgAIkFACG2AkAAtQQAIbcCAQC0BAAhuwIBAKkEACG8AggAqgQAIb0CCACqBAAhvgIIAKoEACG_AggAqgQAIRYDAADmBQAgBwAA5wUAIBAAAOkFACARAADqBQAgkAIBAAAAAZECAQAAAAGlAgEAAAABpgJAAAAAAasCAQAAAAGsAgEAAAABrgIBAAAAAa8CAQAAAAGzAkAAAAABtAIIAAAAAbUCIAAAAAG2AkAAAAABtwIBAAAAAbsCAQAAAAG8AggAAAABvQIIAAAAAb4CCAAAAAG_AggAAAABAyEAAPsHACDhAgAA_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_QYAMOECAAD5BgAw4gIAAPoGADDjAgAA-wYAIOQCAAD8BgAw5QIAAPwGADDmAgAA_AYAMOcCAAD8BgAw6AIAAP4GADDpAgAA_wYAMAshAADvBgAwIgAA8wYAMOECAADwBgAw4gIAAPEGADDjAgAA8gYAIOQCAACTBQAw5QIAAJMFADDmAgAAkwUAMOcCAACTBQAw6AIAAPQGADDpAgAAlgUAMAshAADjBgAwIgAA6AYAMOECAADkBgAw4gIAAOUGADDjAgAA5gYAIOQCAADnBgAw5QIAAOcGADDmAgAA5wYAMOcCAADnBgAw6AIAAOkGADDpAgAA6gYAMAchAADeBgAgIgAA4QYAIOECAADfBgAg4gIAAOAGACDlAgAAVwAg5gIAAFcAIOcCAACsAwAgBZACAQAAAAGSAggAAAABkwIBAAAAAZQCAQAAAAGVAgEAAAABAgAAAKwDACAhAADeBgAgAwAAAFcAICEAAN4GACAiAADiBgAgBwAAAFcAIBoAAOIGACCQAgEAqQQAIZICCACqBAAhkwIBAKkEACGUAgEAqQQAIZUCAQCpBAAhBZACAQCpBAAhkgIIAKoEACGTAgEAqQQAIZQCAQCpBAAhlQIBAKkEACEGBgAA_wQAIAgAAIAFACAOAACBBQAgkAIBAAAAAaYCQAAAAAGrAgEAAAABAgAAAFUAICEAAO4GACADAAAAVQAgIQAA7gYAICIAAO0GACABGgAA6AcAMAwDAADPAwAgBgAAhgQAIAgAAIcEACAOAACIBAAgjQIAAIUEADCOAgAAUwAQjwIAAIUEADCQAgEAAAABkQIBAM4DACGmAkAA7AMAIasCAQDOAwAh2gIAAIQEACACAAAAVQAgGgAA7QYAIAIAAADrBgAgGgAA7AYAIAeNAgAA6gYAMI4CAADrBgAQjwIAAOoGADCQAgEAzgMAIZECAQDOAwAhpgJAAOwDACGrAgEAzgMAIQeNAgAA6gYAMI4CAADrBgAQjwIAAOoGADCQAgEAzgMAIZECAQDOAwAhpgJAAOwDACGrAgEAzgMAIQOQAgEAqQQAIaYCQAC1BAAhqwIBAKkEACEGBgAA1wQAIAgAANgEACAOAADZBAAgkAIBAKkEACGmAkAAtQQAIasCAQCpBAAhBgYAAP8EACAIAACABQAgDgAAgQUAIJACAQAAAAGmAkAAAAABqwIBAAAAAQ0KAAC9BAAgCwAAuwQAIA0AALwEACCQAgEAAAABoQIBAAAAAaICAQAAAAGjAggAAAABpAIBAAAAAaUCAQAAAAGmAkAAAAABpwIBAAAAAagCAQAAAAGpAgEAAAABAgAAADMAICEAAPcGACADAAAAMwAgIQAA9wYAICIAAPYGACABGgAA5wcAMAIAAAAzACAaAAD2BgAgAgAAAJcFACAaAAD1BgAgCpACAQCpBAAhoQIBAKkEACGiAgEAqQQAIaMCCACqBAAhpAIBAKkEACGlAgEAtAQAIaYCQAC1BAAhpwIBALQEACGoAgEAtAQAIakCAQC0BAAhDQoAALkEACALAAC3BAAgDQAAuAQAIJACAQCpBAAhoQIBAKkEACGiAgEAqQQAIaMCCACqBAAhpAIBAKkEACGlAgEAtAQAIaYCQAC1BAAhpwIBALQEACGoAgEAtAQAIakCAQC0BAAhDQoAAL0EACALAAC7BAAgDQAAvAQAIJACAQAAAAGhAgEAAAABogIBAAAAAaMCCAAAAAGkAgEAAAABpQIBAAAAAaYCQAAAAAGnAgEAAAABqAIBAAAAAakCAQAAAAEJBgAAlwYAIAgAAJgGACAOAACZBgAgkAIBAAAAAaYCQAAAAAGrAgEAAAABtQIgAAAAAbYCQAAAAAHAAgEAAAABAgAAAFAAICEAAIMHACADAAAAUAAgIQAAgwcAICIAAIIHACABGgAA5gcAMA4DAADPAwAgBgAA_AMAIAgAAP0DACAOAAD-AwAgjQIAAIkEADCOAgAAFwAQjwIAAIkEADCQAgEAAAABkQIBAM4DACGmAkAA7AMAIasCAQDOAwAhtQIgAIoEACG2AkAA7AMAIcACAQD3AwAhAgAAAFAAIBoAAIIHACACAAAAgAcAIBoAAIEHACAKjQIAAP8GADCOAgAAgAcAEI8CAAD_BgAwkAIBAM4DACGRAgEAzgMAIaYCQADsAwAhqwIBAM4DACG1AiAAigQAIbYCQADsAwAhwAIBAPcDACEKjQIAAP8GADCOAgAAgAcAEI8CAAD_BgAwkAIBAM4DACGRAgEAzgMAIaYCQADsAwAhqwIBAM4DACG1AiAAigQAIbYCQADsAwAhwAIBAPcDACEGkAIBAKkEACGmAkAAtQQAIasCAQCpBAAhtQIgAIkFACG2AkAAtQQAIcACAQC0BAAhCQYAAO8FACAIAADwBQAgDgAA8QUAIJACAQCpBAAhpgJAALUEACGrAgEAqQQAIbUCIACJBQAhtgJAALUEACHAAgEAtAQAIQkGAACXBgAgCAAAmAYAIA4AAJkGACCQAgEAAAABpgJAAAAAAasCAQAAAAG1AiAAAAABtgJAAAAAAcACAQAAAAEKBgAAvQYAIAgAAL4GACAOAAC_BgAgkAIBAAAAAaUCAQAAAAGmAkAAAAABqwIBAAAAAbUCIAAAAAG2AkAAAAABwQIBAAAAAQIAAABNACAhAACPBwAgAwAAAE0AICEAAI8HACAiAACOBwAgARoAAOUHADAPAwAAzwMAIAYAAPwDACAIAAD9AwAgDgAA_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_AggAAAABAgAAAA0AICEAAKoHACADAAAADQAgIQAAqgcAICIAAKkHACABGgAA4gcAMAIAAAANACAaAACpBwAgAgAAAJIGACAaAACoBwAgEpACAQCpBAAhpQIBALQEACGmAkAAtQQAIasCAQCpBAAhrAIBAKkEACGuAgEAqQQAIa8CAQCpBAAhswJAAIcFACG0AggAiAUAIbUCIACJBQAhtgJAALUEACG3AgEAtAQAIbgCAQC0BAAhuwIBAKkEACG8AggAqgQAIb0CCACqBAAhvgIIAKoEACG_AggAqgQAIRYHAADQBQAgCQAA0QUAIBAAANIFACARAADTBQAgkAIBAKkEACGlAgEAtAQAIaYCQAC1BAAhqwIBAKkEACGsAgEAqQQAIa4CAQCpBAAhrwIBAKkEACGzAkAAhwUAIbQCCACIBQAhtQIgAIkFACG2AkAAtQQAIbcCAQC0BAAhuAIBALQEACG7AgEAqQQAIbwCCACqBAAhvQIIAKoEACG-AggAqgQAIb8CCACqBAAhFgcAAOcFACAJAADoBQAgEAAA6QUAIBEAAOoFACCQAgEAAAABpQIBAAAAAaYCQAAAAAGrAgEAAAABrAIBAAAAAa4CAQAAAAGvAgEAAAABswJAAAAAAbQCCAAAAAG1AiAAAAABtgJAAAAAAbcCAQAAAAG4AgEAAAABuwIBAAAAAbwCCAAAAAG9AggAAAABvgIIAAAAAb8CCAAAAAEDkAIBAAAAAcQCQAAAAAHGAgEAAAABAgAAAAkAICEAALYHACADAAAACQAgIQAAtgcAICIAALUHACABGgAA4QcAMAgDAADPAwAgjQIAAKAEADCOAgAABwAQjwIAAKAEADCQAgEAAAABkQIBAM4DACHEAkAA7AMAIcYCAQAAAAECAAAACQAgGgAAtQcAIAIAAACzBwAgGgAAtAcAIAeNAgAAsgcAMI4CAACzBwAQjwIAALIHADCQAgEAzgMAIZECAQDOAwAhxAJAAOwDACHGAgEAzgMAIQeNAgAAsgcAMI4CAACzBwAQjwIAALIHADCQAgEAzgMAIZECAQDOAwAhxAJAAOwDACHGAgEAzgMAIQOQAgEAqQQAIcQCQAC1BAAhxgIBAKkEACEDkAIBAKkEACHEAkAAtQQAIcYCAQCpBAAhA5ACAQAAAAHEAkAAAAABxgIBAAAAAQuQAgEAAAABxwIBAAAAAcgCAQAAAAHJAgEAAAABygIBAAAAAcsCAQAAAAHMAgIAAAABzQIBAAAAAc4CAQAAAAHPAgEAAAAB0AIBAAAAAQIAAAAFACAhAADCBwAgAwAAAAUAICEAAMIHACAiAADBBwAgARoAAOAHADARAwAAzwMAII0CAACiBAAwjgIAAAMAEI8CAACiBAAwkAIBAAAAAZECAQDOAwAhxwIBAM4DACHIAgEAzgMAIckCAQDOAwAhygIBAPcDACHLAgEA9wMAIcwCAgCjBAAhzQIBAPcDACHOAgEA9wMAIc8CAQD3AwAh0AIBAPcDACHeAgAAoQQAIAIAAAAFACAaAADBBwAgAgAAAL8HACAaAADABwAgD40CAAC-BwAwjgIAAL8HABCPAgAAvgcAMJACAQDOAwAhkQIBAM4DACHHAgEAzgMAIcgCAQDOAwAhyQIBAM4DACHKAgEA9wMAIcsCAQD3AwAhzAICAKMEACHNAgEA9wMAIc4CAQD3AwAhzwIBAPcDACHQAgEA9wMAIQ-NAgAAvgcAMI4CAAC_BwAQjwIAAL4HADCQAgEAzgMAIZECAQDOAwAhxwIBAM4DACHIAgEAzgMAIckCAQDOAwAhygIBAPcDACHLAgEA9wMAIcwCAgCjBAAhzQIBAPcDACHOAgEA9wMAIc8CAQD3AwAh0AIBAPcDACELkAIBAKkEACHHAgEAqQQAIcgCAQCpBAAhyQIBAKkEACHKAgEAtAQAIcsCAQC0BAAhzAICAM0GACHNAgEAtAQAIc4CAQC0BAAhzwIBALQEACHQAgEAtAQAIQuQAgEAqQQAIccCAQCpBAAhyAIBAKkEACHJAgEAqQQAIcoCAQC0BAAhywIBALQEACHMAgIAzQYAIc0CAQC0BAAhzgIBALQEACHPAgEAtAQAIdACAQC0BAAhC5ACAQAAAAHHAgEAAAAByAIBAAAAAckCAQAAAAHKAgEAAAABywIBAAAAAcwCAgAAAAHNAgEAAAABzgIBAAAAAc8CAQAAAAHQAgEAAAABBCEAALcHADDhAgAAuAcAMOMCAAC6BwAg5wIAALsHADAEIQAAqwcAMOECAACsBwAw4wIAAK4HACDnAgAArwcAMAQhAACiBwAw4QIAAKMHADDjAgAApQcAIOcCAACOBgAwBCEAAJkHADDhAgAAmgcAMOMCAACcBwAg5wIAAIIGADAEIQAAkAcAMOECAACRBwAw4wIAAJMHACDnAgAA9gUAMAQhAACEBwAw4QIAAIUHADDjAgAAhwcAIOcCAACIBwAwBCEAAPgGADDhAgAA-QYAMOMCAAD7BgAg5wIAAPwGADAEIQAA7wYAMOECAADwBgAw4wIAAPIGACDnAgAAkwUAMAQhAADjBgAw4QIAAOQGADDjAgAA5gYAIOcCAADnBgAwAyEAAN4GACDhAgAA3wYAIOcCAACsAwAgAAAAAAAAAAAAAQMAAK0EACAAAAAKAwAArQQAIAcAAN4HACAJAADfBwAgEAAA1wcAIBEAANQHACClAgAArgQAILMCAACuBAAgtAIAAK4EACC3AgAArgQAILgCAACuBAAgCgMAAK0EACAHAADeBwAgCQAA3wcAIBAAANgHACARAADUBwAgpQIAAK4EACCzAgAArgQAILQCAACuBAAgtwIAAK4EACC4AgAArgQAIAsDAACtBAAgBwAA3gcAIAkAAN8HACAQAADZBwAgEQAA1AcAIKUCAACuBAAgrQIAAK4EACCzAgAArgQAILQCAACuBAAgtwIAAK4EACC4AgAArgQAIAQDAACtBAAgBgAA1wcAIAgAANgHACAOAADZBwAgBgMAAK0EACAGAADPBwAgCAAA0AcAIA4AANEHACClAgAArgQAIMECAACuBAAgBQMAAK0EACAGAADPBwAgCAAA0AcAIA4AANEHACDAAgAArgQAIAuQAgEAAAABxwIBAAAAAcgCAQAAAAHJAgEAAAABygIBAAAAAcsCAQAAAAHMAgIAAAABzQIBAAAAAc4CAQAAAAHPAgEAAAAB0AIBAAAAAQOQAgEAAAABxAJAAAAAAcYCAQAAAAESkAIBAAAAAaUCAQAAAAGmAkAAAAABqwIBAAAAAawCAQAAAAGuAgEAAAABrwIBAAAAAbMCQAAAAAG0AggAAAABtQIgAAAAAbYCQAAAAAG3AgEAAAABuAIBAAAAAbsCAQAAAAG8AggAAAABvQIIAAAAAb4CCAAAAAG_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_gQAIAgAAIAFACAOAACBBQAgkAIBAAAAAZECAQAAAAGmAkAAAAABqwIBAAAAAQIAAABVACAhAAC-CAAgFwMAAOYFACAHAADnBQAgCQAA6AUAIBEAAOoFACCQAgEAAAABkQIBAAAAAaUCAQAAAAGmAkAAAAABqwIBAAAAAawCAQAAAAGuAgEAAAABrwIBAAAAAbMCQAAAAAG0AggAAAABtQIgAAAAAbYCQAAAAAG3AgEAAAABuAIBAAAAAbsCAQAAAAG8AggAAAABvQIIAAAAAb4CCAAAAAG_AggAAAABAgAAAA0AICEAAMAIACADAAAAUwAgIQAAvggAICIAAMQIACAJAAAAUwAgAwAA1gQAIAgAANgEACAOAADZBAAgGgAAxAgAIJACAQCpBAAhkQIBAKkEACGmAkAAtQQAIasCAQCpBAAhBwMAANYEACAIAADYBAAgDgAA2QQAIJACAQCpBAAhkQIBAKkEACGmAkAAtQQAIasCAQCpBAAhAwAAAAsAICEAAMAIACAiAADHCAAgGQAAAAsAIAMAAM8FACAHAADQBQAgCQAA0QUAIBEAANMFACAaAADHCAAgkAIBAKkEACGRAgEAqQQAIaUCAQC0BAAhpgJAALUEACGrAgEAqQQAIawCAQCpBAAhrgIBAKkEACGvAgEAqQQAIbMCQACHBQAhtAIIAIgFACG1AiAAiQUAIbYCQAC1BAAhtwIBALQEACG4AgEAtAQAIbsCAQCpBAAhvAIIAKoEACG9AggAqgQAIb4CCACqBAAhvwIIAKoEACEXAwAAzwUAIAcAANAFACAJAADRBQAgEQAA0wUAIJACAQCpBAAhkQIBAKkEACGlAgEAtAQAIaYCQAC1BAAhqwIBAKkEACGsAgEAqQQAIa4CAQCpBAAhrwIBAKkEACGzAkAAhwUAIbQCCACIBQAhtQIgAIkFACG2AkAAtQQAIbcCAQC0BAAhuAIBALQEACG7AgEAqQQAIbwCCACqBAAhvQIIAKoEACG-AggAqgQAIb8CCACqBAAhBwMAAP4EACAGAAD_BAAgDgAAgQUAIJACAQAAAAGRAgEAAAABpgJAAAAAAasCAQAAAAECAAAAVQAgIQAAyAgAIBUDAADFBQAgBwAAxgUAIAkAAMcFACARAADJBQAgkAIBAAAAAZECAQAAAAGlAgEAAAABpgJAAAAAAasCAQAAAAGsAgEAAAABrgIBAAAAAa8CAQAAAAGyAggAAAABswJAAAAAAbQCCAAAAAG1AiAAAAABtgJAAAAAAbcCAQAAAAG4AgEAAAABuQIBAAAAAboCCAAAAAECAAAAFAAgIQAAyggAIAMAAABTACAhAADICAAgIgAAzggAIAkAAABTACADAADWBAAgBgAA1wQAIA4AANkEACAaAADOCAAgkAIBAKkEACGRAgEAqQQAIaYCQAC1BAAhqwIBAKkEACEHAwAA1gQAIAYAANcEACAOAADZBAAgkAIBAKkEACGRAgEAqQQAIaYCQAC1BAAhqwIBAKkEACEDAAAAEgAgIQAAyggAICIAANEIACAXAAAAEgAgAwAArgUAIAcAAK8FACAJAACwBQAgEQAAsgUAIBoAANEIACCQAgEAqQQAIZECAQCpBAAhpQIBALQEACGmAkAAtQQAIasCAQCpBAAhrAIBAKkEACGuAgEAqQQAIa8CAQCpBAAhsgIIAKoEACGzAkAAhwUAIbQCCACIBQAhtQIgAIkFACG2AkAAtQQAIbcCAQC0BAAhuAIBALQEACG5AgEAqQQAIboCCACqBAAhFQMAAK4FACAHAACvBQAgCQAAsAUAIBEAALIFACCQAgEAqQQAIZECAQCpBAAhpQIBALQEACGmAkAAtQQAIasCAQCpBAAhrAIBAKkEACGuAgEAqQQAIa8CAQCpBAAhsgIIAKoEACGzAkAAhwUAIbQCCACIBQAhtQIgAIkFACG2AkAAtQQAIbcCAQC0BAAhuAIBALQEACG5AgEAqQQAIboCCACqBAAhBwMAAP4EACAGAAD_BAAgCAAAgAUAIJACAQAAAAGRAgEAAAABpgJAAAAAAasCAQAAAAECAAAAVQAgIQAA0ggAIBYDAACkBQAgBwAApQUAIAkAAKYFACARAACoBQAgkAIBAAAAAZECAQAAAAGlAgEAAAABpgJAAAAAAasCAQAAAAGsAgEAAAABrQIBAAAAAa4CAQAAAAGvAgEAAAABsAIBAAAAAbECCAAAAAGyAggAAAABswJAAAAAAbQCCAAAAAG1AiAAAAABtgJAAAAAAbcCAQAAAAG4AgEAAAABAgAAAB0AICEAANQIACADAAAAUwAgIQAA0ggAICIAANgIACAJAAAAUwAgAwAA1gQAIAYAANcEACAIAADYBAAgGgAA2AgAIJACAQCpBAAhkQIBAKkEACGmAkAAtQQAIasCAQCpBAAhBwMAANYEACAGAADXBAAgCAAA2AQAIJACAQCpBAAhkQIBAKkEACGmAkAAtQQAIasCAQCpBAAhAwAAABsAICEAANQIACAiAADbCAAgGAAAABsAIAMAAIoFACAHAACLBQAgCQAAjAUAIBEAAI4FACAaAADbCAAgkAIBAKkEACGRAgEAqQQAIaUCAQC0BAAhpgJAALUEACGrAgEAqQQAIawCAQCpBAAhrQIBALQEACGuAgEAqQQAIa8CAQCpBAAhsAIBAKkEACGxAggAqgQAIbICCACqBAAhswJAAIcFACG0AggAiAUAIbUCIACJBQAhtgJAALUEACG3AgEAtAQAIbgCAQC0BAAhFgMAAIoFACAHAACLBQAgCQAAjAUAIBEAAI4FACCQAgEAqQQAIZECAQCpBAAhpQIBALQEACGmAkAAtQQAIasCAQCpBAAhrAIBAKkEACGtAgEAtAQAIa4CAQCpBAAhrwIBAKkEACGwAgEAqQQAIbECCACqBAAhsgIIAKoEACGzAkAAhwUAIbQCCACIBQAhtQIgAIkFACG2AkAAtQQAIbcCAQC0BAAhuAIBALQEACEWAwAApAUAIAcAAKUFACAJAACmBQAgEAAApwUAIJACAQAAAAGRAgEAAAABpQIBAAAAAaYCQAAAAAGrAgEAAAABrAIBAAAAAa0CAQAAAAGuAgEAAAABrwIBAAAAAbACAQAAAAGxAggAAAABsgIIAAAAAbMCQAAAAAG0AggAAAABtQIgAAAAAbYCQAAAAAG3AgEAAAABuAIBAAAAAQIAAAAdACAhAADcCAAgFQMAAMUFACAHAADGBQAgCQAAxwUAIBAAAMgFACCQAgEAAAABkQIBAAAAAaUCAQAAAAGmAkAAAAABqwIBAAAAAawCAQAAAAGuAgEAAAABrwIBAAAAAbICCAAAAAGzAkAAAAABtAIIAAAAAbUCIAAAAAG2AkAAAAABtwIBAAAAAbgCAQAAAAG5AgEAAAABugIIAAAAAQIAAAAUACAhAADeCAAgFwMAAOYFACAHAADnBQAgCQAA6AUAIBAAAOkFACCQAgEAAAABkQIBAAAAAaUCAQAAAAGmAkAAAAABqwIBAAAAAawCAQAAAAGuAgEAAAABrwIBAAAAAbMCQAAAAAG0AggAAAABtQIgAAAAAbYCQAAAAAG3AgEAAAABuAIBAAAAAbsCAQAAAAG8AggAAAABvQIIAAAAAb4CCAAAAAG_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_ABFAAAMGQgAIQwAORAACEEgAEUkAAQMAAQkEWQAFWgAGWwAIXAAOXQAQYQARYAASXgATXwAAAAADDwAaJwAbKAAcAAAAAw8AGicAGygAHAEDAAEBAwABBQ8AIScAJCgAJTkAIjoAIwAAAAAABQ8AIScAJCgAJTkAIjoAIwEDAAEBAwABAw8AKicAKygALAAAAAMPAConACsoACwAAAADDwAyJwAzKAA0AAAAAw8AMicAMygANAEDAAEBAwABAw8AOScAOigAOwAAAAMPADknADooADsBAwABAQMAAQMPAEAnAEEoAEIAAAADDwBAJwBBKABCAwMAAQf0AQUJ9QEHAwMAAQf7AQUJ_AEHBQ8ARycASigASzkASDoASQAAAAAABQ8ARycASigASzkASDoASQMDAAEHjgIFCY8CBwMDAAEHlQIFCZYCBwUPAFAnAFMoAFQ5AFE6AFIAAAAAAAUPAFAnAFMoAFQ5AFE6AFIDAwABB6gCBQmpAgcDAwABB68CBQmwAgcFDwBZJwBcKABdOQBaOgBbAAAAAAAFDwBZJwBcKABdOQBaOgBbAQMAAQEDAAEDDwBiJwBjKABkAAAAAw8AYicAYygAZAILAAQMAAoCCwAEDAAKAw8AaScAaigAawAAAAMPAGknAGooAGsCDAAKDQAGAgwACg0ABgMPAHAnAHEoAHIAAAADDwBwJwBxKAByAgoACAwACgIKAAgMAAoDDwB3JwB4KAB5AAAAAw8AdycAeCgAeQQDAAEKnAMIC5oDBA2bAwYEAwABCqQDCAuiAwQNowMGBQ8AficAgQEoAIIBOQB_OgCAAQAAAAAABQ8AficAgQEoAIIBOQB_OgCAAQEDAAEBAwABBQ8AhwEnAIoBKACLATkAiAE6AIkBAAAAAAAFDwCHAScAigEoAIsBOQCIAToAiQEVAgEWYgEXZQEYZgEZZwEbaQEcaxYdbBcebgEfcBYgcRgjcgEkcwEldBYpdxkqeB0reQIsegItewIufAIvfQIwfwIxgQEWMoIBHjOEAQI0hgEWNYcBHzaIAQI3iQECOIoBFjuNASA8jgEmPY8BAz6QAQM_kQEDQJIBA0GTAQNClQEDQ5cBFkSYASdFmgEDRpwBFkedAShIngEDSZ8BA0qgARZLowEpTKQBLU2mAS5OpwEuT6oBLlCrAS5RrAEuUq4BLlOwARZUsQEvVbMBLla1ARZXtgEwWLcBLlm4AS5auQEWW7wBMVy9ATVdvgEFXr8BBV_AAQVgwQEFYcIBBWLEAQVjxgEWZMcBNmXJAQVmywEWZ8wBN2jNAQVpzgEFas8BFmvSAThs0wE8bdQBB27VAQdv1gEHcNcBB3HYAQdy2gEHc9wBFnTdAT113wEHduEBFnfiAT544wEHeeQBB3rlARZ76AE_fOkBQ33qAQR-6wEEf-wBBIAB7QEEgQHuAQSCAfABBIMB8gEWhAHzAUSFAfcBBIYB-QEWhwH6AUWIAf0BBIkB_gEEigH_ARaLAYICRowBgwJMjQGEAgaOAYUCBo8BhgIGkAGHAgaRAYgCBpIBigIGkwGMAhaUAY0CTZUBkQIGlgGTAhaXAZQCTpgBlwIGmQGYAgaaAZkCFpsBnAJPnAGdAlWdAZ4CCJ4BnwIInwGgAgigAaECCKEBogIIogGkAgijAaYCFqQBpwJWpQGrAgimAa0CFqcBrgJXqAGxAgipAbICCKoBswIWqwG2AlisAbcCXq0BuAIKrgG5AgqvAboCCrABuwIKsQG8AgqyAb4CCrMBwAIWtAHBAl-1AcMCCrYBxQIWtwHGAmC4AccCCrkByAIKugHJAha7AcwCYbwBzQJlvQHOAgu-Ac8CC78B0AILwAHRAgvBAdICC8IB1AILwwHWAhbEAdcCZsUB2QILxgHbAhbHAdwCZ8gB3QILyQHeAgvKAd8CFssB4gJozAHjAmzNAeQCDM4B5QIMzwHmAgzQAecCDNEB6AIM0gHqAgzTAewCFtQB7QJt1QHvAgzWAfECFtcB8gJu2AHzAgzZAfQCDNoB9QIW2wH4Am_cAfkCc90B-gIJ3gH7AgnfAfwCCeAB_QIJ4QH-AgniAYADCeMBggMW5AGDA3TlAYUDCeYBhwMW5wGIA3XoAYkDCekBigMJ6gGLAxbrAY4DduwBjwN67QGQAw7uAZEDDu8BkgMO8AGTAw7xAZQDDvIBlgMO8wGYAxb0AZkDe_UBngMO9gGgAxb3AaEDfPgBpQMO-QGmAw76AacDFvsBqgN9_AGrA4MB_QGtAxT-Aa4DFP8BsAMUgAKxAxSBArIDFIICtAMUgwK2AxaEArcDhAGFArkDFIYCuwMWhwK8A4UBiAK9AxSJAr4DFIoCvwMWiwLCA4YBjALDA4wB" +} + +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_fast_bg.postgresql.mjs"), + + getQueryCompilerWasmModule: async () => { + const { wasm } = await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.wasm-base64.mjs") + return await decodeBase64AsWasm(wasm) + }, + + importName: "./query_compiler_fast_bg.js" +} + + + +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.account`: Exposes CRUD operations for the **Account** model. + * Example usage: + * ```ts + * // Fetch zero or more Accounts + * const accounts = await prisma.account.findMany() + * ``` + */ + get account(): Prisma.AccountDelegate; + + /** + * `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.verificationToken`: Exposes CRUD operations for the **VerificationToken** model. + * Example usage: + * ```ts + * // Fetch zero or more VerificationTokens + * const verificationTokens = await prisma.verificationToken.findMany() + * ``` + */ + get verificationToken(): Prisma.VerificationTokenDelegate; + + /** + * `prisma.vendor`: Exposes CRUD operations for the **Vendor** model. + * Example usage: + * ```ts + * // Fetch zero or more Vendors + * const vendors = await prisma.vendor.findMany() + * ``` + */ + get vendor(): Prisma.VendorDelegate; + + /** + * `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.filament`: Exposes CRUD operations for the **Filament** model. + * Example usage: + * ```ts + * // Fetch zero or more Filaments + * const filaments = await prisma.filament.findMany() + * ``` + */ + get filament(): Prisma.FilamentDelegate; + + /** + * `prisma.resin`: Exposes CRUD operations for the **Resin** model. + * Example usage: + * ```ts + * // Fetch zero or more Resins + * const resins = await prisma.resin.findMany() + * ``` + */ + get resin(): Prisma.ResinDelegate; + + /** + * `prisma.paint`: Exposes CRUD operations for the **Paint** model. + * Example usage: + * ```ts + * // Fetch zero or more Paints + * const paints = await prisma.paint.findMany() + * ``` + */ + get paint(): Prisma.PaintDelegate; + + /** + * `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.tagOnFilament`: Exposes CRUD operations for the **TagOnFilament** model. + * Example usage: + * ```ts + * // Fetch zero or more TagOnFilaments + * const tagOnFilaments = await prisma.tagOnFilament.findMany() + * ``` + */ + get tagOnFilament(): Prisma.TagOnFilamentDelegate; + + /** + * `prisma.tagOnResin`: Exposes CRUD operations for the **TagOnResin** model. + * Example usage: + * ```ts + * // Fetch zero or more TagOnResins + * const tagOnResins = await prisma.tagOnResin.findMany() + * ``` + */ + get tagOnResin(): Prisma.TagOnResinDelegate; + + /** + * `prisma.tagOnPaint`: Exposes CRUD operations for the **TagOnPaint** model. + * Example usage: + * ```ts + * // Fetch zero or more TagOnPaints + * const tagOnPaints = await prisma.tagOnPaint.findMany() + * ``` + */ + get tagOnPaint(): Prisma.TagOnPaintDelegate; + + /** + * `prisma.usageLog`: Exposes CRUD operations for the **UsageLog** model. + * Example usage: + * ```ts + * // Fetch zero or more UsageLogs + * const usageLogs = await prisma.usageLog.findMany() + * ``` + */ + get usageLog(): Prisma.UsageLogDelegate; + + /** + * `prisma.userSettings`: Exposes CRUD operations for the **UserSettings** model. + * Example usage: + * ```ts + * // Fetch zero or more UserSettings + * const userSettings = await prisma.userSettings.findMany() + * ``` + */ + get userSettings(): Prisma.UserSettingsDelegate; +} + +export function getPrismaClientClass(): PrismaClientConstructor { + return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor +} diff --git a/src/generated/prisma/internal/prismaNamespace.ts b/src/generated/prisma/internal/prismaNamespace.ts new file mode 100644 index 0000000..200f4d1 --- /dev/null +++ b/src/generated/prisma/internal/prismaNamespace.ts @@ -0,0 +1,2062 @@ + +/* !!! 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" +import { type PrismaClient } from "./class" + +export type * from '../models' + +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.4.0 + * Query Engine version: ab56fe763f921d033a6c195e7ddeb3e255bdbb57 + */ +export const prismaVersion: PrismaVersion = { + client: "7.4.0", + engine: "ab56fe763f921d033a6c195e7ddeb3e255bdbb57" +} + +/** + * 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 = { + User: 'User', + Account: 'Account', + Session: 'Session', + VerificationToken: 'VerificationToken', + Vendor: 'Vendor', + Location: 'Location', + Filament: 'Filament', + Resin: 'Resin', + Paint: 'Paint', + Tag: 'Tag', + TagOnFilament: 'TagOnFilament', + TagOnResin: 'TagOnResin', + TagOnPaint: 'TagOnPaint', + UsageLog: 'UsageLog', + UserSettings: 'UserSettings' +} 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: "user" | "account" | "session" | "verificationToken" | "vendor" | "location" | "filament" | "resin" | "paint" | "tag" | "tagOnFilament" | "tagOnResin" | "tagOnPaint" | "usageLog" | "userSettings" + txIsolationLevel: TransactionIsolationLevel + } + model: { + 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 + } + } + } + Account: { + payload: Prisma.$AccountPayload + fields: Prisma.AccountFieldRefs + operations: { + findUnique: { + args: Prisma.AccountFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.AccountFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.AccountFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.AccountFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.AccountFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.AccountCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.AccountCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.AccountCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.AccountDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.AccountUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.AccountDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.AccountUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.AccountUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.AccountUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.AccountAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.AccountGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.AccountCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + 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 + } + } + } + VerificationToken: { + payload: Prisma.$VerificationTokenPayload + fields: Prisma.VerificationTokenFieldRefs + operations: { + findUnique: { + args: Prisma.VerificationTokenFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.VerificationTokenFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.VerificationTokenFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.VerificationTokenFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.VerificationTokenFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.VerificationTokenCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.VerificationTokenCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.VerificationTokenCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.VerificationTokenDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.VerificationTokenUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.VerificationTokenDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.VerificationTokenUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.VerificationTokenUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.VerificationTokenUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.VerificationTokenAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.VerificationTokenGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.VerificationTokenCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + Vendor: { + payload: Prisma.$VendorPayload + fields: Prisma.VendorFieldRefs + operations: { + findUnique: { + args: Prisma.VendorFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.VendorFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.VendorFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.VendorFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.VendorFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.VendorCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.VendorCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.VendorCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.VendorDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.VendorUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.VendorDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.VendorUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.VendorUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.VendorUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.VendorAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.VendorGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.VendorCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + Location: { + payload: Prisma.$LocationPayload + fields: Prisma.LocationFieldRefs + operations: { + findUnique: { + args: Prisma.LocationFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.LocationFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.LocationFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.LocationFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.LocationFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.LocationCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.LocationCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.LocationCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.LocationDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.LocationUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.LocationDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.LocationUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.LocationUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.LocationUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.LocationAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.LocationGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.LocationCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + Filament: { + payload: Prisma.$FilamentPayload + fields: Prisma.FilamentFieldRefs + operations: { + findUnique: { + args: Prisma.FilamentFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.FilamentFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.FilamentFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.FilamentFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.FilamentFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.FilamentCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.FilamentCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.FilamentCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.FilamentDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.FilamentUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.FilamentDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.FilamentUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.FilamentUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.FilamentUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.FilamentAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.FilamentGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.FilamentCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + Resin: { + payload: Prisma.$ResinPayload + fields: Prisma.ResinFieldRefs + operations: { + findUnique: { + args: Prisma.ResinFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.ResinFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.ResinFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.ResinFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.ResinFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.ResinCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.ResinCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.ResinCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.ResinDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.ResinUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.ResinDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.ResinUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.ResinUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.ResinUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.ResinAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.ResinGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.ResinCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + Paint: { + payload: Prisma.$PaintPayload + fields: Prisma.PaintFieldRefs + operations: { + findUnique: { + args: Prisma.PaintFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.PaintFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.PaintFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.PaintFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.PaintFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.PaintCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.PaintCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.PaintCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.PaintDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.PaintUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.PaintDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.PaintUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.PaintUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.PaintUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.PaintAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.PaintGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.PaintCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + Tag: { + payload: Prisma.$TagPayload + fields: Prisma.TagFieldRefs + operations: { + findUnique: { + args: Prisma.TagFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.TagFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.TagFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.TagFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.TagFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.TagCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.TagCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.TagCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.TagDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.TagUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.TagDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.TagUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.TagUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.TagUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.TagAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.TagGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.TagCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + TagOnFilament: { + payload: Prisma.$TagOnFilamentPayload + fields: Prisma.TagOnFilamentFieldRefs + operations: { + findUnique: { + args: Prisma.TagOnFilamentFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.TagOnFilamentFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.TagOnFilamentFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.TagOnFilamentFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.TagOnFilamentFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.TagOnFilamentCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.TagOnFilamentCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.TagOnFilamentCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.TagOnFilamentDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.TagOnFilamentUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.TagOnFilamentDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.TagOnFilamentUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.TagOnFilamentUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.TagOnFilamentUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.TagOnFilamentAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.TagOnFilamentGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.TagOnFilamentCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + TagOnResin: { + payload: Prisma.$TagOnResinPayload + fields: Prisma.TagOnResinFieldRefs + operations: { + findUnique: { + args: Prisma.TagOnResinFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.TagOnResinFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.TagOnResinFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.TagOnResinFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.TagOnResinFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.TagOnResinCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.TagOnResinCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.TagOnResinCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.TagOnResinDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.TagOnResinUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.TagOnResinDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.TagOnResinUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.TagOnResinUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.TagOnResinUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.TagOnResinAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.TagOnResinGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.TagOnResinCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + TagOnPaint: { + payload: Prisma.$TagOnPaintPayload + fields: Prisma.TagOnPaintFieldRefs + operations: { + findUnique: { + args: Prisma.TagOnPaintFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.TagOnPaintFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.TagOnPaintFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.TagOnPaintFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.TagOnPaintFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.TagOnPaintCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.TagOnPaintCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.TagOnPaintCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.TagOnPaintDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.TagOnPaintUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.TagOnPaintDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.TagOnPaintUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.TagOnPaintUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.TagOnPaintUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.TagOnPaintAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.TagOnPaintGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.TagOnPaintCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + UsageLog: { + payload: Prisma.$UsageLogPayload + fields: Prisma.UsageLogFieldRefs + operations: { + findUnique: { + args: Prisma.UsageLogFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.UsageLogFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.UsageLogFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.UsageLogFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.UsageLogFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.UsageLogCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.UsageLogCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.UsageLogCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.UsageLogDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.UsageLogUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.UsageLogDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.UsageLogUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.UsageLogUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.UsageLogUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.UsageLogAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.UsageLogGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.UsageLogCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + UserSettings: { + payload: Prisma.$UserSettingsPayload + fields: Prisma.UserSettingsFieldRefs + operations: { + findUnique: { + args: Prisma.UserSettingsFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.UserSettingsFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.UserSettingsFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.UserSettingsFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.UserSettingsFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.UserSettingsCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.UserSettingsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.UserSettingsCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.UserSettingsDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.UserSettingsUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.UserSettingsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.UserSettingsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.UserSettingsUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.UserSettingsUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.UserSettingsAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.UserSettingsGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.UserSettingsCountArgs + 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 UserScalarFieldEnum = { + id: 'id', + name: 'name', + email: 'email', + emailVerified: 'emailVerified', + image: 'image', + hashedPassword: 'hashedPassword', + role: 'role', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +} as const + +export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] + + +export const AccountScalarFieldEnum = { + id: 'id', + userId: 'userId', + type: 'type', + provider: 'provider', + providerAccountId: 'providerAccountId', + refresh_token: 'refresh_token', + access_token: 'access_token', + expires_at: 'expires_at', + token_type: 'token_type', + scope: 'scope', + id_token: 'id_token', + session_state: 'session_state' +} as const + +export type AccountScalarFieldEnum = (typeof AccountScalarFieldEnum)[keyof typeof AccountScalarFieldEnum] + + +export const SessionScalarFieldEnum = { + id: 'id', + sessionToken: 'sessionToken', + userId: 'userId', + expires: 'expires' +} as const + +export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum] + + +export const VerificationTokenScalarFieldEnum = { + identifier: 'identifier', + token: 'token', + expires: 'expires' +} as const + +export type VerificationTokenScalarFieldEnum = (typeof VerificationTokenScalarFieldEnum)[keyof typeof VerificationTokenScalarFieldEnum] + + +export const VendorScalarFieldEnum = { + id: 'id', + name: 'name', + website: 'website', + notes: 'notes', + archived: 'archived', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + userId: 'userId' +} as const + +export type VendorScalarFieldEnum = (typeof VendorScalarFieldEnum)[keyof typeof VendorScalarFieldEnum] + + +export const LocationScalarFieldEnum = { + id: 'id', + name: 'name', + description: 'description', + archived: 'archived', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + userId: 'userId' +} as const + +export type LocationScalarFieldEnum = (typeof LocationScalarFieldEnum)[keyof typeof LocationScalarFieldEnum] + + +export const FilamentScalarFieldEnum = { + id: 'id', + name: 'name', + brand: 'brand', + material: 'material', + color: 'color', + colorHex: 'colorHex', + diameter: 'diameter', + spoolWeight: 'spoolWeight', + usedWeight: 'usedWeight', + emptySpoolWeight: 'emptySpoolWeight', + purchaseDate: 'purchaseDate', + cost: 'cost', + notes: 'notes', + archived: 'archived', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + userId: 'userId', + vendorId: 'vendorId', + locationId: 'locationId' +} as const + +export type FilamentScalarFieldEnum = (typeof FilamentScalarFieldEnum)[keyof typeof FilamentScalarFieldEnum] + + +export const ResinScalarFieldEnum = { + id: 'id', + name: 'name', + brand: 'brand', + resinType: 'resinType', + color: 'color', + colorHex: 'colorHex', + bottleSize: 'bottleSize', + usedML: 'usedML', + purchaseDate: 'purchaseDate', + cost: 'cost', + notes: 'notes', + archived: 'archived', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + userId: 'userId', + vendorId: 'vendorId', + locationId: 'locationId' +} as const + +export type ResinScalarFieldEnum = (typeof ResinScalarFieldEnum)[keyof typeof ResinScalarFieldEnum] + + +export const PaintScalarFieldEnum = { + id: 'id', + name: 'name', + brand: 'brand', + line: 'line', + color: 'color', + colorHex: 'colorHex', + finish: 'finish', + volumeML: 'volumeML', + usedML: 'usedML', + purchaseDate: 'purchaseDate', + cost: 'cost', + notes: 'notes', + archived: 'archived', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + userId: 'userId', + vendorId: 'vendorId', + locationId: 'locationId' +} as const + +export type PaintScalarFieldEnum = (typeof PaintScalarFieldEnum)[keyof typeof PaintScalarFieldEnum] + + +export const TagScalarFieldEnum = { + id: 'id', + name: 'name', + createdAt: 'createdAt', + userId: 'userId' +} as const + +export type TagScalarFieldEnum = (typeof TagScalarFieldEnum)[keyof typeof TagScalarFieldEnum] + + +export const TagOnFilamentScalarFieldEnum = { + filamentId: 'filamentId', + tagId: 'tagId' +} as const + +export type TagOnFilamentScalarFieldEnum = (typeof TagOnFilamentScalarFieldEnum)[keyof typeof TagOnFilamentScalarFieldEnum] + + +export const TagOnResinScalarFieldEnum = { + resinId: 'resinId', + tagId: 'tagId' +} as const + +export type TagOnResinScalarFieldEnum = (typeof TagOnResinScalarFieldEnum)[keyof typeof TagOnResinScalarFieldEnum] + + +export const TagOnPaintScalarFieldEnum = { + paintId: 'paintId', + tagId: 'tagId' +} as const + +export type TagOnPaintScalarFieldEnum = (typeof TagOnPaintScalarFieldEnum)[keyof typeof TagOnPaintScalarFieldEnum] + + +export const UsageLogScalarFieldEnum = { + id: 'id', + itemType: 'itemType', + itemId: 'itemId', + amount: 'amount', + unit: 'unit', + notes: 'notes', + createdAt: 'createdAt', + userId: 'userId', + filamentId: 'filamentId', + resinId: 'resinId', + paintId: 'paintId' +} as const + +export type UsageLogScalarFieldEnum = (typeof UsageLogScalarFieldEnum)[keyof typeof UsageLogScalarFieldEnum] + + +export const UserSettingsScalarFieldEnum = { + id: 'id', + userId: 'userId', + lowStockThreshold: 'lowStockThreshold', + currency: 'currency', + theme: 'theme', + units: 'units' +} as const + +export type UserSettingsScalarFieldEnum = (typeof UserSettingsScalarFieldEnum)[keyof typeof UserSettingsScalarFieldEnum] + + +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 'Role' + */ +export type EnumRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Role'> + + + +/** + * Reference to a field of type 'Role[]' + */ +export type ListEnumRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Role[]'> + + + +/** + * 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 'Boolean' + */ +export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> + + + +/** + * 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 = { + user?: Prisma.UserOmit + account?: Prisma.AccountOmit + session?: Prisma.SessionOmit + verificationToken?: Prisma.VerificationTokenOmit + vendor?: Prisma.VendorOmit + location?: Prisma.LocationOmit + filament?: Prisma.FilamentOmit + resin?: Prisma.ResinOmit + paint?: Prisma.PaintOmit + tag?: Prisma.TagOmit + tagOnFilament?: Prisma.TagOnFilamentOmit + tagOnResin?: Prisma.TagOnResinOmit + tagOnPaint?: Prisma.TagOnPaintOmit + usageLog?: Prisma.UsageLogOmit + userSettings?: Prisma.UserSettingsOmit +} + +/* 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/src/generated/prisma/internal/prismaNamespaceBrowser.ts b/src/generated/prisma/internal/prismaNamespaceBrowser.ts new file mode 100644 index 0000000..1519b84 --- /dev/null +++ b/src/generated/prisma/internal/prismaNamespaceBrowser.ts @@ -0,0 +1,323 @@ + +/* !!! 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' +export type * from './prismaNamespace' + +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 = { + User: 'User', + Account: 'Account', + Session: 'Session', + VerificationToken: 'VerificationToken', + Vendor: 'Vendor', + Location: 'Location', + Filament: 'Filament', + Resin: 'Resin', + Paint: 'Paint', + Tag: 'Tag', + TagOnFilament: 'TagOnFilament', + TagOnResin: 'TagOnResin', + TagOnPaint: 'TagOnPaint', + UsageLog: 'UsageLog', + UserSettings: 'UserSettings' +} 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 UserScalarFieldEnum = { + id: 'id', + name: 'name', + email: 'email', + emailVerified: 'emailVerified', + image: 'image', + hashedPassword: 'hashedPassword', + role: 'role', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +} as const + +export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] + + +export const AccountScalarFieldEnum = { + id: 'id', + userId: 'userId', + type: 'type', + provider: 'provider', + providerAccountId: 'providerAccountId', + refresh_token: 'refresh_token', + access_token: 'access_token', + expires_at: 'expires_at', + token_type: 'token_type', + scope: 'scope', + id_token: 'id_token', + session_state: 'session_state' +} as const + +export type AccountScalarFieldEnum = (typeof AccountScalarFieldEnum)[keyof typeof AccountScalarFieldEnum] + + +export const SessionScalarFieldEnum = { + id: 'id', + sessionToken: 'sessionToken', + userId: 'userId', + expires: 'expires' +} as const + +export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum] + + +export const VerificationTokenScalarFieldEnum = { + identifier: 'identifier', + token: 'token', + expires: 'expires' +} as const + +export type VerificationTokenScalarFieldEnum = (typeof VerificationTokenScalarFieldEnum)[keyof typeof VerificationTokenScalarFieldEnum] + + +export const VendorScalarFieldEnum = { + id: 'id', + name: 'name', + website: 'website', + notes: 'notes', + archived: 'archived', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + userId: 'userId' +} as const + +export type VendorScalarFieldEnum = (typeof VendorScalarFieldEnum)[keyof typeof VendorScalarFieldEnum] + + +export const LocationScalarFieldEnum = { + id: 'id', + name: 'name', + description: 'description', + archived: 'archived', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + userId: 'userId' +} as const + +export type LocationScalarFieldEnum = (typeof LocationScalarFieldEnum)[keyof typeof LocationScalarFieldEnum] + + +export const FilamentScalarFieldEnum = { + id: 'id', + name: 'name', + brand: 'brand', + material: 'material', + color: 'color', + colorHex: 'colorHex', + diameter: 'diameter', + spoolWeight: 'spoolWeight', + usedWeight: 'usedWeight', + emptySpoolWeight: 'emptySpoolWeight', + purchaseDate: 'purchaseDate', + cost: 'cost', + notes: 'notes', + archived: 'archived', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + userId: 'userId', + vendorId: 'vendorId', + locationId: 'locationId' +} as const + +export type FilamentScalarFieldEnum = (typeof FilamentScalarFieldEnum)[keyof typeof FilamentScalarFieldEnum] + + +export const ResinScalarFieldEnum = { + id: 'id', + name: 'name', + brand: 'brand', + resinType: 'resinType', + color: 'color', + colorHex: 'colorHex', + bottleSize: 'bottleSize', + usedML: 'usedML', + purchaseDate: 'purchaseDate', + cost: 'cost', + notes: 'notes', + archived: 'archived', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + userId: 'userId', + vendorId: 'vendorId', + locationId: 'locationId' +} as const + +export type ResinScalarFieldEnum = (typeof ResinScalarFieldEnum)[keyof typeof ResinScalarFieldEnum] + + +export const PaintScalarFieldEnum = { + id: 'id', + name: 'name', + brand: 'brand', + line: 'line', + color: 'color', + colorHex: 'colorHex', + finish: 'finish', + volumeML: 'volumeML', + usedML: 'usedML', + purchaseDate: 'purchaseDate', + cost: 'cost', + notes: 'notes', + archived: 'archived', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + userId: 'userId', + vendorId: 'vendorId', + locationId: 'locationId' +} as const + +export type PaintScalarFieldEnum = (typeof PaintScalarFieldEnum)[keyof typeof PaintScalarFieldEnum] + + +export const TagScalarFieldEnum = { + id: 'id', + name: 'name', + createdAt: 'createdAt', + userId: 'userId' +} as const + +export type TagScalarFieldEnum = (typeof TagScalarFieldEnum)[keyof typeof TagScalarFieldEnum] + + +export const TagOnFilamentScalarFieldEnum = { + filamentId: 'filamentId', + tagId: 'tagId' +} as const + +export type TagOnFilamentScalarFieldEnum = (typeof TagOnFilamentScalarFieldEnum)[keyof typeof TagOnFilamentScalarFieldEnum] + + +export const TagOnResinScalarFieldEnum = { + resinId: 'resinId', + tagId: 'tagId' +} as const + +export type TagOnResinScalarFieldEnum = (typeof TagOnResinScalarFieldEnum)[keyof typeof TagOnResinScalarFieldEnum] + + +export const TagOnPaintScalarFieldEnum = { + paintId: 'paintId', + tagId: 'tagId' +} as const + +export type TagOnPaintScalarFieldEnum = (typeof TagOnPaintScalarFieldEnum)[keyof typeof TagOnPaintScalarFieldEnum] + + +export const UsageLogScalarFieldEnum = { + id: 'id', + itemType: 'itemType', + itemId: 'itemId', + amount: 'amount', + unit: 'unit', + notes: 'notes', + createdAt: 'createdAt', + userId: 'userId', + filamentId: 'filamentId', + resinId: 'resinId', + paintId: 'paintId' +} as const + +export type UsageLogScalarFieldEnum = (typeof UsageLogScalarFieldEnum)[keyof typeof UsageLogScalarFieldEnum] + + +export const UserSettingsScalarFieldEnum = { + id: 'id', + userId: 'userId', + lowStockThreshold: 'lowStockThreshold', + currency: 'currency', + theme: 'theme', + units: 'units' +} as const + +export type UserSettingsScalarFieldEnum = (typeof UserSettingsScalarFieldEnum)[keyof typeof UserSettingsScalarFieldEnum] + + +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/src/generated/prisma/models.ts b/src/generated/prisma/models.ts new file mode 100644 index 0000000..f9da958 --- /dev/null +++ b/src/generated/prisma/models.ts @@ -0,0 +1,26 @@ + +/* !!! 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/User' +export type * from './models/Account' +export type * from './models/Session' +export type * from './models/VerificationToken' +export type * from './models/Vendor' +export type * from './models/Location' +export type * from './models/Filament' +export type * from './models/Resin' +export type * from './models/Paint' +export type * from './models/Tag' +export type * from './models/TagOnFilament' +export type * from './models/TagOnResin' +export type * from './models/TagOnPaint' +export type * from './models/UsageLog' +export type * from './models/UserSettings' +export type * from './commonInputTypes' \ No newline at end of file diff --git a/src/generated/prisma/models/Account.ts b/src/generated/prisma/models/Account.ts new file mode 100644 index 0000000..5d863f7 --- /dev/null +++ b/src/generated/prisma/models/Account.ts @@ -0,0 +1,1643 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Account` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model Account + * + */ +export type AccountModel = runtime.Types.Result.DefaultSelection + +export type AggregateAccount = { + _count: AccountCountAggregateOutputType | null + _avg: AccountAvgAggregateOutputType | null + _sum: AccountSumAggregateOutputType | null + _min: AccountMinAggregateOutputType | null + _max: AccountMaxAggregateOutputType | null +} + +export type AccountAvgAggregateOutputType = { + expires_at: number | null +} + +export type AccountSumAggregateOutputType = { + expires_at: number | null +} + +export type AccountMinAggregateOutputType = { + id: string | null + userId: string | null + type: string | null + provider: string | null + providerAccountId: string | null + refresh_token: string | null + access_token: string | null + expires_at: number | null + token_type: string | null + scope: string | null + id_token: string | null + session_state: string | null +} + +export type AccountMaxAggregateOutputType = { + id: string | null + userId: string | null + type: string | null + provider: string | null + providerAccountId: string | null + refresh_token: string | null + access_token: string | null + expires_at: number | null + token_type: string | null + scope: string | null + id_token: string | null + session_state: string | null +} + +export type AccountCountAggregateOutputType = { + id: number + userId: number + type: number + provider: number + providerAccountId: number + refresh_token: number + access_token: number + expires_at: number + token_type: number + scope: number + id_token: number + session_state: number + _all: number +} + + +export type AccountAvgAggregateInputType = { + expires_at?: true +} + +export type AccountSumAggregateInputType = { + expires_at?: true +} + +export type AccountMinAggregateInputType = { + id?: true + userId?: true + type?: true + provider?: true + providerAccountId?: true + refresh_token?: true + access_token?: true + expires_at?: true + token_type?: true + scope?: true + id_token?: true + session_state?: true +} + +export type AccountMaxAggregateInputType = { + id?: true + userId?: true + type?: true + provider?: true + providerAccountId?: true + refresh_token?: true + access_token?: true + expires_at?: true + token_type?: true + scope?: true + id_token?: true + session_state?: true +} + +export type AccountCountAggregateInputType = { + id?: true + userId?: true + type?: true + provider?: true + providerAccountId?: true + refresh_token?: true + access_token?: true + expires_at?: true + token_type?: true + scope?: true + id_token?: true + session_state?: true + _all?: true +} + +export type AccountAggregateArgs = { + /** + * Filter which Account to aggregate. + */ + where?: Prisma.AccountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Accounts to fetch. + */ + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.AccountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Accounts 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` Accounts. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Accounts + **/ + _count?: true | AccountCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: AccountAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: AccountSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: AccountMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: AccountMaxAggregateInputType +} + +export type GetAccountAggregateType = { + [P in keyof T & keyof AggregateAccount]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type AccountGroupByArgs = { + where?: Prisma.AccountWhereInput + orderBy?: Prisma.AccountOrderByWithAggregationInput | Prisma.AccountOrderByWithAggregationInput[] + by: Prisma.AccountScalarFieldEnum[] | Prisma.AccountScalarFieldEnum + having?: Prisma.AccountScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: AccountCountAggregateInputType | true + _avg?: AccountAvgAggregateInputType + _sum?: AccountSumAggregateInputType + _min?: AccountMinAggregateInputType + _max?: AccountMaxAggregateInputType +} + +export type AccountGroupByOutputType = { + id: string + userId: string + type: string + provider: string + providerAccountId: string + refresh_token: string | null + access_token: string | null + expires_at: number | null + token_type: string | null + scope: string | null + id_token: string | null + session_state: string | null + _count: AccountCountAggregateOutputType | null + _avg: AccountAvgAggregateOutputType | null + _sum: AccountSumAggregateOutputType | null + _min: AccountMinAggregateOutputType | null + _max: AccountMaxAggregateOutputType | null +} + +type GetAccountGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof AccountGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type AccountWhereInput = { + AND?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] + OR?: Prisma.AccountWhereInput[] + NOT?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] + id?: Prisma.StringFilter<"Account"> | string + userId?: Prisma.StringFilter<"Account"> | string + type?: Prisma.StringFilter<"Account"> | string + provider?: Prisma.StringFilter<"Account"> | string + providerAccountId?: Prisma.StringFilter<"Account"> | string + refresh_token?: Prisma.StringNullableFilter<"Account"> | string | null + access_token?: Prisma.StringNullableFilter<"Account"> | string | null + expires_at?: Prisma.IntNullableFilter<"Account"> | number | null + token_type?: Prisma.StringNullableFilter<"Account"> | string | null + scope?: Prisma.StringNullableFilter<"Account"> | string | null + id_token?: Prisma.StringNullableFilter<"Account"> | string | null + session_state?: Prisma.StringNullableFilter<"Account"> | string | null + user?: Prisma.XOR +} + +export type AccountOrderByWithRelationInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + type?: Prisma.SortOrder + provider?: Prisma.SortOrder + providerAccountId?: Prisma.SortOrder + refresh_token?: Prisma.SortOrderInput | Prisma.SortOrder + access_token?: Prisma.SortOrderInput | Prisma.SortOrder + expires_at?: Prisma.SortOrderInput | Prisma.SortOrder + token_type?: Prisma.SortOrderInput | Prisma.SortOrder + scope?: Prisma.SortOrderInput | Prisma.SortOrder + id_token?: Prisma.SortOrderInput | Prisma.SortOrder + session_state?: Prisma.SortOrderInput | Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput +} + +export type AccountWhereUniqueInput = Prisma.AtLeast<{ + id?: string + provider_providerAccountId?: Prisma.AccountProviderProviderAccountIdCompoundUniqueInput + AND?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] + OR?: Prisma.AccountWhereInput[] + NOT?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[] + userId?: Prisma.StringFilter<"Account"> | string + type?: Prisma.StringFilter<"Account"> | string + provider?: Prisma.StringFilter<"Account"> | string + providerAccountId?: Prisma.StringFilter<"Account"> | string + refresh_token?: Prisma.StringNullableFilter<"Account"> | string | null + access_token?: Prisma.StringNullableFilter<"Account"> | string | null + expires_at?: Prisma.IntNullableFilter<"Account"> | number | null + token_type?: Prisma.StringNullableFilter<"Account"> | string | null + scope?: Prisma.StringNullableFilter<"Account"> | string | null + id_token?: Prisma.StringNullableFilter<"Account"> | string | null + session_state?: Prisma.StringNullableFilter<"Account"> | string | null + user?: Prisma.XOR +}, "id" | "provider_providerAccountId"> + +export type AccountOrderByWithAggregationInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + type?: Prisma.SortOrder + provider?: Prisma.SortOrder + providerAccountId?: Prisma.SortOrder + refresh_token?: Prisma.SortOrderInput | Prisma.SortOrder + access_token?: Prisma.SortOrderInput | Prisma.SortOrder + expires_at?: Prisma.SortOrderInput | Prisma.SortOrder + token_type?: Prisma.SortOrderInput | Prisma.SortOrder + scope?: Prisma.SortOrderInput | Prisma.SortOrder + id_token?: Prisma.SortOrderInput | Prisma.SortOrder + session_state?: Prisma.SortOrderInput | Prisma.SortOrder + _count?: Prisma.AccountCountOrderByAggregateInput + _avg?: Prisma.AccountAvgOrderByAggregateInput + _max?: Prisma.AccountMaxOrderByAggregateInput + _min?: Prisma.AccountMinOrderByAggregateInput + _sum?: Prisma.AccountSumOrderByAggregateInput +} + +export type AccountScalarWhereWithAggregatesInput = { + AND?: Prisma.AccountScalarWhereWithAggregatesInput | Prisma.AccountScalarWhereWithAggregatesInput[] + OR?: Prisma.AccountScalarWhereWithAggregatesInput[] + NOT?: Prisma.AccountScalarWhereWithAggregatesInput | Prisma.AccountScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Account"> | string + userId?: Prisma.StringWithAggregatesFilter<"Account"> | string + type?: Prisma.StringWithAggregatesFilter<"Account"> | string + provider?: Prisma.StringWithAggregatesFilter<"Account"> | string + providerAccountId?: Prisma.StringWithAggregatesFilter<"Account"> | string + refresh_token?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + access_token?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + expires_at?: Prisma.IntNullableWithAggregatesFilter<"Account"> | number | null + token_type?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + scope?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + id_token?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null + session_state?: Prisma.StringNullableWithAggregatesFilter<"Account"> | string | null +} + +export type AccountCreateInput = { + id?: string + type: string + provider: string + providerAccountId: string + refresh_token?: string | null + access_token?: string | null + expires_at?: number | null + token_type?: string | null + scope?: string | null + id_token?: string | null + session_state?: string | null + user: Prisma.UserCreateNestedOneWithoutAccountsInput +} + +export type AccountUncheckedCreateInput = { + id?: string + userId: string + type: string + provider: string + providerAccountId: string + refresh_token?: string | null + access_token?: string | null + expires_at?: number | null + token_type?: string | null + scope?: string | null + id_token?: string | null + session_state?: string | null +} + +export type AccountUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + user?: Prisma.UserUpdateOneRequiredWithoutAccountsNestedInput +} + +export type AccountUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type AccountCreateManyInput = { + id?: string + userId: string + type: string + provider: string + providerAccountId: string + refresh_token?: string | null + access_token?: string | null + expires_at?: number | null + token_type?: string | null + scope?: string | null + id_token?: string | null + session_state?: string | null +} + +export type AccountUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type AccountUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type AccountListRelationFilter = { + every?: Prisma.AccountWhereInput + some?: Prisma.AccountWhereInput + none?: Prisma.AccountWhereInput +} + +export type AccountOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type AccountProviderProviderAccountIdCompoundUniqueInput = { + provider: string + providerAccountId: string +} + +export type AccountCountOrderByAggregateInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + type?: Prisma.SortOrder + provider?: Prisma.SortOrder + providerAccountId?: Prisma.SortOrder + refresh_token?: Prisma.SortOrder + access_token?: Prisma.SortOrder + expires_at?: Prisma.SortOrder + token_type?: Prisma.SortOrder + scope?: Prisma.SortOrder + id_token?: Prisma.SortOrder + session_state?: Prisma.SortOrder +} + +export type AccountAvgOrderByAggregateInput = { + expires_at?: Prisma.SortOrder +} + +export type AccountMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + type?: Prisma.SortOrder + provider?: Prisma.SortOrder + providerAccountId?: Prisma.SortOrder + refresh_token?: Prisma.SortOrder + access_token?: Prisma.SortOrder + expires_at?: Prisma.SortOrder + token_type?: Prisma.SortOrder + scope?: Prisma.SortOrder + id_token?: Prisma.SortOrder + session_state?: Prisma.SortOrder +} + +export type AccountMinOrderByAggregateInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + type?: Prisma.SortOrder + provider?: Prisma.SortOrder + providerAccountId?: Prisma.SortOrder + refresh_token?: Prisma.SortOrder + access_token?: Prisma.SortOrder + expires_at?: Prisma.SortOrder + token_type?: Prisma.SortOrder + scope?: Prisma.SortOrder + id_token?: Prisma.SortOrder + session_state?: Prisma.SortOrder +} + +export type AccountSumOrderByAggregateInput = { + expires_at?: Prisma.SortOrder +} + +export type AccountCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.AccountCreateWithoutUserInput[] | Prisma.AccountUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.AccountCreateOrConnectWithoutUserInput | Prisma.AccountCreateOrConnectWithoutUserInput[] + createMany?: Prisma.AccountCreateManyUserInputEnvelope + connect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] +} + +export type AccountUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.AccountCreateWithoutUserInput[] | Prisma.AccountUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.AccountCreateOrConnectWithoutUserInput | Prisma.AccountCreateOrConnectWithoutUserInput[] + createMany?: Prisma.AccountCreateManyUserInputEnvelope + connect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] +} + +export type AccountUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.AccountCreateWithoutUserInput[] | Prisma.AccountUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.AccountCreateOrConnectWithoutUserInput | Prisma.AccountCreateOrConnectWithoutUserInput[] + upsert?: Prisma.AccountUpsertWithWhereUniqueWithoutUserInput | Prisma.AccountUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.AccountCreateManyUserInputEnvelope + set?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + disconnect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + delete?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + connect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + update?: Prisma.AccountUpdateWithWhereUniqueWithoutUserInput | Prisma.AccountUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.AccountUpdateManyWithWhereWithoutUserInput | Prisma.AccountUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.AccountScalarWhereInput | Prisma.AccountScalarWhereInput[] +} + +export type AccountUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.AccountCreateWithoutUserInput[] | Prisma.AccountUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.AccountCreateOrConnectWithoutUserInput | Prisma.AccountCreateOrConnectWithoutUserInput[] + upsert?: Prisma.AccountUpsertWithWhereUniqueWithoutUserInput | Prisma.AccountUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.AccountCreateManyUserInputEnvelope + set?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + disconnect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + delete?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + connect?: Prisma.AccountWhereUniqueInput | Prisma.AccountWhereUniqueInput[] + update?: Prisma.AccountUpdateWithWhereUniqueWithoutUserInput | Prisma.AccountUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.AccountUpdateManyWithWhereWithoutUserInput | Prisma.AccountUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.AccountScalarWhereInput | Prisma.AccountScalarWhereInput[] +} + +export type NullableIntFieldUpdateOperationsInput = { + set?: number | null + increment?: number + decrement?: number + multiply?: number + divide?: number +} + +export type AccountCreateWithoutUserInput = { + id?: string + type: string + provider: string + providerAccountId: string + refresh_token?: string | null + access_token?: string | null + expires_at?: number | null + token_type?: string | null + scope?: string | null + id_token?: string | null + session_state?: string | null +} + +export type AccountUncheckedCreateWithoutUserInput = { + id?: string + type: string + provider: string + providerAccountId: string + refresh_token?: string | null + access_token?: string | null + expires_at?: number | null + token_type?: string | null + scope?: string | null + id_token?: string | null + session_state?: string | null +} + +export type AccountCreateOrConnectWithoutUserInput = { + where: Prisma.AccountWhereUniqueInput + create: Prisma.XOR +} + +export type AccountCreateManyUserInputEnvelope = { + data: Prisma.AccountCreateManyUserInput | Prisma.AccountCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type AccountUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.AccountWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type AccountUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.AccountWhereUniqueInput + data: Prisma.XOR +} + +export type AccountUpdateManyWithWhereWithoutUserInput = { + where: Prisma.AccountScalarWhereInput + data: Prisma.XOR +} + +export type AccountScalarWhereInput = { + AND?: Prisma.AccountScalarWhereInput | Prisma.AccountScalarWhereInput[] + OR?: Prisma.AccountScalarWhereInput[] + NOT?: Prisma.AccountScalarWhereInput | Prisma.AccountScalarWhereInput[] + id?: Prisma.StringFilter<"Account"> | string + userId?: Prisma.StringFilter<"Account"> | string + type?: Prisma.StringFilter<"Account"> | string + provider?: Prisma.StringFilter<"Account"> | string + providerAccountId?: Prisma.StringFilter<"Account"> | string + refresh_token?: Prisma.StringNullableFilter<"Account"> | string | null + access_token?: Prisma.StringNullableFilter<"Account"> | string | null + expires_at?: Prisma.IntNullableFilter<"Account"> | number | null + token_type?: Prisma.StringNullableFilter<"Account"> | string | null + scope?: Prisma.StringNullableFilter<"Account"> | string | null + id_token?: Prisma.StringNullableFilter<"Account"> | string | null + session_state?: Prisma.StringNullableFilter<"Account"> | string | null +} + +export type AccountCreateManyUserInput = { + id?: string + type: string + provider: string + providerAccountId: string + refresh_token?: string | null + access_token?: string | null + expires_at?: number | null + token_type?: string | null + scope?: string | null + id_token?: string | null + session_state?: string | null +} + +export type AccountUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type AccountUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type AccountUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + type?: Prisma.StringFieldUpdateOperationsInput | string + provider?: Prisma.StringFieldUpdateOperationsInput | string + providerAccountId?: Prisma.StringFieldUpdateOperationsInput | string + refresh_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + access_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + expires_at?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + token_type?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + scope?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + id_token?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + session_state?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + + + +export type AccountSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + userId?: boolean + type?: boolean + provider?: boolean + providerAccountId?: boolean + refresh_token?: boolean + access_token?: boolean + expires_at?: boolean + token_type?: boolean + scope?: boolean + id_token?: boolean + session_state?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["account"]> + +export type AccountSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + userId?: boolean + type?: boolean + provider?: boolean + providerAccountId?: boolean + refresh_token?: boolean + access_token?: boolean + expires_at?: boolean + token_type?: boolean + scope?: boolean + id_token?: boolean + session_state?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["account"]> + +export type AccountSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + userId?: boolean + type?: boolean + provider?: boolean + providerAccountId?: boolean + refresh_token?: boolean + access_token?: boolean + expires_at?: boolean + token_type?: boolean + scope?: boolean + id_token?: boolean + session_state?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["account"]> + +export type AccountSelectScalar = { + id?: boolean + userId?: boolean + type?: boolean + provider?: boolean + providerAccountId?: boolean + refresh_token?: boolean + access_token?: boolean + expires_at?: boolean + token_type?: boolean + scope?: boolean + id_token?: boolean + session_state?: boolean +} + +export type AccountOmit = runtime.Types.Extensions.GetOmit<"id" | "userId" | "type" | "provider" | "providerAccountId" | "refresh_token" | "access_token" | "expires_at" | "token_type" | "scope" | "id_token" | "session_state", ExtArgs["result"]["account"]> +export type AccountInclude = { + user?: boolean | Prisma.UserDefaultArgs +} +export type AccountIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} +export type AccountIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} + +export type $AccountPayload = { + name: "Account" + objects: { + user: Prisma.$UserPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + userId: string + type: string + provider: string + providerAccountId: string + refresh_token: string | null + access_token: string | null + expires_at: number | null + token_type: string | null + scope: string | null + id_token: string | null + session_state: string | null + }, ExtArgs["result"]["account"]> + composites: {} +} + +export type AccountGetPayload = runtime.Types.Result.GetResult + +export type AccountCountArgs = + Omit & { + select?: AccountCountAggregateInputType | true + } + +export interface AccountDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Account'], meta: { name: 'Account' } } + /** + * Find zero or one Account that matches the filter. + * @param {AccountFindUniqueArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Account that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {AccountFindUniqueOrThrowArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Account 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 {AccountFindFirstArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Account 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 {AccountFindFirstOrThrowArgs} args - Arguments to find a Account + * @example + * // Get one Account + * const account = await prisma.account.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Accounts 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 {AccountFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Accounts + * const accounts = await prisma.account.findMany() + * + * // Get first 10 Accounts + * const accounts = await prisma.account.findMany({ take: 10 }) + * + * // Only select the `id` + * const accountWithIdOnly = await prisma.account.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Account. + * @param {AccountCreateArgs} args - Arguments to create a Account. + * @example + * // Create one Account + * const Account = await prisma.account.create({ + * data: { + * // ... data to create a Account + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Accounts. + * @param {AccountCreateManyArgs} args - Arguments to create many Accounts. + * @example + * // Create many Accounts + * const account = await prisma.account.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Accounts and returns the data saved in the database. + * @param {AccountCreateManyAndReturnArgs} args - Arguments to create many Accounts. + * @example + * // Create many Accounts + * const account = await prisma.account.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Accounts and only return the `id` + * const accountWithIdOnly = await prisma.account.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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Account. + * @param {AccountDeleteArgs} args - Arguments to delete one Account. + * @example + * // Delete one Account + * const Account = await prisma.account.delete({ + * where: { + * // ... filter to delete one Account + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Account. + * @param {AccountUpdateArgs} args - Arguments to update one Account. + * @example + * // Update one Account + * const account = await prisma.account.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Accounts. + * @param {AccountDeleteManyArgs} args - Arguments to filter Accounts to delete. + * @example + * // Delete a few Accounts + * const { count } = await prisma.account.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Accounts. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Accounts + * const account = await prisma.account.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Accounts and returns the data updated in the database. + * @param {AccountUpdateManyAndReturnArgs} args - Arguments to update many Accounts. + * @example + * // Update many Accounts + * const account = await prisma.account.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Accounts and only return the `id` + * const accountWithIdOnly = await prisma.account.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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Account. + * @param {AccountUpsertArgs} args - Arguments to update or create a Account. + * @example + * // Update or create a Account + * const account = await prisma.account.upsert({ + * create: { + * // ... data to create a Account + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Account we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__AccountClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Accounts. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountCountArgs} args - Arguments to filter Accounts to count. + * @example + * // Count the number of Accounts + * const count = await prisma.account.count({ + * where: { + * // ... the filter for the Accounts we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Account. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Account. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AccountGroupByArgs} 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 AccountGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: AccountGroupByArgs['orderBy'] } + : { orderBy?: AccountGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetAccountGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Account model + */ +readonly fields: AccountFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Account. + * 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__AccountClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Account model + */ +export interface AccountFieldRefs { + readonly id: Prisma.FieldRef<"Account", 'String'> + readonly userId: Prisma.FieldRef<"Account", 'String'> + readonly type: Prisma.FieldRef<"Account", 'String'> + readonly provider: Prisma.FieldRef<"Account", 'String'> + readonly providerAccountId: Prisma.FieldRef<"Account", 'String'> + readonly refresh_token: Prisma.FieldRef<"Account", 'String'> + readonly access_token: Prisma.FieldRef<"Account", 'String'> + readonly expires_at: Prisma.FieldRef<"Account", 'Int'> + readonly token_type: Prisma.FieldRef<"Account", 'String'> + readonly scope: Prisma.FieldRef<"Account", 'String'> + readonly id_token: Prisma.FieldRef<"Account", 'String'> + readonly session_state: Prisma.FieldRef<"Account", 'String'> +} + + +// Custom InputTypes +/** + * Account findUnique + */ +export type AccountFindUniqueArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Account to fetch. + */ + where: Prisma.AccountWhereUniqueInput +} + +/** + * Account findUniqueOrThrow + */ +export type AccountFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Account to fetch. + */ + where: Prisma.AccountWhereUniqueInput +} + +/** + * Account findFirst + */ +export type AccountFindFirstArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Account to fetch. + */ + where?: Prisma.AccountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Accounts to fetch. + */ + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Accounts. + */ + cursor?: Prisma.AccountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Accounts 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` Accounts. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Accounts. + */ + distinct?: Prisma.AccountScalarFieldEnum | Prisma.AccountScalarFieldEnum[] +} + +/** + * Account findFirstOrThrow + */ +export type AccountFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Account to fetch. + */ + where?: Prisma.AccountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Accounts to fetch. + */ + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Accounts. + */ + cursor?: Prisma.AccountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Accounts 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` Accounts. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Accounts. + */ + distinct?: Prisma.AccountScalarFieldEnum | Prisma.AccountScalarFieldEnum[] +} + +/** + * Account findMany + */ +export type AccountFindManyArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter, which Accounts to fetch. + */ + where?: Prisma.AccountWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Accounts to fetch. + */ + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Accounts. + */ + cursor?: Prisma.AccountWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Accounts 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` Accounts. + */ + skip?: number + distinct?: Prisma.AccountScalarFieldEnum | Prisma.AccountScalarFieldEnum[] +} + +/** + * Account create + */ +export type AccountCreateArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * The data needed to create a Account. + */ + data: Prisma.XOR +} + +/** + * Account createMany + */ +export type AccountCreateManyArgs = { + /** + * The data used to create many Accounts. + */ + data: Prisma.AccountCreateManyInput | Prisma.AccountCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Account createManyAndReturn + */ +export type AccountCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * The data used to create many Accounts. + */ + data: Prisma.AccountCreateManyInput | Prisma.AccountCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountIncludeCreateManyAndReturn | null +} + +/** + * Account update + */ +export type AccountUpdateArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * The data needed to update a Account. + */ + data: Prisma.XOR + /** + * Choose, which Account to update. + */ + where: Prisma.AccountWhereUniqueInput +} + +/** + * Account updateMany + */ +export type AccountUpdateManyArgs = { + /** + * The data used to update Accounts. + */ + data: Prisma.XOR + /** + * Filter which Accounts to update + */ + where?: Prisma.AccountWhereInput + /** + * Limit how many Accounts to update. + */ + limit?: number +} + +/** + * Account updateManyAndReturn + */ +export type AccountUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * The data used to update Accounts. + */ + data: Prisma.XOR + /** + * Filter which Accounts to update + */ + where?: Prisma.AccountWhereInput + /** + * Limit how many Accounts to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountIncludeUpdateManyAndReturn | null +} + +/** + * Account upsert + */ +export type AccountUpsertArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * The filter to search for the Account to update in case it exists. + */ + where: Prisma.AccountWhereUniqueInput + /** + * In case the Account found by the `where` argument doesn't exist, create a new Account with this data. + */ + create: Prisma.XOR + /** + * In case the Account was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Account delete + */ +export type AccountDeleteArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + /** + * Filter which Account to delete. + */ + where: Prisma.AccountWhereUniqueInput +} + +/** + * Account deleteMany + */ +export type AccountDeleteManyArgs = { + /** + * Filter which Accounts to delete + */ + where?: Prisma.AccountWhereInput + /** + * Limit how many Accounts to delete. + */ + limit?: number +} + +/** + * Account without action + */ +export type AccountDefaultArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null +} diff --git a/src/generated/prisma/models/Filament.ts b/src/generated/prisma/models/Filament.ts new file mode 100644 index 0000000..afcc2bf --- /dev/null +++ b/src/generated/prisma/models/Filament.ts @@ -0,0 +1,2750 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Filament` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model Filament + * + */ +export type FilamentModel = runtime.Types.Result.DefaultSelection + +export type AggregateFilament = { + _count: FilamentCountAggregateOutputType | null + _avg: FilamentAvgAggregateOutputType | null + _sum: FilamentSumAggregateOutputType | null + _min: FilamentMinAggregateOutputType | null + _max: FilamentMaxAggregateOutputType | null +} + +export type FilamentAvgAggregateOutputType = { + diameter: number | null + spoolWeight: number | null + usedWeight: number | null + emptySpoolWeight: number | null + cost: number | null +} + +export type FilamentSumAggregateOutputType = { + diameter: number | null + spoolWeight: number | null + usedWeight: number | null + emptySpoolWeight: number | null + cost: number | null +} + +export type FilamentMinAggregateOutputType = { + id: string | null + name: string | null + brand: string | null + material: string | null + color: string | null + colorHex: string | null + diameter: number | null + spoolWeight: number | null + usedWeight: number | null + emptySpoolWeight: number | null + purchaseDate: Date | null + cost: number | null + notes: string | null + archived: boolean | null + createdAt: Date | null + updatedAt: Date | null + userId: string | null + vendorId: string | null + locationId: string | null +} + +export type FilamentMaxAggregateOutputType = { + id: string | null + name: string | null + brand: string | null + material: string | null + color: string | null + colorHex: string | null + diameter: number | null + spoolWeight: number | null + usedWeight: number | null + emptySpoolWeight: number | null + purchaseDate: Date | null + cost: number | null + notes: string | null + archived: boolean | null + createdAt: Date | null + updatedAt: Date | null + userId: string | null + vendorId: string | null + locationId: string | null +} + +export type FilamentCountAggregateOutputType = { + id: number + name: number + brand: number + material: number + color: number + colorHex: number + diameter: number + spoolWeight: number + usedWeight: number + emptySpoolWeight: number + purchaseDate: number + cost: number + notes: number + archived: number + createdAt: number + updatedAt: number + userId: number + vendorId: number + locationId: number + _all: number +} + + +export type FilamentAvgAggregateInputType = { + diameter?: true + spoolWeight?: true + usedWeight?: true + emptySpoolWeight?: true + cost?: true +} + +export type FilamentSumAggregateInputType = { + diameter?: true + spoolWeight?: true + usedWeight?: true + emptySpoolWeight?: true + cost?: true +} + +export type FilamentMinAggregateInputType = { + id?: true + name?: true + brand?: true + material?: true + color?: true + colorHex?: true + diameter?: true + spoolWeight?: true + usedWeight?: true + emptySpoolWeight?: true + purchaseDate?: true + cost?: true + notes?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true + vendorId?: true + locationId?: true +} + +export type FilamentMaxAggregateInputType = { + id?: true + name?: true + brand?: true + material?: true + color?: true + colorHex?: true + diameter?: true + spoolWeight?: true + usedWeight?: true + emptySpoolWeight?: true + purchaseDate?: true + cost?: true + notes?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true + vendorId?: true + locationId?: true +} + +export type FilamentCountAggregateInputType = { + id?: true + name?: true + brand?: true + material?: true + color?: true + colorHex?: true + diameter?: true + spoolWeight?: true + usedWeight?: true + emptySpoolWeight?: true + purchaseDate?: true + cost?: true + notes?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true + vendorId?: true + locationId?: true + _all?: true +} + +export type FilamentAggregateArgs = { + /** + * Filter which Filament to aggregate. + */ + where?: Prisma.FilamentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Filaments to fetch. + */ + orderBy?: Prisma.FilamentOrderByWithRelationInput | Prisma.FilamentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.FilamentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Filaments 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` Filaments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Filaments + **/ + _count?: true | FilamentCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: FilamentAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: FilamentSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: FilamentMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: FilamentMaxAggregateInputType +} + +export type GetFilamentAggregateType = { + [P in keyof T & keyof AggregateFilament]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type FilamentGroupByArgs = { + where?: Prisma.FilamentWhereInput + orderBy?: Prisma.FilamentOrderByWithAggregationInput | Prisma.FilamentOrderByWithAggregationInput[] + by: Prisma.FilamentScalarFieldEnum[] | Prisma.FilamentScalarFieldEnum + having?: Prisma.FilamentScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: FilamentCountAggregateInputType | true + _avg?: FilamentAvgAggregateInputType + _sum?: FilamentSumAggregateInputType + _min?: FilamentMinAggregateInputType + _max?: FilamentMaxAggregateInputType +} + +export type FilamentGroupByOutputType = { + id: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter: number + spoolWeight: number + usedWeight: number + emptySpoolWeight: number + purchaseDate: Date | null + cost: number | null + notes: string | null + archived: boolean + createdAt: Date + updatedAt: Date + userId: string + vendorId: string | null + locationId: string | null + _count: FilamentCountAggregateOutputType | null + _avg: FilamentAvgAggregateOutputType | null + _sum: FilamentSumAggregateOutputType | null + _min: FilamentMinAggregateOutputType | null + _max: FilamentMaxAggregateOutputType | null +} + +type GetFilamentGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof FilamentGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type FilamentWhereInput = { + AND?: Prisma.FilamentWhereInput | Prisma.FilamentWhereInput[] + OR?: Prisma.FilamentWhereInput[] + NOT?: Prisma.FilamentWhereInput | Prisma.FilamentWhereInput[] + id?: Prisma.StringFilter<"Filament"> | string + name?: Prisma.StringFilter<"Filament"> | string + brand?: Prisma.StringFilter<"Filament"> | string + material?: Prisma.StringFilter<"Filament"> | string + color?: Prisma.StringFilter<"Filament"> | string + colorHex?: Prisma.StringFilter<"Filament"> | string + diameter?: Prisma.FloatFilter<"Filament"> | number + spoolWeight?: Prisma.FloatFilter<"Filament"> | number + usedWeight?: Prisma.FloatFilter<"Filament"> | number + emptySpoolWeight?: Prisma.FloatFilter<"Filament"> | number + purchaseDate?: Prisma.DateTimeNullableFilter<"Filament"> | Date | string | null + cost?: Prisma.FloatNullableFilter<"Filament"> | number | null + notes?: Prisma.StringNullableFilter<"Filament"> | string | null + archived?: Prisma.BoolFilter<"Filament"> | boolean + createdAt?: Prisma.DateTimeFilter<"Filament"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Filament"> | Date | string + userId?: Prisma.StringFilter<"Filament"> | string + vendorId?: Prisma.StringNullableFilter<"Filament"> | string | null + locationId?: Prisma.StringNullableFilter<"Filament"> | string | null + user?: Prisma.XOR + vendor?: Prisma.XOR | null + location?: Prisma.XOR | null + tags?: Prisma.TagOnFilamentListRelationFilter + usageLogs?: Prisma.UsageLogListRelationFilter +} + +export type FilamentOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + material?: Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + diameter?: Prisma.SortOrder + spoolWeight?: Prisma.SortOrder + usedWeight?: Prisma.SortOrder + emptySpoolWeight?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrderInput | Prisma.SortOrder + cost?: Prisma.SortOrderInput | Prisma.SortOrder + notes?: Prisma.SortOrderInput | Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrderInput | Prisma.SortOrder + locationId?: Prisma.SortOrderInput | Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput + vendor?: Prisma.VendorOrderByWithRelationInput + location?: Prisma.LocationOrderByWithRelationInput + tags?: Prisma.TagOnFilamentOrderByRelationAggregateInput + usageLogs?: Prisma.UsageLogOrderByRelationAggregateInput +} + +export type FilamentWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.FilamentWhereInput | Prisma.FilamentWhereInput[] + OR?: Prisma.FilamentWhereInput[] + NOT?: Prisma.FilamentWhereInput | Prisma.FilamentWhereInput[] + name?: Prisma.StringFilter<"Filament"> | string + brand?: Prisma.StringFilter<"Filament"> | string + material?: Prisma.StringFilter<"Filament"> | string + color?: Prisma.StringFilter<"Filament"> | string + colorHex?: Prisma.StringFilter<"Filament"> | string + diameter?: Prisma.FloatFilter<"Filament"> | number + spoolWeight?: Prisma.FloatFilter<"Filament"> | number + usedWeight?: Prisma.FloatFilter<"Filament"> | number + emptySpoolWeight?: Prisma.FloatFilter<"Filament"> | number + purchaseDate?: Prisma.DateTimeNullableFilter<"Filament"> | Date | string | null + cost?: Prisma.FloatNullableFilter<"Filament"> | number | null + notes?: Prisma.StringNullableFilter<"Filament"> | string | null + archived?: Prisma.BoolFilter<"Filament"> | boolean + createdAt?: Prisma.DateTimeFilter<"Filament"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Filament"> | Date | string + userId?: Prisma.StringFilter<"Filament"> | string + vendorId?: Prisma.StringNullableFilter<"Filament"> | string | null + locationId?: Prisma.StringNullableFilter<"Filament"> | string | null + user?: Prisma.XOR + vendor?: Prisma.XOR | null + location?: Prisma.XOR | null + tags?: Prisma.TagOnFilamentListRelationFilter + usageLogs?: Prisma.UsageLogListRelationFilter +}, "id"> + +export type FilamentOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + material?: Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + diameter?: Prisma.SortOrder + spoolWeight?: Prisma.SortOrder + usedWeight?: Prisma.SortOrder + emptySpoolWeight?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrderInput | Prisma.SortOrder + cost?: Prisma.SortOrderInput | Prisma.SortOrder + notes?: Prisma.SortOrderInput | Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrderInput | Prisma.SortOrder + locationId?: Prisma.SortOrderInput | Prisma.SortOrder + _count?: Prisma.FilamentCountOrderByAggregateInput + _avg?: Prisma.FilamentAvgOrderByAggregateInput + _max?: Prisma.FilamentMaxOrderByAggregateInput + _min?: Prisma.FilamentMinOrderByAggregateInput + _sum?: Prisma.FilamentSumOrderByAggregateInput +} + +export type FilamentScalarWhereWithAggregatesInput = { + AND?: Prisma.FilamentScalarWhereWithAggregatesInput | Prisma.FilamentScalarWhereWithAggregatesInput[] + OR?: Prisma.FilamentScalarWhereWithAggregatesInput[] + NOT?: Prisma.FilamentScalarWhereWithAggregatesInput | Prisma.FilamentScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Filament"> | string + name?: Prisma.StringWithAggregatesFilter<"Filament"> | string + brand?: Prisma.StringWithAggregatesFilter<"Filament"> | string + material?: Prisma.StringWithAggregatesFilter<"Filament"> | string + color?: Prisma.StringWithAggregatesFilter<"Filament"> | string + colorHex?: Prisma.StringWithAggregatesFilter<"Filament"> | string + diameter?: Prisma.FloatWithAggregatesFilter<"Filament"> | number + spoolWeight?: Prisma.FloatWithAggregatesFilter<"Filament"> | number + usedWeight?: Prisma.FloatWithAggregatesFilter<"Filament"> | number + emptySpoolWeight?: Prisma.FloatWithAggregatesFilter<"Filament"> | number + purchaseDate?: Prisma.DateTimeNullableWithAggregatesFilter<"Filament"> | Date | string | null + cost?: Prisma.FloatNullableWithAggregatesFilter<"Filament"> | number | null + notes?: Prisma.StringNullableWithAggregatesFilter<"Filament"> | string | null + archived?: Prisma.BoolWithAggregatesFilter<"Filament"> | boolean + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Filament"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Filament"> | Date | string + userId?: Prisma.StringWithAggregatesFilter<"Filament"> | string + vendorId?: Prisma.StringNullableWithAggregatesFilter<"Filament"> | string | null + locationId?: Prisma.StringNullableWithAggregatesFilter<"Filament"> | string | null +} + +export type FilamentCreateInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutFilamentsInput + vendor?: Prisma.VendorCreateNestedOneWithoutFilamentsInput + location?: Prisma.LocationCreateNestedOneWithoutFilamentsInput + tags?: Prisma.TagOnFilamentCreateNestedManyWithoutFilamentInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutFilamentInput +} + +export type FilamentUncheckedCreateInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + locationId?: string | null + tags?: Prisma.TagOnFilamentUncheckedCreateNestedManyWithoutFilamentInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutFilamentInput +} + +export type FilamentUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutFilamentsNestedInput + vendor?: Prisma.VendorUpdateOneWithoutFilamentsNestedInput + location?: Prisma.LocationUpdateOneWithoutFilamentsNestedInput + tags?: Prisma.TagOnFilamentUpdateManyWithoutFilamentNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutFilamentNestedInput +} + +export type FilamentUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnFilamentUncheckedUpdateManyWithoutFilamentNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutFilamentNestedInput +} + +export type FilamentCreateManyInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + locationId?: string | null +} + +export type FilamentUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type FilamentUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type FilamentListRelationFilter = { + every?: Prisma.FilamentWhereInput + some?: Prisma.FilamentWhereInput + none?: Prisma.FilamentWhereInput +} + +export type FilamentOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type FilamentCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + material?: Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + diameter?: Prisma.SortOrder + spoolWeight?: Prisma.SortOrder + usedWeight?: Prisma.SortOrder + emptySpoolWeight?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrder + cost?: Prisma.SortOrder + notes?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrder + locationId?: Prisma.SortOrder +} + +export type FilamentAvgOrderByAggregateInput = { + diameter?: Prisma.SortOrder + spoolWeight?: Prisma.SortOrder + usedWeight?: Prisma.SortOrder + emptySpoolWeight?: Prisma.SortOrder + cost?: Prisma.SortOrder +} + +export type FilamentMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + material?: Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + diameter?: Prisma.SortOrder + spoolWeight?: Prisma.SortOrder + usedWeight?: Prisma.SortOrder + emptySpoolWeight?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrder + cost?: Prisma.SortOrder + notes?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrder + locationId?: Prisma.SortOrder +} + +export type FilamentMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + material?: Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + diameter?: Prisma.SortOrder + spoolWeight?: Prisma.SortOrder + usedWeight?: Prisma.SortOrder + emptySpoolWeight?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrder + cost?: Prisma.SortOrder + notes?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrder + locationId?: Prisma.SortOrder +} + +export type FilamentSumOrderByAggregateInput = { + diameter?: Prisma.SortOrder + spoolWeight?: Prisma.SortOrder + usedWeight?: Prisma.SortOrder + emptySpoolWeight?: Prisma.SortOrder + cost?: Prisma.SortOrder +} + +export type FilamentScalarRelationFilter = { + is?: Prisma.FilamentWhereInput + isNot?: Prisma.FilamentWhereInput +} + +export type FilamentNullableScalarRelationFilter = { + is?: Prisma.FilamentWhereInput | null + isNot?: Prisma.FilamentWhereInput | null +} + +export type FilamentCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.FilamentCreateWithoutUserInput[] | Prisma.FilamentUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutUserInput | Prisma.FilamentCreateOrConnectWithoutUserInput[] + createMany?: Prisma.FilamentCreateManyUserInputEnvelope + connect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] +} + +export type FilamentUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.FilamentCreateWithoutUserInput[] | Prisma.FilamentUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutUserInput | Prisma.FilamentCreateOrConnectWithoutUserInput[] + createMany?: Prisma.FilamentCreateManyUserInputEnvelope + connect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] +} + +export type FilamentUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.FilamentCreateWithoutUserInput[] | Prisma.FilamentUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutUserInput | Prisma.FilamentCreateOrConnectWithoutUserInput[] + upsert?: Prisma.FilamentUpsertWithWhereUniqueWithoutUserInput | Prisma.FilamentUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.FilamentCreateManyUserInputEnvelope + set?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + disconnect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + delete?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + connect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + update?: Prisma.FilamentUpdateWithWhereUniqueWithoutUserInput | Prisma.FilamentUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.FilamentUpdateManyWithWhereWithoutUserInput | Prisma.FilamentUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.FilamentScalarWhereInput | Prisma.FilamentScalarWhereInput[] +} + +export type FilamentUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.FilamentCreateWithoutUserInput[] | Prisma.FilamentUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutUserInput | Prisma.FilamentCreateOrConnectWithoutUserInput[] + upsert?: Prisma.FilamentUpsertWithWhereUniqueWithoutUserInput | Prisma.FilamentUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.FilamentCreateManyUserInputEnvelope + set?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + disconnect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + delete?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + connect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + update?: Prisma.FilamentUpdateWithWhereUniqueWithoutUserInput | Prisma.FilamentUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.FilamentUpdateManyWithWhereWithoutUserInput | Prisma.FilamentUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.FilamentScalarWhereInput | Prisma.FilamentScalarWhereInput[] +} + +export type FilamentCreateNestedManyWithoutVendorInput = { + create?: Prisma.XOR | Prisma.FilamentCreateWithoutVendorInput[] | Prisma.FilamentUncheckedCreateWithoutVendorInput[] + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutVendorInput | Prisma.FilamentCreateOrConnectWithoutVendorInput[] + createMany?: Prisma.FilamentCreateManyVendorInputEnvelope + connect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] +} + +export type FilamentUncheckedCreateNestedManyWithoutVendorInput = { + create?: Prisma.XOR | Prisma.FilamentCreateWithoutVendorInput[] | Prisma.FilamentUncheckedCreateWithoutVendorInput[] + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutVendorInput | Prisma.FilamentCreateOrConnectWithoutVendorInput[] + createMany?: Prisma.FilamentCreateManyVendorInputEnvelope + connect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] +} + +export type FilamentUpdateManyWithoutVendorNestedInput = { + create?: Prisma.XOR | Prisma.FilamentCreateWithoutVendorInput[] | Prisma.FilamentUncheckedCreateWithoutVendorInput[] + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutVendorInput | Prisma.FilamentCreateOrConnectWithoutVendorInput[] + upsert?: Prisma.FilamentUpsertWithWhereUniqueWithoutVendorInput | Prisma.FilamentUpsertWithWhereUniqueWithoutVendorInput[] + createMany?: Prisma.FilamentCreateManyVendorInputEnvelope + set?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + disconnect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + delete?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + connect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + update?: Prisma.FilamentUpdateWithWhereUniqueWithoutVendorInput | Prisma.FilamentUpdateWithWhereUniqueWithoutVendorInput[] + updateMany?: Prisma.FilamentUpdateManyWithWhereWithoutVendorInput | Prisma.FilamentUpdateManyWithWhereWithoutVendorInput[] + deleteMany?: Prisma.FilamentScalarWhereInput | Prisma.FilamentScalarWhereInput[] +} + +export type FilamentUncheckedUpdateManyWithoutVendorNestedInput = { + create?: Prisma.XOR | Prisma.FilamentCreateWithoutVendorInput[] | Prisma.FilamentUncheckedCreateWithoutVendorInput[] + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutVendorInput | Prisma.FilamentCreateOrConnectWithoutVendorInput[] + upsert?: Prisma.FilamentUpsertWithWhereUniqueWithoutVendorInput | Prisma.FilamentUpsertWithWhereUniqueWithoutVendorInput[] + createMany?: Prisma.FilamentCreateManyVendorInputEnvelope + set?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + disconnect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + delete?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + connect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + update?: Prisma.FilamentUpdateWithWhereUniqueWithoutVendorInput | Prisma.FilamentUpdateWithWhereUniqueWithoutVendorInput[] + updateMany?: Prisma.FilamentUpdateManyWithWhereWithoutVendorInput | Prisma.FilamentUpdateManyWithWhereWithoutVendorInput[] + deleteMany?: Prisma.FilamentScalarWhereInput | Prisma.FilamentScalarWhereInput[] +} + +export type FilamentCreateNestedManyWithoutLocationInput = { + create?: Prisma.XOR | Prisma.FilamentCreateWithoutLocationInput[] | Prisma.FilamentUncheckedCreateWithoutLocationInput[] + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutLocationInput | Prisma.FilamentCreateOrConnectWithoutLocationInput[] + createMany?: Prisma.FilamentCreateManyLocationInputEnvelope + connect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] +} + +export type FilamentUncheckedCreateNestedManyWithoutLocationInput = { + create?: Prisma.XOR | Prisma.FilamentCreateWithoutLocationInput[] | Prisma.FilamentUncheckedCreateWithoutLocationInput[] + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutLocationInput | Prisma.FilamentCreateOrConnectWithoutLocationInput[] + createMany?: Prisma.FilamentCreateManyLocationInputEnvelope + connect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] +} + +export type FilamentUpdateManyWithoutLocationNestedInput = { + create?: Prisma.XOR | Prisma.FilamentCreateWithoutLocationInput[] | Prisma.FilamentUncheckedCreateWithoutLocationInput[] + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutLocationInput | Prisma.FilamentCreateOrConnectWithoutLocationInput[] + upsert?: Prisma.FilamentUpsertWithWhereUniqueWithoutLocationInput | Prisma.FilamentUpsertWithWhereUniqueWithoutLocationInput[] + createMany?: Prisma.FilamentCreateManyLocationInputEnvelope + set?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + disconnect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + delete?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + connect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + update?: Prisma.FilamentUpdateWithWhereUniqueWithoutLocationInput | Prisma.FilamentUpdateWithWhereUniqueWithoutLocationInput[] + updateMany?: Prisma.FilamentUpdateManyWithWhereWithoutLocationInput | Prisma.FilamentUpdateManyWithWhereWithoutLocationInput[] + deleteMany?: Prisma.FilamentScalarWhereInput | Prisma.FilamentScalarWhereInput[] +} + +export type FilamentUncheckedUpdateManyWithoutLocationNestedInput = { + create?: Prisma.XOR | Prisma.FilamentCreateWithoutLocationInput[] | Prisma.FilamentUncheckedCreateWithoutLocationInput[] + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutLocationInput | Prisma.FilamentCreateOrConnectWithoutLocationInput[] + upsert?: Prisma.FilamentUpsertWithWhereUniqueWithoutLocationInput | Prisma.FilamentUpsertWithWhereUniqueWithoutLocationInput[] + createMany?: Prisma.FilamentCreateManyLocationInputEnvelope + set?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + disconnect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + delete?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + connect?: Prisma.FilamentWhereUniqueInput | Prisma.FilamentWhereUniqueInput[] + update?: Prisma.FilamentUpdateWithWhereUniqueWithoutLocationInput | Prisma.FilamentUpdateWithWhereUniqueWithoutLocationInput[] + updateMany?: Prisma.FilamentUpdateManyWithWhereWithoutLocationInput | Prisma.FilamentUpdateManyWithWhereWithoutLocationInput[] + deleteMany?: Prisma.FilamentScalarWhereInput | Prisma.FilamentScalarWhereInput[] +} + +export type FloatFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number +} + +export type NullableFloatFieldUpdateOperationsInput = { + set?: number | null + increment?: number + decrement?: number + multiply?: number + divide?: number +} + +export type FilamentCreateNestedOneWithoutTagsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutTagsInput + connect?: Prisma.FilamentWhereUniqueInput +} + +export type FilamentUpdateOneRequiredWithoutTagsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutTagsInput + upsert?: Prisma.FilamentUpsertWithoutTagsInput + connect?: Prisma.FilamentWhereUniqueInput + update?: Prisma.XOR, Prisma.FilamentUncheckedUpdateWithoutTagsInput> +} + +export type FilamentCreateNestedOneWithoutUsageLogsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutUsageLogsInput + connect?: Prisma.FilamentWhereUniqueInput +} + +export type FilamentUpdateOneWithoutUsageLogsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.FilamentCreateOrConnectWithoutUsageLogsInput + upsert?: Prisma.FilamentUpsertWithoutUsageLogsInput + disconnect?: Prisma.FilamentWhereInput | boolean + delete?: Prisma.FilamentWhereInput | boolean + connect?: Prisma.FilamentWhereUniqueInput + update?: Prisma.XOR, Prisma.FilamentUncheckedUpdateWithoutUsageLogsInput> +} + +export type FilamentCreateWithoutUserInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + vendor?: Prisma.VendorCreateNestedOneWithoutFilamentsInput + location?: Prisma.LocationCreateNestedOneWithoutFilamentsInput + tags?: Prisma.TagOnFilamentCreateNestedManyWithoutFilamentInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutFilamentInput +} + +export type FilamentUncheckedCreateWithoutUserInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + vendorId?: string | null + locationId?: string | null + tags?: Prisma.TagOnFilamentUncheckedCreateNestedManyWithoutFilamentInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutFilamentInput +} + +export type FilamentCreateOrConnectWithoutUserInput = { + where: Prisma.FilamentWhereUniqueInput + create: Prisma.XOR +} + +export type FilamentCreateManyUserInputEnvelope = { + data: Prisma.FilamentCreateManyUserInput | Prisma.FilamentCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type FilamentUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.FilamentWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type FilamentUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.FilamentWhereUniqueInput + data: Prisma.XOR +} + +export type FilamentUpdateManyWithWhereWithoutUserInput = { + where: Prisma.FilamentScalarWhereInput + data: Prisma.XOR +} + +export type FilamentScalarWhereInput = { + AND?: Prisma.FilamentScalarWhereInput | Prisma.FilamentScalarWhereInput[] + OR?: Prisma.FilamentScalarWhereInput[] + NOT?: Prisma.FilamentScalarWhereInput | Prisma.FilamentScalarWhereInput[] + id?: Prisma.StringFilter<"Filament"> | string + name?: Prisma.StringFilter<"Filament"> | string + brand?: Prisma.StringFilter<"Filament"> | string + material?: Prisma.StringFilter<"Filament"> | string + color?: Prisma.StringFilter<"Filament"> | string + colorHex?: Prisma.StringFilter<"Filament"> | string + diameter?: Prisma.FloatFilter<"Filament"> | number + spoolWeight?: Prisma.FloatFilter<"Filament"> | number + usedWeight?: Prisma.FloatFilter<"Filament"> | number + emptySpoolWeight?: Prisma.FloatFilter<"Filament"> | number + purchaseDate?: Prisma.DateTimeNullableFilter<"Filament"> | Date | string | null + cost?: Prisma.FloatNullableFilter<"Filament"> | number | null + notes?: Prisma.StringNullableFilter<"Filament"> | string | null + archived?: Prisma.BoolFilter<"Filament"> | boolean + createdAt?: Prisma.DateTimeFilter<"Filament"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Filament"> | Date | string + userId?: Prisma.StringFilter<"Filament"> | string + vendorId?: Prisma.StringNullableFilter<"Filament"> | string | null + locationId?: Prisma.StringNullableFilter<"Filament"> | string | null +} + +export type FilamentCreateWithoutVendorInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutFilamentsInput + location?: Prisma.LocationCreateNestedOneWithoutFilamentsInput + tags?: Prisma.TagOnFilamentCreateNestedManyWithoutFilamentInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutFilamentInput +} + +export type FilamentUncheckedCreateWithoutVendorInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + locationId?: string | null + tags?: Prisma.TagOnFilamentUncheckedCreateNestedManyWithoutFilamentInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutFilamentInput +} + +export type FilamentCreateOrConnectWithoutVendorInput = { + where: Prisma.FilamentWhereUniqueInput + create: Prisma.XOR +} + +export type FilamentCreateManyVendorInputEnvelope = { + data: Prisma.FilamentCreateManyVendorInput | Prisma.FilamentCreateManyVendorInput[] + skipDuplicates?: boolean +} + +export type FilamentUpsertWithWhereUniqueWithoutVendorInput = { + where: Prisma.FilamentWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type FilamentUpdateWithWhereUniqueWithoutVendorInput = { + where: Prisma.FilamentWhereUniqueInput + data: Prisma.XOR +} + +export type FilamentUpdateManyWithWhereWithoutVendorInput = { + where: Prisma.FilamentScalarWhereInput + data: Prisma.XOR +} + +export type FilamentCreateWithoutLocationInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutFilamentsInput + vendor?: Prisma.VendorCreateNestedOneWithoutFilamentsInput + tags?: Prisma.TagOnFilamentCreateNestedManyWithoutFilamentInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutFilamentInput +} + +export type FilamentUncheckedCreateWithoutLocationInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + tags?: Prisma.TagOnFilamentUncheckedCreateNestedManyWithoutFilamentInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutFilamentInput +} + +export type FilamentCreateOrConnectWithoutLocationInput = { + where: Prisma.FilamentWhereUniqueInput + create: Prisma.XOR +} + +export type FilamentCreateManyLocationInputEnvelope = { + data: Prisma.FilamentCreateManyLocationInput | Prisma.FilamentCreateManyLocationInput[] + skipDuplicates?: boolean +} + +export type FilamentUpsertWithWhereUniqueWithoutLocationInput = { + where: Prisma.FilamentWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type FilamentUpdateWithWhereUniqueWithoutLocationInput = { + where: Prisma.FilamentWhereUniqueInput + data: Prisma.XOR +} + +export type FilamentUpdateManyWithWhereWithoutLocationInput = { + where: Prisma.FilamentScalarWhereInput + data: Prisma.XOR +} + +export type FilamentCreateWithoutTagsInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutFilamentsInput + vendor?: Prisma.VendorCreateNestedOneWithoutFilamentsInput + location?: Prisma.LocationCreateNestedOneWithoutFilamentsInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutFilamentInput +} + +export type FilamentUncheckedCreateWithoutTagsInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + locationId?: string | null + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutFilamentInput +} + +export type FilamentCreateOrConnectWithoutTagsInput = { + where: Prisma.FilamentWhereUniqueInput + create: Prisma.XOR +} + +export type FilamentUpsertWithoutTagsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.FilamentWhereInput +} + +export type FilamentUpdateToOneWithWhereWithoutTagsInput = { + where?: Prisma.FilamentWhereInput + data: Prisma.XOR +} + +export type FilamentUpdateWithoutTagsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutFilamentsNestedInput + vendor?: Prisma.VendorUpdateOneWithoutFilamentsNestedInput + location?: Prisma.LocationUpdateOneWithoutFilamentsNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutFilamentNestedInput +} + +export type FilamentUncheckedUpdateWithoutTagsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutFilamentNestedInput +} + +export type FilamentCreateWithoutUsageLogsInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutFilamentsInput + vendor?: Prisma.VendorCreateNestedOneWithoutFilamentsInput + location?: Prisma.LocationCreateNestedOneWithoutFilamentsInput + tags?: Prisma.TagOnFilamentCreateNestedManyWithoutFilamentInput +} + +export type FilamentUncheckedCreateWithoutUsageLogsInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + locationId?: string | null + tags?: Prisma.TagOnFilamentUncheckedCreateNestedManyWithoutFilamentInput +} + +export type FilamentCreateOrConnectWithoutUsageLogsInput = { + where: Prisma.FilamentWhereUniqueInput + create: Prisma.XOR +} + +export type FilamentUpsertWithoutUsageLogsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.FilamentWhereInput +} + +export type FilamentUpdateToOneWithWhereWithoutUsageLogsInput = { + where?: Prisma.FilamentWhereInput + data: Prisma.XOR +} + +export type FilamentUpdateWithoutUsageLogsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutFilamentsNestedInput + vendor?: Prisma.VendorUpdateOneWithoutFilamentsNestedInput + location?: Prisma.LocationUpdateOneWithoutFilamentsNestedInput + tags?: Prisma.TagOnFilamentUpdateManyWithoutFilamentNestedInput +} + +export type FilamentUncheckedUpdateWithoutUsageLogsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnFilamentUncheckedUpdateManyWithoutFilamentNestedInput +} + +export type FilamentCreateManyUserInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + vendorId?: string | null + locationId?: string | null +} + +export type FilamentUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + vendor?: Prisma.VendorUpdateOneWithoutFilamentsNestedInput + location?: Prisma.LocationUpdateOneWithoutFilamentsNestedInput + tags?: Prisma.TagOnFilamentUpdateManyWithoutFilamentNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutFilamentNestedInput +} + +export type FilamentUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnFilamentUncheckedUpdateManyWithoutFilamentNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutFilamentNestedInput +} + +export type FilamentUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type FilamentCreateManyVendorInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + locationId?: string | null +} + +export type FilamentUpdateWithoutVendorInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutFilamentsNestedInput + location?: Prisma.LocationUpdateOneWithoutFilamentsNestedInput + tags?: Prisma.TagOnFilamentUpdateManyWithoutFilamentNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutFilamentNestedInput +} + +export type FilamentUncheckedUpdateWithoutVendorInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnFilamentUncheckedUpdateManyWithoutFilamentNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutFilamentNestedInput +} + +export type FilamentUncheckedUpdateManyWithoutVendorInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type FilamentCreateManyLocationInput = { + id?: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter?: number + spoolWeight: number + usedWeight?: number + emptySpoolWeight?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null +} + +export type FilamentUpdateWithoutLocationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutFilamentsNestedInput + vendor?: Prisma.VendorUpdateOneWithoutFilamentsNestedInput + tags?: Prisma.TagOnFilamentUpdateManyWithoutFilamentNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutFilamentNestedInput +} + +export type FilamentUncheckedUpdateWithoutLocationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnFilamentUncheckedUpdateManyWithoutFilamentNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutFilamentNestedInput +} + +export type FilamentUncheckedUpdateManyWithoutLocationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + material?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + diameter?: Prisma.FloatFieldUpdateOperationsInput | number + spoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + usedWeight?: Prisma.FloatFieldUpdateOperationsInput | number + emptySpoolWeight?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + + +/** + * Count Type FilamentCountOutputType + */ + +export type FilamentCountOutputType = { + tags: number + usageLogs: number +} + +export type FilamentCountOutputTypeSelect = { + tags?: boolean | FilamentCountOutputTypeCountTagsArgs + usageLogs?: boolean | FilamentCountOutputTypeCountUsageLogsArgs +} + +/** + * FilamentCountOutputType without action + */ +export type FilamentCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the FilamentCountOutputType + */ + select?: Prisma.FilamentCountOutputTypeSelect | null +} + +/** + * FilamentCountOutputType without action + */ +export type FilamentCountOutputTypeCountTagsArgs = { + where?: Prisma.TagOnFilamentWhereInput +} + +/** + * FilamentCountOutputType without action + */ +export type FilamentCountOutputTypeCountUsageLogsArgs = { + where?: Prisma.UsageLogWhereInput +} + + +export type FilamentSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + brand?: boolean + material?: boolean + color?: boolean + colorHex?: boolean + diameter?: boolean + spoolWeight?: boolean + usedWeight?: boolean + emptySpoolWeight?: boolean + purchaseDate?: boolean + cost?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + vendorId?: boolean + locationId?: boolean + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Filament$vendorArgs + location?: boolean | Prisma.Filament$locationArgs + tags?: boolean | Prisma.Filament$tagsArgs + usageLogs?: boolean | Prisma.Filament$usageLogsArgs + _count?: boolean | Prisma.FilamentCountOutputTypeDefaultArgs +}, ExtArgs["result"]["filament"]> + +export type FilamentSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + brand?: boolean + material?: boolean + color?: boolean + colorHex?: boolean + diameter?: boolean + spoolWeight?: boolean + usedWeight?: boolean + emptySpoolWeight?: boolean + purchaseDate?: boolean + cost?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + vendorId?: boolean + locationId?: boolean + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Filament$vendorArgs + location?: boolean | Prisma.Filament$locationArgs +}, ExtArgs["result"]["filament"]> + +export type FilamentSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + brand?: boolean + material?: boolean + color?: boolean + colorHex?: boolean + diameter?: boolean + spoolWeight?: boolean + usedWeight?: boolean + emptySpoolWeight?: boolean + purchaseDate?: boolean + cost?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + vendorId?: boolean + locationId?: boolean + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Filament$vendorArgs + location?: boolean | Prisma.Filament$locationArgs +}, ExtArgs["result"]["filament"]> + +export type FilamentSelectScalar = { + id?: boolean + name?: boolean + brand?: boolean + material?: boolean + color?: boolean + colorHex?: boolean + diameter?: boolean + spoolWeight?: boolean + usedWeight?: boolean + emptySpoolWeight?: boolean + purchaseDate?: boolean + cost?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + vendorId?: boolean + locationId?: boolean +} + +export type FilamentOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "brand" | "material" | "color" | "colorHex" | "diameter" | "spoolWeight" | "usedWeight" | "emptySpoolWeight" | "purchaseDate" | "cost" | "notes" | "archived" | "createdAt" | "updatedAt" | "userId" | "vendorId" | "locationId", ExtArgs["result"]["filament"]> +export type FilamentInclude = { + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Filament$vendorArgs + location?: boolean | Prisma.Filament$locationArgs + tags?: boolean | Prisma.Filament$tagsArgs + usageLogs?: boolean | Prisma.Filament$usageLogsArgs + _count?: boolean | Prisma.FilamentCountOutputTypeDefaultArgs +} +export type FilamentIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Filament$vendorArgs + location?: boolean | Prisma.Filament$locationArgs +} +export type FilamentIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Filament$vendorArgs + location?: boolean | Prisma.Filament$locationArgs +} + +export type $FilamentPayload = { + name: "Filament" + objects: { + user: Prisma.$UserPayload + vendor: Prisma.$VendorPayload | null + location: Prisma.$LocationPayload | null + tags: Prisma.$TagOnFilamentPayload[] + usageLogs: Prisma.$UsageLogPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + brand: string + material: string + color: string + colorHex: string + diameter: number + spoolWeight: number + usedWeight: number + emptySpoolWeight: number + purchaseDate: Date | null + cost: number | null + notes: string | null + archived: boolean + createdAt: Date + updatedAt: Date + userId: string + vendorId: string | null + locationId: string | null + }, ExtArgs["result"]["filament"]> + composites: {} +} + +export type FilamentGetPayload = runtime.Types.Result.GetResult + +export type FilamentCountArgs = + Omit & { + select?: FilamentCountAggregateInputType | true + } + +export interface FilamentDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Filament'], meta: { name: 'Filament' } } + /** + * Find zero or one Filament that matches the filter. + * @param {FilamentFindUniqueArgs} args - Arguments to find a Filament + * @example + * // Get one Filament + * const filament = await prisma.filament.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__FilamentClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Filament that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {FilamentFindUniqueOrThrowArgs} args - Arguments to find a Filament + * @example + * // Get one Filament + * const filament = await prisma.filament.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__FilamentClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Filament 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 {FilamentFindFirstArgs} args - Arguments to find a Filament + * @example + * // Get one Filament + * const filament = await prisma.filament.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__FilamentClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Filament 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 {FilamentFindFirstOrThrowArgs} args - Arguments to find a Filament + * @example + * // Get one Filament + * const filament = await prisma.filament.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__FilamentClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Filaments 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 {FilamentFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Filaments + * const filaments = await prisma.filament.findMany() + * + * // Get first 10 Filaments + * const filaments = await prisma.filament.findMany({ take: 10 }) + * + * // Only select the `id` + * const filamentWithIdOnly = await prisma.filament.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Filament. + * @param {FilamentCreateArgs} args - Arguments to create a Filament. + * @example + * // Create one Filament + * const Filament = await prisma.filament.create({ + * data: { + * // ... data to create a Filament + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__FilamentClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Filaments. + * @param {FilamentCreateManyArgs} args - Arguments to create many Filaments. + * @example + * // Create many Filaments + * const filament = await prisma.filament.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Filaments and returns the data saved in the database. + * @param {FilamentCreateManyAndReturnArgs} args - Arguments to create many Filaments. + * @example + * // Create many Filaments + * const filament = await prisma.filament.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Filaments and only return the `id` + * const filamentWithIdOnly = await prisma.filament.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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Filament. + * @param {FilamentDeleteArgs} args - Arguments to delete one Filament. + * @example + * // Delete one Filament + * const Filament = await prisma.filament.delete({ + * where: { + * // ... filter to delete one Filament + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__FilamentClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Filament. + * @param {FilamentUpdateArgs} args - Arguments to update one Filament. + * @example + * // Update one Filament + * const filament = await prisma.filament.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__FilamentClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Filaments. + * @param {FilamentDeleteManyArgs} args - Arguments to filter Filaments to delete. + * @example + * // Delete a few Filaments + * const { count } = await prisma.filament.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Filaments. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FilamentUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Filaments + * const filament = await prisma.filament.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Filaments and returns the data updated in the database. + * @param {FilamentUpdateManyAndReturnArgs} args - Arguments to update many Filaments. + * @example + * // Update many Filaments + * const filament = await prisma.filament.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Filaments and only return the `id` + * const filamentWithIdOnly = await prisma.filament.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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Filament. + * @param {FilamentUpsertArgs} args - Arguments to update or create a Filament. + * @example + * // Update or create a Filament + * const filament = await prisma.filament.upsert({ + * create: { + * // ... data to create a Filament + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Filament we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__FilamentClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Filaments. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FilamentCountArgs} args - Arguments to filter Filaments to count. + * @example + * // Count the number of Filaments + * const count = await prisma.filament.count({ + * where: { + * // ... the filter for the Filaments we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Filament. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FilamentAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Filament. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FilamentGroupByArgs} 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 FilamentGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: FilamentGroupByArgs['orderBy'] } + : { orderBy?: FilamentGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetFilamentGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Filament model + */ +readonly fields: FilamentFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Filament. + * 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__FilamentClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + vendor = {}>(args?: Prisma.Subset>): Prisma.Prisma__VendorClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + location = {}>(args?: Prisma.Subset>): Prisma.Prisma__LocationClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + tags = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + usageLogs = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Filament model + */ +export interface FilamentFieldRefs { + readonly id: Prisma.FieldRef<"Filament", 'String'> + readonly name: Prisma.FieldRef<"Filament", 'String'> + readonly brand: Prisma.FieldRef<"Filament", 'String'> + readonly material: Prisma.FieldRef<"Filament", 'String'> + readonly color: Prisma.FieldRef<"Filament", 'String'> + readonly colorHex: Prisma.FieldRef<"Filament", 'String'> + readonly diameter: Prisma.FieldRef<"Filament", 'Float'> + readonly spoolWeight: Prisma.FieldRef<"Filament", 'Float'> + readonly usedWeight: Prisma.FieldRef<"Filament", 'Float'> + readonly emptySpoolWeight: Prisma.FieldRef<"Filament", 'Float'> + readonly purchaseDate: Prisma.FieldRef<"Filament", 'DateTime'> + readonly cost: Prisma.FieldRef<"Filament", 'Float'> + readonly notes: Prisma.FieldRef<"Filament", 'String'> + readonly archived: Prisma.FieldRef<"Filament", 'Boolean'> + readonly createdAt: Prisma.FieldRef<"Filament", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Filament", 'DateTime'> + readonly userId: Prisma.FieldRef<"Filament", 'String'> + readonly vendorId: Prisma.FieldRef<"Filament", 'String'> + readonly locationId: Prisma.FieldRef<"Filament", 'String'> +} + + +// Custom InputTypes +/** + * Filament findUnique + */ +export type FilamentFindUniqueArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null + /** + * Filter, which Filament to fetch. + */ + where: Prisma.FilamentWhereUniqueInput +} + +/** + * Filament findUniqueOrThrow + */ +export type FilamentFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null + /** + * Filter, which Filament to fetch. + */ + where: Prisma.FilamentWhereUniqueInput +} + +/** + * Filament findFirst + */ +export type FilamentFindFirstArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null + /** + * Filter, which Filament to fetch. + */ + where?: Prisma.FilamentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Filaments to fetch. + */ + orderBy?: Prisma.FilamentOrderByWithRelationInput | Prisma.FilamentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Filaments. + */ + cursor?: Prisma.FilamentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Filaments 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` Filaments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Filaments. + */ + distinct?: Prisma.FilamentScalarFieldEnum | Prisma.FilamentScalarFieldEnum[] +} + +/** + * Filament findFirstOrThrow + */ +export type FilamentFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null + /** + * Filter, which Filament to fetch. + */ + where?: Prisma.FilamentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Filaments to fetch. + */ + orderBy?: Prisma.FilamentOrderByWithRelationInput | Prisma.FilamentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Filaments. + */ + cursor?: Prisma.FilamentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Filaments 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` Filaments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Filaments. + */ + distinct?: Prisma.FilamentScalarFieldEnum | Prisma.FilamentScalarFieldEnum[] +} + +/** + * Filament findMany + */ +export type FilamentFindManyArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null + /** + * Filter, which Filaments to fetch. + */ + where?: Prisma.FilamentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Filaments to fetch. + */ + orderBy?: Prisma.FilamentOrderByWithRelationInput | Prisma.FilamentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Filaments. + */ + cursor?: Prisma.FilamentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Filaments 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` Filaments. + */ + skip?: number + distinct?: Prisma.FilamentScalarFieldEnum | Prisma.FilamentScalarFieldEnum[] +} + +/** + * Filament create + */ +export type FilamentCreateArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null + /** + * The data needed to create a Filament. + */ + data: Prisma.XOR +} + +/** + * Filament createMany + */ +export type FilamentCreateManyArgs = { + /** + * The data used to create many Filaments. + */ + data: Prisma.FilamentCreateManyInput | Prisma.FilamentCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Filament createManyAndReturn + */ +export type FilamentCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * The data used to create many Filaments. + */ + data: Prisma.FilamentCreateManyInput | Prisma.FilamentCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentIncludeCreateManyAndReturn | null +} + +/** + * Filament update + */ +export type FilamentUpdateArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null + /** + * The data needed to update a Filament. + */ + data: Prisma.XOR + /** + * Choose, which Filament to update. + */ + where: Prisma.FilamentWhereUniqueInput +} + +/** + * Filament updateMany + */ +export type FilamentUpdateManyArgs = { + /** + * The data used to update Filaments. + */ + data: Prisma.XOR + /** + * Filter which Filaments to update + */ + where?: Prisma.FilamentWhereInput + /** + * Limit how many Filaments to update. + */ + limit?: number +} + +/** + * Filament updateManyAndReturn + */ +export type FilamentUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * The data used to update Filaments. + */ + data: Prisma.XOR + /** + * Filter which Filaments to update + */ + where?: Prisma.FilamentWhereInput + /** + * Limit how many Filaments to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentIncludeUpdateManyAndReturn | null +} + +/** + * Filament upsert + */ +export type FilamentUpsertArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null + /** + * The filter to search for the Filament to update in case it exists. + */ + where: Prisma.FilamentWhereUniqueInput + /** + * In case the Filament found by the `where` argument doesn't exist, create a new Filament with this data. + */ + create: Prisma.XOR + /** + * In case the Filament was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Filament delete + */ +export type FilamentDeleteArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null + /** + * Filter which Filament to delete. + */ + where: Prisma.FilamentWhereUniqueInput +} + +/** + * Filament deleteMany + */ +export type FilamentDeleteManyArgs = { + /** + * Filter which Filaments to delete + */ + where?: Prisma.FilamentWhereInput + /** + * Limit how many Filaments to delete. + */ + limit?: number +} + +/** + * Filament.vendor + */ +export type Filament$vendorArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null + where?: Prisma.VendorWhereInput +} + +/** + * Filament.location + */ +export type Filament$locationArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null + where?: Prisma.LocationWhereInput +} + +/** + * Filament.tags + */ +export type Filament$tagsArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelect | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentInclude | null + where?: Prisma.TagOnFilamentWhereInput + orderBy?: Prisma.TagOnFilamentOrderByWithRelationInput | Prisma.TagOnFilamentOrderByWithRelationInput[] + cursor?: Prisma.TagOnFilamentWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TagOnFilamentScalarFieldEnum | Prisma.TagOnFilamentScalarFieldEnum[] +} + +/** + * Filament.usageLogs + */ +export type Filament$usageLogsArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null + where?: Prisma.UsageLogWhereInput + orderBy?: Prisma.UsageLogOrderByWithRelationInput | Prisma.UsageLogOrderByWithRelationInput[] + cursor?: Prisma.UsageLogWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.UsageLogScalarFieldEnum | Prisma.UsageLogScalarFieldEnum[] +} + +/** + * Filament without action + */ +export type FilamentDefaultArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null +} diff --git a/src/generated/prisma/models/Location.ts b/src/generated/prisma/models/Location.ts new file mode 100644 index 0000000..f60860c --- /dev/null +++ b/src/generated/prisma/models/Location.ts @@ -0,0 +1,1821 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Location` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model Location + * + */ +export type LocationModel = runtime.Types.Result.DefaultSelection + +export type AggregateLocation = { + _count: LocationCountAggregateOutputType | null + _min: LocationMinAggregateOutputType | null + _max: LocationMaxAggregateOutputType | null +} + +export type LocationMinAggregateOutputType = { + id: string | null + name: string | null + description: string | null + archived: boolean | null + createdAt: Date | null + updatedAt: Date | null + userId: string | null +} + +export type LocationMaxAggregateOutputType = { + id: string | null + name: string | null + description: string | null + archived: boolean | null + createdAt: Date | null + updatedAt: Date | null + userId: string | null +} + +export type LocationCountAggregateOutputType = { + id: number + name: number + description: number + archived: number + createdAt: number + updatedAt: number + userId: number + _all: number +} + + +export type LocationMinAggregateInputType = { + id?: true + name?: true + description?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true +} + +export type LocationMaxAggregateInputType = { + id?: true + name?: true + description?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true +} + +export type LocationCountAggregateInputType = { + id?: true + name?: true + description?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true + _all?: true +} + +export type LocationAggregateArgs = { + /** + * Filter which Location to aggregate. + */ + where?: Prisma.LocationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Locations to fetch. + */ + orderBy?: Prisma.LocationOrderByWithRelationInput | Prisma.LocationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.LocationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Locations 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` Locations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Locations + **/ + _count?: true | LocationCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: LocationMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: LocationMaxAggregateInputType +} + +export type GetLocationAggregateType = { + [P in keyof T & keyof AggregateLocation]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type LocationGroupByArgs = { + where?: Prisma.LocationWhereInput + orderBy?: Prisma.LocationOrderByWithAggregationInput | Prisma.LocationOrderByWithAggregationInput[] + by: Prisma.LocationScalarFieldEnum[] | Prisma.LocationScalarFieldEnum + having?: Prisma.LocationScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: LocationCountAggregateInputType | true + _min?: LocationMinAggregateInputType + _max?: LocationMaxAggregateInputType +} + +export type LocationGroupByOutputType = { + id: string + name: string + description: string | null + archived: boolean + createdAt: Date + updatedAt: Date + userId: string + _count: LocationCountAggregateOutputType | null + _min: LocationMinAggregateOutputType | null + _max: LocationMaxAggregateOutputType | null +} + +type GetLocationGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof LocationGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type LocationWhereInput = { + AND?: Prisma.LocationWhereInput | Prisma.LocationWhereInput[] + OR?: Prisma.LocationWhereInput[] + NOT?: Prisma.LocationWhereInput | Prisma.LocationWhereInput[] + id?: Prisma.StringFilter<"Location"> | string + name?: Prisma.StringFilter<"Location"> | string + description?: Prisma.StringNullableFilter<"Location"> | string | null + archived?: Prisma.BoolFilter<"Location"> | boolean + createdAt?: Prisma.DateTimeFilter<"Location"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Location"> | Date | string + userId?: Prisma.StringFilter<"Location"> | string + user?: Prisma.XOR + filaments?: Prisma.FilamentListRelationFilter + resins?: Prisma.ResinListRelationFilter + paints?: Prisma.PaintListRelationFilter +} + +export type LocationOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrderInput | Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput + filaments?: Prisma.FilamentOrderByRelationAggregateInput + resins?: Prisma.ResinOrderByRelationAggregateInput + paints?: Prisma.PaintOrderByRelationAggregateInput +} + +export type LocationWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.LocationWhereInput | Prisma.LocationWhereInput[] + OR?: Prisma.LocationWhereInput[] + NOT?: Prisma.LocationWhereInput | Prisma.LocationWhereInput[] + name?: Prisma.StringFilter<"Location"> | string + description?: Prisma.StringNullableFilter<"Location"> | string | null + archived?: Prisma.BoolFilter<"Location"> | boolean + createdAt?: Prisma.DateTimeFilter<"Location"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Location"> | Date | string + userId?: Prisma.StringFilter<"Location"> | string + user?: Prisma.XOR + filaments?: Prisma.FilamentListRelationFilter + resins?: Prisma.ResinListRelationFilter + paints?: Prisma.PaintListRelationFilter +}, "id"> + +export type LocationOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrderInput | Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + _count?: Prisma.LocationCountOrderByAggregateInput + _max?: Prisma.LocationMaxOrderByAggregateInput + _min?: Prisma.LocationMinOrderByAggregateInput +} + +export type LocationScalarWhereWithAggregatesInput = { + AND?: Prisma.LocationScalarWhereWithAggregatesInput | Prisma.LocationScalarWhereWithAggregatesInput[] + OR?: Prisma.LocationScalarWhereWithAggregatesInput[] + NOT?: Prisma.LocationScalarWhereWithAggregatesInput | Prisma.LocationScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Location"> | string + name?: Prisma.StringWithAggregatesFilter<"Location"> | string + description?: Prisma.StringNullableWithAggregatesFilter<"Location"> | string | null + archived?: Prisma.BoolWithAggregatesFilter<"Location"> | boolean + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Location"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Location"> | Date | string + userId?: Prisma.StringWithAggregatesFilter<"Location"> | string +} + +export type LocationCreateInput = { + id?: string + name: string + description?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutLocationsInput + filaments?: Prisma.FilamentCreateNestedManyWithoutLocationInput + resins?: Prisma.ResinCreateNestedManyWithoutLocationInput + paints?: Prisma.PaintCreateNestedManyWithoutLocationInput +} + +export type LocationUncheckedCreateInput = { + id?: string + name: string + description?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutLocationInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutLocationInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutLocationInput +} + +export type LocationUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutLocationsNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutLocationNestedInput + resins?: Prisma.ResinUpdateManyWithoutLocationNestedInput + paints?: Prisma.PaintUpdateManyWithoutLocationNestedInput +} + +export type LocationUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutLocationNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutLocationNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutLocationNestedInput +} + +export type LocationCreateManyInput = { + id?: string + name: string + description?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string +} + +export type LocationUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type LocationUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type LocationListRelationFilter = { + every?: Prisma.LocationWhereInput + some?: Prisma.LocationWhereInput + none?: Prisma.LocationWhereInput +} + +export type LocationOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type LocationCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type LocationMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type LocationMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type LocationNullableScalarRelationFilter = { + is?: Prisma.LocationWhereInput | null + isNot?: Prisma.LocationWhereInput | null +} + +export type LocationCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.LocationCreateWithoutUserInput[] | Prisma.LocationUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.LocationCreateOrConnectWithoutUserInput | Prisma.LocationCreateOrConnectWithoutUserInput[] + createMany?: Prisma.LocationCreateManyUserInputEnvelope + connect?: Prisma.LocationWhereUniqueInput | Prisma.LocationWhereUniqueInput[] +} + +export type LocationUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.LocationCreateWithoutUserInput[] | Prisma.LocationUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.LocationCreateOrConnectWithoutUserInput | Prisma.LocationCreateOrConnectWithoutUserInput[] + createMany?: Prisma.LocationCreateManyUserInputEnvelope + connect?: Prisma.LocationWhereUniqueInput | Prisma.LocationWhereUniqueInput[] +} + +export type LocationUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.LocationCreateWithoutUserInput[] | Prisma.LocationUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.LocationCreateOrConnectWithoutUserInput | Prisma.LocationCreateOrConnectWithoutUserInput[] + upsert?: Prisma.LocationUpsertWithWhereUniqueWithoutUserInput | Prisma.LocationUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.LocationCreateManyUserInputEnvelope + set?: Prisma.LocationWhereUniqueInput | Prisma.LocationWhereUniqueInput[] + disconnect?: Prisma.LocationWhereUniqueInput | Prisma.LocationWhereUniqueInput[] + delete?: Prisma.LocationWhereUniqueInput | Prisma.LocationWhereUniqueInput[] + connect?: Prisma.LocationWhereUniqueInput | Prisma.LocationWhereUniqueInput[] + update?: Prisma.LocationUpdateWithWhereUniqueWithoutUserInput | Prisma.LocationUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.LocationUpdateManyWithWhereWithoutUserInput | Prisma.LocationUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.LocationScalarWhereInput | Prisma.LocationScalarWhereInput[] +} + +export type LocationUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.LocationCreateWithoutUserInput[] | Prisma.LocationUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.LocationCreateOrConnectWithoutUserInput | Prisma.LocationCreateOrConnectWithoutUserInput[] + upsert?: Prisma.LocationUpsertWithWhereUniqueWithoutUserInput | Prisma.LocationUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.LocationCreateManyUserInputEnvelope + set?: Prisma.LocationWhereUniqueInput | Prisma.LocationWhereUniqueInput[] + disconnect?: Prisma.LocationWhereUniqueInput | Prisma.LocationWhereUniqueInput[] + delete?: Prisma.LocationWhereUniqueInput | Prisma.LocationWhereUniqueInput[] + connect?: Prisma.LocationWhereUniqueInput | Prisma.LocationWhereUniqueInput[] + update?: Prisma.LocationUpdateWithWhereUniqueWithoutUserInput | Prisma.LocationUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.LocationUpdateManyWithWhereWithoutUserInput | Prisma.LocationUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.LocationScalarWhereInput | Prisma.LocationScalarWhereInput[] +} + +export type LocationCreateNestedOneWithoutFilamentsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.LocationCreateOrConnectWithoutFilamentsInput + connect?: Prisma.LocationWhereUniqueInput +} + +export type LocationUpdateOneWithoutFilamentsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.LocationCreateOrConnectWithoutFilamentsInput + upsert?: Prisma.LocationUpsertWithoutFilamentsInput + disconnect?: Prisma.LocationWhereInput | boolean + delete?: Prisma.LocationWhereInput | boolean + connect?: Prisma.LocationWhereUniqueInput + update?: Prisma.XOR, Prisma.LocationUncheckedUpdateWithoutFilamentsInput> +} + +export type LocationCreateNestedOneWithoutResinsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.LocationCreateOrConnectWithoutResinsInput + connect?: Prisma.LocationWhereUniqueInput +} + +export type LocationUpdateOneWithoutResinsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.LocationCreateOrConnectWithoutResinsInput + upsert?: Prisma.LocationUpsertWithoutResinsInput + disconnect?: Prisma.LocationWhereInput | boolean + delete?: Prisma.LocationWhereInput | boolean + connect?: Prisma.LocationWhereUniqueInput + update?: Prisma.XOR, Prisma.LocationUncheckedUpdateWithoutResinsInput> +} + +export type LocationCreateNestedOneWithoutPaintsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.LocationCreateOrConnectWithoutPaintsInput + connect?: Prisma.LocationWhereUniqueInput +} + +export type LocationUpdateOneWithoutPaintsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.LocationCreateOrConnectWithoutPaintsInput + upsert?: Prisma.LocationUpsertWithoutPaintsInput + disconnect?: Prisma.LocationWhereInput | boolean + delete?: Prisma.LocationWhereInput | boolean + connect?: Prisma.LocationWhereUniqueInput + update?: Prisma.XOR, Prisma.LocationUncheckedUpdateWithoutPaintsInput> +} + +export type LocationCreateWithoutUserInput = { + id?: string + name: string + description?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + filaments?: Prisma.FilamentCreateNestedManyWithoutLocationInput + resins?: Prisma.ResinCreateNestedManyWithoutLocationInput + paints?: Prisma.PaintCreateNestedManyWithoutLocationInput +} + +export type LocationUncheckedCreateWithoutUserInput = { + id?: string + name: string + description?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutLocationInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutLocationInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutLocationInput +} + +export type LocationCreateOrConnectWithoutUserInput = { + where: Prisma.LocationWhereUniqueInput + create: Prisma.XOR +} + +export type LocationCreateManyUserInputEnvelope = { + data: Prisma.LocationCreateManyUserInput | Prisma.LocationCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type LocationUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.LocationWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type LocationUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.LocationWhereUniqueInput + data: Prisma.XOR +} + +export type LocationUpdateManyWithWhereWithoutUserInput = { + where: Prisma.LocationScalarWhereInput + data: Prisma.XOR +} + +export type LocationScalarWhereInput = { + AND?: Prisma.LocationScalarWhereInput | Prisma.LocationScalarWhereInput[] + OR?: Prisma.LocationScalarWhereInput[] + NOT?: Prisma.LocationScalarWhereInput | Prisma.LocationScalarWhereInput[] + id?: Prisma.StringFilter<"Location"> | string + name?: Prisma.StringFilter<"Location"> | string + description?: Prisma.StringNullableFilter<"Location"> | string | null + archived?: Prisma.BoolFilter<"Location"> | boolean + createdAt?: Prisma.DateTimeFilter<"Location"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Location"> | Date | string + userId?: Prisma.StringFilter<"Location"> | string +} + +export type LocationCreateWithoutFilamentsInput = { + id?: string + name: string + description?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutLocationsInput + resins?: Prisma.ResinCreateNestedManyWithoutLocationInput + paints?: Prisma.PaintCreateNestedManyWithoutLocationInput +} + +export type LocationUncheckedCreateWithoutFilamentsInput = { + id?: string + name: string + description?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutLocationInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutLocationInput +} + +export type LocationCreateOrConnectWithoutFilamentsInput = { + where: Prisma.LocationWhereUniqueInput + create: Prisma.XOR +} + +export type LocationUpsertWithoutFilamentsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.LocationWhereInput +} + +export type LocationUpdateToOneWithWhereWithoutFilamentsInput = { + where?: Prisma.LocationWhereInput + data: Prisma.XOR +} + +export type LocationUpdateWithoutFilamentsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutLocationsNestedInput + resins?: Prisma.ResinUpdateManyWithoutLocationNestedInput + paints?: Prisma.PaintUpdateManyWithoutLocationNestedInput +} + +export type LocationUncheckedUpdateWithoutFilamentsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + resins?: Prisma.ResinUncheckedUpdateManyWithoutLocationNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutLocationNestedInput +} + +export type LocationCreateWithoutResinsInput = { + id?: string + name: string + description?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutLocationsInput + filaments?: Prisma.FilamentCreateNestedManyWithoutLocationInput + paints?: Prisma.PaintCreateNestedManyWithoutLocationInput +} + +export type LocationUncheckedCreateWithoutResinsInput = { + id?: string + name: string + description?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutLocationInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutLocationInput +} + +export type LocationCreateOrConnectWithoutResinsInput = { + where: Prisma.LocationWhereUniqueInput + create: Prisma.XOR +} + +export type LocationUpsertWithoutResinsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.LocationWhereInput +} + +export type LocationUpdateToOneWithWhereWithoutResinsInput = { + where?: Prisma.LocationWhereInput + data: Prisma.XOR +} + +export type LocationUpdateWithoutResinsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutLocationsNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutLocationNestedInput + paints?: Prisma.PaintUpdateManyWithoutLocationNestedInput +} + +export type LocationUncheckedUpdateWithoutResinsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutLocationNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutLocationNestedInput +} + +export type LocationCreateWithoutPaintsInput = { + id?: string + name: string + description?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutLocationsInput + filaments?: Prisma.FilamentCreateNestedManyWithoutLocationInput + resins?: Prisma.ResinCreateNestedManyWithoutLocationInput +} + +export type LocationUncheckedCreateWithoutPaintsInput = { + id?: string + name: string + description?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutLocationInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutLocationInput +} + +export type LocationCreateOrConnectWithoutPaintsInput = { + where: Prisma.LocationWhereUniqueInput + create: Prisma.XOR +} + +export type LocationUpsertWithoutPaintsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.LocationWhereInput +} + +export type LocationUpdateToOneWithWhereWithoutPaintsInput = { + where?: Prisma.LocationWhereInput + data: Prisma.XOR +} + +export type LocationUpdateWithoutPaintsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutLocationsNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutLocationNestedInput + resins?: Prisma.ResinUpdateManyWithoutLocationNestedInput +} + +export type LocationUncheckedUpdateWithoutPaintsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutLocationNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutLocationNestedInput +} + +export type LocationCreateManyUserInput = { + id?: string + name: string + description?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string +} + +export type LocationUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + filaments?: Prisma.FilamentUpdateManyWithoutLocationNestedInput + resins?: Prisma.ResinUpdateManyWithoutLocationNestedInput + paints?: Prisma.PaintUpdateManyWithoutLocationNestedInput +} + +export type LocationUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutLocationNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutLocationNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutLocationNestedInput +} + +export type LocationUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + +/** + * Count Type LocationCountOutputType + */ + +export type LocationCountOutputType = { + filaments: number + resins: number + paints: number +} + +export type LocationCountOutputTypeSelect = { + filaments?: boolean | LocationCountOutputTypeCountFilamentsArgs + resins?: boolean | LocationCountOutputTypeCountResinsArgs + paints?: boolean | LocationCountOutputTypeCountPaintsArgs +} + +/** + * LocationCountOutputType without action + */ +export type LocationCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the LocationCountOutputType + */ + select?: Prisma.LocationCountOutputTypeSelect | null +} + +/** + * LocationCountOutputType without action + */ +export type LocationCountOutputTypeCountFilamentsArgs = { + where?: Prisma.FilamentWhereInput +} + +/** + * LocationCountOutputType without action + */ +export type LocationCountOutputTypeCountResinsArgs = { + where?: Prisma.ResinWhereInput +} + +/** + * LocationCountOutputType without action + */ +export type LocationCountOutputTypeCountPaintsArgs = { + where?: Prisma.PaintWhereInput +} + + +export type LocationSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + description?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + user?: boolean | Prisma.UserDefaultArgs + filaments?: boolean | Prisma.Location$filamentsArgs + resins?: boolean | Prisma.Location$resinsArgs + paints?: boolean | Prisma.Location$paintsArgs + _count?: boolean | Prisma.LocationCountOutputTypeDefaultArgs +}, ExtArgs["result"]["location"]> + +export type LocationSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + description?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["location"]> + +export type LocationSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + description?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["location"]> + +export type LocationSelectScalar = { + id?: boolean + name?: boolean + description?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean +} + +export type LocationOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "description" | "archived" | "createdAt" | "updatedAt" | "userId", ExtArgs["result"]["location"]> +export type LocationInclude = { + user?: boolean | Prisma.UserDefaultArgs + filaments?: boolean | Prisma.Location$filamentsArgs + resins?: boolean | Prisma.Location$resinsArgs + paints?: boolean | Prisma.Location$paintsArgs + _count?: boolean | Prisma.LocationCountOutputTypeDefaultArgs +} +export type LocationIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} +export type LocationIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} + +export type $LocationPayload = { + name: "Location" + objects: { + user: Prisma.$UserPayload + filaments: Prisma.$FilamentPayload[] + resins: Prisma.$ResinPayload[] + paints: Prisma.$PaintPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + description: string | null + archived: boolean + createdAt: Date + updatedAt: Date + userId: string + }, ExtArgs["result"]["location"]> + composites: {} +} + +export type LocationGetPayload = runtime.Types.Result.GetResult + +export type LocationCountArgs = + Omit & { + select?: LocationCountAggregateInputType | true + } + +export interface LocationDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Location'], meta: { name: 'Location' } } + /** + * Find zero or one Location that matches the filter. + * @param {LocationFindUniqueArgs} args - Arguments to find a Location + * @example + * // Get one Location + * const location = await prisma.location.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__LocationClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Location that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {LocationFindUniqueOrThrowArgs} args - Arguments to find a Location + * @example + * // Get one Location + * const location = await prisma.location.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__LocationClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Location 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 {LocationFindFirstArgs} args - Arguments to find a Location + * @example + * // Get one Location + * const location = await prisma.location.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__LocationClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Location 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 {LocationFindFirstOrThrowArgs} args - Arguments to find a Location + * @example + * // Get one Location + * const location = await prisma.location.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__LocationClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Locations 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 {LocationFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Locations + * const locations = await prisma.location.findMany() + * + * // Get first 10 Locations + * const locations = await prisma.location.findMany({ take: 10 }) + * + * // Only select the `id` + * const locationWithIdOnly = await prisma.location.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Location. + * @param {LocationCreateArgs} args - Arguments to create a Location. + * @example + * // Create one Location + * const Location = await prisma.location.create({ + * data: { + * // ... data to create a Location + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__LocationClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Locations. + * @param {LocationCreateManyArgs} args - Arguments to create many Locations. + * @example + * // Create many Locations + * const location = await prisma.location.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Locations and returns the data saved in the database. + * @param {LocationCreateManyAndReturnArgs} args - Arguments to create many Locations. + * @example + * // Create many Locations + * const location = await prisma.location.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Locations and only return the `id` + * const locationWithIdOnly = await prisma.location.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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Location. + * @param {LocationDeleteArgs} args - Arguments to delete one Location. + * @example + * // Delete one Location + * const Location = await prisma.location.delete({ + * where: { + * // ... filter to delete one Location + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__LocationClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Location. + * @param {LocationUpdateArgs} args - Arguments to update one Location. + * @example + * // Update one Location + * const location = await prisma.location.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__LocationClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Locations. + * @param {LocationDeleteManyArgs} args - Arguments to filter Locations to delete. + * @example + * // Delete a few Locations + * const { count } = await prisma.location.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Locations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {LocationUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Locations + * const location = await prisma.location.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Locations and returns the data updated in the database. + * @param {LocationUpdateManyAndReturnArgs} args - Arguments to update many Locations. + * @example + * // Update many Locations + * const location = await prisma.location.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Locations and only return the `id` + * const locationWithIdOnly = await prisma.location.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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Location. + * @param {LocationUpsertArgs} args - Arguments to update or create a Location. + * @example + * // Update or create a Location + * const location = await prisma.location.upsert({ + * create: { + * // ... data to create a Location + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Location we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__LocationClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Locations. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {LocationCountArgs} args - Arguments to filter Locations to count. + * @example + * // Count the number of Locations + * const count = await prisma.location.count({ + * where: { + * // ... the filter for the Locations we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Location. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {LocationAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Location. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {LocationGroupByArgs} 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 LocationGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: LocationGroupByArgs['orderBy'] } + : { orderBy?: LocationGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetLocationGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Location model + */ +readonly fields: LocationFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Location. + * 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__LocationClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + filaments = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + resins = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + paints = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Location model + */ +export interface LocationFieldRefs { + readonly id: Prisma.FieldRef<"Location", 'String'> + readonly name: Prisma.FieldRef<"Location", 'String'> + readonly description: Prisma.FieldRef<"Location", 'String'> + readonly archived: Prisma.FieldRef<"Location", 'Boolean'> + readonly createdAt: Prisma.FieldRef<"Location", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Location", 'DateTime'> + readonly userId: Prisma.FieldRef<"Location", 'String'> +} + + +// Custom InputTypes +/** + * Location findUnique + */ +export type LocationFindUniqueArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null + /** + * Filter, which Location to fetch. + */ + where: Prisma.LocationWhereUniqueInput +} + +/** + * Location findUniqueOrThrow + */ +export type LocationFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null + /** + * Filter, which Location to fetch. + */ + where: Prisma.LocationWhereUniqueInput +} + +/** + * Location findFirst + */ +export type LocationFindFirstArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null + /** + * Filter, which Location to fetch. + */ + where?: Prisma.LocationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Locations to fetch. + */ + orderBy?: Prisma.LocationOrderByWithRelationInput | Prisma.LocationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Locations. + */ + cursor?: Prisma.LocationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Locations 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` Locations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Locations. + */ + distinct?: Prisma.LocationScalarFieldEnum | Prisma.LocationScalarFieldEnum[] +} + +/** + * Location findFirstOrThrow + */ +export type LocationFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null + /** + * Filter, which Location to fetch. + */ + where?: Prisma.LocationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Locations to fetch. + */ + orderBy?: Prisma.LocationOrderByWithRelationInput | Prisma.LocationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Locations. + */ + cursor?: Prisma.LocationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Locations 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` Locations. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Locations. + */ + distinct?: Prisma.LocationScalarFieldEnum | Prisma.LocationScalarFieldEnum[] +} + +/** + * Location findMany + */ +export type LocationFindManyArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null + /** + * Filter, which Locations to fetch. + */ + where?: Prisma.LocationWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Locations to fetch. + */ + orderBy?: Prisma.LocationOrderByWithRelationInput | Prisma.LocationOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Locations. + */ + cursor?: Prisma.LocationWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Locations 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` Locations. + */ + skip?: number + distinct?: Prisma.LocationScalarFieldEnum | Prisma.LocationScalarFieldEnum[] +} + +/** + * Location create + */ +export type LocationCreateArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null + /** + * The data needed to create a Location. + */ + data: Prisma.XOR +} + +/** + * Location createMany + */ +export type LocationCreateManyArgs = { + /** + * The data used to create many Locations. + */ + data: Prisma.LocationCreateManyInput | Prisma.LocationCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Location createManyAndReturn + */ +export type LocationCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * The data used to create many Locations. + */ + data: Prisma.LocationCreateManyInput | Prisma.LocationCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationIncludeCreateManyAndReturn | null +} + +/** + * Location update + */ +export type LocationUpdateArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null + /** + * The data needed to update a Location. + */ + data: Prisma.XOR + /** + * Choose, which Location to update. + */ + where: Prisma.LocationWhereUniqueInput +} + +/** + * Location updateMany + */ +export type LocationUpdateManyArgs = { + /** + * The data used to update Locations. + */ + data: Prisma.XOR + /** + * Filter which Locations to update + */ + where?: Prisma.LocationWhereInput + /** + * Limit how many Locations to update. + */ + limit?: number +} + +/** + * Location updateManyAndReturn + */ +export type LocationUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * The data used to update Locations. + */ + data: Prisma.XOR + /** + * Filter which Locations to update + */ + where?: Prisma.LocationWhereInput + /** + * Limit how many Locations to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationIncludeUpdateManyAndReturn | null +} + +/** + * Location upsert + */ +export type LocationUpsertArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null + /** + * The filter to search for the Location to update in case it exists. + */ + where: Prisma.LocationWhereUniqueInput + /** + * In case the Location found by the `where` argument doesn't exist, create a new Location with this data. + */ + create: Prisma.XOR + /** + * In case the Location was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Location delete + */ +export type LocationDeleteArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null + /** + * Filter which Location to delete. + */ + where: Prisma.LocationWhereUniqueInput +} + +/** + * Location deleteMany + */ +export type LocationDeleteManyArgs = { + /** + * Filter which Locations to delete + */ + where?: Prisma.LocationWhereInput + /** + * Limit how many Locations to delete. + */ + limit?: number +} + +/** + * Location.filaments + */ +export type Location$filamentsArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null + where?: Prisma.FilamentWhereInput + orderBy?: Prisma.FilamentOrderByWithRelationInput | Prisma.FilamentOrderByWithRelationInput[] + cursor?: Prisma.FilamentWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.FilamentScalarFieldEnum | Prisma.FilamentScalarFieldEnum[] +} + +/** + * Location.resins + */ +export type Location$resinsArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null + where?: Prisma.ResinWhereInput + orderBy?: Prisma.ResinOrderByWithRelationInput | Prisma.ResinOrderByWithRelationInput[] + cursor?: Prisma.ResinWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.ResinScalarFieldEnum | Prisma.ResinScalarFieldEnum[] +} + +/** + * Location.paints + */ +export type Location$paintsArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null + where?: Prisma.PaintWhereInput + orderBy?: Prisma.PaintOrderByWithRelationInput | Prisma.PaintOrderByWithRelationInput[] + cursor?: Prisma.PaintWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.PaintScalarFieldEnum | Prisma.PaintScalarFieldEnum[] +} + +/** + * Location without action + */ +export type LocationDefaultArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null +} diff --git a/src/generated/prisma/models/Paint.ts b/src/generated/prisma/models/Paint.ts new file mode 100644 index 0000000..e7167ad --- /dev/null +++ b/src/generated/prisma/models/Paint.ts @@ -0,0 +1,2667 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Paint` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model Paint + * + */ +export type PaintModel = runtime.Types.Result.DefaultSelection + +export type AggregatePaint = { + _count: PaintCountAggregateOutputType | null + _avg: PaintAvgAggregateOutputType | null + _sum: PaintSumAggregateOutputType | null + _min: PaintMinAggregateOutputType | null + _max: PaintMaxAggregateOutputType | null +} + +export type PaintAvgAggregateOutputType = { + volumeML: number | null + usedML: number | null + cost: number | null +} + +export type PaintSumAggregateOutputType = { + volumeML: number | null + usedML: number | null + cost: number | null +} + +export type PaintMinAggregateOutputType = { + id: string | null + name: string | null + brand: string | null + line: string | null + color: string | null + colorHex: string | null + finish: string | null + volumeML: number | null + usedML: number | null + purchaseDate: Date | null + cost: number | null + notes: string | null + archived: boolean | null + createdAt: Date | null + updatedAt: Date | null + userId: string | null + vendorId: string | null + locationId: string | null +} + +export type PaintMaxAggregateOutputType = { + id: string | null + name: string | null + brand: string | null + line: string | null + color: string | null + colorHex: string | null + finish: string | null + volumeML: number | null + usedML: number | null + purchaseDate: Date | null + cost: number | null + notes: string | null + archived: boolean | null + createdAt: Date | null + updatedAt: Date | null + userId: string | null + vendorId: string | null + locationId: string | null +} + +export type PaintCountAggregateOutputType = { + id: number + name: number + brand: number + line: number + color: number + colorHex: number + finish: number + volumeML: number + usedML: number + purchaseDate: number + cost: number + notes: number + archived: number + createdAt: number + updatedAt: number + userId: number + vendorId: number + locationId: number + _all: number +} + + +export type PaintAvgAggregateInputType = { + volumeML?: true + usedML?: true + cost?: true +} + +export type PaintSumAggregateInputType = { + volumeML?: true + usedML?: true + cost?: true +} + +export type PaintMinAggregateInputType = { + id?: true + name?: true + brand?: true + line?: true + color?: true + colorHex?: true + finish?: true + volumeML?: true + usedML?: true + purchaseDate?: true + cost?: true + notes?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true + vendorId?: true + locationId?: true +} + +export type PaintMaxAggregateInputType = { + id?: true + name?: true + brand?: true + line?: true + color?: true + colorHex?: true + finish?: true + volumeML?: true + usedML?: true + purchaseDate?: true + cost?: true + notes?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true + vendorId?: true + locationId?: true +} + +export type PaintCountAggregateInputType = { + id?: true + name?: true + brand?: true + line?: true + color?: true + colorHex?: true + finish?: true + volumeML?: true + usedML?: true + purchaseDate?: true + cost?: true + notes?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true + vendorId?: true + locationId?: true + _all?: true +} + +export type PaintAggregateArgs = { + /** + * Filter which Paint to aggregate. + */ + where?: Prisma.PaintWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Paints to fetch. + */ + orderBy?: Prisma.PaintOrderByWithRelationInput | Prisma.PaintOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.PaintWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Paints 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` Paints. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Paints + **/ + _count?: true | PaintCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: PaintAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: PaintSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: PaintMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: PaintMaxAggregateInputType +} + +export type GetPaintAggregateType = { + [P in keyof T & keyof AggregatePaint]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type PaintGroupByArgs = { + where?: Prisma.PaintWhereInput + orderBy?: Prisma.PaintOrderByWithAggregationInput | Prisma.PaintOrderByWithAggregationInput[] + by: Prisma.PaintScalarFieldEnum[] | Prisma.PaintScalarFieldEnum + having?: Prisma.PaintScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: PaintCountAggregateInputType | true + _avg?: PaintAvgAggregateInputType + _sum?: PaintSumAggregateInputType + _min?: PaintMinAggregateInputType + _max?: PaintMaxAggregateInputType +} + +export type PaintGroupByOutputType = { + id: string + name: string + brand: string + line: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML: number + purchaseDate: Date | null + cost: number | null + notes: string | null + archived: boolean + createdAt: Date + updatedAt: Date + userId: string + vendorId: string | null + locationId: string | null + _count: PaintCountAggregateOutputType | null + _avg: PaintAvgAggregateOutputType | null + _sum: PaintSumAggregateOutputType | null + _min: PaintMinAggregateOutputType | null + _max: PaintMaxAggregateOutputType | null +} + +type GetPaintGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof PaintGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type PaintWhereInput = { + AND?: Prisma.PaintWhereInput | Prisma.PaintWhereInput[] + OR?: Prisma.PaintWhereInput[] + NOT?: Prisma.PaintWhereInput | Prisma.PaintWhereInput[] + id?: Prisma.StringFilter<"Paint"> | string + name?: Prisma.StringFilter<"Paint"> | string + brand?: Prisma.StringFilter<"Paint"> | string + line?: Prisma.StringNullableFilter<"Paint"> | string | null + color?: Prisma.StringFilter<"Paint"> | string + colorHex?: Prisma.StringFilter<"Paint"> | string + finish?: Prisma.StringFilter<"Paint"> | string + volumeML?: Prisma.FloatFilter<"Paint"> | number + usedML?: Prisma.FloatFilter<"Paint"> | number + purchaseDate?: Prisma.DateTimeNullableFilter<"Paint"> | Date | string | null + cost?: Prisma.FloatNullableFilter<"Paint"> | number | null + notes?: Prisma.StringNullableFilter<"Paint"> | string | null + archived?: Prisma.BoolFilter<"Paint"> | boolean + createdAt?: Prisma.DateTimeFilter<"Paint"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Paint"> | Date | string + userId?: Prisma.StringFilter<"Paint"> | string + vendorId?: Prisma.StringNullableFilter<"Paint"> | string | null + locationId?: Prisma.StringNullableFilter<"Paint"> | string | null + user?: Prisma.XOR + vendor?: Prisma.XOR | null + location?: Prisma.XOR | null + tags?: Prisma.TagOnPaintListRelationFilter + usageLogs?: Prisma.UsageLogListRelationFilter +} + +export type PaintOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + line?: Prisma.SortOrderInput | Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + finish?: Prisma.SortOrder + volumeML?: Prisma.SortOrder + usedML?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrderInput | Prisma.SortOrder + cost?: Prisma.SortOrderInput | Prisma.SortOrder + notes?: Prisma.SortOrderInput | Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrderInput | Prisma.SortOrder + locationId?: Prisma.SortOrderInput | Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput + vendor?: Prisma.VendorOrderByWithRelationInput + location?: Prisma.LocationOrderByWithRelationInput + tags?: Prisma.TagOnPaintOrderByRelationAggregateInput + usageLogs?: Prisma.UsageLogOrderByRelationAggregateInput +} + +export type PaintWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.PaintWhereInput | Prisma.PaintWhereInput[] + OR?: Prisma.PaintWhereInput[] + NOT?: Prisma.PaintWhereInput | Prisma.PaintWhereInput[] + name?: Prisma.StringFilter<"Paint"> | string + brand?: Prisma.StringFilter<"Paint"> | string + line?: Prisma.StringNullableFilter<"Paint"> | string | null + color?: Prisma.StringFilter<"Paint"> | string + colorHex?: Prisma.StringFilter<"Paint"> | string + finish?: Prisma.StringFilter<"Paint"> | string + volumeML?: Prisma.FloatFilter<"Paint"> | number + usedML?: Prisma.FloatFilter<"Paint"> | number + purchaseDate?: Prisma.DateTimeNullableFilter<"Paint"> | Date | string | null + cost?: Prisma.FloatNullableFilter<"Paint"> | number | null + notes?: Prisma.StringNullableFilter<"Paint"> | string | null + archived?: Prisma.BoolFilter<"Paint"> | boolean + createdAt?: Prisma.DateTimeFilter<"Paint"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Paint"> | Date | string + userId?: Prisma.StringFilter<"Paint"> | string + vendorId?: Prisma.StringNullableFilter<"Paint"> | string | null + locationId?: Prisma.StringNullableFilter<"Paint"> | string | null + user?: Prisma.XOR + vendor?: Prisma.XOR | null + location?: Prisma.XOR | null + tags?: Prisma.TagOnPaintListRelationFilter + usageLogs?: Prisma.UsageLogListRelationFilter +}, "id"> + +export type PaintOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + line?: Prisma.SortOrderInput | Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + finish?: Prisma.SortOrder + volumeML?: Prisma.SortOrder + usedML?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrderInput | Prisma.SortOrder + cost?: Prisma.SortOrderInput | Prisma.SortOrder + notes?: Prisma.SortOrderInput | Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrderInput | Prisma.SortOrder + locationId?: Prisma.SortOrderInput | Prisma.SortOrder + _count?: Prisma.PaintCountOrderByAggregateInput + _avg?: Prisma.PaintAvgOrderByAggregateInput + _max?: Prisma.PaintMaxOrderByAggregateInput + _min?: Prisma.PaintMinOrderByAggregateInput + _sum?: Prisma.PaintSumOrderByAggregateInput +} + +export type PaintScalarWhereWithAggregatesInput = { + AND?: Prisma.PaintScalarWhereWithAggregatesInput | Prisma.PaintScalarWhereWithAggregatesInput[] + OR?: Prisma.PaintScalarWhereWithAggregatesInput[] + NOT?: Prisma.PaintScalarWhereWithAggregatesInput | Prisma.PaintScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Paint"> | string + name?: Prisma.StringWithAggregatesFilter<"Paint"> | string + brand?: Prisma.StringWithAggregatesFilter<"Paint"> | string + line?: Prisma.StringNullableWithAggregatesFilter<"Paint"> | string | null + color?: Prisma.StringWithAggregatesFilter<"Paint"> | string + colorHex?: Prisma.StringWithAggregatesFilter<"Paint"> | string + finish?: Prisma.StringWithAggregatesFilter<"Paint"> | string + volumeML?: Prisma.FloatWithAggregatesFilter<"Paint"> | number + usedML?: Prisma.FloatWithAggregatesFilter<"Paint"> | number + purchaseDate?: Prisma.DateTimeNullableWithAggregatesFilter<"Paint"> | Date | string | null + cost?: Prisma.FloatNullableWithAggregatesFilter<"Paint"> | number | null + notes?: Prisma.StringNullableWithAggregatesFilter<"Paint"> | string | null + archived?: Prisma.BoolWithAggregatesFilter<"Paint"> | boolean + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Paint"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Paint"> | Date | string + userId?: Prisma.StringWithAggregatesFilter<"Paint"> | string + vendorId?: Prisma.StringNullableWithAggregatesFilter<"Paint"> | string | null + locationId?: Prisma.StringNullableWithAggregatesFilter<"Paint"> | string | null +} + +export type PaintCreateInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutPaintsInput + vendor?: Prisma.VendorCreateNestedOneWithoutPaintsInput + location?: Prisma.LocationCreateNestedOneWithoutPaintsInput + tags?: Prisma.TagOnPaintCreateNestedManyWithoutPaintInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutPaintInput +} + +export type PaintUncheckedCreateInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + locationId?: string | null + tags?: Prisma.TagOnPaintUncheckedCreateNestedManyWithoutPaintInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutPaintInput +} + +export type PaintUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutPaintsNestedInput + vendor?: Prisma.VendorUpdateOneWithoutPaintsNestedInput + location?: Prisma.LocationUpdateOneWithoutPaintsNestedInput + tags?: Prisma.TagOnPaintUpdateManyWithoutPaintNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutPaintNestedInput +} + +export type PaintUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnPaintUncheckedUpdateManyWithoutPaintNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutPaintNestedInput +} + +export type PaintCreateManyInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + locationId?: string | null +} + +export type PaintUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type PaintUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type PaintListRelationFilter = { + every?: Prisma.PaintWhereInput + some?: Prisma.PaintWhereInput + none?: Prisma.PaintWhereInput +} + +export type PaintOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type PaintCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + line?: Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + finish?: Prisma.SortOrder + volumeML?: Prisma.SortOrder + usedML?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrder + cost?: Prisma.SortOrder + notes?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrder + locationId?: Prisma.SortOrder +} + +export type PaintAvgOrderByAggregateInput = { + volumeML?: Prisma.SortOrder + usedML?: Prisma.SortOrder + cost?: Prisma.SortOrder +} + +export type PaintMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + line?: Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + finish?: Prisma.SortOrder + volumeML?: Prisma.SortOrder + usedML?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrder + cost?: Prisma.SortOrder + notes?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrder + locationId?: Prisma.SortOrder +} + +export type PaintMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + line?: Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + finish?: Prisma.SortOrder + volumeML?: Prisma.SortOrder + usedML?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrder + cost?: Prisma.SortOrder + notes?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrder + locationId?: Prisma.SortOrder +} + +export type PaintSumOrderByAggregateInput = { + volumeML?: Prisma.SortOrder + usedML?: Prisma.SortOrder + cost?: Prisma.SortOrder +} + +export type PaintScalarRelationFilter = { + is?: Prisma.PaintWhereInput + isNot?: Prisma.PaintWhereInput +} + +export type PaintNullableScalarRelationFilter = { + is?: Prisma.PaintWhereInput | null + isNot?: Prisma.PaintWhereInput | null +} + +export type PaintCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.PaintCreateWithoutUserInput[] | Prisma.PaintUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutUserInput | Prisma.PaintCreateOrConnectWithoutUserInput[] + createMany?: Prisma.PaintCreateManyUserInputEnvelope + connect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] +} + +export type PaintUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.PaintCreateWithoutUserInput[] | Prisma.PaintUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutUserInput | Prisma.PaintCreateOrConnectWithoutUserInput[] + createMany?: Prisma.PaintCreateManyUserInputEnvelope + connect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] +} + +export type PaintUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.PaintCreateWithoutUserInput[] | Prisma.PaintUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutUserInput | Prisma.PaintCreateOrConnectWithoutUserInput[] + upsert?: Prisma.PaintUpsertWithWhereUniqueWithoutUserInput | Prisma.PaintUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.PaintCreateManyUserInputEnvelope + set?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + disconnect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + delete?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + connect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + update?: Prisma.PaintUpdateWithWhereUniqueWithoutUserInput | Prisma.PaintUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.PaintUpdateManyWithWhereWithoutUserInput | Prisma.PaintUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.PaintScalarWhereInput | Prisma.PaintScalarWhereInput[] +} + +export type PaintUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.PaintCreateWithoutUserInput[] | Prisma.PaintUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutUserInput | Prisma.PaintCreateOrConnectWithoutUserInput[] + upsert?: Prisma.PaintUpsertWithWhereUniqueWithoutUserInput | Prisma.PaintUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.PaintCreateManyUserInputEnvelope + set?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + disconnect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + delete?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + connect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + update?: Prisma.PaintUpdateWithWhereUniqueWithoutUserInput | Prisma.PaintUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.PaintUpdateManyWithWhereWithoutUserInput | Prisma.PaintUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.PaintScalarWhereInput | Prisma.PaintScalarWhereInput[] +} + +export type PaintCreateNestedManyWithoutVendorInput = { + create?: Prisma.XOR | Prisma.PaintCreateWithoutVendorInput[] | Prisma.PaintUncheckedCreateWithoutVendorInput[] + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutVendorInput | Prisma.PaintCreateOrConnectWithoutVendorInput[] + createMany?: Prisma.PaintCreateManyVendorInputEnvelope + connect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] +} + +export type PaintUncheckedCreateNestedManyWithoutVendorInput = { + create?: Prisma.XOR | Prisma.PaintCreateWithoutVendorInput[] | Prisma.PaintUncheckedCreateWithoutVendorInput[] + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutVendorInput | Prisma.PaintCreateOrConnectWithoutVendorInput[] + createMany?: Prisma.PaintCreateManyVendorInputEnvelope + connect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] +} + +export type PaintUpdateManyWithoutVendorNestedInput = { + create?: Prisma.XOR | Prisma.PaintCreateWithoutVendorInput[] | Prisma.PaintUncheckedCreateWithoutVendorInput[] + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutVendorInput | Prisma.PaintCreateOrConnectWithoutVendorInput[] + upsert?: Prisma.PaintUpsertWithWhereUniqueWithoutVendorInput | Prisma.PaintUpsertWithWhereUniqueWithoutVendorInput[] + createMany?: Prisma.PaintCreateManyVendorInputEnvelope + set?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + disconnect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + delete?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + connect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + update?: Prisma.PaintUpdateWithWhereUniqueWithoutVendorInput | Prisma.PaintUpdateWithWhereUniqueWithoutVendorInput[] + updateMany?: Prisma.PaintUpdateManyWithWhereWithoutVendorInput | Prisma.PaintUpdateManyWithWhereWithoutVendorInput[] + deleteMany?: Prisma.PaintScalarWhereInput | Prisma.PaintScalarWhereInput[] +} + +export type PaintUncheckedUpdateManyWithoutVendorNestedInput = { + create?: Prisma.XOR | Prisma.PaintCreateWithoutVendorInput[] | Prisma.PaintUncheckedCreateWithoutVendorInput[] + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutVendorInput | Prisma.PaintCreateOrConnectWithoutVendorInput[] + upsert?: Prisma.PaintUpsertWithWhereUniqueWithoutVendorInput | Prisma.PaintUpsertWithWhereUniqueWithoutVendorInput[] + createMany?: Prisma.PaintCreateManyVendorInputEnvelope + set?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + disconnect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + delete?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + connect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + update?: Prisma.PaintUpdateWithWhereUniqueWithoutVendorInput | Prisma.PaintUpdateWithWhereUniqueWithoutVendorInput[] + updateMany?: Prisma.PaintUpdateManyWithWhereWithoutVendorInput | Prisma.PaintUpdateManyWithWhereWithoutVendorInput[] + deleteMany?: Prisma.PaintScalarWhereInput | Prisma.PaintScalarWhereInput[] +} + +export type PaintCreateNestedManyWithoutLocationInput = { + create?: Prisma.XOR | Prisma.PaintCreateWithoutLocationInput[] | Prisma.PaintUncheckedCreateWithoutLocationInput[] + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutLocationInput | Prisma.PaintCreateOrConnectWithoutLocationInput[] + createMany?: Prisma.PaintCreateManyLocationInputEnvelope + connect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] +} + +export type PaintUncheckedCreateNestedManyWithoutLocationInput = { + create?: Prisma.XOR | Prisma.PaintCreateWithoutLocationInput[] | Prisma.PaintUncheckedCreateWithoutLocationInput[] + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutLocationInput | Prisma.PaintCreateOrConnectWithoutLocationInput[] + createMany?: Prisma.PaintCreateManyLocationInputEnvelope + connect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] +} + +export type PaintUpdateManyWithoutLocationNestedInput = { + create?: Prisma.XOR | Prisma.PaintCreateWithoutLocationInput[] | Prisma.PaintUncheckedCreateWithoutLocationInput[] + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutLocationInput | Prisma.PaintCreateOrConnectWithoutLocationInput[] + upsert?: Prisma.PaintUpsertWithWhereUniqueWithoutLocationInput | Prisma.PaintUpsertWithWhereUniqueWithoutLocationInput[] + createMany?: Prisma.PaintCreateManyLocationInputEnvelope + set?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + disconnect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + delete?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + connect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + update?: Prisma.PaintUpdateWithWhereUniqueWithoutLocationInput | Prisma.PaintUpdateWithWhereUniqueWithoutLocationInput[] + updateMany?: Prisma.PaintUpdateManyWithWhereWithoutLocationInput | Prisma.PaintUpdateManyWithWhereWithoutLocationInput[] + deleteMany?: Prisma.PaintScalarWhereInput | Prisma.PaintScalarWhereInput[] +} + +export type PaintUncheckedUpdateManyWithoutLocationNestedInput = { + create?: Prisma.XOR | Prisma.PaintCreateWithoutLocationInput[] | Prisma.PaintUncheckedCreateWithoutLocationInput[] + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutLocationInput | Prisma.PaintCreateOrConnectWithoutLocationInput[] + upsert?: Prisma.PaintUpsertWithWhereUniqueWithoutLocationInput | Prisma.PaintUpsertWithWhereUniqueWithoutLocationInput[] + createMany?: Prisma.PaintCreateManyLocationInputEnvelope + set?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + disconnect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + delete?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + connect?: Prisma.PaintWhereUniqueInput | Prisma.PaintWhereUniqueInput[] + update?: Prisma.PaintUpdateWithWhereUniqueWithoutLocationInput | Prisma.PaintUpdateWithWhereUniqueWithoutLocationInput[] + updateMany?: Prisma.PaintUpdateManyWithWhereWithoutLocationInput | Prisma.PaintUpdateManyWithWhereWithoutLocationInput[] + deleteMany?: Prisma.PaintScalarWhereInput | Prisma.PaintScalarWhereInput[] +} + +export type PaintCreateNestedOneWithoutTagsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutTagsInput + connect?: Prisma.PaintWhereUniqueInput +} + +export type PaintUpdateOneRequiredWithoutTagsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutTagsInput + upsert?: Prisma.PaintUpsertWithoutTagsInput + connect?: Prisma.PaintWhereUniqueInput + update?: Prisma.XOR, Prisma.PaintUncheckedUpdateWithoutTagsInput> +} + +export type PaintCreateNestedOneWithoutUsageLogsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutUsageLogsInput + connect?: Prisma.PaintWhereUniqueInput +} + +export type PaintUpdateOneWithoutUsageLogsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.PaintCreateOrConnectWithoutUsageLogsInput + upsert?: Prisma.PaintUpsertWithoutUsageLogsInput + disconnect?: Prisma.PaintWhereInput | boolean + delete?: Prisma.PaintWhereInput | boolean + connect?: Prisma.PaintWhereUniqueInput + update?: Prisma.XOR, Prisma.PaintUncheckedUpdateWithoutUsageLogsInput> +} + +export type PaintCreateWithoutUserInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + vendor?: Prisma.VendorCreateNestedOneWithoutPaintsInput + location?: Prisma.LocationCreateNestedOneWithoutPaintsInput + tags?: Prisma.TagOnPaintCreateNestedManyWithoutPaintInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutPaintInput +} + +export type PaintUncheckedCreateWithoutUserInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + vendorId?: string | null + locationId?: string | null + tags?: Prisma.TagOnPaintUncheckedCreateNestedManyWithoutPaintInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutPaintInput +} + +export type PaintCreateOrConnectWithoutUserInput = { + where: Prisma.PaintWhereUniqueInput + create: Prisma.XOR +} + +export type PaintCreateManyUserInputEnvelope = { + data: Prisma.PaintCreateManyUserInput | Prisma.PaintCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type PaintUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.PaintWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type PaintUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.PaintWhereUniqueInput + data: Prisma.XOR +} + +export type PaintUpdateManyWithWhereWithoutUserInput = { + where: Prisma.PaintScalarWhereInput + data: Prisma.XOR +} + +export type PaintScalarWhereInput = { + AND?: Prisma.PaintScalarWhereInput | Prisma.PaintScalarWhereInput[] + OR?: Prisma.PaintScalarWhereInput[] + NOT?: Prisma.PaintScalarWhereInput | Prisma.PaintScalarWhereInput[] + id?: Prisma.StringFilter<"Paint"> | string + name?: Prisma.StringFilter<"Paint"> | string + brand?: Prisma.StringFilter<"Paint"> | string + line?: Prisma.StringNullableFilter<"Paint"> | string | null + color?: Prisma.StringFilter<"Paint"> | string + colorHex?: Prisma.StringFilter<"Paint"> | string + finish?: Prisma.StringFilter<"Paint"> | string + volumeML?: Prisma.FloatFilter<"Paint"> | number + usedML?: Prisma.FloatFilter<"Paint"> | number + purchaseDate?: Prisma.DateTimeNullableFilter<"Paint"> | Date | string | null + cost?: Prisma.FloatNullableFilter<"Paint"> | number | null + notes?: Prisma.StringNullableFilter<"Paint"> | string | null + archived?: Prisma.BoolFilter<"Paint"> | boolean + createdAt?: Prisma.DateTimeFilter<"Paint"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Paint"> | Date | string + userId?: Prisma.StringFilter<"Paint"> | string + vendorId?: Prisma.StringNullableFilter<"Paint"> | string | null + locationId?: Prisma.StringNullableFilter<"Paint"> | string | null +} + +export type PaintCreateWithoutVendorInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutPaintsInput + location?: Prisma.LocationCreateNestedOneWithoutPaintsInput + tags?: Prisma.TagOnPaintCreateNestedManyWithoutPaintInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutPaintInput +} + +export type PaintUncheckedCreateWithoutVendorInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + locationId?: string | null + tags?: Prisma.TagOnPaintUncheckedCreateNestedManyWithoutPaintInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutPaintInput +} + +export type PaintCreateOrConnectWithoutVendorInput = { + where: Prisma.PaintWhereUniqueInput + create: Prisma.XOR +} + +export type PaintCreateManyVendorInputEnvelope = { + data: Prisma.PaintCreateManyVendorInput | Prisma.PaintCreateManyVendorInput[] + skipDuplicates?: boolean +} + +export type PaintUpsertWithWhereUniqueWithoutVendorInput = { + where: Prisma.PaintWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type PaintUpdateWithWhereUniqueWithoutVendorInput = { + where: Prisma.PaintWhereUniqueInput + data: Prisma.XOR +} + +export type PaintUpdateManyWithWhereWithoutVendorInput = { + where: Prisma.PaintScalarWhereInput + data: Prisma.XOR +} + +export type PaintCreateWithoutLocationInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutPaintsInput + vendor?: Prisma.VendorCreateNestedOneWithoutPaintsInput + tags?: Prisma.TagOnPaintCreateNestedManyWithoutPaintInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutPaintInput +} + +export type PaintUncheckedCreateWithoutLocationInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + tags?: Prisma.TagOnPaintUncheckedCreateNestedManyWithoutPaintInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutPaintInput +} + +export type PaintCreateOrConnectWithoutLocationInput = { + where: Prisma.PaintWhereUniqueInput + create: Prisma.XOR +} + +export type PaintCreateManyLocationInputEnvelope = { + data: Prisma.PaintCreateManyLocationInput | Prisma.PaintCreateManyLocationInput[] + skipDuplicates?: boolean +} + +export type PaintUpsertWithWhereUniqueWithoutLocationInput = { + where: Prisma.PaintWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type PaintUpdateWithWhereUniqueWithoutLocationInput = { + where: Prisma.PaintWhereUniqueInput + data: Prisma.XOR +} + +export type PaintUpdateManyWithWhereWithoutLocationInput = { + where: Prisma.PaintScalarWhereInput + data: Prisma.XOR +} + +export type PaintCreateWithoutTagsInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutPaintsInput + vendor?: Prisma.VendorCreateNestedOneWithoutPaintsInput + location?: Prisma.LocationCreateNestedOneWithoutPaintsInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutPaintInput +} + +export type PaintUncheckedCreateWithoutTagsInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + locationId?: string | null + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutPaintInput +} + +export type PaintCreateOrConnectWithoutTagsInput = { + where: Prisma.PaintWhereUniqueInput + create: Prisma.XOR +} + +export type PaintUpsertWithoutTagsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.PaintWhereInput +} + +export type PaintUpdateToOneWithWhereWithoutTagsInput = { + where?: Prisma.PaintWhereInput + data: Prisma.XOR +} + +export type PaintUpdateWithoutTagsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutPaintsNestedInput + vendor?: Prisma.VendorUpdateOneWithoutPaintsNestedInput + location?: Prisma.LocationUpdateOneWithoutPaintsNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutPaintNestedInput +} + +export type PaintUncheckedUpdateWithoutTagsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutPaintNestedInput +} + +export type PaintCreateWithoutUsageLogsInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutPaintsInput + vendor?: Prisma.VendorCreateNestedOneWithoutPaintsInput + location?: Prisma.LocationCreateNestedOneWithoutPaintsInput + tags?: Prisma.TagOnPaintCreateNestedManyWithoutPaintInput +} + +export type PaintUncheckedCreateWithoutUsageLogsInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + locationId?: string | null + tags?: Prisma.TagOnPaintUncheckedCreateNestedManyWithoutPaintInput +} + +export type PaintCreateOrConnectWithoutUsageLogsInput = { + where: Prisma.PaintWhereUniqueInput + create: Prisma.XOR +} + +export type PaintUpsertWithoutUsageLogsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.PaintWhereInput +} + +export type PaintUpdateToOneWithWhereWithoutUsageLogsInput = { + where?: Prisma.PaintWhereInput + data: Prisma.XOR +} + +export type PaintUpdateWithoutUsageLogsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutPaintsNestedInput + vendor?: Prisma.VendorUpdateOneWithoutPaintsNestedInput + location?: Prisma.LocationUpdateOneWithoutPaintsNestedInput + tags?: Prisma.TagOnPaintUpdateManyWithoutPaintNestedInput +} + +export type PaintUncheckedUpdateWithoutUsageLogsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnPaintUncheckedUpdateManyWithoutPaintNestedInput +} + +export type PaintCreateManyUserInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + vendorId?: string | null + locationId?: string | null +} + +export type PaintUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + vendor?: Prisma.VendorUpdateOneWithoutPaintsNestedInput + location?: Prisma.LocationUpdateOneWithoutPaintsNestedInput + tags?: Prisma.TagOnPaintUpdateManyWithoutPaintNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutPaintNestedInput +} + +export type PaintUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnPaintUncheckedUpdateManyWithoutPaintNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutPaintNestedInput +} + +export type PaintUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type PaintCreateManyVendorInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + locationId?: string | null +} + +export type PaintUpdateWithoutVendorInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutPaintsNestedInput + location?: Prisma.LocationUpdateOneWithoutPaintsNestedInput + tags?: Prisma.TagOnPaintUpdateManyWithoutPaintNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutPaintNestedInput +} + +export type PaintUncheckedUpdateWithoutVendorInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnPaintUncheckedUpdateManyWithoutPaintNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutPaintNestedInput +} + +export type PaintUncheckedUpdateManyWithoutVendorInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type PaintCreateManyLocationInput = { + id?: string + name: string + brand: string + line?: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null +} + +export type PaintUpdateWithoutLocationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutPaintsNestedInput + vendor?: Prisma.VendorUpdateOneWithoutPaintsNestedInput + tags?: Prisma.TagOnPaintUpdateManyWithoutPaintNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutPaintNestedInput +} + +export type PaintUncheckedUpdateWithoutLocationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnPaintUncheckedUpdateManyWithoutPaintNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutPaintNestedInput +} + +export type PaintUncheckedUpdateManyWithoutLocationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + line?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + finish?: Prisma.StringFieldUpdateOperationsInput | string + volumeML?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + + +/** + * Count Type PaintCountOutputType + */ + +export type PaintCountOutputType = { + tags: number + usageLogs: number +} + +export type PaintCountOutputTypeSelect = { + tags?: boolean | PaintCountOutputTypeCountTagsArgs + usageLogs?: boolean | PaintCountOutputTypeCountUsageLogsArgs +} + +/** + * PaintCountOutputType without action + */ +export type PaintCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the PaintCountOutputType + */ + select?: Prisma.PaintCountOutputTypeSelect | null +} + +/** + * PaintCountOutputType without action + */ +export type PaintCountOutputTypeCountTagsArgs = { + where?: Prisma.TagOnPaintWhereInput +} + +/** + * PaintCountOutputType without action + */ +export type PaintCountOutputTypeCountUsageLogsArgs = { + where?: Prisma.UsageLogWhereInput +} + + +export type PaintSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + brand?: boolean + line?: boolean + color?: boolean + colorHex?: boolean + finish?: boolean + volumeML?: boolean + usedML?: boolean + purchaseDate?: boolean + cost?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + vendorId?: boolean + locationId?: boolean + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Paint$vendorArgs + location?: boolean | Prisma.Paint$locationArgs + tags?: boolean | Prisma.Paint$tagsArgs + usageLogs?: boolean | Prisma.Paint$usageLogsArgs + _count?: boolean | Prisma.PaintCountOutputTypeDefaultArgs +}, ExtArgs["result"]["paint"]> + +export type PaintSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + brand?: boolean + line?: boolean + color?: boolean + colorHex?: boolean + finish?: boolean + volumeML?: boolean + usedML?: boolean + purchaseDate?: boolean + cost?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + vendorId?: boolean + locationId?: boolean + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Paint$vendorArgs + location?: boolean | Prisma.Paint$locationArgs +}, ExtArgs["result"]["paint"]> + +export type PaintSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + brand?: boolean + line?: boolean + color?: boolean + colorHex?: boolean + finish?: boolean + volumeML?: boolean + usedML?: boolean + purchaseDate?: boolean + cost?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + vendorId?: boolean + locationId?: boolean + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Paint$vendorArgs + location?: boolean | Prisma.Paint$locationArgs +}, ExtArgs["result"]["paint"]> + +export type PaintSelectScalar = { + id?: boolean + name?: boolean + brand?: boolean + line?: boolean + color?: boolean + colorHex?: boolean + finish?: boolean + volumeML?: boolean + usedML?: boolean + purchaseDate?: boolean + cost?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + vendorId?: boolean + locationId?: boolean +} + +export type PaintOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "brand" | "line" | "color" | "colorHex" | "finish" | "volumeML" | "usedML" | "purchaseDate" | "cost" | "notes" | "archived" | "createdAt" | "updatedAt" | "userId" | "vendorId" | "locationId", ExtArgs["result"]["paint"]> +export type PaintInclude = { + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Paint$vendorArgs + location?: boolean | Prisma.Paint$locationArgs + tags?: boolean | Prisma.Paint$tagsArgs + usageLogs?: boolean | Prisma.Paint$usageLogsArgs + _count?: boolean | Prisma.PaintCountOutputTypeDefaultArgs +} +export type PaintIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Paint$vendorArgs + location?: boolean | Prisma.Paint$locationArgs +} +export type PaintIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Paint$vendorArgs + location?: boolean | Prisma.Paint$locationArgs +} + +export type $PaintPayload = { + name: "Paint" + objects: { + user: Prisma.$UserPayload + vendor: Prisma.$VendorPayload | null + location: Prisma.$LocationPayload | null + tags: Prisma.$TagOnPaintPayload[] + usageLogs: Prisma.$UsageLogPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + brand: string + line: string | null + color: string + colorHex: string + finish: string + volumeML: number + usedML: number + purchaseDate: Date | null + cost: number | null + notes: string | null + archived: boolean + createdAt: Date + updatedAt: Date + userId: string + vendorId: string | null + locationId: string | null + }, ExtArgs["result"]["paint"]> + composites: {} +} + +export type PaintGetPayload = runtime.Types.Result.GetResult + +export type PaintCountArgs = + Omit & { + select?: PaintCountAggregateInputType | true + } + +export interface PaintDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Paint'], meta: { name: 'Paint' } } + /** + * Find zero or one Paint that matches the filter. + * @param {PaintFindUniqueArgs} args - Arguments to find a Paint + * @example + * // Get one Paint + * const paint = await prisma.paint.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__PaintClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Paint that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {PaintFindUniqueOrThrowArgs} args - Arguments to find a Paint + * @example + * // Get one Paint + * const paint = await prisma.paint.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__PaintClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Paint 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 {PaintFindFirstArgs} args - Arguments to find a Paint + * @example + * // Get one Paint + * const paint = await prisma.paint.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__PaintClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Paint 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 {PaintFindFirstOrThrowArgs} args - Arguments to find a Paint + * @example + * // Get one Paint + * const paint = await prisma.paint.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__PaintClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Paints 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 {PaintFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Paints + * const paints = await prisma.paint.findMany() + * + * // Get first 10 Paints + * const paints = await prisma.paint.findMany({ take: 10 }) + * + * // Only select the `id` + * const paintWithIdOnly = await prisma.paint.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Paint. + * @param {PaintCreateArgs} args - Arguments to create a Paint. + * @example + * // Create one Paint + * const Paint = await prisma.paint.create({ + * data: { + * // ... data to create a Paint + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__PaintClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Paints. + * @param {PaintCreateManyArgs} args - Arguments to create many Paints. + * @example + * // Create many Paints + * const paint = await prisma.paint.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Paints and returns the data saved in the database. + * @param {PaintCreateManyAndReturnArgs} args - Arguments to create many Paints. + * @example + * // Create many Paints + * const paint = await prisma.paint.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Paints and only return the `id` + * const paintWithIdOnly = await prisma.paint.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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Paint. + * @param {PaintDeleteArgs} args - Arguments to delete one Paint. + * @example + * // Delete one Paint + * const Paint = await prisma.paint.delete({ + * where: { + * // ... filter to delete one Paint + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__PaintClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Paint. + * @param {PaintUpdateArgs} args - Arguments to update one Paint. + * @example + * // Update one Paint + * const paint = await prisma.paint.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__PaintClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Paints. + * @param {PaintDeleteManyArgs} args - Arguments to filter Paints to delete. + * @example + * // Delete a few Paints + * const { count } = await prisma.paint.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Paints. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PaintUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Paints + * const paint = await prisma.paint.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Paints and returns the data updated in the database. + * @param {PaintUpdateManyAndReturnArgs} args - Arguments to update many Paints. + * @example + * // Update many Paints + * const paint = await prisma.paint.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Paints and only return the `id` + * const paintWithIdOnly = await prisma.paint.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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Paint. + * @param {PaintUpsertArgs} args - Arguments to update or create a Paint. + * @example + * // Update or create a Paint + * const paint = await prisma.paint.upsert({ + * create: { + * // ... data to create a Paint + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Paint we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__PaintClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Paints. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PaintCountArgs} args - Arguments to filter Paints to count. + * @example + * // Count the number of Paints + * const count = await prisma.paint.count({ + * where: { + * // ... the filter for the Paints we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Paint. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PaintAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Paint. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PaintGroupByArgs} 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 PaintGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: PaintGroupByArgs['orderBy'] } + : { orderBy?: PaintGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetPaintGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Paint model + */ +readonly fields: PaintFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Paint. + * 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__PaintClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + vendor = {}>(args?: Prisma.Subset>): Prisma.Prisma__VendorClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + location = {}>(args?: Prisma.Subset>): Prisma.Prisma__LocationClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + tags = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + usageLogs = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Paint model + */ +export interface PaintFieldRefs { + readonly id: Prisma.FieldRef<"Paint", 'String'> + readonly name: Prisma.FieldRef<"Paint", 'String'> + readonly brand: Prisma.FieldRef<"Paint", 'String'> + readonly line: Prisma.FieldRef<"Paint", 'String'> + readonly color: Prisma.FieldRef<"Paint", 'String'> + readonly colorHex: Prisma.FieldRef<"Paint", 'String'> + readonly finish: Prisma.FieldRef<"Paint", 'String'> + readonly volumeML: Prisma.FieldRef<"Paint", 'Float'> + readonly usedML: Prisma.FieldRef<"Paint", 'Float'> + readonly purchaseDate: Prisma.FieldRef<"Paint", 'DateTime'> + readonly cost: Prisma.FieldRef<"Paint", 'Float'> + readonly notes: Prisma.FieldRef<"Paint", 'String'> + readonly archived: Prisma.FieldRef<"Paint", 'Boolean'> + readonly createdAt: Prisma.FieldRef<"Paint", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Paint", 'DateTime'> + readonly userId: Prisma.FieldRef<"Paint", 'String'> + readonly vendorId: Prisma.FieldRef<"Paint", 'String'> + readonly locationId: Prisma.FieldRef<"Paint", 'String'> +} + + +// Custom InputTypes +/** + * Paint findUnique + */ +export type PaintFindUniqueArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null + /** + * Filter, which Paint to fetch. + */ + where: Prisma.PaintWhereUniqueInput +} + +/** + * Paint findUniqueOrThrow + */ +export type PaintFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null + /** + * Filter, which Paint to fetch. + */ + where: Prisma.PaintWhereUniqueInput +} + +/** + * Paint findFirst + */ +export type PaintFindFirstArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null + /** + * Filter, which Paint to fetch. + */ + where?: Prisma.PaintWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Paints to fetch. + */ + orderBy?: Prisma.PaintOrderByWithRelationInput | Prisma.PaintOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Paints. + */ + cursor?: Prisma.PaintWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Paints 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` Paints. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Paints. + */ + distinct?: Prisma.PaintScalarFieldEnum | Prisma.PaintScalarFieldEnum[] +} + +/** + * Paint findFirstOrThrow + */ +export type PaintFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null + /** + * Filter, which Paint to fetch. + */ + where?: Prisma.PaintWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Paints to fetch. + */ + orderBy?: Prisma.PaintOrderByWithRelationInput | Prisma.PaintOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Paints. + */ + cursor?: Prisma.PaintWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Paints 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` Paints. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Paints. + */ + distinct?: Prisma.PaintScalarFieldEnum | Prisma.PaintScalarFieldEnum[] +} + +/** + * Paint findMany + */ +export type PaintFindManyArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null + /** + * Filter, which Paints to fetch. + */ + where?: Prisma.PaintWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Paints to fetch. + */ + orderBy?: Prisma.PaintOrderByWithRelationInput | Prisma.PaintOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Paints. + */ + cursor?: Prisma.PaintWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Paints 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` Paints. + */ + skip?: number + distinct?: Prisma.PaintScalarFieldEnum | Prisma.PaintScalarFieldEnum[] +} + +/** + * Paint create + */ +export type PaintCreateArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null + /** + * The data needed to create a Paint. + */ + data: Prisma.XOR +} + +/** + * Paint createMany + */ +export type PaintCreateManyArgs = { + /** + * The data used to create many Paints. + */ + data: Prisma.PaintCreateManyInput | Prisma.PaintCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Paint createManyAndReturn + */ +export type PaintCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * The data used to create many Paints. + */ + data: Prisma.PaintCreateManyInput | Prisma.PaintCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintIncludeCreateManyAndReturn | null +} + +/** + * Paint update + */ +export type PaintUpdateArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null + /** + * The data needed to update a Paint. + */ + data: Prisma.XOR + /** + * Choose, which Paint to update. + */ + where: Prisma.PaintWhereUniqueInput +} + +/** + * Paint updateMany + */ +export type PaintUpdateManyArgs = { + /** + * The data used to update Paints. + */ + data: Prisma.XOR + /** + * Filter which Paints to update + */ + where?: Prisma.PaintWhereInput + /** + * Limit how many Paints to update. + */ + limit?: number +} + +/** + * Paint updateManyAndReturn + */ +export type PaintUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * The data used to update Paints. + */ + data: Prisma.XOR + /** + * Filter which Paints to update + */ + where?: Prisma.PaintWhereInput + /** + * Limit how many Paints to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintIncludeUpdateManyAndReturn | null +} + +/** + * Paint upsert + */ +export type PaintUpsertArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null + /** + * The filter to search for the Paint to update in case it exists. + */ + where: Prisma.PaintWhereUniqueInput + /** + * In case the Paint found by the `where` argument doesn't exist, create a new Paint with this data. + */ + create: Prisma.XOR + /** + * In case the Paint was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Paint delete + */ +export type PaintDeleteArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null + /** + * Filter which Paint to delete. + */ + where: Prisma.PaintWhereUniqueInput +} + +/** + * Paint deleteMany + */ +export type PaintDeleteManyArgs = { + /** + * Filter which Paints to delete + */ + where?: Prisma.PaintWhereInput + /** + * Limit how many Paints to delete. + */ + limit?: number +} + +/** + * Paint.vendor + */ +export type Paint$vendorArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null + where?: Prisma.VendorWhereInput +} + +/** + * Paint.location + */ +export type Paint$locationArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null + where?: Prisma.LocationWhereInput +} + +/** + * Paint.tags + */ +export type Paint$tagsArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelect | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintInclude | null + where?: Prisma.TagOnPaintWhereInput + orderBy?: Prisma.TagOnPaintOrderByWithRelationInput | Prisma.TagOnPaintOrderByWithRelationInput[] + cursor?: Prisma.TagOnPaintWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TagOnPaintScalarFieldEnum | Prisma.TagOnPaintScalarFieldEnum[] +} + +/** + * Paint.usageLogs + */ +export type Paint$usageLogsArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null + where?: Prisma.UsageLogWhereInput + orderBy?: Prisma.UsageLogOrderByWithRelationInput | Prisma.UsageLogOrderByWithRelationInput[] + cursor?: Prisma.UsageLogWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.UsageLogScalarFieldEnum | Prisma.UsageLogScalarFieldEnum[] +} + +/** + * Paint without action + */ +export type PaintDefaultArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null +} diff --git a/src/generated/prisma/models/Resin.ts b/src/generated/prisma/models/Resin.ts new file mode 100644 index 0000000..f1d8b1c --- /dev/null +++ b/src/generated/prisma/models/Resin.ts @@ -0,0 +1,2612 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Resin` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model Resin + * + */ +export type ResinModel = runtime.Types.Result.DefaultSelection + +export type AggregateResin = { + _count: ResinCountAggregateOutputType | null + _avg: ResinAvgAggregateOutputType | null + _sum: ResinSumAggregateOutputType | null + _min: ResinMinAggregateOutputType | null + _max: ResinMaxAggregateOutputType | null +} + +export type ResinAvgAggregateOutputType = { + bottleSize: number | null + usedML: number | null + cost: number | null +} + +export type ResinSumAggregateOutputType = { + bottleSize: number | null + usedML: number | null + cost: number | null +} + +export type ResinMinAggregateOutputType = { + id: string | null + name: string | null + brand: string | null + resinType: string | null + color: string | null + colorHex: string | null + bottleSize: number | null + usedML: number | null + purchaseDate: Date | null + cost: number | null + notes: string | null + archived: boolean | null + createdAt: Date | null + updatedAt: Date | null + userId: string | null + vendorId: string | null + locationId: string | null +} + +export type ResinMaxAggregateOutputType = { + id: string | null + name: string | null + brand: string | null + resinType: string | null + color: string | null + colorHex: string | null + bottleSize: number | null + usedML: number | null + purchaseDate: Date | null + cost: number | null + notes: string | null + archived: boolean | null + createdAt: Date | null + updatedAt: Date | null + userId: string | null + vendorId: string | null + locationId: string | null +} + +export type ResinCountAggregateOutputType = { + id: number + name: number + brand: number + resinType: number + color: number + colorHex: number + bottleSize: number + usedML: number + purchaseDate: number + cost: number + notes: number + archived: number + createdAt: number + updatedAt: number + userId: number + vendorId: number + locationId: number + _all: number +} + + +export type ResinAvgAggregateInputType = { + bottleSize?: true + usedML?: true + cost?: true +} + +export type ResinSumAggregateInputType = { + bottleSize?: true + usedML?: true + cost?: true +} + +export type ResinMinAggregateInputType = { + id?: true + name?: true + brand?: true + resinType?: true + color?: true + colorHex?: true + bottleSize?: true + usedML?: true + purchaseDate?: true + cost?: true + notes?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true + vendorId?: true + locationId?: true +} + +export type ResinMaxAggregateInputType = { + id?: true + name?: true + brand?: true + resinType?: true + color?: true + colorHex?: true + bottleSize?: true + usedML?: true + purchaseDate?: true + cost?: true + notes?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true + vendorId?: true + locationId?: true +} + +export type ResinCountAggregateInputType = { + id?: true + name?: true + brand?: true + resinType?: true + color?: true + colorHex?: true + bottleSize?: true + usedML?: true + purchaseDate?: true + cost?: true + notes?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true + vendorId?: true + locationId?: true + _all?: true +} + +export type ResinAggregateArgs = { + /** + * Filter which Resin to aggregate. + */ + where?: Prisma.ResinWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Resins to fetch. + */ + orderBy?: Prisma.ResinOrderByWithRelationInput | Prisma.ResinOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.ResinWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Resins 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` Resins. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Resins + **/ + _count?: true | ResinCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: ResinAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: ResinSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ResinMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ResinMaxAggregateInputType +} + +export type GetResinAggregateType = { + [P in keyof T & keyof AggregateResin]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type ResinGroupByArgs = { + where?: Prisma.ResinWhereInput + orderBy?: Prisma.ResinOrderByWithAggregationInput | Prisma.ResinOrderByWithAggregationInput[] + by: Prisma.ResinScalarFieldEnum[] | Prisma.ResinScalarFieldEnum + having?: Prisma.ResinScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ResinCountAggregateInputType | true + _avg?: ResinAvgAggregateInputType + _sum?: ResinSumAggregateInputType + _min?: ResinMinAggregateInputType + _max?: ResinMaxAggregateInputType +} + +export type ResinGroupByOutputType = { + id: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML: number + purchaseDate: Date | null + cost: number | null + notes: string | null + archived: boolean + createdAt: Date + updatedAt: Date + userId: string + vendorId: string | null + locationId: string | null + _count: ResinCountAggregateOutputType | null + _avg: ResinAvgAggregateOutputType | null + _sum: ResinSumAggregateOutputType | null + _min: ResinMinAggregateOutputType | null + _max: ResinMaxAggregateOutputType | null +} + +type GetResinGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof ResinGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type ResinWhereInput = { + AND?: Prisma.ResinWhereInput | Prisma.ResinWhereInput[] + OR?: Prisma.ResinWhereInput[] + NOT?: Prisma.ResinWhereInput | Prisma.ResinWhereInput[] + id?: Prisma.StringFilter<"Resin"> | string + name?: Prisma.StringFilter<"Resin"> | string + brand?: Prisma.StringFilter<"Resin"> | string + resinType?: Prisma.StringFilter<"Resin"> | string + color?: Prisma.StringFilter<"Resin"> | string + colorHex?: Prisma.StringFilter<"Resin"> | string + bottleSize?: Prisma.FloatFilter<"Resin"> | number + usedML?: Prisma.FloatFilter<"Resin"> | number + purchaseDate?: Prisma.DateTimeNullableFilter<"Resin"> | Date | string | null + cost?: Prisma.FloatNullableFilter<"Resin"> | number | null + notes?: Prisma.StringNullableFilter<"Resin"> | string | null + archived?: Prisma.BoolFilter<"Resin"> | boolean + createdAt?: Prisma.DateTimeFilter<"Resin"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Resin"> | Date | string + userId?: Prisma.StringFilter<"Resin"> | string + vendorId?: Prisma.StringNullableFilter<"Resin"> | string | null + locationId?: Prisma.StringNullableFilter<"Resin"> | string | null + user?: Prisma.XOR + vendor?: Prisma.XOR | null + location?: Prisma.XOR | null + tags?: Prisma.TagOnResinListRelationFilter + usageLogs?: Prisma.UsageLogListRelationFilter +} + +export type ResinOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + resinType?: Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + bottleSize?: Prisma.SortOrder + usedML?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrderInput | Prisma.SortOrder + cost?: Prisma.SortOrderInput | Prisma.SortOrder + notes?: Prisma.SortOrderInput | Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrderInput | Prisma.SortOrder + locationId?: Prisma.SortOrderInput | Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput + vendor?: Prisma.VendorOrderByWithRelationInput + location?: Prisma.LocationOrderByWithRelationInput + tags?: Prisma.TagOnResinOrderByRelationAggregateInput + usageLogs?: Prisma.UsageLogOrderByRelationAggregateInput +} + +export type ResinWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.ResinWhereInput | Prisma.ResinWhereInput[] + OR?: Prisma.ResinWhereInput[] + NOT?: Prisma.ResinWhereInput | Prisma.ResinWhereInput[] + name?: Prisma.StringFilter<"Resin"> | string + brand?: Prisma.StringFilter<"Resin"> | string + resinType?: Prisma.StringFilter<"Resin"> | string + color?: Prisma.StringFilter<"Resin"> | string + colorHex?: Prisma.StringFilter<"Resin"> | string + bottleSize?: Prisma.FloatFilter<"Resin"> | number + usedML?: Prisma.FloatFilter<"Resin"> | number + purchaseDate?: Prisma.DateTimeNullableFilter<"Resin"> | Date | string | null + cost?: Prisma.FloatNullableFilter<"Resin"> | number | null + notes?: Prisma.StringNullableFilter<"Resin"> | string | null + archived?: Prisma.BoolFilter<"Resin"> | boolean + createdAt?: Prisma.DateTimeFilter<"Resin"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Resin"> | Date | string + userId?: Prisma.StringFilter<"Resin"> | string + vendorId?: Prisma.StringNullableFilter<"Resin"> | string | null + locationId?: Prisma.StringNullableFilter<"Resin"> | string | null + user?: Prisma.XOR + vendor?: Prisma.XOR | null + location?: Prisma.XOR | null + tags?: Prisma.TagOnResinListRelationFilter + usageLogs?: Prisma.UsageLogListRelationFilter +}, "id"> + +export type ResinOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + resinType?: Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + bottleSize?: Prisma.SortOrder + usedML?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrderInput | Prisma.SortOrder + cost?: Prisma.SortOrderInput | Prisma.SortOrder + notes?: Prisma.SortOrderInput | Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrderInput | Prisma.SortOrder + locationId?: Prisma.SortOrderInput | Prisma.SortOrder + _count?: Prisma.ResinCountOrderByAggregateInput + _avg?: Prisma.ResinAvgOrderByAggregateInput + _max?: Prisma.ResinMaxOrderByAggregateInput + _min?: Prisma.ResinMinOrderByAggregateInput + _sum?: Prisma.ResinSumOrderByAggregateInput +} + +export type ResinScalarWhereWithAggregatesInput = { + AND?: Prisma.ResinScalarWhereWithAggregatesInput | Prisma.ResinScalarWhereWithAggregatesInput[] + OR?: Prisma.ResinScalarWhereWithAggregatesInput[] + NOT?: Prisma.ResinScalarWhereWithAggregatesInput | Prisma.ResinScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Resin"> | string + name?: Prisma.StringWithAggregatesFilter<"Resin"> | string + brand?: Prisma.StringWithAggregatesFilter<"Resin"> | string + resinType?: Prisma.StringWithAggregatesFilter<"Resin"> | string + color?: Prisma.StringWithAggregatesFilter<"Resin"> | string + colorHex?: Prisma.StringWithAggregatesFilter<"Resin"> | string + bottleSize?: Prisma.FloatWithAggregatesFilter<"Resin"> | number + usedML?: Prisma.FloatWithAggregatesFilter<"Resin"> | number + purchaseDate?: Prisma.DateTimeNullableWithAggregatesFilter<"Resin"> | Date | string | null + cost?: Prisma.FloatNullableWithAggregatesFilter<"Resin"> | number | null + notes?: Prisma.StringNullableWithAggregatesFilter<"Resin"> | string | null + archived?: Prisma.BoolWithAggregatesFilter<"Resin"> | boolean + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Resin"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Resin"> | Date | string + userId?: Prisma.StringWithAggregatesFilter<"Resin"> | string + vendorId?: Prisma.StringNullableWithAggregatesFilter<"Resin"> | string | null + locationId?: Prisma.StringNullableWithAggregatesFilter<"Resin"> | string | null +} + +export type ResinCreateInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutResinsInput + vendor?: Prisma.VendorCreateNestedOneWithoutResinsInput + location?: Prisma.LocationCreateNestedOneWithoutResinsInput + tags?: Prisma.TagOnResinCreateNestedManyWithoutResinInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutResinInput +} + +export type ResinUncheckedCreateInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + locationId?: string | null + tags?: Prisma.TagOnResinUncheckedCreateNestedManyWithoutResinInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutResinInput +} + +export type ResinUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutResinsNestedInput + vendor?: Prisma.VendorUpdateOneWithoutResinsNestedInput + location?: Prisma.LocationUpdateOneWithoutResinsNestedInput + tags?: Prisma.TagOnResinUpdateManyWithoutResinNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutResinNestedInput +} + +export type ResinUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnResinUncheckedUpdateManyWithoutResinNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutResinNestedInput +} + +export type ResinCreateManyInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + locationId?: string | null +} + +export type ResinUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type ResinUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type ResinListRelationFilter = { + every?: Prisma.ResinWhereInput + some?: Prisma.ResinWhereInput + none?: Prisma.ResinWhereInput +} + +export type ResinOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type ResinCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + resinType?: Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + bottleSize?: Prisma.SortOrder + usedML?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrder + cost?: Prisma.SortOrder + notes?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrder + locationId?: Prisma.SortOrder +} + +export type ResinAvgOrderByAggregateInput = { + bottleSize?: Prisma.SortOrder + usedML?: Prisma.SortOrder + cost?: Prisma.SortOrder +} + +export type ResinMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + resinType?: Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + bottleSize?: Prisma.SortOrder + usedML?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrder + cost?: Prisma.SortOrder + notes?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrder + locationId?: Prisma.SortOrder +} + +export type ResinMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + brand?: Prisma.SortOrder + resinType?: Prisma.SortOrder + color?: Prisma.SortOrder + colorHex?: Prisma.SortOrder + bottleSize?: Prisma.SortOrder + usedML?: Prisma.SortOrder + purchaseDate?: Prisma.SortOrder + cost?: Prisma.SortOrder + notes?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + vendorId?: Prisma.SortOrder + locationId?: Prisma.SortOrder +} + +export type ResinSumOrderByAggregateInput = { + bottleSize?: Prisma.SortOrder + usedML?: Prisma.SortOrder + cost?: Prisma.SortOrder +} + +export type ResinScalarRelationFilter = { + is?: Prisma.ResinWhereInput + isNot?: Prisma.ResinWhereInput +} + +export type ResinNullableScalarRelationFilter = { + is?: Prisma.ResinWhereInput | null + isNot?: Prisma.ResinWhereInput | null +} + +export type ResinCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.ResinCreateWithoutUserInput[] | Prisma.ResinUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutUserInput | Prisma.ResinCreateOrConnectWithoutUserInput[] + createMany?: Prisma.ResinCreateManyUserInputEnvelope + connect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] +} + +export type ResinUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.ResinCreateWithoutUserInput[] | Prisma.ResinUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutUserInput | Prisma.ResinCreateOrConnectWithoutUserInput[] + createMany?: Prisma.ResinCreateManyUserInputEnvelope + connect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] +} + +export type ResinUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.ResinCreateWithoutUserInput[] | Prisma.ResinUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutUserInput | Prisma.ResinCreateOrConnectWithoutUserInput[] + upsert?: Prisma.ResinUpsertWithWhereUniqueWithoutUserInput | Prisma.ResinUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.ResinCreateManyUserInputEnvelope + set?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + disconnect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + delete?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + connect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + update?: Prisma.ResinUpdateWithWhereUniqueWithoutUserInput | Prisma.ResinUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.ResinUpdateManyWithWhereWithoutUserInput | Prisma.ResinUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.ResinScalarWhereInput | Prisma.ResinScalarWhereInput[] +} + +export type ResinUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.ResinCreateWithoutUserInput[] | Prisma.ResinUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutUserInput | Prisma.ResinCreateOrConnectWithoutUserInput[] + upsert?: Prisma.ResinUpsertWithWhereUniqueWithoutUserInput | Prisma.ResinUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.ResinCreateManyUserInputEnvelope + set?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + disconnect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + delete?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + connect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + update?: Prisma.ResinUpdateWithWhereUniqueWithoutUserInput | Prisma.ResinUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.ResinUpdateManyWithWhereWithoutUserInput | Prisma.ResinUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.ResinScalarWhereInput | Prisma.ResinScalarWhereInput[] +} + +export type ResinCreateNestedManyWithoutVendorInput = { + create?: Prisma.XOR | Prisma.ResinCreateWithoutVendorInput[] | Prisma.ResinUncheckedCreateWithoutVendorInput[] + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutVendorInput | Prisma.ResinCreateOrConnectWithoutVendorInput[] + createMany?: Prisma.ResinCreateManyVendorInputEnvelope + connect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] +} + +export type ResinUncheckedCreateNestedManyWithoutVendorInput = { + create?: Prisma.XOR | Prisma.ResinCreateWithoutVendorInput[] | Prisma.ResinUncheckedCreateWithoutVendorInput[] + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutVendorInput | Prisma.ResinCreateOrConnectWithoutVendorInput[] + createMany?: Prisma.ResinCreateManyVendorInputEnvelope + connect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] +} + +export type ResinUpdateManyWithoutVendorNestedInput = { + create?: Prisma.XOR | Prisma.ResinCreateWithoutVendorInput[] | Prisma.ResinUncheckedCreateWithoutVendorInput[] + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutVendorInput | Prisma.ResinCreateOrConnectWithoutVendorInput[] + upsert?: Prisma.ResinUpsertWithWhereUniqueWithoutVendorInput | Prisma.ResinUpsertWithWhereUniqueWithoutVendorInput[] + createMany?: Prisma.ResinCreateManyVendorInputEnvelope + set?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + disconnect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + delete?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + connect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + update?: Prisma.ResinUpdateWithWhereUniqueWithoutVendorInput | Prisma.ResinUpdateWithWhereUniqueWithoutVendorInput[] + updateMany?: Prisma.ResinUpdateManyWithWhereWithoutVendorInput | Prisma.ResinUpdateManyWithWhereWithoutVendorInput[] + deleteMany?: Prisma.ResinScalarWhereInput | Prisma.ResinScalarWhereInput[] +} + +export type ResinUncheckedUpdateManyWithoutVendorNestedInput = { + create?: Prisma.XOR | Prisma.ResinCreateWithoutVendorInput[] | Prisma.ResinUncheckedCreateWithoutVendorInput[] + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutVendorInput | Prisma.ResinCreateOrConnectWithoutVendorInput[] + upsert?: Prisma.ResinUpsertWithWhereUniqueWithoutVendorInput | Prisma.ResinUpsertWithWhereUniqueWithoutVendorInput[] + createMany?: Prisma.ResinCreateManyVendorInputEnvelope + set?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + disconnect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + delete?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + connect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + update?: Prisma.ResinUpdateWithWhereUniqueWithoutVendorInput | Prisma.ResinUpdateWithWhereUniqueWithoutVendorInput[] + updateMany?: Prisma.ResinUpdateManyWithWhereWithoutVendorInput | Prisma.ResinUpdateManyWithWhereWithoutVendorInput[] + deleteMany?: Prisma.ResinScalarWhereInput | Prisma.ResinScalarWhereInput[] +} + +export type ResinCreateNestedManyWithoutLocationInput = { + create?: Prisma.XOR | Prisma.ResinCreateWithoutLocationInput[] | Prisma.ResinUncheckedCreateWithoutLocationInput[] + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutLocationInput | Prisma.ResinCreateOrConnectWithoutLocationInput[] + createMany?: Prisma.ResinCreateManyLocationInputEnvelope + connect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] +} + +export type ResinUncheckedCreateNestedManyWithoutLocationInput = { + create?: Prisma.XOR | Prisma.ResinCreateWithoutLocationInput[] | Prisma.ResinUncheckedCreateWithoutLocationInput[] + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutLocationInput | Prisma.ResinCreateOrConnectWithoutLocationInput[] + createMany?: Prisma.ResinCreateManyLocationInputEnvelope + connect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] +} + +export type ResinUpdateManyWithoutLocationNestedInput = { + create?: Prisma.XOR | Prisma.ResinCreateWithoutLocationInput[] | Prisma.ResinUncheckedCreateWithoutLocationInput[] + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutLocationInput | Prisma.ResinCreateOrConnectWithoutLocationInput[] + upsert?: Prisma.ResinUpsertWithWhereUniqueWithoutLocationInput | Prisma.ResinUpsertWithWhereUniqueWithoutLocationInput[] + createMany?: Prisma.ResinCreateManyLocationInputEnvelope + set?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + disconnect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + delete?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + connect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + update?: Prisma.ResinUpdateWithWhereUniqueWithoutLocationInput | Prisma.ResinUpdateWithWhereUniqueWithoutLocationInput[] + updateMany?: Prisma.ResinUpdateManyWithWhereWithoutLocationInput | Prisma.ResinUpdateManyWithWhereWithoutLocationInput[] + deleteMany?: Prisma.ResinScalarWhereInput | Prisma.ResinScalarWhereInput[] +} + +export type ResinUncheckedUpdateManyWithoutLocationNestedInput = { + create?: Prisma.XOR | Prisma.ResinCreateWithoutLocationInput[] | Prisma.ResinUncheckedCreateWithoutLocationInput[] + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutLocationInput | Prisma.ResinCreateOrConnectWithoutLocationInput[] + upsert?: Prisma.ResinUpsertWithWhereUniqueWithoutLocationInput | Prisma.ResinUpsertWithWhereUniqueWithoutLocationInput[] + createMany?: Prisma.ResinCreateManyLocationInputEnvelope + set?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + disconnect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + delete?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + connect?: Prisma.ResinWhereUniqueInput | Prisma.ResinWhereUniqueInput[] + update?: Prisma.ResinUpdateWithWhereUniqueWithoutLocationInput | Prisma.ResinUpdateWithWhereUniqueWithoutLocationInput[] + updateMany?: Prisma.ResinUpdateManyWithWhereWithoutLocationInput | Prisma.ResinUpdateManyWithWhereWithoutLocationInput[] + deleteMany?: Prisma.ResinScalarWhereInput | Prisma.ResinScalarWhereInput[] +} + +export type ResinCreateNestedOneWithoutTagsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutTagsInput + connect?: Prisma.ResinWhereUniqueInput +} + +export type ResinUpdateOneRequiredWithoutTagsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutTagsInput + upsert?: Prisma.ResinUpsertWithoutTagsInput + connect?: Prisma.ResinWhereUniqueInput + update?: Prisma.XOR, Prisma.ResinUncheckedUpdateWithoutTagsInput> +} + +export type ResinCreateNestedOneWithoutUsageLogsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutUsageLogsInput + connect?: Prisma.ResinWhereUniqueInput +} + +export type ResinUpdateOneWithoutUsageLogsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.ResinCreateOrConnectWithoutUsageLogsInput + upsert?: Prisma.ResinUpsertWithoutUsageLogsInput + disconnect?: Prisma.ResinWhereInput | boolean + delete?: Prisma.ResinWhereInput | boolean + connect?: Prisma.ResinWhereUniqueInput + update?: Prisma.XOR, Prisma.ResinUncheckedUpdateWithoutUsageLogsInput> +} + +export type ResinCreateWithoutUserInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + vendor?: Prisma.VendorCreateNestedOneWithoutResinsInput + location?: Prisma.LocationCreateNestedOneWithoutResinsInput + tags?: Prisma.TagOnResinCreateNestedManyWithoutResinInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutResinInput +} + +export type ResinUncheckedCreateWithoutUserInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + vendorId?: string | null + locationId?: string | null + tags?: Prisma.TagOnResinUncheckedCreateNestedManyWithoutResinInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutResinInput +} + +export type ResinCreateOrConnectWithoutUserInput = { + where: Prisma.ResinWhereUniqueInput + create: Prisma.XOR +} + +export type ResinCreateManyUserInputEnvelope = { + data: Prisma.ResinCreateManyUserInput | Prisma.ResinCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type ResinUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.ResinWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type ResinUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.ResinWhereUniqueInput + data: Prisma.XOR +} + +export type ResinUpdateManyWithWhereWithoutUserInput = { + where: Prisma.ResinScalarWhereInput + data: Prisma.XOR +} + +export type ResinScalarWhereInput = { + AND?: Prisma.ResinScalarWhereInput | Prisma.ResinScalarWhereInput[] + OR?: Prisma.ResinScalarWhereInput[] + NOT?: Prisma.ResinScalarWhereInput | Prisma.ResinScalarWhereInput[] + id?: Prisma.StringFilter<"Resin"> | string + name?: Prisma.StringFilter<"Resin"> | string + brand?: Prisma.StringFilter<"Resin"> | string + resinType?: Prisma.StringFilter<"Resin"> | string + color?: Prisma.StringFilter<"Resin"> | string + colorHex?: Prisma.StringFilter<"Resin"> | string + bottleSize?: Prisma.FloatFilter<"Resin"> | number + usedML?: Prisma.FloatFilter<"Resin"> | number + purchaseDate?: Prisma.DateTimeNullableFilter<"Resin"> | Date | string | null + cost?: Prisma.FloatNullableFilter<"Resin"> | number | null + notes?: Prisma.StringNullableFilter<"Resin"> | string | null + archived?: Prisma.BoolFilter<"Resin"> | boolean + createdAt?: Prisma.DateTimeFilter<"Resin"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Resin"> | Date | string + userId?: Prisma.StringFilter<"Resin"> | string + vendorId?: Prisma.StringNullableFilter<"Resin"> | string | null + locationId?: Prisma.StringNullableFilter<"Resin"> | string | null +} + +export type ResinCreateWithoutVendorInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutResinsInput + location?: Prisma.LocationCreateNestedOneWithoutResinsInput + tags?: Prisma.TagOnResinCreateNestedManyWithoutResinInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutResinInput +} + +export type ResinUncheckedCreateWithoutVendorInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + locationId?: string | null + tags?: Prisma.TagOnResinUncheckedCreateNestedManyWithoutResinInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutResinInput +} + +export type ResinCreateOrConnectWithoutVendorInput = { + where: Prisma.ResinWhereUniqueInput + create: Prisma.XOR +} + +export type ResinCreateManyVendorInputEnvelope = { + data: Prisma.ResinCreateManyVendorInput | Prisma.ResinCreateManyVendorInput[] + skipDuplicates?: boolean +} + +export type ResinUpsertWithWhereUniqueWithoutVendorInput = { + where: Prisma.ResinWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type ResinUpdateWithWhereUniqueWithoutVendorInput = { + where: Prisma.ResinWhereUniqueInput + data: Prisma.XOR +} + +export type ResinUpdateManyWithWhereWithoutVendorInput = { + where: Prisma.ResinScalarWhereInput + data: Prisma.XOR +} + +export type ResinCreateWithoutLocationInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutResinsInput + vendor?: Prisma.VendorCreateNestedOneWithoutResinsInput + tags?: Prisma.TagOnResinCreateNestedManyWithoutResinInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutResinInput +} + +export type ResinUncheckedCreateWithoutLocationInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + tags?: Prisma.TagOnResinUncheckedCreateNestedManyWithoutResinInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutResinInput +} + +export type ResinCreateOrConnectWithoutLocationInput = { + where: Prisma.ResinWhereUniqueInput + create: Prisma.XOR +} + +export type ResinCreateManyLocationInputEnvelope = { + data: Prisma.ResinCreateManyLocationInput | Prisma.ResinCreateManyLocationInput[] + skipDuplicates?: boolean +} + +export type ResinUpsertWithWhereUniqueWithoutLocationInput = { + where: Prisma.ResinWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type ResinUpdateWithWhereUniqueWithoutLocationInput = { + where: Prisma.ResinWhereUniqueInput + data: Prisma.XOR +} + +export type ResinUpdateManyWithWhereWithoutLocationInput = { + where: Prisma.ResinScalarWhereInput + data: Prisma.XOR +} + +export type ResinCreateWithoutTagsInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutResinsInput + vendor?: Prisma.VendorCreateNestedOneWithoutResinsInput + location?: Prisma.LocationCreateNestedOneWithoutResinsInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutResinInput +} + +export type ResinUncheckedCreateWithoutTagsInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + locationId?: string | null + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutResinInput +} + +export type ResinCreateOrConnectWithoutTagsInput = { + where: Prisma.ResinWhereUniqueInput + create: Prisma.XOR +} + +export type ResinUpsertWithoutTagsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.ResinWhereInput +} + +export type ResinUpdateToOneWithWhereWithoutTagsInput = { + where?: Prisma.ResinWhereInput + data: Prisma.XOR +} + +export type ResinUpdateWithoutTagsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutResinsNestedInput + vendor?: Prisma.VendorUpdateOneWithoutResinsNestedInput + location?: Prisma.LocationUpdateOneWithoutResinsNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutResinNestedInput +} + +export type ResinUncheckedUpdateWithoutTagsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutResinNestedInput +} + +export type ResinCreateWithoutUsageLogsInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutResinsInput + vendor?: Prisma.VendorCreateNestedOneWithoutResinsInput + location?: Prisma.LocationCreateNestedOneWithoutResinsInput + tags?: Prisma.TagOnResinCreateNestedManyWithoutResinInput +} + +export type ResinUncheckedCreateWithoutUsageLogsInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null + locationId?: string | null + tags?: Prisma.TagOnResinUncheckedCreateNestedManyWithoutResinInput +} + +export type ResinCreateOrConnectWithoutUsageLogsInput = { + where: Prisma.ResinWhereUniqueInput + create: Prisma.XOR +} + +export type ResinUpsertWithoutUsageLogsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.ResinWhereInput +} + +export type ResinUpdateToOneWithWhereWithoutUsageLogsInput = { + where?: Prisma.ResinWhereInput + data: Prisma.XOR +} + +export type ResinUpdateWithoutUsageLogsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutResinsNestedInput + vendor?: Prisma.VendorUpdateOneWithoutResinsNestedInput + location?: Prisma.LocationUpdateOneWithoutResinsNestedInput + tags?: Prisma.TagOnResinUpdateManyWithoutResinNestedInput +} + +export type ResinUncheckedUpdateWithoutUsageLogsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnResinUncheckedUpdateManyWithoutResinNestedInput +} + +export type ResinCreateManyUserInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + vendorId?: string | null + locationId?: string | null +} + +export type ResinUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + vendor?: Prisma.VendorUpdateOneWithoutResinsNestedInput + location?: Prisma.LocationUpdateOneWithoutResinsNestedInput + tags?: Prisma.TagOnResinUpdateManyWithoutResinNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutResinNestedInput +} + +export type ResinUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnResinUncheckedUpdateManyWithoutResinNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutResinNestedInput +} + +export type ResinUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type ResinCreateManyVendorInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + locationId?: string | null +} + +export type ResinUpdateWithoutVendorInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutResinsNestedInput + location?: Prisma.LocationUpdateOneWithoutResinsNestedInput + tags?: Prisma.TagOnResinUpdateManyWithoutResinNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutResinNestedInput +} + +export type ResinUncheckedUpdateWithoutVendorInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnResinUncheckedUpdateManyWithoutResinNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutResinNestedInput +} + +export type ResinUncheckedUpdateManyWithoutVendorInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + locationId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type ResinCreateManyLocationInput = { + id?: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML?: number + purchaseDate?: Date | string | null + cost?: number | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + vendorId?: string | null +} + +export type ResinUpdateWithoutLocationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutResinsNestedInput + vendor?: Prisma.VendorUpdateOneWithoutResinsNestedInput + tags?: Prisma.TagOnResinUpdateManyWithoutResinNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutResinNestedInput +} + +export type ResinUncheckedUpdateWithoutLocationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.TagOnResinUncheckedUpdateManyWithoutResinNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutResinNestedInput +} + +export type ResinUncheckedUpdateManyWithoutLocationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + brand?: Prisma.StringFieldUpdateOperationsInput | string + resinType?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + colorHex?: Prisma.StringFieldUpdateOperationsInput | string + bottleSize?: Prisma.FloatFieldUpdateOperationsInput | number + usedML?: Prisma.FloatFieldUpdateOperationsInput | number + purchaseDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cost?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + vendorId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + + +/** + * Count Type ResinCountOutputType + */ + +export type ResinCountOutputType = { + tags: number + usageLogs: number +} + +export type ResinCountOutputTypeSelect = { + tags?: boolean | ResinCountOutputTypeCountTagsArgs + usageLogs?: boolean | ResinCountOutputTypeCountUsageLogsArgs +} + +/** + * ResinCountOutputType without action + */ +export type ResinCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the ResinCountOutputType + */ + select?: Prisma.ResinCountOutputTypeSelect | null +} + +/** + * ResinCountOutputType without action + */ +export type ResinCountOutputTypeCountTagsArgs = { + where?: Prisma.TagOnResinWhereInput +} + +/** + * ResinCountOutputType without action + */ +export type ResinCountOutputTypeCountUsageLogsArgs = { + where?: Prisma.UsageLogWhereInput +} + + +export type ResinSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + brand?: boolean + resinType?: boolean + color?: boolean + colorHex?: boolean + bottleSize?: boolean + usedML?: boolean + purchaseDate?: boolean + cost?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + vendorId?: boolean + locationId?: boolean + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Resin$vendorArgs + location?: boolean | Prisma.Resin$locationArgs + tags?: boolean | Prisma.Resin$tagsArgs + usageLogs?: boolean | Prisma.Resin$usageLogsArgs + _count?: boolean | Prisma.ResinCountOutputTypeDefaultArgs +}, ExtArgs["result"]["resin"]> + +export type ResinSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + brand?: boolean + resinType?: boolean + color?: boolean + colorHex?: boolean + bottleSize?: boolean + usedML?: boolean + purchaseDate?: boolean + cost?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + vendorId?: boolean + locationId?: boolean + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Resin$vendorArgs + location?: boolean | Prisma.Resin$locationArgs +}, ExtArgs["result"]["resin"]> + +export type ResinSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + brand?: boolean + resinType?: boolean + color?: boolean + colorHex?: boolean + bottleSize?: boolean + usedML?: boolean + purchaseDate?: boolean + cost?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + vendorId?: boolean + locationId?: boolean + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Resin$vendorArgs + location?: boolean | Prisma.Resin$locationArgs +}, ExtArgs["result"]["resin"]> + +export type ResinSelectScalar = { + id?: boolean + name?: boolean + brand?: boolean + resinType?: boolean + color?: boolean + colorHex?: boolean + bottleSize?: boolean + usedML?: boolean + purchaseDate?: boolean + cost?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + vendorId?: boolean + locationId?: boolean +} + +export type ResinOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "brand" | "resinType" | "color" | "colorHex" | "bottleSize" | "usedML" | "purchaseDate" | "cost" | "notes" | "archived" | "createdAt" | "updatedAt" | "userId" | "vendorId" | "locationId", ExtArgs["result"]["resin"]> +export type ResinInclude = { + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Resin$vendorArgs + location?: boolean | Prisma.Resin$locationArgs + tags?: boolean | Prisma.Resin$tagsArgs + usageLogs?: boolean | Prisma.Resin$usageLogsArgs + _count?: boolean | Prisma.ResinCountOutputTypeDefaultArgs +} +export type ResinIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Resin$vendorArgs + location?: boolean | Prisma.Resin$locationArgs +} +export type ResinIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs + vendor?: boolean | Prisma.Resin$vendorArgs + location?: boolean | Prisma.Resin$locationArgs +} + +export type $ResinPayload = { + name: "Resin" + objects: { + user: Prisma.$UserPayload + vendor: Prisma.$VendorPayload | null + location: Prisma.$LocationPayload | null + tags: Prisma.$TagOnResinPayload[] + usageLogs: Prisma.$UsageLogPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + brand: string + resinType: string + color: string + colorHex: string + bottleSize: number + usedML: number + purchaseDate: Date | null + cost: number | null + notes: string | null + archived: boolean + createdAt: Date + updatedAt: Date + userId: string + vendorId: string | null + locationId: string | null + }, ExtArgs["result"]["resin"]> + composites: {} +} + +export type ResinGetPayload = runtime.Types.Result.GetResult + +export type ResinCountArgs = + Omit & { + select?: ResinCountAggregateInputType | true + } + +export interface ResinDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Resin'], meta: { name: 'Resin' } } + /** + * Find zero or one Resin that matches the filter. + * @param {ResinFindUniqueArgs} args - Arguments to find a Resin + * @example + * // Get one Resin + * const resin = await prisma.resin.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__ResinClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Resin that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {ResinFindUniqueOrThrowArgs} args - Arguments to find a Resin + * @example + * // Get one Resin + * const resin = await prisma.resin.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__ResinClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Resin 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 {ResinFindFirstArgs} args - Arguments to find a Resin + * @example + * // Get one Resin + * const resin = await prisma.resin.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__ResinClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Resin 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 {ResinFindFirstOrThrowArgs} args - Arguments to find a Resin + * @example + * // Get one Resin + * const resin = await prisma.resin.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__ResinClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Resins 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 {ResinFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Resins + * const resins = await prisma.resin.findMany() + * + * // Get first 10 Resins + * const resins = await prisma.resin.findMany({ take: 10 }) + * + * // Only select the `id` + * const resinWithIdOnly = await prisma.resin.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Resin. + * @param {ResinCreateArgs} args - Arguments to create a Resin. + * @example + * // Create one Resin + * const Resin = await prisma.resin.create({ + * data: { + * // ... data to create a Resin + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__ResinClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Resins. + * @param {ResinCreateManyArgs} args - Arguments to create many Resins. + * @example + * // Create many Resins + * const resin = await prisma.resin.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Resins and returns the data saved in the database. + * @param {ResinCreateManyAndReturnArgs} args - Arguments to create many Resins. + * @example + * // Create many Resins + * const resin = await prisma.resin.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Resins and only return the `id` + * const resinWithIdOnly = await prisma.resin.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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Resin. + * @param {ResinDeleteArgs} args - Arguments to delete one Resin. + * @example + * // Delete one Resin + * const Resin = await prisma.resin.delete({ + * where: { + * // ... filter to delete one Resin + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__ResinClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Resin. + * @param {ResinUpdateArgs} args - Arguments to update one Resin. + * @example + * // Update one Resin + * const resin = await prisma.resin.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__ResinClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Resins. + * @param {ResinDeleteManyArgs} args - Arguments to filter Resins to delete. + * @example + * // Delete a few Resins + * const { count } = await prisma.resin.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Resins. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ResinUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Resins + * const resin = await prisma.resin.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Resins and returns the data updated in the database. + * @param {ResinUpdateManyAndReturnArgs} args - Arguments to update many Resins. + * @example + * // Update many Resins + * const resin = await prisma.resin.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Resins and only return the `id` + * const resinWithIdOnly = await prisma.resin.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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Resin. + * @param {ResinUpsertArgs} args - Arguments to update or create a Resin. + * @example + * // Update or create a Resin + * const resin = await prisma.resin.upsert({ + * create: { + * // ... data to create a Resin + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Resin we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__ResinClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Resins. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ResinCountArgs} args - Arguments to filter Resins to count. + * @example + * // Count the number of Resins + * const count = await prisma.resin.count({ + * where: { + * // ... the filter for the Resins we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Resin. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ResinAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Resin. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ResinGroupByArgs} 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 ResinGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: ResinGroupByArgs['orderBy'] } + : { orderBy?: ResinGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetResinGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Resin model + */ +readonly fields: ResinFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Resin. + * 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__ResinClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + vendor = {}>(args?: Prisma.Subset>): Prisma.Prisma__VendorClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + location = {}>(args?: Prisma.Subset>): Prisma.Prisma__LocationClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + tags = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + usageLogs = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Resin model + */ +export interface ResinFieldRefs { + readonly id: Prisma.FieldRef<"Resin", 'String'> + readonly name: Prisma.FieldRef<"Resin", 'String'> + readonly brand: Prisma.FieldRef<"Resin", 'String'> + readonly resinType: Prisma.FieldRef<"Resin", 'String'> + readonly color: Prisma.FieldRef<"Resin", 'String'> + readonly colorHex: Prisma.FieldRef<"Resin", 'String'> + readonly bottleSize: Prisma.FieldRef<"Resin", 'Float'> + readonly usedML: Prisma.FieldRef<"Resin", 'Float'> + readonly purchaseDate: Prisma.FieldRef<"Resin", 'DateTime'> + readonly cost: Prisma.FieldRef<"Resin", 'Float'> + readonly notes: Prisma.FieldRef<"Resin", 'String'> + readonly archived: Prisma.FieldRef<"Resin", 'Boolean'> + readonly createdAt: Prisma.FieldRef<"Resin", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Resin", 'DateTime'> + readonly userId: Prisma.FieldRef<"Resin", 'String'> + readonly vendorId: Prisma.FieldRef<"Resin", 'String'> + readonly locationId: Prisma.FieldRef<"Resin", 'String'> +} + + +// Custom InputTypes +/** + * Resin findUnique + */ +export type ResinFindUniqueArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null + /** + * Filter, which Resin to fetch. + */ + where: Prisma.ResinWhereUniqueInput +} + +/** + * Resin findUniqueOrThrow + */ +export type ResinFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null + /** + * Filter, which Resin to fetch. + */ + where: Prisma.ResinWhereUniqueInput +} + +/** + * Resin findFirst + */ +export type ResinFindFirstArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null + /** + * Filter, which Resin to fetch. + */ + where?: Prisma.ResinWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Resins to fetch. + */ + orderBy?: Prisma.ResinOrderByWithRelationInput | Prisma.ResinOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Resins. + */ + cursor?: Prisma.ResinWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Resins 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` Resins. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Resins. + */ + distinct?: Prisma.ResinScalarFieldEnum | Prisma.ResinScalarFieldEnum[] +} + +/** + * Resin findFirstOrThrow + */ +export type ResinFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null + /** + * Filter, which Resin to fetch. + */ + where?: Prisma.ResinWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Resins to fetch. + */ + orderBy?: Prisma.ResinOrderByWithRelationInput | Prisma.ResinOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Resins. + */ + cursor?: Prisma.ResinWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Resins 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` Resins. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Resins. + */ + distinct?: Prisma.ResinScalarFieldEnum | Prisma.ResinScalarFieldEnum[] +} + +/** + * Resin findMany + */ +export type ResinFindManyArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null + /** + * Filter, which Resins to fetch. + */ + where?: Prisma.ResinWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Resins to fetch. + */ + orderBy?: Prisma.ResinOrderByWithRelationInput | Prisma.ResinOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Resins. + */ + cursor?: Prisma.ResinWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Resins 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` Resins. + */ + skip?: number + distinct?: Prisma.ResinScalarFieldEnum | Prisma.ResinScalarFieldEnum[] +} + +/** + * Resin create + */ +export type ResinCreateArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null + /** + * The data needed to create a Resin. + */ + data: Prisma.XOR +} + +/** + * Resin createMany + */ +export type ResinCreateManyArgs = { + /** + * The data used to create many Resins. + */ + data: Prisma.ResinCreateManyInput | Prisma.ResinCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Resin createManyAndReturn + */ +export type ResinCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * The data used to create many Resins. + */ + data: Prisma.ResinCreateManyInput | Prisma.ResinCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinIncludeCreateManyAndReturn | null +} + +/** + * Resin update + */ +export type ResinUpdateArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null + /** + * The data needed to update a Resin. + */ + data: Prisma.XOR + /** + * Choose, which Resin to update. + */ + where: Prisma.ResinWhereUniqueInput +} + +/** + * Resin updateMany + */ +export type ResinUpdateManyArgs = { + /** + * The data used to update Resins. + */ + data: Prisma.XOR + /** + * Filter which Resins to update + */ + where?: Prisma.ResinWhereInput + /** + * Limit how many Resins to update. + */ + limit?: number +} + +/** + * Resin updateManyAndReturn + */ +export type ResinUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * The data used to update Resins. + */ + data: Prisma.XOR + /** + * Filter which Resins to update + */ + where?: Prisma.ResinWhereInput + /** + * Limit how many Resins to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinIncludeUpdateManyAndReturn | null +} + +/** + * Resin upsert + */ +export type ResinUpsertArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null + /** + * The filter to search for the Resin to update in case it exists. + */ + where: Prisma.ResinWhereUniqueInput + /** + * In case the Resin found by the `where` argument doesn't exist, create a new Resin with this data. + */ + create: Prisma.XOR + /** + * In case the Resin was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Resin delete + */ +export type ResinDeleteArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null + /** + * Filter which Resin to delete. + */ + where: Prisma.ResinWhereUniqueInput +} + +/** + * Resin deleteMany + */ +export type ResinDeleteManyArgs = { + /** + * Filter which Resins to delete + */ + where?: Prisma.ResinWhereInput + /** + * Limit how many Resins to delete. + */ + limit?: number +} + +/** + * Resin.vendor + */ +export type Resin$vendorArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null + where?: Prisma.VendorWhereInput +} + +/** + * Resin.location + */ +export type Resin$locationArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null + where?: Prisma.LocationWhereInput +} + +/** + * Resin.tags + */ +export type Resin$tagsArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelect | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinInclude | null + where?: Prisma.TagOnResinWhereInput + orderBy?: Prisma.TagOnResinOrderByWithRelationInput | Prisma.TagOnResinOrderByWithRelationInput[] + cursor?: Prisma.TagOnResinWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TagOnResinScalarFieldEnum | Prisma.TagOnResinScalarFieldEnum[] +} + +/** + * Resin.usageLogs + */ +export type Resin$usageLogsArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null + where?: Prisma.UsageLogWhereInput + orderBy?: Prisma.UsageLogOrderByWithRelationInput | Prisma.UsageLogOrderByWithRelationInput[] + cursor?: Prisma.UsageLogWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.UsageLogScalarFieldEnum | Prisma.UsageLogScalarFieldEnum[] +} + +/** + * Resin without action + */ +export type ResinDefaultArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null +} diff --git a/src/generated/prisma/models/Session.ts b/src/generated/prisma/models/Session.ts new file mode 100644 index 0000000..a015126 --- /dev/null +++ b/src/generated/prisma/models/Session.ts @@ -0,0 +1,1305 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Session` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model Session + * + */ +export type SessionModel = runtime.Types.Result.DefaultSelection + +export type AggregateSession = { + _count: SessionCountAggregateOutputType | null + _min: SessionMinAggregateOutputType | null + _max: SessionMaxAggregateOutputType | null +} + +export type SessionMinAggregateOutputType = { + id: string | null + sessionToken: string | null + userId: string | null + expires: Date | null +} + +export type SessionMaxAggregateOutputType = { + id: string | null + sessionToken: string | null + userId: string | null + expires: Date | null +} + +export type SessionCountAggregateOutputType = { + id: number + sessionToken: number + userId: number + expires: number + _all: number +} + + +export type SessionMinAggregateInputType = { + id?: true + sessionToken?: true + userId?: true + expires?: true +} + +export type SessionMaxAggregateInputType = { + id?: true + sessionToken?: true + userId?: true + expires?: true +} + +export type SessionCountAggregateInputType = { + id?: true + sessionToken?: true + userId?: true + expires?: true + _all?: true +} + +export type SessionAggregateArgs = { + /** + * Filter which Session to aggregate. + */ + where?: Prisma.SessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Sessions to fetch. + */ + orderBy?: Prisma.SessionOrderByWithRelationInput | Prisma.SessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.SessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Sessions 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` Sessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Sessions + **/ + _count?: true | SessionCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: SessionMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: SessionMaxAggregateInputType +} + +export type GetSessionAggregateType = { + [P in keyof T & keyof AggregateSession]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type SessionGroupByArgs = { + where?: Prisma.SessionWhereInput + orderBy?: Prisma.SessionOrderByWithAggregationInput | Prisma.SessionOrderByWithAggregationInput[] + by: Prisma.SessionScalarFieldEnum[] | Prisma.SessionScalarFieldEnum + having?: Prisma.SessionScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: SessionCountAggregateInputType | true + _min?: SessionMinAggregateInputType + _max?: SessionMaxAggregateInputType +} + +export type SessionGroupByOutputType = { + id: string + sessionToken: string + userId: string + expires: Date + _count: SessionCountAggregateOutputType | null + _min: SessionMinAggregateOutputType | null + _max: SessionMaxAggregateOutputType | null +} + +type GetSessionGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof SessionGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type SessionWhereInput = { + AND?: Prisma.SessionWhereInput | Prisma.SessionWhereInput[] + OR?: Prisma.SessionWhereInput[] + NOT?: Prisma.SessionWhereInput | Prisma.SessionWhereInput[] + id?: Prisma.StringFilter<"Session"> | string + sessionToken?: Prisma.StringFilter<"Session"> | string + userId?: Prisma.StringFilter<"Session"> | string + expires?: Prisma.DateTimeFilter<"Session"> | Date | string + user?: Prisma.XOR +} + +export type SessionOrderByWithRelationInput = { + id?: Prisma.SortOrder + sessionToken?: Prisma.SortOrder + userId?: Prisma.SortOrder + expires?: Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput +} + +export type SessionWhereUniqueInput = Prisma.AtLeast<{ + id?: string + sessionToken?: string + AND?: Prisma.SessionWhereInput | Prisma.SessionWhereInput[] + OR?: Prisma.SessionWhereInput[] + NOT?: Prisma.SessionWhereInput | Prisma.SessionWhereInput[] + userId?: Prisma.StringFilter<"Session"> | string + expires?: Prisma.DateTimeFilter<"Session"> | Date | string + user?: Prisma.XOR +}, "id" | "sessionToken"> + +export type SessionOrderByWithAggregationInput = { + id?: Prisma.SortOrder + sessionToken?: Prisma.SortOrder + userId?: Prisma.SortOrder + expires?: Prisma.SortOrder + _count?: Prisma.SessionCountOrderByAggregateInput + _max?: Prisma.SessionMaxOrderByAggregateInput + _min?: Prisma.SessionMinOrderByAggregateInput +} + +export type SessionScalarWhereWithAggregatesInput = { + AND?: Prisma.SessionScalarWhereWithAggregatesInput | Prisma.SessionScalarWhereWithAggregatesInput[] + OR?: Prisma.SessionScalarWhereWithAggregatesInput[] + NOT?: Prisma.SessionScalarWhereWithAggregatesInput | Prisma.SessionScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Session"> | string + sessionToken?: Prisma.StringWithAggregatesFilter<"Session"> | string + userId?: Prisma.StringWithAggregatesFilter<"Session"> | string + expires?: Prisma.DateTimeWithAggregatesFilter<"Session"> | Date | string +} + +export type SessionCreateInput = { + id?: string + sessionToken: string + expires: Date | string + user: Prisma.UserCreateNestedOneWithoutSessionsInput +} + +export type SessionUncheckedCreateInput = { + id?: string + sessionToken: string + userId: string + expires: Date | string +} + +export type SessionUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + sessionToken?: Prisma.StringFieldUpdateOperationsInput | string + expires?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutSessionsNestedInput +} + +export type SessionUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + sessionToken?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + expires?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type SessionCreateManyInput = { + id?: string + sessionToken: string + userId: string + expires: Date | string +} + +export type SessionUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + sessionToken?: Prisma.StringFieldUpdateOperationsInput | string + expires?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type SessionUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + sessionToken?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + expires?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type SessionListRelationFilter = { + every?: Prisma.SessionWhereInput + some?: Prisma.SessionWhereInput + none?: Prisma.SessionWhereInput +} + +export type SessionOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type SessionCountOrderByAggregateInput = { + id?: Prisma.SortOrder + sessionToken?: Prisma.SortOrder + userId?: Prisma.SortOrder + expires?: Prisma.SortOrder +} + +export type SessionMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + sessionToken?: Prisma.SortOrder + userId?: Prisma.SortOrder + expires?: Prisma.SortOrder +} + +export type SessionMinOrderByAggregateInput = { + id?: Prisma.SortOrder + sessionToken?: Prisma.SortOrder + userId?: Prisma.SortOrder + expires?: Prisma.SortOrder +} + +export type SessionCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.SessionCreateWithoutUserInput[] | Prisma.SessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.SessionCreateOrConnectWithoutUserInput | Prisma.SessionCreateOrConnectWithoutUserInput[] + createMany?: Prisma.SessionCreateManyUserInputEnvelope + connect?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] +} + +export type SessionUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.SessionCreateWithoutUserInput[] | Prisma.SessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.SessionCreateOrConnectWithoutUserInput | Prisma.SessionCreateOrConnectWithoutUserInput[] + createMany?: Prisma.SessionCreateManyUserInputEnvelope + connect?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] +} + +export type SessionUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.SessionCreateWithoutUserInput[] | Prisma.SessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.SessionCreateOrConnectWithoutUserInput | Prisma.SessionCreateOrConnectWithoutUserInput[] + upsert?: Prisma.SessionUpsertWithWhereUniqueWithoutUserInput | Prisma.SessionUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.SessionCreateManyUserInputEnvelope + set?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + disconnect?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + delete?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + connect?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + update?: Prisma.SessionUpdateWithWhereUniqueWithoutUserInput | Prisma.SessionUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.SessionUpdateManyWithWhereWithoutUserInput | Prisma.SessionUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.SessionScalarWhereInput | Prisma.SessionScalarWhereInput[] +} + +export type SessionUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.SessionCreateWithoutUserInput[] | Prisma.SessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.SessionCreateOrConnectWithoutUserInput | Prisma.SessionCreateOrConnectWithoutUserInput[] + upsert?: Prisma.SessionUpsertWithWhereUniqueWithoutUserInput | Prisma.SessionUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.SessionCreateManyUserInputEnvelope + set?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + disconnect?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + delete?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + connect?: Prisma.SessionWhereUniqueInput | Prisma.SessionWhereUniqueInput[] + update?: Prisma.SessionUpdateWithWhereUniqueWithoutUserInput | Prisma.SessionUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.SessionUpdateManyWithWhereWithoutUserInput | Prisma.SessionUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.SessionScalarWhereInput | Prisma.SessionScalarWhereInput[] +} + +export type SessionCreateWithoutUserInput = { + id?: string + sessionToken: string + expires: Date | string +} + +export type SessionUncheckedCreateWithoutUserInput = { + id?: string + sessionToken: string + expires: Date | string +} + +export type SessionCreateOrConnectWithoutUserInput = { + where: Prisma.SessionWhereUniqueInput + create: Prisma.XOR +} + +export type SessionCreateManyUserInputEnvelope = { + data: Prisma.SessionCreateManyUserInput | Prisma.SessionCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type SessionUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.SessionWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type SessionUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.SessionWhereUniqueInput + data: Prisma.XOR +} + +export type SessionUpdateManyWithWhereWithoutUserInput = { + where: Prisma.SessionScalarWhereInput + data: Prisma.XOR +} + +export type SessionScalarWhereInput = { + AND?: Prisma.SessionScalarWhereInput | Prisma.SessionScalarWhereInput[] + OR?: Prisma.SessionScalarWhereInput[] + NOT?: Prisma.SessionScalarWhereInput | Prisma.SessionScalarWhereInput[] + id?: Prisma.StringFilter<"Session"> | string + sessionToken?: Prisma.StringFilter<"Session"> | string + userId?: Prisma.StringFilter<"Session"> | string + expires?: Prisma.DateTimeFilter<"Session"> | Date | string +} + +export type SessionCreateManyUserInput = { + id?: string + sessionToken: string + expires: Date | string +} + +export type SessionUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + sessionToken?: Prisma.StringFieldUpdateOperationsInput | string + expires?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type SessionUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + sessionToken?: Prisma.StringFieldUpdateOperationsInput | string + expires?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type SessionUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + sessionToken?: Prisma.StringFieldUpdateOperationsInput | string + expires?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + + +export type SessionSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + sessionToken?: boolean + userId?: boolean + expires?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["session"]> + +export type SessionSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + sessionToken?: boolean + userId?: boolean + expires?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["session"]> + +export type SessionSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + sessionToken?: boolean + userId?: boolean + expires?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["session"]> + +export type SessionSelectScalar = { + id?: boolean + sessionToken?: boolean + userId?: boolean + expires?: boolean +} + +export type SessionOmit = runtime.Types.Extensions.GetOmit<"id" | "sessionToken" | "userId" | "expires", ExtArgs["result"]["session"]> +export type SessionInclude = { + user?: boolean | Prisma.UserDefaultArgs +} +export type SessionIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} +export type SessionIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} + +export type $SessionPayload = { + name: "Session" + objects: { + user: Prisma.$UserPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + sessionToken: string + userId: string + expires: Date + }, ExtArgs["result"]["session"]> + composites: {} +} + +export type SessionGetPayload = runtime.Types.Result.GetResult + +export type SessionCountArgs = + Omit & { + select?: SessionCountAggregateInputType | true + } + +export interface SessionDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Session'], meta: { name: 'Session' } } + /** + * Find zero or one Session that matches the filter. + * @param {SessionFindUniqueArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Session that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {SessionFindUniqueOrThrowArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Session 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 {SessionFindFirstArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Session 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 {SessionFindFirstOrThrowArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Sessions 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 {SessionFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Sessions + * const sessions = await prisma.session.findMany() + * + * // Get first 10 Sessions + * const sessions = await prisma.session.findMany({ take: 10 }) + * + * // Only select the `id` + * const sessionWithIdOnly = await prisma.session.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Session. + * @param {SessionCreateArgs} args - Arguments to create a Session. + * @example + * // Create one Session + * const Session = await prisma.session.create({ + * data: { + * // ... data to create a Session + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Sessions. + * @param {SessionCreateManyArgs} args - Arguments to create many Sessions. + * @example + * // Create many Sessions + * const session = await prisma.session.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Sessions and returns the data saved in the database. + * @param {SessionCreateManyAndReturnArgs} args - Arguments to create many Sessions. + * @example + * // Create many Sessions + * const session = await prisma.session.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Sessions and only return the `id` + * const sessionWithIdOnly = await prisma.session.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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Session. + * @param {SessionDeleteArgs} args - Arguments to delete one Session. + * @example + * // Delete one Session + * const Session = await prisma.session.delete({ + * where: { + * // ... filter to delete one Session + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Session. + * @param {SessionUpdateArgs} args - Arguments to update one Session. + * @example + * // Update one Session + * const session = await prisma.session.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Sessions. + * @param {SessionDeleteManyArgs} args - Arguments to filter Sessions to delete. + * @example + * // Delete a few Sessions + * const { count } = await prisma.session.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Sessions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Sessions + * const session = await prisma.session.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Sessions and returns the data updated in the database. + * @param {SessionUpdateManyAndReturnArgs} args - Arguments to update many Sessions. + * @example + * // Update many Sessions + * const session = await prisma.session.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Sessions and only return the `id` + * const sessionWithIdOnly = await prisma.session.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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Session. + * @param {SessionUpsertArgs} args - Arguments to update or create a Session. + * @example + * // Update or create a Session + * const session = await prisma.session.upsert({ + * create: { + * // ... data to create a Session + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Session we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__SessionClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Sessions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionCountArgs} args - Arguments to filter Sessions to count. + * @example + * // Count the number of Sessions + * const count = await prisma.session.count({ + * where: { + * // ... the filter for the Sessions we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Session. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Session. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionGroupByArgs} 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 SessionGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: SessionGroupByArgs['orderBy'] } + : { orderBy?: SessionGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetSessionGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Session model + */ +readonly fields: SessionFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Session. + * 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__SessionClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Session model + */ +export interface SessionFieldRefs { + readonly id: Prisma.FieldRef<"Session", 'String'> + readonly sessionToken: Prisma.FieldRef<"Session", 'String'> + readonly userId: Prisma.FieldRef<"Session", 'String'> + readonly expires: Prisma.FieldRef<"Session", 'DateTime'> +} + + +// Custom InputTypes +/** + * Session findUnique + */ +export type SessionFindUniqueArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * Filter, which Session to fetch. + */ + where: Prisma.SessionWhereUniqueInput +} + +/** + * Session findUniqueOrThrow + */ +export type SessionFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * Filter, which Session to fetch. + */ + where: Prisma.SessionWhereUniqueInput +} + +/** + * Session findFirst + */ +export type SessionFindFirstArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * Filter, which Session to fetch. + */ + where?: Prisma.SessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Sessions to fetch. + */ + orderBy?: Prisma.SessionOrderByWithRelationInput | Prisma.SessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Sessions. + */ + cursor?: Prisma.SessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Sessions 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` Sessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Sessions. + */ + distinct?: Prisma.SessionScalarFieldEnum | Prisma.SessionScalarFieldEnum[] +} + +/** + * Session findFirstOrThrow + */ +export type SessionFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * Filter, which Session to fetch. + */ + where?: Prisma.SessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Sessions to fetch. + */ + orderBy?: Prisma.SessionOrderByWithRelationInput | Prisma.SessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Sessions. + */ + cursor?: Prisma.SessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Sessions 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` Sessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Sessions. + */ + distinct?: Prisma.SessionScalarFieldEnum | Prisma.SessionScalarFieldEnum[] +} + +/** + * Session findMany + */ +export type SessionFindManyArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * Filter, which Sessions to fetch. + */ + where?: Prisma.SessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Sessions to fetch. + */ + orderBy?: Prisma.SessionOrderByWithRelationInput | Prisma.SessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Sessions. + */ + cursor?: Prisma.SessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Sessions 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` Sessions. + */ + skip?: number + distinct?: Prisma.SessionScalarFieldEnum | Prisma.SessionScalarFieldEnum[] +} + +/** + * Session create + */ +export type SessionCreateArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * The data needed to create a Session. + */ + data: Prisma.XOR +} + +/** + * Session createMany + */ +export type SessionCreateManyArgs = { + /** + * The data used to create many Sessions. + */ + data: Prisma.SessionCreateManyInput | Prisma.SessionCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Session createManyAndReturn + */ +export type SessionCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * The data used to create many Sessions. + */ + data: Prisma.SessionCreateManyInput | Prisma.SessionCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionIncludeCreateManyAndReturn | null +} + +/** + * Session update + */ +export type SessionUpdateArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * The data needed to update a Session. + */ + data: Prisma.XOR + /** + * Choose, which Session to update. + */ + where: Prisma.SessionWhereUniqueInput +} + +/** + * Session updateMany + */ +export type SessionUpdateManyArgs = { + /** + * The data used to update Sessions. + */ + data: Prisma.XOR + /** + * Filter which Sessions to update + */ + where?: Prisma.SessionWhereInput + /** + * Limit how many Sessions to update. + */ + limit?: number +} + +/** + * Session updateManyAndReturn + */ +export type SessionUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * The data used to update Sessions. + */ + data: Prisma.XOR + /** + * Filter which Sessions to update + */ + where?: Prisma.SessionWhereInput + /** + * Limit how many Sessions to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionIncludeUpdateManyAndReturn | null +} + +/** + * Session upsert + */ +export type SessionUpsertArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * The filter to search for the Session to update in case it exists. + */ + where: Prisma.SessionWhereUniqueInput + /** + * In case the Session found by the `where` argument doesn't exist, create a new Session with this data. + */ + create: Prisma.XOR + /** + * In case the Session was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Session delete + */ +export type SessionDeleteArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + /** + * Filter which Session to delete. + */ + where: Prisma.SessionWhereUniqueInput +} + +/** + * Session deleteMany + */ +export type SessionDeleteManyArgs = { + /** + * Filter which Sessions to delete + */ + where?: Prisma.SessionWhereInput + /** + * Limit how many Sessions to delete. + */ + limit?: number +} + +/** + * Session without action + */ +export type SessionDefaultArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null +} diff --git a/src/generated/prisma/models/Tag.ts b/src/generated/prisma/models/Tag.ts new file mode 100644 index 0000000..d6083e1 --- /dev/null +++ b/src/generated/prisma/models/Tag.ts @@ -0,0 +1,1680 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Tag` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model Tag + * + */ +export type TagModel = runtime.Types.Result.DefaultSelection + +export type AggregateTag = { + _count: TagCountAggregateOutputType | null + _min: TagMinAggregateOutputType | null + _max: TagMaxAggregateOutputType | null +} + +export type TagMinAggregateOutputType = { + id: string | null + name: string | null + createdAt: Date | null + userId: string | null +} + +export type TagMaxAggregateOutputType = { + id: string | null + name: string | null + createdAt: Date | null + userId: string | null +} + +export type TagCountAggregateOutputType = { + id: number + name: number + createdAt: number + userId: number + _all: number +} + + +export type TagMinAggregateInputType = { + id?: true + name?: true + createdAt?: true + userId?: true +} + +export type TagMaxAggregateInputType = { + id?: true + name?: true + createdAt?: true + userId?: true +} + +export type TagCountAggregateInputType = { + id?: true + name?: true + createdAt?: true + userId?: true + _all?: true +} + +export type TagAggregateArgs = { + /** + * Filter which Tag to aggregate. + */ + where?: Prisma.TagWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Tags to fetch. + */ + orderBy?: Prisma.TagOrderByWithRelationInput | Prisma.TagOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.TagWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Tags 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` Tags. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Tags + **/ + _count?: true | TagCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: TagMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: TagMaxAggregateInputType +} + +export type GetTagAggregateType = { + [P in keyof T & keyof AggregateTag]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type TagGroupByArgs = { + where?: Prisma.TagWhereInput + orderBy?: Prisma.TagOrderByWithAggregationInput | Prisma.TagOrderByWithAggregationInput[] + by: Prisma.TagScalarFieldEnum[] | Prisma.TagScalarFieldEnum + having?: Prisma.TagScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: TagCountAggregateInputType | true + _min?: TagMinAggregateInputType + _max?: TagMaxAggregateInputType +} + +export type TagGroupByOutputType = { + id: string + name: string + createdAt: Date + userId: string + _count: TagCountAggregateOutputType | null + _min: TagMinAggregateOutputType | null + _max: TagMaxAggregateOutputType | null +} + +type GetTagGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof TagGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type TagWhereInput = { + AND?: Prisma.TagWhereInput | Prisma.TagWhereInput[] + OR?: Prisma.TagWhereInput[] + NOT?: Prisma.TagWhereInput | Prisma.TagWhereInput[] + id?: Prisma.StringFilter<"Tag"> | string + name?: Prisma.StringFilter<"Tag"> | string + createdAt?: Prisma.DateTimeFilter<"Tag"> | Date | string + userId?: Prisma.StringFilter<"Tag"> | string + user?: Prisma.XOR + filaments?: Prisma.TagOnFilamentListRelationFilter + resins?: Prisma.TagOnResinListRelationFilter + paints?: Prisma.TagOnPaintListRelationFilter +} + +export type TagOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput + filaments?: Prisma.TagOnFilamentOrderByRelationAggregateInput + resins?: Prisma.TagOnResinOrderByRelationAggregateInput + paints?: Prisma.TagOnPaintOrderByRelationAggregateInput +} + +export type TagWhereUniqueInput = Prisma.AtLeast<{ + id?: string + name_userId?: Prisma.TagNameUserIdCompoundUniqueInput + AND?: Prisma.TagWhereInput | Prisma.TagWhereInput[] + OR?: Prisma.TagWhereInput[] + NOT?: Prisma.TagWhereInput | Prisma.TagWhereInput[] + name?: Prisma.StringFilter<"Tag"> | string + createdAt?: Prisma.DateTimeFilter<"Tag"> | Date | string + userId?: Prisma.StringFilter<"Tag"> | string + user?: Prisma.XOR + filaments?: Prisma.TagOnFilamentListRelationFilter + resins?: Prisma.TagOnResinListRelationFilter + paints?: Prisma.TagOnPaintListRelationFilter +}, "id" | "name_userId"> + +export type TagOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + _count?: Prisma.TagCountOrderByAggregateInput + _max?: Prisma.TagMaxOrderByAggregateInput + _min?: Prisma.TagMinOrderByAggregateInput +} + +export type TagScalarWhereWithAggregatesInput = { + AND?: Prisma.TagScalarWhereWithAggregatesInput | Prisma.TagScalarWhereWithAggregatesInput[] + OR?: Prisma.TagScalarWhereWithAggregatesInput[] + NOT?: Prisma.TagScalarWhereWithAggregatesInput | Prisma.TagScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Tag"> | string + name?: Prisma.StringWithAggregatesFilter<"Tag"> | string + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Tag"> | Date | string + userId?: Prisma.StringWithAggregatesFilter<"Tag"> | string +} + +export type TagCreateInput = { + id?: string + name: string + createdAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutTagsInput + filaments?: Prisma.TagOnFilamentCreateNestedManyWithoutTagInput + resins?: Prisma.TagOnResinCreateNestedManyWithoutTagInput + paints?: Prisma.TagOnPaintCreateNestedManyWithoutTagInput +} + +export type TagUncheckedCreateInput = { + id?: string + name: string + createdAt?: Date | string + userId: string + filaments?: Prisma.TagOnFilamentUncheckedCreateNestedManyWithoutTagInput + resins?: Prisma.TagOnResinUncheckedCreateNestedManyWithoutTagInput + paints?: Prisma.TagOnPaintUncheckedCreateNestedManyWithoutTagInput +} + +export type TagUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutTagsNestedInput + filaments?: Prisma.TagOnFilamentUpdateManyWithoutTagNestedInput + resins?: Prisma.TagOnResinUpdateManyWithoutTagNestedInput + paints?: Prisma.TagOnPaintUpdateManyWithoutTagNestedInput +} + +export type TagUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filaments?: Prisma.TagOnFilamentUncheckedUpdateManyWithoutTagNestedInput + resins?: Prisma.TagOnResinUncheckedUpdateManyWithoutTagNestedInput + paints?: Prisma.TagOnPaintUncheckedUpdateManyWithoutTagNestedInput +} + +export type TagCreateManyInput = { + id?: string + name: string + createdAt?: Date | string + userId: string +} + +export type TagUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type TagUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagListRelationFilter = { + every?: Prisma.TagWhereInput + some?: Prisma.TagWhereInput + none?: Prisma.TagWhereInput +} + +export type TagOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type TagNameUserIdCompoundUniqueInput = { + name: string + userId: string +} + +export type TagCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type TagMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type TagMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type TagScalarRelationFilter = { + is?: Prisma.TagWhereInput + isNot?: Prisma.TagWhereInput +} + +export type TagCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.TagCreateWithoutUserInput[] | Prisma.TagUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.TagCreateOrConnectWithoutUserInput | Prisma.TagCreateOrConnectWithoutUserInput[] + createMany?: Prisma.TagCreateManyUserInputEnvelope + connect?: Prisma.TagWhereUniqueInput | Prisma.TagWhereUniqueInput[] +} + +export type TagUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.TagCreateWithoutUserInput[] | Prisma.TagUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.TagCreateOrConnectWithoutUserInput | Prisma.TagCreateOrConnectWithoutUserInput[] + createMany?: Prisma.TagCreateManyUserInputEnvelope + connect?: Prisma.TagWhereUniqueInput | Prisma.TagWhereUniqueInput[] +} + +export type TagUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.TagCreateWithoutUserInput[] | Prisma.TagUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.TagCreateOrConnectWithoutUserInput | Prisma.TagCreateOrConnectWithoutUserInput[] + upsert?: Prisma.TagUpsertWithWhereUniqueWithoutUserInput | Prisma.TagUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.TagCreateManyUserInputEnvelope + set?: Prisma.TagWhereUniqueInput | Prisma.TagWhereUniqueInput[] + disconnect?: Prisma.TagWhereUniqueInput | Prisma.TagWhereUniqueInput[] + delete?: Prisma.TagWhereUniqueInput | Prisma.TagWhereUniqueInput[] + connect?: Prisma.TagWhereUniqueInput | Prisma.TagWhereUniqueInput[] + update?: Prisma.TagUpdateWithWhereUniqueWithoutUserInput | Prisma.TagUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.TagUpdateManyWithWhereWithoutUserInput | Prisma.TagUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.TagScalarWhereInput | Prisma.TagScalarWhereInput[] +} + +export type TagUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.TagCreateWithoutUserInput[] | Prisma.TagUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.TagCreateOrConnectWithoutUserInput | Prisma.TagCreateOrConnectWithoutUserInput[] + upsert?: Prisma.TagUpsertWithWhereUniqueWithoutUserInput | Prisma.TagUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.TagCreateManyUserInputEnvelope + set?: Prisma.TagWhereUniqueInput | Prisma.TagWhereUniqueInput[] + disconnect?: Prisma.TagWhereUniqueInput | Prisma.TagWhereUniqueInput[] + delete?: Prisma.TagWhereUniqueInput | Prisma.TagWhereUniqueInput[] + connect?: Prisma.TagWhereUniqueInput | Prisma.TagWhereUniqueInput[] + update?: Prisma.TagUpdateWithWhereUniqueWithoutUserInput | Prisma.TagUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.TagUpdateManyWithWhereWithoutUserInput | Prisma.TagUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.TagScalarWhereInput | Prisma.TagScalarWhereInput[] +} + +export type TagCreateNestedOneWithoutFilamentsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.TagCreateOrConnectWithoutFilamentsInput + connect?: Prisma.TagWhereUniqueInput +} + +export type TagUpdateOneRequiredWithoutFilamentsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.TagCreateOrConnectWithoutFilamentsInput + upsert?: Prisma.TagUpsertWithoutFilamentsInput + connect?: Prisma.TagWhereUniqueInput + update?: Prisma.XOR, Prisma.TagUncheckedUpdateWithoutFilamentsInput> +} + +export type TagCreateNestedOneWithoutResinsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.TagCreateOrConnectWithoutResinsInput + connect?: Prisma.TagWhereUniqueInput +} + +export type TagUpdateOneRequiredWithoutResinsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.TagCreateOrConnectWithoutResinsInput + upsert?: Prisma.TagUpsertWithoutResinsInput + connect?: Prisma.TagWhereUniqueInput + update?: Prisma.XOR, Prisma.TagUncheckedUpdateWithoutResinsInput> +} + +export type TagCreateNestedOneWithoutPaintsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.TagCreateOrConnectWithoutPaintsInput + connect?: Prisma.TagWhereUniqueInput +} + +export type TagUpdateOneRequiredWithoutPaintsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.TagCreateOrConnectWithoutPaintsInput + upsert?: Prisma.TagUpsertWithoutPaintsInput + connect?: Prisma.TagWhereUniqueInput + update?: Prisma.XOR, Prisma.TagUncheckedUpdateWithoutPaintsInput> +} + +export type TagCreateWithoutUserInput = { + id?: string + name: string + createdAt?: Date | string + filaments?: Prisma.TagOnFilamentCreateNestedManyWithoutTagInput + resins?: Prisma.TagOnResinCreateNestedManyWithoutTagInput + paints?: Prisma.TagOnPaintCreateNestedManyWithoutTagInput +} + +export type TagUncheckedCreateWithoutUserInput = { + id?: string + name: string + createdAt?: Date | string + filaments?: Prisma.TagOnFilamentUncheckedCreateNestedManyWithoutTagInput + resins?: Prisma.TagOnResinUncheckedCreateNestedManyWithoutTagInput + paints?: Prisma.TagOnPaintUncheckedCreateNestedManyWithoutTagInput +} + +export type TagCreateOrConnectWithoutUserInput = { + where: Prisma.TagWhereUniqueInput + create: Prisma.XOR +} + +export type TagCreateManyUserInputEnvelope = { + data: Prisma.TagCreateManyUserInput | Prisma.TagCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type TagUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.TagWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TagUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.TagWhereUniqueInput + data: Prisma.XOR +} + +export type TagUpdateManyWithWhereWithoutUserInput = { + where: Prisma.TagScalarWhereInput + data: Prisma.XOR +} + +export type TagScalarWhereInput = { + AND?: Prisma.TagScalarWhereInput | Prisma.TagScalarWhereInput[] + OR?: Prisma.TagScalarWhereInput[] + NOT?: Prisma.TagScalarWhereInput | Prisma.TagScalarWhereInput[] + id?: Prisma.StringFilter<"Tag"> | string + name?: Prisma.StringFilter<"Tag"> | string + createdAt?: Prisma.DateTimeFilter<"Tag"> | Date | string + userId?: Prisma.StringFilter<"Tag"> | string +} + +export type TagCreateWithoutFilamentsInput = { + id?: string + name: string + createdAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutTagsInput + resins?: Prisma.TagOnResinCreateNestedManyWithoutTagInput + paints?: Prisma.TagOnPaintCreateNestedManyWithoutTagInput +} + +export type TagUncheckedCreateWithoutFilamentsInput = { + id?: string + name: string + createdAt?: Date | string + userId: string + resins?: Prisma.TagOnResinUncheckedCreateNestedManyWithoutTagInput + paints?: Prisma.TagOnPaintUncheckedCreateNestedManyWithoutTagInput +} + +export type TagCreateOrConnectWithoutFilamentsInput = { + where: Prisma.TagWhereUniqueInput + create: Prisma.XOR +} + +export type TagUpsertWithoutFilamentsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.TagWhereInput +} + +export type TagUpdateToOneWithWhereWithoutFilamentsInput = { + where?: Prisma.TagWhereInput + data: Prisma.XOR +} + +export type TagUpdateWithoutFilamentsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutTagsNestedInput + resins?: Prisma.TagOnResinUpdateManyWithoutTagNestedInput + paints?: Prisma.TagOnPaintUpdateManyWithoutTagNestedInput +} + +export type TagUncheckedUpdateWithoutFilamentsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + resins?: Prisma.TagOnResinUncheckedUpdateManyWithoutTagNestedInput + paints?: Prisma.TagOnPaintUncheckedUpdateManyWithoutTagNestedInput +} + +export type TagCreateWithoutResinsInput = { + id?: string + name: string + createdAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutTagsInput + filaments?: Prisma.TagOnFilamentCreateNestedManyWithoutTagInput + paints?: Prisma.TagOnPaintCreateNestedManyWithoutTagInput +} + +export type TagUncheckedCreateWithoutResinsInput = { + id?: string + name: string + createdAt?: Date | string + userId: string + filaments?: Prisma.TagOnFilamentUncheckedCreateNestedManyWithoutTagInput + paints?: Prisma.TagOnPaintUncheckedCreateNestedManyWithoutTagInput +} + +export type TagCreateOrConnectWithoutResinsInput = { + where: Prisma.TagWhereUniqueInput + create: Prisma.XOR +} + +export type TagUpsertWithoutResinsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.TagWhereInput +} + +export type TagUpdateToOneWithWhereWithoutResinsInput = { + where?: Prisma.TagWhereInput + data: Prisma.XOR +} + +export type TagUpdateWithoutResinsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutTagsNestedInput + filaments?: Prisma.TagOnFilamentUpdateManyWithoutTagNestedInput + paints?: Prisma.TagOnPaintUpdateManyWithoutTagNestedInput +} + +export type TagUncheckedUpdateWithoutResinsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filaments?: Prisma.TagOnFilamentUncheckedUpdateManyWithoutTagNestedInput + paints?: Prisma.TagOnPaintUncheckedUpdateManyWithoutTagNestedInput +} + +export type TagCreateWithoutPaintsInput = { + id?: string + name: string + createdAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutTagsInput + filaments?: Prisma.TagOnFilamentCreateNestedManyWithoutTagInput + resins?: Prisma.TagOnResinCreateNestedManyWithoutTagInput +} + +export type TagUncheckedCreateWithoutPaintsInput = { + id?: string + name: string + createdAt?: Date | string + userId: string + filaments?: Prisma.TagOnFilamentUncheckedCreateNestedManyWithoutTagInput + resins?: Prisma.TagOnResinUncheckedCreateNestedManyWithoutTagInput +} + +export type TagCreateOrConnectWithoutPaintsInput = { + where: Prisma.TagWhereUniqueInput + create: Prisma.XOR +} + +export type TagUpsertWithoutPaintsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.TagWhereInput +} + +export type TagUpdateToOneWithWhereWithoutPaintsInput = { + where?: Prisma.TagWhereInput + data: Prisma.XOR +} + +export type TagUpdateWithoutPaintsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutTagsNestedInput + filaments?: Prisma.TagOnFilamentUpdateManyWithoutTagNestedInput + resins?: Prisma.TagOnResinUpdateManyWithoutTagNestedInput +} + +export type TagUncheckedUpdateWithoutPaintsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filaments?: Prisma.TagOnFilamentUncheckedUpdateManyWithoutTagNestedInput + resins?: Prisma.TagOnResinUncheckedUpdateManyWithoutTagNestedInput +} + +export type TagCreateManyUserInput = { + id?: string + name: string + createdAt?: Date | string +} + +export type TagUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + filaments?: Prisma.TagOnFilamentUpdateManyWithoutTagNestedInput + resins?: Prisma.TagOnResinUpdateManyWithoutTagNestedInput + paints?: Prisma.TagOnPaintUpdateManyWithoutTagNestedInput +} + +export type TagUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + filaments?: Prisma.TagOnFilamentUncheckedUpdateManyWithoutTagNestedInput + resins?: Prisma.TagOnResinUncheckedUpdateManyWithoutTagNestedInput + paints?: Prisma.TagOnPaintUncheckedUpdateManyWithoutTagNestedInput +} + +export type TagUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + +/** + * Count Type TagCountOutputType + */ + +export type TagCountOutputType = { + filaments: number + resins: number + paints: number +} + +export type TagCountOutputTypeSelect = { + filaments?: boolean | TagCountOutputTypeCountFilamentsArgs + resins?: boolean | TagCountOutputTypeCountResinsArgs + paints?: boolean | TagCountOutputTypeCountPaintsArgs +} + +/** + * TagCountOutputType without action + */ +export type TagCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the TagCountOutputType + */ + select?: Prisma.TagCountOutputTypeSelect | null +} + +/** + * TagCountOutputType without action + */ +export type TagCountOutputTypeCountFilamentsArgs = { + where?: Prisma.TagOnFilamentWhereInput +} + +/** + * TagCountOutputType without action + */ +export type TagCountOutputTypeCountResinsArgs = { + where?: Prisma.TagOnResinWhereInput +} + +/** + * TagCountOutputType without action + */ +export type TagCountOutputTypeCountPaintsArgs = { + where?: Prisma.TagOnPaintWhereInput +} + + +export type TagSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + createdAt?: boolean + userId?: boolean + user?: boolean | Prisma.UserDefaultArgs + filaments?: boolean | Prisma.Tag$filamentsArgs + resins?: boolean | Prisma.Tag$resinsArgs + paints?: boolean | Prisma.Tag$paintsArgs + _count?: boolean | Prisma.TagCountOutputTypeDefaultArgs +}, ExtArgs["result"]["tag"]> + +export type TagSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + createdAt?: boolean + userId?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["tag"]> + +export type TagSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + createdAt?: boolean + userId?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["tag"]> + +export type TagSelectScalar = { + id?: boolean + name?: boolean + createdAt?: boolean + userId?: boolean +} + +export type TagOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "createdAt" | "userId", ExtArgs["result"]["tag"]> +export type TagInclude = { + user?: boolean | Prisma.UserDefaultArgs + filaments?: boolean | Prisma.Tag$filamentsArgs + resins?: boolean | Prisma.Tag$resinsArgs + paints?: boolean | Prisma.Tag$paintsArgs + _count?: boolean | Prisma.TagCountOutputTypeDefaultArgs +} +export type TagIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} +export type TagIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} + +export type $TagPayload = { + name: "Tag" + objects: { + user: Prisma.$UserPayload + filaments: Prisma.$TagOnFilamentPayload[] + resins: Prisma.$TagOnResinPayload[] + paints: Prisma.$TagOnPaintPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + createdAt: Date + userId: string + }, ExtArgs["result"]["tag"]> + composites: {} +} + +export type TagGetPayload = runtime.Types.Result.GetResult + +export type TagCountArgs = + Omit & { + select?: TagCountAggregateInputType | true + } + +export interface TagDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Tag'], meta: { name: 'Tag' } } + /** + * Find zero or one Tag that matches the filter. + * @param {TagFindUniqueArgs} args - Arguments to find a Tag + * @example + * // Get one Tag + * const tag = await prisma.tag.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__TagClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Tag that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {TagFindUniqueOrThrowArgs} args - Arguments to find a Tag + * @example + * // Get one Tag + * const tag = await prisma.tag.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__TagClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Tag 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 {TagFindFirstArgs} args - Arguments to find a Tag + * @example + * // Get one Tag + * const tag = await prisma.tag.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__TagClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Tag 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 {TagFindFirstOrThrowArgs} args - Arguments to find a Tag + * @example + * // Get one Tag + * const tag = await prisma.tag.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__TagClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Tags 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 {TagFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Tags + * const tags = await prisma.tag.findMany() + * + * // Get first 10 Tags + * const tags = await prisma.tag.findMany({ take: 10 }) + * + * // Only select the `id` + * const tagWithIdOnly = await prisma.tag.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Tag. + * @param {TagCreateArgs} args - Arguments to create a Tag. + * @example + * // Create one Tag + * const Tag = await prisma.tag.create({ + * data: { + * // ... data to create a Tag + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__TagClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Tags. + * @param {TagCreateManyArgs} args - Arguments to create many Tags. + * @example + * // Create many Tags + * const tag = await prisma.tag.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Tags and returns the data saved in the database. + * @param {TagCreateManyAndReturnArgs} args - Arguments to create many Tags. + * @example + * // Create many Tags + * const tag = await prisma.tag.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Tags and only return the `id` + * const tagWithIdOnly = await prisma.tag.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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Tag. + * @param {TagDeleteArgs} args - Arguments to delete one Tag. + * @example + * // Delete one Tag + * const Tag = await prisma.tag.delete({ + * where: { + * // ... filter to delete one Tag + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__TagClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Tag. + * @param {TagUpdateArgs} args - Arguments to update one Tag. + * @example + * // Update one Tag + * const tag = await prisma.tag.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__TagClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Tags. + * @param {TagDeleteManyArgs} args - Arguments to filter Tags to delete. + * @example + * // Delete a few Tags + * const { count } = await prisma.tag.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Tags. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Tags + * const tag = await prisma.tag.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Tags and returns the data updated in the database. + * @param {TagUpdateManyAndReturnArgs} args - Arguments to update many Tags. + * @example + * // Update many Tags + * const tag = await prisma.tag.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Tags and only return the `id` + * const tagWithIdOnly = await prisma.tag.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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Tag. + * @param {TagUpsertArgs} args - Arguments to update or create a Tag. + * @example + * // Update or create a Tag + * const tag = await prisma.tag.upsert({ + * create: { + * // ... data to create a Tag + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Tag we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__TagClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Tags. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagCountArgs} args - Arguments to filter Tags to count. + * @example + * // Count the number of Tags + * const count = await prisma.tag.count({ + * where: { + * // ... the filter for the Tags we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Tag. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Tag. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagGroupByArgs} 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 TagGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: TagGroupByArgs['orderBy'] } + : { orderBy?: TagGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetTagGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Tag model + */ +readonly fields: TagFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Tag. + * 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__TagClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + filaments = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + resins = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + paints = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Tag model + */ +export interface TagFieldRefs { + readonly id: Prisma.FieldRef<"Tag", 'String'> + readonly name: Prisma.FieldRef<"Tag", 'String'> + readonly createdAt: Prisma.FieldRef<"Tag", 'DateTime'> + readonly userId: Prisma.FieldRef<"Tag", 'String'> +} + + +// Custom InputTypes +/** + * Tag findUnique + */ +export type TagFindUniqueArgs = { + /** + * Select specific fields to fetch from the Tag + */ + select?: Prisma.TagSelect | null + /** + * Omit specific fields from the Tag + */ + omit?: Prisma.TagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagInclude | null + /** + * Filter, which Tag to fetch. + */ + where: Prisma.TagWhereUniqueInput +} + +/** + * Tag findUniqueOrThrow + */ +export type TagFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Tag + */ + select?: Prisma.TagSelect | null + /** + * Omit specific fields from the Tag + */ + omit?: Prisma.TagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagInclude | null + /** + * Filter, which Tag to fetch. + */ + where: Prisma.TagWhereUniqueInput +} + +/** + * Tag findFirst + */ +export type TagFindFirstArgs = { + /** + * Select specific fields to fetch from the Tag + */ + select?: Prisma.TagSelect | null + /** + * Omit specific fields from the Tag + */ + omit?: Prisma.TagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagInclude | null + /** + * Filter, which Tag to fetch. + */ + where?: Prisma.TagWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Tags to fetch. + */ + orderBy?: Prisma.TagOrderByWithRelationInput | Prisma.TagOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Tags. + */ + cursor?: Prisma.TagWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Tags 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` Tags. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Tags. + */ + distinct?: Prisma.TagScalarFieldEnum | Prisma.TagScalarFieldEnum[] +} + +/** + * Tag findFirstOrThrow + */ +export type TagFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Tag + */ + select?: Prisma.TagSelect | null + /** + * Omit specific fields from the Tag + */ + omit?: Prisma.TagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagInclude | null + /** + * Filter, which Tag to fetch. + */ + where?: Prisma.TagWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Tags to fetch. + */ + orderBy?: Prisma.TagOrderByWithRelationInput | Prisma.TagOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Tags. + */ + cursor?: Prisma.TagWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Tags 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` Tags. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Tags. + */ + distinct?: Prisma.TagScalarFieldEnum | Prisma.TagScalarFieldEnum[] +} + +/** + * Tag findMany + */ +export type TagFindManyArgs = { + /** + * Select specific fields to fetch from the Tag + */ + select?: Prisma.TagSelect | null + /** + * Omit specific fields from the Tag + */ + omit?: Prisma.TagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagInclude | null + /** + * Filter, which Tags to fetch. + */ + where?: Prisma.TagWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Tags to fetch. + */ + orderBy?: Prisma.TagOrderByWithRelationInput | Prisma.TagOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Tags. + */ + cursor?: Prisma.TagWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Tags 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` Tags. + */ + skip?: number + distinct?: Prisma.TagScalarFieldEnum | Prisma.TagScalarFieldEnum[] +} + +/** + * Tag create + */ +export type TagCreateArgs = { + /** + * Select specific fields to fetch from the Tag + */ + select?: Prisma.TagSelect | null + /** + * Omit specific fields from the Tag + */ + omit?: Prisma.TagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagInclude | null + /** + * The data needed to create a Tag. + */ + data: Prisma.XOR +} + +/** + * Tag createMany + */ +export type TagCreateManyArgs = { + /** + * The data used to create many Tags. + */ + data: Prisma.TagCreateManyInput | Prisma.TagCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Tag createManyAndReturn + */ +export type TagCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Tag + */ + select?: Prisma.TagSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Tag + */ + omit?: Prisma.TagOmit | null + /** + * The data used to create many Tags. + */ + data: Prisma.TagCreateManyInput | Prisma.TagCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagIncludeCreateManyAndReturn | null +} + +/** + * Tag update + */ +export type TagUpdateArgs = { + /** + * Select specific fields to fetch from the Tag + */ + select?: Prisma.TagSelect | null + /** + * Omit specific fields from the Tag + */ + omit?: Prisma.TagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagInclude | null + /** + * The data needed to update a Tag. + */ + data: Prisma.XOR + /** + * Choose, which Tag to update. + */ + where: Prisma.TagWhereUniqueInput +} + +/** + * Tag updateMany + */ +export type TagUpdateManyArgs = { + /** + * The data used to update Tags. + */ + data: Prisma.XOR + /** + * Filter which Tags to update + */ + where?: Prisma.TagWhereInput + /** + * Limit how many Tags to update. + */ + limit?: number +} + +/** + * Tag updateManyAndReturn + */ +export type TagUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Tag + */ + select?: Prisma.TagSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Tag + */ + omit?: Prisma.TagOmit | null + /** + * The data used to update Tags. + */ + data: Prisma.XOR + /** + * Filter which Tags to update + */ + where?: Prisma.TagWhereInput + /** + * Limit how many Tags to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagIncludeUpdateManyAndReturn | null +} + +/** + * Tag upsert + */ +export type TagUpsertArgs = { + /** + * Select specific fields to fetch from the Tag + */ + select?: Prisma.TagSelect | null + /** + * Omit specific fields from the Tag + */ + omit?: Prisma.TagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagInclude | null + /** + * The filter to search for the Tag to update in case it exists. + */ + where: Prisma.TagWhereUniqueInput + /** + * In case the Tag found by the `where` argument doesn't exist, create a new Tag with this data. + */ + create: Prisma.XOR + /** + * In case the Tag was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Tag delete + */ +export type TagDeleteArgs = { + /** + * Select specific fields to fetch from the Tag + */ + select?: Prisma.TagSelect | null + /** + * Omit specific fields from the Tag + */ + omit?: Prisma.TagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagInclude | null + /** + * Filter which Tag to delete. + */ + where: Prisma.TagWhereUniqueInput +} + +/** + * Tag deleteMany + */ +export type TagDeleteManyArgs = { + /** + * Filter which Tags to delete + */ + where?: Prisma.TagWhereInput + /** + * Limit how many Tags to delete. + */ + limit?: number +} + +/** + * Tag.filaments + */ +export type Tag$filamentsArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelect | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentInclude | null + where?: Prisma.TagOnFilamentWhereInput + orderBy?: Prisma.TagOnFilamentOrderByWithRelationInput | Prisma.TagOnFilamentOrderByWithRelationInput[] + cursor?: Prisma.TagOnFilamentWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TagOnFilamentScalarFieldEnum | Prisma.TagOnFilamentScalarFieldEnum[] +} + +/** + * Tag.resins + */ +export type Tag$resinsArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelect | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinInclude | null + where?: Prisma.TagOnResinWhereInput + orderBy?: Prisma.TagOnResinOrderByWithRelationInput | Prisma.TagOnResinOrderByWithRelationInput[] + cursor?: Prisma.TagOnResinWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TagOnResinScalarFieldEnum | Prisma.TagOnResinScalarFieldEnum[] +} + +/** + * Tag.paints + */ +export type Tag$paintsArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelect | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintInclude | null + where?: Prisma.TagOnPaintWhereInput + orderBy?: Prisma.TagOnPaintOrderByWithRelationInput | Prisma.TagOnPaintOrderByWithRelationInput[] + cursor?: Prisma.TagOnPaintWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TagOnPaintScalarFieldEnum | Prisma.TagOnPaintScalarFieldEnum[] +} + +/** + * Tag without action + */ +export type TagDefaultArgs = { + /** + * Select specific fields to fetch from the Tag + */ + select?: Prisma.TagSelect | null + /** + * Omit specific fields from the Tag + */ + omit?: Prisma.TagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagInclude | null +} diff --git a/src/generated/prisma/models/TagOnFilament.ts b/src/generated/prisma/models/TagOnFilament.ts new file mode 100644 index 0000000..07c112a --- /dev/null +++ b/src/generated/prisma/models/TagOnFilament.ts @@ -0,0 +1,1344 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `TagOnFilament` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model TagOnFilament + * + */ +export type TagOnFilamentModel = runtime.Types.Result.DefaultSelection + +export type AggregateTagOnFilament = { + _count: TagOnFilamentCountAggregateOutputType | null + _min: TagOnFilamentMinAggregateOutputType | null + _max: TagOnFilamentMaxAggregateOutputType | null +} + +export type TagOnFilamentMinAggregateOutputType = { + filamentId: string | null + tagId: string | null +} + +export type TagOnFilamentMaxAggregateOutputType = { + filamentId: string | null + tagId: string | null +} + +export type TagOnFilamentCountAggregateOutputType = { + filamentId: number + tagId: number + _all: number +} + + +export type TagOnFilamentMinAggregateInputType = { + filamentId?: true + tagId?: true +} + +export type TagOnFilamentMaxAggregateInputType = { + filamentId?: true + tagId?: true +} + +export type TagOnFilamentCountAggregateInputType = { + filamentId?: true + tagId?: true + _all?: true +} + +export type TagOnFilamentAggregateArgs = { + /** + * Filter which TagOnFilament to aggregate. + */ + where?: Prisma.TagOnFilamentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TagOnFilaments to fetch. + */ + orderBy?: Prisma.TagOnFilamentOrderByWithRelationInput | Prisma.TagOnFilamentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.TagOnFilamentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TagOnFilaments 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` TagOnFilaments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned TagOnFilaments + **/ + _count?: true | TagOnFilamentCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: TagOnFilamentMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: TagOnFilamentMaxAggregateInputType +} + +export type GetTagOnFilamentAggregateType = { + [P in keyof T & keyof AggregateTagOnFilament]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type TagOnFilamentGroupByArgs = { + where?: Prisma.TagOnFilamentWhereInput + orderBy?: Prisma.TagOnFilamentOrderByWithAggregationInput | Prisma.TagOnFilamentOrderByWithAggregationInput[] + by: Prisma.TagOnFilamentScalarFieldEnum[] | Prisma.TagOnFilamentScalarFieldEnum + having?: Prisma.TagOnFilamentScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: TagOnFilamentCountAggregateInputType | true + _min?: TagOnFilamentMinAggregateInputType + _max?: TagOnFilamentMaxAggregateInputType +} + +export type TagOnFilamentGroupByOutputType = { + filamentId: string + tagId: string + _count: TagOnFilamentCountAggregateOutputType | null + _min: TagOnFilamentMinAggregateOutputType | null + _max: TagOnFilamentMaxAggregateOutputType | null +} + +type GetTagOnFilamentGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof TagOnFilamentGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type TagOnFilamentWhereInput = { + AND?: Prisma.TagOnFilamentWhereInput | Prisma.TagOnFilamentWhereInput[] + OR?: Prisma.TagOnFilamentWhereInput[] + NOT?: Prisma.TagOnFilamentWhereInput | Prisma.TagOnFilamentWhereInput[] + filamentId?: Prisma.StringFilter<"TagOnFilament"> | string + tagId?: Prisma.StringFilter<"TagOnFilament"> | string + filament?: Prisma.XOR + tag?: Prisma.XOR +} + +export type TagOnFilamentOrderByWithRelationInput = { + filamentId?: Prisma.SortOrder + tagId?: Prisma.SortOrder + filament?: Prisma.FilamentOrderByWithRelationInput + tag?: Prisma.TagOrderByWithRelationInput +} + +export type TagOnFilamentWhereUniqueInput = Prisma.AtLeast<{ + filamentId_tagId?: Prisma.TagOnFilamentFilamentIdTagIdCompoundUniqueInput + AND?: Prisma.TagOnFilamentWhereInput | Prisma.TagOnFilamentWhereInput[] + OR?: Prisma.TagOnFilamentWhereInput[] + NOT?: Prisma.TagOnFilamentWhereInput | Prisma.TagOnFilamentWhereInput[] + filamentId?: Prisma.StringFilter<"TagOnFilament"> | string + tagId?: Prisma.StringFilter<"TagOnFilament"> | string + filament?: Prisma.XOR + tag?: Prisma.XOR +}, "filamentId_tagId"> + +export type TagOnFilamentOrderByWithAggregationInput = { + filamentId?: Prisma.SortOrder + tagId?: Prisma.SortOrder + _count?: Prisma.TagOnFilamentCountOrderByAggregateInput + _max?: Prisma.TagOnFilamentMaxOrderByAggregateInput + _min?: Prisma.TagOnFilamentMinOrderByAggregateInput +} + +export type TagOnFilamentScalarWhereWithAggregatesInput = { + AND?: Prisma.TagOnFilamentScalarWhereWithAggregatesInput | Prisma.TagOnFilamentScalarWhereWithAggregatesInput[] + OR?: Prisma.TagOnFilamentScalarWhereWithAggregatesInput[] + NOT?: Prisma.TagOnFilamentScalarWhereWithAggregatesInput | Prisma.TagOnFilamentScalarWhereWithAggregatesInput[] + filamentId?: Prisma.StringWithAggregatesFilter<"TagOnFilament"> | string + tagId?: Prisma.StringWithAggregatesFilter<"TagOnFilament"> | string +} + +export type TagOnFilamentCreateInput = { + filament: Prisma.FilamentCreateNestedOneWithoutTagsInput + tag: Prisma.TagCreateNestedOneWithoutFilamentsInput +} + +export type TagOnFilamentUncheckedCreateInput = { + filamentId: string + tagId: string +} + +export type TagOnFilamentUpdateInput = { + filament?: Prisma.FilamentUpdateOneRequiredWithoutTagsNestedInput + tag?: Prisma.TagUpdateOneRequiredWithoutFilamentsNestedInput +} + +export type TagOnFilamentUncheckedUpdateInput = { + filamentId?: Prisma.StringFieldUpdateOperationsInput | string + tagId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnFilamentCreateManyInput = { + filamentId: string + tagId: string +} + +export type TagOnFilamentUpdateManyMutationInput = { + +} + +export type TagOnFilamentUncheckedUpdateManyInput = { + filamentId?: Prisma.StringFieldUpdateOperationsInput | string + tagId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnFilamentListRelationFilter = { + every?: Prisma.TagOnFilamentWhereInput + some?: Prisma.TagOnFilamentWhereInput + none?: Prisma.TagOnFilamentWhereInput +} + +export type TagOnFilamentOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type TagOnFilamentFilamentIdTagIdCompoundUniqueInput = { + filamentId: string + tagId: string +} + +export type TagOnFilamentCountOrderByAggregateInput = { + filamentId?: Prisma.SortOrder + tagId?: Prisma.SortOrder +} + +export type TagOnFilamentMaxOrderByAggregateInput = { + filamentId?: Prisma.SortOrder + tagId?: Prisma.SortOrder +} + +export type TagOnFilamentMinOrderByAggregateInput = { + filamentId?: Prisma.SortOrder + tagId?: Prisma.SortOrder +} + +export type TagOnFilamentCreateNestedManyWithoutFilamentInput = { + create?: Prisma.XOR | Prisma.TagOnFilamentCreateWithoutFilamentInput[] | Prisma.TagOnFilamentUncheckedCreateWithoutFilamentInput[] + connectOrCreate?: Prisma.TagOnFilamentCreateOrConnectWithoutFilamentInput | Prisma.TagOnFilamentCreateOrConnectWithoutFilamentInput[] + createMany?: Prisma.TagOnFilamentCreateManyFilamentInputEnvelope + connect?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] +} + +export type TagOnFilamentUncheckedCreateNestedManyWithoutFilamentInput = { + create?: Prisma.XOR | Prisma.TagOnFilamentCreateWithoutFilamentInput[] | Prisma.TagOnFilamentUncheckedCreateWithoutFilamentInput[] + connectOrCreate?: Prisma.TagOnFilamentCreateOrConnectWithoutFilamentInput | Prisma.TagOnFilamentCreateOrConnectWithoutFilamentInput[] + createMany?: Prisma.TagOnFilamentCreateManyFilamentInputEnvelope + connect?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] +} + +export type TagOnFilamentUpdateManyWithoutFilamentNestedInput = { + create?: Prisma.XOR | Prisma.TagOnFilamentCreateWithoutFilamentInput[] | Prisma.TagOnFilamentUncheckedCreateWithoutFilamentInput[] + connectOrCreate?: Prisma.TagOnFilamentCreateOrConnectWithoutFilamentInput | Prisma.TagOnFilamentCreateOrConnectWithoutFilamentInput[] + upsert?: Prisma.TagOnFilamentUpsertWithWhereUniqueWithoutFilamentInput | Prisma.TagOnFilamentUpsertWithWhereUniqueWithoutFilamentInput[] + createMany?: Prisma.TagOnFilamentCreateManyFilamentInputEnvelope + set?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + disconnect?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + delete?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + connect?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + update?: Prisma.TagOnFilamentUpdateWithWhereUniqueWithoutFilamentInput | Prisma.TagOnFilamentUpdateWithWhereUniqueWithoutFilamentInput[] + updateMany?: Prisma.TagOnFilamentUpdateManyWithWhereWithoutFilamentInput | Prisma.TagOnFilamentUpdateManyWithWhereWithoutFilamentInput[] + deleteMany?: Prisma.TagOnFilamentScalarWhereInput | Prisma.TagOnFilamentScalarWhereInput[] +} + +export type TagOnFilamentUncheckedUpdateManyWithoutFilamentNestedInput = { + create?: Prisma.XOR | Prisma.TagOnFilamentCreateWithoutFilamentInput[] | Prisma.TagOnFilamentUncheckedCreateWithoutFilamentInput[] + connectOrCreate?: Prisma.TagOnFilamentCreateOrConnectWithoutFilamentInput | Prisma.TagOnFilamentCreateOrConnectWithoutFilamentInput[] + upsert?: Prisma.TagOnFilamentUpsertWithWhereUniqueWithoutFilamentInput | Prisma.TagOnFilamentUpsertWithWhereUniqueWithoutFilamentInput[] + createMany?: Prisma.TagOnFilamentCreateManyFilamentInputEnvelope + set?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + disconnect?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + delete?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + connect?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + update?: Prisma.TagOnFilamentUpdateWithWhereUniqueWithoutFilamentInput | Prisma.TagOnFilamentUpdateWithWhereUniqueWithoutFilamentInput[] + updateMany?: Prisma.TagOnFilamentUpdateManyWithWhereWithoutFilamentInput | Prisma.TagOnFilamentUpdateManyWithWhereWithoutFilamentInput[] + deleteMany?: Prisma.TagOnFilamentScalarWhereInput | Prisma.TagOnFilamentScalarWhereInput[] +} + +export type TagOnFilamentCreateNestedManyWithoutTagInput = { + create?: Prisma.XOR | Prisma.TagOnFilamentCreateWithoutTagInput[] | Prisma.TagOnFilamentUncheckedCreateWithoutTagInput[] + connectOrCreate?: Prisma.TagOnFilamentCreateOrConnectWithoutTagInput | Prisma.TagOnFilamentCreateOrConnectWithoutTagInput[] + createMany?: Prisma.TagOnFilamentCreateManyTagInputEnvelope + connect?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] +} + +export type TagOnFilamentUncheckedCreateNestedManyWithoutTagInput = { + create?: Prisma.XOR | Prisma.TagOnFilamentCreateWithoutTagInput[] | Prisma.TagOnFilamentUncheckedCreateWithoutTagInput[] + connectOrCreate?: Prisma.TagOnFilamentCreateOrConnectWithoutTagInput | Prisma.TagOnFilamentCreateOrConnectWithoutTagInput[] + createMany?: Prisma.TagOnFilamentCreateManyTagInputEnvelope + connect?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] +} + +export type TagOnFilamentUpdateManyWithoutTagNestedInput = { + create?: Prisma.XOR | Prisma.TagOnFilamentCreateWithoutTagInput[] | Prisma.TagOnFilamentUncheckedCreateWithoutTagInput[] + connectOrCreate?: Prisma.TagOnFilamentCreateOrConnectWithoutTagInput | Prisma.TagOnFilamentCreateOrConnectWithoutTagInput[] + upsert?: Prisma.TagOnFilamentUpsertWithWhereUniqueWithoutTagInput | Prisma.TagOnFilamentUpsertWithWhereUniqueWithoutTagInput[] + createMany?: Prisma.TagOnFilamentCreateManyTagInputEnvelope + set?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + disconnect?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + delete?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + connect?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + update?: Prisma.TagOnFilamentUpdateWithWhereUniqueWithoutTagInput | Prisma.TagOnFilamentUpdateWithWhereUniqueWithoutTagInput[] + updateMany?: Prisma.TagOnFilamentUpdateManyWithWhereWithoutTagInput | Prisma.TagOnFilamentUpdateManyWithWhereWithoutTagInput[] + deleteMany?: Prisma.TagOnFilamentScalarWhereInput | Prisma.TagOnFilamentScalarWhereInput[] +} + +export type TagOnFilamentUncheckedUpdateManyWithoutTagNestedInput = { + create?: Prisma.XOR | Prisma.TagOnFilamentCreateWithoutTagInput[] | Prisma.TagOnFilamentUncheckedCreateWithoutTagInput[] + connectOrCreate?: Prisma.TagOnFilamentCreateOrConnectWithoutTagInput | Prisma.TagOnFilamentCreateOrConnectWithoutTagInput[] + upsert?: Prisma.TagOnFilamentUpsertWithWhereUniqueWithoutTagInput | Prisma.TagOnFilamentUpsertWithWhereUniqueWithoutTagInput[] + createMany?: Prisma.TagOnFilamentCreateManyTagInputEnvelope + set?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + disconnect?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + delete?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + connect?: Prisma.TagOnFilamentWhereUniqueInput | Prisma.TagOnFilamentWhereUniqueInput[] + update?: Prisma.TagOnFilamentUpdateWithWhereUniqueWithoutTagInput | Prisma.TagOnFilamentUpdateWithWhereUniqueWithoutTagInput[] + updateMany?: Prisma.TagOnFilamentUpdateManyWithWhereWithoutTagInput | Prisma.TagOnFilamentUpdateManyWithWhereWithoutTagInput[] + deleteMany?: Prisma.TagOnFilamentScalarWhereInput | Prisma.TagOnFilamentScalarWhereInput[] +} + +export type TagOnFilamentCreateWithoutFilamentInput = { + tag: Prisma.TagCreateNestedOneWithoutFilamentsInput +} + +export type TagOnFilamentUncheckedCreateWithoutFilamentInput = { + tagId: string +} + +export type TagOnFilamentCreateOrConnectWithoutFilamentInput = { + where: Prisma.TagOnFilamentWhereUniqueInput + create: Prisma.XOR +} + +export type TagOnFilamentCreateManyFilamentInputEnvelope = { + data: Prisma.TagOnFilamentCreateManyFilamentInput | Prisma.TagOnFilamentCreateManyFilamentInput[] + skipDuplicates?: boolean +} + +export type TagOnFilamentUpsertWithWhereUniqueWithoutFilamentInput = { + where: Prisma.TagOnFilamentWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TagOnFilamentUpdateWithWhereUniqueWithoutFilamentInput = { + where: Prisma.TagOnFilamentWhereUniqueInput + data: Prisma.XOR +} + +export type TagOnFilamentUpdateManyWithWhereWithoutFilamentInput = { + where: Prisma.TagOnFilamentScalarWhereInput + data: Prisma.XOR +} + +export type TagOnFilamentScalarWhereInput = { + AND?: Prisma.TagOnFilamentScalarWhereInput | Prisma.TagOnFilamentScalarWhereInput[] + OR?: Prisma.TagOnFilamentScalarWhereInput[] + NOT?: Prisma.TagOnFilamentScalarWhereInput | Prisma.TagOnFilamentScalarWhereInput[] + filamentId?: Prisma.StringFilter<"TagOnFilament"> | string + tagId?: Prisma.StringFilter<"TagOnFilament"> | string +} + +export type TagOnFilamentCreateWithoutTagInput = { + filament: Prisma.FilamentCreateNestedOneWithoutTagsInput +} + +export type TagOnFilamentUncheckedCreateWithoutTagInput = { + filamentId: string +} + +export type TagOnFilamentCreateOrConnectWithoutTagInput = { + where: Prisma.TagOnFilamentWhereUniqueInput + create: Prisma.XOR +} + +export type TagOnFilamentCreateManyTagInputEnvelope = { + data: Prisma.TagOnFilamentCreateManyTagInput | Prisma.TagOnFilamentCreateManyTagInput[] + skipDuplicates?: boolean +} + +export type TagOnFilamentUpsertWithWhereUniqueWithoutTagInput = { + where: Prisma.TagOnFilamentWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TagOnFilamentUpdateWithWhereUniqueWithoutTagInput = { + where: Prisma.TagOnFilamentWhereUniqueInput + data: Prisma.XOR +} + +export type TagOnFilamentUpdateManyWithWhereWithoutTagInput = { + where: Prisma.TagOnFilamentScalarWhereInput + data: Prisma.XOR +} + +export type TagOnFilamentCreateManyFilamentInput = { + tagId: string +} + +export type TagOnFilamentUpdateWithoutFilamentInput = { + tag?: Prisma.TagUpdateOneRequiredWithoutFilamentsNestedInput +} + +export type TagOnFilamentUncheckedUpdateWithoutFilamentInput = { + tagId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnFilamentUncheckedUpdateManyWithoutFilamentInput = { + tagId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnFilamentCreateManyTagInput = { + filamentId: string +} + +export type TagOnFilamentUpdateWithoutTagInput = { + filament?: Prisma.FilamentUpdateOneRequiredWithoutTagsNestedInput +} + +export type TagOnFilamentUncheckedUpdateWithoutTagInput = { + filamentId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnFilamentUncheckedUpdateManyWithoutTagInput = { + filamentId?: Prisma.StringFieldUpdateOperationsInput | string +} + + + +export type TagOnFilamentSelect = runtime.Types.Extensions.GetSelect<{ + filamentId?: boolean + tagId?: boolean + filament?: boolean | Prisma.FilamentDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +}, ExtArgs["result"]["tagOnFilament"]> + +export type TagOnFilamentSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + filamentId?: boolean + tagId?: boolean + filament?: boolean | Prisma.FilamentDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +}, ExtArgs["result"]["tagOnFilament"]> + +export type TagOnFilamentSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + filamentId?: boolean + tagId?: boolean + filament?: boolean | Prisma.FilamentDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +}, ExtArgs["result"]["tagOnFilament"]> + +export type TagOnFilamentSelectScalar = { + filamentId?: boolean + tagId?: boolean +} + +export type TagOnFilamentOmit = runtime.Types.Extensions.GetOmit<"filamentId" | "tagId", ExtArgs["result"]["tagOnFilament"]> +export type TagOnFilamentInclude = { + filament?: boolean | Prisma.FilamentDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +} +export type TagOnFilamentIncludeCreateManyAndReturn = { + filament?: boolean | Prisma.FilamentDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +} +export type TagOnFilamentIncludeUpdateManyAndReturn = { + filament?: boolean | Prisma.FilamentDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +} + +export type $TagOnFilamentPayload = { + name: "TagOnFilament" + objects: { + filament: Prisma.$FilamentPayload + tag: Prisma.$TagPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + filamentId: string + tagId: string + }, ExtArgs["result"]["tagOnFilament"]> + composites: {} +} + +export type TagOnFilamentGetPayload = runtime.Types.Result.GetResult + +export type TagOnFilamentCountArgs = + Omit & { + select?: TagOnFilamentCountAggregateInputType | true + } + +export interface TagOnFilamentDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['TagOnFilament'], meta: { name: 'TagOnFilament' } } + /** + * Find zero or one TagOnFilament that matches the filter. + * @param {TagOnFilamentFindUniqueArgs} args - Arguments to find a TagOnFilament + * @example + * // Get one TagOnFilament + * const tagOnFilament = await prisma.tagOnFilament.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnFilamentClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one TagOnFilament that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {TagOnFilamentFindUniqueOrThrowArgs} args - Arguments to find a TagOnFilament + * @example + * // Get one TagOnFilament + * const tagOnFilament = await prisma.tagOnFilament.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnFilamentClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first TagOnFilament 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 {TagOnFilamentFindFirstArgs} args - Arguments to find a TagOnFilament + * @example + * // Get one TagOnFilament + * const tagOnFilament = await prisma.tagOnFilament.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__TagOnFilamentClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first TagOnFilament 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 {TagOnFilamentFindFirstOrThrowArgs} args - Arguments to find a TagOnFilament + * @example + * // Get one TagOnFilament + * const tagOnFilament = await prisma.tagOnFilament.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__TagOnFilamentClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more TagOnFilaments 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 {TagOnFilamentFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all TagOnFilaments + * const tagOnFilaments = await prisma.tagOnFilament.findMany() + * + * // Get first 10 TagOnFilaments + * const tagOnFilaments = await prisma.tagOnFilament.findMany({ take: 10 }) + * + * // Only select the `filamentId` + * const tagOnFilamentWithFilamentIdOnly = await prisma.tagOnFilament.findMany({ select: { filamentId: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a TagOnFilament. + * @param {TagOnFilamentCreateArgs} args - Arguments to create a TagOnFilament. + * @example + * // Create one TagOnFilament + * const TagOnFilament = await prisma.tagOnFilament.create({ + * data: { + * // ... data to create a TagOnFilament + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnFilamentClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many TagOnFilaments. + * @param {TagOnFilamentCreateManyArgs} args - Arguments to create many TagOnFilaments. + * @example + * // Create many TagOnFilaments + * const tagOnFilament = await prisma.tagOnFilament.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many TagOnFilaments and returns the data saved in the database. + * @param {TagOnFilamentCreateManyAndReturnArgs} args - Arguments to create many TagOnFilaments. + * @example + * // Create many TagOnFilaments + * const tagOnFilament = await prisma.tagOnFilament.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many TagOnFilaments and only return the `filamentId` + * const tagOnFilamentWithFilamentIdOnly = await prisma.tagOnFilament.createManyAndReturn({ + * select: { filamentId: 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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a TagOnFilament. + * @param {TagOnFilamentDeleteArgs} args - Arguments to delete one TagOnFilament. + * @example + * // Delete one TagOnFilament + * const TagOnFilament = await prisma.tagOnFilament.delete({ + * where: { + * // ... filter to delete one TagOnFilament + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnFilamentClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one TagOnFilament. + * @param {TagOnFilamentUpdateArgs} args - Arguments to update one TagOnFilament. + * @example + * // Update one TagOnFilament + * const tagOnFilament = await prisma.tagOnFilament.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnFilamentClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more TagOnFilaments. + * @param {TagOnFilamentDeleteManyArgs} args - Arguments to filter TagOnFilaments to delete. + * @example + * // Delete a few TagOnFilaments + * const { count } = await prisma.tagOnFilament.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more TagOnFilaments. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagOnFilamentUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many TagOnFilaments + * const tagOnFilament = await prisma.tagOnFilament.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more TagOnFilaments and returns the data updated in the database. + * @param {TagOnFilamentUpdateManyAndReturnArgs} args - Arguments to update many TagOnFilaments. + * @example + * // Update many TagOnFilaments + * const tagOnFilament = await prisma.tagOnFilament.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more TagOnFilaments and only return the `filamentId` + * const tagOnFilamentWithFilamentIdOnly = await prisma.tagOnFilament.updateManyAndReturn({ + * select: { filamentId: 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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one TagOnFilament. + * @param {TagOnFilamentUpsertArgs} args - Arguments to update or create a TagOnFilament. + * @example + * // Update or create a TagOnFilament + * const tagOnFilament = await prisma.tagOnFilament.upsert({ + * create: { + * // ... data to create a TagOnFilament + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the TagOnFilament we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnFilamentClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of TagOnFilaments. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagOnFilamentCountArgs} args - Arguments to filter TagOnFilaments to count. + * @example + * // Count the number of TagOnFilaments + * const count = await prisma.tagOnFilament.count({ + * where: { + * // ... the filter for the TagOnFilaments we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a TagOnFilament. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagOnFilamentAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by TagOnFilament. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagOnFilamentGroupByArgs} 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 TagOnFilamentGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: TagOnFilamentGroupByArgs['orderBy'] } + : { orderBy?: TagOnFilamentGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetTagOnFilamentGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the TagOnFilament model + */ +readonly fields: TagOnFilamentFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for TagOnFilament. + * 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__TagOnFilamentClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + filament = {}>(args?: Prisma.Subset>): Prisma.Prisma__FilamentClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + tag = {}>(args?: Prisma.Subset>): Prisma.Prisma__TagClient, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the TagOnFilament model + */ +export interface TagOnFilamentFieldRefs { + readonly filamentId: Prisma.FieldRef<"TagOnFilament", 'String'> + readonly tagId: Prisma.FieldRef<"TagOnFilament", 'String'> +} + + +// Custom InputTypes +/** + * TagOnFilament findUnique + */ +export type TagOnFilamentFindUniqueArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelect | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentInclude | null + /** + * Filter, which TagOnFilament to fetch. + */ + where: Prisma.TagOnFilamentWhereUniqueInput +} + +/** + * TagOnFilament findUniqueOrThrow + */ +export type TagOnFilamentFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelect | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentInclude | null + /** + * Filter, which TagOnFilament to fetch. + */ + where: Prisma.TagOnFilamentWhereUniqueInput +} + +/** + * TagOnFilament findFirst + */ +export type TagOnFilamentFindFirstArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelect | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentInclude | null + /** + * Filter, which TagOnFilament to fetch. + */ + where?: Prisma.TagOnFilamentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TagOnFilaments to fetch. + */ + orderBy?: Prisma.TagOnFilamentOrderByWithRelationInput | Prisma.TagOnFilamentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for TagOnFilaments. + */ + cursor?: Prisma.TagOnFilamentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TagOnFilaments 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` TagOnFilaments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TagOnFilaments. + */ + distinct?: Prisma.TagOnFilamentScalarFieldEnum | Prisma.TagOnFilamentScalarFieldEnum[] +} + +/** + * TagOnFilament findFirstOrThrow + */ +export type TagOnFilamentFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelect | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentInclude | null + /** + * Filter, which TagOnFilament to fetch. + */ + where?: Prisma.TagOnFilamentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TagOnFilaments to fetch. + */ + orderBy?: Prisma.TagOnFilamentOrderByWithRelationInput | Prisma.TagOnFilamentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for TagOnFilaments. + */ + cursor?: Prisma.TagOnFilamentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TagOnFilaments 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` TagOnFilaments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TagOnFilaments. + */ + distinct?: Prisma.TagOnFilamentScalarFieldEnum | Prisma.TagOnFilamentScalarFieldEnum[] +} + +/** + * TagOnFilament findMany + */ +export type TagOnFilamentFindManyArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelect | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentInclude | null + /** + * Filter, which TagOnFilaments to fetch. + */ + where?: Prisma.TagOnFilamentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TagOnFilaments to fetch. + */ + orderBy?: Prisma.TagOnFilamentOrderByWithRelationInput | Prisma.TagOnFilamentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing TagOnFilaments. + */ + cursor?: Prisma.TagOnFilamentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TagOnFilaments 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` TagOnFilaments. + */ + skip?: number + distinct?: Prisma.TagOnFilamentScalarFieldEnum | Prisma.TagOnFilamentScalarFieldEnum[] +} + +/** + * TagOnFilament create + */ +export type TagOnFilamentCreateArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelect | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentInclude | null + /** + * The data needed to create a TagOnFilament. + */ + data: Prisma.XOR +} + +/** + * TagOnFilament createMany + */ +export type TagOnFilamentCreateManyArgs = { + /** + * The data used to create many TagOnFilaments. + */ + data: Prisma.TagOnFilamentCreateManyInput | Prisma.TagOnFilamentCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * TagOnFilament createManyAndReturn + */ +export type TagOnFilamentCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelectCreateManyAndReturn | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * The data used to create many TagOnFilaments. + */ + data: Prisma.TagOnFilamentCreateManyInput | Prisma.TagOnFilamentCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentIncludeCreateManyAndReturn | null +} + +/** + * TagOnFilament update + */ +export type TagOnFilamentUpdateArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelect | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentInclude | null + /** + * The data needed to update a TagOnFilament. + */ + data: Prisma.XOR + /** + * Choose, which TagOnFilament to update. + */ + where: Prisma.TagOnFilamentWhereUniqueInput +} + +/** + * TagOnFilament updateMany + */ +export type TagOnFilamentUpdateManyArgs = { + /** + * The data used to update TagOnFilaments. + */ + data: Prisma.XOR + /** + * Filter which TagOnFilaments to update + */ + where?: Prisma.TagOnFilamentWhereInput + /** + * Limit how many TagOnFilaments to update. + */ + limit?: number +} + +/** + * TagOnFilament updateManyAndReturn + */ +export type TagOnFilamentUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * The data used to update TagOnFilaments. + */ + data: Prisma.XOR + /** + * Filter which TagOnFilaments to update + */ + where?: Prisma.TagOnFilamentWhereInput + /** + * Limit how many TagOnFilaments to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentIncludeUpdateManyAndReturn | null +} + +/** + * TagOnFilament upsert + */ +export type TagOnFilamentUpsertArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelect | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentInclude | null + /** + * The filter to search for the TagOnFilament to update in case it exists. + */ + where: Prisma.TagOnFilamentWhereUniqueInput + /** + * In case the TagOnFilament found by the `where` argument doesn't exist, create a new TagOnFilament with this data. + */ + create: Prisma.XOR + /** + * In case the TagOnFilament was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * TagOnFilament delete + */ +export type TagOnFilamentDeleteArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelect | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentInclude | null + /** + * Filter which TagOnFilament to delete. + */ + where: Prisma.TagOnFilamentWhereUniqueInput +} + +/** + * TagOnFilament deleteMany + */ +export type TagOnFilamentDeleteManyArgs = { + /** + * Filter which TagOnFilaments to delete + */ + where?: Prisma.TagOnFilamentWhereInput + /** + * Limit how many TagOnFilaments to delete. + */ + limit?: number +} + +/** + * TagOnFilament without action + */ +export type TagOnFilamentDefaultArgs = { + /** + * Select specific fields to fetch from the TagOnFilament + */ + select?: Prisma.TagOnFilamentSelect | null + /** + * Omit specific fields from the TagOnFilament + */ + omit?: Prisma.TagOnFilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnFilamentInclude | null +} diff --git a/src/generated/prisma/models/TagOnPaint.ts b/src/generated/prisma/models/TagOnPaint.ts new file mode 100644 index 0000000..a3f5147 --- /dev/null +++ b/src/generated/prisma/models/TagOnPaint.ts @@ -0,0 +1,1344 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `TagOnPaint` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model TagOnPaint + * + */ +export type TagOnPaintModel = runtime.Types.Result.DefaultSelection + +export type AggregateTagOnPaint = { + _count: TagOnPaintCountAggregateOutputType | null + _min: TagOnPaintMinAggregateOutputType | null + _max: TagOnPaintMaxAggregateOutputType | null +} + +export type TagOnPaintMinAggregateOutputType = { + paintId: string | null + tagId: string | null +} + +export type TagOnPaintMaxAggregateOutputType = { + paintId: string | null + tagId: string | null +} + +export type TagOnPaintCountAggregateOutputType = { + paintId: number + tagId: number + _all: number +} + + +export type TagOnPaintMinAggregateInputType = { + paintId?: true + tagId?: true +} + +export type TagOnPaintMaxAggregateInputType = { + paintId?: true + tagId?: true +} + +export type TagOnPaintCountAggregateInputType = { + paintId?: true + tagId?: true + _all?: true +} + +export type TagOnPaintAggregateArgs = { + /** + * Filter which TagOnPaint to aggregate. + */ + where?: Prisma.TagOnPaintWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TagOnPaints to fetch. + */ + orderBy?: Prisma.TagOnPaintOrderByWithRelationInput | Prisma.TagOnPaintOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.TagOnPaintWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TagOnPaints 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` TagOnPaints. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned TagOnPaints + **/ + _count?: true | TagOnPaintCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: TagOnPaintMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: TagOnPaintMaxAggregateInputType +} + +export type GetTagOnPaintAggregateType = { + [P in keyof T & keyof AggregateTagOnPaint]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type TagOnPaintGroupByArgs = { + where?: Prisma.TagOnPaintWhereInput + orderBy?: Prisma.TagOnPaintOrderByWithAggregationInput | Prisma.TagOnPaintOrderByWithAggregationInput[] + by: Prisma.TagOnPaintScalarFieldEnum[] | Prisma.TagOnPaintScalarFieldEnum + having?: Prisma.TagOnPaintScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: TagOnPaintCountAggregateInputType | true + _min?: TagOnPaintMinAggregateInputType + _max?: TagOnPaintMaxAggregateInputType +} + +export type TagOnPaintGroupByOutputType = { + paintId: string + tagId: string + _count: TagOnPaintCountAggregateOutputType | null + _min: TagOnPaintMinAggregateOutputType | null + _max: TagOnPaintMaxAggregateOutputType | null +} + +type GetTagOnPaintGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof TagOnPaintGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type TagOnPaintWhereInput = { + AND?: Prisma.TagOnPaintWhereInput | Prisma.TagOnPaintWhereInput[] + OR?: Prisma.TagOnPaintWhereInput[] + NOT?: Prisma.TagOnPaintWhereInput | Prisma.TagOnPaintWhereInput[] + paintId?: Prisma.StringFilter<"TagOnPaint"> | string + tagId?: Prisma.StringFilter<"TagOnPaint"> | string + paint?: Prisma.XOR + tag?: Prisma.XOR +} + +export type TagOnPaintOrderByWithRelationInput = { + paintId?: Prisma.SortOrder + tagId?: Prisma.SortOrder + paint?: Prisma.PaintOrderByWithRelationInput + tag?: Prisma.TagOrderByWithRelationInput +} + +export type TagOnPaintWhereUniqueInput = Prisma.AtLeast<{ + paintId_tagId?: Prisma.TagOnPaintPaintIdTagIdCompoundUniqueInput + AND?: Prisma.TagOnPaintWhereInput | Prisma.TagOnPaintWhereInput[] + OR?: Prisma.TagOnPaintWhereInput[] + NOT?: Prisma.TagOnPaintWhereInput | Prisma.TagOnPaintWhereInput[] + paintId?: Prisma.StringFilter<"TagOnPaint"> | string + tagId?: Prisma.StringFilter<"TagOnPaint"> | string + paint?: Prisma.XOR + tag?: Prisma.XOR +}, "paintId_tagId"> + +export type TagOnPaintOrderByWithAggregationInput = { + paintId?: Prisma.SortOrder + tagId?: Prisma.SortOrder + _count?: Prisma.TagOnPaintCountOrderByAggregateInput + _max?: Prisma.TagOnPaintMaxOrderByAggregateInput + _min?: Prisma.TagOnPaintMinOrderByAggregateInput +} + +export type TagOnPaintScalarWhereWithAggregatesInput = { + AND?: Prisma.TagOnPaintScalarWhereWithAggregatesInput | Prisma.TagOnPaintScalarWhereWithAggregatesInput[] + OR?: Prisma.TagOnPaintScalarWhereWithAggregatesInput[] + NOT?: Prisma.TagOnPaintScalarWhereWithAggregatesInput | Prisma.TagOnPaintScalarWhereWithAggregatesInput[] + paintId?: Prisma.StringWithAggregatesFilter<"TagOnPaint"> | string + tagId?: Prisma.StringWithAggregatesFilter<"TagOnPaint"> | string +} + +export type TagOnPaintCreateInput = { + paint: Prisma.PaintCreateNestedOneWithoutTagsInput + tag: Prisma.TagCreateNestedOneWithoutPaintsInput +} + +export type TagOnPaintUncheckedCreateInput = { + paintId: string + tagId: string +} + +export type TagOnPaintUpdateInput = { + paint?: Prisma.PaintUpdateOneRequiredWithoutTagsNestedInput + tag?: Prisma.TagUpdateOneRequiredWithoutPaintsNestedInput +} + +export type TagOnPaintUncheckedUpdateInput = { + paintId?: Prisma.StringFieldUpdateOperationsInput | string + tagId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnPaintCreateManyInput = { + paintId: string + tagId: string +} + +export type TagOnPaintUpdateManyMutationInput = { + +} + +export type TagOnPaintUncheckedUpdateManyInput = { + paintId?: Prisma.StringFieldUpdateOperationsInput | string + tagId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnPaintListRelationFilter = { + every?: Prisma.TagOnPaintWhereInput + some?: Prisma.TagOnPaintWhereInput + none?: Prisma.TagOnPaintWhereInput +} + +export type TagOnPaintOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type TagOnPaintPaintIdTagIdCompoundUniqueInput = { + paintId: string + tagId: string +} + +export type TagOnPaintCountOrderByAggregateInput = { + paintId?: Prisma.SortOrder + tagId?: Prisma.SortOrder +} + +export type TagOnPaintMaxOrderByAggregateInput = { + paintId?: Prisma.SortOrder + tagId?: Prisma.SortOrder +} + +export type TagOnPaintMinOrderByAggregateInput = { + paintId?: Prisma.SortOrder + tagId?: Prisma.SortOrder +} + +export type TagOnPaintCreateNestedManyWithoutPaintInput = { + create?: Prisma.XOR | Prisma.TagOnPaintCreateWithoutPaintInput[] | Prisma.TagOnPaintUncheckedCreateWithoutPaintInput[] + connectOrCreate?: Prisma.TagOnPaintCreateOrConnectWithoutPaintInput | Prisma.TagOnPaintCreateOrConnectWithoutPaintInput[] + createMany?: Prisma.TagOnPaintCreateManyPaintInputEnvelope + connect?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] +} + +export type TagOnPaintUncheckedCreateNestedManyWithoutPaintInput = { + create?: Prisma.XOR | Prisma.TagOnPaintCreateWithoutPaintInput[] | Prisma.TagOnPaintUncheckedCreateWithoutPaintInput[] + connectOrCreate?: Prisma.TagOnPaintCreateOrConnectWithoutPaintInput | Prisma.TagOnPaintCreateOrConnectWithoutPaintInput[] + createMany?: Prisma.TagOnPaintCreateManyPaintInputEnvelope + connect?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] +} + +export type TagOnPaintUpdateManyWithoutPaintNestedInput = { + create?: Prisma.XOR | Prisma.TagOnPaintCreateWithoutPaintInput[] | Prisma.TagOnPaintUncheckedCreateWithoutPaintInput[] + connectOrCreate?: Prisma.TagOnPaintCreateOrConnectWithoutPaintInput | Prisma.TagOnPaintCreateOrConnectWithoutPaintInput[] + upsert?: Prisma.TagOnPaintUpsertWithWhereUniqueWithoutPaintInput | Prisma.TagOnPaintUpsertWithWhereUniqueWithoutPaintInput[] + createMany?: Prisma.TagOnPaintCreateManyPaintInputEnvelope + set?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + disconnect?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + delete?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + connect?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + update?: Prisma.TagOnPaintUpdateWithWhereUniqueWithoutPaintInput | Prisma.TagOnPaintUpdateWithWhereUniqueWithoutPaintInput[] + updateMany?: Prisma.TagOnPaintUpdateManyWithWhereWithoutPaintInput | Prisma.TagOnPaintUpdateManyWithWhereWithoutPaintInput[] + deleteMany?: Prisma.TagOnPaintScalarWhereInput | Prisma.TagOnPaintScalarWhereInput[] +} + +export type TagOnPaintUncheckedUpdateManyWithoutPaintNestedInput = { + create?: Prisma.XOR | Prisma.TagOnPaintCreateWithoutPaintInput[] | Prisma.TagOnPaintUncheckedCreateWithoutPaintInput[] + connectOrCreate?: Prisma.TagOnPaintCreateOrConnectWithoutPaintInput | Prisma.TagOnPaintCreateOrConnectWithoutPaintInput[] + upsert?: Prisma.TagOnPaintUpsertWithWhereUniqueWithoutPaintInput | Prisma.TagOnPaintUpsertWithWhereUniqueWithoutPaintInput[] + createMany?: Prisma.TagOnPaintCreateManyPaintInputEnvelope + set?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + disconnect?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + delete?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + connect?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + update?: Prisma.TagOnPaintUpdateWithWhereUniqueWithoutPaintInput | Prisma.TagOnPaintUpdateWithWhereUniqueWithoutPaintInput[] + updateMany?: Prisma.TagOnPaintUpdateManyWithWhereWithoutPaintInput | Prisma.TagOnPaintUpdateManyWithWhereWithoutPaintInput[] + deleteMany?: Prisma.TagOnPaintScalarWhereInput | Prisma.TagOnPaintScalarWhereInput[] +} + +export type TagOnPaintCreateNestedManyWithoutTagInput = { + create?: Prisma.XOR | Prisma.TagOnPaintCreateWithoutTagInput[] | Prisma.TagOnPaintUncheckedCreateWithoutTagInput[] + connectOrCreate?: Prisma.TagOnPaintCreateOrConnectWithoutTagInput | Prisma.TagOnPaintCreateOrConnectWithoutTagInput[] + createMany?: Prisma.TagOnPaintCreateManyTagInputEnvelope + connect?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] +} + +export type TagOnPaintUncheckedCreateNestedManyWithoutTagInput = { + create?: Prisma.XOR | Prisma.TagOnPaintCreateWithoutTagInput[] | Prisma.TagOnPaintUncheckedCreateWithoutTagInput[] + connectOrCreate?: Prisma.TagOnPaintCreateOrConnectWithoutTagInput | Prisma.TagOnPaintCreateOrConnectWithoutTagInput[] + createMany?: Prisma.TagOnPaintCreateManyTagInputEnvelope + connect?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] +} + +export type TagOnPaintUpdateManyWithoutTagNestedInput = { + create?: Prisma.XOR | Prisma.TagOnPaintCreateWithoutTagInput[] | Prisma.TagOnPaintUncheckedCreateWithoutTagInput[] + connectOrCreate?: Prisma.TagOnPaintCreateOrConnectWithoutTagInput | Prisma.TagOnPaintCreateOrConnectWithoutTagInput[] + upsert?: Prisma.TagOnPaintUpsertWithWhereUniqueWithoutTagInput | Prisma.TagOnPaintUpsertWithWhereUniqueWithoutTagInput[] + createMany?: Prisma.TagOnPaintCreateManyTagInputEnvelope + set?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + disconnect?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + delete?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + connect?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + update?: Prisma.TagOnPaintUpdateWithWhereUniqueWithoutTagInput | Prisma.TagOnPaintUpdateWithWhereUniqueWithoutTagInput[] + updateMany?: Prisma.TagOnPaintUpdateManyWithWhereWithoutTagInput | Prisma.TagOnPaintUpdateManyWithWhereWithoutTagInput[] + deleteMany?: Prisma.TagOnPaintScalarWhereInput | Prisma.TagOnPaintScalarWhereInput[] +} + +export type TagOnPaintUncheckedUpdateManyWithoutTagNestedInput = { + create?: Prisma.XOR | Prisma.TagOnPaintCreateWithoutTagInput[] | Prisma.TagOnPaintUncheckedCreateWithoutTagInput[] + connectOrCreate?: Prisma.TagOnPaintCreateOrConnectWithoutTagInput | Prisma.TagOnPaintCreateOrConnectWithoutTagInput[] + upsert?: Prisma.TagOnPaintUpsertWithWhereUniqueWithoutTagInput | Prisma.TagOnPaintUpsertWithWhereUniqueWithoutTagInput[] + createMany?: Prisma.TagOnPaintCreateManyTagInputEnvelope + set?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + disconnect?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + delete?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + connect?: Prisma.TagOnPaintWhereUniqueInput | Prisma.TagOnPaintWhereUniqueInput[] + update?: Prisma.TagOnPaintUpdateWithWhereUniqueWithoutTagInput | Prisma.TagOnPaintUpdateWithWhereUniqueWithoutTagInput[] + updateMany?: Prisma.TagOnPaintUpdateManyWithWhereWithoutTagInput | Prisma.TagOnPaintUpdateManyWithWhereWithoutTagInput[] + deleteMany?: Prisma.TagOnPaintScalarWhereInput | Prisma.TagOnPaintScalarWhereInput[] +} + +export type TagOnPaintCreateWithoutPaintInput = { + tag: Prisma.TagCreateNestedOneWithoutPaintsInput +} + +export type TagOnPaintUncheckedCreateWithoutPaintInput = { + tagId: string +} + +export type TagOnPaintCreateOrConnectWithoutPaintInput = { + where: Prisma.TagOnPaintWhereUniqueInput + create: Prisma.XOR +} + +export type TagOnPaintCreateManyPaintInputEnvelope = { + data: Prisma.TagOnPaintCreateManyPaintInput | Prisma.TagOnPaintCreateManyPaintInput[] + skipDuplicates?: boolean +} + +export type TagOnPaintUpsertWithWhereUniqueWithoutPaintInput = { + where: Prisma.TagOnPaintWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TagOnPaintUpdateWithWhereUniqueWithoutPaintInput = { + where: Prisma.TagOnPaintWhereUniqueInput + data: Prisma.XOR +} + +export type TagOnPaintUpdateManyWithWhereWithoutPaintInput = { + where: Prisma.TagOnPaintScalarWhereInput + data: Prisma.XOR +} + +export type TagOnPaintScalarWhereInput = { + AND?: Prisma.TagOnPaintScalarWhereInput | Prisma.TagOnPaintScalarWhereInput[] + OR?: Prisma.TagOnPaintScalarWhereInput[] + NOT?: Prisma.TagOnPaintScalarWhereInput | Prisma.TagOnPaintScalarWhereInput[] + paintId?: Prisma.StringFilter<"TagOnPaint"> | string + tagId?: Prisma.StringFilter<"TagOnPaint"> | string +} + +export type TagOnPaintCreateWithoutTagInput = { + paint: Prisma.PaintCreateNestedOneWithoutTagsInput +} + +export type TagOnPaintUncheckedCreateWithoutTagInput = { + paintId: string +} + +export type TagOnPaintCreateOrConnectWithoutTagInput = { + where: Prisma.TagOnPaintWhereUniqueInput + create: Prisma.XOR +} + +export type TagOnPaintCreateManyTagInputEnvelope = { + data: Prisma.TagOnPaintCreateManyTagInput | Prisma.TagOnPaintCreateManyTagInput[] + skipDuplicates?: boolean +} + +export type TagOnPaintUpsertWithWhereUniqueWithoutTagInput = { + where: Prisma.TagOnPaintWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TagOnPaintUpdateWithWhereUniqueWithoutTagInput = { + where: Prisma.TagOnPaintWhereUniqueInput + data: Prisma.XOR +} + +export type TagOnPaintUpdateManyWithWhereWithoutTagInput = { + where: Prisma.TagOnPaintScalarWhereInput + data: Prisma.XOR +} + +export type TagOnPaintCreateManyPaintInput = { + tagId: string +} + +export type TagOnPaintUpdateWithoutPaintInput = { + tag?: Prisma.TagUpdateOneRequiredWithoutPaintsNestedInput +} + +export type TagOnPaintUncheckedUpdateWithoutPaintInput = { + tagId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnPaintUncheckedUpdateManyWithoutPaintInput = { + tagId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnPaintCreateManyTagInput = { + paintId: string +} + +export type TagOnPaintUpdateWithoutTagInput = { + paint?: Prisma.PaintUpdateOneRequiredWithoutTagsNestedInput +} + +export type TagOnPaintUncheckedUpdateWithoutTagInput = { + paintId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnPaintUncheckedUpdateManyWithoutTagInput = { + paintId?: Prisma.StringFieldUpdateOperationsInput | string +} + + + +export type TagOnPaintSelect = runtime.Types.Extensions.GetSelect<{ + paintId?: boolean + tagId?: boolean + paint?: boolean | Prisma.PaintDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +}, ExtArgs["result"]["tagOnPaint"]> + +export type TagOnPaintSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + paintId?: boolean + tagId?: boolean + paint?: boolean | Prisma.PaintDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +}, ExtArgs["result"]["tagOnPaint"]> + +export type TagOnPaintSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + paintId?: boolean + tagId?: boolean + paint?: boolean | Prisma.PaintDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +}, ExtArgs["result"]["tagOnPaint"]> + +export type TagOnPaintSelectScalar = { + paintId?: boolean + tagId?: boolean +} + +export type TagOnPaintOmit = runtime.Types.Extensions.GetOmit<"paintId" | "tagId", ExtArgs["result"]["tagOnPaint"]> +export type TagOnPaintInclude = { + paint?: boolean | Prisma.PaintDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +} +export type TagOnPaintIncludeCreateManyAndReturn = { + paint?: boolean | Prisma.PaintDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +} +export type TagOnPaintIncludeUpdateManyAndReturn = { + paint?: boolean | Prisma.PaintDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +} + +export type $TagOnPaintPayload = { + name: "TagOnPaint" + objects: { + paint: Prisma.$PaintPayload + tag: Prisma.$TagPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + paintId: string + tagId: string + }, ExtArgs["result"]["tagOnPaint"]> + composites: {} +} + +export type TagOnPaintGetPayload = runtime.Types.Result.GetResult + +export type TagOnPaintCountArgs = + Omit & { + select?: TagOnPaintCountAggregateInputType | true + } + +export interface TagOnPaintDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['TagOnPaint'], meta: { name: 'TagOnPaint' } } + /** + * Find zero or one TagOnPaint that matches the filter. + * @param {TagOnPaintFindUniqueArgs} args - Arguments to find a TagOnPaint + * @example + * // Get one TagOnPaint + * const tagOnPaint = await prisma.tagOnPaint.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnPaintClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one TagOnPaint that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {TagOnPaintFindUniqueOrThrowArgs} args - Arguments to find a TagOnPaint + * @example + * // Get one TagOnPaint + * const tagOnPaint = await prisma.tagOnPaint.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnPaintClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first TagOnPaint 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 {TagOnPaintFindFirstArgs} args - Arguments to find a TagOnPaint + * @example + * // Get one TagOnPaint + * const tagOnPaint = await prisma.tagOnPaint.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__TagOnPaintClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first TagOnPaint 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 {TagOnPaintFindFirstOrThrowArgs} args - Arguments to find a TagOnPaint + * @example + * // Get one TagOnPaint + * const tagOnPaint = await prisma.tagOnPaint.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__TagOnPaintClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more TagOnPaints 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 {TagOnPaintFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all TagOnPaints + * const tagOnPaints = await prisma.tagOnPaint.findMany() + * + * // Get first 10 TagOnPaints + * const tagOnPaints = await prisma.tagOnPaint.findMany({ take: 10 }) + * + * // Only select the `paintId` + * const tagOnPaintWithPaintIdOnly = await prisma.tagOnPaint.findMany({ select: { paintId: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a TagOnPaint. + * @param {TagOnPaintCreateArgs} args - Arguments to create a TagOnPaint. + * @example + * // Create one TagOnPaint + * const TagOnPaint = await prisma.tagOnPaint.create({ + * data: { + * // ... data to create a TagOnPaint + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnPaintClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many TagOnPaints. + * @param {TagOnPaintCreateManyArgs} args - Arguments to create many TagOnPaints. + * @example + * // Create many TagOnPaints + * const tagOnPaint = await prisma.tagOnPaint.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many TagOnPaints and returns the data saved in the database. + * @param {TagOnPaintCreateManyAndReturnArgs} args - Arguments to create many TagOnPaints. + * @example + * // Create many TagOnPaints + * const tagOnPaint = await prisma.tagOnPaint.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many TagOnPaints and only return the `paintId` + * const tagOnPaintWithPaintIdOnly = await prisma.tagOnPaint.createManyAndReturn({ + * select: { paintId: 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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a TagOnPaint. + * @param {TagOnPaintDeleteArgs} args - Arguments to delete one TagOnPaint. + * @example + * // Delete one TagOnPaint + * const TagOnPaint = await prisma.tagOnPaint.delete({ + * where: { + * // ... filter to delete one TagOnPaint + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnPaintClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one TagOnPaint. + * @param {TagOnPaintUpdateArgs} args - Arguments to update one TagOnPaint. + * @example + * // Update one TagOnPaint + * const tagOnPaint = await prisma.tagOnPaint.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnPaintClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more TagOnPaints. + * @param {TagOnPaintDeleteManyArgs} args - Arguments to filter TagOnPaints to delete. + * @example + * // Delete a few TagOnPaints + * const { count } = await prisma.tagOnPaint.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more TagOnPaints. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagOnPaintUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many TagOnPaints + * const tagOnPaint = await prisma.tagOnPaint.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more TagOnPaints and returns the data updated in the database. + * @param {TagOnPaintUpdateManyAndReturnArgs} args - Arguments to update many TagOnPaints. + * @example + * // Update many TagOnPaints + * const tagOnPaint = await prisma.tagOnPaint.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more TagOnPaints and only return the `paintId` + * const tagOnPaintWithPaintIdOnly = await prisma.tagOnPaint.updateManyAndReturn({ + * select: { paintId: 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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one TagOnPaint. + * @param {TagOnPaintUpsertArgs} args - Arguments to update or create a TagOnPaint. + * @example + * // Update or create a TagOnPaint + * const tagOnPaint = await prisma.tagOnPaint.upsert({ + * create: { + * // ... data to create a TagOnPaint + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the TagOnPaint we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnPaintClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of TagOnPaints. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagOnPaintCountArgs} args - Arguments to filter TagOnPaints to count. + * @example + * // Count the number of TagOnPaints + * const count = await prisma.tagOnPaint.count({ + * where: { + * // ... the filter for the TagOnPaints we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a TagOnPaint. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagOnPaintAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by TagOnPaint. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagOnPaintGroupByArgs} 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 TagOnPaintGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: TagOnPaintGroupByArgs['orderBy'] } + : { orderBy?: TagOnPaintGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetTagOnPaintGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the TagOnPaint model + */ +readonly fields: TagOnPaintFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for TagOnPaint. + * 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__TagOnPaintClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + paint = {}>(args?: Prisma.Subset>): Prisma.Prisma__PaintClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + tag = {}>(args?: Prisma.Subset>): Prisma.Prisma__TagClient, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the TagOnPaint model + */ +export interface TagOnPaintFieldRefs { + readonly paintId: Prisma.FieldRef<"TagOnPaint", 'String'> + readonly tagId: Prisma.FieldRef<"TagOnPaint", 'String'> +} + + +// Custom InputTypes +/** + * TagOnPaint findUnique + */ +export type TagOnPaintFindUniqueArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelect | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintInclude | null + /** + * Filter, which TagOnPaint to fetch. + */ + where: Prisma.TagOnPaintWhereUniqueInput +} + +/** + * TagOnPaint findUniqueOrThrow + */ +export type TagOnPaintFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelect | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintInclude | null + /** + * Filter, which TagOnPaint to fetch. + */ + where: Prisma.TagOnPaintWhereUniqueInput +} + +/** + * TagOnPaint findFirst + */ +export type TagOnPaintFindFirstArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelect | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintInclude | null + /** + * Filter, which TagOnPaint to fetch. + */ + where?: Prisma.TagOnPaintWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TagOnPaints to fetch. + */ + orderBy?: Prisma.TagOnPaintOrderByWithRelationInput | Prisma.TagOnPaintOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for TagOnPaints. + */ + cursor?: Prisma.TagOnPaintWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TagOnPaints 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` TagOnPaints. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TagOnPaints. + */ + distinct?: Prisma.TagOnPaintScalarFieldEnum | Prisma.TagOnPaintScalarFieldEnum[] +} + +/** + * TagOnPaint findFirstOrThrow + */ +export type TagOnPaintFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelect | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintInclude | null + /** + * Filter, which TagOnPaint to fetch. + */ + where?: Prisma.TagOnPaintWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TagOnPaints to fetch. + */ + orderBy?: Prisma.TagOnPaintOrderByWithRelationInput | Prisma.TagOnPaintOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for TagOnPaints. + */ + cursor?: Prisma.TagOnPaintWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TagOnPaints 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` TagOnPaints. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TagOnPaints. + */ + distinct?: Prisma.TagOnPaintScalarFieldEnum | Prisma.TagOnPaintScalarFieldEnum[] +} + +/** + * TagOnPaint findMany + */ +export type TagOnPaintFindManyArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelect | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintInclude | null + /** + * Filter, which TagOnPaints to fetch. + */ + where?: Prisma.TagOnPaintWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TagOnPaints to fetch. + */ + orderBy?: Prisma.TagOnPaintOrderByWithRelationInput | Prisma.TagOnPaintOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing TagOnPaints. + */ + cursor?: Prisma.TagOnPaintWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TagOnPaints 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` TagOnPaints. + */ + skip?: number + distinct?: Prisma.TagOnPaintScalarFieldEnum | Prisma.TagOnPaintScalarFieldEnum[] +} + +/** + * TagOnPaint create + */ +export type TagOnPaintCreateArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelect | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintInclude | null + /** + * The data needed to create a TagOnPaint. + */ + data: Prisma.XOR +} + +/** + * TagOnPaint createMany + */ +export type TagOnPaintCreateManyArgs = { + /** + * The data used to create many TagOnPaints. + */ + data: Prisma.TagOnPaintCreateManyInput | Prisma.TagOnPaintCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * TagOnPaint createManyAndReturn + */ +export type TagOnPaintCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelectCreateManyAndReturn | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * The data used to create many TagOnPaints. + */ + data: Prisma.TagOnPaintCreateManyInput | Prisma.TagOnPaintCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintIncludeCreateManyAndReturn | null +} + +/** + * TagOnPaint update + */ +export type TagOnPaintUpdateArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelect | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintInclude | null + /** + * The data needed to update a TagOnPaint. + */ + data: Prisma.XOR + /** + * Choose, which TagOnPaint to update. + */ + where: Prisma.TagOnPaintWhereUniqueInput +} + +/** + * TagOnPaint updateMany + */ +export type TagOnPaintUpdateManyArgs = { + /** + * The data used to update TagOnPaints. + */ + data: Prisma.XOR + /** + * Filter which TagOnPaints to update + */ + where?: Prisma.TagOnPaintWhereInput + /** + * Limit how many TagOnPaints to update. + */ + limit?: number +} + +/** + * TagOnPaint updateManyAndReturn + */ +export type TagOnPaintUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * The data used to update TagOnPaints. + */ + data: Prisma.XOR + /** + * Filter which TagOnPaints to update + */ + where?: Prisma.TagOnPaintWhereInput + /** + * Limit how many TagOnPaints to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintIncludeUpdateManyAndReturn | null +} + +/** + * TagOnPaint upsert + */ +export type TagOnPaintUpsertArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelect | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintInclude | null + /** + * The filter to search for the TagOnPaint to update in case it exists. + */ + where: Prisma.TagOnPaintWhereUniqueInput + /** + * In case the TagOnPaint found by the `where` argument doesn't exist, create a new TagOnPaint with this data. + */ + create: Prisma.XOR + /** + * In case the TagOnPaint was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * TagOnPaint delete + */ +export type TagOnPaintDeleteArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelect | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintInclude | null + /** + * Filter which TagOnPaint to delete. + */ + where: Prisma.TagOnPaintWhereUniqueInput +} + +/** + * TagOnPaint deleteMany + */ +export type TagOnPaintDeleteManyArgs = { + /** + * Filter which TagOnPaints to delete + */ + where?: Prisma.TagOnPaintWhereInput + /** + * Limit how many TagOnPaints to delete. + */ + limit?: number +} + +/** + * TagOnPaint without action + */ +export type TagOnPaintDefaultArgs = { + /** + * Select specific fields to fetch from the TagOnPaint + */ + select?: Prisma.TagOnPaintSelect | null + /** + * Omit specific fields from the TagOnPaint + */ + omit?: Prisma.TagOnPaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnPaintInclude | null +} diff --git a/src/generated/prisma/models/TagOnResin.ts b/src/generated/prisma/models/TagOnResin.ts new file mode 100644 index 0000000..3afa374 --- /dev/null +++ b/src/generated/prisma/models/TagOnResin.ts @@ -0,0 +1,1344 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `TagOnResin` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model TagOnResin + * + */ +export type TagOnResinModel = runtime.Types.Result.DefaultSelection + +export type AggregateTagOnResin = { + _count: TagOnResinCountAggregateOutputType | null + _min: TagOnResinMinAggregateOutputType | null + _max: TagOnResinMaxAggregateOutputType | null +} + +export type TagOnResinMinAggregateOutputType = { + resinId: string | null + tagId: string | null +} + +export type TagOnResinMaxAggregateOutputType = { + resinId: string | null + tagId: string | null +} + +export type TagOnResinCountAggregateOutputType = { + resinId: number + tagId: number + _all: number +} + + +export type TagOnResinMinAggregateInputType = { + resinId?: true + tagId?: true +} + +export type TagOnResinMaxAggregateInputType = { + resinId?: true + tagId?: true +} + +export type TagOnResinCountAggregateInputType = { + resinId?: true + tagId?: true + _all?: true +} + +export type TagOnResinAggregateArgs = { + /** + * Filter which TagOnResin to aggregate. + */ + where?: Prisma.TagOnResinWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TagOnResins to fetch. + */ + orderBy?: Prisma.TagOnResinOrderByWithRelationInput | Prisma.TagOnResinOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.TagOnResinWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TagOnResins 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` TagOnResins. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned TagOnResins + **/ + _count?: true | TagOnResinCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: TagOnResinMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: TagOnResinMaxAggregateInputType +} + +export type GetTagOnResinAggregateType = { + [P in keyof T & keyof AggregateTagOnResin]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type TagOnResinGroupByArgs = { + where?: Prisma.TagOnResinWhereInput + orderBy?: Prisma.TagOnResinOrderByWithAggregationInput | Prisma.TagOnResinOrderByWithAggregationInput[] + by: Prisma.TagOnResinScalarFieldEnum[] | Prisma.TagOnResinScalarFieldEnum + having?: Prisma.TagOnResinScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: TagOnResinCountAggregateInputType | true + _min?: TagOnResinMinAggregateInputType + _max?: TagOnResinMaxAggregateInputType +} + +export type TagOnResinGroupByOutputType = { + resinId: string + tagId: string + _count: TagOnResinCountAggregateOutputType | null + _min: TagOnResinMinAggregateOutputType | null + _max: TagOnResinMaxAggregateOutputType | null +} + +type GetTagOnResinGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof TagOnResinGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type TagOnResinWhereInput = { + AND?: Prisma.TagOnResinWhereInput | Prisma.TagOnResinWhereInput[] + OR?: Prisma.TagOnResinWhereInput[] + NOT?: Prisma.TagOnResinWhereInput | Prisma.TagOnResinWhereInput[] + resinId?: Prisma.StringFilter<"TagOnResin"> | string + tagId?: Prisma.StringFilter<"TagOnResin"> | string + resin?: Prisma.XOR + tag?: Prisma.XOR +} + +export type TagOnResinOrderByWithRelationInput = { + resinId?: Prisma.SortOrder + tagId?: Prisma.SortOrder + resin?: Prisma.ResinOrderByWithRelationInput + tag?: Prisma.TagOrderByWithRelationInput +} + +export type TagOnResinWhereUniqueInput = Prisma.AtLeast<{ + resinId_tagId?: Prisma.TagOnResinResinIdTagIdCompoundUniqueInput + AND?: Prisma.TagOnResinWhereInput | Prisma.TagOnResinWhereInput[] + OR?: Prisma.TagOnResinWhereInput[] + NOT?: Prisma.TagOnResinWhereInput | Prisma.TagOnResinWhereInput[] + resinId?: Prisma.StringFilter<"TagOnResin"> | string + tagId?: Prisma.StringFilter<"TagOnResin"> | string + resin?: Prisma.XOR + tag?: Prisma.XOR +}, "resinId_tagId"> + +export type TagOnResinOrderByWithAggregationInput = { + resinId?: Prisma.SortOrder + tagId?: Prisma.SortOrder + _count?: Prisma.TagOnResinCountOrderByAggregateInput + _max?: Prisma.TagOnResinMaxOrderByAggregateInput + _min?: Prisma.TagOnResinMinOrderByAggregateInput +} + +export type TagOnResinScalarWhereWithAggregatesInput = { + AND?: Prisma.TagOnResinScalarWhereWithAggregatesInput | Prisma.TagOnResinScalarWhereWithAggregatesInput[] + OR?: Prisma.TagOnResinScalarWhereWithAggregatesInput[] + NOT?: Prisma.TagOnResinScalarWhereWithAggregatesInput | Prisma.TagOnResinScalarWhereWithAggregatesInput[] + resinId?: Prisma.StringWithAggregatesFilter<"TagOnResin"> | string + tagId?: Prisma.StringWithAggregatesFilter<"TagOnResin"> | string +} + +export type TagOnResinCreateInput = { + resin: Prisma.ResinCreateNestedOneWithoutTagsInput + tag: Prisma.TagCreateNestedOneWithoutResinsInput +} + +export type TagOnResinUncheckedCreateInput = { + resinId: string + tagId: string +} + +export type TagOnResinUpdateInput = { + resin?: Prisma.ResinUpdateOneRequiredWithoutTagsNestedInput + tag?: Prisma.TagUpdateOneRequiredWithoutResinsNestedInput +} + +export type TagOnResinUncheckedUpdateInput = { + resinId?: Prisma.StringFieldUpdateOperationsInput | string + tagId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnResinCreateManyInput = { + resinId: string + tagId: string +} + +export type TagOnResinUpdateManyMutationInput = { + +} + +export type TagOnResinUncheckedUpdateManyInput = { + resinId?: Prisma.StringFieldUpdateOperationsInput | string + tagId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnResinListRelationFilter = { + every?: Prisma.TagOnResinWhereInput + some?: Prisma.TagOnResinWhereInput + none?: Prisma.TagOnResinWhereInput +} + +export type TagOnResinOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type TagOnResinResinIdTagIdCompoundUniqueInput = { + resinId: string + tagId: string +} + +export type TagOnResinCountOrderByAggregateInput = { + resinId?: Prisma.SortOrder + tagId?: Prisma.SortOrder +} + +export type TagOnResinMaxOrderByAggregateInput = { + resinId?: Prisma.SortOrder + tagId?: Prisma.SortOrder +} + +export type TagOnResinMinOrderByAggregateInput = { + resinId?: Prisma.SortOrder + tagId?: Prisma.SortOrder +} + +export type TagOnResinCreateNestedManyWithoutResinInput = { + create?: Prisma.XOR | Prisma.TagOnResinCreateWithoutResinInput[] | Prisma.TagOnResinUncheckedCreateWithoutResinInput[] + connectOrCreate?: Prisma.TagOnResinCreateOrConnectWithoutResinInput | Prisma.TagOnResinCreateOrConnectWithoutResinInput[] + createMany?: Prisma.TagOnResinCreateManyResinInputEnvelope + connect?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] +} + +export type TagOnResinUncheckedCreateNestedManyWithoutResinInput = { + create?: Prisma.XOR | Prisma.TagOnResinCreateWithoutResinInput[] | Prisma.TagOnResinUncheckedCreateWithoutResinInput[] + connectOrCreate?: Prisma.TagOnResinCreateOrConnectWithoutResinInput | Prisma.TagOnResinCreateOrConnectWithoutResinInput[] + createMany?: Prisma.TagOnResinCreateManyResinInputEnvelope + connect?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] +} + +export type TagOnResinUpdateManyWithoutResinNestedInput = { + create?: Prisma.XOR | Prisma.TagOnResinCreateWithoutResinInput[] | Prisma.TagOnResinUncheckedCreateWithoutResinInput[] + connectOrCreate?: Prisma.TagOnResinCreateOrConnectWithoutResinInput | Prisma.TagOnResinCreateOrConnectWithoutResinInput[] + upsert?: Prisma.TagOnResinUpsertWithWhereUniqueWithoutResinInput | Prisma.TagOnResinUpsertWithWhereUniqueWithoutResinInput[] + createMany?: Prisma.TagOnResinCreateManyResinInputEnvelope + set?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + disconnect?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + delete?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + connect?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + update?: Prisma.TagOnResinUpdateWithWhereUniqueWithoutResinInput | Prisma.TagOnResinUpdateWithWhereUniqueWithoutResinInput[] + updateMany?: Prisma.TagOnResinUpdateManyWithWhereWithoutResinInput | Prisma.TagOnResinUpdateManyWithWhereWithoutResinInput[] + deleteMany?: Prisma.TagOnResinScalarWhereInput | Prisma.TagOnResinScalarWhereInput[] +} + +export type TagOnResinUncheckedUpdateManyWithoutResinNestedInput = { + create?: Prisma.XOR | Prisma.TagOnResinCreateWithoutResinInput[] | Prisma.TagOnResinUncheckedCreateWithoutResinInput[] + connectOrCreate?: Prisma.TagOnResinCreateOrConnectWithoutResinInput | Prisma.TagOnResinCreateOrConnectWithoutResinInput[] + upsert?: Prisma.TagOnResinUpsertWithWhereUniqueWithoutResinInput | Prisma.TagOnResinUpsertWithWhereUniqueWithoutResinInput[] + createMany?: Prisma.TagOnResinCreateManyResinInputEnvelope + set?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + disconnect?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + delete?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + connect?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + update?: Prisma.TagOnResinUpdateWithWhereUniqueWithoutResinInput | Prisma.TagOnResinUpdateWithWhereUniqueWithoutResinInput[] + updateMany?: Prisma.TagOnResinUpdateManyWithWhereWithoutResinInput | Prisma.TagOnResinUpdateManyWithWhereWithoutResinInput[] + deleteMany?: Prisma.TagOnResinScalarWhereInput | Prisma.TagOnResinScalarWhereInput[] +} + +export type TagOnResinCreateNestedManyWithoutTagInput = { + create?: Prisma.XOR | Prisma.TagOnResinCreateWithoutTagInput[] | Prisma.TagOnResinUncheckedCreateWithoutTagInput[] + connectOrCreate?: Prisma.TagOnResinCreateOrConnectWithoutTagInput | Prisma.TagOnResinCreateOrConnectWithoutTagInput[] + createMany?: Prisma.TagOnResinCreateManyTagInputEnvelope + connect?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] +} + +export type TagOnResinUncheckedCreateNestedManyWithoutTagInput = { + create?: Prisma.XOR | Prisma.TagOnResinCreateWithoutTagInput[] | Prisma.TagOnResinUncheckedCreateWithoutTagInput[] + connectOrCreate?: Prisma.TagOnResinCreateOrConnectWithoutTagInput | Prisma.TagOnResinCreateOrConnectWithoutTagInput[] + createMany?: Prisma.TagOnResinCreateManyTagInputEnvelope + connect?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] +} + +export type TagOnResinUpdateManyWithoutTagNestedInput = { + create?: Prisma.XOR | Prisma.TagOnResinCreateWithoutTagInput[] | Prisma.TagOnResinUncheckedCreateWithoutTagInput[] + connectOrCreate?: Prisma.TagOnResinCreateOrConnectWithoutTagInput | Prisma.TagOnResinCreateOrConnectWithoutTagInput[] + upsert?: Prisma.TagOnResinUpsertWithWhereUniqueWithoutTagInput | Prisma.TagOnResinUpsertWithWhereUniqueWithoutTagInput[] + createMany?: Prisma.TagOnResinCreateManyTagInputEnvelope + set?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + disconnect?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + delete?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + connect?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + update?: Prisma.TagOnResinUpdateWithWhereUniqueWithoutTagInput | Prisma.TagOnResinUpdateWithWhereUniqueWithoutTagInput[] + updateMany?: Prisma.TagOnResinUpdateManyWithWhereWithoutTagInput | Prisma.TagOnResinUpdateManyWithWhereWithoutTagInput[] + deleteMany?: Prisma.TagOnResinScalarWhereInput | Prisma.TagOnResinScalarWhereInput[] +} + +export type TagOnResinUncheckedUpdateManyWithoutTagNestedInput = { + create?: Prisma.XOR | Prisma.TagOnResinCreateWithoutTagInput[] | Prisma.TagOnResinUncheckedCreateWithoutTagInput[] + connectOrCreate?: Prisma.TagOnResinCreateOrConnectWithoutTagInput | Prisma.TagOnResinCreateOrConnectWithoutTagInput[] + upsert?: Prisma.TagOnResinUpsertWithWhereUniqueWithoutTagInput | Prisma.TagOnResinUpsertWithWhereUniqueWithoutTagInput[] + createMany?: Prisma.TagOnResinCreateManyTagInputEnvelope + set?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + disconnect?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + delete?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + connect?: Prisma.TagOnResinWhereUniqueInput | Prisma.TagOnResinWhereUniqueInput[] + update?: Prisma.TagOnResinUpdateWithWhereUniqueWithoutTagInput | Prisma.TagOnResinUpdateWithWhereUniqueWithoutTagInput[] + updateMany?: Prisma.TagOnResinUpdateManyWithWhereWithoutTagInput | Prisma.TagOnResinUpdateManyWithWhereWithoutTagInput[] + deleteMany?: Prisma.TagOnResinScalarWhereInput | Prisma.TagOnResinScalarWhereInput[] +} + +export type TagOnResinCreateWithoutResinInput = { + tag: Prisma.TagCreateNestedOneWithoutResinsInput +} + +export type TagOnResinUncheckedCreateWithoutResinInput = { + tagId: string +} + +export type TagOnResinCreateOrConnectWithoutResinInput = { + where: Prisma.TagOnResinWhereUniqueInput + create: Prisma.XOR +} + +export type TagOnResinCreateManyResinInputEnvelope = { + data: Prisma.TagOnResinCreateManyResinInput | Prisma.TagOnResinCreateManyResinInput[] + skipDuplicates?: boolean +} + +export type TagOnResinUpsertWithWhereUniqueWithoutResinInput = { + where: Prisma.TagOnResinWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TagOnResinUpdateWithWhereUniqueWithoutResinInput = { + where: Prisma.TagOnResinWhereUniqueInput + data: Prisma.XOR +} + +export type TagOnResinUpdateManyWithWhereWithoutResinInput = { + where: Prisma.TagOnResinScalarWhereInput + data: Prisma.XOR +} + +export type TagOnResinScalarWhereInput = { + AND?: Prisma.TagOnResinScalarWhereInput | Prisma.TagOnResinScalarWhereInput[] + OR?: Prisma.TagOnResinScalarWhereInput[] + NOT?: Prisma.TagOnResinScalarWhereInput | Prisma.TagOnResinScalarWhereInput[] + resinId?: Prisma.StringFilter<"TagOnResin"> | string + tagId?: Prisma.StringFilter<"TagOnResin"> | string +} + +export type TagOnResinCreateWithoutTagInput = { + resin: Prisma.ResinCreateNestedOneWithoutTagsInput +} + +export type TagOnResinUncheckedCreateWithoutTagInput = { + resinId: string +} + +export type TagOnResinCreateOrConnectWithoutTagInput = { + where: Prisma.TagOnResinWhereUniqueInput + create: Prisma.XOR +} + +export type TagOnResinCreateManyTagInputEnvelope = { + data: Prisma.TagOnResinCreateManyTagInput | Prisma.TagOnResinCreateManyTagInput[] + skipDuplicates?: boolean +} + +export type TagOnResinUpsertWithWhereUniqueWithoutTagInput = { + where: Prisma.TagOnResinWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TagOnResinUpdateWithWhereUniqueWithoutTagInput = { + where: Prisma.TagOnResinWhereUniqueInput + data: Prisma.XOR +} + +export type TagOnResinUpdateManyWithWhereWithoutTagInput = { + where: Prisma.TagOnResinScalarWhereInput + data: Prisma.XOR +} + +export type TagOnResinCreateManyResinInput = { + tagId: string +} + +export type TagOnResinUpdateWithoutResinInput = { + tag?: Prisma.TagUpdateOneRequiredWithoutResinsNestedInput +} + +export type TagOnResinUncheckedUpdateWithoutResinInput = { + tagId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnResinUncheckedUpdateManyWithoutResinInput = { + tagId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnResinCreateManyTagInput = { + resinId: string +} + +export type TagOnResinUpdateWithoutTagInput = { + resin?: Prisma.ResinUpdateOneRequiredWithoutTagsNestedInput +} + +export type TagOnResinUncheckedUpdateWithoutTagInput = { + resinId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TagOnResinUncheckedUpdateManyWithoutTagInput = { + resinId?: Prisma.StringFieldUpdateOperationsInput | string +} + + + +export type TagOnResinSelect = runtime.Types.Extensions.GetSelect<{ + resinId?: boolean + tagId?: boolean + resin?: boolean | Prisma.ResinDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +}, ExtArgs["result"]["tagOnResin"]> + +export type TagOnResinSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + resinId?: boolean + tagId?: boolean + resin?: boolean | Prisma.ResinDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +}, ExtArgs["result"]["tagOnResin"]> + +export type TagOnResinSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + resinId?: boolean + tagId?: boolean + resin?: boolean | Prisma.ResinDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +}, ExtArgs["result"]["tagOnResin"]> + +export type TagOnResinSelectScalar = { + resinId?: boolean + tagId?: boolean +} + +export type TagOnResinOmit = runtime.Types.Extensions.GetOmit<"resinId" | "tagId", ExtArgs["result"]["tagOnResin"]> +export type TagOnResinInclude = { + resin?: boolean | Prisma.ResinDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +} +export type TagOnResinIncludeCreateManyAndReturn = { + resin?: boolean | Prisma.ResinDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +} +export type TagOnResinIncludeUpdateManyAndReturn = { + resin?: boolean | Prisma.ResinDefaultArgs + tag?: boolean | Prisma.TagDefaultArgs +} + +export type $TagOnResinPayload = { + name: "TagOnResin" + objects: { + resin: Prisma.$ResinPayload + tag: Prisma.$TagPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + resinId: string + tagId: string + }, ExtArgs["result"]["tagOnResin"]> + composites: {} +} + +export type TagOnResinGetPayload = runtime.Types.Result.GetResult + +export type TagOnResinCountArgs = + Omit & { + select?: TagOnResinCountAggregateInputType | true + } + +export interface TagOnResinDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['TagOnResin'], meta: { name: 'TagOnResin' } } + /** + * Find zero or one TagOnResin that matches the filter. + * @param {TagOnResinFindUniqueArgs} args - Arguments to find a TagOnResin + * @example + * // Get one TagOnResin + * const tagOnResin = await prisma.tagOnResin.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnResinClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one TagOnResin that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {TagOnResinFindUniqueOrThrowArgs} args - Arguments to find a TagOnResin + * @example + * // Get one TagOnResin + * const tagOnResin = await prisma.tagOnResin.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnResinClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first TagOnResin 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 {TagOnResinFindFirstArgs} args - Arguments to find a TagOnResin + * @example + * // Get one TagOnResin + * const tagOnResin = await prisma.tagOnResin.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__TagOnResinClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first TagOnResin 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 {TagOnResinFindFirstOrThrowArgs} args - Arguments to find a TagOnResin + * @example + * // Get one TagOnResin + * const tagOnResin = await prisma.tagOnResin.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__TagOnResinClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more TagOnResins 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 {TagOnResinFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all TagOnResins + * const tagOnResins = await prisma.tagOnResin.findMany() + * + * // Get first 10 TagOnResins + * const tagOnResins = await prisma.tagOnResin.findMany({ take: 10 }) + * + * // Only select the `resinId` + * const tagOnResinWithResinIdOnly = await prisma.tagOnResin.findMany({ select: { resinId: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a TagOnResin. + * @param {TagOnResinCreateArgs} args - Arguments to create a TagOnResin. + * @example + * // Create one TagOnResin + * const TagOnResin = await prisma.tagOnResin.create({ + * data: { + * // ... data to create a TagOnResin + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnResinClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many TagOnResins. + * @param {TagOnResinCreateManyArgs} args - Arguments to create many TagOnResins. + * @example + * // Create many TagOnResins + * const tagOnResin = await prisma.tagOnResin.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many TagOnResins and returns the data saved in the database. + * @param {TagOnResinCreateManyAndReturnArgs} args - Arguments to create many TagOnResins. + * @example + * // Create many TagOnResins + * const tagOnResin = await prisma.tagOnResin.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many TagOnResins and only return the `resinId` + * const tagOnResinWithResinIdOnly = await prisma.tagOnResin.createManyAndReturn({ + * select: { resinId: 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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a TagOnResin. + * @param {TagOnResinDeleteArgs} args - Arguments to delete one TagOnResin. + * @example + * // Delete one TagOnResin + * const TagOnResin = await prisma.tagOnResin.delete({ + * where: { + * // ... filter to delete one TagOnResin + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnResinClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one TagOnResin. + * @param {TagOnResinUpdateArgs} args - Arguments to update one TagOnResin. + * @example + * // Update one TagOnResin + * const tagOnResin = await prisma.tagOnResin.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnResinClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more TagOnResins. + * @param {TagOnResinDeleteManyArgs} args - Arguments to filter TagOnResins to delete. + * @example + * // Delete a few TagOnResins + * const { count } = await prisma.tagOnResin.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more TagOnResins. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagOnResinUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many TagOnResins + * const tagOnResin = await prisma.tagOnResin.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more TagOnResins and returns the data updated in the database. + * @param {TagOnResinUpdateManyAndReturnArgs} args - Arguments to update many TagOnResins. + * @example + * // Update many TagOnResins + * const tagOnResin = await prisma.tagOnResin.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more TagOnResins and only return the `resinId` + * const tagOnResinWithResinIdOnly = await prisma.tagOnResin.updateManyAndReturn({ + * select: { resinId: 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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one TagOnResin. + * @param {TagOnResinUpsertArgs} args - Arguments to update or create a TagOnResin. + * @example + * // Update or create a TagOnResin + * const tagOnResin = await prisma.tagOnResin.upsert({ + * create: { + * // ... data to create a TagOnResin + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the TagOnResin we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__TagOnResinClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of TagOnResins. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagOnResinCountArgs} args - Arguments to filter TagOnResins to count. + * @example + * // Count the number of TagOnResins + * const count = await prisma.tagOnResin.count({ + * where: { + * // ... the filter for the TagOnResins we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a TagOnResin. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagOnResinAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by TagOnResin. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TagOnResinGroupByArgs} 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 TagOnResinGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: TagOnResinGroupByArgs['orderBy'] } + : { orderBy?: TagOnResinGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetTagOnResinGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the TagOnResin model + */ +readonly fields: TagOnResinFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for TagOnResin. + * 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__TagOnResinClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + resin = {}>(args?: Prisma.Subset>): Prisma.Prisma__ResinClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + tag = {}>(args?: Prisma.Subset>): Prisma.Prisma__TagClient, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the TagOnResin model + */ +export interface TagOnResinFieldRefs { + readonly resinId: Prisma.FieldRef<"TagOnResin", 'String'> + readonly tagId: Prisma.FieldRef<"TagOnResin", 'String'> +} + + +// Custom InputTypes +/** + * TagOnResin findUnique + */ +export type TagOnResinFindUniqueArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelect | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinInclude | null + /** + * Filter, which TagOnResin to fetch. + */ + where: Prisma.TagOnResinWhereUniqueInput +} + +/** + * TagOnResin findUniqueOrThrow + */ +export type TagOnResinFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelect | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinInclude | null + /** + * Filter, which TagOnResin to fetch. + */ + where: Prisma.TagOnResinWhereUniqueInput +} + +/** + * TagOnResin findFirst + */ +export type TagOnResinFindFirstArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelect | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinInclude | null + /** + * Filter, which TagOnResin to fetch. + */ + where?: Prisma.TagOnResinWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TagOnResins to fetch. + */ + orderBy?: Prisma.TagOnResinOrderByWithRelationInput | Prisma.TagOnResinOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for TagOnResins. + */ + cursor?: Prisma.TagOnResinWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TagOnResins 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` TagOnResins. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TagOnResins. + */ + distinct?: Prisma.TagOnResinScalarFieldEnum | Prisma.TagOnResinScalarFieldEnum[] +} + +/** + * TagOnResin findFirstOrThrow + */ +export type TagOnResinFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelect | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinInclude | null + /** + * Filter, which TagOnResin to fetch. + */ + where?: Prisma.TagOnResinWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TagOnResins to fetch. + */ + orderBy?: Prisma.TagOnResinOrderByWithRelationInput | Prisma.TagOnResinOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for TagOnResins. + */ + cursor?: Prisma.TagOnResinWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TagOnResins 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` TagOnResins. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TagOnResins. + */ + distinct?: Prisma.TagOnResinScalarFieldEnum | Prisma.TagOnResinScalarFieldEnum[] +} + +/** + * TagOnResin findMany + */ +export type TagOnResinFindManyArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelect | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinInclude | null + /** + * Filter, which TagOnResins to fetch. + */ + where?: Prisma.TagOnResinWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TagOnResins to fetch. + */ + orderBy?: Prisma.TagOnResinOrderByWithRelationInput | Prisma.TagOnResinOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing TagOnResins. + */ + cursor?: Prisma.TagOnResinWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TagOnResins 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` TagOnResins. + */ + skip?: number + distinct?: Prisma.TagOnResinScalarFieldEnum | Prisma.TagOnResinScalarFieldEnum[] +} + +/** + * TagOnResin create + */ +export type TagOnResinCreateArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelect | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinInclude | null + /** + * The data needed to create a TagOnResin. + */ + data: Prisma.XOR +} + +/** + * TagOnResin createMany + */ +export type TagOnResinCreateManyArgs = { + /** + * The data used to create many TagOnResins. + */ + data: Prisma.TagOnResinCreateManyInput | Prisma.TagOnResinCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * TagOnResin createManyAndReturn + */ +export type TagOnResinCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelectCreateManyAndReturn | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * The data used to create many TagOnResins. + */ + data: Prisma.TagOnResinCreateManyInput | Prisma.TagOnResinCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinIncludeCreateManyAndReturn | null +} + +/** + * TagOnResin update + */ +export type TagOnResinUpdateArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelect | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinInclude | null + /** + * The data needed to update a TagOnResin. + */ + data: Prisma.XOR + /** + * Choose, which TagOnResin to update. + */ + where: Prisma.TagOnResinWhereUniqueInput +} + +/** + * TagOnResin updateMany + */ +export type TagOnResinUpdateManyArgs = { + /** + * The data used to update TagOnResins. + */ + data: Prisma.XOR + /** + * Filter which TagOnResins to update + */ + where?: Prisma.TagOnResinWhereInput + /** + * Limit how many TagOnResins to update. + */ + limit?: number +} + +/** + * TagOnResin updateManyAndReturn + */ +export type TagOnResinUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * The data used to update TagOnResins. + */ + data: Prisma.XOR + /** + * Filter which TagOnResins to update + */ + where?: Prisma.TagOnResinWhereInput + /** + * Limit how many TagOnResins to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinIncludeUpdateManyAndReturn | null +} + +/** + * TagOnResin upsert + */ +export type TagOnResinUpsertArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelect | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinInclude | null + /** + * The filter to search for the TagOnResin to update in case it exists. + */ + where: Prisma.TagOnResinWhereUniqueInput + /** + * In case the TagOnResin found by the `where` argument doesn't exist, create a new TagOnResin with this data. + */ + create: Prisma.XOR + /** + * In case the TagOnResin was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * TagOnResin delete + */ +export type TagOnResinDeleteArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelect | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinInclude | null + /** + * Filter which TagOnResin to delete. + */ + where: Prisma.TagOnResinWhereUniqueInput +} + +/** + * TagOnResin deleteMany + */ +export type TagOnResinDeleteManyArgs = { + /** + * Filter which TagOnResins to delete + */ + where?: Prisma.TagOnResinWhereInput + /** + * Limit how many TagOnResins to delete. + */ + limit?: number +} + +/** + * TagOnResin without action + */ +export type TagOnResinDefaultArgs = { + /** + * Select specific fields to fetch from the TagOnResin + */ + select?: Prisma.TagOnResinSelect | null + /** + * Omit specific fields from the TagOnResin + */ + omit?: Prisma.TagOnResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagOnResinInclude | null +} diff --git a/src/generated/prisma/models/UsageLog.ts b/src/generated/prisma/models/UsageLog.ts new file mode 100644 index 0000000..6e8e427 --- /dev/null +++ b/src/generated/prisma/models/UsageLog.ts @@ -0,0 +1,2119 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `UsageLog` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model UsageLog + * + */ +export type UsageLogModel = runtime.Types.Result.DefaultSelection + +export type AggregateUsageLog = { + _count: UsageLogCountAggregateOutputType | null + _avg: UsageLogAvgAggregateOutputType | null + _sum: UsageLogSumAggregateOutputType | null + _min: UsageLogMinAggregateOutputType | null + _max: UsageLogMaxAggregateOutputType | null +} + +export type UsageLogAvgAggregateOutputType = { + amount: number | null +} + +export type UsageLogSumAggregateOutputType = { + amount: number | null +} + +export type UsageLogMinAggregateOutputType = { + id: string | null + itemType: string | null + itemId: string | null + amount: number | null + unit: string | null + notes: string | null + createdAt: Date | null + userId: string | null + filamentId: string | null + resinId: string | null + paintId: string | null +} + +export type UsageLogMaxAggregateOutputType = { + id: string | null + itemType: string | null + itemId: string | null + amount: number | null + unit: string | null + notes: string | null + createdAt: Date | null + userId: string | null + filamentId: string | null + resinId: string | null + paintId: string | null +} + +export type UsageLogCountAggregateOutputType = { + id: number + itemType: number + itemId: number + amount: number + unit: number + notes: number + createdAt: number + userId: number + filamentId: number + resinId: number + paintId: number + _all: number +} + + +export type UsageLogAvgAggregateInputType = { + amount?: true +} + +export type UsageLogSumAggregateInputType = { + amount?: true +} + +export type UsageLogMinAggregateInputType = { + id?: true + itemType?: true + itemId?: true + amount?: true + unit?: true + notes?: true + createdAt?: true + userId?: true + filamentId?: true + resinId?: true + paintId?: true +} + +export type UsageLogMaxAggregateInputType = { + id?: true + itemType?: true + itemId?: true + amount?: true + unit?: true + notes?: true + createdAt?: true + userId?: true + filamentId?: true + resinId?: true + paintId?: true +} + +export type UsageLogCountAggregateInputType = { + id?: true + itemType?: true + itemId?: true + amount?: true + unit?: true + notes?: true + createdAt?: true + userId?: true + filamentId?: true + resinId?: true + paintId?: true + _all?: true +} + +export type UsageLogAggregateArgs = { + /** + * Filter which UsageLog to aggregate. + */ + where?: Prisma.UsageLogWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UsageLogs to fetch. + */ + orderBy?: Prisma.UsageLogOrderByWithRelationInput | Prisma.UsageLogOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.UsageLogWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UsageLogs 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` UsageLogs. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned UsageLogs + **/ + _count?: true | UsageLogCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: UsageLogAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: UsageLogSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: UsageLogMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: UsageLogMaxAggregateInputType +} + +export type GetUsageLogAggregateType = { + [P in keyof T & keyof AggregateUsageLog]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type UsageLogGroupByArgs = { + where?: Prisma.UsageLogWhereInput + orderBy?: Prisma.UsageLogOrderByWithAggregationInput | Prisma.UsageLogOrderByWithAggregationInput[] + by: Prisma.UsageLogScalarFieldEnum[] | Prisma.UsageLogScalarFieldEnum + having?: Prisma.UsageLogScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: UsageLogCountAggregateInputType | true + _avg?: UsageLogAvgAggregateInputType + _sum?: UsageLogSumAggregateInputType + _min?: UsageLogMinAggregateInputType + _max?: UsageLogMaxAggregateInputType +} + +export type UsageLogGroupByOutputType = { + id: string + itemType: string + itemId: string + amount: number + unit: string + notes: string | null + createdAt: Date + userId: string + filamentId: string | null + resinId: string | null + paintId: string | null + _count: UsageLogCountAggregateOutputType | null + _avg: UsageLogAvgAggregateOutputType | null + _sum: UsageLogSumAggregateOutputType | null + _min: UsageLogMinAggregateOutputType | null + _max: UsageLogMaxAggregateOutputType | null +} + +type GetUsageLogGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof UsageLogGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type UsageLogWhereInput = { + AND?: Prisma.UsageLogWhereInput | Prisma.UsageLogWhereInput[] + OR?: Prisma.UsageLogWhereInput[] + NOT?: Prisma.UsageLogWhereInput | Prisma.UsageLogWhereInput[] + id?: Prisma.StringFilter<"UsageLog"> | string + itemType?: Prisma.StringFilter<"UsageLog"> | string + itemId?: Prisma.StringFilter<"UsageLog"> | string + amount?: Prisma.FloatFilter<"UsageLog"> | number + unit?: Prisma.StringFilter<"UsageLog"> | string + notes?: Prisma.StringNullableFilter<"UsageLog"> | string | null + createdAt?: Prisma.DateTimeFilter<"UsageLog"> | Date | string + userId?: Prisma.StringFilter<"UsageLog"> | string + filamentId?: Prisma.StringNullableFilter<"UsageLog"> | string | null + resinId?: Prisma.StringNullableFilter<"UsageLog"> | string | null + paintId?: Prisma.StringNullableFilter<"UsageLog"> | string | null + user?: Prisma.XOR + filament?: Prisma.XOR | null + resin?: Prisma.XOR | null + paint?: Prisma.XOR | null +} + +export type UsageLogOrderByWithRelationInput = { + id?: Prisma.SortOrder + itemType?: Prisma.SortOrder + itemId?: Prisma.SortOrder + amount?: Prisma.SortOrder + unit?: Prisma.SortOrder + notes?: Prisma.SortOrderInput | Prisma.SortOrder + createdAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + filamentId?: Prisma.SortOrderInput | Prisma.SortOrder + resinId?: Prisma.SortOrderInput | Prisma.SortOrder + paintId?: Prisma.SortOrderInput | Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput + filament?: Prisma.FilamentOrderByWithRelationInput + resin?: Prisma.ResinOrderByWithRelationInput + paint?: Prisma.PaintOrderByWithRelationInput +} + +export type UsageLogWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.UsageLogWhereInput | Prisma.UsageLogWhereInput[] + OR?: Prisma.UsageLogWhereInput[] + NOT?: Prisma.UsageLogWhereInput | Prisma.UsageLogWhereInput[] + itemType?: Prisma.StringFilter<"UsageLog"> | string + itemId?: Prisma.StringFilter<"UsageLog"> | string + amount?: Prisma.FloatFilter<"UsageLog"> | number + unit?: Prisma.StringFilter<"UsageLog"> | string + notes?: Prisma.StringNullableFilter<"UsageLog"> | string | null + createdAt?: Prisma.DateTimeFilter<"UsageLog"> | Date | string + userId?: Prisma.StringFilter<"UsageLog"> | string + filamentId?: Prisma.StringNullableFilter<"UsageLog"> | string | null + resinId?: Prisma.StringNullableFilter<"UsageLog"> | string | null + paintId?: Prisma.StringNullableFilter<"UsageLog"> | string | null + user?: Prisma.XOR + filament?: Prisma.XOR | null + resin?: Prisma.XOR | null + paint?: Prisma.XOR | null +}, "id"> + +export type UsageLogOrderByWithAggregationInput = { + id?: Prisma.SortOrder + itemType?: Prisma.SortOrder + itemId?: Prisma.SortOrder + amount?: Prisma.SortOrder + unit?: Prisma.SortOrder + notes?: Prisma.SortOrderInput | Prisma.SortOrder + createdAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + filamentId?: Prisma.SortOrderInput | Prisma.SortOrder + resinId?: Prisma.SortOrderInput | Prisma.SortOrder + paintId?: Prisma.SortOrderInput | Prisma.SortOrder + _count?: Prisma.UsageLogCountOrderByAggregateInput + _avg?: Prisma.UsageLogAvgOrderByAggregateInput + _max?: Prisma.UsageLogMaxOrderByAggregateInput + _min?: Prisma.UsageLogMinOrderByAggregateInput + _sum?: Prisma.UsageLogSumOrderByAggregateInput +} + +export type UsageLogScalarWhereWithAggregatesInput = { + AND?: Prisma.UsageLogScalarWhereWithAggregatesInput | Prisma.UsageLogScalarWhereWithAggregatesInput[] + OR?: Prisma.UsageLogScalarWhereWithAggregatesInput[] + NOT?: Prisma.UsageLogScalarWhereWithAggregatesInput | Prisma.UsageLogScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"UsageLog"> | string + itemType?: Prisma.StringWithAggregatesFilter<"UsageLog"> | string + itemId?: Prisma.StringWithAggregatesFilter<"UsageLog"> | string + amount?: Prisma.FloatWithAggregatesFilter<"UsageLog"> | number + unit?: Prisma.StringWithAggregatesFilter<"UsageLog"> | string + notes?: Prisma.StringNullableWithAggregatesFilter<"UsageLog"> | string | null + createdAt?: Prisma.DateTimeWithAggregatesFilter<"UsageLog"> | Date | string + userId?: Prisma.StringWithAggregatesFilter<"UsageLog"> | string + filamentId?: Prisma.StringNullableWithAggregatesFilter<"UsageLog"> | string | null + resinId?: Prisma.StringNullableWithAggregatesFilter<"UsageLog"> | string | null + paintId?: Prisma.StringNullableWithAggregatesFilter<"UsageLog"> | string | null +} + +export type UsageLogCreateInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutUsageLogsInput + filament?: Prisma.FilamentCreateNestedOneWithoutUsageLogsInput + resin?: Prisma.ResinCreateNestedOneWithoutUsageLogsInput + paint?: Prisma.PaintCreateNestedOneWithoutUsageLogsInput +} + +export type UsageLogUncheckedCreateInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + userId: string + filamentId?: string | null + resinId?: string | null + paintId?: string | null +} + +export type UsageLogUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutUsageLogsNestedInput + filament?: Prisma.FilamentUpdateOneWithoutUsageLogsNestedInput + resin?: Prisma.ResinUpdateOneWithoutUsageLogsNestedInput + paint?: Prisma.PaintUpdateOneWithoutUsageLogsNestedInput +} + +export type UsageLogUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filamentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + resinId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + paintId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type UsageLogCreateManyInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + userId: string + filamentId?: string | null + resinId?: string | null + paintId?: string | null +} + +export type UsageLogUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type UsageLogUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filamentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + resinId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + paintId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type UsageLogListRelationFilter = { + every?: Prisma.UsageLogWhereInput + some?: Prisma.UsageLogWhereInput + none?: Prisma.UsageLogWhereInput +} + +export type UsageLogOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type UsageLogCountOrderByAggregateInput = { + id?: Prisma.SortOrder + itemType?: Prisma.SortOrder + itemId?: Prisma.SortOrder + amount?: Prisma.SortOrder + unit?: Prisma.SortOrder + notes?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + filamentId?: Prisma.SortOrder + resinId?: Prisma.SortOrder + paintId?: Prisma.SortOrder +} + +export type UsageLogAvgOrderByAggregateInput = { + amount?: Prisma.SortOrder +} + +export type UsageLogMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + itemType?: Prisma.SortOrder + itemId?: Prisma.SortOrder + amount?: Prisma.SortOrder + unit?: Prisma.SortOrder + notes?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + filamentId?: Prisma.SortOrder + resinId?: Prisma.SortOrder + paintId?: Prisma.SortOrder +} + +export type UsageLogMinOrderByAggregateInput = { + id?: Prisma.SortOrder + itemType?: Prisma.SortOrder + itemId?: Prisma.SortOrder + amount?: Prisma.SortOrder + unit?: Prisma.SortOrder + notes?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + filamentId?: Prisma.SortOrder + resinId?: Prisma.SortOrder + paintId?: Prisma.SortOrder +} + +export type UsageLogSumOrderByAggregateInput = { + amount?: Prisma.SortOrder +} + +export type UsageLogCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutUserInput[] | Prisma.UsageLogUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutUserInput | Prisma.UsageLogCreateOrConnectWithoutUserInput[] + createMany?: Prisma.UsageLogCreateManyUserInputEnvelope + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] +} + +export type UsageLogUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutUserInput[] | Prisma.UsageLogUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutUserInput | Prisma.UsageLogCreateOrConnectWithoutUserInput[] + createMany?: Prisma.UsageLogCreateManyUserInputEnvelope + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] +} + +export type UsageLogUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutUserInput[] | Prisma.UsageLogUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutUserInput | Prisma.UsageLogCreateOrConnectWithoutUserInput[] + upsert?: Prisma.UsageLogUpsertWithWhereUniqueWithoutUserInput | Prisma.UsageLogUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.UsageLogCreateManyUserInputEnvelope + set?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + disconnect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + delete?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + update?: Prisma.UsageLogUpdateWithWhereUniqueWithoutUserInput | Prisma.UsageLogUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.UsageLogUpdateManyWithWhereWithoutUserInput | Prisma.UsageLogUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.UsageLogScalarWhereInput | Prisma.UsageLogScalarWhereInput[] +} + +export type UsageLogUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutUserInput[] | Prisma.UsageLogUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutUserInput | Prisma.UsageLogCreateOrConnectWithoutUserInput[] + upsert?: Prisma.UsageLogUpsertWithWhereUniqueWithoutUserInput | Prisma.UsageLogUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.UsageLogCreateManyUserInputEnvelope + set?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + disconnect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + delete?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + update?: Prisma.UsageLogUpdateWithWhereUniqueWithoutUserInput | Prisma.UsageLogUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.UsageLogUpdateManyWithWhereWithoutUserInput | Prisma.UsageLogUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.UsageLogScalarWhereInput | Prisma.UsageLogScalarWhereInput[] +} + +export type UsageLogCreateNestedManyWithoutFilamentInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutFilamentInput[] | Prisma.UsageLogUncheckedCreateWithoutFilamentInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutFilamentInput | Prisma.UsageLogCreateOrConnectWithoutFilamentInput[] + createMany?: Prisma.UsageLogCreateManyFilamentInputEnvelope + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] +} + +export type UsageLogUncheckedCreateNestedManyWithoutFilamentInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutFilamentInput[] | Prisma.UsageLogUncheckedCreateWithoutFilamentInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutFilamentInput | Prisma.UsageLogCreateOrConnectWithoutFilamentInput[] + createMany?: Prisma.UsageLogCreateManyFilamentInputEnvelope + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] +} + +export type UsageLogUpdateManyWithoutFilamentNestedInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutFilamentInput[] | Prisma.UsageLogUncheckedCreateWithoutFilamentInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutFilamentInput | Prisma.UsageLogCreateOrConnectWithoutFilamentInput[] + upsert?: Prisma.UsageLogUpsertWithWhereUniqueWithoutFilamentInput | Prisma.UsageLogUpsertWithWhereUniqueWithoutFilamentInput[] + createMany?: Prisma.UsageLogCreateManyFilamentInputEnvelope + set?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + disconnect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + delete?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + update?: Prisma.UsageLogUpdateWithWhereUniqueWithoutFilamentInput | Prisma.UsageLogUpdateWithWhereUniqueWithoutFilamentInput[] + updateMany?: Prisma.UsageLogUpdateManyWithWhereWithoutFilamentInput | Prisma.UsageLogUpdateManyWithWhereWithoutFilamentInput[] + deleteMany?: Prisma.UsageLogScalarWhereInput | Prisma.UsageLogScalarWhereInput[] +} + +export type UsageLogUncheckedUpdateManyWithoutFilamentNestedInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutFilamentInput[] | Prisma.UsageLogUncheckedCreateWithoutFilamentInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutFilamentInput | Prisma.UsageLogCreateOrConnectWithoutFilamentInput[] + upsert?: Prisma.UsageLogUpsertWithWhereUniqueWithoutFilamentInput | Prisma.UsageLogUpsertWithWhereUniqueWithoutFilamentInput[] + createMany?: Prisma.UsageLogCreateManyFilamentInputEnvelope + set?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + disconnect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + delete?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + update?: Prisma.UsageLogUpdateWithWhereUniqueWithoutFilamentInput | Prisma.UsageLogUpdateWithWhereUniqueWithoutFilamentInput[] + updateMany?: Prisma.UsageLogUpdateManyWithWhereWithoutFilamentInput | Prisma.UsageLogUpdateManyWithWhereWithoutFilamentInput[] + deleteMany?: Prisma.UsageLogScalarWhereInput | Prisma.UsageLogScalarWhereInput[] +} + +export type UsageLogCreateNestedManyWithoutResinInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutResinInput[] | Prisma.UsageLogUncheckedCreateWithoutResinInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutResinInput | Prisma.UsageLogCreateOrConnectWithoutResinInput[] + createMany?: Prisma.UsageLogCreateManyResinInputEnvelope + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] +} + +export type UsageLogUncheckedCreateNestedManyWithoutResinInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutResinInput[] | Prisma.UsageLogUncheckedCreateWithoutResinInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutResinInput | Prisma.UsageLogCreateOrConnectWithoutResinInput[] + createMany?: Prisma.UsageLogCreateManyResinInputEnvelope + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] +} + +export type UsageLogUpdateManyWithoutResinNestedInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutResinInput[] | Prisma.UsageLogUncheckedCreateWithoutResinInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutResinInput | Prisma.UsageLogCreateOrConnectWithoutResinInput[] + upsert?: Prisma.UsageLogUpsertWithWhereUniqueWithoutResinInput | Prisma.UsageLogUpsertWithWhereUniqueWithoutResinInput[] + createMany?: Prisma.UsageLogCreateManyResinInputEnvelope + set?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + disconnect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + delete?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + update?: Prisma.UsageLogUpdateWithWhereUniqueWithoutResinInput | Prisma.UsageLogUpdateWithWhereUniqueWithoutResinInput[] + updateMany?: Prisma.UsageLogUpdateManyWithWhereWithoutResinInput | Prisma.UsageLogUpdateManyWithWhereWithoutResinInput[] + deleteMany?: Prisma.UsageLogScalarWhereInput | Prisma.UsageLogScalarWhereInput[] +} + +export type UsageLogUncheckedUpdateManyWithoutResinNestedInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutResinInput[] | Prisma.UsageLogUncheckedCreateWithoutResinInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutResinInput | Prisma.UsageLogCreateOrConnectWithoutResinInput[] + upsert?: Prisma.UsageLogUpsertWithWhereUniqueWithoutResinInput | Prisma.UsageLogUpsertWithWhereUniqueWithoutResinInput[] + createMany?: Prisma.UsageLogCreateManyResinInputEnvelope + set?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + disconnect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + delete?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + update?: Prisma.UsageLogUpdateWithWhereUniqueWithoutResinInput | Prisma.UsageLogUpdateWithWhereUniqueWithoutResinInput[] + updateMany?: Prisma.UsageLogUpdateManyWithWhereWithoutResinInput | Prisma.UsageLogUpdateManyWithWhereWithoutResinInput[] + deleteMany?: Prisma.UsageLogScalarWhereInput | Prisma.UsageLogScalarWhereInput[] +} + +export type UsageLogCreateNestedManyWithoutPaintInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutPaintInput[] | Prisma.UsageLogUncheckedCreateWithoutPaintInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutPaintInput | Prisma.UsageLogCreateOrConnectWithoutPaintInput[] + createMany?: Prisma.UsageLogCreateManyPaintInputEnvelope + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] +} + +export type UsageLogUncheckedCreateNestedManyWithoutPaintInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutPaintInput[] | Prisma.UsageLogUncheckedCreateWithoutPaintInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutPaintInput | Prisma.UsageLogCreateOrConnectWithoutPaintInput[] + createMany?: Prisma.UsageLogCreateManyPaintInputEnvelope + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] +} + +export type UsageLogUpdateManyWithoutPaintNestedInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutPaintInput[] | Prisma.UsageLogUncheckedCreateWithoutPaintInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutPaintInput | Prisma.UsageLogCreateOrConnectWithoutPaintInput[] + upsert?: Prisma.UsageLogUpsertWithWhereUniqueWithoutPaintInput | Prisma.UsageLogUpsertWithWhereUniqueWithoutPaintInput[] + createMany?: Prisma.UsageLogCreateManyPaintInputEnvelope + set?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + disconnect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + delete?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + update?: Prisma.UsageLogUpdateWithWhereUniqueWithoutPaintInput | Prisma.UsageLogUpdateWithWhereUniqueWithoutPaintInput[] + updateMany?: Prisma.UsageLogUpdateManyWithWhereWithoutPaintInput | Prisma.UsageLogUpdateManyWithWhereWithoutPaintInput[] + deleteMany?: Prisma.UsageLogScalarWhereInput | Prisma.UsageLogScalarWhereInput[] +} + +export type UsageLogUncheckedUpdateManyWithoutPaintNestedInput = { + create?: Prisma.XOR | Prisma.UsageLogCreateWithoutPaintInput[] | Prisma.UsageLogUncheckedCreateWithoutPaintInput[] + connectOrCreate?: Prisma.UsageLogCreateOrConnectWithoutPaintInput | Prisma.UsageLogCreateOrConnectWithoutPaintInput[] + upsert?: Prisma.UsageLogUpsertWithWhereUniqueWithoutPaintInput | Prisma.UsageLogUpsertWithWhereUniqueWithoutPaintInput[] + createMany?: Prisma.UsageLogCreateManyPaintInputEnvelope + set?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + disconnect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + delete?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + connect?: Prisma.UsageLogWhereUniqueInput | Prisma.UsageLogWhereUniqueInput[] + update?: Prisma.UsageLogUpdateWithWhereUniqueWithoutPaintInput | Prisma.UsageLogUpdateWithWhereUniqueWithoutPaintInput[] + updateMany?: Prisma.UsageLogUpdateManyWithWhereWithoutPaintInput | Prisma.UsageLogUpdateManyWithWhereWithoutPaintInput[] + deleteMany?: Prisma.UsageLogScalarWhereInput | Prisma.UsageLogScalarWhereInput[] +} + +export type UsageLogCreateWithoutUserInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + filament?: Prisma.FilamentCreateNestedOneWithoutUsageLogsInput + resin?: Prisma.ResinCreateNestedOneWithoutUsageLogsInput + paint?: Prisma.PaintCreateNestedOneWithoutUsageLogsInput +} + +export type UsageLogUncheckedCreateWithoutUserInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + filamentId?: string | null + resinId?: string | null + paintId?: string | null +} + +export type UsageLogCreateOrConnectWithoutUserInput = { + where: Prisma.UsageLogWhereUniqueInput + create: Prisma.XOR +} + +export type UsageLogCreateManyUserInputEnvelope = { + data: Prisma.UsageLogCreateManyUserInput | Prisma.UsageLogCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type UsageLogUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.UsageLogWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type UsageLogUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.UsageLogWhereUniqueInput + data: Prisma.XOR +} + +export type UsageLogUpdateManyWithWhereWithoutUserInput = { + where: Prisma.UsageLogScalarWhereInput + data: Prisma.XOR +} + +export type UsageLogScalarWhereInput = { + AND?: Prisma.UsageLogScalarWhereInput | Prisma.UsageLogScalarWhereInput[] + OR?: Prisma.UsageLogScalarWhereInput[] + NOT?: Prisma.UsageLogScalarWhereInput | Prisma.UsageLogScalarWhereInput[] + id?: Prisma.StringFilter<"UsageLog"> | string + itemType?: Prisma.StringFilter<"UsageLog"> | string + itemId?: Prisma.StringFilter<"UsageLog"> | string + amount?: Prisma.FloatFilter<"UsageLog"> | number + unit?: Prisma.StringFilter<"UsageLog"> | string + notes?: Prisma.StringNullableFilter<"UsageLog"> | string | null + createdAt?: Prisma.DateTimeFilter<"UsageLog"> | Date | string + userId?: Prisma.StringFilter<"UsageLog"> | string + filamentId?: Prisma.StringNullableFilter<"UsageLog"> | string | null + resinId?: Prisma.StringNullableFilter<"UsageLog"> | string | null + paintId?: Prisma.StringNullableFilter<"UsageLog"> | string | null +} + +export type UsageLogCreateWithoutFilamentInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutUsageLogsInput + resin?: Prisma.ResinCreateNestedOneWithoutUsageLogsInput + paint?: Prisma.PaintCreateNestedOneWithoutUsageLogsInput +} + +export type UsageLogUncheckedCreateWithoutFilamentInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + userId: string + resinId?: string | null + paintId?: string | null +} + +export type UsageLogCreateOrConnectWithoutFilamentInput = { + where: Prisma.UsageLogWhereUniqueInput + create: Prisma.XOR +} + +export type UsageLogCreateManyFilamentInputEnvelope = { + data: Prisma.UsageLogCreateManyFilamentInput | Prisma.UsageLogCreateManyFilamentInput[] + skipDuplicates?: boolean +} + +export type UsageLogUpsertWithWhereUniqueWithoutFilamentInput = { + where: Prisma.UsageLogWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type UsageLogUpdateWithWhereUniqueWithoutFilamentInput = { + where: Prisma.UsageLogWhereUniqueInput + data: Prisma.XOR +} + +export type UsageLogUpdateManyWithWhereWithoutFilamentInput = { + where: Prisma.UsageLogScalarWhereInput + data: Prisma.XOR +} + +export type UsageLogCreateWithoutResinInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutUsageLogsInput + filament?: Prisma.FilamentCreateNestedOneWithoutUsageLogsInput + paint?: Prisma.PaintCreateNestedOneWithoutUsageLogsInput +} + +export type UsageLogUncheckedCreateWithoutResinInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + userId: string + filamentId?: string | null + paintId?: string | null +} + +export type UsageLogCreateOrConnectWithoutResinInput = { + where: Prisma.UsageLogWhereUniqueInput + create: Prisma.XOR +} + +export type UsageLogCreateManyResinInputEnvelope = { + data: Prisma.UsageLogCreateManyResinInput | Prisma.UsageLogCreateManyResinInput[] + skipDuplicates?: boolean +} + +export type UsageLogUpsertWithWhereUniqueWithoutResinInput = { + where: Prisma.UsageLogWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type UsageLogUpdateWithWhereUniqueWithoutResinInput = { + where: Prisma.UsageLogWhereUniqueInput + data: Prisma.XOR +} + +export type UsageLogUpdateManyWithWhereWithoutResinInput = { + where: Prisma.UsageLogScalarWhereInput + data: Prisma.XOR +} + +export type UsageLogCreateWithoutPaintInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutUsageLogsInput + filament?: Prisma.FilamentCreateNestedOneWithoutUsageLogsInput + resin?: Prisma.ResinCreateNestedOneWithoutUsageLogsInput +} + +export type UsageLogUncheckedCreateWithoutPaintInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + userId: string + filamentId?: string | null + resinId?: string | null +} + +export type UsageLogCreateOrConnectWithoutPaintInput = { + where: Prisma.UsageLogWhereUniqueInput + create: Prisma.XOR +} + +export type UsageLogCreateManyPaintInputEnvelope = { + data: Prisma.UsageLogCreateManyPaintInput | Prisma.UsageLogCreateManyPaintInput[] + skipDuplicates?: boolean +} + +export type UsageLogUpsertWithWhereUniqueWithoutPaintInput = { + where: Prisma.UsageLogWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type UsageLogUpdateWithWhereUniqueWithoutPaintInput = { + where: Prisma.UsageLogWhereUniqueInput + data: Prisma.XOR +} + +export type UsageLogUpdateManyWithWhereWithoutPaintInput = { + where: Prisma.UsageLogScalarWhereInput + data: Prisma.XOR +} + +export type UsageLogCreateManyUserInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + filamentId?: string | null + resinId?: string | null + paintId?: string | null +} + +export type UsageLogUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + filament?: Prisma.FilamentUpdateOneWithoutUsageLogsNestedInput + resin?: Prisma.ResinUpdateOneWithoutUsageLogsNestedInput + paint?: Prisma.PaintUpdateOneWithoutUsageLogsNestedInput +} + +export type UsageLogUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + filamentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + resinId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + paintId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type UsageLogUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + filamentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + resinId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + paintId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type UsageLogCreateManyFilamentInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + userId: string + resinId?: string | null + paintId?: string | null +} + +export type UsageLogUpdateWithoutFilamentInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutUsageLogsNestedInput + resin?: Prisma.ResinUpdateOneWithoutUsageLogsNestedInput + paint?: Prisma.PaintUpdateOneWithoutUsageLogsNestedInput +} + +export type UsageLogUncheckedUpdateWithoutFilamentInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + resinId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + paintId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type UsageLogUncheckedUpdateManyWithoutFilamentInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + resinId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + paintId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type UsageLogCreateManyResinInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + userId: string + filamentId?: string | null + paintId?: string | null +} + +export type UsageLogUpdateWithoutResinInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutUsageLogsNestedInput + filament?: Prisma.FilamentUpdateOneWithoutUsageLogsNestedInput + paint?: Prisma.PaintUpdateOneWithoutUsageLogsNestedInput +} + +export type UsageLogUncheckedUpdateWithoutResinInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filamentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + paintId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type UsageLogUncheckedUpdateManyWithoutResinInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filamentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + paintId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type UsageLogCreateManyPaintInput = { + id?: string + itemType: string + itemId: string + amount: number + unit: string + notes?: string | null + createdAt?: Date | string + userId: string + filamentId?: string | null + resinId?: string | null +} + +export type UsageLogUpdateWithoutPaintInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutUsageLogsNestedInput + filament?: Prisma.FilamentUpdateOneWithoutUsageLogsNestedInput + resin?: Prisma.ResinUpdateOneWithoutUsageLogsNestedInput +} + +export type UsageLogUncheckedUpdateWithoutPaintInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filamentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + resinId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + +export type UsageLogUncheckedUpdateManyWithoutPaintInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + itemType?: Prisma.StringFieldUpdateOperationsInput | string + itemId?: Prisma.StringFieldUpdateOperationsInput | string + amount?: Prisma.FloatFieldUpdateOperationsInput | number + unit?: Prisma.StringFieldUpdateOperationsInput | string + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filamentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + resinId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null +} + + + +export type UsageLogSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + itemType?: boolean + itemId?: boolean + amount?: boolean + unit?: boolean + notes?: boolean + createdAt?: boolean + userId?: boolean + filamentId?: boolean + resinId?: boolean + paintId?: boolean + user?: boolean | Prisma.UserDefaultArgs + filament?: boolean | Prisma.UsageLog$filamentArgs + resin?: boolean | Prisma.UsageLog$resinArgs + paint?: boolean | Prisma.UsageLog$paintArgs +}, ExtArgs["result"]["usageLog"]> + +export type UsageLogSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + itemType?: boolean + itemId?: boolean + amount?: boolean + unit?: boolean + notes?: boolean + createdAt?: boolean + userId?: boolean + filamentId?: boolean + resinId?: boolean + paintId?: boolean + user?: boolean | Prisma.UserDefaultArgs + filament?: boolean | Prisma.UsageLog$filamentArgs + resin?: boolean | Prisma.UsageLog$resinArgs + paint?: boolean | Prisma.UsageLog$paintArgs +}, ExtArgs["result"]["usageLog"]> + +export type UsageLogSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + itemType?: boolean + itemId?: boolean + amount?: boolean + unit?: boolean + notes?: boolean + createdAt?: boolean + userId?: boolean + filamentId?: boolean + resinId?: boolean + paintId?: boolean + user?: boolean | Prisma.UserDefaultArgs + filament?: boolean | Prisma.UsageLog$filamentArgs + resin?: boolean | Prisma.UsageLog$resinArgs + paint?: boolean | Prisma.UsageLog$paintArgs +}, ExtArgs["result"]["usageLog"]> + +export type UsageLogSelectScalar = { + id?: boolean + itemType?: boolean + itemId?: boolean + amount?: boolean + unit?: boolean + notes?: boolean + createdAt?: boolean + userId?: boolean + filamentId?: boolean + resinId?: boolean + paintId?: boolean +} + +export type UsageLogOmit = runtime.Types.Extensions.GetOmit<"id" | "itemType" | "itemId" | "amount" | "unit" | "notes" | "createdAt" | "userId" | "filamentId" | "resinId" | "paintId", ExtArgs["result"]["usageLog"]> +export type UsageLogInclude = { + user?: boolean | Prisma.UserDefaultArgs + filament?: boolean | Prisma.UsageLog$filamentArgs + resin?: boolean | Prisma.UsageLog$resinArgs + paint?: boolean | Prisma.UsageLog$paintArgs +} +export type UsageLogIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs + filament?: boolean | Prisma.UsageLog$filamentArgs + resin?: boolean | Prisma.UsageLog$resinArgs + paint?: boolean | Prisma.UsageLog$paintArgs +} +export type UsageLogIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs + filament?: boolean | Prisma.UsageLog$filamentArgs + resin?: boolean | Prisma.UsageLog$resinArgs + paint?: boolean | Prisma.UsageLog$paintArgs +} + +export type $UsageLogPayload = { + name: "UsageLog" + objects: { + user: Prisma.$UserPayload + filament: Prisma.$FilamentPayload | null + resin: Prisma.$ResinPayload | null + paint: Prisma.$PaintPayload | null + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + itemType: string + itemId: string + amount: number + unit: string + notes: string | null + createdAt: Date + userId: string + filamentId: string | null + resinId: string | null + paintId: string | null + }, ExtArgs["result"]["usageLog"]> + composites: {} +} + +export type UsageLogGetPayload = runtime.Types.Result.GetResult + +export type UsageLogCountArgs = + Omit & { + select?: UsageLogCountAggregateInputType | true + } + +export interface UsageLogDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['UsageLog'], meta: { name: 'UsageLog' } } + /** + * Find zero or one UsageLog that matches the filter. + * @param {UsageLogFindUniqueArgs} args - Arguments to find a UsageLog + * @example + * // Get one UsageLog + * const usageLog = await prisma.usageLog.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__UsageLogClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one UsageLog that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {UsageLogFindUniqueOrThrowArgs} args - Arguments to find a UsageLog + * @example + * // Get one UsageLog + * const usageLog = await prisma.usageLog.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__UsageLogClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first UsageLog 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 {UsageLogFindFirstArgs} args - Arguments to find a UsageLog + * @example + * // Get one UsageLog + * const usageLog = await prisma.usageLog.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__UsageLogClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first UsageLog 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 {UsageLogFindFirstOrThrowArgs} args - Arguments to find a UsageLog + * @example + * // Get one UsageLog + * const usageLog = await prisma.usageLog.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__UsageLogClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more UsageLogs 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 {UsageLogFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all UsageLogs + * const usageLogs = await prisma.usageLog.findMany() + * + * // Get first 10 UsageLogs + * const usageLogs = await prisma.usageLog.findMany({ take: 10 }) + * + * // Only select the `id` + * const usageLogWithIdOnly = await prisma.usageLog.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a UsageLog. + * @param {UsageLogCreateArgs} args - Arguments to create a UsageLog. + * @example + * // Create one UsageLog + * const UsageLog = await prisma.usageLog.create({ + * data: { + * // ... data to create a UsageLog + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__UsageLogClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many UsageLogs. + * @param {UsageLogCreateManyArgs} args - Arguments to create many UsageLogs. + * @example + * // Create many UsageLogs + * const usageLog = await prisma.usageLog.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many UsageLogs and returns the data saved in the database. + * @param {UsageLogCreateManyAndReturnArgs} args - Arguments to create many UsageLogs. + * @example + * // Create many UsageLogs + * const usageLog = await prisma.usageLog.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many UsageLogs and only return the `id` + * const usageLogWithIdOnly = await prisma.usageLog.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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a UsageLog. + * @param {UsageLogDeleteArgs} args - Arguments to delete one UsageLog. + * @example + * // Delete one UsageLog + * const UsageLog = await prisma.usageLog.delete({ + * where: { + * // ... filter to delete one UsageLog + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__UsageLogClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one UsageLog. + * @param {UsageLogUpdateArgs} args - Arguments to update one UsageLog. + * @example + * // Update one UsageLog + * const usageLog = await prisma.usageLog.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__UsageLogClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more UsageLogs. + * @param {UsageLogDeleteManyArgs} args - Arguments to filter UsageLogs to delete. + * @example + * // Delete a few UsageLogs + * const { count } = await prisma.usageLog.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more UsageLogs. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UsageLogUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many UsageLogs + * const usageLog = await prisma.usageLog.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more UsageLogs and returns the data updated in the database. + * @param {UsageLogUpdateManyAndReturnArgs} args - Arguments to update many UsageLogs. + * @example + * // Update many UsageLogs + * const usageLog = await prisma.usageLog.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more UsageLogs and only return the `id` + * const usageLogWithIdOnly = await prisma.usageLog.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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one UsageLog. + * @param {UsageLogUpsertArgs} args - Arguments to update or create a UsageLog. + * @example + * // Update or create a UsageLog + * const usageLog = await prisma.usageLog.upsert({ + * create: { + * // ... data to create a UsageLog + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the UsageLog we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__UsageLogClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of UsageLogs. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UsageLogCountArgs} args - Arguments to filter UsageLogs to count. + * @example + * // Count the number of UsageLogs + * const count = await prisma.usageLog.count({ + * where: { + * // ... the filter for the UsageLogs we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a UsageLog. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UsageLogAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by UsageLog. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UsageLogGroupByArgs} 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 UsageLogGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: UsageLogGroupByArgs['orderBy'] } + : { orderBy?: UsageLogGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetUsageLogGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the UsageLog model + */ +readonly fields: UsageLogFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for UsageLog. + * 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__UsageLogClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + filament = {}>(args?: Prisma.Subset>): Prisma.Prisma__FilamentClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + resin = {}>(args?: Prisma.Subset>): Prisma.Prisma__ResinClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + paint = {}>(args?: Prisma.Subset>): Prisma.Prisma__PaintClient, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the UsageLog model + */ +export interface UsageLogFieldRefs { + readonly id: Prisma.FieldRef<"UsageLog", 'String'> + readonly itemType: Prisma.FieldRef<"UsageLog", 'String'> + readonly itemId: Prisma.FieldRef<"UsageLog", 'String'> + readonly amount: Prisma.FieldRef<"UsageLog", 'Float'> + readonly unit: Prisma.FieldRef<"UsageLog", 'String'> + readonly notes: Prisma.FieldRef<"UsageLog", 'String'> + readonly createdAt: Prisma.FieldRef<"UsageLog", 'DateTime'> + readonly userId: Prisma.FieldRef<"UsageLog", 'String'> + readonly filamentId: Prisma.FieldRef<"UsageLog", 'String'> + readonly resinId: Prisma.FieldRef<"UsageLog", 'String'> + readonly paintId: Prisma.FieldRef<"UsageLog", 'String'> +} + + +// Custom InputTypes +/** + * UsageLog findUnique + */ +export type UsageLogFindUniqueArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null + /** + * Filter, which UsageLog to fetch. + */ + where: Prisma.UsageLogWhereUniqueInput +} + +/** + * UsageLog findUniqueOrThrow + */ +export type UsageLogFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null + /** + * Filter, which UsageLog to fetch. + */ + where: Prisma.UsageLogWhereUniqueInput +} + +/** + * UsageLog findFirst + */ +export type UsageLogFindFirstArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null + /** + * Filter, which UsageLog to fetch. + */ + where?: Prisma.UsageLogWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UsageLogs to fetch. + */ + orderBy?: Prisma.UsageLogOrderByWithRelationInput | Prisma.UsageLogOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for UsageLogs. + */ + cursor?: Prisma.UsageLogWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UsageLogs 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` UsageLogs. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of UsageLogs. + */ + distinct?: Prisma.UsageLogScalarFieldEnum | Prisma.UsageLogScalarFieldEnum[] +} + +/** + * UsageLog findFirstOrThrow + */ +export type UsageLogFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null + /** + * Filter, which UsageLog to fetch. + */ + where?: Prisma.UsageLogWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UsageLogs to fetch. + */ + orderBy?: Prisma.UsageLogOrderByWithRelationInput | Prisma.UsageLogOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for UsageLogs. + */ + cursor?: Prisma.UsageLogWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UsageLogs 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` UsageLogs. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of UsageLogs. + */ + distinct?: Prisma.UsageLogScalarFieldEnum | Prisma.UsageLogScalarFieldEnum[] +} + +/** + * UsageLog findMany + */ +export type UsageLogFindManyArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null + /** + * Filter, which UsageLogs to fetch. + */ + where?: Prisma.UsageLogWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UsageLogs to fetch. + */ + orderBy?: Prisma.UsageLogOrderByWithRelationInput | Prisma.UsageLogOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing UsageLogs. + */ + cursor?: Prisma.UsageLogWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UsageLogs 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` UsageLogs. + */ + skip?: number + distinct?: Prisma.UsageLogScalarFieldEnum | Prisma.UsageLogScalarFieldEnum[] +} + +/** + * UsageLog create + */ +export type UsageLogCreateArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null + /** + * The data needed to create a UsageLog. + */ + data: Prisma.XOR +} + +/** + * UsageLog createMany + */ +export type UsageLogCreateManyArgs = { + /** + * The data used to create many UsageLogs. + */ + data: Prisma.UsageLogCreateManyInput | Prisma.UsageLogCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * UsageLog createManyAndReturn + */ +export type UsageLogCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelectCreateManyAndReturn | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * The data used to create many UsageLogs. + */ + data: Prisma.UsageLogCreateManyInput | Prisma.UsageLogCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogIncludeCreateManyAndReturn | null +} + +/** + * UsageLog update + */ +export type UsageLogUpdateArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null + /** + * The data needed to update a UsageLog. + */ + data: Prisma.XOR + /** + * Choose, which UsageLog to update. + */ + where: Prisma.UsageLogWhereUniqueInput +} + +/** + * UsageLog updateMany + */ +export type UsageLogUpdateManyArgs = { + /** + * The data used to update UsageLogs. + */ + data: Prisma.XOR + /** + * Filter which UsageLogs to update + */ + where?: Prisma.UsageLogWhereInput + /** + * Limit how many UsageLogs to update. + */ + limit?: number +} + +/** + * UsageLog updateManyAndReturn + */ +export type UsageLogUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * The data used to update UsageLogs. + */ + data: Prisma.XOR + /** + * Filter which UsageLogs to update + */ + where?: Prisma.UsageLogWhereInput + /** + * Limit how many UsageLogs to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogIncludeUpdateManyAndReturn | null +} + +/** + * UsageLog upsert + */ +export type UsageLogUpsertArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null + /** + * The filter to search for the UsageLog to update in case it exists. + */ + where: Prisma.UsageLogWhereUniqueInput + /** + * In case the UsageLog found by the `where` argument doesn't exist, create a new UsageLog with this data. + */ + create: Prisma.XOR + /** + * In case the UsageLog was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * UsageLog delete + */ +export type UsageLogDeleteArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null + /** + * Filter which UsageLog to delete. + */ + where: Prisma.UsageLogWhereUniqueInput +} + +/** + * UsageLog deleteMany + */ +export type UsageLogDeleteManyArgs = { + /** + * Filter which UsageLogs to delete + */ + where?: Prisma.UsageLogWhereInput + /** + * Limit how many UsageLogs to delete. + */ + limit?: number +} + +/** + * UsageLog.filament + */ +export type UsageLog$filamentArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null + where?: Prisma.FilamentWhereInput +} + +/** + * UsageLog.resin + */ +export type UsageLog$resinArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null + where?: Prisma.ResinWhereInput +} + +/** + * UsageLog.paint + */ +export type UsageLog$paintArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null + where?: Prisma.PaintWhereInput +} + +/** + * UsageLog without action + */ +export type UsageLogDefaultArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null +} diff --git a/src/generated/prisma/models/User.ts b/src/generated/prisma/models/User.ts new file mode 100644 index 0000000..cf2e347 --- /dev/null +++ b/src/generated/prisma/models/User.ts @@ -0,0 +1,2914 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `User` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model User + * + */ +export type UserModel = runtime.Types.Result.DefaultSelection + +export type AggregateUser = { + _count: UserCountAggregateOutputType | null + _min: UserMinAggregateOutputType | null + _max: UserMaxAggregateOutputType | null +} + +export type UserMinAggregateOutputType = { + id: string | null + name: string | null + email: string | null + emailVerified: Date | null + image: string | null + hashedPassword: string | null + role: $Enums.Role | null + createdAt: Date | null + updatedAt: Date | null +} + +export type UserMaxAggregateOutputType = { + id: string | null + name: string | null + email: string | null + emailVerified: Date | null + image: string | null + hashedPassword: string | null + role: $Enums.Role | null + createdAt: Date | null + updatedAt: Date | null +} + +export type UserCountAggregateOutputType = { + id: number + name: number + email: number + emailVerified: number + image: number + hashedPassword: number + role: number + createdAt: number + updatedAt: number + _all: number +} + + +export type UserMinAggregateInputType = { + id?: true + name?: true + email?: true + emailVerified?: true + image?: true + hashedPassword?: true + role?: true + createdAt?: true + updatedAt?: true +} + +export type UserMaxAggregateInputType = { + id?: true + name?: true + email?: true + emailVerified?: true + image?: true + hashedPassword?: true + role?: true + createdAt?: true + updatedAt?: true +} + +export type UserCountAggregateInputType = { + id?: true + name?: true + email?: true + emailVerified?: true + image?: true + hashedPassword?: true + role?: true + createdAt?: true + updatedAt?: true + _all?: true +} + +export type UserAggregateArgs = { + /** + * Filter which User to aggregate. + */ + where?: Prisma.UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: Prisma.UserOrderByWithRelationInput | Prisma.UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Users + **/ + _count?: true | UserCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: UserMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: UserMaxAggregateInputType +} + +export type GetUserAggregateType = { + [P in keyof T & keyof AggregateUser]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type UserGroupByArgs = { + where?: Prisma.UserWhereInput + orderBy?: Prisma.UserOrderByWithAggregationInput | Prisma.UserOrderByWithAggregationInput[] + by: Prisma.UserScalarFieldEnum[] | Prisma.UserScalarFieldEnum + having?: Prisma.UserScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: UserCountAggregateInputType | true + _min?: UserMinAggregateInputType + _max?: UserMaxAggregateInputType +} + +export type UserGroupByOutputType = { + id: string + name: string | null + email: string | null + emailVerified: Date | null + image: string | null + hashedPassword: string | null + role: $Enums.Role + createdAt: Date + updatedAt: Date + _count: UserCountAggregateOutputType | null + _min: UserMinAggregateOutputType | null + _max: UserMaxAggregateOutputType | null +} + +type GetUserGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof UserGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type UserWhereInput = { + AND?: Prisma.UserWhereInput | Prisma.UserWhereInput[] + OR?: Prisma.UserWhereInput[] + NOT?: Prisma.UserWhereInput | Prisma.UserWhereInput[] + id?: Prisma.StringFilter<"User"> | string + name?: Prisma.StringNullableFilter<"User"> | string | null + email?: Prisma.StringNullableFilter<"User"> | string | null + emailVerified?: Prisma.DateTimeNullableFilter<"User"> | Date | string | null + image?: Prisma.StringNullableFilter<"User"> | string | null + hashedPassword?: Prisma.StringNullableFilter<"User"> | string | null + role?: Prisma.EnumRoleFilter<"User"> | $Enums.Role + createdAt?: Prisma.DateTimeFilter<"User"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"User"> | Date | string + accounts?: Prisma.AccountListRelationFilter + sessions?: Prisma.SessionListRelationFilter + filaments?: Prisma.FilamentListRelationFilter + resins?: Prisma.ResinListRelationFilter + paints?: Prisma.PaintListRelationFilter + vendors?: Prisma.VendorListRelationFilter + locations?: Prisma.LocationListRelationFilter + usageLogs?: Prisma.UsageLogListRelationFilter + tags?: Prisma.TagListRelationFilter + settings?: Prisma.XOR | null +} + +export type UserOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrderInput | Prisma.SortOrder + email?: Prisma.SortOrderInput | Prisma.SortOrder + emailVerified?: Prisma.SortOrderInput | Prisma.SortOrder + image?: Prisma.SortOrderInput | Prisma.SortOrder + hashedPassword?: Prisma.SortOrderInput | Prisma.SortOrder + role?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + accounts?: Prisma.AccountOrderByRelationAggregateInput + sessions?: Prisma.SessionOrderByRelationAggregateInput + filaments?: Prisma.FilamentOrderByRelationAggregateInput + resins?: Prisma.ResinOrderByRelationAggregateInput + paints?: Prisma.PaintOrderByRelationAggregateInput + vendors?: Prisma.VendorOrderByRelationAggregateInput + locations?: Prisma.LocationOrderByRelationAggregateInput + usageLogs?: Prisma.UsageLogOrderByRelationAggregateInput + tags?: Prisma.TagOrderByRelationAggregateInput + settings?: Prisma.UserSettingsOrderByWithRelationInput +} + +export type UserWhereUniqueInput = Prisma.AtLeast<{ + id?: string + email?: string + AND?: Prisma.UserWhereInput | Prisma.UserWhereInput[] + OR?: Prisma.UserWhereInput[] + NOT?: Prisma.UserWhereInput | Prisma.UserWhereInput[] + name?: Prisma.StringNullableFilter<"User"> | string | null + emailVerified?: Prisma.DateTimeNullableFilter<"User"> | Date | string | null + image?: Prisma.StringNullableFilter<"User"> | string | null + hashedPassword?: Prisma.StringNullableFilter<"User"> | string | null + role?: Prisma.EnumRoleFilter<"User"> | $Enums.Role + createdAt?: Prisma.DateTimeFilter<"User"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"User"> | Date | string + accounts?: Prisma.AccountListRelationFilter + sessions?: Prisma.SessionListRelationFilter + filaments?: Prisma.FilamentListRelationFilter + resins?: Prisma.ResinListRelationFilter + paints?: Prisma.PaintListRelationFilter + vendors?: Prisma.VendorListRelationFilter + locations?: Prisma.LocationListRelationFilter + usageLogs?: Prisma.UsageLogListRelationFilter + tags?: Prisma.TagListRelationFilter + settings?: Prisma.XOR | null +}, "id" | "email"> + +export type UserOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrderInput | Prisma.SortOrder + email?: Prisma.SortOrderInput | Prisma.SortOrder + emailVerified?: Prisma.SortOrderInput | Prisma.SortOrder + image?: Prisma.SortOrderInput | Prisma.SortOrder + hashedPassword?: Prisma.SortOrderInput | Prisma.SortOrder + role?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + _count?: Prisma.UserCountOrderByAggregateInput + _max?: Prisma.UserMaxOrderByAggregateInput + _min?: Prisma.UserMinOrderByAggregateInput +} + +export type UserScalarWhereWithAggregatesInput = { + AND?: Prisma.UserScalarWhereWithAggregatesInput | Prisma.UserScalarWhereWithAggregatesInput[] + OR?: Prisma.UserScalarWhereWithAggregatesInput[] + NOT?: Prisma.UserScalarWhereWithAggregatesInput | Prisma.UserScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"User"> | string + name?: Prisma.StringNullableWithAggregatesFilter<"User"> | string | null + email?: Prisma.StringNullableWithAggregatesFilter<"User"> | string | null + emailVerified?: Prisma.DateTimeNullableWithAggregatesFilter<"User"> | Date | string | null + image?: Prisma.StringNullableWithAggregatesFilter<"User"> | string | null + hashedPassword?: Prisma.StringNullableWithAggregatesFilter<"User"> | string | null + role?: Prisma.EnumRoleWithAggregatesFilter<"User"> | $Enums.Role + createdAt?: Prisma.DateTimeWithAggregatesFilter<"User"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"User"> | Date | string +} + +export type UserCreateInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentCreateNestedManyWithoutUserInput + resins?: Prisma.ResinCreateNestedManyWithoutUserInput + paints?: Prisma.PaintCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorCreateNestedManyWithoutUserInput + locations?: Prisma.LocationCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutUserInput + tags?: Prisma.TagCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsCreateNestedOneWithoutUserInput +} + +export type UserUncheckedCreateInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutUserInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutUserInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorUncheckedCreateNestedManyWithoutUserInput + locations?: Prisma.LocationUncheckedCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutUserInput + tags?: Prisma.TagUncheckedCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsUncheckedCreateNestedOneWithoutUserInput +} + +export type UserUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUpdateOneWithoutUserNestedInput +} + +export type UserUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUncheckedUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUncheckedUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUncheckedUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUncheckedUpdateOneWithoutUserNestedInput +} + +export type UserCreateManyInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string +} + +export type UserUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type UserUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type UserCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + email?: Prisma.SortOrder + emailVerified?: Prisma.SortOrder + image?: Prisma.SortOrder + hashedPassword?: Prisma.SortOrder + role?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type UserMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + email?: Prisma.SortOrder + emailVerified?: Prisma.SortOrder + image?: Prisma.SortOrder + hashedPassword?: Prisma.SortOrder + role?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type UserMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + email?: Prisma.SortOrder + emailVerified?: Prisma.SortOrder + image?: Prisma.SortOrder + hashedPassword?: Prisma.SortOrder + role?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type UserScalarRelationFilter = { + is?: Prisma.UserWhereInput + isNot?: Prisma.UserWhereInput +} + +export type StringFieldUpdateOperationsInput = { + set?: string +} + +export type NullableStringFieldUpdateOperationsInput = { + set?: string | null +} + +export type NullableDateTimeFieldUpdateOperationsInput = { + set?: Date | string | null +} + +export type EnumRoleFieldUpdateOperationsInput = { + set?: $Enums.Role +} + +export type DateTimeFieldUpdateOperationsInput = { + set?: Date | string +} + +export type UserCreateNestedOneWithoutAccountsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutAccountsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutAccountsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutAccountsInput + upsert?: Prisma.UserUpsertWithoutAccountsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutAccountsInput> +} + +export type UserCreateNestedOneWithoutSessionsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutSessionsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutSessionsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutSessionsInput + upsert?: Prisma.UserUpsertWithoutSessionsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutSessionsInput> +} + +export type UserCreateNestedOneWithoutVendorsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutVendorsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutVendorsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutVendorsInput + upsert?: Prisma.UserUpsertWithoutVendorsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutVendorsInput> +} + +export type UserCreateNestedOneWithoutLocationsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutLocationsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutLocationsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutLocationsInput + upsert?: Prisma.UserUpsertWithoutLocationsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutLocationsInput> +} + +export type UserCreateNestedOneWithoutFilamentsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutFilamentsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutFilamentsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutFilamentsInput + upsert?: Prisma.UserUpsertWithoutFilamentsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutFilamentsInput> +} + +export type UserCreateNestedOneWithoutResinsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutResinsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutResinsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutResinsInput + upsert?: Prisma.UserUpsertWithoutResinsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutResinsInput> +} + +export type UserCreateNestedOneWithoutPaintsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutPaintsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutPaintsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutPaintsInput + upsert?: Prisma.UserUpsertWithoutPaintsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutPaintsInput> +} + +export type UserCreateNestedOneWithoutTagsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutTagsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutTagsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutTagsInput + upsert?: Prisma.UserUpsertWithoutTagsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutTagsInput> +} + +export type UserCreateNestedOneWithoutUsageLogsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutUsageLogsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutUsageLogsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutUsageLogsInput + upsert?: Prisma.UserUpsertWithoutUsageLogsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutUsageLogsInput> +} + +export type UserCreateNestedOneWithoutSettingsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutSettingsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutSettingsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutSettingsInput + upsert?: Prisma.UserUpsertWithoutSettingsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutSettingsInput> +} + +export type UserCreateWithoutAccountsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentCreateNestedManyWithoutUserInput + resins?: Prisma.ResinCreateNestedManyWithoutUserInput + paints?: Prisma.PaintCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorCreateNestedManyWithoutUserInput + locations?: Prisma.LocationCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutUserInput + tags?: Prisma.TagCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsCreateNestedOneWithoutUserInput +} + +export type UserUncheckedCreateWithoutAccountsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutUserInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutUserInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorUncheckedCreateNestedManyWithoutUserInput + locations?: Prisma.LocationUncheckedCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutUserInput + tags?: Prisma.TagUncheckedCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsUncheckedCreateNestedOneWithoutUserInput +} + +export type UserCreateOrConnectWithoutAccountsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutAccountsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutAccountsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutAccountsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUpdateOneWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutAccountsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUncheckedUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUncheckedUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUncheckedUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUncheckedUpdateOneWithoutUserNestedInput +} + +export type UserCreateWithoutSessionsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentCreateNestedManyWithoutUserInput + resins?: Prisma.ResinCreateNestedManyWithoutUserInput + paints?: Prisma.PaintCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorCreateNestedManyWithoutUserInput + locations?: Prisma.LocationCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutUserInput + tags?: Prisma.TagCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsCreateNestedOneWithoutUserInput +} + +export type UserUncheckedCreateWithoutSessionsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutUserInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutUserInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorUncheckedCreateNestedManyWithoutUserInput + locations?: Prisma.LocationUncheckedCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutUserInput + tags?: Prisma.TagUncheckedCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsUncheckedCreateNestedOneWithoutUserInput +} + +export type UserCreateOrConnectWithoutSessionsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutSessionsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutSessionsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutSessionsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUpdateOneWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutSessionsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUncheckedUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUncheckedUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUncheckedUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUncheckedUpdateOneWithoutUserNestedInput +} + +export type UserCreateWithoutVendorsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentCreateNestedManyWithoutUserInput + resins?: Prisma.ResinCreateNestedManyWithoutUserInput + paints?: Prisma.PaintCreateNestedManyWithoutUserInput + locations?: Prisma.LocationCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutUserInput + tags?: Prisma.TagCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsCreateNestedOneWithoutUserInput +} + +export type UserUncheckedCreateWithoutVendorsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutUserInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutUserInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutUserInput + locations?: Prisma.LocationUncheckedCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutUserInput + tags?: Prisma.TagUncheckedCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsUncheckedCreateNestedOneWithoutUserInput +} + +export type UserCreateOrConnectWithoutVendorsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutVendorsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutVendorsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutVendorsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUpdateOneWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutVendorsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUncheckedUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUncheckedUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUncheckedUpdateOneWithoutUserNestedInput +} + +export type UserCreateWithoutLocationsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentCreateNestedManyWithoutUserInput + resins?: Prisma.ResinCreateNestedManyWithoutUserInput + paints?: Prisma.PaintCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutUserInput + tags?: Prisma.TagCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsCreateNestedOneWithoutUserInput +} + +export type UserUncheckedCreateWithoutLocationsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutUserInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutUserInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorUncheckedCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutUserInput + tags?: Prisma.TagUncheckedCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsUncheckedCreateNestedOneWithoutUserInput +} + +export type UserCreateOrConnectWithoutLocationsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutLocationsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutLocationsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutLocationsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUpdateOneWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutLocationsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUncheckedUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUncheckedUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUncheckedUpdateOneWithoutUserNestedInput +} + +export type UserCreateWithoutFilamentsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + resins?: Prisma.ResinCreateNestedManyWithoutUserInput + paints?: Prisma.PaintCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorCreateNestedManyWithoutUserInput + locations?: Prisma.LocationCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutUserInput + tags?: Prisma.TagCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsCreateNestedOneWithoutUserInput +} + +export type UserUncheckedCreateWithoutFilamentsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutUserInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorUncheckedCreateNestedManyWithoutUserInput + locations?: Prisma.LocationUncheckedCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutUserInput + tags?: Prisma.TagUncheckedCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsUncheckedCreateNestedOneWithoutUserInput +} + +export type UserCreateOrConnectWithoutFilamentsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutFilamentsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutFilamentsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutFilamentsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUpdateOneWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutFilamentsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUncheckedUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUncheckedUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUncheckedUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUncheckedUpdateOneWithoutUserNestedInput +} + +export type UserCreateWithoutResinsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentCreateNestedManyWithoutUserInput + paints?: Prisma.PaintCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorCreateNestedManyWithoutUserInput + locations?: Prisma.LocationCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutUserInput + tags?: Prisma.TagCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsCreateNestedOneWithoutUserInput +} + +export type UserUncheckedCreateWithoutResinsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutUserInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorUncheckedCreateNestedManyWithoutUserInput + locations?: Prisma.LocationUncheckedCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutUserInput + tags?: Prisma.TagUncheckedCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsUncheckedCreateNestedOneWithoutUserInput +} + +export type UserCreateOrConnectWithoutResinsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutResinsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutResinsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutResinsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUpdateOneWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutResinsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUncheckedUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUncheckedUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUncheckedUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUncheckedUpdateOneWithoutUserNestedInput +} + +export type UserCreateWithoutPaintsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentCreateNestedManyWithoutUserInput + resins?: Prisma.ResinCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorCreateNestedManyWithoutUserInput + locations?: Prisma.LocationCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutUserInput + tags?: Prisma.TagCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsCreateNestedOneWithoutUserInput +} + +export type UserUncheckedCreateWithoutPaintsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutUserInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorUncheckedCreateNestedManyWithoutUserInput + locations?: Prisma.LocationUncheckedCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutUserInput + tags?: Prisma.TagUncheckedCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsUncheckedCreateNestedOneWithoutUserInput +} + +export type UserCreateOrConnectWithoutPaintsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutPaintsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutPaintsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutPaintsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUpdateOneWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutPaintsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUncheckedUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUncheckedUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUncheckedUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUncheckedUpdateOneWithoutUserNestedInput +} + +export type UserCreateWithoutTagsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentCreateNestedManyWithoutUserInput + resins?: Prisma.ResinCreateNestedManyWithoutUserInput + paints?: Prisma.PaintCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorCreateNestedManyWithoutUserInput + locations?: Prisma.LocationCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsCreateNestedOneWithoutUserInput +} + +export type UserUncheckedCreateWithoutTagsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutUserInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutUserInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorUncheckedCreateNestedManyWithoutUserInput + locations?: Prisma.LocationUncheckedCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsUncheckedCreateNestedOneWithoutUserInput +} + +export type UserCreateOrConnectWithoutTagsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutTagsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutTagsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutTagsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUpdateOneWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutTagsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUncheckedUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUncheckedUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUncheckedUpdateOneWithoutUserNestedInput +} + +export type UserCreateWithoutUsageLogsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentCreateNestedManyWithoutUserInput + resins?: Prisma.ResinCreateNestedManyWithoutUserInput + paints?: Prisma.PaintCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorCreateNestedManyWithoutUserInput + locations?: Prisma.LocationCreateNestedManyWithoutUserInput + tags?: Prisma.TagCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsCreateNestedOneWithoutUserInput +} + +export type UserUncheckedCreateWithoutUsageLogsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutUserInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutUserInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorUncheckedCreateNestedManyWithoutUserInput + locations?: Prisma.LocationUncheckedCreateNestedManyWithoutUserInput + tags?: Prisma.TagUncheckedCreateNestedManyWithoutUserInput + settings?: Prisma.UserSettingsUncheckedCreateNestedOneWithoutUserInput +} + +export type UserCreateOrConnectWithoutUsageLogsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutUsageLogsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutUsageLogsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutUsageLogsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUpdateOneWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutUsageLogsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUncheckedUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUncheckedUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUncheckedUpdateManyWithoutUserNestedInput + settings?: Prisma.UserSettingsUncheckedUpdateOneWithoutUserNestedInput +} + +export type UserCreateWithoutSettingsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentCreateNestedManyWithoutUserInput + resins?: Prisma.ResinCreateNestedManyWithoutUserInput + paints?: Prisma.PaintCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorCreateNestedManyWithoutUserInput + locations?: Prisma.LocationCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogCreateNestedManyWithoutUserInput + tags?: Prisma.TagCreateNestedManyWithoutUserInput +} + +export type UserUncheckedCreateWithoutSettingsInput = { + id?: string + name?: string | null + email?: string | null + emailVerified?: Date | string | null + image?: string | null + hashedPassword?: string | null + role?: $Enums.Role + createdAt?: Date | string + updatedAt?: Date | string + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutUserInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutUserInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutUserInput + vendors?: Prisma.VendorUncheckedCreateNestedManyWithoutUserInput + locations?: Prisma.LocationUncheckedCreateNestedManyWithoutUserInput + usageLogs?: Prisma.UsageLogUncheckedCreateNestedManyWithoutUserInput + tags?: Prisma.TagUncheckedCreateNestedManyWithoutUserInput +} + +export type UserCreateOrConnectWithoutSettingsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutSettingsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutSettingsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutSettingsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUpdateManyWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutSettingsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + email?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + emailVerified?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + hashedPassword?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + role?: Prisma.EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutUserNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutUserNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutUserNestedInput + vendors?: Prisma.VendorUncheckedUpdateManyWithoutUserNestedInput + locations?: Prisma.LocationUncheckedUpdateManyWithoutUserNestedInput + usageLogs?: Prisma.UsageLogUncheckedUpdateManyWithoutUserNestedInput + tags?: Prisma.TagUncheckedUpdateManyWithoutUserNestedInput +} + + +/** + * Count Type UserCountOutputType + */ + +export type UserCountOutputType = { + accounts: number + sessions: number + filaments: number + resins: number + paints: number + vendors: number + locations: number + usageLogs: number + tags: number +} + +export type UserCountOutputTypeSelect = { + accounts?: boolean | UserCountOutputTypeCountAccountsArgs + sessions?: boolean | UserCountOutputTypeCountSessionsArgs + filaments?: boolean | UserCountOutputTypeCountFilamentsArgs + resins?: boolean | UserCountOutputTypeCountResinsArgs + paints?: boolean | UserCountOutputTypeCountPaintsArgs + vendors?: boolean | UserCountOutputTypeCountVendorsArgs + locations?: boolean | UserCountOutputTypeCountLocationsArgs + usageLogs?: boolean | UserCountOutputTypeCountUsageLogsArgs + tags?: boolean | UserCountOutputTypeCountTagsArgs +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the UserCountOutputType + */ + select?: Prisma.UserCountOutputTypeSelect | null +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountAccountsArgs = { + where?: Prisma.AccountWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountSessionsArgs = { + where?: Prisma.SessionWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountFilamentsArgs = { + where?: Prisma.FilamentWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountResinsArgs = { + where?: Prisma.ResinWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountPaintsArgs = { + where?: Prisma.PaintWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountVendorsArgs = { + where?: Prisma.VendorWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountLocationsArgs = { + where?: Prisma.LocationWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountUsageLogsArgs = { + where?: Prisma.UsageLogWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountTagsArgs = { + where?: Prisma.TagWhereInput +} + + +export type UserSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + emailVerified?: boolean + image?: boolean + hashedPassword?: boolean + role?: boolean + createdAt?: boolean + updatedAt?: boolean + accounts?: boolean | Prisma.User$accountsArgs + sessions?: boolean | Prisma.User$sessionsArgs + filaments?: boolean | Prisma.User$filamentsArgs + resins?: boolean | Prisma.User$resinsArgs + paints?: boolean | Prisma.User$paintsArgs + vendors?: boolean | Prisma.User$vendorsArgs + locations?: boolean | Prisma.User$locationsArgs + usageLogs?: boolean | Prisma.User$usageLogsArgs + tags?: boolean | Prisma.User$tagsArgs + settings?: boolean | Prisma.User$settingsArgs + _count?: boolean | Prisma.UserCountOutputTypeDefaultArgs +}, ExtArgs["result"]["user"]> + +export type UserSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + emailVerified?: boolean + image?: boolean + hashedPassword?: boolean + role?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["user"]> + +export type UserSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + emailVerified?: boolean + image?: boolean + hashedPassword?: boolean + role?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["user"]> + +export type UserSelectScalar = { + id?: boolean + name?: boolean + email?: boolean + emailVerified?: boolean + image?: boolean + hashedPassword?: boolean + role?: boolean + createdAt?: boolean + updatedAt?: boolean +} + +export type UserOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "email" | "emailVerified" | "image" | "hashedPassword" | "role" | "createdAt" | "updatedAt", ExtArgs["result"]["user"]> +export type UserInclude = { + accounts?: boolean | Prisma.User$accountsArgs + sessions?: boolean | Prisma.User$sessionsArgs + filaments?: boolean | Prisma.User$filamentsArgs + resins?: boolean | Prisma.User$resinsArgs + paints?: boolean | Prisma.User$paintsArgs + vendors?: boolean | Prisma.User$vendorsArgs + locations?: boolean | Prisma.User$locationsArgs + usageLogs?: boolean | Prisma.User$usageLogsArgs + tags?: boolean | Prisma.User$tagsArgs + settings?: boolean | Prisma.User$settingsArgs + _count?: boolean | Prisma.UserCountOutputTypeDefaultArgs +} +export type UserIncludeCreateManyAndReturn = {} +export type UserIncludeUpdateManyAndReturn = {} + +export type $UserPayload = { + name: "User" + objects: { + accounts: Prisma.$AccountPayload[] + sessions: Prisma.$SessionPayload[] + filaments: Prisma.$FilamentPayload[] + resins: Prisma.$ResinPayload[] + paints: Prisma.$PaintPayload[] + vendors: Prisma.$VendorPayload[] + locations: Prisma.$LocationPayload[] + usageLogs: Prisma.$UsageLogPayload[] + tags: Prisma.$TagPayload[] + settings: Prisma.$UserSettingsPayload | null + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string | null + email: string | null + emailVerified: Date | null + image: string | null + hashedPassword: string | null + role: $Enums.Role + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["user"]> + composites: {} +} + +export type UserGetPayload = runtime.Types.Result.GetResult + +export 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: Prisma.SelectSubset>): Prisma.Prisma__UserClient, 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: Prisma.SelectSubset>): Prisma.Prisma__UserClient, 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?: Prisma.SelectSubset>): Prisma.Prisma__UserClient, 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?: Prisma.SelectSubset>): Prisma.Prisma__UserClient, 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?: Prisma.SelectSubset>): Prisma.PrismaPromise, 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: Prisma.SelectSubset>): Prisma.Prisma__UserClient, 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?: Prisma.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?: Prisma.SelectSubset>): Prisma.PrismaPromise, 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: Prisma.SelectSubset>): Prisma.Prisma__UserClient, 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: Prisma.SelectSubset>): Prisma.Prisma__UserClient, 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?: Prisma.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: Prisma.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: Prisma.SelectSubset>): Prisma.PrismaPromise, 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: Prisma.SelectSubset>): Prisma.Prisma__UserClient, 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?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.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: Prisma.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 Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: UserGroupByArgs['orderBy'] } + : { orderBy?: UserGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.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" + accounts = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + sessions = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + filaments = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + resins = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + paints = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + vendors = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + locations = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + usageLogs = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + tags = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + settings = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserSettingsClient, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the User model + */ +export interface UserFieldRefs { + readonly id: Prisma.FieldRef<"User", 'String'> + readonly name: Prisma.FieldRef<"User", 'String'> + readonly email: Prisma.FieldRef<"User", 'String'> + readonly emailVerified: Prisma.FieldRef<"User", 'DateTime'> + readonly image: Prisma.FieldRef<"User", 'String'> + readonly hashedPassword: Prisma.FieldRef<"User", 'String'> + readonly role: Prisma.FieldRef<"User", 'Role'> + readonly createdAt: Prisma.FieldRef<"User", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"User", 'DateTime'> +} + + +// Custom InputTypes +/** + * User findUnique + */ +export type UserFindUniqueArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * Filter, which User to fetch. + */ + where: Prisma.UserWhereUniqueInput +} + +/** + * User findUniqueOrThrow + */ +export type UserFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * Filter, which User to fetch. + */ + where: Prisma.UserWhereUniqueInput +} + +/** + * User findFirst + */ +export type UserFindFirstArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * Filter, which User to fetch. + */ + where?: Prisma.UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: Prisma.UserOrderByWithRelationInput | Prisma.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?: Prisma.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?: Prisma.UserScalarFieldEnum | Prisma.UserScalarFieldEnum[] +} + +/** + * User findFirstOrThrow + */ +export type UserFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * Filter, which User to fetch. + */ + where?: Prisma.UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: Prisma.UserOrderByWithRelationInput | Prisma.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?: Prisma.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?: Prisma.UserScalarFieldEnum | Prisma.UserScalarFieldEnum[] +} + +/** + * User findMany + */ +export type UserFindManyArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * Filter, which Users to fetch. + */ + where?: Prisma.UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: Prisma.UserOrderByWithRelationInput | Prisma.UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Users. + */ + cursor?: Prisma.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?: Prisma.UserScalarFieldEnum | Prisma.UserScalarFieldEnum[] +} + +/** + * User create + */ +export type UserCreateArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * The data needed to create a User. + */ + data: Prisma.XOR +} + +/** + * User createMany + */ +export type UserCreateManyArgs = { + /** + * The data used to create many Users. + */ + data: Prisma.UserCreateManyInput | Prisma.UserCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * User createManyAndReturn + */ +export type UserCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelectCreateManyAndReturn | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * The data used to create many Users. + */ + data: Prisma.UserCreateManyInput | Prisma.UserCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * User update + */ +export type UserUpdateArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * The data needed to update a User. + */ + data: Prisma.XOR + /** + * Choose, which User to update. + */ + where: Prisma.UserWhereUniqueInput +} + +/** + * User updateMany + */ +export type UserUpdateManyArgs = { + /** + * The data used to update Users. + */ + data: Prisma.XOR + /** + * Filter which Users to update + */ + where?: Prisma.UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number +} + +/** + * User updateManyAndReturn + */ +export type UserUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * The data used to update Users. + */ + data: Prisma.XOR + /** + * Filter which Users to update + */ + where?: Prisma.UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number +} + +/** + * User upsert + */ +export type UserUpsertArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * The filter to search for the User to update in case it exists. + */ + where: Prisma.UserWhereUniqueInput + /** + * In case the User found by the `where` argument doesn't exist, create a new User with this data. + */ + create: Prisma.XOR + /** + * In case the User was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * User delete + */ +export type UserDeleteArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + /** + * Filter which User to delete. + */ + where: Prisma.UserWhereUniqueInput +} + +/** + * User deleteMany + */ +export type UserDeleteManyArgs = { + /** + * Filter which Users to delete + */ + where?: Prisma.UserWhereInput + /** + * Limit how many Users to delete. + */ + limit?: number +} + +/** + * User.accounts + */ +export type User$accountsArgs = { + /** + * Select specific fields to fetch from the Account + */ + select?: Prisma.AccountSelect | null + /** + * Omit specific fields from the Account + */ + omit?: Prisma.AccountOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.AccountInclude | null + where?: Prisma.AccountWhereInput + orderBy?: Prisma.AccountOrderByWithRelationInput | Prisma.AccountOrderByWithRelationInput[] + cursor?: Prisma.AccountWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.AccountScalarFieldEnum | Prisma.AccountScalarFieldEnum[] +} + +/** + * User.sessions + */ +export type User$sessionsArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: Prisma.SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: Prisma.SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.SessionInclude | null + where?: Prisma.SessionWhereInput + orderBy?: Prisma.SessionOrderByWithRelationInput | Prisma.SessionOrderByWithRelationInput[] + cursor?: Prisma.SessionWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.SessionScalarFieldEnum | Prisma.SessionScalarFieldEnum[] +} + +/** + * User.filaments + */ +export type User$filamentsArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null + where?: Prisma.FilamentWhereInput + orderBy?: Prisma.FilamentOrderByWithRelationInput | Prisma.FilamentOrderByWithRelationInput[] + cursor?: Prisma.FilamentWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.FilamentScalarFieldEnum | Prisma.FilamentScalarFieldEnum[] +} + +/** + * User.resins + */ +export type User$resinsArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null + where?: Prisma.ResinWhereInput + orderBy?: Prisma.ResinOrderByWithRelationInput | Prisma.ResinOrderByWithRelationInput[] + cursor?: Prisma.ResinWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.ResinScalarFieldEnum | Prisma.ResinScalarFieldEnum[] +} + +/** + * User.paints + */ +export type User$paintsArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null + where?: Prisma.PaintWhereInput + orderBy?: Prisma.PaintOrderByWithRelationInput | Prisma.PaintOrderByWithRelationInput[] + cursor?: Prisma.PaintWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.PaintScalarFieldEnum | Prisma.PaintScalarFieldEnum[] +} + +/** + * User.vendors + */ +export type User$vendorsArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null + where?: Prisma.VendorWhereInput + orderBy?: Prisma.VendorOrderByWithRelationInput | Prisma.VendorOrderByWithRelationInput[] + cursor?: Prisma.VendorWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.VendorScalarFieldEnum | Prisma.VendorScalarFieldEnum[] +} + +/** + * User.locations + */ +export type User$locationsArgs = { + /** + * Select specific fields to fetch from the Location + */ + select?: Prisma.LocationSelect | null + /** + * Omit specific fields from the Location + */ + omit?: Prisma.LocationOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.LocationInclude | null + where?: Prisma.LocationWhereInput + orderBy?: Prisma.LocationOrderByWithRelationInput | Prisma.LocationOrderByWithRelationInput[] + cursor?: Prisma.LocationWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.LocationScalarFieldEnum | Prisma.LocationScalarFieldEnum[] +} + +/** + * User.usageLogs + */ +export type User$usageLogsArgs = { + /** + * Select specific fields to fetch from the UsageLog + */ + select?: Prisma.UsageLogSelect | null + /** + * Omit specific fields from the UsageLog + */ + omit?: Prisma.UsageLogOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UsageLogInclude | null + where?: Prisma.UsageLogWhereInput + orderBy?: Prisma.UsageLogOrderByWithRelationInput | Prisma.UsageLogOrderByWithRelationInput[] + cursor?: Prisma.UsageLogWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.UsageLogScalarFieldEnum | Prisma.UsageLogScalarFieldEnum[] +} + +/** + * User.tags + */ +export type User$tagsArgs = { + /** + * Select specific fields to fetch from the Tag + */ + select?: Prisma.TagSelect | null + /** + * Omit specific fields from the Tag + */ + omit?: Prisma.TagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TagInclude | null + where?: Prisma.TagWhereInput + orderBy?: Prisma.TagOrderByWithRelationInput | Prisma.TagOrderByWithRelationInput[] + cursor?: Prisma.TagWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TagScalarFieldEnum | Prisma.TagScalarFieldEnum[] +} + +/** + * User.settings + */ +export type User$settingsArgs = { + /** + * Select specific fields to fetch from the UserSettings + */ + select?: Prisma.UserSettingsSelect | null + /** + * Omit specific fields from the UserSettings + */ + omit?: Prisma.UserSettingsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserSettingsInclude | null + where?: Prisma.UserSettingsWhereInput +} + +/** + * User without action + */ +export type UserDefaultArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null +} diff --git a/src/generated/prisma/models/UserSettings.ts b/src/generated/prisma/models/UserSettings.ts new file mode 100644 index 0000000..b1478a4 --- /dev/null +++ b/src/generated/prisma/models/UserSettings.ts @@ -0,0 +1,1366 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `UserSettings` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model UserSettings + * + */ +export type UserSettingsModel = runtime.Types.Result.DefaultSelection + +export type AggregateUserSettings = { + _count: UserSettingsCountAggregateOutputType | null + _avg: UserSettingsAvgAggregateOutputType | null + _sum: UserSettingsSumAggregateOutputType | null + _min: UserSettingsMinAggregateOutputType | null + _max: UserSettingsMaxAggregateOutputType | null +} + +export type UserSettingsAvgAggregateOutputType = { + lowStockThreshold: number | null +} + +export type UserSettingsSumAggregateOutputType = { + lowStockThreshold: number | null +} + +export type UserSettingsMinAggregateOutputType = { + id: string | null + userId: string | null + lowStockThreshold: number | null + currency: string | null + theme: string | null + units: string | null +} + +export type UserSettingsMaxAggregateOutputType = { + id: string | null + userId: string | null + lowStockThreshold: number | null + currency: string | null + theme: string | null + units: string | null +} + +export type UserSettingsCountAggregateOutputType = { + id: number + userId: number + lowStockThreshold: number + currency: number + theme: number + units: number + _all: number +} + + +export type UserSettingsAvgAggregateInputType = { + lowStockThreshold?: true +} + +export type UserSettingsSumAggregateInputType = { + lowStockThreshold?: true +} + +export type UserSettingsMinAggregateInputType = { + id?: true + userId?: true + lowStockThreshold?: true + currency?: true + theme?: true + units?: true +} + +export type UserSettingsMaxAggregateInputType = { + id?: true + userId?: true + lowStockThreshold?: true + currency?: true + theme?: true + units?: true +} + +export type UserSettingsCountAggregateInputType = { + id?: true + userId?: true + lowStockThreshold?: true + currency?: true + theme?: true + units?: true + _all?: true +} + +export type UserSettingsAggregateArgs = { + /** + * Filter which UserSettings to aggregate. + */ + where?: Prisma.UserSettingsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UserSettings to fetch. + */ + orderBy?: Prisma.UserSettingsOrderByWithRelationInput | Prisma.UserSettingsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.UserSettingsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UserSettings 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` UserSettings. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned UserSettings + **/ + _count?: true | UserSettingsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: UserSettingsAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: UserSettingsSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: UserSettingsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: UserSettingsMaxAggregateInputType +} + +export type GetUserSettingsAggregateType = { + [P in keyof T & keyof AggregateUserSettings]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type UserSettingsGroupByArgs = { + where?: Prisma.UserSettingsWhereInput + orderBy?: Prisma.UserSettingsOrderByWithAggregationInput | Prisma.UserSettingsOrderByWithAggregationInput[] + by: Prisma.UserSettingsScalarFieldEnum[] | Prisma.UserSettingsScalarFieldEnum + having?: Prisma.UserSettingsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: UserSettingsCountAggregateInputType | true + _avg?: UserSettingsAvgAggregateInputType + _sum?: UserSettingsSumAggregateInputType + _min?: UserSettingsMinAggregateInputType + _max?: UserSettingsMaxAggregateInputType +} + +export type UserSettingsGroupByOutputType = { + id: string + userId: string + lowStockThreshold: number + currency: string + theme: string + units: string + _count: UserSettingsCountAggregateOutputType | null + _avg: UserSettingsAvgAggregateOutputType | null + _sum: UserSettingsSumAggregateOutputType | null + _min: UserSettingsMinAggregateOutputType | null + _max: UserSettingsMaxAggregateOutputType | null +} + +type GetUserSettingsGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof UserSettingsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type UserSettingsWhereInput = { + AND?: Prisma.UserSettingsWhereInput | Prisma.UserSettingsWhereInput[] + OR?: Prisma.UserSettingsWhereInput[] + NOT?: Prisma.UserSettingsWhereInput | Prisma.UserSettingsWhereInput[] + id?: Prisma.StringFilter<"UserSettings"> | string + userId?: Prisma.StringFilter<"UserSettings"> | string + lowStockThreshold?: Prisma.FloatFilter<"UserSettings"> | number + currency?: Prisma.StringFilter<"UserSettings"> | string + theme?: Prisma.StringFilter<"UserSettings"> | string + units?: Prisma.StringFilter<"UserSettings"> | string + user?: Prisma.XOR +} + +export type UserSettingsOrderByWithRelationInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + lowStockThreshold?: Prisma.SortOrder + currency?: Prisma.SortOrder + theme?: Prisma.SortOrder + units?: Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput +} + +export type UserSettingsWhereUniqueInput = Prisma.AtLeast<{ + id?: string + userId?: string + AND?: Prisma.UserSettingsWhereInput | Prisma.UserSettingsWhereInput[] + OR?: Prisma.UserSettingsWhereInput[] + NOT?: Prisma.UserSettingsWhereInput | Prisma.UserSettingsWhereInput[] + lowStockThreshold?: Prisma.FloatFilter<"UserSettings"> | number + currency?: Prisma.StringFilter<"UserSettings"> | string + theme?: Prisma.StringFilter<"UserSettings"> | string + units?: Prisma.StringFilter<"UserSettings"> | string + user?: Prisma.XOR +}, "id" | "userId"> + +export type UserSettingsOrderByWithAggregationInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + lowStockThreshold?: Prisma.SortOrder + currency?: Prisma.SortOrder + theme?: Prisma.SortOrder + units?: Prisma.SortOrder + _count?: Prisma.UserSettingsCountOrderByAggregateInput + _avg?: Prisma.UserSettingsAvgOrderByAggregateInput + _max?: Prisma.UserSettingsMaxOrderByAggregateInput + _min?: Prisma.UserSettingsMinOrderByAggregateInput + _sum?: Prisma.UserSettingsSumOrderByAggregateInput +} + +export type UserSettingsScalarWhereWithAggregatesInput = { + AND?: Prisma.UserSettingsScalarWhereWithAggregatesInput | Prisma.UserSettingsScalarWhereWithAggregatesInput[] + OR?: Prisma.UserSettingsScalarWhereWithAggregatesInput[] + NOT?: Prisma.UserSettingsScalarWhereWithAggregatesInput | Prisma.UserSettingsScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"UserSettings"> | string + userId?: Prisma.StringWithAggregatesFilter<"UserSettings"> | string + lowStockThreshold?: Prisma.FloatWithAggregatesFilter<"UserSettings"> | number + currency?: Prisma.StringWithAggregatesFilter<"UserSettings"> | string + theme?: Prisma.StringWithAggregatesFilter<"UserSettings"> | string + units?: Prisma.StringWithAggregatesFilter<"UserSettings"> | string +} + +export type UserSettingsCreateInput = { + id?: string + lowStockThreshold?: number + currency?: string + theme?: string + units?: string + user: Prisma.UserCreateNestedOneWithoutSettingsInput +} + +export type UserSettingsUncheckedCreateInput = { + id?: string + userId: string + lowStockThreshold?: number + currency?: string + theme?: string + units?: string +} + +export type UserSettingsUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + lowStockThreshold?: Prisma.FloatFieldUpdateOperationsInput | number + currency?: Prisma.StringFieldUpdateOperationsInput | string + theme?: Prisma.StringFieldUpdateOperationsInput | string + units?: Prisma.StringFieldUpdateOperationsInput | string + user?: Prisma.UserUpdateOneRequiredWithoutSettingsNestedInput +} + +export type UserSettingsUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + lowStockThreshold?: Prisma.FloatFieldUpdateOperationsInput | number + currency?: Prisma.StringFieldUpdateOperationsInput | string + theme?: Prisma.StringFieldUpdateOperationsInput | string + units?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type UserSettingsCreateManyInput = { + id?: string + userId: string + lowStockThreshold?: number + currency?: string + theme?: string + units?: string +} + +export type UserSettingsUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + lowStockThreshold?: Prisma.FloatFieldUpdateOperationsInput | number + currency?: Prisma.StringFieldUpdateOperationsInput | string + theme?: Prisma.StringFieldUpdateOperationsInput | string + units?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type UserSettingsUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + lowStockThreshold?: Prisma.FloatFieldUpdateOperationsInput | number + currency?: Prisma.StringFieldUpdateOperationsInput | string + theme?: Prisma.StringFieldUpdateOperationsInput | string + units?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type UserSettingsNullableScalarRelationFilter = { + is?: Prisma.UserSettingsWhereInput | null + isNot?: Prisma.UserSettingsWhereInput | null +} + +export type UserSettingsCountOrderByAggregateInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + lowStockThreshold?: Prisma.SortOrder + currency?: Prisma.SortOrder + theme?: Prisma.SortOrder + units?: Prisma.SortOrder +} + +export type UserSettingsAvgOrderByAggregateInput = { + lowStockThreshold?: Prisma.SortOrder +} + +export type UserSettingsMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + lowStockThreshold?: Prisma.SortOrder + currency?: Prisma.SortOrder + theme?: Prisma.SortOrder + units?: Prisma.SortOrder +} + +export type UserSettingsMinOrderByAggregateInput = { + id?: Prisma.SortOrder + userId?: Prisma.SortOrder + lowStockThreshold?: Prisma.SortOrder + currency?: Prisma.SortOrder + theme?: Prisma.SortOrder + units?: Prisma.SortOrder +} + +export type UserSettingsSumOrderByAggregateInput = { + lowStockThreshold?: Prisma.SortOrder +} + +export type UserSettingsCreateNestedOneWithoutUserInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserSettingsCreateOrConnectWithoutUserInput + connect?: Prisma.UserSettingsWhereUniqueInput +} + +export type UserSettingsUncheckedCreateNestedOneWithoutUserInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserSettingsCreateOrConnectWithoutUserInput + connect?: Prisma.UserSettingsWhereUniqueInput +} + +export type UserSettingsUpdateOneWithoutUserNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserSettingsCreateOrConnectWithoutUserInput + upsert?: Prisma.UserSettingsUpsertWithoutUserInput + disconnect?: Prisma.UserSettingsWhereInput | boolean + delete?: Prisma.UserSettingsWhereInput | boolean + connect?: Prisma.UserSettingsWhereUniqueInput + update?: Prisma.XOR, Prisma.UserSettingsUncheckedUpdateWithoutUserInput> +} + +export type UserSettingsUncheckedUpdateOneWithoutUserNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserSettingsCreateOrConnectWithoutUserInput + upsert?: Prisma.UserSettingsUpsertWithoutUserInput + disconnect?: Prisma.UserSettingsWhereInput | boolean + delete?: Prisma.UserSettingsWhereInput | boolean + connect?: Prisma.UserSettingsWhereUniqueInput + update?: Prisma.XOR, Prisma.UserSettingsUncheckedUpdateWithoutUserInput> +} + +export type UserSettingsCreateWithoutUserInput = { + id?: string + lowStockThreshold?: number + currency?: string + theme?: string + units?: string +} + +export type UserSettingsUncheckedCreateWithoutUserInput = { + id?: string + lowStockThreshold?: number + currency?: string + theme?: string + units?: string +} + +export type UserSettingsCreateOrConnectWithoutUserInput = { + where: Prisma.UserSettingsWhereUniqueInput + create: Prisma.XOR +} + +export type UserSettingsUpsertWithoutUserInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserSettingsWhereInput +} + +export type UserSettingsUpdateToOneWithWhereWithoutUserInput = { + where?: Prisma.UserSettingsWhereInput + data: Prisma.XOR +} + +export type UserSettingsUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + lowStockThreshold?: Prisma.FloatFieldUpdateOperationsInput | number + currency?: Prisma.StringFieldUpdateOperationsInput | string + theme?: Prisma.StringFieldUpdateOperationsInput | string + units?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type UserSettingsUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + lowStockThreshold?: Prisma.FloatFieldUpdateOperationsInput | number + currency?: Prisma.StringFieldUpdateOperationsInput | string + theme?: Prisma.StringFieldUpdateOperationsInput | string + units?: Prisma.StringFieldUpdateOperationsInput | string +} + + + +export type UserSettingsSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + userId?: boolean + lowStockThreshold?: boolean + currency?: boolean + theme?: boolean + units?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["userSettings"]> + +export type UserSettingsSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + userId?: boolean + lowStockThreshold?: boolean + currency?: boolean + theme?: boolean + units?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["userSettings"]> + +export type UserSettingsSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + userId?: boolean + lowStockThreshold?: boolean + currency?: boolean + theme?: boolean + units?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["userSettings"]> + +export type UserSettingsSelectScalar = { + id?: boolean + userId?: boolean + lowStockThreshold?: boolean + currency?: boolean + theme?: boolean + units?: boolean +} + +export type UserSettingsOmit = runtime.Types.Extensions.GetOmit<"id" | "userId" | "lowStockThreshold" | "currency" | "theme" | "units", ExtArgs["result"]["userSettings"]> +export type UserSettingsInclude = { + user?: boolean | Prisma.UserDefaultArgs +} +export type UserSettingsIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} +export type UserSettingsIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} + +export type $UserSettingsPayload = { + name: "UserSettings" + objects: { + user: Prisma.$UserPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + userId: string + lowStockThreshold: number + currency: string + theme: string + units: string + }, ExtArgs["result"]["userSettings"]> + composites: {} +} + +export type UserSettingsGetPayload = runtime.Types.Result.GetResult + +export type UserSettingsCountArgs = + Omit & { + select?: UserSettingsCountAggregateInputType | true + } + +export interface UserSettingsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['UserSettings'], meta: { name: 'UserSettings' } } + /** + * Find zero or one UserSettings that matches the filter. + * @param {UserSettingsFindUniqueArgs} args - Arguments to find a UserSettings + * @example + * // Get one UserSettings + * const userSettings = await prisma.userSettings.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__UserSettingsClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one UserSettings that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {UserSettingsFindUniqueOrThrowArgs} args - Arguments to find a UserSettings + * @example + * // Get one UserSettings + * const userSettings = await prisma.userSettings.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__UserSettingsClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first UserSettings 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 {UserSettingsFindFirstArgs} args - Arguments to find a UserSettings + * @example + * // Get one UserSettings + * const userSettings = await prisma.userSettings.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__UserSettingsClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first UserSettings 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 {UserSettingsFindFirstOrThrowArgs} args - Arguments to find a UserSettings + * @example + * // Get one UserSettings + * const userSettings = await prisma.userSettings.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__UserSettingsClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more UserSettings 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 {UserSettingsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all UserSettings + * const userSettings = await prisma.userSettings.findMany() + * + * // Get first 10 UserSettings + * const userSettings = await prisma.userSettings.findMany({ take: 10 }) + * + * // Only select the `id` + * const userSettingsWithIdOnly = await prisma.userSettings.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a UserSettings. + * @param {UserSettingsCreateArgs} args - Arguments to create a UserSettings. + * @example + * // Create one UserSettings + * const UserSettings = await prisma.userSettings.create({ + * data: { + * // ... data to create a UserSettings + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__UserSettingsClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many UserSettings. + * @param {UserSettingsCreateManyArgs} args - Arguments to create many UserSettings. + * @example + * // Create many UserSettings + * const userSettings = await prisma.userSettings.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many UserSettings and returns the data saved in the database. + * @param {UserSettingsCreateManyAndReturnArgs} args - Arguments to create many UserSettings. + * @example + * // Create many UserSettings + * const userSettings = await prisma.userSettings.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many UserSettings and only return the `id` + * const userSettingsWithIdOnly = await prisma.userSettings.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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a UserSettings. + * @param {UserSettingsDeleteArgs} args - Arguments to delete one UserSettings. + * @example + * // Delete one UserSettings + * const UserSettings = await prisma.userSettings.delete({ + * where: { + * // ... filter to delete one UserSettings + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__UserSettingsClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one UserSettings. + * @param {UserSettingsUpdateArgs} args - Arguments to update one UserSettings. + * @example + * // Update one UserSettings + * const userSettings = await prisma.userSettings.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__UserSettingsClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more UserSettings. + * @param {UserSettingsDeleteManyArgs} args - Arguments to filter UserSettings to delete. + * @example + * // Delete a few UserSettings + * const { count } = await prisma.userSettings.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more UserSettings. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserSettingsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many UserSettings + * const userSettings = await prisma.userSettings.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more UserSettings and returns the data updated in the database. + * @param {UserSettingsUpdateManyAndReturnArgs} args - Arguments to update many UserSettings. + * @example + * // Update many UserSettings + * const userSettings = await prisma.userSettings.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more UserSettings and only return the `id` + * const userSettingsWithIdOnly = await prisma.userSettings.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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one UserSettings. + * @param {UserSettingsUpsertArgs} args - Arguments to update or create a UserSettings. + * @example + * // Update or create a UserSettings + * const userSettings = await prisma.userSettings.upsert({ + * create: { + * // ... data to create a UserSettings + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the UserSettings we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__UserSettingsClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of UserSettings. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserSettingsCountArgs} args - Arguments to filter UserSettings to count. + * @example + * // Count the number of UserSettings + * const count = await prisma.userSettings.count({ + * where: { + * // ... the filter for the UserSettings we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a UserSettings. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserSettingsAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by UserSettings. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserSettingsGroupByArgs} 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 UserSettingsGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: UserSettingsGroupByArgs['orderBy'] } + : { orderBy?: UserSettingsGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetUserSettingsGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the UserSettings model + */ +readonly fields: UserSettingsFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for UserSettings. + * 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__UserSettingsClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the UserSettings model + */ +export interface UserSettingsFieldRefs { + readonly id: Prisma.FieldRef<"UserSettings", 'String'> + readonly userId: Prisma.FieldRef<"UserSettings", 'String'> + readonly lowStockThreshold: Prisma.FieldRef<"UserSettings", 'Float'> + readonly currency: Prisma.FieldRef<"UserSettings", 'String'> + readonly theme: Prisma.FieldRef<"UserSettings", 'String'> + readonly units: Prisma.FieldRef<"UserSettings", 'String'> +} + + +// Custom InputTypes +/** + * UserSettings findUnique + */ +export type UserSettingsFindUniqueArgs = { + /** + * Select specific fields to fetch from the UserSettings + */ + select?: Prisma.UserSettingsSelect | null + /** + * Omit specific fields from the UserSettings + */ + omit?: Prisma.UserSettingsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserSettingsInclude | null + /** + * Filter, which UserSettings to fetch. + */ + where: Prisma.UserSettingsWhereUniqueInput +} + +/** + * UserSettings findUniqueOrThrow + */ +export type UserSettingsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the UserSettings + */ + select?: Prisma.UserSettingsSelect | null + /** + * Omit specific fields from the UserSettings + */ + omit?: Prisma.UserSettingsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserSettingsInclude | null + /** + * Filter, which UserSettings to fetch. + */ + where: Prisma.UserSettingsWhereUniqueInput +} + +/** + * UserSettings findFirst + */ +export type UserSettingsFindFirstArgs = { + /** + * Select specific fields to fetch from the UserSettings + */ + select?: Prisma.UserSettingsSelect | null + /** + * Omit specific fields from the UserSettings + */ + omit?: Prisma.UserSettingsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserSettingsInclude | null + /** + * Filter, which UserSettings to fetch. + */ + where?: Prisma.UserSettingsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UserSettings to fetch. + */ + orderBy?: Prisma.UserSettingsOrderByWithRelationInput | Prisma.UserSettingsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for UserSettings. + */ + cursor?: Prisma.UserSettingsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UserSettings 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` UserSettings. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of UserSettings. + */ + distinct?: Prisma.UserSettingsScalarFieldEnum | Prisma.UserSettingsScalarFieldEnum[] +} + +/** + * UserSettings findFirstOrThrow + */ +export type UserSettingsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the UserSettings + */ + select?: Prisma.UserSettingsSelect | null + /** + * Omit specific fields from the UserSettings + */ + omit?: Prisma.UserSettingsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserSettingsInclude | null + /** + * Filter, which UserSettings to fetch. + */ + where?: Prisma.UserSettingsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UserSettings to fetch. + */ + orderBy?: Prisma.UserSettingsOrderByWithRelationInput | Prisma.UserSettingsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for UserSettings. + */ + cursor?: Prisma.UserSettingsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UserSettings 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` UserSettings. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of UserSettings. + */ + distinct?: Prisma.UserSettingsScalarFieldEnum | Prisma.UserSettingsScalarFieldEnum[] +} + +/** + * UserSettings findMany + */ +export type UserSettingsFindManyArgs = { + /** + * Select specific fields to fetch from the UserSettings + */ + select?: Prisma.UserSettingsSelect | null + /** + * Omit specific fields from the UserSettings + */ + omit?: Prisma.UserSettingsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserSettingsInclude | null + /** + * Filter, which UserSettings to fetch. + */ + where?: Prisma.UserSettingsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UserSettings to fetch. + */ + orderBy?: Prisma.UserSettingsOrderByWithRelationInput | Prisma.UserSettingsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing UserSettings. + */ + cursor?: Prisma.UserSettingsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UserSettings 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` UserSettings. + */ + skip?: number + distinct?: Prisma.UserSettingsScalarFieldEnum | Prisma.UserSettingsScalarFieldEnum[] +} + +/** + * UserSettings create + */ +export type UserSettingsCreateArgs = { + /** + * Select specific fields to fetch from the UserSettings + */ + select?: Prisma.UserSettingsSelect | null + /** + * Omit specific fields from the UserSettings + */ + omit?: Prisma.UserSettingsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserSettingsInclude | null + /** + * The data needed to create a UserSettings. + */ + data: Prisma.XOR +} + +/** + * UserSettings createMany + */ +export type UserSettingsCreateManyArgs = { + /** + * The data used to create many UserSettings. + */ + data: Prisma.UserSettingsCreateManyInput | Prisma.UserSettingsCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * UserSettings createManyAndReturn + */ +export type UserSettingsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the UserSettings + */ + select?: Prisma.UserSettingsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the UserSettings + */ + omit?: Prisma.UserSettingsOmit | null + /** + * The data used to create many UserSettings. + */ + data: Prisma.UserSettingsCreateManyInput | Prisma.UserSettingsCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserSettingsIncludeCreateManyAndReturn | null +} + +/** + * UserSettings update + */ +export type UserSettingsUpdateArgs = { + /** + * Select specific fields to fetch from the UserSettings + */ + select?: Prisma.UserSettingsSelect | null + /** + * Omit specific fields from the UserSettings + */ + omit?: Prisma.UserSettingsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserSettingsInclude | null + /** + * The data needed to update a UserSettings. + */ + data: Prisma.XOR + /** + * Choose, which UserSettings to update. + */ + where: Prisma.UserSettingsWhereUniqueInput +} + +/** + * UserSettings updateMany + */ +export type UserSettingsUpdateManyArgs = { + /** + * The data used to update UserSettings. + */ + data: Prisma.XOR + /** + * Filter which UserSettings to update + */ + where?: Prisma.UserSettingsWhereInput + /** + * Limit how many UserSettings to update. + */ + limit?: number +} + +/** + * UserSettings updateManyAndReturn + */ +export type UserSettingsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the UserSettings + */ + select?: Prisma.UserSettingsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the UserSettings + */ + omit?: Prisma.UserSettingsOmit | null + /** + * The data used to update UserSettings. + */ + data: Prisma.XOR + /** + * Filter which UserSettings to update + */ + where?: Prisma.UserSettingsWhereInput + /** + * Limit how many UserSettings to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserSettingsIncludeUpdateManyAndReturn | null +} + +/** + * UserSettings upsert + */ +export type UserSettingsUpsertArgs = { + /** + * Select specific fields to fetch from the UserSettings + */ + select?: Prisma.UserSettingsSelect | null + /** + * Omit specific fields from the UserSettings + */ + omit?: Prisma.UserSettingsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserSettingsInclude | null + /** + * The filter to search for the UserSettings to update in case it exists. + */ + where: Prisma.UserSettingsWhereUniqueInput + /** + * In case the UserSettings found by the `where` argument doesn't exist, create a new UserSettings with this data. + */ + create: Prisma.XOR + /** + * In case the UserSettings was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * UserSettings delete + */ +export type UserSettingsDeleteArgs = { + /** + * Select specific fields to fetch from the UserSettings + */ + select?: Prisma.UserSettingsSelect | null + /** + * Omit specific fields from the UserSettings + */ + omit?: Prisma.UserSettingsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserSettingsInclude | null + /** + * Filter which UserSettings to delete. + */ + where: Prisma.UserSettingsWhereUniqueInput +} + +/** + * UserSettings deleteMany + */ +export type UserSettingsDeleteManyArgs = { + /** + * Filter which UserSettings to delete + */ + where?: Prisma.UserSettingsWhereInput + /** + * Limit how many UserSettings to delete. + */ + limit?: number +} + +/** + * UserSettings without action + */ +export type UserSettingsDefaultArgs = { + /** + * Select specific fields to fetch from the UserSettings + */ + select?: Prisma.UserSettingsSelect | null + /** + * Omit specific fields from the UserSettings + */ + omit?: Prisma.UserSettingsOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserSettingsInclude | null +} diff --git a/src/generated/prisma/models/Vendor.ts b/src/generated/prisma/models/Vendor.ts new file mode 100644 index 0000000..aef752f --- /dev/null +++ b/src/generated/prisma/models/Vendor.ts @@ -0,0 +1,1872 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Vendor` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model Vendor + * + */ +export type VendorModel = runtime.Types.Result.DefaultSelection + +export type AggregateVendor = { + _count: VendorCountAggregateOutputType | null + _min: VendorMinAggregateOutputType | null + _max: VendorMaxAggregateOutputType | null +} + +export type VendorMinAggregateOutputType = { + id: string | null + name: string | null + website: string | null + notes: string | null + archived: boolean | null + createdAt: Date | null + updatedAt: Date | null + userId: string | null +} + +export type VendorMaxAggregateOutputType = { + id: string | null + name: string | null + website: string | null + notes: string | null + archived: boolean | null + createdAt: Date | null + updatedAt: Date | null + userId: string | null +} + +export type VendorCountAggregateOutputType = { + id: number + name: number + website: number + notes: number + archived: number + createdAt: number + updatedAt: number + userId: number + _all: number +} + + +export type VendorMinAggregateInputType = { + id?: true + name?: true + website?: true + notes?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true +} + +export type VendorMaxAggregateInputType = { + id?: true + name?: true + website?: true + notes?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true +} + +export type VendorCountAggregateInputType = { + id?: true + name?: true + website?: true + notes?: true + archived?: true + createdAt?: true + updatedAt?: true + userId?: true + _all?: true +} + +export type VendorAggregateArgs = { + /** + * Filter which Vendor to aggregate. + */ + where?: Prisma.VendorWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Vendors to fetch. + */ + orderBy?: Prisma.VendorOrderByWithRelationInput | Prisma.VendorOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.VendorWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Vendors 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` Vendors. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Vendors + **/ + _count?: true | VendorCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: VendorMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: VendorMaxAggregateInputType +} + +export type GetVendorAggregateType = { + [P in keyof T & keyof AggregateVendor]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type VendorGroupByArgs = { + where?: Prisma.VendorWhereInput + orderBy?: Prisma.VendorOrderByWithAggregationInput | Prisma.VendorOrderByWithAggregationInput[] + by: Prisma.VendorScalarFieldEnum[] | Prisma.VendorScalarFieldEnum + having?: Prisma.VendorScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: VendorCountAggregateInputType | true + _min?: VendorMinAggregateInputType + _max?: VendorMaxAggregateInputType +} + +export type VendorGroupByOutputType = { + id: string + name: string + website: string | null + notes: string | null + archived: boolean + createdAt: Date + updatedAt: Date + userId: string + _count: VendorCountAggregateOutputType | null + _min: VendorMinAggregateOutputType | null + _max: VendorMaxAggregateOutputType | null +} + +type GetVendorGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof VendorGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type VendorWhereInput = { + AND?: Prisma.VendorWhereInput | Prisma.VendorWhereInput[] + OR?: Prisma.VendorWhereInput[] + NOT?: Prisma.VendorWhereInput | Prisma.VendorWhereInput[] + id?: Prisma.StringFilter<"Vendor"> | string + name?: Prisma.StringFilter<"Vendor"> | string + website?: Prisma.StringNullableFilter<"Vendor"> | string | null + notes?: Prisma.StringNullableFilter<"Vendor"> | string | null + archived?: Prisma.BoolFilter<"Vendor"> | boolean + createdAt?: Prisma.DateTimeFilter<"Vendor"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Vendor"> | Date | string + userId?: Prisma.StringFilter<"Vendor"> | string + user?: Prisma.XOR + filaments?: Prisma.FilamentListRelationFilter + resins?: Prisma.ResinListRelationFilter + paints?: Prisma.PaintListRelationFilter +} + +export type VendorOrderByWithRelationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + website?: Prisma.SortOrderInput | Prisma.SortOrder + notes?: Prisma.SortOrderInput | Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput + filaments?: Prisma.FilamentOrderByRelationAggregateInput + resins?: Prisma.ResinOrderByRelationAggregateInput + paints?: Prisma.PaintOrderByRelationAggregateInput +} + +export type VendorWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.VendorWhereInput | Prisma.VendorWhereInput[] + OR?: Prisma.VendorWhereInput[] + NOT?: Prisma.VendorWhereInput | Prisma.VendorWhereInput[] + name?: Prisma.StringFilter<"Vendor"> | string + website?: Prisma.StringNullableFilter<"Vendor"> | string | null + notes?: Prisma.StringNullableFilter<"Vendor"> | string | null + archived?: Prisma.BoolFilter<"Vendor"> | boolean + createdAt?: Prisma.DateTimeFilter<"Vendor"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Vendor"> | Date | string + userId?: Prisma.StringFilter<"Vendor"> | string + user?: Prisma.XOR + filaments?: Prisma.FilamentListRelationFilter + resins?: Prisma.ResinListRelationFilter + paints?: Prisma.PaintListRelationFilter +}, "id"> + +export type VendorOrderByWithAggregationInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + website?: Prisma.SortOrderInput | Prisma.SortOrder + notes?: Prisma.SortOrderInput | Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder + _count?: Prisma.VendorCountOrderByAggregateInput + _max?: Prisma.VendorMaxOrderByAggregateInput + _min?: Prisma.VendorMinOrderByAggregateInput +} + +export type VendorScalarWhereWithAggregatesInput = { + AND?: Prisma.VendorScalarWhereWithAggregatesInput | Prisma.VendorScalarWhereWithAggregatesInput[] + OR?: Prisma.VendorScalarWhereWithAggregatesInput[] + NOT?: Prisma.VendorScalarWhereWithAggregatesInput | Prisma.VendorScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Vendor"> | string + name?: Prisma.StringWithAggregatesFilter<"Vendor"> | string + website?: Prisma.StringNullableWithAggregatesFilter<"Vendor"> | string | null + notes?: Prisma.StringNullableWithAggregatesFilter<"Vendor"> | string | null + archived?: Prisma.BoolWithAggregatesFilter<"Vendor"> | boolean + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Vendor"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Vendor"> | Date | string + userId?: Prisma.StringWithAggregatesFilter<"Vendor"> | string +} + +export type VendorCreateInput = { + id?: string + name: string + website?: string | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutVendorsInput + filaments?: Prisma.FilamentCreateNestedManyWithoutVendorInput + resins?: Prisma.ResinCreateNestedManyWithoutVendorInput + paints?: Prisma.PaintCreateNestedManyWithoutVendorInput +} + +export type VendorUncheckedCreateInput = { + id?: string + name: string + website?: string | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutVendorInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutVendorInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutVendorInput +} + +export type VendorUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutVendorsNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutVendorNestedInput + resins?: Prisma.ResinUpdateManyWithoutVendorNestedInput + paints?: Prisma.PaintUpdateManyWithoutVendorNestedInput +} + +export type VendorUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutVendorNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutVendorNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutVendorNestedInput +} + +export type VendorCreateManyInput = { + id?: string + name: string + website?: string | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string +} + +export type VendorUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type VendorUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type VendorListRelationFilter = { + every?: Prisma.VendorWhereInput + some?: Prisma.VendorWhereInput + none?: Prisma.VendorWhereInput +} + +export type VendorOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type VendorCountOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + website?: Prisma.SortOrder + notes?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type VendorMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + website?: Prisma.SortOrder + notes?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type VendorMinOrderByAggregateInput = { + id?: Prisma.SortOrder + name?: Prisma.SortOrder + website?: Prisma.SortOrder + notes?: Prisma.SortOrder + archived?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type VendorNullableScalarRelationFilter = { + is?: Prisma.VendorWhereInput | null + isNot?: Prisma.VendorWhereInput | null +} + +export type VendorCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.VendorCreateWithoutUserInput[] | Prisma.VendorUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.VendorCreateOrConnectWithoutUserInput | Prisma.VendorCreateOrConnectWithoutUserInput[] + createMany?: Prisma.VendorCreateManyUserInputEnvelope + connect?: Prisma.VendorWhereUniqueInput | Prisma.VendorWhereUniqueInput[] +} + +export type VendorUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.VendorCreateWithoutUserInput[] | Prisma.VendorUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.VendorCreateOrConnectWithoutUserInput | Prisma.VendorCreateOrConnectWithoutUserInput[] + createMany?: Prisma.VendorCreateManyUserInputEnvelope + connect?: Prisma.VendorWhereUniqueInput | Prisma.VendorWhereUniqueInput[] +} + +export type VendorUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.VendorCreateWithoutUserInput[] | Prisma.VendorUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.VendorCreateOrConnectWithoutUserInput | Prisma.VendorCreateOrConnectWithoutUserInput[] + upsert?: Prisma.VendorUpsertWithWhereUniqueWithoutUserInput | Prisma.VendorUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.VendorCreateManyUserInputEnvelope + set?: Prisma.VendorWhereUniqueInput | Prisma.VendorWhereUniqueInput[] + disconnect?: Prisma.VendorWhereUniqueInput | Prisma.VendorWhereUniqueInput[] + delete?: Prisma.VendorWhereUniqueInput | Prisma.VendorWhereUniqueInput[] + connect?: Prisma.VendorWhereUniqueInput | Prisma.VendorWhereUniqueInput[] + update?: Prisma.VendorUpdateWithWhereUniqueWithoutUserInput | Prisma.VendorUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.VendorUpdateManyWithWhereWithoutUserInput | Prisma.VendorUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.VendorScalarWhereInput | Prisma.VendorScalarWhereInput[] +} + +export type VendorUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.VendorCreateWithoutUserInput[] | Prisma.VendorUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.VendorCreateOrConnectWithoutUserInput | Prisma.VendorCreateOrConnectWithoutUserInput[] + upsert?: Prisma.VendorUpsertWithWhereUniqueWithoutUserInput | Prisma.VendorUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.VendorCreateManyUserInputEnvelope + set?: Prisma.VendorWhereUniqueInput | Prisma.VendorWhereUniqueInput[] + disconnect?: Prisma.VendorWhereUniqueInput | Prisma.VendorWhereUniqueInput[] + delete?: Prisma.VendorWhereUniqueInput | Prisma.VendorWhereUniqueInput[] + connect?: Prisma.VendorWhereUniqueInput | Prisma.VendorWhereUniqueInput[] + update?: Prisma.VendorUpdateWithWhereUniqueWithoutUserInput | Prisma.VendorUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.VendorUpdateManyWithWhereWithoutUserInput | Prisma.VendorUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.VendorScalarWhereInput | Prisma.VendorScalarWhereInput[] +} + +export type BoolFieldUpdateOperationsInput = { + set?: boolean +} + +export type VendorCreateNestedOneWithoutFilamentsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.VendorCreateOrConnectWithoutFilamentsInput + connect?: Prisma.VendorWhereUniqueInput +} + +export type VendorUpdateOneWithoutFilamentsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.VendorCreateOrConnectWithoutFilamentsInput + upsert?: Prisma.VendorUpsertWithoutFilamentsInput + disconnect?: Prisma.VendorWhereInput | boolean + delete?: Prisma.VendorWhereInput | boolean + connect?: Prisma.VendorWhereUniqueInput + update?: Prisma.XOR, Prisma.VendorUncheckedUpdateWithoutFilamentsInput> +} + +export type VendorCreateNestedOneWithoutResinsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.VendorCreateOrConnectWithoutResinsInput + connect?: Prisma.VendorWhereUniqueInput +} + +export type VendorUpdateOneWithoutResinsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.VendorCreateOrConnectWithoutResinsInput + upsert?: Prisma.VendorUpsertWithoutResinsInput + disconnect?: Prisma.VendorWhereInput | boolean + delete?: Prisma.VendorWhereInput | boolean + connect?: Prisma.VendorWhereUniqueInput + update?: Prisma.XOR, Prisma.VendorUncheckedUpdateWithoutResinsInput> +} + +export type VendorCreateNestedOneWithoutPaintsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.VendorCreateOrConnectWithoutPaintsInput + connect?: Prisma.VendorWhereUniqueInput +} + +export type VendorUpdateOneWithoutPaintsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.VendorCreateOrConnectWithoutPaintsInput + upsert?: Prisma.VendorUpsertWithoutPaintsInput + disconnect?: Prisma.VendorWhereInput | boolean + delete?: Prisma.VendorWhereInput | boolean + connect?: Prisma.VendorWhereUniqueInput + update?: Prisma.XOR, Prisma.VendorUncheckedUpdateWithoutPaintsInput> +} + +export type VendorCreateWithoutUserInput = { + id?: string + name: string + website?: string | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + filaments?: Prisma.FilamentCreateNestedManyWithoutVendorInput + resins?: Prisma.ResinCreateNestedManyWithoutVendorInput + paints?: Prisma.PaintCreateNestedManyWithoutVendorInput +} + +export type VendorUncheckedCreateWithoutUserInput = { + id?: string + name: string + website?: string | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutVendorInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutVendorInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutVendorInput +} + +export type VendorCreateOrConnectWithoutUserInput = { + where: Prisma.VendorWhereUniqueInput + create: Prisma.XOR +} + +export type VendorCreateManyUserInputEnvelope = { + data: Prisma.VendorCreateManyUserInput | Prisma.VendorCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type VendorUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.VendorWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type VendorUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.VendorWhereUniqueInput + data: Prisma.XOR +} + +export type VendorUpdateManyWithWhereWithoutUserInput = { + where: Prisma.VendorScalarWhereInput + data: Prisma.XOR +} + +export type VendorScalarWhereInput = { + AND?: Prisma.VendorScalarWhereInput | Prisma.VendorScalarWhereInput[] + OR?: Prisma.VendorScalarWhereInput[] + NOT?: Prisma.VendorScalarWhereInput | Prisma.VendorScalarWhereInput[] + id?: Prisma.StringFilter<"Vendor"> | string + name?: Prisma.StringFilter<"Vendor"> | string + website?: Prisma.StringNullableFilter<"Vendor"> | string | null + notes?: Prisma.StringNullableFilter<"Vendor"> | string | null + archived?: Prisma.BoolFilter<"Vendor"> | boolean + createdAt?: Prisma.DateTimeFilter<"Vendor"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Vendor"> | Date | string + userId?: Prisma.StringFilter<"Vendor"> | string +} + +export type VendorCreateWithoutFilamentsInput = { + id?: string + name: string + website?: string | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutVendorsInput + resins?: Prisma.ResinCreateNestedManyWithoutVendorInput + paints?: Prisma.PaintCreateNestedManyWithoutVendorInput +} + +export type VendorUncheckedCreateWithoutFilamentsInput = { + id?: string + name: string + website?: string | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutVendorInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutVendorInput +} + +export type VendorCreateOrConnectWithoutFilamentsInput = { + where: Prisma.VendorWhereUniqueInput + create: Prisma.XOR +} + +export type VendorUpsertWithoutFilamentsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.VendorWhereInput +} + +export type VendorUpdateToOneWithWhereWithoutFilamentsInput = { + where?: Prisma.VendorWhereInput + data: Prisma.XOR +} + +export type VendorUpdateWithoutFilamentsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutVendorsNestedInput + resins?: Prisma.ResinUpdateManyWithoutVendorNestedInput + paints?: Prisma.PaintUpdateManyWithoutVendorNestedInput +} + +export type VendorUncheckedUpdateWithoutFilamentsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + resins?: Prisma.ResinUncheckedUpdateManyWithoutVendorNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutVendorNestedInput +} + +export type VendorCreateWithoutResinsInput = { + id?: string + name: string + website?: string | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutVendorsInput + filaments?: Prisma.FilamentCreateNestedManyWithoutVendorInput + paints?: Prisma.PaintCreateNestedManyWithoutVendorInput +} + +export type VendorUncheckedCreateWithoutResinsInput = { + id?: string + name: string + website?: string | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutVendorInput + paints?: Prisma.PaintUncheckedCreateNestedManyWithoutVendorInput +} + +export type VendorCreateOrConnectWithoutResinsInput = { + where: Prisma.VendorWhereUniqueInput + create: Prisma.XOR +} + +export type VendorUpsertWithoutResinsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.VendorWhereInput +} + +export type VendorUpdateToOneWithWhereWithoutResinsInput = { + where?: Prisma.VendorWhereInput + data: Prisma.XOR +} + +export type VendorUpdateWithoutResinsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutVendorsNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutVendorNestedInput + paints?: Prisma.PaintUpdateManyWithoutVendorNestedInput +} + +export type VendorUncheckedUpdateWithoutResinsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutVendorNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutVendorNestedInput +} + +export type VendorCreateWithoutPaintsInput = { + id?: string + name: string + website?: string | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutVendorsInput + filaments?: Prisma.FilamentCreateNestedManyWithoutVendorInput + resins?: Prisma.ResinCreateNestedManyWithoutVendorInput +} + +export type VendorUncheckedCreateWithoutPaintsInput = { + id?: string + name: string + website?: string | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string + userId: string + filaments?: Prisma.FilamentUncheckedCreateNestedManyWithoutVendorInput + resins?: Prisma.ResinUncheckedCreateNestedManyWithoutVendorInput +} + +export type VendorCreateOrConnectWithoutPaintsInput = { + where: Prisma.VendorWhereUniqueInput + create: Prisma.XOR +} + +export type VendorUpsertWithoutPaintsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.VendorWhereInput +} + +export type VendorUpdateToOneWithWhereWithoutPaintsInput = { + where?: Prisma.VendorWhereInput + data: Prisma.XOR +} + +export type VendorUpdateWithoutPaintsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutVendorsNestedInput + filaments?: Prisma.FilamentUpdateManyWithoutVendorNestedInput + resins?: Prisma.ResinUpdateManyWithoutVendorNestedInput +} + +export type VendorUncheckedUpdateWithoutPaintsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + userId?: Prisma.StringFieldUpdateOperationsInput | string + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutVendorNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutVendorNestedInput +} + +export type VendorCreateManyUserInput = { + id?: string + name: string + website?: string | null + notes?: string | null + archived?: boolean + createdAt?: Date | string + updatedAt?: Date | string +} + +export type VendorUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + filaments?: Prisma.FilamentUpdateManyWithoutVendorNestedInput + resins?: Prisma.ResinUpdateManyWithoutVendorNestedInput + paints?: Prisma.PaintUpdateManyWithoutVendorNestedInput +} + +export type VendorUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + filaments?: Prisma.FilamentUncheckedUpdateManyWithoutVendorNestedInput + resins?: Prisma.ResinUncheckedUpdateManyWithoutVendorNestedInput + paints?: Prisma.PaintUncheckedUpdateManyWithoutVendorNestedInput +} + +export type VendorUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + website?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + notes?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + +/** + * Count Type VendorCountOutputType + */ + +export type VendorCountOutputType = { + filaments: number + resins: number + paints: number +} + +export type VendorCountOutputTypeSelect = { + filaments?: boolean | VendorCountOutputTypeCountFilamentsArgs + resins?: boolean | VendorCountOutputTypeCountResinsArgs + paints?: boolean | VendorCountOutputTypeCountPaintsArgs +} + +/** + * VendorCountOutputType without action + */ +export type VendorCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the VendorCountOutputType + */ + select?: Prisma.VendorCountOutputTypeSelect | null +} + +/** + * VendorCountOutputType without action + */ +export type VendorCountOutputTypeCountFilamentsArgs = { + where?: Prisma.FilamentWhereInput +} + +/** + * VendorCountOutputType without action + */ +export type VendorCountOutputTypeCountResinsArgs = { + where?: Prisma.ResinWhereInput +} + +/** + * VendorCountOutputType without action + */ +export type VendorCountOutputTypeCountPaintsArgs = { + where?: Prisma.PaintWhereInput +} + + +export type VendorSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + website?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + user?: boolean | Prisma.UserDefaultArgs + filaments?: boolean | Prisma.Vendor$filamentsArgs + resins?: boolean | Prisma.Vendor$resinsArgs + paints?: boolean | Prisma.Vendor$paintsArgs + _count?: boolean | Prisma.VendorCountOutputTypeDefaultArgs +}, ExtArgs["result"]["vendor"]> + +export type VendorSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + website?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["vendor"]> + +export type VendorSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + website?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["vendor"]> + +export type VendorSelectScalar = { + id?: boolean + name?: boolean + website?: boolean + notes?: boolean + archived?: boolean + createdAt?: boolean + updatedAt?: boolean + userId?: boolean +} + +export type VendorOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "website" | "notes" | "archived" | "createdAt" | "updatedAt" | "userId", ExtArgs["result"]["vendor"]> +export type VendorInclude = { + user?: boolean | Prisma.UserDefaultArgs + filaments?: boolean | Prisma.Vendor$filamentsArgs + resins?: boolean | Prisma.Vendor$resinsArgs + paints?: boolean | Prisma.Vendor$paintsArgs + _count?: boolean | Prisma.VendorCountOutputTypeDefaultArgs +} +export type VendorIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} +export type VendorIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} + +export type $VendorPayload = { + name: "Vendor" + objects: { + user: Prisma.$UserPayload + filaments: Prisma.$FilamentPayload[] + resins: Prisma.$ResinPayload[] + paints: Prisma.$PaintPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + website: string | null + notes: string | null + archived: boolean + createdAt: Date + updatedAt: Date + userId: string + }, ExtArgs["result"]["vendor"]> + composites: {} +} + +export type VendorGetPayload = runtime.Types.Result.GetResult + +export type VendorCountArgs = + Omit & { + select?: VendorCountAggregateInputType | true + } + +export interface VendorDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Vendor'], meta: { name: 'Vendor' } } + /** + * Find zero or one Vendor that matches the filter. + * @param {VendorFindUniqueArgs} args - Arguments to find a Vendor + * @example + * // Get one Vendor + * const vendor = await prisma.vendor.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__VendorClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Vendor that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {VendorFindUniqueOrThrowArgs} args - Arguments to find a Vendor + * @example + * // Get one Vendor + * const vendor = await prisma.vendor.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__VendorClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Vendor 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 {VendorFindFirstArgs} args - Arguments to find a Vendor + * @example + * // Get one Vendor + * const vendor = await prisma.vendor.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__VendorClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Vendor 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 {VendorFindFirstOrThrowArgs} args - Arguments to find a Vendor + * @example + * // Get one Vendor + * const vendor = await prisma.vendor.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__VendorClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Vendors 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 {VendorFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Vendors + * const vendors = await prisma.vendor.findMany() + * + * // Get first 10 Vendors + * const vendors = await prisma.vendor.findMany({ take: 10 }) + * + * // Only select the `id` + * const vendorWithIdOnly = await prisma.vendor.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Vendor. + * @param {VendorCreateArgs} args - Arguments to create a Vendor. + * @example + * // Create one Vendor + * const Vendor = await prisma.vendor.create({ + * data: { + * // ... data to create a Vendor + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__VendorClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Vendors. + * @param {VendorCreateManyArgs} args - Arguments to create many Vendors. + * @example + * // Create many Vendors + * const vendor = await prisma.vendor.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Vendors and returns the data saved in the database. + * @param {VendorCreateManyAndReturnArgs} args - Arguments to create many Vendors. + * @example + * // Create many Vendors + * const vendor = await prisma.vendor.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Vendors and only return the `id` + * const vendorWithIdOnly = await prisma.vendor.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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Vendor. + * @param {VendorDeleteArgs} args - Arguments to delete one Vendor. + * @example + * // Delete one Vendor + * const Vendor = await prisma.vendor.delete({ + * where: { + * // ... filter to delete one Vendor + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__VendorClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Vendor. + * @param {VendorUpdateArgs} args - Arguments to update one Vendor. + * @example + * // Update one Vendor + * const vendor = await prisma.vendor.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__VendorClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Vendors. + * @param {VendorDeleteManyArgs} args - Arguments to filter Vendors to delete. + * @example + * // Delete a few Vendors + * const { count } = await prisma.vendor.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Vendors. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VendorUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Vendors + * const vendor = await prisma.vendor.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Vendors and returns the data updated in the database. + * @param {VendorUpdateManyAndReturnArgs} args - Arguments to update many Vendors. + * @example + * // Update many Vendors + * const vendor = await prisma.vendor.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Vendors and only return the `id` + * const vendorWithIdOnly = await prisma.vendor.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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Vendor. + * @param {VendorUpsertArgs} args - Arguments to update or create a Vendor. + * @example + * // Update or create a Vendor + * const vendor = await prisma.vendor.upsert({ + * create: { + * // ... data to create a Vendor + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Vendor we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__VendorClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Vendors. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VendorCountArgs} args - Arguments to filter Vendors to count. + * @example + * // Count the number of Vendors + * const count = await prisma.vendor.count({ + * where: { + * // ... the filter for the Vendors we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Vendor. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VendorAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Vendor. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VendorGroupByArgs} 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 VendorGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: VendorGroupByArgs['orderBy'] } + : { orderBy?: VendorGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetVendorGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Vendor model + */ +readonly fields: VendorFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Vendor. + * 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__VendorClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + filaments = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + resins = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + paints = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Vendor model + */ +export interface VendorFieldRefs { + readonly id: Prisma.FieldRef<"Vendor", 'String'> + readonly name: Prisma.FieldRef<"Vendor", 'String'> + readonly website: Prisma.FieldRef<"Vendor", 'String'> + readonly notes: Prisma.FieldRef<"Vendor", 'String'> + readonly archived: Prisma.FieldRef<"Vendor", 'Boolean'> + readonly createdAt: Prisma.FieldRef<"Vendor", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Vendor", 'DateTime'> + readonly userId: Prisma.FieldRef<"Vendor", 'String'> +} + + +// Custom InputTypes +/** + * Vendor findUnique + */ +export type VendorFindUniqueArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null + /** + * Filter, which Vendor to fetch. + */ + where: Prisma.VendorWhereUniqueInput +} + +/** + * Vendor findUniqueOrThrow + */ +export type VendorFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null + /** + * Filter, which Vendor to fetch. + */ + where: Prisma.VendorWhereUniqueInput +} + +/** + * Vendor findFirst + */ +export type VendorFindFirstArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null + /** + * Filter, which Vendor to fetch. + */ + where?: Prisma.VendorWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Vendors to fetch. + */ + orderBy?: Prisma.VendorOrderByWithRelationInput | Prisma.VendorOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Vendors. + */ + cursor?: Prisma.VendorWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Vendors 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` Vendors. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Vendors. + */ + distinct?: Prisma.VendorScalarFieldEnum | Prisma.VendorScalarFieldEnum[] +} + +/** + * Vendor findFirstOrThrow + */ +export type VendorFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null + /** + * Filter, which Vendor to fetch. + */ + where?: Prisma.VendorWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Vendors to fetch. + */ + orderBy?: Prisma.VendorOrderByWithRelationInput | Prisma.VendorOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Vendors. + */ + cursor?: Prisma.VendorWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Vendors 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` Vendors. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Vendors. + */ + distinct?: Prisma.VendorScalarFieldEnum | Prisma.VendorScalarFieldEnum[] +} + +/** + * Vendor findMany + */ +export type VendorFindManyArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null + /** + * Filter, which Vendors to fetch. + */ + where?: Prisma.VendorWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Vendors to fetch. + */ + orderBy?: Prisma.VendorOrderByWithRelationInput | Prisma.VendorOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Vendors. + */ + cursor?: Prisma.VendorWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Vendors 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` Vendors. + */ + skip?: number + distinct?: Prisma.VendorScalarFieldEnum | Prisma.VendorScalarFieldEnum[] +} + +/** + * Vendor create + */ +export type VendorCreateArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null + /** + * The data needed to create a Vendor. + */ + data: Prisma.XOR +} + +/** + * Vendor createMany + */ +export type VendorCreateManyArgs = { + /** + * The data used to create many Vendors. + */ + data: Prisma.VendorCreateManyInput | Prisma.VendorCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Vendor createManyAndReturn + */ +export type VendorCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * The data used to create many Vendors. + */ + data: Prisma.VendorCreateManyInput | Prisma.VendorCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorIncludeCreateManyAndReturn | null +} + +/** + * Vendor update + */ +export type VendorUpdateArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null + /** + * The data needed to update a Vendor. + */ + data: Prisma.XOR + /** + * Choose, which Vendor to update. + */ + where: Prisma.VendorWhereUniqueInput +} + +/** + * Vendor updateMany + */ +export type VendorUpdateManyArgs = { + /** + * The data used to update Vendors. + */ + data: Prisma.XOR + /** + * Filter which Vendors to update + */ + where?: Prisma.VendorWhereInput + /** + * Limit how many Vendors to update. + */ + limit?: number +} + +/** + * Vendor updateManyAndReturn + */ +export type VendorUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * The data used to update Vendors. + */ + data: Prisma.XOR + /** + * Filter which Vendors to update + */ + where?: Prisma.VendorWhereInput + /** + * Limit how many Vendors to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorIncludeUpdateManyAndReturn | null +} + +/** + * Vendor upsert + */ +export type VendorUpsertArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null + /** + * The filter to search for the Vendor to update in case it exists. + */ + where: Prisma.VendorWhereUniqueInput + /** + * In case the Vendor found by the `where` argument doesn't exist, create a new Vendor with this data. + */ + create: Prisma.XOR + /** + * In case the Vendor was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Vendor delete + */ +export type VendorDeleteArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null + /** + * Filter which Vendor to delete. + */ + where: Prisma.VendorWhereUniqueInput +} + +/** + * Vendor deleteMany + */ +export type VendorDeleteManyArgs = { + /** + * Filter which Vendors to delete + */ + where?: Prisma.VendorWhereInput + /** + * Limit how many Vendors to delete. + */ + limit?: number +} + +/** + * Vendor.filaments + */ +export type Vendor$filamentsArgs = { + /** + * Select specific fields to fetch from the Filament + */ + select?: Prisma.FilamentSelect | null + /** + * Omit specific fields from the Filament + */ + omit?: Prisma.FilamentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.FilamentInclude | null + where?: Prisma.FilamentWhereInput + orderBy?: Prisma.FilamentOrderByWithRelationInput | Prisma.FilamentOrderByWithRelationInput[] + cursor?: Prisma.FilamentWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.FilamentScalarFieldEnum | Prisma.FilamentScalarFieldEnum[] +} + +/** + * Vendor.resins + */ +export type Vendor$resinsArgs = { + /** + * Select specific fields to fetch from the Resin + */ + select?: Prisma.ResinSelect | null + /** + * Omit specific fields from the Resin + */ + omit?: Prisma.ResinOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ResinInclude | null + where?: Prisma.ResinWhereInput + orderBy?: Prisma.ResinOrderByWithRelationInput | Prisma.ResinOrderByWithRelationInput[] + cursor?: Prisma.ResinWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.ResinScalarFieldEnum | Prisma.ResinScalarFieldEnum[] +} + +/** + * Vendor.paints + */ +export type Vendor$paintsArgs = { + /** + * Select specific fields to fetch from the Paint + */ + select?: Prisma.PaintSelect | null + /** + * Omit specific fields from the Paint + */ + omit?: Prisma.PaintOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.PaintInclude | null + where?: Prisma.PaintWhereInput + orderBy?: Prisma.PaintOrderByWithRelationInput | Prisma.PaintOrderByWithRelationInput[] + cursor?: Prisma.PaintWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.PaintScalarFieldEnum | Prisma.PaintScalarFieldEnum[] +} + +/** + * Vendor without action + */ +export type VendorDefaultArgs = { + /** + * Select specific fields to fetch from the Vendor + */ + select?: Prisma.VendorSelect | null + /** + * Omit specific fields from the Vendor + */ + omit?: Prisma.VendorOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.VendorInclude | null +} diff --git a/src/generated/prisma/models/VerificationToken.ts b/src/generated/prisma/models/VerificationToken.ts new file mode 100644 index 0000000..9c279ef --- /dev/null +++ b/src/generated/prisma/models/VerificationToken.ts @@ -0,0 +1,1094 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `VerificationToken` 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" +import type * as Prisma from "../internal/prismaNamespace" + +/** + * Model VerificationToken + * + */ +export type VerificationTokenModel = runtime.Types.Result.DefaultSelection + +export type AggregateVerificationToken = { + _count: VerificationTokenCountAggregateOutputType | null + _min: VerificationTokenMinAggregateOutputType | null + _max: VerificationTokenMaxAggregateOutputType | null +} + +export type VerificationTokenMinAggregateOutputType = { + identifier: string | null + token: string | null + expires: Date | null +} + +export type VerificationTokenMaxAggregateOutputType = { + identifier: string | null + token: string | null + expires: Date | null +} + +export type VerificationTokenCountAggregateOutputType = { + identifier: number + token: number + expires: number + _all: number +} + + +export type VerificationTokenMinAggregateInputType = { + identifier?: true + token?: true + expires?: true +} + +export type VerificationTokenMaxAggregateInputType = { + identifier?: true + token?: true + expires?: true +} + +export type VerificationTokenCountAggregateInputType = { + identifier?: true + token?: true + expires?: true + _all?: true +} + +export type VerificationTokenAggregateArgs = { + /** + * Filter which VerificationToken to aggregate. + */ + where?: Prisma.VerificationTokenWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of VerificationTokens to fetch. + */ + orderBy?: Prisma.VerificationTokenOrderByWithRelationInput | Prisma.VerificationTokenOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.VerificationTokenWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` VerificationTokens 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` VerificationTokens. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned VerificationTokens + **/ + _count?: true | VerificationTokenCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: VerificationTokenMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: VerificationTokenMaxAggregateInputType +} + +export type GetVerificationTokenAggregateType = { + [P in keyof T & keyof AggregateVerificationToken]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type VerificationTokenGroupByArgs = { + where?: Prisma.VerificationTokenWhereInput + orderBy?: Prisma.VerificationTokenOrderByWithAggregationInput | Prisma.VerificationTokenOrderByWithAggregationInput[] + by: Prisma.VerificationTokenScalarFieldEnum[] | Prisma.VerificationTokenScalarFieldEnum + having?: Prisma.VerificationTokenScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: VerificationTokenCountAggregateInputType | true + _min?: VerificationTokenMinAggregateInputType + _max?: VerificationTokenMaxAggregateInputType +} + +export type VerificationTokenGroupByOutputType = { + identifier: string + token: string + expires: Date + _count: VerificationTokenCountAggregateOutputType | null + _min: VerificationTokenMinAggregateOutputType | null + _max: VerificationTokenMaxAggregateOutputType | null +} + +type GetVerificationTokenGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof VerificationTokenGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type VerificationTokenWhereInput = { + AND?: Prisma.VerificationTokenWhereInput | Prisma.VerificationTokenWhereInput[] + OR?: Prisma.VerificationTokenWhereInput[] + NOT?: Prisma.VerificationTokenWhereInput | Prisma.VerificationTokenWhereInput[] + identifier?: Prisma.StringFilter<"VerificationToken"> | string + token?: Prisma.StringFilter<"VerificationToken"> | string + expires?: Prisma.DateTimeFilter<"VerificationToken"> | Date | string +} + +export type VerificationTokenOrderByWithRelationInput = { + identifier?: Prisma.SortOrder + token?: Prisma.SortOrder + expires?: Prisma.SortOrder +} + +export type VerificationTokenWhereUniqueInput = Prisma.AtLeast<{ + identifier_token?: Prisma.VerificationTokenIdentifierTokenCompoundUniqueInput + AND?: Prisma.VerificationTokenWhereInput | Prisma.VerificationTokenWhereInput[] + OR?: Prisma.VerificationTokenWhereInput[] + NOT?: Prisma.VerificationTokenWhereInput | Prisma.VerificationTokenWhereInput[] + identifier?: Prisma.StringFilter<"VerificationToken"> | string + token?: Prisma.StringFilter<"VerificationToken"> | string + expires?: Prisma.DateTimeFilter<"VerificationToken"> | Date | string +}, "identifier_token"> + +export type VerificationTokenOrderByWithAggregationInput = { + identifier?: Prisma.SortOrder + token?: Prisma.SortOrder + expires?: Prisma.SortOrder + _count?: Prisma.VerificationTokenCountOrderByAggregateInput + _max?: Prisma.VerificationTokenMaxOrderByAggregateInput + _min?: Prisma.VerificationTokenMinOrderByAggregateInput +} + +export type VerificationTokenScalarWhereWithAggregatesInput = { + AND?: Prisma.VerificationTokenScalarWhereWithAggregatesInput | Prisma.VerificationTokenScalarWhereWithAggregatesInput[] + OR?: Prisma.VerificationTokenScalarWhereWithAggregatesInput[] + NOT?: Prisma.VerificationTokenScalarWhereWithAggregatesInput | Prisma.VerificationTokenScalarWhereWithAggregatesInput[] + identifier?: Prisma.StringWithAggregatesFilter<"VerificationToken"> | string + token?: Prisma.StringWithAggregatesFilter<"VerificationToken"> | string + expires?: Prisma.DateTimeWithAggregatesFilter<"VerificationToken"> | Date | string +} + +export type VerificationTokenCreateInput = { + identifier: string + token: string + expires: Date | string +} + +export type VerificationTokenUncheckedCreateInput = { + identifier: string + token: string + expires: Date | string +} + +export type VerificationTokenUpdateInput = { + identifier?: Prisma.StringFieldUpdateOperationsInput | string + token?: Prisma.StringFieldUpdateOperationsInput | string + expires?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type VerificationTokenUncheckedUpdateInput = { + identifier?: Prisma.StringFieldUpdateOperationsInput | string + token?: Prisma.StringFieldUpdateOperationsInput | string + expires?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type VerificationTokenCreateManyInput = { + identifier: string + token: string + expires: Date | string +} + +export type VerificationTokenUpdateManyMutationInput = { + identifier?: Prisma.StringFieldUpdateOperationsInput | string + token?: Prisma.StringFieldUpdateOperationsInput | string + expires?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type VerificationTokenUncheckedUpdateManyInput = { + identifier?: Prisma.StringFieldUpdateOperationsInput | string + token?: Prisma.StringFieldUpdateOperationsInput | string + expires?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type VerificationTokenIdentifierTokenCompoundUniqueInput = { + identifier: string + token: string +} + +export type VerificationTokenCountOrderByAggregateInput = { + identifier?: Prisma.SortOrder + token?: Prisma.SortOrder + expires?: Prisma.SortOrder +} + +export type VerificationTokenMaxOrderByAggregateInput = { + identifier?: Prisma.SortOrder + token?: Prisma.SortOrder + expires?: Prisma.SortOrder +} + +export type VerificationTokenMinOrderByAggregateInput = { + identifier?: Prisma.SortOrder + token?: Prisma.SortOrder + expires?: Prisma.SortOrder +} + + + +export type VerificationTokenSelect = runtime.Types.Extensions.GetSelect<{ + identifier?: boolean + token?: boolean + expires?: boolean +}, ExtArgs["result"]["verificationToken"]> + +export type VerificationTokenSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + identifier?: boolean + token?: boolean + expires?: boolean +}, ExtArgs["result"]["verificationToken"]> + +export type VerificationTokenSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + identifier?: boolean + token?: boolean + expires?: boolean +}, ExtArgs["result"]["verificationToken"]> + +export type VerificationTokenSelectScalar = { + identifier?: boolean + token?: boolean + expires?: boolean +} + +export type VerificationTokenOmit = runtime.Types.Extensions.GetOmit<"identifier" | "token" | "expires", ExtArgs["result"]["verificationToken"]> + +export type $VerificationTokenPayload = { + name: "VerificationToken" + objects: {} + scalars: runtime.Types.Extensions.GetPayloadResult<{ + identifier: string + token: string + expires: Date + }, ExtArgs["result"]["verificationToken"]> + composites: {} +} + +export type VerificationTokenGetPayload = runtime.Types.Result.GetResult + +export type VerificationTokenCountArgs = + Omit & { + select?: VerificationTokenCountAggregateInputType | true + } + +export interface VerificationTokenDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['VerificationToken'], meta: { name: 'VerificationToken' } } + /** + * Find zero or one VerificationToken that matches the filter. + * @param {VerificationTokenFindUniqueArgs} args - Arguments to find a VerificationToken + * @example + * // Get one VerificationToken + * const verificationToken = await prisma.verificationToken.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__VerificationTokenClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one VerificationToken that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {VerificationTokenFindUniqueOrThrowArgs} args - Arguments to find a VerificationToken + * @example + * // Get one VerificationToken + * const verificationToken = await prisma.verificationToken.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__VerificationTokenClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first VerificationToken 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 {VerificationTokenFindFirstArgs} args - Arguments to find a VerificationToken + * @example + * // Get one VerificationToken + * const verificationToken = await prisma.verificationToken.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__VerificationTokenClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first VerificationToken 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 {VerificationTokenFindFirstOrThrowArgs} args - Arguments to find a VerificationToken + * @example + * // Get one VerificationToken + * const verificationToken = await prisma.verificationToken.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__VerificationTokenClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more VerificationTokens 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 {VerificationTokenFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all VerificationTokens + * const verificationTokens = await prisma.verificationToken.findMany() + * + * // Get first 10 VerificationTokens + * const verificationTokens = await prisma.verificationToken.findMany({ take: 10 }) + * + * // Only select the `identifier` + * const verificationTokenWithIdentifierOnly = await prisma.verificationToken.findMany({ select: { identifier: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a VerificationToken. + * @param {VerificationTokenCreateArgs} args - Arguments to create a VerificationToken. + * @example + * // Create one VerificationToken + * const VerificationToken = await prisma.verificationToken.create({ + * data: { + * // ... data to create a VerificationToken + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__VerificationTokenClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many VerificationTokens. + * @param {VerificationTokenCreateManyArgs} args - Arguments to create many VerificationTokens. + * @example + * // Create many VerificationTokens + * const verificationToken = await prisma.verificationToken.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many VerificationTokens and returns the data saved in the database. + * @param {VerificationTokenCreateManyAndReturnArgs} args - Arguments to create many VerificationTokens. + * @example + * // Create many VerificationTokens + * const verificationToken = await prisma.verificationToken.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many VerificationTokens and only return the `identifier` + * const verificationTokenWithIdentifierOnly = await prisma.verificationToken.createManyAndReturn({ + * select: { identifier: 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?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a VerificationToken. + * @param {VerificationTokenDeleteArgs} args - Arguments to delete one VerificationToken. + * @example + * // Delete one VerificationToken + * const VerificationToken = await prisma.verificationToken.delete({ + * where: { + * // ... filter to delete one VerificationToken + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__VerificationTokenClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one VerificationToken. + * @param {VerificationTokenUpdateArgs} args - Arguments to update one VerificationToken. + * @example + * // Update one VerificationToken + * const verificationToken = await prisma.verificationToken.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__VerificationTokenClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more VerificationTokens. + * @param {VerificationTokenDeleteManyArgs} args - Arguments to filter VerificationTokens to delete. + * @example + * // Delete a few VerificationTokens + * const { count } = await prisma.verificationToken.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more VerificationTokens. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VerificationTokenUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many VerificationTokens + * const verificationToken = await prisma.verificationToken.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more VerificationTokens and returns the data updated in the database. + * @param {VerificationTokenUpdateManyAndReturnArgs} args - Arguments to update many VerificationTokens. + * @example + * // Update many VerificationTokens + * const verificationToken = await prisma.verificationToken.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more VerificationTokens and only return the `identifier` + * const verificationTokenWithIdentifierOnly = await prisma.verificationToken.updateManyAndReturn({ + * select: { identifier: 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: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one VerificationToken. + * @param {VerificationTokenUpsertArgs} args - Arguments to update or create a VerificationToken. + * @example + * // Update or create a VerificationToken + * const verificationToken = await prisma.verificationToken.upsert({ + * create: { + * // ... data to create a VerificationToken + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the VerificationToken we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__VerificationTokenClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of VerificationTokens. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VerificationTokenCountArgs} args - Arguments to filter VerificationTokens to count. + * @example + * // Count the number of VerificationTokens + * const count = await prisma.verificationToken.count({ + * where: { + * // ... the filter for the VerificationTokens we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a VerificationToken. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VerificationTokenAggregateArgs} 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: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by VerificationToken. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {VerificationTokenGroupByArgs} 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 VerificationTokenGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: VerificationTokenGroupByArgs['orderBy'] } + : { orderBy?: VerificationTokenGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.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 Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetVerificationTokenGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the VerificationToken model + */ +readonly fields: VerificationTokenFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for VerificationToken. + * 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__VerificationTokenClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + /** + * 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): runtime.Types.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): runtime.Types.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): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the VerificationToken model + */ +export interface VerificationTokenFieldRefs { + readonly identifier: Prisma.FieldRef<"VerificationToken", 'String'> + readonly token: Prisma.FieldRef<"VerificationToken", 'String'> + readonly expires: Prisma.FieldRef<"VerificationToken", 'DateTime'> +} + + +// Custom InputTypes +/** + * VerificationToken findUnique + */ +export type VerificationTokenFindUniqueArgs = { + /** + * Select specific fields to fetch from the VerificationToken + */ + select?: Prisma.VerificationTokenSelect | null + /** + * Omit specific fields from the VerificationToken + */ + omit?: Prisma.VerificationTokenOmit | null + /** + * Filter, which VerificationToken to fetch. + */ + where: Prisma.VerificationTokenWhereUniqueInput +} + +/** + * VerificationToken findUniqueOrThrow + */ +export type VerificationTokenFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the VerificationToken + */ + select?: Prisma.VerificationTokenSelect | null + /** + * Omit specific fields from the VerificationToken + */ + omit?: Prisma.VerificationTokenOmit | null + /** + * Filter, which VerificationToken to fetch. + */ + where: Prisma.VerificationTokenWhereUniqueInput +} + +/** + * VerificationToken findFirst + */ +export type VerificationTokenFindFirstArgs = { + /** + * Select specific fields to fetch from the VerificationToken + */ + select?: Prisma.VerificationTokenSelect | null + /** + * Omit specific fields from the VerificationToken + */ + omit?: Prisma.VerificationTokenOmit | null + /** + * Filter, which VerificationToken to fetch. + */ + where?: Prisma.VerificationTokenWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of VerificationTokens to fetch. + */ + orderBy?: Prisma.VerificationTokenOrderByWithRelationInput | Prisma.VerificationTokenOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for VerificationTokens. + */ + cursor?: Prisma.VerificationTokenWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` VerificationTokens 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` VerificationTokens. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of VerificationTokens. + */ + distinct?: Prisma.VerificationTokenScalarFieldEnum | Prisma.VerificationTokenScalarFieldEnum[] +} + +/** + * VerificationToken findFirstOrThrow + */ +export type VerificationTokenFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the VerificationToken + */ + select?: Prisma.VerificationTokenSelect | null + /** + * Omit specific fields from the VerificationToken + */ + omit?: Prisma.VerificationTokenOmit | null + /** + * Filter, which VerificationToken to fetch. + */ + where?: Prisma.VerificationTokenWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of VerificationTokens to fetch. + */ + orderBy?: Prisma.VerificationTokenOrderByWithRelationInput | Prisma.VerificationTokenOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for VerificationTokens. + */ + cursor?: Prisma.VerificationTokenWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` VerificationTokens 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` VerificationTokens. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of VerificationTokens. + */ + distinct?: Prisma.VerificationTokenScalarFieldEnum | Prisma.VerificationTokenScalarFieldEnum[] +} + +/** + * VerificationToken findMany + */ +export type VerificationTokenFindManyArgs = { + /** + * Select specific fields to fetch from the VerificationToken + */ + select?: Prisma.VerificationTokenSelect | null + /** + * Omit specific fields from the VerificationToken + */ + omit?: Prisma.VerificationTokenOmit | null + /** + * Filter, which VerificationTokens to fetch. + */ + where?: Prisma.VerificationTokenWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of VerificationTokens to fetch. + */ + orderBy?: Prisma.VerificationTokenOrderByWithRelationInput | Prisma.VerificationTokenOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing VerificationTokens. + */ + cursor?: Prisma.VerificationTokenWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` VerificationTokens 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` VerificationTokens. + */ + skip?: number + distinct?: Prisma.VerificationTokenScalarFieldEnum | Prisma.VerificationTokenScalarFieldEnum[] +} + +/** + * VerificationToken create + */ +export type VerificationTokenCreateArgs = { + /** + * Select specific fields to fetch from the VerificationToken + */ + select?: Prisma.VerificationTokenSelect | null + /** + * Omit specific fields from the VerificationToken + */ + omit?: Prisma.VerificationTokenOmit | null + /** + * The data needed to create a VerificationToken. + */ + data: Prisma.XOR +} + +/** + * VerificationToken createMany + */ +export type VerificationTokenCreateManyArgs = { + /** + * The data used to create many VerificationTokens. + */ + data: Prisma.VerificationTokenCreateManyInput | Prisma.VerificationTokenCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * VerificationToken createManyAndReturn + */ +export type VerificationTokenCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the VerificationToken + */ + select?: Prisma.VerificationTokenSelectCreateManyAndReturn | null + /** + * Omit specific fields from the VerificationToken + */ + omit?: Prisma.VerificationTokenOmit | null + /** + * The data used to create many VerificationTokens. + */ + data: Prisma.VerificationTokenCreateManyInput | Prisma.VerificationTokenCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * VerificationToken update + */ +export type VerificationTokenUpdateArgs = { + /** + * Select specific fields to fetch from the VerificationToken + */ + select?: Prisma.VerificationTokenSelect | null + /** + * Omit specific fields from the VerificationToken + */ + omit?: Prisma.VerificationTokenOmit | null + /** + * The data needed to update a VerificationToken. + */ + data: Prisma.XOR + /** + * Choose, which VerificationToken to update. + */ + where: Prisma.VerificationTokenWhereUniqueInput +} + +/** + * VerificationToken updateMany + */ +export type VerificationTokenUpdateManyArgs = { + /** + * The data used to update VerificationTokens. + */ + data: Prisma.XOR + /** + * Filter which VerificationTokens to update + */ + where?: Prisma.VerificationTokenWhereInput + /** + * Limit how many VerificationTokens to update. + */ + limit?: number +} + +/** + * VerificationToken updateManyAndReturn + */ +export type VerificationTokenUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the VerificationToken + */ + select?: Prisma.VerificationTokenSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the VerificationToken + */ + omit?: Prisma.VerificationTokenOmit | null + /** + * The data used to update VerificationTokens. + */ + data: Prisma.XOR + /** + * Filter which VerificationTokens to update + */ + where?: Prisma.VerificationTokenWhereInput + /** + * Limit how many VerificationTokens to update. + */ + limit?: number +} + +/** + * VerificationToken upsert + */ +export type VerificationTokenUpsertArgs = { + /** + * Select specific fields to fetch from the VerificationToken + */ + select?: Prisma.VerificationTokenSelect | null + /** + * Omit specific fields from the VerificationToken + */ + omit?: Prisma.VerificationTokenOmit | null + /** + * The filter to search for the VerificationToken to update in case it exists. + */ + where: Prisma.VerificationTokenWhereUniqueInput + /** + * In case the VerificationToken found by the `where` argument doesn't exist, create a new VerificationToken with this data. + */ + create: Prisma.XOR + /** + * In case the VerificationToken was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * VerificationToken delete + */ +export type VerificationTokenDeleteArgs = { + /** + * Select specific fields to fetch from the VerificationToken + */ + select?: Prisma.VerificationTokenSelect | null + /** + * Omit specific fields from the VerificationToken + */ + omit?: Prisma.VerificationTokenOmit | null + /** + * Filter which VerificationToken to delete. + */ + where: Prisma.VerificationTokenWhereUniqueInput +} + +/** + * VerificationToken deleteMany + */ +export type VerificationTokenDeleteManyArgs = { + /** + * Filter which VerificationTokens to delete + */ + where?: Prisma.VerificationTokenWhereInput + /** + * Limit how many VerificationTokens to delete. + */ + limit?: number +} + +/** + * VerificationToken without action + */ +export type VerificationTokenDefaultArgs = { + /** + * Select specific fields to fetch from the VerificationToken + */ + select?: Prisma.VerificationTokenSelect | null + /** + * Omit specific fields from the VerificationToken + */ + omit?: Prisma.VerificationTokenOmit | null +}