;
+
+
+ /**
+ * 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.foodCategory`: Exposes CRUD operations for the **FoodCategory** model.
+ * Example usage:
+ * ```ts
+ * // Fetch zero or more FoodCategories
+ * const foodCategories = await prisma.foodCategory.findMany()
+ * ```
+ */
+ get foodCategory(): Prisma.FoodCategoryDelegate;
+
+ /**
+ * `prisma.userFavorCategory`: Exposes CRUD operations for the **UserFavorCategory** model.
+ * Example usage:
+ * ```ts
+ * // Fetch zero or more UserFavorCategories
+ * const userFavorCategories = await prisma.userFavorCategory.findMany()
+ * ```
+ */
+ get userFavorCategory(): Prisma.UserFavorCategoryDelegate;
+
+ /**
+ * `prisma.store`: Exposes CRUD operations for the **Store** model.
+ * Example usage:
+ * ```ts
+ * // Fetch zero or more Stores
+ * const stores = await prisma.store.findMany()
+ * ```
+ */
+ get store(): Prisma.StoreDelegate;
+
+ /**
+ * `prisma.userStoreReview`: Exposes CRUD operations for the **UserStoreReview** model.
+ * Example usage:
+ * ```ts
+ * // Fetch zero or more UserStoreReviews
+ * const userStoreReviews = await prisma.userStoreReview.findMany()
+ * ```
+ */
+ get userStoreReview(): Prisma.UserStoreReviewDelegate;
+
+ /**
+ * `prisma.mission`: Exposes CRUD operations for the **Mission** model.
+ * Example usage:
+ * ```ts
+ * // Fetch zero or more Missions
+ * const missions = await prisma.mission.findMany()
+ * ```
+ */
+ get mission(): Prisma.MissionDelegate;
+
+ /**
+ * `prisma.userMission`: Exposes CRUD operations for the **UserMission** model.
+ * Example usage:
+ * ```ts
+ * // Fetch zero or more UserMissions
+ * const userMissions = await prisma.userMission.findMany()
+ * ```
+ */
+ get userMission(): Prisma.UserMissionDelegate;
+}
+
+export function getPrismaClientClass(dirname: string): PrismaClientConstructor {
+ config.dirname = dirname
+ return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor
+}
diff --git a/generated/prisma/internal/prismaNamespace.js b/generated/prisma/internal/prismaNamespace.js
new file mode 100644
index 0000000..59d1d14
--- /dev/null
+++ b/generated/prisma/internal/prismaNamespace.js
@@ -0,0 +1,162 @@
+/* !!! 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/library";
+/**
+ * Prisma Errors
+ */
+export const PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError;
+export const PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError;
+export const PrismaClientRustPanicError = runtime.PrismaClientRustPanicError;
+export const PrismaClientInitializationError = runtime.PrismaClientInitializationError;
+export const 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;
+/**
+ * Decimal.js
+ */
+export const Decimal = runtime.Decimal;
+export const getExtensionContext = runtime.Extensions.getExtensionContext;
+/**
+ * Prisma Client JS version: 6.19.3
+ * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7
+ */
+export const prismaVersion = {
+ client: "6.19.3",
+ engine: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7"
+};
+export const NullTypes = {
+ DbNull: runtime.objectEnumValues.classes.DbNull,
+ JsonNull: runtime.objectEnumValues.classes.JsonNull,
+ AnyNull: runtime.objectEnumValues.classes.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.objectEnumValues.instances.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.objectEnumValues.instances.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.objectEnumValues.instances.AnyNull;
+export const ModelName = {
+ User: 'User',
+ FoodCategory: 'FoodCategory',
+ UserFavorCategory: 'UserFavorCategory',
+ Store: 'Store',
+ UserStoreReview: 'UserStoreReview',
+ Mission: 'Mission',
+ UserMission: 'UserMission'
+};
+/**
+ * Enums
+ */
+export const TransactionIsolationLevel = runtime.makeStrictEnum({
+ ReadUncommitted: 'ReadUncommitted',
+ ReadCommitted: 'ReadCommitted',
+ RepeatableRead: 'RepeatableRead',
+ Serializable: 'Serializable'
+});
+export const UserScalarFieldEnum = {
+ id: 'id',
+ email: 'email',
+ name: 'name',
+ gender: 'gender',
+ birth: 'birth',
+ address: 'address',
+ detailAddress: 'detailAddress',
+ phoneNumber: 'phoneNumber'
+};
+export const FoodCategoryScalarFieldEnum = {
+ id: 'id',
+ name: 'name'
+};
+export const UserFavorCategoryScalarFieldEnum = {
+ id: 'id',
+ userId: 'userId',
+ foodCategoryId: 'foodCategoryId'
+};
+export const StoreScalarFieldEnum = {
+ id: 'id',
+ name: 'name'
+};
+export const UserStoreReviewScalarFieldEnum = {
+ id: 'id',
+ content: 'content',
+ rating: 'rating',
+ createdAt: 'createdAt',
+ storeId: 'storeId',
+ userId: 'userId'
+};
+export const MissionScalarFieldEnum = {
+ id: 'id',
+ storeId: 'storeId',
+ conditionText: 'conditionText',
+ rewardPoint: 'rewardPoint'
+};
+export const UserMissionScalarFieldEnum = {
+ id: 'id',
+ userId: 'userId',
+ missionId: 'missionId',
+ status: 'status'
+};
+export const SortOrder = {
+ asc: 'asc',
+ desc: 'desc'
+};
+export const NullsOrder = {
+ first: 'first',
+ last: 'last'
+};
+export const UserOrderByRelevanceFieldEnum = {
+ email: 'email',
+ name: 'name',
+ gender: 'gender',
+ address: 'address',
+ detailAddress: 'detailAddress',
+ phoneNumber: 'phoneNumber'
+};
+export const FoodCategoryOrderByRelevanceFieldEnum = {
+ name: 'name'
+};
+export const StoreOrderByRelevanceFieldEnum = {
+ name: 'name'
+};
+export const UserStoreReviewOrderByRelevanceFieldEnum = {
+ content: 'content'
+};
+export const MissionOrderByRelevanceFieldEnum = {
+ conditionText: 'conditionText'
+};
+export const UserMissionOrderByRelevanceFieldEnum = {
+ status: 'status'
+};
+export const defineExtension = runtime.Extensions.defineExtension;
+//# sourceMappingURL=prismaNamespace.js.map
\ No newline at end of file
diff --git a/generated/prisma/internal/prismaNamespace.js.map b/generated/prisma/internal/prismaNamespace.js.map
new file mode 100644
index 0000000..81f247c
--- /dev/null
+++ b/generated/prisma/internal/prismaNamespace.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"prismaNamespace.js","sourceRoot":"","sources":["../../../../src/generated/prisma/internal/prismaNamespace.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/generated/prisma/internal/prismaNamespace.ts b/generated/prisma/internal/prismaNamespace.ts
new file mode 100644
index 0000000..7d7eba3
--- /dev/null
+++ b/generated/prisma/internal/prismaNamespace.ts
@@ -0,0 +1,1243 @@
+
+/* !!! 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/library"
+import type * as Prisma from "../models.js"
+import { type PrismaClient } from "./class.js"
+
+export type * from '../models.js'
+
+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
+
+/**
+ * Metrics
+ */
+export type Metrics = runtime.Metrics
+export type Metric = runtime.Metric
+export type MetricHistogram = runtime.MetricHistogram
+export type MetricHistogramBucket = runtime.MetricHistogramBucket
+
+/**
+* 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: 6.19.3
+ * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7
+ */
+export const prismaVersion: PrismaVersion = {
+ client: "6.19.3",
+ engine: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7"
+}
+
+/**
+ * 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.objectEnumValues.classes.DbNull as (new (secret: never) => typeof runtime.objectEnumValues.instances.DbNull),
+ JsonNull: runtime.objectEnumValues.classes.JsonNull as (new (secret: never) => typeof runtime.objectEnumValues.instances.JsonNull),
+ AnyNull: runtime.objectEnumValues.classes.AnyNull as (new (secret: never) => typeof runtime.objectEnumValues.instances.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.objectEnumValues.instances.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.objectEnumValues.instances.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.objectEnumValues.instances.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',
+ FoodCategory: 'FoodCategory',
+ UserFavorCategory: 'UserFavorCategory',
+ Store: 'Store',
+ UserStoreReview: 'UserStoreReview',
+ Mission: 'Mission',
+ UserMission: 'UserMission'
+} 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" | "foodCategory" | "userFavorCategory" | "store" | "userStoreReview" | "mission" | "userMission"
+ 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
+ }
+ 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
+ }
+ 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
+ }
+ }
+ }
+ FoodCategory: {
+ payload: Prisma.$FoodCategoryPayload
+ fields: Prisma.FoodCategoryFieldRefs
+ operations: {
+ findUnique: {
+ args: Prisma.FoodCategoryFindUniqueArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findUniqueOrThrow: {
+ args: Prisma.FoodCategoryFindUniqueOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findFirst: {
+ args: Prisma.FoodCategoryFindFirstArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findFirstOrThrow: {
+ args: Prisma.FoodCategoryFindFirstOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findMany: {
+ args: Prisma.FoodCategoryFindManyArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ create: {
+ args: Prisma.FoodCategoryCreateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ createMany: {
+ args: Prisma.FoodCategoryCreateManyArgs
+ result: BatchPayload
+ }
+ delete: {
+ args: Prisma.FoodCategoryDeleteArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ update: {
+ args: Prisma.FoodCategoryUpdateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ deleteMany: {
+ args: Prisma.FoodCategoryDeleteManyArgs
+ result: BatchPayload
+ }
+ updateMany: {
+ args: Prisma.FoodCategoryUpdateManyArgs
+ result: BatchPayload
+ }
+ upsert: {
+ args: Prisma.FoodCategoryUpsertArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ aggregate: {
+ args: Prisma.FoodCategoryAggregateArgs
+ result: runtime.Types.Utils.Optional
+ }
+ groupBy: {
+ args: Prisma.FoodCategoryGroupByArgs
+ result: runtime.Types.Utils.Optional[]
+ }
+ count: {
+ args: Prisma.FoodCategoryCountArgs
+ result: runtime.Types.Utils.Optional | number
+ }
+ }
+ }
+ UserFavorCategory: {
+ payload: Prisma.$UserFavorCategoryPayload
+ fields: Prisma.UserFavorCategoryFieldRefs
+ operations: {
+ findUnique: {
+ args: Prisma.UserFavorCategoryFindUniqueArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findUniqueOrThrow: {
+ args: Prisma.UserFavorCategoryFindUniqueOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findFirst: {
+ args: Prisma.UserFavorCategoryFindFirstArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findFirstOrThrow: {
+ args: Prisma.UserFavorCategoryFindFirstOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findMany: {
+ args: Prisma.UserFavorCategoryFindManyArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ create: {
+ args: Prisma.UserFavorCategoryCreateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ createMany: {
+ args: Prisma.UserFavorCategoryCreateManyArgs
+ result: BatchPayload
+ }
+ delete: {
+ args: Prisma.UserFavorCategoryDeleteArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ update: {
+ args: Prisma.UserFavorCategoryUpdateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ deleteMany: {
+ args: Prisma.UserFavorCategoryDeleteManyArgs
+ result: BatchPayload
+ }
+ updateMany: {
+ args: Prisma.UserFavorCategoryUpdateManyArgs
+ result: BatchPayload
+ }
+ upsert: {
+ args: Prisma.UserFavorCategoryUpsertArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ aggregate: {
+ args: Prisma.UserFavorCategoryAggregateArgs
+ result: runtime.Types.Utils.Optional
+ }
+ groupBy: {
+ args: Prisma.UserFavorCategoryGroupByArgs
+ result: runtime.Types.Utils.Optional[]
+ }
+ count: {
+ args: Prisma.UserFavorCategoryCountArgs
+ result: runtime.Types.Utils.Optional | number
+ }
+ }
+ }
+ Store: {
+ payload: Prisma.$StorePayload
+ fields: Prisma.StoreFieldRefs
+ operations: {
+ findUnique: {
+ args: Prisma.StoreFindUniqueArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findUniqueOrThrow: {
+ args: Prisma.StoreFindUniqueOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findFirst: {
+ args: Prisma.StoreFindFirstArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findFirstOrThrow: {
+ args: Prisma.StoreFindFirstOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findMany: {
+ args: Prisma.StoreFindManyArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ create: {
+ args: Prisma.StoreCreateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ createMany: {
+ args: Prisma.StoreCreateManyArgs
+ result: BatchPayload
+ }
+ delete: {
+ args: Prisma.StoreDeleteArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ update: {
+ args: Prisma.StoreUpdateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ deleteMany: {
+ args: Prisma.StoreDeleteManyArgs
+ result: BatchPayload
+ }
+ updateMany: {
+ args: Prisma.StoreUpdateManyArgs
+ result: BatchPayload
+ }
+ upsert: {
+ args: Prisma.StoreUpsertArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ aggregate: {
+ args: Prisma.StoreAggregateArgs
+ result: runtime.Types.Utils.Optional
+ }
+ groupBy: {
+ args: Prisma.StoreGroupByArgs
+ result: runtime.Types.Utils.Optional[]
+ }
+ count: {
+ args: Prisma.StoreCountArgs
+ result: runtime.Types.Utils.Optional | number
+ }
+ }
+ }
+ UserStoreReview: {
+ payload: Prisma.$UserStoreReviewPayload
+ fields: Prisma.UserStoreReviewFieldRefs
+ operations: {
+ findUnique: {
+ args: Prisma.UserStoreReviewFindUniqueArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findUniqueOrThrow: {
+ args: Prisma.UserStoreReviewFindUniqueOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findFirst: {
+ args: Prisma.UserStoreReviewFindFirstArgs
+ result: runtime.Types.Utils.PayloadToResult | null
+ }
+ findFirstOrThrow: {
+ args: Prisma.UserStoreReviewFindFirstOrThrowArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ findMany: {
+ args: Prisma.UserStoreReviewFindManyArgs
+ result: runtime.Types.Utils.PayloadToResult[]
+ }
+ create: {
+ args: Prisma.UserStoreReviewCreateArgs
+ result: runtime.Types.Utils.PayloadToResult
+ }
+ createMany: {
+ args: Prisma.UserStoreReviewCreateManyArgs
+ result: BatchPayload
+ }
+ delete: {
+ args: Prisma.UserStoreReviewDeleteArgs