diff --git a/prisma/schema.prisma b/prisma/schema.prisma index f92c167..07b6e65 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -17,16 +17,25 @@ enum VoiceExperienceStatus { } model Place { - id String @id @default(cuid()) - googlePlaceId String @unique - name String - latitude Float - longitude Float - googlePrimaryType String? - googleTypes String[] @default([]) - experiences VoiceExperience[] - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + id String @id @default(cuid()) + googlePlaceId String @unique + name String + latitude Float + longitude Float + googlePrimaryType String? + googleTypes String[] @default([]) + googleBusinessStatus String? + googleRating Float? + googleUserRatingCount Int? + googleRegularOpeningHours Json? + googleCurrentOpeningHours Json? + googlePhotos Json? + googlePayload Json? + googlePayloadFetchedAt DateTime? + experiences VoiceExperience[] + favoriteUsers UserFavoritePlace[] + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt } model User { @@ -39,10 +48,22 @@ model User { languageCode String? isAdmin Boolean @default(false) voiceExperiences VoiceExperience[] + favoritePlaces UserFavoritePlace[] createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } +model UserFavoritePlace { + id String @id @default(cuid()) + userId String + user User @relation(fields: [userId], references: [id]) + placeId String + place Place @relation(fields: [placeId], references: [id]) + createdAt DateTime @default(now()) + + @@unique([userId, placeId]) +} + model VoiceExperience { id String @id @default(cuid()) placeId String @@ -57,6 +78,8 @@ model VoiceExperience { status VoiceExperienceStatus @default(UPLOADED) transcript String? analysis Json? + recordingPayload Json? + promptHintsShown String[] @default([]) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } diff --git a/src/generated/prisma/edge.js b/src/generated/prisma/edge.js index e3cce58..23bd125 100644 --- a/src/generated/prisma/edge.js +++ b/src/generated/prisma/edge.js @@ -100,6 +100,14 @@ exports.Prisma.PlaceScalarFieldEnum = { longitude: 'longitude', googlePrimaryType: 'googlePrimaryType', googleTypes: 'googleTypes', + googleBusinessStatus: 'googleBusinessStatus', + googleRating: 'googleRating', + googleUserRatingCount: 'googleUserRatingCount', + googleRegularOpeningHours: 'googleRegularOpeningHours', + googleCurrentOpeningHours: 'googleCurrentOpeningHours', + googlePhotos: 'googlePhotos', + googlePayload: 'googlePayload', + googlePayloadFetchedAt: 'googlePayloadFetchedAt', createdAt: 'createdAt', updatedAt: 'updatedAt' }; @@ -117,6 +125,13 @@ exports.Prisma.UserScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.UserFavoritePlaceScalarFieldEnum = { + id: 'id', + userId: 'userId', + placeId: 'placeId', + createdAt: 'createdAt' +}; + exports.Prisma.VoiceExperienceScalarFieldEnum = { id: 'id', placeId: 'placeId', @@ -129,6 +144,8 @@ exports.Prisma.VoiceExperienceScalarFieldEnum = { status: 'status', transcript: 'transcript', analysis: 'analysis', + recordingPayload: 'recordingPayload', + promptHintsShown: 'promptHintsShown', createdAt: 'createdAt', updatedAt: 'updatedAt' }; @@ -148,16 +165,16 @@ exports.Prisma.QueryMode = { insensitive: 'insensitive' }; -exports.Prisma.NullsOrder = { - first: 'first', - last: 'last' -}; - exports.Prisma.JsonNullValueFilter = { DbNull: Prisma.DbNull, JsonNull: Prisma.JsonNull, AnyNull: Prisma.AnyNull }; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; exports.VoiceExperienceStatus = exports.$Enums.VoiceExperienceStatus = { UPLOADED: 'UPLOADED', TRANSCRIBING: 'TRANSCRIBING', @@ -170,6 +187,7 @@ exports.VoiceExperienceStatus = exports.$Enums.VoiceExperienceStatus = { exports.Prisma.ModelName = { Place: 'Place', User: 'User', + UserFavoritePlace: 'UserFavoritePlace', VoiceExperience: 'VoiceExperience' }; /** @@ -180,14 +198,14 @@ const config = { "clientVersion": "7.8.0", "engineVersion": "3c6e192761c0362d496ed980de936e2f3cebcd3a", "activeProvider": "postgresql", - "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nenum VoiceExperienceStatus {\n UPLOADED\n TRANSCRIBING\n TRANSCRIBED\n ANALYZING\n ANALYZED\n FAILED\n}\n\nmodel Place {\n id String @id @default(cuid())\n googlePlaceId String @unique\n name String\n latitude Float\n longitude Float\n googlePrimaryType String?\n googleTypes String[] @default([])\n experiences VoiceExperience[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel User {\n id String @id @default(cuid())\n telegramId String @unique\n username String?\n firstName String?\n lastName String?\n photoUrl String?\n languageCode String?\n isAdmin Boolean @default(false)\n voiceExperiences VoiceExperience[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel VoiceExperience {\n id String @id @default(cuid())\n placeId String\n place Place @relation(fields: [placeId], references: [id])\n userId String?\n user User? @relation(fields: [userId], references: [id])\n durationSeconds Int\n audioObjectKey String\n audioContentBase64 String?\n audioMimeType String?\n audioAccessToken String? @unique\n status VoiceExperienceStatus @default(UPLOADED)\n transcript String?\n analysis Json?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n" + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nenum VoiceExperienceStatus {\n UPLOADED\n TRANSCRIBING\n TRANSCRIBED\n ANALYZING\n ANALYZED\n FAILED\n}\n\nmodel Place {\n id String @id @default(cuid())\n googlePlaceId String @unique\n name String\n latitude Float\n longitude Float\n googlePrimaryType String?\n googleTypes String[] @default([])\n googleBusinessStatus String?\n googleRating Float?\n googleUserRatingCount Int?\n googleRegularOpeningHours Json?\n googleCurrentOpeningHours Json?\n googlePhotos Json?\n googlePayload Json?\n googlePayloadFetchedAt DateTime?\n experiences VoiceExperience[]\n favoriteUsers UserFavoritePlace[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel User {\n id String @id @default(cuid())\n telegramId String @unique\n username String?\n firstName String?\n lastName String?\n photoUrl String?\n languageCode String?\n isAdmin Boolean @default(false)\n voiceExperiences VoiceExperience[]\n favoritePlaces UserFavoritePlace[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel UserFavoritePlace {\n id String @id @default(cuid())\n userId String\n user User @relation(fields: [userId], references: [id])\n placeId String\n place Place @relation(fields: [placeId], references: [id])\n createdAt DateTime @default(now())\n\n @@unique([userId, placeId])\n}\n\nmodel VoiceExperience {\n id String @id @default(cuid())\n placeId String\n place Place @relation(fields: [placeId], references: [id])\n userId String?\n user User? @relation(fields: [userId], references: [id])\n durationSeconds Int\n audioObjectKey String\n audioContentBase64 String?\n audioMimeType String?\n audioAccessToken String? @unique\n status VoiceExperienceStatus @default(UPLOADED)\n transcript String?\n analysis Json?\n recordingPayload Json?\n promptHintsShown String[] @default([])\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n" } -config.runtimeDataModel = JSON.parse("{\"models\":{\"Place\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"googlePlaceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"latitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"longitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"googlePrimaryType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"googleTypes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experiences\",\"kind\":\"object\",\"type\":\"VoiceExperience\",\"relationName\":\"PlaceToVoiceExperience\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"telegramId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"photoUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"languageCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isAdmin\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"voiceExperiences\",\"kind\":\"object\",\"type\":\"VoiceExperience\",\"relationName\":\"UserToVoiceExperience\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"VoiceExperience\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"placeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"place\",\"kind\":\"object\",\"type\":\"Place\",\"relationName\":\"PlaceToVoiceExperience\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToVoiceExperience\"},{\"name\":\"durationSeconds\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"audioObjectKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"audioContentBase64\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"audioMimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"audioAccessToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"VoiceExperienceStatus\"},{\"name\":\"transcript\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"Place\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"googlePlaceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"latitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"longitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"googlePrimaryType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"googleTypes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"googleBusinessStatus\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"googleRating\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"googleUserRatingCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"googleRegularOpeningHours\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"googleCurrentOpeningHours\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"googlePhotos\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"googlePayload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"googlePayloadFetchedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"experiences\",\"kind\":\"object\",\"type\":\"VoiceExperience\",\"relationName\":\"PlaceToVoiceExperience\"},{\"name\":\"favoriteUsers\",\"kind\":\"object\",\"type\":\"UserFavoritePlace\",\"relationName\":\"PlaceToUserFavoritePlace\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"telegramId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"photoUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"languageCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isAdmin\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"voiceExperiences\",\"kind\":\"object\",\"type\":\"VoiceExperience\",\"relationName\":\"UserToVoiceExperience\"},{\"name\":\"favoritePlaces\",\"kind\":\"object\",\"type\":\"UserFavoritePlace\",\"relationName\":\"UserToUserFavoritePlace\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"UserFavoritePlace\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserFavoritePlace\"},{\"name\":\"placeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"place\",\"kind\":\"object\",\"type\":\"Place\",\"relationName\":\"PlaceToUserFavoritePlace\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"VoiceExperience\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"placeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"place\",\"kind\":\"object\",\"type\":\"Place\",\"relationName\":\"PlaceToVoiceExperience\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToVoiceExperience\"},{\"name\":\"durationSeconds\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"audioObjectKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"audioContentBase64\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"audioMimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"audioAccessToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"VoiceExperienceStatus\"},{\"name\":\"transcript\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"recordingPayload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"promptHintsShown\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.parameterizationSchema = { - strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"place\",\"voiceExperiences\",\"_count\",\"user\",\"experiences\",\"Place.findUnique\",\"Place.findUniqueOrThrow\",\"Place.findFirst\",\"Place.findFirstOrThrow\",\"Place.findMany\",\"data\",\"Place.createOne\",\"Place.createMany\",\"Place.createManyAndReturn\",\"Place.updateOne\",\"Place.updateMany\",\"Place.updateManyAndReturn\",\"create\",\"update\",\"Place.upsertOne\",\"Place.deleteOne\",\"Place.deleteMany\",\"having\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"Place.groupBy\",\"Place.aggregate\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"User.groupBy\",\"User.aggregate\",\"VoiceExperience.findUnique\",\"VoiceExperience.findUniqueOrThrow\",\"VoiceExperience.findFirst\",\"VoiceExperience.findFirstOrThrow\",\"VoiceExperience.findMany\",\"VoiceExperience.createOne\",\"VoiceExperience.createMany\",\"VoiceExperience.createManyAndReturn\",\"VoiceExperience.updateOne\",\"VoiceExperience.updateMany\",\"VoiceExperience.updateManyAndReturn\",\"VoiceExperience.upsertOne\",\"VoiceExperience.deleteOne\",\"VoiceExperience.deleteMany\",\"VoiceExperience.groupBy\",\"VoiceExperience.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"placeId\",\"userId\",\"durationSeconds\",\"audioObjectKey\",\"audioContentBase64\",\"audioMimeType\",\"audioAccessToken\",\"VoiceExperienceStatus\",\"status\",\"transcript\",\"analysis\",\"createdAt\",\"updatedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"contains\",\"startsWith\",\"endsWith\",\"telegramId\",\"username\",\"firstName\",\"lastName\",\"photoUrl\",\"languageCode\",\"isAdmin\",\"every\",\"some\",\"none\",\"googlePlaceId\",\"name\",\"latitude\",\"longitude\",\"googlePrimaryType\",\"googleTypes\",\"has\",\"hasEvery\",\"hasSome\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"push\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"), - graph: "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ACFPQABZACFQQABZACFiAQBUACFjAQBVACFkAQBVACFlAQBVACFmAQBVACFnAQBVACFoIABoACEDAAAABwAgAQAANwAwGQAAOAAgAwAAAAcAIAEAACYAMAIAACMAIAEAAAAFACABAAAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgDwMAAIoBACAGAACLAQAgQwEAAAABRAEAAAABRQEAAAABRgIAAAABRwEAAAABSAEAAAABSQEAAAABSgEAAAABTAAAAEwCTQEAAAABToAAAAABT0AAAAABUEAAAAABAQ0AAEAAIA1DAQAAAAFEAQAAAAFFAQAAAAFGAgAAAAFHAQAAAAFIAQAAAAFJAQAAAAFKAQAAAAFMAAAATAJNAQAAAAFOgAAAAAFPQAAAAAFQQAAAAAEBDQAAQgAwAQ0AAEIAMAEAAAAHACAPAwAAiAEAIAYAAIkBACBDAQCDAQAhRAEAgwEAIUUBAIUBACFGAgCEAQAhRwEAgwEAIUgBAIUBACFJAQCFAQAhSgEAhQEAIUwAAIYBTCJNAQCFAQAhToAAAAABT0AAhwEAIVBAAIcBACECAAAABQAgDQAARgAgDUMBAIMBACFEAQCDAQAhRQEAhQEAIUYCAIQBACFHAQCDAQAhSAEAhQEAIUkBAIUBACFKAQCFAQAhTAAAhgFMIk0BAIUBACFOgAAAAAFPQACHAQAhUEAAhwEAIQIAAAADACANAABIACACAAAAAwAgDQAASAAgAQAAAAcAIAMAAAAFACAUAABAACAVAABGACABAAAABQAgAQAAAAMAIAsFAAB-ACAaAAB_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_AACYAQAwDQYAAIsBACBDAQAAAAFFAQAAAAFGAgAAAAFHAQAAAAFIAQAAAAFJAQAAAAFKAQAAAAFMAAAATAJNAQAAAAFOgAAAAAFPQAAAAAFQQAAAAAECAAAABQAgFAAArwEAIAMAAAAFACAUAACvAQAgFQAArgEAIAENAAC0AQAwAgAAAAUAIA0AAK4BACACAAAAmQEAIA0AAK0BACAMQwEAgwEAIUUBAIUBACFGAgCEAQAhRwEAgwEAIUgBAIUBACFJAQCFAQAhSgEAhQEAIUwAAIYBTCJNAQCFAQAhToAAAAABT0AAhwEAIVBAAIcBACENBgAAiQEAIEMBAIMBACFFAQCFAQAhRgIAhAEAIUcBAIMBACFIAQCFAQAhSQEAhQEAIUoBAIUBACFMAACGAUwiTQEAhQEAIU6AAAAAAU9AAIcBACFQQACHAQAhDQYAAIsBACBDAQAAAAFFAQAAAAFGAgAAAAFHAQAAAAFIAQAAAAFJAQAAAAFKAQAAAAFMAAAATAJNAQAAAAFOgAAAAAFPQAAAAAFQQAAAAAEBegEAAAAEBBQAAKcBADB3AACoAQAweQAAqgEAIH0AAJUBADACBwAAngEAIHAAAH0AIAYEAACeAQAgYwAAfQAgZAAAfQAgZQAAfQAgZgAAfQAgZwAAfQAgDEMBAAAAAUUBAAAAAUYCAAAAAUcBAAAAAUgBAAAAAUkBAAAAAUoBAAAAAUwAAABMAk0BAAAAAU6AAAAAAU9AAAAAAVBAAAAAAQxDAQAAAAFEAQAAAAFGAgAAAAFHAQAAAAFIAQAAAAFJAQAAAAFKAQAAAAFMAAAATAJNAQAAAAFOgAAAAAFPQAAAAAFQQAAAAAEKQwEAAAABT0AAAAABUEAAAAABYgEAAAABYwEAAAABZAEAAAABZQEAAAABZgEAAAABZwEAAAABaCAAAAABAgAAACMAIBQAALYBACAJQwEAAAABT0AAAAABUEAAAAABbAEAAAABbQEAAAABbggAAAABbwgAAAABcAEAAAABcQAAsAEAIAIAAAABACAUAAC4AQAgAwAAAAcAIBQAALYBACAVAAC8AQAgDAAAAAcAIA0AALwBACBDAQCDAQAhT0AAhwEAIVBAAIcBACFiAQCDAQAhYwEAhQEAIWQBAIUBACFlAQCFAQAhZgEAhQEAIWcBAIUBACFoIACPAQAhCkMBAIMBACFPQACHAQAhUEAAhwEAIWIBAIMBACFjAQCFAQAhZAEAhQEAIWUBAIUBACFmAQCFAQAhZwEAhQEAIWggAI8BACEDAAAADQAgFAAAuAEAIBUAAL8BACALAAAADQAgDQAAvwEAIEMBAIMBACFPQACHAQAhUEAAhwEAIWwBAIMBACFtAQCDAQAhbggApAEAIW8IAKQBACFwAQCFAQAhcQAApQEAIAlDAQCDAQAhT0AAhwEAIVBAAIcBACFsAQCDAQAhbQEAgwEAIW4IAKQBACFvCACkAQAhcAEAhQEAIXEAAKUBACACBQAFBwYCAgMAAQYIAwIECQIFAAQBBAoAAQcLAAAAAAUFAAoaAAsbAAwcAA0dAA4AAAAAAAUFAAoaAAsbAAwcAA0dAA4AAAMFABMcABQdABUAAAADBQATHAAUHQAVAgMAAQZFAwIDAAEGSwMFBQAaGgAbGwAcHAAdHQAeAAAAAAAFBQAaGgAbGwAcHAAdHQAeCAIBCQwBCg8BCxABDBEBDhMBDxUGEBYHERgBEhoGExsIFhwBFx0BGB4GHiEJHyIPICQDISUDIicDIygDJCkDJSsDJi0GJy4QKDADKTIGKjMRKzQDLDUDLTYGLjkSLzoWMDsCMTwCMj0CMz4CND8CNUECNkMGN0QXOEcCOUkGOkoYO0wCPE0CPU4GPlEZP1If" + strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"place\",\"voiceExperiences\",\"user\",\"favoritePlaces\",\"_count\",\"experiences\",\"favoriteUsers\",\"Place.findUnique\",\"Place.findUniqueOrThrow\",\"Place.findFirst\",\"Place.findFirstOrThrow\",\"Place.findMany\",\"data\",\"Place.createOne\",\"Place.createMany\",\"Place.createManyAndReturn\",\"Place.updateOne\",\"Place.updateMany\",\"Place.updateManyAndReturn\",\"create\",\"update\",\"Place.upsertOne\",\"Place.deleteOne\",\"Place.deleteMany\",\"having\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"Place.groupBy\",\"Place.aggregate\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"User.groupBy\",\"User.aggregate\",\"UserFavoritePlace.findUnique\",\"UserFavoritePlace.findUniqueOrThrow\",\"UserFavoritePlace.findFirst\",\"UserFavoritePlace.findFirstOrThrow\",\"UserFavoritePlace.findMany\",\"UserFavoritePlace.createOne\",\"UserFavoritePlace.createMany\",\"UserFavoritePlace.createManyAndReturn\",\"UserFavoritePlace.updateOne\",\"UserFavoritePlace.updateMany\",\"UserFavoritePlace.updateManyAndReturn\",\"UserFavoritePlace.upsertOne\",\"UserFavoritePlace.deleteOne\",\"UserFavoritePlace.deleteMany\",\"UserFavoritePlace.groupBy\",\"UserFavoritePlace.aggregate\",\"VoiceExperience.findUnique\",\"VoiceExperience.findUniqueOrThrow\",\"VoiceExperience.findFirst\",\"VoiceExperience.findFirstOrThrow\",\"VoiceExperience.findMany\",\"VoiceExperience.createOne\",\"VoiceExperience.createMany\",\"VoiceExperience.createManyAndReturn\",\"VoiceExperience.updateOne\",\"VoiceExperience.updateMany\",\"VoiceExperience.updateManyAndReturn\",\"VoiceExperience.upsertOne\",\"VoiceExperience.deleteOne\",\"VoiceExperience.deleteMany\",\"VoiceExperience.groupBy\",\"VoiceExperience.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"placeId\",\"userId\",\"durationSeconds\",\"audioObjectKey\",\"audioContentBase64\",\"audioMimeType\",\"audioAccessToken\",\"VoiceExperienceStatus\",\"status\",\"transcript\",\"analysis\",\"recordingPayload\",\"promptHintsShown\",\"createdAt\",\"updatedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"has\",\"hasEvery\",\"hasSome\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"contains\",\"startsWith\",\"endsWith\",\"telegramId\",\"username\",\"firstName\",\"lastName\",\"photoUrl\",\"languageCode\",\"isAdmin\",\"every\",\"some\",\"none\",\"googlePlaceId\",\"name\",\"latitude\",\"longitude\",\"googlePrimaryType\",\"googleTypes\",\"googleBusinessStatus\",\"googleRating\",\"googleUserRatingCount\",\"googleRegularOpeningHours\",\"googleCurrentOpeningHours\",\"googlePhotos\",\"googlePayload\",\"googlePayloadFetchedAt\",\"userId_placeId\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\",\"push\"]"), + graph: "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-AQAAAAF_IAAAAAEBDwAAMQAgClUBAAAAAWNAAAAAAWRAAAAAAXkBAAAAAXoBAAAAAXsBAAAAAXwBAAAAAX0BAAAAAX4BAAAAAX8gAAAAAQEPAAAzADABDwAAMwAwDAQAAMYBACAGAADHAQAgVQEAsAEAIWNAALUBACFkQAC1AQAheQEAsAEAIXoBALIBACF7AQCyAQAhfAEAsgEAIX0BALIBACF-AQCyAQAhfyAAxQEAIQIAAAAqACAPAAA2ACAKVQEAsAEAIWNAALUBACFkQAC1AQAheQEAsAEAIXoBALIBACF7AQCyAQAhfAEAsgEAIX0BALIBACF-AQCyAQAhfyAAxQEAIQIAAAAHACAPAAA4ACACAAAABwAgDwAAOAAgAwAAACoAIBYAADEAIBcAADYAIAEAAAAqACABAAAABwAgCAcAAMIBACAeAADEAQAgHwAAwwEAIHoAAKoBACB7AACqAQAgfAAAqgEAIH0AAKoBACB-AACqAQAgDVIAAIYBADBTAAA_ABBUAACGAQAwVQEAcQAhY0AAdwAhZEAAdwAheQEAcQAhegEAcgAhewEAcgAhfAEAcgAhfQEAcgAhfgEAcgAhfyAAhwEAIQMAAAAHACABAAA-ADAbAAA_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-ACAfAAB-ACBlAAAAXgJmAAAAXghnAAAAXghsAAB9XiIPBwAAewAgHgAAfAAgHwAAfAAgZYAAAAABaIAAAAABaYAAAAABaoAAAAABa4AAAAABbIAAAAABcAEAAAABcQEAAAABcgEAAAABc4AAAAABdIAAAAABdYAAAAABBGUBAAAABW0BAAAAAW4BAAAABG8BAAAABAsHAAB5ACAeAAB6ACAfAAB6ACBlQAAAAAFmQAAAAARnQAAAAARoQAAAAAFpQAAAAAFqQAAAAAFrQAAAAAFsQAB4ACELBwAAeQAgHgAAegAgHwAAegAgZUAAAAABZkAAAAAEZ0AAAAAEaEAAAAABaUAAAAABakAAAAABa0AAAAABbEAAeAAhCGUCAAAAAWYCAAAABGcCAAAABGgCAAAAAWkCAAAAAWoCAAAAAWsCAAAAAWwCAHkAIQhlQAAAAAFmQAAAAARnQAAAAARoQAAAAAFpQAAAAAFqQAAAAAFrQAAAAAFsQAB6ACEIZQIAAAABZgIAAAAFZwIAAAAFaAIAAAABaQIAAAABagIAAAABawIAAAABbAIAewAhDGWAAAAAAWiAAAAAAWmAAAAAAWqAAAAAAWuAAAAAAWyAAAAAAXABAAAAAXEBAAAAAXIBAAAAAXOAAAAAAXSAAAAAAXWAAAAAAQcHAAB5ACAeAAB-ACAfAAB-ACBlAAAAXgJmAAAAXghnAAAAXghsAAB9XiIEZQAAAF4CZgAAAF4IZwAAAF4IbAAAfl4iDQcAAHkAIBwAAIABACAdAAB5ACAeAAB5ACAfAAB5ACBlAgAAAAFmAgAAAARnAgAAAARoAgAAAAFpAgAAAAFqAgAAAAFrAgAAAAFsAgB_ACEIZQgAAAABZggAAAAEZwgAAAAEaAgAAAABaQgAAAABaggAAAABawgAAAABbAgAgAEAIQ4HAAB7ACAeAACCAQAgHwAAggEAIGUBAAAAAWYBAAAABWcBAAAABWgBAAAAAWkBAAAAAWoBAAAAAWsBAAAAAWwBAIEBACF2AQAAAAF3AQAAAAF4AQAAAAELZQEAAAABZgEAAAAFZwEAAAAFaAEAAAABaQEAAAABagEAAAABawEAAAABbAEAggEAIXYBAAAAAXcBAAAAAXgBAAAAAQ4HAAB5ACAeAACEAQAgHwAAhAEAIGUBAAAAAWYBAAAABGcBAAAABGgBAAAAAWkBAAAAAWoBAAAAAWsBAAAAAWwBAIMBACF2AQAAAAF3AQAAAAF4AQAAAAELZQEAAAABZgEAAAAEZwEAAAAEaAEAAAABaQEAAAABagEAAAABawEAAAABbAEAhAEAIXYBAAAAAXcBAAAAAXgBAAAAAQdSAACFAQAwUwAAVQAQVAAAhQEAMFUBAHEAIVYBAHEAIVcBAHEAIWNAAHcAIQ1SAACGAQAwUwAAPwAQVAAAhgEAMFUBAHEAIWNAAHcAIWRAAHcAIXkBAHEAIXoBAHIAIXsBAHIAIXwBAHIAIX0BAHIAIX4BAHIAIX8gAIcBACEFBwAAeQAgHgAAiQEAIB8AAIkBACBlIAAAAAFsIACIAQAhBQcAAHkAIB4AAIkBACAfAACJAQAgZSAAAAABbCAAiAEAIQJlIAAAAAFsIACJAQAhDwQAAI4BACAGAACPAQAgUgAAigEAMFMAAAcAEFQAAIoBADBVAQCcAQAhY0AAjQEAIWRAAI0BACF5AQCcAQAhegEAiwEAIXsBAIsBACF8AQCLAQAhfQEAiwEAIX4BAIsBACF_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_IACMAQAhkgEAAAcAIJMBAAAHACAYCAAAjgEAIAkAAI8BACBSAACbAQAwUwAAFAAQVAAAmwEAMFUBAJwBACFjQACNAQAhZEAAjQEAIYMBAQCcAQAhhAEBAJwBACGFAQgAnQEAIYYBCACdAQAhhwEBAIsBACGIAQAAdgAgiQEBAIsBACGKAQgAngEAIYsBAgCfAQAhjAEAAKABACCNAQAAoAEAII4BAACgAQAgjwEAAKABACCQAUAAoQEAIZIBAAAUACCTAQAAFAAgFAMAAKUBACAFAACpAQAgUgAApgEAMFMAAAMAEFQAAKYBADBVAQCcAQAhVgEAnAEAIVcBAIsBACFYAgCnAQAhWQEAnAEAIVoBAIsBACFbAQCLAQAhXAEAiwEAIV4AAKgBXiJfAQCLAQAhYAAAoAEAIGEAAKABACBiAAB2ACBjQACNAQAhZEAAjQEAIQhlAgAAAAFmAgAAAARnAgAAAARoAgAAAAFpAgAAAAFqAgAAAAFrAgAAAAFsAgB5ACEEZQAAAF4CZgAAAF4IZwAAAF4IbAAAfl4iEQQAAI4BACAGAACPAQAgUgAAigEAMFMAAAcAEFQAAIoBADBVAQCcAQAhY0AAjQEAIWRAAI0BACF5AQCcAQAhegEAiwEAIXsBAIsBACF8AQCLAQAhfQEAiwEAIX4BAIsBACF_IACMAQAhkgEAAAcAIJMBAAAHACAAAAAAAAABlwEBAAAAAQWXAQIAAAABnQECAAAAAZ4BAgAAAAGfAQIAAAABoAECAAAAAQGXAQEAAAABAZcBAAAAXgIClwEBAAAABKEBAQAAAAUBlwFAAAAAAQUWAACXAgAgFwAAnQIAIJQBAACYAgAglQEAAJwCACCaAQAAAQAgBxYAAJUCACAXAACaAgAglAEAAJYCACCVAQAAmQIAIJgBAAAHACCZAQAABwAgmgEAACoAIAGXAQEAAAAEAxYAAJcCACCUAQAAmAIAIJoBAAABACADFgAAlQIAIJQBAACWAgAgmgEAACoAIAAAAAUWAACNAgAgFwAAkwIAIJQBAACOAgAglQEAAJICACCaAQAAKgAgBRYAAIsCACAXAACQAgAglAEAAIwCACCVAQAAjwIAIJoBAAABACADFgAAjQIAIJQBAACOAgAgmgEAACoAIAMWAACLAgAglAEAAIwCACCaAQAAAQAgAAAAAZcBIAAAAAELFgAA1AEAMBcAANkBADCUAQAA1QEAMJUBAADWAQAwlgEAANcBACCXAQAA2AEAMJgBAADYAQAwmQEAANgBADCaAQAA2AEAMJsBAADaAQAwnAEAANsBADALFgAAyAEAMBcAAM0BADCUAQAAyQEAMJUBAADKAQAwlgEAAMsBACCXAQAAzAEAMJgBAADMAQAwmQEAAMwBADCaAQAAzAEAMJsBAADOAQAwnAEAAM8BADAEAwAAwQEAIFUBAAAAAVYBAAAAAWNAAAAAAQIAAAAMACAWAADTAQAgAwAAAAwAIBYAANMBACAXAADSAQAgAQ8AAIoCADAKAwAApQEAIAUAAKQBACBSAACjAQAwUwAACgAQVAAAowEAMFUBAAAAAVYBAJwBACFXAQCcAQAhY0AAjQEAIZEBAACiAQAgAgAAAAwAIA8AANIBACACAAAA0AEAIA8AANEBACAHUgAAzwEAMFMAANABABBUAADPAQAwVQEAnAEAIVYBAJwBACFXAQCcAQAhY0AAjQEAIQdSAADPAQAwUwAA0AEAEFQAAM8BADBVAQCcAQAhVgEAnAEAIVcBAJwBACFjQACNAQAhA1UBALABACFWAQCwAQAhY0AAtQEAIQQDAAC_AQAgVQEAsAEAIVYBALABACFjQAC1AQAhBAMAAMEBACBVAQAAAAFWAQAAAAFjQAAAAAEPAwAAuQEAIFUBAAAAAVYBAAAAAVgCAAAAAVkBAAAAAVoBAAAAAVsBAAAAAVwBAAAAAV4AAABeAl8BAAAAAWCAAAAAAWGAAAAAAWIAALgBACBjQAAAAAFkQAAAAAECAAAABQAgFgAA3wEAIAMAAAAFACAWAADfAQAgFwAA3gEAIAEPAACJAgAwFAMAAKUBACAFAACpAQAgUgAApgEAMFMAAAMAEFQAAKYBADBVAQAAAAFWAQCcAQAhVwEAiwEAIVgCAKcBACFZAQCcAQAhWgEAiwEAIVsBAIsBACFcAQAAAAFeAACoAV4iXwEAiwEAIWAAAKABACBhAACgAQAgYgAAdgAgY0AAjQEAIWRAAI0BACECAAAABQAgDwAA3gEAIAIAAADcAQAgDwAA3QEAIBJSAADbAQAwUwAA3AEAEFQAANsBADBVAQCcAQAhVgEAnAEAIVcBAIsBACFYAgCnAQAhWQEAnAEAIVoBAIsBACFbAQCLAQAhXAEAiwEAIV4AAKgBXiJfAQCLAQAhYAAAoAEAIGEAAKABACBiAAB2ACBjQACNAQAhZEAAjQEAIRJSAADbAQAwUwAA3AEAEFQAANsBADBVAQCcAQAhVgEAnAEAIVcBAIsBACFYAgCnAQAhWQEAnAEAIVoBAIsBACFbAQCLAQAhXAEAiwEAIV4AAKgBXiJfAQCLAQAhYAAAoAEAIGEAAKABACBiAAB2ACBjQACNAQAhZEAAjQEAIQ5VAQCwAQAhVgEAsAEAIVgCALEBACFZAQCwAQAhWgEAsgEAIVsBALIBACFcAQCyAQAhXgAAswFeIl8BALIBACFggAAAAAFhgAAAAAFiAAC0AQAgY0AAtQEAIWRAALUBACEPAwAAtgEAIFUBALABACFWAQCwAQAhWAIAsQEAIVkBALABACFaAQCyAQAhWwEAsgEAIVwBALIBACFeAACzAV4iXwEAsgEAIWCAAAAAAWGAAAAAAWIAALQBACBjQAC1AQAhZEAAtQEAIQ8DAAC5AQAgVQEAAAABVgEAAAABWAIAAAABWQEAAAABWgEAAAABWwEAAAABXAEAAAABXgAAAF4CXwEAAAABYIAAAAABYYAAAAABYgAAuAEAIGNAAAAAAWRAAAAAAQQWAADUAQAwlAEAANUBADCWAQAA1wEAIJoBAADYAQAwBBYAAMgBADCUAQAAyQEAMJYBAADLAQAgmgEAAMwBADAAAAAAAAAABZcBCAAAAAGdAQgAAAABngEIAAAAAZ8BCAAAAAGgAQgAAAABApcBAQAAAAShAQEAAAAFBZcBCAAAAAGdAQgAAAABngEIAAAAAZ8BCAAAAAGgAQgAAAABBZcBAgAAAAGdAQIAAAABngECAAAAAZ8BAgAAAAGgAQIAAAABAZcBQAAAAAELFgAA-QEAMBcAAP0BADCUAQAA-gEAMJUBAAD7AQAwlgEAAPwBACCXAQAA2AEAMJgBAADYAQAwmQEAANgBADCaAQAA2AEAMJsBAAD-AQAwnAEAANsBADALFgAA8AEAMBcAAPQBADCUAQAA8QEAMJUBAADyAQAwlgEAAPMBACCXAQAAzAEAMJgBAADMAQAwmQEAAMwBADCaAQAAzAEAMJsBAAD1AQAwnAEAAM8BADAEBQAAwAEAIFUBAAAAAVcBAAAAAWNAAAAAAQIAAAAMACAWAAD4AQAgAwAAAAwAIBYAAPgBACAXAAD3AQAgAQ8AAIgCADACAAAADAAgDwAA9wEAIAIAAADQAQAgDwAA9gEAIANVAQCwAQAhVwEAsAEAIWNAALUBACEEBQAAvgEAIFUBALABACFXAQCwAQAhY0AAtQEAIQQFAADAAQAgVQEAAAABVwEAAAABY0AAAAABDwUAALoBACBVAQAAAAFXAQAAAAFYAgAAAAFZAQAAAAFaAQAAAAFbAQAAAAFcAQAAAAFeAAAAXgJfAQAAAAFggAAAAAFhgAAAAAFiAAC4AQAgY0AAAAABZEAAAAABAgAAAAUAIBYAAIECACADAAAABQAgFgAAgQIAIBcAAIACACABDwAAhwIAMAIAAAAFACAPAACAAgAgAgAAANwBACAPAAD_AQAgDlUBALABACFXAQCyAQAhWAIAsQEAIVkBALABACFaAQCyAQAhWwEAsgEAIVwBALIBACFeAACzAV4iXwEAsgEAIWCAAAAAAWGAAAAAAWIAALQBACBjQAC1AQAhZEAAtQEAIQ8FAAC3AQAgVQEAsAEAIVcBALIBACFYAgCxAQAhWQEAsAEAIVoBALIBACFbAQCyAQAhXAEAsgEAIV4AALMBXiJfAQCyAQAhYIAAAAABYYAAAAABYgAAtAEAIGNAALUBACFkQAC1AQAhDwUAALoBACBVAQAAAAFXAQAAAAFYAgAAAAFZAQAAAAFaAQAAAAFbAQAAAAFcAQAAAAFeAAAAXgJfAQAAAAFggAAAAAFhgAAAAAFiAAC4AQAgY0AAAAABZEAAAAABAZcBAQAAAAQEFgAA-QEAMJQBAAD6AQAwlgEAAPwBACCaAQAA2AEAMAQWAADwAQAwlAEAAPEBADCWAQAA8wEAIJoBAADMAQAwBwQAAOIBACAGAADjAQAgegAAqgEAIHsAAKoBACB8AACqAQAgfQAAqgEAIH4AAKoBACALCAAA4gEAIAkAAOMBACCHAQAAqgEAIIkBAACqAQAgigEAAKoBACCLAQAAqgEAIIwBAACqAQAgjQEAAKoBACCOAQAAqgEAII8BAACqAQAgkAEAAKoBACAOVQEAAAABVwEAAAABWAIAAAABWQEAAAABWgEAAAABWwEAAAABXAEAAAABXgAAAF4CXwEAAAABYIAAAAABYYAAAAABYgAAuAEAIGNAAAAAAWRAAAAAAQNVAQAAAAFXAQAAAAFjQAAAAAEOVQEAAAABVgEAAAABWAIAAAABWQEAAAABWgEAAAABWwEAAAABXAEAAAABXgAAAF4CXwEAAAABYIAAAAABYYAAAAABYgAAuAEAIGNAAAAAAWRAAAAAAQNVAQAAAAFWAQAAAAFjQAAAAAESCAAAgwIAIFUBAAAAAWNAAAAAAWRAAAAAAYMBAQAAAAGEAQEAAAABhQEIAAAAAYYBCAAAAAGHAQEAAAABiAEAAIICACCJAQEAAAABigEIAAAAAYsBAgAAAAGMAYAAAAABjQGAAAAAAY4BgAAAAAGPAYAAAAABkAFAAAAAAQIAAAABACAWAACLAgAgCwQAAOABACBVAQAAAAFjQAAAAAFkQAAAAAF5AQAAAAF6AQAAAAF7AQAAAAF8AQAAAAF9AQAAAAF-AQAAAAF_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" } config.compilerWasm = { getRuntime: async () => require('./query_compiler_fast_bg.js'), diff --git a/src/generated/prisma/index-browser.js b/src/generated/prisma/index-browser.js index 198c713..d7c163f 100644 --- a/src/generated/prisma/index-browser.js +++ b/src/generated/prisma/index-browser.js @@ -128,6 +128,14 @@ exports.Prisma.PlaceScalarFieldEnum = { longitude: 'longitude', googlePrimaryType: 'googlePrimaryType', googleTypes: 'googleTypes', + googleBusinessStatus: 'googleBusinessStatus', + googleRating: 'googleRating', + googleUserRatingCount: 'googleUserRatingCount', + googleRegularOpeningHours: 'googleRegularOpeningHours', + googleCurrentOpeningHours: 'googleCurrentOpeningHours', + googlePhotos: 'googlePhotos', + googlePayload: 'googlePayload', + googlePayloadFetchedAt: 'googlePayloadFetchedAt', createdAt: 'createdAt', updatedAt: 'updatedAt' }; @@ -145,6 +153,13 @@ exports.Prisma.UserScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.UserFavoritePlaceScalarFieldEnum = { + id: 'id', + userId: 'userId', + placeId: 'placeId', + createdAt: 'createdAt' +}; + exports.Prisma.VoiceExperienceScalarFieldEnum = { id: 'id', placeId: 'placeId', @@ -157,6 +172,8 @@ exports.Prisma.VoiceExperienceScalarFieldEnum = { status: 'status', transcript: 'transcript', analysis: 'analysis', + recordingPayload: 'recordingPayload', + promptHintsShown: 'promptHintsShown', createdAt: 'createdAt', updatedAt: 'updatedAt' }; @@ -176,16 +193,16 @@ exports.Prisma.QueryMode = { insensitive: 'insensitive' }; -exports.Prisma.NullsOrder = { - first: 'first', - last: 'last' -}; - exports.Prisma.JsonNullValueFilter = { DbNull: Prisma.DbNull, JsonNull: Prisma.JsonNull, AnyNull: Prisma.AnyNull }; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; exports.VoiceExperienceStatus = exports.$Enums.VoiceExperienceStatus = { UPLOADED: 'UPLOADED', TRANSCRIBING: 'TRANSCRIBING', @@ -198,6 +215,7 @@ exports.VoiceExperienceStatus = exports.$Enums.VoiceExperienceStatus = { exports.Prisma.ModelName = { Place: 'Place', User: 'User', + UserFavoritePlace: 'UserFavoritePlace', VoiceExperience: 'VoiceExperience' }; diff --git a/src/generated/prisma/index.d.ts b/src/generated/prisma/index.d.ts index 2f17cd9..da5aabb 100644 --- a/src/generated/prisma/index.d.ts +++ b/src/generated/prisma/index.d.ts @@ -23,6 +23,11 @@ export type Place = $Result.DefaultSelection * */ export type User = $Result.DefaultSelection +/** + * Model UserFavoritePlace + * + */ +export type UserFavoritePlace = $Result.DefaultSelection /** * Model VoiceExperience * @@ -191,6 +196,16 @@ export class PrismaClient< */ get user(): Prisma.UserDelegate; + /** + * `prisma.userFavoritePlace`: Exposes CRUD operations for the **UserFavoritePlace** model. + * Example usage: + * ```ts + * // Fetch zero or more UserFavoritePlaces + * const userFavoritePlaces = await prisma.userFavoritePlace.findMany() + * ``` + */ + get userFavoritePlace(): Prisma.UserFavoritePlaceDelegate; + /** * `prisma.voiceExperience`: Exposes CRUD operations for the **VoiceExperience** model. * Example usage: @@ -636,6 +651,7 @@ export namespace Prisma { export const ModelName: { Place: 'Place', User: 'User', + UserFavoritePlace: 'UserFavoritePlace', VoiceExperience: 'VoiceExperience' }; @@ -652,7 +668,7 @@ export namespace Prisma { omit: GlobalOmitOptions } meta: { - modelProps: "place" | "user" | "voiceExperience" + modelProps: "place" | "user" | "userFavoritePlace" | "voiceExperience" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { @@ -804,6 +820,80 @@ export namespace Prisma { } } } + UserFavoritePlace: { + payload: Prisma.$UserFavoritePlacePayload + fields: Prisma.UserFavoritePlaceFieldRefs + operations: { + findUnique: { + args: Prisma.UserFavoritePlaceFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.UserFavoritePlaceFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.UserFavoritePlaceFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.UserFavoritePlaceFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.UserFavoritePlaceFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.UserFavoritePlaceCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.UserFavoritePlaceCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.UserFavoritePlaceCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.UserFavoritePlaceDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.UserFavoritePlaceUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.UserFavoritePlaceDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.UserFavoritePlaceUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.UserFavoritePlaceUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.UserFavoritePlaceUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.UserFavoritePlaceAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.UserFavoritePlaceGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.UserFavoritePlaceCountArgs + result: $Utils.Optional | number + } + } + } VoiceExperience: { payload: Prisma.$VoiceExperiencePayload fields: Prisma.VoiceExperienceFieldRefs @@ -988,6 +1078,7 @@ export namespace Prisma { export type GlobalOmitConfig = { place?: PlaceOmit user?: UserOmit + userFavoritePlace?: UserFavoritePlaceOmit voiceExperience?: VoiceExperienceOmit } @@ -1070,10 +1161,12 @@ export namespace Prisma { export type PlaceCountOutputType = { experiences: number + favoriteUsers: number } export type PlaceCountOutputTypeSelect = { experiences?: boolean | PlaceCountOutputTypeCountExperiencesArgs + favoriteUsers?: boolean | PlaceCountOutputTypeCountFavoriteUsersArgs } // Custom InputTypes @@ -1094,6 +1187,13 @@ export namespace Prisma { where?: VoiceExperienceWhereInput } + /** + * PlaceCountOutputType without action + */ + export type PlaceCountOutputTypeCountFavoriteUsersArgs = { + where?: UserFavoritePlaceWhereInput + } + /** * Count Type UserCountOutputType @@ -1101,10 +1201,12 @@ export namespace Prisma { export type UserCountOutputType = { voiceExperiences: number + favoritePlaces: number } export type UserCountOutputTypeSelect = { voiceExperiences?: boolean | UserCountOutputTypeCountVoiceExperiencesArgs + favoritePlaces?: boolean | UserCountOutputTypeCountFavoritePlacesArgs } // Custom InputTypes @@ -1125,6 +1227,13 @@ export namespace Prisma { where?: VoiceExperienceWhereInput } + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeCountFavoritePlacesArgs = { + where?: UserFavoritePlaceWhereInput + } + /** * Models @@ -1145,11 +1254,15 @@ export namespace Prisma { export type PlaceAvgAggregateOutputType = { latitude: number | null longitude: number | null + googleRating: number | null + googleUserRatingCount: number | null } export type PlaceSumAggregateOutputType = { latitude: number | null longitude: number | null + googleRating: number | null + googleUserRatingCount: number | null } export type PlaceMinAggregateOutputType = { @@ -1159,6 +1272,10 @@ export namespace Prisma { latitude: number | null longitude: number | null googlePrimaryType: string | null + googleBusinessStatus: string | null + googleRating: number | null + googleUserRatingCount: number | null + googlePayloadFetchedAt: Date | null createdAt: Date | null updatedAt: Date | null } @@ -1170,6 +1287,10 @@ export namespace Prisma { latitude: number | null longitude: number | null googlePrimaryType: string | null + googleBusinessStatus: string | null + googleRating: number | null + googleUserRatingCount: number | null + googlePayloadFetchedAt: Date | null createdAt: Date | null updatedAt: Date | null } @@ -1182,6 +1303,14 @@ export namespace Prisma { longitude: number googlePrimaryType: number googleTypes: number + googleBusinessStatus: number + googleRating: number + googleUserRatingCount: number + googleRegularOpeningHours: number + googleCurrentOpeningHours: number + googlePhotos: number + googlePayload: number + googlePayloadFetchedAt: number createdAt: number updatedAt: number _all: number @@ -1191,11 +1320,15 @@ export namespace Prisma { export type PlaceAvgAggregateInputType = { latitude?: true longitude?: true + googleRating?: true + googleUserRatingCount?: true } export type PlaceSumAggregateInputType = { latitude?: true longitude?: true + googleRating?: true + googleUserRatingCount?: true } export type PlaceMinAggregateInputType = { @@ -1205,6 +1338,10 @@ export namespace Prisma { latitude?: true longitude?: true googlePrimaryType?: true + googleBusinessStatus?: true + googleRating?: true + googleUserRatingCount?: true + googlePayloadFetchedAt?: true createdAt?: true updatedAt?: true } @@ -1216,6 +1353,10 @@ export namespace Prisma { latitude?: true longitude?: true googlePrimaryType?: true + googleBusinessStatus?: true + googleRating?: true + googleUserRatingCount?: true + googlePayloadFetchedAt?: true createdAt?: true updatedAt?: true } @@ -1228,6 +1369,14 @@ export namespace Prisma { longitude?: true googlePrimaryType?: true googleTypes?: true + googleBusinessStatus?: true + googleRating?: true + googleUserRatingCount?: true + googleRegularOpeningHours?: true + googleCurrentOpeningHours?: true + googlePhotos?: true + googlePayload?: true + googlePayloadFetchedAt?: true createdAt?: true updatedAt?: true _all?: true @@ -1327,6 +1476,14 @@ export namespace Prisma { longitude: number googlePrimaryType: string | null googleTypes: string[] + googleBusinessStatus: string | null + googleRating: number | null + googleUserRatingCount: number | null + googleRegularOpeningHours: JsonValue | null + googleCurrentOpeningHours: JsonValue | null + googlePhotos: JsonValue | null + googlePayload: JsonValue | null + googlePayloadFetchedAt: Date | null createdAt: Date updatedAt: Date _count: PlaceCountAggregateOutputType | null @@ -1358,9 +1515,18 @@ export namespace Prisma { longitude?: boolean googlePrimaryType?: boolean googleTypes?: boolean + googleBusinessStatus?: boolean + googleRating?: boolean + googleUserRatingCount?: boolean + googleRegularOpeningHours?: boolean + googleCurrentOpeningHours?: boolean + googlePhotos?: boolean + googlePayload?: boolean + googlePayloadFetchedAt?: boolean createdAt?: boolean updatedAt?: boolean experiences?: boolean | Place$experiencesArgs + favoriteUsers?: boolean | Place$favoriteUsersArgs _count?: boolean | PlaceCountOutputTypeDefaultArgs }, ExtArgs["result"]["place"]> @@ -1372,6 +1538,14 @@ export namespace Prisma { longitude?: boolean googlePrimaryType?: boolean googleTypes?: boolean + googleBusinessStatus?: boolean + googleRating?: boolean + googleUserRatingCount?: boolean + googleRegularOpeningHours?: boolean + googleCurrentOpeningHours?: boolean + googlePhotos?: boolean + googlePayload?: boolean + googlePayloadFetchedAt?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["place"]> @@ -1384,6 +1558,14 @@ export namespace Prisma { longitude?: boolean googlePrimaryType?: boolean googleTypes?: boolean + googleBusinessStatus?: boolean + googleRating?: boolean + googleUserRatingCount?: boolean + googleRegularOpeningHours?: boolean + googleCurrentOpeningHours?: boolean + googlePhotos?: boolean + googlePayload?: boolean + googlePayloadFetchedAt?: boolean createdAt?: boolean updatedAt?: boolean }, ExtArgs["result"]["place"]> @@ -1396,13 +1578,22 @@ export namespace Prisma { longitude?: boolean googlePrimaryType?: boolean googleTypes?: boolean + googleBusinessStatus?: boolean + googleRating?: boolean + googleUserRatingCount?: boolean + googleRegularOpeningHours?: boolean + googleCurrentOpeningHours?: boolean + googlePhotos?: boolean + googlePayload?: boolean + googlePayloadFetchedAt?: boolean createdAt?: boolean updatedAt?: boolean } - export type PlaceOmit = $Extensions.GetOmit<"id" | "googlePlaceId" | "name" | "latitude" | "longitude" | "googlePrimaryType" | "googleTypes" | "createdAt" | "updatedAt", ExtArgs["result"]["place"]> + export type PlaceOmit = $Extensions.GetOmit<"id" | "googlePlaceId" | "name" | "latitude" | "longitude" | "googlePrimaryType" | "googleTypes" | "googleBusinessStatus" | "googleRating" | "googleUserRatingCount" | "googleRegularOpeningHours" | "googleCurrentOpeningHours" | "googlePhotos" | "googlePayload" | "googlePayloadFetchedAt" | "createdAt" | "updatedAt", ExtArgs["result"]["place"]> export type PlaceInclude = { experiences?: boolean | Place$experiencesArgs + favoriteUsers?: boolean | Place$favoriteUsersArgs _count?: boolean | PlaceCountOutputTypeDefaultArgs } export type PlaceIncludeCreateManyAndReturn = {} @@ -1412,6 +1603,7 @@ export namespace Prisma { name: "Place" objects: { experiences: Prisma.$VoiceExperiencePayload[] + favoriteUsers: Prisma.$UserFavoritePlacePayload[] } scalars: $Extensions.GetPayloadResult<{ id: string @@ -1421,6 +1613,14 @@ export namespace Prisma { longitude: number googlePrimaryType: string | null googleTypes: string[] + googleBusinessStatus: string | null + googleRating: number | null + googleUserRatingCount: number | null + googleRegularOpeningHours: Prisma.JsonValue | null + googleCurrentOpeningHours: Prisma.JsonValue | null + googlePhotos: Prisma.JsonValue | null + googlePayload: Prisma.JsonValue | null + googlePayloadFetchedAt: Date | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["place"]> @@ -1818,6 +2018,7 @@ export namespace Prisma { export interface Prisma__PlaceClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" experiences = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + favoriteUsers = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, 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. @@ -1854,6 +2055,14 @@ export namespace Prisma { readonly longitude: FieldRef<"Place", 'Float'> readonly googlePrimaryType: FieldRef<"Place", 'String'> readonly googleTypes: FieldRef<"Place", 'String[]'> + readonly googleBusinessStatus: FieldRef<"Place", 'String'> + readonly googleRating: FieldRef<"Place", 'Float'> + readonly googleUserRatingCount: FieldRef<"Place", 'Int'> + readonly googleRegularOpeningHours: FieldRef<"Place", 'Json'> + readonly googleCurrentOpeningHours: FieldRef<"Place", 'Json'> + readonly googlePhotos: FieldRef<"Place", 'Json'> + readonly googlePayload: FieldRef<"Place", 'Json'> + readonly googlePayloadFetchedAt: FieldRef<"Place", 'DateTime'> readonly createdAt: FieldRef<"Place", 'DateTime'> readonly updatedAt: FieldRef<"Place", 'DateTime'> } @@ -2272,6 +2481,30 @@ export namespace Prisma { distinct?: VoiceExperienceScalarFieldEnum | VoiceExperienceScalarFieldEnum[] } + /** + * Place.favoriteUsers + */ + export type Place$favoriteUsersArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelect | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceInclude | null + where?: UserFavoritePlaceWhereInput + orderBy?: UserFavoritePlaceOrderByWithRelationInput | UserFavoritePlaceOrderByWithRelationInput[] + cursor?: UserFavoritePlaceWhereUniqueInput + take?: number + skip?: number + distinct?: UserFavoritePlaceScalarFieldEnum | UserFavoritePlaceScalarFieldEnum[] + } + /** * Place without action */ @@ -2496,6 +2729,7 @@ export namespace Prisma { createdAt?: boolean updatedAt?: boolean voiceExperiences?: boolean | User$voiceExperiencesArgs + favoritePlaces?: boolean | User$favoritePlacesArgs _count?: boolean | UserCountOutputTypeDefaultArgs }, ExtArgs["result"]["user"]> @@ -2541,6 +2775,7 @@ export namespace Prisma { export type UserOmit = $Extensions.GetOmit<"id" | "telegramId" | "username" | "firstName" | "lastName" | "photoUrl" | "languageCode" | "isAdmin" | "createdAt" | "updatedAt", ExtArgs["result"]["user"]> export type UserInclude = { voiceExperiences?: boolean | User$voiceExperiencesArgs + favoritePlaces?: boolean | User$favoritePlacesArgs _count?: boolean | UserCountOutputTypeDefaultArgs } export type UserIncludeCreateManyAndReturn = {} @@ -2550,6 +2785,7 @@ export namespace Prisma { name: "User" objects: { voiceExperiences: Prisma.$VoiceExperiencePayload[] + favoritePlaces: Prisma.$UserFavoritePlacePayload[] } scalars: $Extensions.GetPayloadResult<{ id: string @@ -2957,6 +3193,7 @@ export namespace Prisma { export interface Prisma__UserClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" voiceExperiences = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + favoritePlaces = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, 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. @@ -3412,6 +3649,30 @@ export namespace Prisma { distinct?: VoiceExperienceScalarFieldEnum | VoiceExperienceScalarFieldEnum[] } + /** + * User.favoritePlaces + */ + export type User$favoritePlacesArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelect | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceInclude | null + where?: UserFavoritePlaceWhereInput + orderBy?: UserFavoritePlaceOrderByWithRelationInput | UserFavoritePlaceOrderByWithRelationInput[] + cursor?: UserFavoritePlaceWhereUniqueInput + take?: number + skip?: number + distinct?: UserFavoritePlaceScalarFieldEnum | UserFavoritePlaceScalarFieldEnum[] + } + /** * User without action */ @@ -3431,6 +3692,1064 @@ export namespace Prisma { } + /** + * Model UserFavoritePlace + */ + + export type AggregateUserFavoritePlace = { + _count: UserFavoritePlaceCountAggregateOutputType | null + _min: UserFavoritePlaceMinAggregateOutputType | null + _max: UserFavoritePlaceMaxAggregateOutputType | null + } + + export type UserFavoritePlaceMinAggregateOutputType = { + id: string | null + userId: string | null + placeId: string | null + createdAt: Date | null + } + + export type UserFavoritePlaceMaxAggregateOutputType = { + id: string | null + userId: string | null + placeId: string | null + createdAt: Date | null + } + + export type UserFavoritePlaceCountAggregateOutputType = { + id: number + userId: number + placeId: number + createdAt: number + _all: number + } + + + export type UserFavoritePlaceMinAggregateInputType = { + id?: true + userId?: true + placeId?: true + createdAt?: true + } + + export type UserFavoritePlaceMaxAggregateInputType = { + id?: true + userId?: true + placeId?: true + createdAt?: true + } + + export type UserFavoritePlaceCountAggregateInputType = { + id?: true + userId?: true + placeId?: true + createdAt?: true + _all?: true + } + + export type UserFavoritePlaceAggregateArgs = { + /** + * Filter which UserFavoritePlace to aggregate. + */ + where?: UserFavoritePlaceWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UserFavoritePlaces to fetch. + */ + orderBy?: UserFavoritePlaceOrderByWithRelationInput | UserFavoritePlaceOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: UserFavoritePlaceWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UserFavoritePlaces 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` UserFavoritePlaces. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned UserFavoritePlaces + **/ + _count?: true | UserFavoritePlaceCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: UserFavoritePlaceMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: UserFavoritePlaceMaxAggregateInputType + } + + export type GetUserFavoritePlaceAggregateType = { + [P in keyof T & keyof AggregateUserFavoritePlace]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type UserFavoritePlaceGroupByArgs = { + where?: UserFavoritePlaceWhereInput + orderBy?: UserFavoritePlaceOrderByWithAggregationInput | UserFavoritePlaceOrderByWithAggregationInput[] + by: UserFavoritePlaceScalarFieldEnum[] | UserFavoritePlaceScalarFieldEnum + having?: UserFavoritePlaceScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: UserFavoritePlaceCountAggregateInputType | true + _min?: UserFavoritePlaceMinAggregateInputType + _max?: UserFavoritePlaceMaxAggregateInputType + } + + export type UserFavoritePlaceGroupByOutputType = { + id: string + userId: string + placeId: string + createdAt: Date + _count: UserFavoritePlaceCountAggregateOutputType | null + _min: UserFavoritePlaceMinAggregateOutputType | null + _max: UserFavoritePlaceMaxAggregateOutputType | null + } + + type GetUserFavoritePlaceGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof UserFavoritePlaceGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type UserFavoritePlaceSelect = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + placeId?: boolean + createdAt?: boolean + user?: boolean | UserDefaultArgs + place?: boolean | PlaceDefaultArgs + }, ExtArgs["result"]["userFavoritePlace"]> + + export type UserFavoritePlaceSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + placeId?: boolean + createdAt?: boolean + user?: boolean | UserDefaultArgs + place?: boolean | PlaceDefaultArgs + }, ExtArgs["result"]["userFavoritePlace"]> + + export type UserFavoritePlaceSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + placeId?: boolean + createdAt?: boolean + user?: boolean | UserDefaultArgs + place?: boolean | PlaceDefaultArgs + }, ExtArgs["result"]["userFavoritePlace"]> + + export type UserFavoritePlaceSelectScalar = { + id?: boolean + userId?: boolean + placeId?: boolean + createdAt?: boolean + } + + export type UserFavoritePlaceOmit = $Extensions.GetOmit<"id" | "userId" | "placeId" | "createdAt", ExtArgs["result"]["userFavoritePlace"]> + export type UserFavoritePlaceInclude = { + user?: boolean | UserDefaultArgs + place?: boolean | PlaceDefaultArgs + } + export type UserFavoritePlaceIncludeCreateManyAndReturn = { + user?: boolean | UserDefaultArgs + place?: boolean | PlaceDefaultArgs + } + export type UserFavoritePlaceIncludeUpdateManyAndReturn = { + user?: boolean | UserDefaultArgs + place?: boolean | PlaceDefaultArgs + } + + export type $UserFavoritePlacePayload = { + name: "UserFavoritePlace" + objects: { + user: Prisma.$UserPayload + place: Prisma.$PlacePayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + userId: string + placeId: string + createdAt: Date + }, ExtArgs["result"]["userFavoritePlace"]> + composites: {} + } + + type UserFavoritePlaceGetPayload = $Result.GetResult + + type UserFavoritePlaceCountArgs = + Omit & { + select?: UserFavoritePlaceCountAggregateInputType | true + } + + export interface UserFavoritePlaceDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['UserFavoritePlace'], meta: { name: 'UserFavoritePlace' } } + /** + * Find zero or one UserFavoritePlace that matches the filter. + * @param {UserFavoritePlaceFindUniqueArgs} args - Arguments to find a UserFavoritePlace + * @example + * // Get one UserFavoritePlace + * const userFavoritePlace = await prisma.userFavoritePlace.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__UserFavoritePlaceClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one UserFavoritePlace that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {UserFavoritePlaceFindUniqueOrThrowArgs} args - Arguments to find a UserFavoritePlace + * @example + * // Get one UserFavoritePlace + * const userFavoritePlace = await prisma.userFavoritePlace.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__UserFavoritePlaceClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first UserFavoritePlace 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 {UserFavoritePlaceFindFirstArgs} args - Arguments to find a UserFavoritePlace + * @example + * // Get one UserFavoritePlace + * const userFavoritePlace = await prisma.userFavoritePlace.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__UserFavoritePlaceClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first UserFavoritePlace 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 {UserFavoritePlaceFindFirstOrThrowArgs} args - Arguments to find a UserFavoritePlace + * @example + * // Get one UserFavoritePlace + * const userFavoritePlace = await prisma.userFavoritePlace.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__UserFavoritePlaceClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more UserFavoritePlaces 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 {UserFavoritePlaceFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all UserFavoritePlaces + * const userFavoritePlaces = await prisma.userFavoritePlace.findMany() + * + * // Get first 10 UserFavoritePlaces + * const userFavoritePlaces = await prisma.userFavoritePlace.findMany({ take: 10 }) + * + * // Only select the `id` + * const userFavoritePlaceWithIdOnly = await prisma.userFavoritePlace.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a UserFavoritePlace. + * @param {UserFavoritePlaceCreateArgs} args - Arguments to create a UserFavoritePlace. + * @example + * // Create one UserFavoritePlace + * const UserFavoritePlace = await prisma.userFavoritePlace.create({ + * data: { + * // ... data to create a UserFavoritePlace + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__UserFavoritePlaceClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many UserFavoritePlaces. + * @param {UserFavoritePlaceCreateManyArgs} args - Arguments to create many UserFavoritePlaces. + * @example + * // Create many UserFavoritePlaces + * const userFavoritePlace = await prisma.userFavoritePlace.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many UserFavoritePlaces and returns the data saved in the database. + * @param {UserFavoritePlaceCreateManyAndReturnArgs} args - Arguments to create many UserFavoritePlaces. + * @example + * // Create many UserFavoritePlaces + * const userFavoritePlace = await prisma.userFavoritePlace.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many UserFavoritePlaces and only return the `id` + * const userFavoritePlaceWithIdOnly = await prisma.userFavoritePlace.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?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a UserFavoritePlace. + * @param {UserFavoritePlaceDeleteArgs} args - Arguments to delete one UserFavoritePlace. + * @example + * // Delete one UserFavoritePlace + * const UserFavoritePlace = await prisma.userFavoritePlace.delete({ + * where: { + * // ... filter to delete one UserFavoritePlace + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__UserFavoritePlaceClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one UserFavoritePlace. + * @param {UserFavoritePlaceUpdateArgs} args - Arguments to update one UserFavoritePlace. + * @example + * // Update one UserFavoritePlace + * const userFavoritePlace = await prisma.userFavoritePlace.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__UserFavoritePlaceClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more UserFavoritePlaces. + * @param {UserFavoritePlaceDeleteManyArgs} args - Arguments to filter UserFavoritePlaces to delete. + * @example + * // Delete a few UserFavoritePlaces + * const { count } = await prisma.userFavoritePlace.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more UserFavoritePlaces. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFavoritePlaceUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many UserFavoritePlaces + * const userFavoritePlace = await prisma.userFavoritePlace.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more UserFavoritePlaces and returns the data updated in the database. + * @param {UserFavoritePlaceUpdateManyAndReturnArgs} args - Arguments to update many UserFavoritePlaces. + * @example + * // Update many UserFavoritePlaces + * const userFavoritePlace = await prisma.userFavoritePlace.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more UserFavoritePlaces and only return the `id` + * const userFavoritePlaceWithIdOnly = await prisma.userFavoritePlace.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: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one UserFavoritePlace. + * @param {UserFavoritePlaceUpsertArgs} args - Arguments to update or create a UserFavoritePlace. + * @example + * // Update or create a UserFavoritePlace + * const userFavoritePlace = await prisma.userFavoritePlace.upsert({ + * create: { + * // ... data to create a UserFavoritePlace + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the UserFavoritePlace we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__UserFavoritePlaceClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of UserFavoritePlaces. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFavoritePlaceCountArgs} args - Arguments to filter UserFavoritePlaces to count. + * @example + * // Count the number of UserFavoritePlaces + * const count = await prisma.userFavoritePlace.count({ + * where: { + * // ... the filter for the UserFavoritePlaces we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a UserFavoritePlace. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFavoritePlaceAggregateArgs} 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: Subset): Prisma.PrismaPromise> + + /** + * Group by UserFavoritePlace. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFavoritePlaceGroupByArgs} 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 UserFavoritePlaceGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: UserFavoritePlaceGroupByArgs['orderBy'] } + : { orderBy?: UserFavoritePlaceGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 Keys + ? 'orderBy' extends Keys + ? ByValid extends 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 True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetUserFavoritePlaceGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the UserFavoritePlace model + */ + readonly fields: UserFavoritePlaceFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for UserFavoritePlace. + * 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__UserFavoritePlaceClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + place = {}>(args?: Subset>): Prisma__PlaceClient<$Result.GetResult, 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): $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): $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): $Utils.JsPromise + } + + + + + /** + * Fields of the UserFavoritePlace model + */ + interface UserFavoritePlaceFieldRefs { + readonly id: FieldRef<"UserFavoritePlace", 'String'> + readonly userId: FieldRef<"UserFavoritePlace", 'String'> + readonly placeId: FieldRef<"UserFavoritePlace", 'String'> + readonly createdAt: FieldRef<"UserFavoritePlace", 'DateTime'> + } + + + // Custom InputTypes + /** + * UserFavoritePlace findUnique + */ + export type UserFavoritePlaceFindUniqueArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelect | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceInclude | null + /** + * Filter, which UserFavoritePlace to fetch. + */ + where: UserFavoritePlaceWhereUniqueInput + } + + /** + * UserFavoritePlace findUniqueOrThrow + */ + export type UserFavoritePlaceFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelect | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceInclude | null + /** + * Filter, which UserFavoritePlace to fetch. + */ + where: UserFavoritePlaceWhereUniqueInput + } + + /** + * UserFavoritePlace findFirst + */ + export type UserFavoritePlaceFindFirstArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelect | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceInclude | null + /** + * Filter, which UserFavoritePlace to fetch. + */ + where?: UserFavoritePlaceWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UserFavoritePlaces to fetch. + */ + orderBy?: UserFavoritePlaceOrderByWithRelationInput | UserFavoritePlaceOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for UserFavoritePlaces. + */ + cursor?: UserFavoritePlaceWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UserFavoritePlaces 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` UserFavoritePlaces. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of UserFavoritePlaces. + */ + distinct?: UserFavoritePlaceScalarFieldEnum | UserFavoritePlaceScalarFieldEnum[] + } + + /** + * UserFavoritePlace findFirstOrThrow + */ + export type UserFavoritePlaceFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelect | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceInclude | null + /** + * Filter, which UserFavoritePlace to fetch. + */ + where?: UserFavoritePlaceWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UserFavoritePlaces to fetch. + */ + orderBy?: UserFavoritePlaceOrderByWithRelationInput | UserFavoritePlaceOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for UserFavoritePlaces. + */ + cursor?: UserFavoritePlaceWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UserFavoritePlaces 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` UserFavoritePlaces. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of UserFavoritePlaces. + */ + distinct?: UserFavoritePlaceScalarFieldEnum | UserFavoritePlaceScalarFieldEnum[] + } + + /** + * UserFavoritePlace findMany + */ + export type UserFavoritePlaceFindManyArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelect | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceInclude | null + /** + * Filter, which UserFavoritePlaces to fetch. + */ + where?: UserFavoritePlaceWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of UserFavoritePlaces to fetch. + */ + orderBy?: UserFavoritePlaceOrderByWithRelationInput | UserFavoritePlaceOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing UserFavoritePlaces. + */ + cursor?: UserFavoritePlaceWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` UserFavoritePlaces 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` UserFavoritePlaces. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of UserFavoritePlaces. + */ + distinct?: UserFavoritePlaceScalarFieldEnum | UserFavoritePlaceScalarFieldEnum[] + } + + /** + * UserFavoritePlace create + */ + export type UserFavoritePlaceCreateArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelect | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceInclude | null + /** + * The data needed to create a UserFavoritePlace. + */ + data: XOR + } + + /** + * UserFavoritePlace createMany + */ + export type UserFavoritePlaceCreateManyArgs = { + /** + * The data used to create many UserFavoritePlaces. + */ + data: UserFavoritePlaceCreateManyInput | UserFavoritePlaceCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * UserFavoritePlace createManyAndReturn + */ + export type UserFavoritePlaceCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelectCreateManyAndReturn | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * The data used to create many UserFavoritePlaces. + */ + data: UserFavoritePlaceCreateManyInput | UserFavoritePlaceCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceIncludeCreateManyAndReturn | null + } + + /** + * UserFavoritePlace update + */ + export type UserFavoritePlaceUpdateArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelect | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceInclude | null + /** + * The data needed to update a UserFavoritePlace. + */ + data: XOR + /** + * Choose, which UserFavoritePlace to update. + */ + where: UserFavoritePlaceWhereUniqueInput + } + + /** + * UserFavoritePlace updateMany + */ + export type UserFavoritePlaceUpdateManyArgs = { + /** + * The data used to update UserFavoritePlaces. + */ + data: XOR + /** + * Filter which UserFavoritePlaces to update + */ + where?: UserFavoritePlaceWhereInput + /** + * Limit how many UserFavoritePlaces to update. + */ + limit?: number + } + + /** + * UserFavoritePlace updateManyAndReturn + */ + export type UserFavoritePlaceUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * The data used to update UserFavoritePlaces. + */ + data: XOR + /** + * Filter which UserFavoritePlaces to update + */ + where?: UserFavoritePlaceWhereInput + /** + * Limit how many UserFavoritePlaces to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceIncludeUpdateManyAndReturn | null + } + + /** + * UserFavoritePlace upsert + */ + export type UserFavoritePlaceUpsertArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelect | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceInclude | null + /** + * The filter to search for the UserFavoritePlace to update in case it exists. + */ + where: UserFavoritePlaceWhereUniqueInput + /** + * In case the UserFavoritePlace found by the `where` argument doesn't exist, create a new UserFavoritePlace with this data. + */ + create: XOR + /** + * In case the UserFavoritePlace was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * UserFavoritePlace delete + */ + export type UserFavoritePlaceDeleteArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelect | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceInclude | null + /** + * Filter which UserFavoritePlace to delete. + */ + where: UserFavoritePlaceWhereUniqueInput + } + + /** + * UserFavoritePlace deleteMany + */ + export type UserFavoritePlaceDeleteManyArgs = { + /** + * Filter which UserFavoritePlaces to delete + */ + where?: UserFavoritePlaceWhereInput + /** + * Limit how many UserFavoritePlaces to delete. + */ + limit?: number + } + + /** + * UserFavoritePlace without action + */ + export type UserFavoritePlaceDefaultArgs = { + /** + * Select specific fields to fetch from the UserFavoritePlace + */ + select?: UserFavoritePlaceSelect | null + /** + * Omit specific fields from the UserFavoritePlace + */ + omit?: UserFavoritePlaceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserFavoritePlaceInclude | null + } + + /** * Model VoiceExperience */ @@ -3493,6 +4812,8 @@ export namespace Prisma { status: number transcript: number analysis: number + recordingPayload: number + promptHintsShown: number createdAt: number updatedAt: number _all: number @@ -3549,6 +4870,8 @@ export namespace Prisma { status?: true transcript?: true analysis?: true + recordingPayload?: true + promptHintsShown?: true createdAt?: true updatedAt?: true _all?: true @@ -3652,6 +4975,8 @@ export namespace Prisma { status: $Enums.VoiceExperienceStatus transcript: string | null analysis: JsonValue | null + recordingPayload: JsonValue | null + promptHintsShown: string[] createdAt: Date updatedAt: Date _count: VoiceExperienceCountAggregateOutputType | null @@ -3687,6 +5012,8 @@ export namespace Prisma { status?: boolean transcript?: boolean analysis?: boolean + recordingPayload?: boolean + promptHintsShown?: boolean createdAt?: boolean updatedAt?: boolean place?: boolean | PlaceDefaultArgs @@ -3705,6 +5032,8 @@ export namespace Prisma { status?: boolean transcript?: boolean analysis?: boolean + recordingPayload?: boolean + promptHintsShown?: boolean createdAt?: boolean updatedAt?: boolean place?: boolean | PlaceDefaultArgs @@ -3723,6 +5052,8 @@ export namespace Prisma { status?: boolean transcript?: boolean analysis?: boolean + recordingPayload?: boolean + promptHintsShown?: boolean createdAt?: boolean updatedAt?: boolean place?: boolean | PlaceDefaultArgs @@ -3741,11 +5072,13 @@ export namespace Prisma { status?: boolean transcript?: boolean analysis?: boolean + recordingPayload?: boolean + promptHintsShown?: boolean createdAt?: boolean updatedAt?: boolean } - export type VoiceExperienceOmit = $Extensions.GetOmit<"id" | "placeId" | "userId" | "durationSeconds" | "audioObjectKey" | "audioContentBase64" | "audioMimeType" | "audioAccessToken" | "status" | "transcript" | "analysis" | "createdAt" | "updatedAt", ExtArgs["result"]["voiceExperience"]> + export type VoiceExperienceOmit = $Extensions.GetOmit<"id" | "placeId" | "userId" | "durationSeconds" | "audioObjectKey" | "audioContentBase64" | "audioMimeType" | "audioAccessToken" | "status" | "transcript" | "analysis" | "recordingPayload" | "promptHintsShown" | "createdAt" | "updatedAt", ExtArgs["result"]["voiceExperience"]> export type VoiceExperienceInclude = { place?: boolean | PlaceDefaultArgs user?: boolean | VoiceExperience$userArgs @@ -3777,6 +5110,8 @@ export namespace Prisma { status: $Enums.VoiceExperienceStatus transcript: string | null analysis: Prisma.JsonValue | null + recordingPayload: Prisma.JsonValue | null + promptHintsShown: string[] createdAt: Date updatedAt: Date }, ExtArgs["result"]["voiceExperience"]> @@ -4215,6 +5550,8 @@ export namespace Prisma { readonly status: FieldRef<"VoiceExperience", 'VoiceExperienceStatus'> readonly transcript: FieldRef<"VoiceExperience", 'String'> readonly analysis: FieldRef<"VoiceExperience", 'Json'> + readonly recordingPayload: FieldRef<"VoiceExperience", 'Json'> + readonly promptHintsShown: FieldRef<"VoiceExperience", 'String[]'> readonly createdAt: FieldRef<"VoiceExperience", 'DateTime'> readonly updatedAt: FieldRef<"VoiceExperience", 'DateTime'> } @@ -4677,6 +6014,14 @@ export namespace Prisma { longitude: 'longitude', googlePrimaryType: 'googlePrimaryType', googleTypes: 'googleTypes', + googleBusinessStatus: 'googleBusinessStatus', + googleRating: 'googleRating', + googleUserRatingCount: 'googleUserRatingCount', + googleRegularOpeningHours: 'googleRegularOpeningHours', + googleCurrentOpeningHours: 'googleCurrentOpeningHours', + googlePhotos: 'googlePhotos', + googlePayload: 'googlePayload', + googlePayloadFetchedAt: 'googlePayloadFetchedAt', createdAt: 'createdAt', updatedAt: 'updatedAt' }; @@ -4700,6 +6045,16 @@ export namespace Prisma { export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] + export const UserFavoritePlaceScalarFieldEnum: { + id: 'id', + userId: 'userId', + placeId: 'placeId', + createdAt: 'createdAt' + }; + + export type UserFavoritePlaceScalarFieldEnum = (typeof UserFavoritePlaceScalarFieldEnum)[keyof typeof UserFavoritePlaceScalarFieldEnum] + + export const VoiceExperienceScalarFieldEnum: { id: 'id', placeId: 'placeId', @@ -4712,6 +6067,8 @@ export namespace Prisma { status: 'status', transcript: 'transcript', analysis: 'analysis', + recordingPayload: 'recordingPayload', + promptHintsShown: 'promptHintsShown', createdAt: 'createdAt', updatedAt: 'updatedAt' }; @@ -4743,14 +6100,6 @@ export namespace Prisma { export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] - export const NullsOrder: { - first: 'first', - last: 'last' - }; - - export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder] - - export const JsonNullValueFilter: { DbNull: typeof DbNull, JsonNull: typeof JsonNull, @@ -4760,6 +6109,14 @@ export namespace Prisma { export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter] + export const NullsOrder: { + first: 'first', + last: 'last' + }; + + export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder] + + /** * Field references */ @@ -4793,6 +6150,34 @@ export namespace Prisma { + /** + * 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 'Json' + */ + export type JsonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Json'> + + + + /** + * Reference to a field of type 'QueryMode' + */ + export type EnumQueryModeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'QueryMode'> + + + /** * Reference to a field of type 'DateTime' */ @@ -4814,20 +6199,6 @@ export namespace Prisma { - /** - * 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 'VoiceExperienceStatus' */ @@ -4840,20 +6211,6 @@ export namespace Prisma { */ export type ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'VoiceExperienceStatus[]'> - - - /** - * Reference to a field of type 'Json' - */ - export type JsonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Json'> - - - - /** - * Reference to a field of type 'QueryMode' - */ - export type EnumQueryModeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'QueryMode'> - /** * Deep Input Types */ @@ -4870,9 +6227,18 @@ export namespace Prisma { longitude?: FloatFilter<"Place"> | number googlePrimaryType?: StringNullableFilter<"Place"> | string | null googleTypes?: StringNullableListFilter<"Place"> + googleBusinessStatus?: StringNullableFilter<"Place"> | string | null + googleRating?: FloatNullableFilter<"Place"> | number | null + googleUserRatingCount?: IntNullableFilter<"Place"> | number | null + googleRegularOpeningHours?: JsonNullableFilter<"Place"> + googleCurrentOpeningHours?: JsonNullableFilter<"Place"> + googlePhotos?: JsonNullableFilter<"Place"> + googlePayload?: JsonNullableFilter<"Place"> + googlePayloadFetchedAt?: DateTimeNullableFilter<"Place"> | Date | string | null createdAt?: DateTimeFilter<"Place"> | Date | string updatedAt?: DateTimeFilter<"Place"> | Date | string experiences?: VoiceExperienceListRelationFilter + favoriteUsers?: UserFavoritePlaceListRelationFilter } export type PlaceOrderByWithRelationInput = { @@ -4883,9 +6249,18 @@ export namespace Prisma { longitude?: SortOrder googlePrimaryType?: SortOrderInput | SortOrder googleTypes?: SortOrder + googleBusinessStatus?: SortOrderInput | SortOrder + googleRating?: SortOrderInput | SortOrder + googleUserRatingCount?: SortOrderInput | SortOrder + googleRegularOpeningHours?: SortOrderInput | SortOrder + googleCurrentOpeningHours?: SortOrderInput | SortOrder + googlePhotos?: SortOrderInput | SortOrder + googlePayload?: SortOrderInput | SortOrder + googlePayloadFetchedAt?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder experiences?: VoiceExperienceOrderByRelationAggregateInput + favoriteUsers?: UserFavoritePlaceOrderByRelationAggregateInput } export type PlaceWhereUniqueInput = Prisma.AtLeast<{ @@ -4899,9 +6274,18 @@ export namespace Prisma { longitude?: FloatFilter<"Place"> | number googlePrimaryType?: StringNullableFilter<"Place"> | string | null googleTypes?: StringNullableListFilter<"Place"> + googleBusinessStatus?: StringNullableFilter<"Place"> | string | null + googleRating?: FloatNullableFilter<"Place"> | number | null + googleUserRatingCount?: IntNullableFilter<"Place"> | number | null + googleRegularOpeningHours?: JsonNullableFilter<"Place"> + googleCurrentOpeningHours?: JsonNullableFilter<"Place"> + googlePhotos?: JsonNullableFilter<"Place"> + googlePayload?: JsonNullableFilter<"Place"> + googlePayloadFetchedAt?: DateTimeNullableFilter<"Place"> | Date | string | null createdAt?: DateTimeFilter<"Place"> | Date | string updatedAt?: DateTimeFilter<"Place"> | Date | string experiences?: VoiceExperienceListRelationFilter + favoriteUsers?: UserFavoritePlaceListRelationFilter }, "id" | "googlePlaceId"> export type PlaceOrderByWithAggregationInput = { @@ -4912,6 +6296,14 @@ export namespace Prisma { longitude?: SortOrder googlePrimaryType?: SortOrderInput | SortOrder googleTypes?: SortOrder + googleBusinessStatus?: SortOrderInput | SortOrder + googleRating?: SortOrderInput | SortOrder + googleUserRatingCount?: SortOrderInput | SortOrder + googleRegularOpeningHours?: SortOrderInput | SortOrder + googleCurrentOpeningHours?: SortOrderInput | SortOrder + googlePhotos?: SortOrderInput | SortOrder + googlePayload?: SortOrderInput | SortOrder + googlePayloadFetchedAt?: SortOrderInput | SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: PlaceCountOrderByAggregateInput @@ -4932,6 +6324,14 @@ export namespace Prisma { longitude?: FloatWithAggregatesFilter<"Place"> | number googlePrimaryType?: StringNullableWithAggregatesFilter<"Place"> | string | null googleTypes?: StringNullableListFilter<"Place"> + googleBusinessStatus?: StringNullableWithAggregatesFilter<"Place"> | string | null + googleRating?: FloatNullableWithAggregatesFilter<"Place"> | number | null + googleUserRatingCount?: IntNullableWithAggregatesFilter<"Place"> | number | null + googleRegularOpeningHours?: JsonNullableWithAggregatesFilter<"Place"> + googleCurrentOpeningHours?: JsonNullableWithAggregatesFilter<"Place"> + googlePhotos?: JsonNullableWithAggregatesFilter<"Place"> + googlePayload?: JsonNullableWithAggregatesFilter<"Place"> + googlePayloadFetchedAt?: DateTimeNullableWithAggregatesFilter<"Place"> | Date | string | null createdAt?: DateTimeWithAggregatesFilter<"Place"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"Place"> | Date | string } @@ -4951,6 +6351,7 @@ export namespace Prisma { createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string voiceExperiences?: VoiceExperienceListRelationFilter + favoritePlaces?: UserFavoritePlaceListRelationFilter } export type UserOrderByWithRelationInput = { @@ -4965,6 +6366,7 @@ export namespace Prisma { createdAt?: SortOrder updatedAt?: SortOrder voiceExperiences?: VoiceExperienceOrderByRelationAggregateInput + favoritePlaces?: UserFavoritePlaceOrderByRelationAggregateInput } export type UserWhereUniqueInput = Prisma.AtLeast<{ @@ -4982,6 +6384,7 @@ export namespace Prisma { createdAt?: DateTimeFilter<"User"> | Date | string updatedAt?: DateTimeFilter<"User"> | Date | string voiceExperiences?: VoiceExperienceListRelationFilter + favoritePlaces?: UserFavoritePlaceListRelationFilter }, "id" | "telegramId"> export type UserOrderByWithAggregationInput = { @@ -5016,6 +6419,60 @@ export namespace Prisma { updatedAt?: DateTimeWithAggregatesFilter<"User"> | Date | string } + export type UserFavoritePlaceWhereInput = { + AND?: UserFavoritePlaceWhereInput | UserFavoritePlaceWhereInput[] + OR?: UserFavoritePlaceWhereInput[] + NOT?: UserFavoritePlaceWhereInput | UserFavoritePlaceWhereInput[] + id?: StringFilter<"UserFavoritePlace"> | string + userId?: StringFilter<"UserFavoritePlace"> | string + placeId?: StringFilter<"UserFavoritePlace"> | string + createdAt?: DateTimeFilter<"UserFavoritePlace"> | Date | string + user?: XOR + place?: XOR + } + + export type UserFavoritePlaceOrderByWithRelationInput = { + id?: SortOrder + userId?: SortOrder + placeId?: SortOrder + createdAt?: SortOrder + user?: UserOrderByWithRelationInput + place?: PlaceOrderByWithRelationInput + } + + export type UserFavoritePlaceWhereUniqueInput = Prisma.AtLeast<{ + id?: string + userId_placeId?: UserFavoritePlaceUserIdPlaceIdCompoundUniqueInput + AND?: UserFavoritePlaceWhereInput | UserFavoritePlaceWhereInput[] + OR?: UserFavoritePlaceWhereInput[] + NOT?: UserFavoritePlaceWhereInput | UserFavoritePlaceWhereInput[] + userId?: StringFilter<"UserFavoritePlace"> | string + placeId?: StringFilter<"UserFavoritePlace"> | string + createdAt?: DateTimeFilter<"UserFavoritePlace"> | Date | string + user?: XOR + place?: XOR + }, "id" | "userId_placeId"> + + export type UserFavoritePlaceOrderByWithAggregationInput = { + id?: SortOrder + userId?: SortOrder + placeId?: SortOrder + createdAt?: SortOrder + _count?: UserFavoritePlaceCountOrderByAggregateInput + _max?: UserFavoritePlaceMaxOrderByAggregateInput + _min?: UserFavoritePlaceMinOrderByAggregateInput + } + + export type UserFavoritePlaceScalarWhereWithAggregatesInput = { + AND?: UserFavoritePlaceScalarWhereWithAggregatesInput | UserFavoritePlaceScalarWhereWithAggregatesInput[] + OR?: UserFavoritePlaceScalarWhereWithAggregatesInput[] + NOT?: UserFavoritePlaceScalarWhereWithAggregatesInput | UserFavoritePlaceScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"UserFavoritePlace"> | string + userId?: StringWithAggregatesFilter<"UserFavoritePlace"> | string + placeId?: StringWithAggregatesFilter<"UserFavoritePlace"> | string + createdAt?: DateTimeWithAggregatesFilter<"UserFavoritePlace"> | Date | string + } + export type VoiceExperienceWhereInput = { AND?: VoiceExperienceWhereInput | VoiceExperienceWhereInput[] OR?: VoiceExperienceWhereInput[] @@ -5031,6 +6488,8 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusFilter<"VoiceExperience"> | $Enums.VoiceExperienceStatus transcript?: StringNullableFilter<"VoiceExperience"> | string | null analysis?: JsonNullableFilter<"VoiceExperience"> + recordingPayload?: JsonNullableFilter<"VoiceExperience"> + promptHintsShown?: StringNullableListFilter<"VoiceExperience"> createdAt?: DateTimeFilter<"VoiceExperience"> | Date | string updatedAt?: DateTimeFilter<"VoiceExperience"> | Date | string place?: XOR @@ -5049,6 +6508,8 @@ export namespace Prisma { status?: SortOrder transcript?: SortOrderInput | SortOrder analysis?: SortOrderInput | SortOrder + recordingPayload?: SortOrderInput | SortOrder + promptHintsShown?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder place?: PlaceOrderByWithRelationInput @@ -5070,6 +6531,8 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusFilter<"VoiceExperience"> | $Enums.VoiceExperienceStatus transcript?: StringNullableFilter<"VoiceExperience"> | string | null analysis?: JsonNullableFilter<"VoiceExperience"> + recordingPayload?: JsonNullableFilter<"VoiceExperience"> + promptHintsShown?: StringNullableListFilter<"VoiceExperience"> createdAt?: DateTimeFilter<"VoiceExperience"> | Date | string updatedAt?: DateTimeFilter<"VoiceExperience"> | Date | string place?: XOR @@ -5088,6 +6551,8 @@ export namespace Prisma { status?: SortOrder transcript?: SortOrderInput | SortOrder analysis?: SortOrderInput | SortOrder + recordingPayload?: SortOrderInput | SortOrder + promptHintsShown?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder _count?: VoiceExperienceCountOrderByAggregateInput @@ -5112,6 +6577,8 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusWithAggregatesFilter<"VoiceExperience"> | $Enums.VoiceExperienceStatus transcript?: StringNullableWithAggregatesFilter<"VoiceExperience"> | string | null analysis?: JsonNullableWithAggregatesFilter<"VoiceExperience"> + recordingPayload?: JsonNullableWithAggregatesFilter<"VoiceExperience"> + promptHintsShown?: StringNullableListFilter<"VoiceExperience"> createdAt?: DateTimeWithAggregatesFilter<"VoiceExperience"> | Date | string updatedAt?: DateTimeWithAggregatesFilter<"VoiceExperience"> | Date | string } @@ -5124,9 +6591,18 @@ export namespace Prisma { longitude: number googlePrimaryType?: string | null googleTypes?: PlaceCreategoogleTypesInput | string[] + googleBusinessStatus?: string | null + googleRating?: number | null + googleUserRatingCount?: number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string experiences?: VoiceExperienceCreateNestedManyWithoutPlaceInput + favoriteUsers?: UserFavoritePlaceCreateNestedManyWithoutPlaceInput } export type PlaceUncheckedCreateInput = { @@ -5137,9 +6613,18 @@ export namespace Prisma { longitude: number googlePrimaryType?: string | null googleTypes?: PlaceCreategoogleTypesInput | string[] + googleBusinessStatus?: string | null + googleRating?: number | null + googleUserRatingCount?: number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string experiences?: VoiceExperienceUncheckedCreateNestedManyWithoutPlaceInput + favoriteUsers?: UserFavoritePlaceUncheckedCreateNestedManyWithoutPlaceInput } export type PlaceUpdateInput = { @@ -5150,9 +6635,18 @@ export namespace Prisma { longitude?: FloatFieldUpdateOperationsInput | number googlePrimaryType?: NullableStringFieldUpdateOperationsInput | string | null googleTypes?: PlaceUpdategoogleTypesInput | string[] + googleBusinessStatus?: NullableStringFieldUpdateOperationsInput | string | null + googleRating?: NullableFloatFieldUpdateOperationsInput | number | null + googleUserRatingCount?: NullableIntFieldUpdateOperationsInput | number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string experiences?: VoiceExperienceUpdateManyWithoutPlaceNestedInput + favoriteUsers?: UserFavoritePlaceUpdateManyWithoutPlaceNestedInput } export type PlaceUncheckedUpdateInput = { @@ -5163,9 +6657,18 @@ export namespace Prisma { longitude?: FloatFieldUpdateOperationsInput | number googlePrimaryType?: NullableStringFieldUpdateOperationsInput | string | null googleTypes?: PlaceUpdategoogleTypesInput | string[] + googleBusinessStatus?: NullableStringFieldUpdateOperationsInput | string | null + googleRating?: NullableFloatFieldUpdateOperationsInput | number | null + googleUserRatingCount?: NullableIntFieldUpdateOperationsInput | number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string experiences?: VoiceExperienceUncheckedUpdateManyWithoutPlaceNestedInput + favoriteUsers?: UserFavoritePlaceUncheckedUpdateManyWithoutPlaceNestedInput } export type PlaceCreateManyInput = { @@ -5176,6 +6679,14 @@ export namespace Prisma { longitude: number googlePrimaryType?: string | null googleTypes?: PlaceCreategoogleTypesInput | string[] + googleBusinessStatus?: string | null + googleRating?: number | null + googleUserRatingCount?: number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string } @@ -5188,6 +6699,14 @@ export namespace Prisma { longitude?: FloatFieldUpdateOperationsInput | number googlePrimaryType?: NullableStringFieldUpdateOperationsInput | string | null googleTypes?: PlaceUpdategoogleTypesInput | string[] + googleBusinessStatus?: NullableStringFieldUpdateOperationsInput | string | null + googleRating?: NullableFloatFieldUpdateOperationsInput | number | null + googleUserRatingCount?: NullableIntFieldUpdateOperationsInput | number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } @@ -5200,6 +6719,14 @@ export namespace Prisma { longitude?: FloatFieldUpdateOperationsInput | number googlePrimaryType?: NullableStringFieldUpdateOperationsInput | string | null googleTypes?: PlaceUpdategoogleTypesInput | string[] + googleBusinessStatus?: NullableStringFieldUpdateOperationsInput | string | null + googleRating?: NullableFloatFieldUpdateOperationsInput | number | null + googleUserRatingCount?: NullableIntFieldUpdateOperationsInput | number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } @@ -5216,6 +6743,7 @@ export namespace Prisma { createdAt?: Date | string updatedAt?: Date | string voiceExperiences?: VoiceExperienceCreateNestedManyWithoutUserInput + favoritePlaces?: UserFavoritePlaceCreateNestedManyWithoutUserInput } export type UserUncheckedCreateInput = { @@ -5230,6 +6758,7 @@ export namespace Prisma { createdAt?: Date | string updatedAt?: Date | string voiceExperiences?: VoiceExperienceUncheckedCreateNestedManyWithoutUserInput + favoritePlaces?: UserFavoritePlaceUncheckedCreateNestedManyWithoutUserInput } export type UserUpdateInput = { @@ -5244,6 +6773,7 @@ export namespace Prisma { createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string voiceExperiences?: VoiceExperienceUpdateManyWithoutUserNestedInput + favoritePlaces?: UserFavoritePlaceUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateInput = { @@ -5258,6 +6788,7 @@ export namespace Prisma { createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string voiceExperiences?: VoiceExperienceUncheckedUpdateManyWithoutUserNestedInput + favoritePlaces?: UserFavoritePlaceUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateManyInput = { @@ -5299,6 +6830,53 @@ export namespace Prisma { updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } + export type UserFavoritePlaceCreateInput = { + id?: string + createdAt?: Date | string + user: UserCreateNestedOneWithoutFavoritePlacesInput + place: PlaceCreateNestedOneWithoutFavoriteUsersInput + } + + export type UserFavoritePlaceUncheckedCreateInput = { + id?: string + userId: string + placeId: string + createdAt?: Date | string + } + + export type UserFavoritePlaceUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + user?: UserUpdateOneRequiredWithoutFavoritePlacesNestedInput + place?: PlaceUpdateOneRequiredWithoutFavoriteUsersNestedInput + } + + export type UserFavoritePlaceUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + placeId?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type UserFavoritePlaceCreateManyInput = { + id?: string + userId: string + placeId: string + createdAt?: Date | string + } + + export type UserFavoritePlaceUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type UserFavoritePlaceUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + placeId?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + export type VoiceExperienceCreateInput = { id?: string durationSeconds: number @@ -5309,6 +6887,8 @@ export namespace Prisma { status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceCreatepromptHintsShownInput | string[] createdAt?: Date | string updatedAt?: Date | string place: PlaceCreateNestedOneWithoutExperiencesInput @@ -5327,6 +6907,8 @@ export namespace Prisma { status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceCreatepromptHintsShownInput | string[] createdAt?: Date | string updatedAt?: Date | string } @@ -5341,6 +6923,8 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceUpdatepromptHintsShownInput | string[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string place?: PlaceUpdateOneRequiredWithoutExperiencesNestedInput @@ -5359,6 +6943,8 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceUpdatepromptHintsShownInput | string[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } @@ -5375,6 +6961,8 @@ export namespace Prisma { status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceCreatepromptHintsShownInput | string[] createdAt?: Date | string updatedAt?: Date | string } @@ -5389,6 +6977,8 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceUpdatepromptHintsShownInput | string[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } @@ -5405,6 +6995,8 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceUpdatepromptHintsShownInput | string[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } @@ -5458,6 +7050,62 @@ export namespace Prisma { isEmpty?: boolean } + export type FloatNullableFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> | null + in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatNullableFilter<$PrismaModel> | number | null + } + + export type IntNullableFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> | null + in?: number[] | ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntNullableFilter<$PrismaModel> | number | null + } + export type JsonNullableFilter<$PrismaModel = never> = + | PatchUndefined< + Either>, Exclude>, 'path'>>, + Required> + > + | OptionalFlat>, 'path'>> + + export type JsonNullableFilterBase<$PrismaModel = never> = { + equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + path?: string[] + mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> + string_contains?: string | StringFieldRefInput<$PrismaModel> + string_starts_with?: string | StringFieldRefInput<$PrismaModel> + string_ends_with?: string | StringFieldRefInput<$PrismaModel> + array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + } + + export type DateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null + } + export type DateTimeFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> @@ -5475,6 +7123,12 @@ export namespace Prisma { none?: VoiceExperienceWhereInput } + export type UserFavoritePlaceListRelationFilter = { + every?: UserFavoritePlaceWhereInput + some?: UserFavoritePlaceWhereInput + none?: UserFavoritePlaceWhereInput + } + export type SortOrderInput = { sort: SortOrder nulls?: NullsOrder @@ -5484,6 +7138,10 @@ export namespace Prisma { _count?: SortOrder } + export type UserFavoritePlaceOrderByRelationAggregateInput = { + _count?: SortOrder + } + export type PlaceCountOrderByAggregateInput = { id?: SortOrder googlePlaceId?: SortOrder @@ -5492,6 +7150,14 @@ export namespace Prisma { longitude?: SortOrder googlePrimaryType?: SortOrder googleTypes?: SortOrder + googleBusinessStatus?: SortOrder + googleRating?: SortOrder + googleUserRatingCount?: SortOrder + googleRegularOpeningHours?: SortOrder + googleCurrentOpeningHours?: SortOrder + googlePhotos?: SortOrder + googlePayload?: SortOrder + googlePayloadFetchedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } @@ -5499,6 +7165,8 @@ export namespace Prisma { export type PlaceAvgOrderByAggregateInput = { latitude?: SortOrder longitude?: SortOrder + googleRating?: SortOrder + googleUserRatingCount?: SortOrder } export type PlaceMaxOrderByAggregateInput = { @@ -5508,6 +7176,10 @@ export namespace Prisma { latitude?: SortOrder longitude?: SortOrder googlePrimaryType?: SortOrder + googleBusinessStatus?: SortOrder + googleRating?: SortOrder + googleUserRatingCount?: SortOrder + googlePayloadFetchedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } @@ -5519,6 +7191,10 @@ export namespace Prisma { latitude?: SortOrder longitude?: SortOrder googlePrimaryType?: SortOrder + googleBusinessStatus?: SortOrder + googleRating?: SortOrder + googleUserRatingCount?: SortOrder + googlePayloadFetchedAt?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } @@ -5526,6 +7202,8 @@ export namespace Prisma { export type PlaceSumOrderByAggregateInput = { latitude?: SortOrder longitude?: SortOrder + googleRating?: SortOrder + googleUserRatingCount?: SortOrder } export type StringWithAggregatesFilter<$PrismaModel = never> = { @@ -5580,6 +7258,78 @@ export namespace Prisma { _max?: NestedStringNullableFilter<$PrismaModel> } + export type FloatNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> | null + in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedFloatNullableFilter<$PrismaModel> + _min?: NestedFloatNullableFilter<$PrismaModel> + _max?: NestedFloatNullableFilter<$PrismaModel> + } + + export type IntNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> | null + in?: number[] | ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedIntNullableFilter<$PrismaModel> + _max?: NestedIntNullableFilter<$PrismaModel> + } + export type JsonNullableWithAggregatesFilter<$PrismaModel = never> = + | PatchUndefined< + Either>, Exclude>, 'path'>>, + Required> + > + | OptionalFlat>, 'path'>> + + export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = { + equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + path?: string[] + mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> + string_contains?: string | StringFieldRefInput<$PrismaModel> + string_starts_with?: string | StringFieldRefInput<$PrismaModel> + string_ends_with?: string | StringFieldRefInput<$PrismaModel> + array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedJsonNullableFilter<$PrismaModel> + _max?: NestedJsonNullableFilter<$PrismaModel> + } + + export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedDateTimeNullableFilter<$PrismaModel> + _max?: NestedDateTimeNullableFilter<$PrismaModel> + } + export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> @@ -5646,6 +7396,42 @@ export namespace Prisma { _max?: NestedBoolFilter<$PrismaModel> } + export type UserScalarRelationFilter = { + is?: UserWhereInput + isNot?: UserWhereInput + } + + export type PlaceScalarRelationFilter = { + is?: PlaceWhereInput + isNot?: PlaceWhereInput + } + + export type UserFavoritePlaceUserIdPlaceIdCompoundUniqueInput = { + userId: string + placeId: string + } + + export type UserFavoritePlaceCountOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + placeId?: SortOrder + createdAt?: SortOrder + } + + export type UserFavoritePlaceMaxOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + placeId?: SortOrder + createdAt?: SortOrder + } + + export type UserFavoritePlaceMinOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + placeId?: SortOrder + createdAt?: SortOrder + } + export type IntFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> @@ -5663,34 +7449,6 @@ export namespace Prisma { notIn?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> not?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> | $Enums.VoiceExperienceStatus } - export type JsonNullableFilter<$PrismaModel = never> = - | PatchUndefined< - Either>, Exclude>, 'path'>>, - Required> - > - | OptionalFlat>, 'path'>> - - export type JsonNullableFilterBase<$PrismaModel = never> = { - equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter - path?: string[] - mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> - string_contains?: string | StringFieldRefInput<$PrismaModel> - string_starts_with?: string | StringFieldRefInput<$PrismaModel> - string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null - array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null - lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> - lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> - gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> - gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> - not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter - } - - export type PlaceScalarRelationFilter = { - is?: PlaceWhereInput - isNot?: PlaceWhereInput - } export type UserNullableScalarRelationFilter = { is?: UserWhereInput | null @@ -5709,6 +7467,8 @@ export namespace Prisma { status?: SortOrder transcript?: SortOrder analysis?: SortOrder + recordingPayload?: SortOrder + promptHintsShown?: SortOrder createdAt?: SortOrder updatedAt?: SortOrder } @@ -5776,32 +7536,6 @@ export namespace Prisma { _min?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> _max?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> } - export type JsonNullableWithAggregatesFilter<$PrismaModel = never> = - | PatchUndefined< - Either>, Exclude>, 'path'>>, - Required> - > - | OptionalFlat>, 'path'>> - - export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = { - equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter - path?: string[] - mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> - string_contains?: string | StringFieldRefInput<$PrismaModel> - string_starts_with?: string | StringFieldRefInput<$PrismaModel> - string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null - array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null - lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> - lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> - gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> - gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> - not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter - _count?: NestedIntNullableFilter<$PrismaModel> - _min?: NestedJsonNullableFilter<$PrismaModel> - _max?: NestedJsonNullableFilter<$PrismaModel> - } export type PlaceCreategoogleTypesInput = { set: string[] @@ -5814,6 +7548,13 @@ export namespace Prisma { connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] } + export type UserFavoritePlaceCreateNestedManyWithoutPlaceInput = { + create?: XOR | UserFavoritePlaceCreateWithoutPlaceInput[] | UserFavoritePlaceUncheckedCreateWithoutPlaceInput[] + connectOrCreate?: UserFavoritePlaceCreateOrConnectWithoutPlaceInput | UserFavoritePlaceCreateOrConnectWithoutPlaceInput[] + createMany?: UserFavoritePlaceCreateManyPlaceInputEnvelope + connect?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + } + export type VoiceExperienceUncheckedCreateNestedManyWithoutPlaceInput = { create?: XOR | VoiceExperienceCreateWithoutPlaceInput[] | VoiceExperienceUncheckedCreateWithoutPlaceInput[] connectOrCreate?: VoiceExperienceCreateOrConnectWithoutPlaceInput | VoiceExperienceCreateOrConnectWithoutPlaceInput[] @@ -5821,6 +7562,13 @@ export namespace Prisma { connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] } + export type UserFavoritePlaceUncheckedCreateNestedManyWithoutPlaceInput = { + create?: XOR | UserFavoritePlaceCreateWithoutPlaceInput[] | UserFavoritePlaceUncheckedCreateWithoutPlaceInput[] + connectOrCreate?: UserFavoritePlaceCreateOrConnectWithoutPlaceInput | UserFavoritePlaceCreateOrConnectWithoutPlaceInput[] + createMany?: UserFavoritePlaceCreateManyPlaceInputEnvelope + connect?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + } + export type StringFieldUpdateOperationsInput = { set?: string } @@ -5842,6 +7590,26 @@ export namespace Prisma { push?: string | string[] } + export type NullableFloatFieldUpdateOperationsInput = { + set?: number | null + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type NullableIntFieldUpdateOperationsInput = { + set?: number | null + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type NullableDateTimeFieldUpdateOperationsInput = { + set?: Date | string | null + } + export type DateTimeFieldUpdateOperationsInput = { set?: Date | string } @@ -5860,6 +7628,20 @@ export namespace Prisma { deleteMany?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] } + export type UserFavoritePlaceUpdateManyWithoutPlaceNestedInput = { + create?: XOR | UserFavoritePlaceCreateWithoutPlaceInput[] | UserFavoritePlaceUncheckedCreateWithoutPlaceInput[] + connectOrCreate?: UserFavoritePlaceCreateOrConnectWithoutPlaceInput | UserFavoritePlaceCreateOrConnectWithoutPlaceInput[] + upsert?: UserFavoritePlaceUpsertWithWhereUniqueWithoutPlaceInput | UserFavoritePlaceUpsertWithWhereUniqueWithoutPlaceInput[] + createMany?: UserFavoritePlaceCreateManyPlaceInputEnvelope + set?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + disconnect?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + delete?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + connect?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + update?: UserFavoritePlaceUpdateWithWhereUniqueWithoutPlaceInput | UserFavoritePlaceUpdateWithWhereUniqueWithoutPlaceInput[] + updateMany?: UserFavoritePlaceUpdateManyWithWhereWithoutPlaceInput | UserFavoritePlaceUpdateManyWithWhereWithoutPlaceInput[] + deleteMany?: UserFavoritePlaceScalarWhereInput | UserFavoritePlaceScalarWhereInput[] + } + export type VoiceExperienceUncheckedUpdateManyWithoutPlaceNestedInput = { create?: XOR | VoiceExperienceCreateWithoutPlaceInput[] | VoiceExperienceUncheckedCreateWithoutPlaceInput[] connectOrCreate?: VoiceExperienceCreateOrConnectWithoutPlaceInput | VoiceExperienceCreateOrConnectWithoutPlaceInput[] @@ -5874,6 +7656,20 @@ export namespace Prisma { deleteMany?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] } + export type UserFavoritePlaceUncheckedUpdateManyWithoutPlaceNestedInput = { + create?: XOR | UserFavoritePlaceCreateWithoutPlaceInput[] | UserFavoritePlaceUncheckedCreateWithoutPlaceInput[] + connectOrCreate?: UserFavoritePlaceCreateOrConnectWithoutPlaceInput | UserFavoritePlaceCreateOrConnectWithoutPlaceInput[] + upsert?: UserFavoritePlaceUpsertWithWhereUniqueWithoutPlaceInput | UserFavoritePlaceUpsertWithWhereUniqueWithoutPlaceInput[] + createMany?: UserFavoritePlaceCreateManyPlaceInputEnvelope + set?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + disconnect?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + delete?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + connect?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + update?: UserFavoritePlaceUpdateWithWhereUniqueWithoutPlaceInput | UserFavoritePlaceUpdateWithWhereUniqueWithoutPlaceInput[] + updateMany?: UserFavoritePlaceUpdateManyWithWhereWithoutPlaceInput | UserFavoritePlaceUpdateManyWithWhereWithoutPlaceInput[] + deleteMany?: UserFavoritePlaceScalarWhereInput | UserFavoritePlaceScalarWhereInput[] + } + export type VoiceExperienceCreateNestedManyWithoutUserInput = { create?: XOR | VoiceExperienceCreateWithoutUserInput[] | VoiceExperienceUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceExperienceCreateOrConnectWithoutUserInput | VoiceExperienceCreateOrConnectWithoutUserInput[] @@ -5881,6 +7677,13 @@ export namespace Prisma { connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] } + export type UserFavoritePlaceCreateNestedManyWithoutUserInput = { + create?: XOR | UserFavoritePlaceCreateWithoutUserInput[] | UserFavoritePlaceUncheckedCreateWithoutUserInput[] + connectOrCreate?: UserFavoritePlaceCreateOrConnectWithoutUserInput | UserFavoritePlaceCreateOrConnectWithoutUserInput[] + createMany?: UserFavoritePlaceCreateManyUserInputEnvelope + connect?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + } + export type VoiceExperienceUncheckedCreateNestedManyWithoutUserInput = { create?: XOR | VoiceExperienceCreateWithoutUserInput[] | VoiceExperienceUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceExperienceCreateOrConnectWithoutUserInput | VoiceExperienceCreateOrConnectWithoutUserInput[] @@ -5888,6 +7691,13 @@ export namespace Prisma { connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] } + export type UserFavoritePlaceUncheckedCreateNestedManyWithoutUserInput = { + create?: XOR | UserFavoritePlaceCreateWithoutUserInput[] | UserFavoritePlaceUncheckedCreateWithoutUserInput[] + connectOrCreate?: UserFavoritePlaceCreateOrConnectWithoutUserInput | UserFavoritePlaceCreateOrConnectWithoutUserInput[] + createMany?: UserFavoritePlaceCreateManyUserInputEnvelope + connect?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + } + export type BoolFieldUpdateOperationsInput = { set?: boolean } @@ -5906,6 +7716,20 @@ export namespace Prisma { deleteMany?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] } + export type UserFavoritePlaceUpdateManyWithoutUserNestedInput = { + create?: XOR | UserFavoritePlaceCreateWithoutUserInput[] | UserFavoritePlaceUncheckedCreateWithoutUserInput[] + connectOrCreate?: UserFavoritePlaceCreateOrConnectWithoutUserInput | UserFavoritePlaceCreateOrConnectWithoutUserInput[] + upsert?: UserFavoritePlaceUpsertWithWhereUniqueWithoutUserInput | UserFavoritePlaceUpsertWithWhereUniqueWithoutUserInput[] + createMany?: UserFavoritePlaceCreateManyUserInputEnvelope + set?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + disconnect?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + delete?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + connect?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + update?: UserFavoritePlaceUpdateWithWhereUniqueWithoutUserInput | UserFavoritePlaceUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: UserFavoritePlaceUpdateManyWithWhereWithoutUserInput | UserFavoritePlaceUpdateManyWithWhereWithoutUserInput[] + deleteMany?: UserFavoritePlaceScalarWhereInput | UserFavoritePlaceScalarWhereInput[] + } + export type VoiceExperienceUncheckedUpdateManyWithoutUserNestedInput = { create?: XOR | VoiceExperienceCreateWithoutUserInput[] | VoiceExperienceUncheckedCreateWithoutUserInput[] connectOrCreate?: VoiceExperienceCreateOrConnectWithoutUserInput | VoiceExperienceCreateOrConnectWithoutUserInput[] @@ -5920,6 +7744,52 @@ export namespace Prisma { deleteMany?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] } + export type UserFavoritePlaceUncheckedUpdateManyWithoutUserNestedInput = { + create?: XOR | UserFavoritePlaceCreateWithoutUserInput[] | UserFavoritePlaceUncheckedCreateWithoutUserInput[] + connectOrCreate?: UserFavoritePlaceCreateOrConnectWithoutUserInput | UserFavoritePlaceCreateOrConnectWithoutUserInput[] + upsert?: UserFavoritePlaceUpsertWithWhereUniqueWithoutUserInput | UserFavoritePlaceUpsertWithWhereUniqueWithoutUserInput[] + createMany?: UserFavoritePlaceCreateManyUserInputEnvelope + set?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + disconnect?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + delete?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + connect?: UserFavoritePlaceWhereUniqueInput | UserFavoritePlaceWhereUniqueInput[] + update?: UserFavoritePlaceUpdateWithWhereUniqueWithoutUserInput | UserFavoritePlaceUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: UserFavoritePlaceUpdateManyWithWhereWithoutUserInput | UserFavoritePlaceUpdateManyWithWhereWithoutUserInput[] + deleteMany?: UserFavoritePlaceScalarWhereInput | UserFavoritePlaceScalarWhereInput[] + } + + export type UserCreateNestedOneWithoutFavoritePlacesInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutFavoritePlacesInput + connect?: UserWhereUniqueInput + } + + export type PlaceCreateNestedOneWithoutFavoriteUsersInput = { + create?: XOR + connectOrCreate?: PlaceCreateOrConnectWithoutFavoriteUsersInput + connect?: PlaceWhereUniqueInput + } + + export type UserUpdateOneRequiredWithoutFavoritePlacesNestedInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutFavoritePlacesInput + upsert?: UserUpsertWithoutFavoritePlacesInput + connect?: UserWhereUniqueInput + update?: XOR, UserUncheckedUpdateWithoutFavoritePlacesInput> + } + + export type PlaceUpdateOneRequiredWithoutFavoriteUsersNestedInput = { + create?: XOR + connectOrCreate?: PlaceCreateOrConnectWithoutFavoriteUsersInput + upsert?: PlaceUpsertWithoutFavoriteUsersInput + connect?: PlaceWhereUniqueInput + update?: XOR, PlaceUncheckedUpdateWithoutFavoriteUsersInput> + } + + export type VoiceExperienceCreatepromptHintsShownInput = { + set: string[] + } + export type PlaceCreateNestedOneWithoutExperiencesInput = { create?: XOR connectOrCreate?: PlaceCreateOrConnectWithoutExperiencesInput @@ -5944,6 +7814,11 @@ export namespace Prisma { set?: $Enums.VoiceExperienceStatus } + export type VoiceExperienceUpdatepromptHintsShownInput = { + set?: string[] + push?: string | string[] + } + export type PlaceUpdateOneRequiredWithoutExperiencesNestedInput = { create?: XOR connectOrCreate?: PlaceCreateOrConnectWithoutExperiencesInput @@ -6001,6 +7876,39 @@ export namespace Prisma { not?: NestedStringNullableFilter<$PrismaModel> | string | null } + export type NestedFloatNullableFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> | null + in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatNullableFilter<$PrismaModel> | number | null + } + + export type NestedIntNullableFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> | null + in?: number[] | ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntNullableFilter<$PrismaModel> | number | null + } + + export type NestedDateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null + } + export type NestedDateTimeFilter<$PrismaModel = never> = { equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> @@ -6073,7 +7981,23 @@ export namespace Prisma { _max?: NestedStringNullableFilter<$PrismaModel> } - export type NestedIntNullableFilter<$PrismaModel = never> = { + export type NestedFloatNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> | null + in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedFloatNullableFilter<$PrismaModel> + _min?: NestedFloatNullableFilter<$PrismaModel> + _max?: NestedFloatNullableFilter<$PrismaModel> + } + + export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> | null in?: number[] | ListIntFieldRefInput<$PrismaModel> | null notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null @@ -6081,7 +8005,49 @@ export namespace Prisma { lte?: number | IntFieldRefInput<$PrismaModel> gt?: number | IntFieldRefInput<$PrismaModel> gte?: number | IntFieldRefInput<$PrismaModel> - not?: NestedIntNullableFilter<$PrismaModel> | number | null + not?: NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedIntNullableFilter<$PrismaModel> + _max?: NestedIntNullableFilter<$PrismaModel> + } + export type NestedJsonNullableFilter<$PrismaModel = never> = + | PatchUndefined< + Either>, Exclude>, 'path'>>, + Required> + > + | OptionalFlat>, 'path'>> + + export type NestedJsonNullableFilterBase<$PrismaModel = never> = { + equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + path?: string[] + mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> + string_contains?: string | StringFieldRefInput<$PrismaModel> + string_starts_with?: string | StringFieldRefInput<$PrismaModel> + string_ends_with?: string | StringFieldRefInput<$PrismaModel> + array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + } + + export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedDateTimeNullableFilter<$PrismaModel> + _max?: NestedDateTimeNullableFilter<$PrismaModel> } export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { @@ -6143,29 +8109,6 @@ export namespace Prisma { _min?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> _max?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> } - export type NestedJsonNullableFilter<$PrismaModel = never> = - | PatchUndefined< - Either>, Exclude>, 'path'>>, - Required> - > - | OptionalFlat>, 'path'>> - - export type NestedJsonNullableFilterBase<$PrismaModel = never> = { - equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter - path?: string[] - mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> - string_contains?: string | StringFieldRefInput<$PrismaModel> - string_starts_with?: string | StringFieldRefInput<$PrismaModel> - string_ends_with?: string | StringFieldRefInput<$PrismaModel> - array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null - array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null - array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null - lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> - lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> - gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> - gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> - not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter - } export type VoiceExperienceCreateWithoutPlaceInput = { id?: string @@ -6177,6 +8120,8 @@ export namespace Prisma { status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceCreatepromptHintsShownInput | string[] createdAt?: Date | string updatedAt?: Date | string user?: UserCreateNestedOneWithoutVoiceExperiencesInput @@ -6193,6 +8138,8 @@ export namespace Prisma { status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceCreatepromptHintsShownInput | string[] createdAt?: Date | string updatedAt?: Date | string } @@ -6207,6 +8154,28 @@ export namespace Prisma { skipDuplicates?: boolean } + export type UserFavoritePlaceCreateWithoutPlaceInput = { + id?: string + createdAt?: Date | string + user: UserCreateNestedOneWithoutFavoritePlacesInput + } + + export type UserFavoritePlaceUncheckedCreateWithoutPlaceInput = { + id?: string + userId: string + createdAt?: Date | string + } + + export type UserFavoritePlaceCreateOrConnectWithoutPlaceInput = { + where: UserFavoritePlaceWhereUniqueInput + create: XOR + } + + export type UserFavoritePlaceCreateManyPlaceInputEnvelope = { + data: UserFavoritePlaceCreateManyPlaceInput | UserFavoritePlaceCreateManyPlaceInput[] + skipDuplicates?: boolean + } + export type VoiceExperienceUpsertWithWhereUniqueWithoutPlaceInput = { where: VoiceExperienceWhereUniqueInput update: XOR @@ -6238,10 +8207,38 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusFilter<"VoiceExperience"> | $Enums.VoiceExperienceStatus transcript?: StringNullableFilter<"VoiceExperience"> | string | null analysis?: JsonNullableFilter<"VoiceExperience"> + recordingPayload?: JsonNullableFilter<"VoiceExperience"> + promptHintsShown?: StringNullableListFilter<"VoiceExperience"> createdAt?: DateTimeFilter<"VoiceExperience"> | Date | string updatedAt?: DateTimeFilter<"VoiceExperience"> | Date | string } + export type UserFavoritePlaceUpsertWithWhereUniqueWithoutPlaceInput = { + where: UserFavoritePlaceWhereUniqueInput + update: XOR + create: XOR + } + + export type UserFavoritePlaceUpdateWithWhereUniqueWithoutPlaceInput = { + where: UserFavoritePlaceWhereUniqueInput + data: XOR + } + + export type UserFavoritePlaceUpdateManyWithWhereWithoutPlaceInput = { + where: UserFavoritePlaceScalarWhereInput + data: XOR + } + + export type UserFavoritePlaceScalarWhereInput = { + AND?: UserFavoritePlaceScalarWhereInput | UserFavoritePlaceScalarWhereInput[] + OR?: UserFavoritePlaceScalarWhereInput[] + NOT?: UserFavoritePlaceScalarWhereInput | UserFavoritePlaceScalarWhereInput[] + id?: StringFilter<"UserFavoritePlace"> | string + userId?: StringFilter<"UserFavoritePlace"> | string + placeId?: StringFilter<"UserFavoritePlace"> | string + createdAt?: DateTimeFilter<"UserFavoritePlace"> | Date | string + } + export type VoiceExperienceCreateWithoutUserInput = { id?: string durationSeconds: number @@ -6252,6 +8249,8 @@ export namespace Prisma { status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceCreatepromptHintsShownInput | string[] createdAt?: Date | string updatedAt?: Date | string place: PlaceCreateNestedOneWithoutExperiencesInput @@ -6268,6 +8267,8 @@ export namespace Prisma { status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceCreatepromptHintsShownInput | string[] createdAt?: Date | string updatedAt?: Date | string } @@ -6282,6 +8283,28 @@ export namespace Prisma { skipDuplicates?: boolean } + export type UserFavoritePlaceCreateWithoutUserInput = { + id?: string + createdAt?: Date | string + place: PlaceCreateNestedOneWithoutFavoriteUsersInput + } + + export type UserFavoritePlaceUncheckedCreateWithoutUserInput = { + id?: string + placeId: string + createdAt?: Date | string + } + + export type UserFavoritePlaceCreateOrConnectWithoutUserInput = { + where: UserFavoritePlaceWhereUniqueInput + create: XOR + } + + export type UserFavoritePlaceCreateManyUserInputEnvelope = { + data: UserFavoritePlaceCreateManyUserInput | UserFavoritePlaceCreateManyUserInput[] + skipDuplicates?: boolean + } + export type VoiceExperienceUpsertWithWhereUniqueWithoutUserInput = { where: VoiceExperienceWhereUniqueInput update: XOR @@ -6298,6 +8321,194 @@ export namespace Prisma { data: XOR } + export type UserFavoritePlaceUpsertWithWhereUniqueWithoutUserInput = { + where: UserFavoritePlaceWhereUniqueInput + update: XOR + create: XOR + } + + export type UserFavoritePlaceUpdateWithWhereUniqueWithoutUserInput = { + where: UserFavoritePlaceWhereUniqueInput + data: XOR + } + + export type UserFavoritePlaceUpdateManyWithWhereWithoutUserInput = { + where: UserFavoritePlaceScalarWhereInput + data: XOR + } + + export type UserCreateWithoutFavoritePlacesInput = { + id?: string + telegramId: string + username?: string | null + firstName?: string | null + lastName?: string | null + photoUrl?: string | null + languageCode?: string | null + isAdmin?: boolean + createdAt?: Date | string + updatedAt?: Date | string + voiceExperiences?: VoiceExperienceCreateNestedManyWithoutUserInput + } + + export type UserUncheckedCreateWithoutFavoritePlacesInput = { + id?: string + telegramId: string + username?: string | null + firstName?: string | null + lastName?: string | null + photoUrl?: string | null + languageCode?: string | null + isAdmin?: boolean + createdAt?: Date | string + updatedAt?: Date | string + voiceExperiences?: VoiceExperienceUncheckedCreateNestedManyWithoutUserInput + } + + export type UserCreateOrConnectWithoutFavoritePlacesInput = { + where: UserWhereUniqueInput + create: XOR + } + + export type PlaceCreateWithoutFavoriteUsersInput = { + id?: string + googlePlaceId: string + name: string + latitude: number + longitude: number + googlePrimaryType?: string | null + googleTypes?: PlaceCreategoogleTypesInput | string[] + googleBusinessStatus?: string | null + googleRating?: number | null + googleUserRatingCount?: number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: Date | string | null + createdAt?: Date | string + updatedAt?: Date | string + experiences?: VoiceExperienceCreateNestedManyWithoutPlaceInput + } + + export type PlaceUncheckedCreateWithoutFavoriteUsersInput = { + id?: string + googlePlaceId: string + name: string + latitude: number + longitude: number + googlePrimaryType?: string | null + googleTypes?: PlaceCreategoogleTypesInput | string[] + googleBusinessStatus?: string | null + googleRating?: number | null + googleUserRatingCount?: number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: Date | string | null + createdAt?: Date | string + updatedAt?: Date | string + experiences?: VoiceExperienceUncheckedCreateNestedManyWithoutPlaceInput + } + + export type PlaceCreateOrConnectWithoutFavoriteUsersInput = { + where: PlaceWhereUniqueInput + create: XOR + } + + export type UserUpsertWithoutFavoritePlacesInput = { + update: XOR + create: XOR + where?: UserWhereInput + } + + export type UserUpdateToOneWithWhereWithoutFavoritePlacesInput = { + where?: UserWhereInput + data: XOR + } + + export type UserUpdateWithoutFavoritePlacesInput = { + id?: StringFieldUpdateOperationsInput | string + telegramId?: StringFieldUpdateOperationsInput | string + username?: NullableStringFieldUpdateOperationsInput | string | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + photoUrl?: NullableStringFieldUpdateOperationsInput | string | null + languageCode?: NullableStringFieldUpdateOperationsInput | string | null + isAdmin?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + voiceExperiences?: VoiceExperienceUpdateManyWithoutUserNestedInput + } + + export type UserUncheckedUpdateWithoutFavoritePlacesInput = { + id?: StringFieldUpdateOperationsInput | string + telegramId?: StringFieldUpdateOperationsInput | string + username?: NullableStringFieldUpdateOperationsInput | string | null + firstName?: NullableStringFieldUpdateOperationsInput | string | null + lastName?: NullableStringFieldUpdateOperationsInput | string | null + photoUrl?: NullableStringFieldUpdateOperationsInput | string | null + languageCode?: NullableStringFieldUpdateOperationsInput | string | null + isAdmin?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + voiceExperiences?: VoiceExperienceUncheckedUpdateManyWithoutUserNestedInput + } + + export type PlaceUpsertWithoutFavoriteUsersInput = { + update: XOR + create: XOR + where?: PlaceWhereInput + } + + export type PlaceUpdateToOneWithWhereWithoutFavoriteUsersInput = { + where?: PlaceWhereInput + data: XOR + } + + export type PlaceUpdateWithoutFavoriteUsersInput = { + id?: StringFieldUpdateOperationsInput | string + googlePlaceId?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + latitude?: FloatFieldUpdateOperationsInput | number + longitude?: FloatFieldUpdateOperationsInput | number + googlePrimaryType?: NullableStringFieldUpdateOperationsInput | string | null + googleTypes?: PlaceUpdategoogleTypesInput | string[] + googleBusinessStatus?: NullableStringFieldUpdateOperationsInput | string | null + googleRating?: NullableFloatFieldUpdateOperationsInput | number | null + googleUserRatingCount?: NullableIntFieldUpdateOperationsInput | number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + experiences?: VoiceExperienceUpdateManyWithoutPlaceNestedInput + } + + export type PlaceUncheckedUpdateWithoutFavoriteUsersInput = { + id?: StringFieldUpdateOperationsInput | string + googlePlaceId?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + latitude?: FloatFieldUpdateOperationsInput | number + longitude?: FloatFieldUpdateOperationsInput | number + googlePrimaryType?: NullableStringFieldUpdateOperationsInput | string | null + googleTypes?: PlaceUpdategoogleTypesInput | string[] + googleBusinessStatus?: NullableStringFieldUpdateOperationsInput | string | null + googleRating?: NullableFloatFieldUpdateOperationsInput | number | null + googleUserRatingCount?: NullableIntFieldUpdateOperationsInput | number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + experiences?: VoiceExperienceUncheckedUpdateManyWithoutPlaceNestedInput + } + export type PlaceCreateWithoutExperiencesInput = { id?: string googlePlaceId: string @@ -6306,8 +8517,17 @@ export namespace Prisma { longitude: number googlePrimaryType?: string | null googleTypes?: PlaceCreategoogleTypesInput | string[] + googleBusinessStatus?: string | null + googleRating?: number | null + googleUserRatingCount?: number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string + favoriteUsers?: UserFavoritePlaceCreateNestedManyWithoutPlaceInput } export type PlaceUncheckedCreateWithoutExperiencesInput = { @@ -6318,8 +8538,17 @@ export namespace Prisma { longitude: number googlePrimaryType?: string | null googleTypes?: PlaceCreategoogleTypesInput | string[] + googleBusinessStatus?: string | null + googleRating?: number | null + googleUserRatingCount?: number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: Date | string | null createdAt?: Date | string updatedAt?: Date | string + favoriteUsers?: UserFavoritePlaceUncheckedCreateNestedManyWithoutPlaceInput } export type PlaceCreateOrConnectWithoutExperiencesInput = { @@ -6338,6 +8567,7 @@ export namespace Prisma { isAdmin?: boolean createdAt?: Date | string updatedAt?: Date | string + favoritePlaces?: UserFavoritePlaceCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutVoiceExperiencesInput = { @@ -6351,6 +8581,7 @@ export namespace Prisma { isAdmin?: boolean createdAt?: Date | string updatedAt?: Date | string + favoritePlaces?: UserFavoritePlaceUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutVoiceExperiencesInput = { @@ -6377,8 +8608,17 @@ export namespace Prisma { longitude?: FloatFieldUpdateOperationsInput | number googlePrimaryType?: NullableStringFieldUpdateOperationsInput | string | null googleTypes?: PlaceUpdategoogleTypesInput | string[] + googleBusinessStatus?: NullableStringFieldUpdateOperationsInput | string | null + googleRating?: NullableFloatFieldUpdateOperationsInput | number | null + googleUserRatingCount?: NullableIntFieldUpdateOperationsInput | number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + favoriteUsers?: UserFavoritePlaceUpdateManyWithoutPlaceNestedInput } export type PlaceUncheckedUpdateWithoutExperiencesInput = { @@ -6389,8 +8629,17 @@ export namespace Prisma { longitude?: FloatFieldUpdateOperationsInput | number googlePrimaryType?: NullableStringFieldUpdateOperationsInput | string | null googleTypes?: PlaceUpdategoogleTypesInput | string[] + googleBusinessStatus?: NullableStringFieldUpdateOperationsInput | string | null + googleRating?: NullableFloatFieldUpdateOperationsInput | number | null + googleUserRatingCount?: NullableIntFieldUpdateOperationsInput | number | null + googleRegularOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googleCurrentOpeningHours?: NullableJsonNullValueInput | InputJsonValue + googlePhotos?: NullableJsonNullValueInput | InputJsonValue + googlePayload?: NullableJsonNullValueInput | InputJsonValue + googlePayloadFetchedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + favoriteUsers?: UserFavoritePlaceUncheckedUpdateManyWithoutPlaceNestedInput } export type UserUpsertWithoutVoiceExperiencesInput = { @@ -6415,6 +8664,7 @@ export namespace Prisma { isAdmin?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + favoritePlaces?: UserFavoritePlaceUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutVoiceExperiencesInput = { @@ -6428,6 +8678,7 @@ export namespace Prisma { isAdmin?: BoolFieldUpdateOperationsInput | boolean createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + favoritePlaces?: UserFavoritePlaceUncheckedUpdateManyWithoutUserNestedInput } export type VoiceExperienceCreateManyPlaceInput = { @@ -6441,10 +8692,18 @@ export namespace Prisma { status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceCreatepromptHintsShownInput | string[] createdAt?: Date | string updatedAt?: Date | string } + export type UserFavoritePlaceCreateManyPlaceInput = { + id?: string + userId: string + createdAt?: Date | string + } + export type VoiceExperienceUpdateWithoutPlaceInput = { id?: StringFieldUpdateOperationsInput | string durationSeconds?: IntFieldUpdateOperationsInput | number @@ -6455,6 +8714,8 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceUpdatepromptHintsShownInput | string[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string user?: UserUpdateOneWithoutVoiceExperiencesNestedInput @@ -6471,6 +8732,8 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceUpdatepromptHintsShownInput | string[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } @@ -6486,10 +8749,30 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceUpdatepromptHintsShownInput | string[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } + export type UserFavoritePlaceUpdateWithoutPlaceInput = { + id?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + user?: UserUpdateOneRequiredWithoutFavoritePlacesNestedInput + } + + export type UserFavoritePlaceUncheckedUpdateWithoutPlaceInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type UserFavoritePlaceUncheckedUpdateManyWithoutPlaceInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + export type VoiceExperienceCreateManyUserInput = { id?: string placeId: string @@ -6501,10 +8784,18 @@ export namespace Prisma { status?: $Enums.VoiceExperienceStatus transcript?: string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceCreatepromptHintsShownInput | string[] createdAt?: Date | string updatedAt?: Date | string } + export type UserFavoritePlaceCreateManyUserInput = { + id?: string + placeId: string + createdAt?: Date | string + } + export type VoiceExperienceUpdateWithoutUserInput = { id?: StringFieldUpdateOperationsInput | string durationSeconds?: IntFieldUpdateOperationsInput | number @@ -6515,6 +8806,8 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceUpdatepromptHintsShownInput | string[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string place?: PlaceUpdateOneRequiredWithoutExperiencesNestedInput @@ -6531,6 +8824,8 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceUpdatepromptHintsShownInput | string[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } @@ -6546,10 +8841,30 @@ export namespace Prisma { status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus transcript?: NullableStringFieldUpdateOperationsInput | string | null analysis?: NullableJsonNullValueInput | InputJsonValue + recordingPayload?: NullableJsonNullValueInput | InputJsonValue + promptHintsShown?: VoiceExperienceUpdatepromptHintsShownInput | string[] createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } + export type UserFavoritePlaceUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + place?: PlaceUpdateOneRequiredWithoutFavoriteUsersNestedInput + } + + export type UserFavoritePlaceUncheckedUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + placeId?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type UserFavoritePlaceUncheckedUpdateManyWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + placeId?: StringFieldUpdateOperationsInput | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + /** diff --git a/src/generated/prisma/index.js b/src/generated/prisma/index.js index 8079386..32f9f11 100644 --- a/src/generated/prisma/index.js +++ b/src/generated/prisma/index.js @@ -101,6 +101,14 @@ exports.Prisma.PlaceScalarFieldEnum = { longitude: 'longitude', googlePrimaryType: 'googlePrimaryType', googleTypes: 'googleTypes', + googleBusinessStatus: 'googleBusinessStatus', + googleRating: 'googleRating', + googleUserRatingCount: 'googleUserRatingCount', + googleRegularOpeningHours: 'googleRegularOpeningHours', + googleCurrentOpeningHours: 'googleCurrentOpeningHours', + googlePhotos: 'googlePhotos', + googlePayload: 'googlePayload', + googlePayloadFetchedAt: 'googlePayloadFetchedAt', createdAt: 'createdAt', updatedAt: 'updatedAt' }; @@ -118,6 +126,13 @@ exports.Prisma.UserScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.UserFavoritePlaceScalarFieldEnum = { + id: 'id', + userId: 'userId', + placeId: 'placeId', + createdAt: 'createdAt' +}; + exports.Prisma.VoiceExperienceScalarFieldEnum = { id: 'id', placeId: 'placeId', @@ -130,6 +145,8 @@ exports.Prisma.VoiceExperienceScalarFieldEnum = { status: 'status', transcript: 'transcript', analysis: 'analysis', + recordingPayload: 'recordingPayload', + promptHintsShown: 'promptHintsShown', createdAt: 'createdAt', updatedAt: 'updatedAt' }; @@ -149,16 +166,16 @@ exports.Prisma.QueryMode = { insensitive: 'insensitive' }; -exports.Prisma.NullsOrder = { - first: 'first', - last: 'last' -}; - exports.Prisma.JsonNullValueFilter = { DbNull: Prisma.DbNull, JsonNull: Prisma.JsonNull, AnyNull: Prisma.AnyNull }; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; exports.VoiceExperienceStatus = exports.$Enums.VoiceExperienceStatus = { UPLOADED: 'UPLOADED', TRANSCRIBING: 'TRANSCRIBING', @@ -171,6 +188,7 @@ exports.VoiceExperienceStatus = exports.$Enums.VoiceExperienceStatus = { exports.Prisma.ModelName = { Place: 'Place', User: 'User', + UserFavoritePlace: 'UserFavoritePlace', VoiceExperience: 'VoiceExperience' }; /** @@ -181,14 +199,14 @@ const config = { "clientVersion": "7.8.0", "engineVersion": "3c6e192761c0362d496ed980de936e2f3cebcd3a", "activeProvider": "postgresql", - "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nenum VoiceExperienceStatus {\n UPLOADED\n TRANSCRIBING\n TRANSCRIBED\n ANALYZING\n ANALYZED\n FAILED\n}\n\nmodel Place {\n id String @id @default(cuid())\n googlePlaceId String @unique\n name String\n latitude Float\n longitude Float\n googlePrimaryType String?\n googleTypes String[] @default([])\n experiences VoiceExperience[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel User {\n id String @id @default(cuid())\n telegramId String @unique\n username String?\n firstName String?\n lastName String?\n photoUrl String?\n languageCode String?\n isAdmin Boolean @default(false)\n voiceExperiences VoiceExperience[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel VoiceExperience {\n id String @id @default(cuid())\n placeId String\n place Place @relation(fields: [placeId], references: [id])\n userId String?\n user User? @relation(fields: [userId], references: [id])\n durationSeconds Int\n audioObjectKey String\n audioContentBase64 String?\n audioMimeType String?\n audioAccessToken String? @unique\n status VoiceExperienceStatus @default(UPLOADED)\n transcript String?\n analysis Json?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n" + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nenum VoiceExperienceStatus {\n UPLOADED\n TRANSCRIBING\n TRANSCRIBED\n ANALYZING\n ANALYZED\n FAILED\n}\n\nmodel Place {\n id String @id @default(cuid())\n googlePlaceId String @unique\n name String\n latitude Float\n longitude Float\n googlePrimaryType String?\n googleTypes String[] @default([])\n googleBusinessStatus String?\n googleRating Float?\n googleUserRatingCount Int?\n googleRegularOpeningHours Json?\n googleCurrentOpeningHours Json?\n googlePhotos Json?\n googlePayload Json?\n googlePayloadFetchedAt DateTime?\n experiences VoiceExperience[]\n favoriteUsers UserFavoritePlace[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel User {\n id String @id @default(cuid())\n telegramId String @unique\n username String?\n firstName String?\n lastName String?\n photoUrl String?\n languageCode String?\n isAdmin Boolean @default(false)\n voiceExperiences VoiceExperience[]\n favoritePlaces UserFavoritePlace[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel UserFavoritePlace {\n id String @id @default(cuid())\n userId String\n user User @relation(fields: [userId], references: [id])\n placeId String\n place Place @relation(fields: [placeId], references: [id])\n createdAt DateTime @default(now())\n\n @@unique([userId, placeId])\n}\n\nmodel VoiceExperience {\n id String @id @default(cuid())\n placeId String\n place Place @relation(fields: [placeId], references: [id])\n userId String?\n user User? @relation(fields: [userId], references: [id])\n durationSeconds Int\n audioObjectKey String\n audioContentBase64 String?\n audioMimeType String?\n audioAccessToken String? @unique\n status VoiceExperienceStatus @default(UPLOADED)\n transcript String?\n analysis Json?\n recordingPayload Json?\n promptHintsShown String[] @default([])\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n" } -config.runtimeDataModel = JSON.parse("{\"models\":{\"Place\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"googlePlaceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"latitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"longitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"googlePrimaryType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"googleTypes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experiences\",\"kind\":\"object\",\"type\":\"VoiceExperience\",\"relationName\":\"PlaceToVoiceExperience\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"telegramId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"photoUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"languageCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isAdmin\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"voiceExperiences\",\"kind\":\"object\",\"type\":\"VoiceExperience\",\"relationName\":\"UserToVoiceExperience\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"VoiceExperience\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"placeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"place\",\"kind\":\"object\",\"type\":\"Place\",\"relationName\":\"PlaceToVoiceExperience\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToVoiceExperience\"},{\"name\":\"durationSeconds\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"audioObjectKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"audioContentBase64\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"audioMimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"audioAccessToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"VoiceExperienceStatus\"},{\"name\":\"transcript\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"Place\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"googlePlaceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"latitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"longitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"googlePrimaryType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"googleTypes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"googleBusinessStatus\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"googleRating\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"googleUserRatingCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"googleRegularOpeningHours\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"googleCurrentOpeningHours\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"googlePhotos\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"googlePayload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"googlePayloadFetchedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"experiences\",\"kind\":\"object\",\"type\":\"VoiceExperience\",\"relationName\":\"PlaceToVoiceExperience\"},{\"name\":\"favoriteUsers\",\"kind\":\"object\",\"type\":\"UserFavoritePlace\",\"relationName\":\"PlaceToUserFavoritePlace\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"telegramId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"photoUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"languageCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isAdmin\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"voiceExperiences\",\"kind\":\"object\",\"type\":\"VoiceExperience\",\"relationName\":\"UserToVoiceExperience\"},{\"name\":\"favoritePlaces\",\"kind\":\"object\",\"type\":\"UserFavoritePlace\",\"relationName\":\"UserToUserFavoritePlace\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"UserFavoritePlace\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserFavoritePlace\"},{\"name\":\"placeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"place\",\"kind\":\"object\",\"type\":\"Place\",\"relationName\":\"PlaceToUserFavoritePlace\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"VoiceExperience\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"placeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"place\",\"kind\":\"object\",\"type\":\"Place\",\"relationName\":\"PlaceToVoiceExperience\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToVoiceExperience\"},{\"name\":\"durationSeconds\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"audioObjectKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"audioContentBase64\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"audioMimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"audioAccessToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"VoiceExperienceStatus\"},{\"name\":\"transcript\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"recordingPayload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"promptHintsShown\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.parameterizationSchema = { - strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"place\",\"voiceExperiences\",\"_count\",\"user\",\"experiences\",\"Place.findUnique\",\"Place.findUniqueOrThrow\",\"Place.findFirst\",\"Place.findFirstOrThrow\",\"Place.findMany\",\"data\",\"Place.createOne\",\"Place.createMany\",\"Place.createManyAndReturn\",\"Place.updateOne\",\"Place.updateMany\",\"Place.updateManyAndReturn\",\"create\",\"update\",\"Place.upsertOne\",\"Place.deleteOne\",\"Place.deleteMany\",\"having\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"Place.groupBy\",\"Place.aggregate\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"User.groupBy\",\"User.aggregate\",\"VoiceExperience.findUnique\",\"VoiceExperience.findUniqueOrThrow\",\"VoiceExperience.findFirst\",\"VoiceExperience.findFirstOrThrow\",\"VoiceExperience.findMany\",\"VoiceExperience.createOne\",\"VoiceExperience.createMany\",\"VoiceExperience.createManyAndReturn\",\"VoiceExperience.updateOne\",\"VoiceExperience.updateMany\",\"VoiceExperience.updateManyAndReturn\",\"VoiceExperience.upsertOne\",\"VoiceExperience.deleteOne\",\"VoiceExperience.deleteMany\",\"VoiceExperience.groupBy\",\"VoiceExperience.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"placeId\",\"userId\",\"durationSeconds\",\"audioObjectKey\",\"audioContentBase64\",\"audioMimeType\",\"audioAccessToken\",\"VoiceExperienceStatus\",\"status\",\"transcript\",\"analysis\",\"createdAt\",\"updatedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"contains\",\"startsWith\",\"endsWith\",\"telegramId\",\"username\",\"firstName\",\"lastName\",\"photoUrl\",\"languageCode\",\"isAdmin\",\"every\",\"some\",\"none\",\"googlePlaceId\",\"name\",\"latitude\",\"longitude\",\"googlePrimaryType\",\"googleTypes\",\"has\",\"hasEvery\",\"hasSome\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"push\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"), - graph: "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ACFPQABZACFQQABZACFiAQBUACFjAQBVACFkAQBVACFlAQBVACFmAQBVACFnAQBVACFoIABoACEDAAAABwAgAQAANwAwGQAAOAAgAwAAAAcAIAEAACYAMAIAACMAIAEAAAAFACABAAAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgDwMAAIoBACAGAACLAQAgQwEAAAABRAEAAAABRQEAAAABRgIAAAABRwEAAAABSAEAAAABSQEAAAABSgEAAAABTAAAAEwCTQEAAAABToAAAAABT0AAAAABUEAAAAABAQ0AAEAAIA1DAQAAAAFEAQAAAAFFAQAAAAFGAgAAAAFHAQAAAAFIAQAAAAFJAQAAAAFKAQAAAAFMAAAATAJNAQAAAAFOgAAAAAFPQAAAAAFQQAAAAAEBDQAAQgAwAQ0AAEIAMAEAAAAHACAPAwAAiAEAIAYAAIkBACBDAQCDAQAhRAEAgwEAIUUBAIUBACFGAgCEAQAhRwEAgwEAIUgBAIUBACFJAQCFAQAhSgEAhQEAIUwAAIYBTCJNAQCFAQAhToAAAAABT0AAhwEAIVBAAIcBACECAAAABQAgDQAARgAgDUMBAIMBACFEAQCDAQAhRQEAhQEAIUYCAIQBACFHAQCDAQAhSAEAhQEAIUkBAIUBACFKAQCFAQAhTAAAhgFMIk0BAIUBACFOgAAAAAFPQACHAQAhUEAAhwEAIQIAAAADACANAABIACACAAAAAwAgDQAASAAgAQAAAAcAIAMAAAAFACAUAABAACAVAABGACABAAAABQAgAQAAAAMAIAsFAAB-ACAaAAB_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_AACYAQAwDQYAAIsBACBDAQAAAAFFAQAAAAFGAgAAAAFHAQAAAAFIAQAAAAFJAQAAAAFKAQAAAAFMAAAATAJNAQAAAAFOgAAAAAFPQAAAAAFQQAAAAAECAAAABQAgFAAArwEAIAMAAAAFACAUAACvAQAgFQAArgEAIAENAAC0AQAwAgAAAAUAIA0AAK4BACACAAAAmQEAIA0AAK0BACAMQwEAgwEAIUUBAIUBACFGAgCEAQAhRwEAgwEAIUgBAIUBACFJAQCFAQAhSgEAhQEAIUwAAIYBTCJNAQCFAQAhToAAAAABT0AAhwEAIVBAAIcBACENBgAAiQEAIEMBAIMBACFFAQCFAQAhRgIAhAEAIUcBAIMBACFIAQCFAQAhSQEAhQEAIUoBAIUBACFMAACGAUwiTQEAhQEAIU6AAAAAAU9AAIcBACFQQACHAQAhDQYAAIsBACBDAQAAAAFFAQAAAAFGAgAAAAFHAQAAAAFIAQAAAAFJAQAAAAFKAQAAAAFMAAAATAJNAQAAAAFOgAAAAAFPQAAAAAFQQAAAAAEBegEAAAAEBBQAAKcBADB3AACoAQAweQAAqgEAIH0AAJUBADACBwAAngEAIHAAAH0AIAYEAACeAQAgYwAAfQAgZAAAfQAgZQAAfQAgZgAAfQAgZwAAfQAgDEMBAAAAAUUBAAAAAUYCAAAAAUcBAAAAAUgBAAAAAUkBAAAAAUoBAAAAAUwAAABMAk0BAAAAAU6AAAAAAU9AAAAAAVBAAAAAAQxDAQAAAAFEAQAAAAFGAgAAAAFHAQAAAAFIAQAAAAFJAQAAAAFKAQAAAAFMAAAATAJNAQAAAAFOgAAAAAFPQAAAAAFQQAAAAAEKQwEAAAABT0AAAAABUEAAAAABYgEAAAABYwEAAAABZAEAAAABZQEAAAABZgEAAAABZwEAAAABaCAAAAABAgAAACMAIBQAALYBACAJQwEAAAABT0AAAAABUEAAAAABbAEAAAABbQEAAAABbggAAAABbwgAAAABcAEAAAABcQAAsAEAIAIAAAABACAUAAC4AQAgAwAAAAcAIBQAALYBACAVAAC8AQAgDAAAAAcAIA0AALwBACBDAQCDAQAhT0AAhwEAIVBAAIcBACFiAQCDAQAhYwEAhQEAIWQBAIUBACFlAQCFAQAhZgEAhQEAIWcBAIUBACFoIACPAQAhCkMBAIMBACFPQACHAQAhUEAAhwEAIWIBAIMBACFjAQCFAQAhZAEAhQEAIWUBAIUBACFmAQCFAQAhZwEAhQEAIWggAI8BACEDAAAADQAgFAAAuAEAIBUAAL8BACALAAAADQAgDQAAvwEAIEMBAIMBACFPQACHAQAhUEAAhwEAIWwBAIMBACFtAQCDAQAhbggApAEAIW8IAKQBACFwAQCFAQAhcQAApQEAIAlDAQCDAQAhT0AAhwEAIVBAAIcBACFsAQCDAQAhbQEAgwEAIW4IAKQBACFvCACkAQAhcAEAhQEAIXEAAKUBACACBQAFBwYCAgMAAQYIAwIECQIFAAQBBAoAAQcLAAAAAAUFAAoaAAsbAAwcAA0dAA4AAAAAAAUFAAoaAAsbAAwcAA0dAA4AAAMFABMcABQdABUAAAADBQATHAAUHQAVAgMAAQZFAwIDAAEGSwMFBQAaGgAbGwAcHAAdHQAeAAAAAAAFBQAaGgAbGwAcHAAdHQAeCAIBCQwBCg8BCxABDBEBDhMBDxUGEBYHERgBEhoGExsIFhwBFx0BGB4GHiEJHyIPICQDISUDIicDIygDJCkDJSsDJi0GJy4QKDADKTIGKjMRKzQDLDUDLTYGLjkSLzoWMDsCMTwCMj0CMz4CND8CNUECNkMGN0QXOEcCOUkGOkoYO0wCPE0CPU4GPlEZP1If" + strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"place\",\"voiceExperiences\",\"user\",\"favoritePlaces\",\"_count\",\"experiences\",\"favoriteUsers\",\"Place.findUnique\",\"Place.findUniqueOrThrow\",\"Place.findFirst\",\"Place.findFirstOrThrow\",\"Place.findMany\",\"data\",\"Place.createOne\",\"Place.createMany\",\"Place.createManyAndReturn\",\"Place.updateOne\",\"Place.updateMany\",\"Place.updateManyAndReturn\",\"create\",\"update\",\"Place.upsertOne\",\"Place.deleteOne\",\"Place.deleteMany\",\"having\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"Place.groupBy\",\"Place.aggregate\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"User.groupBy\",\"User.aggregate\",\"UserFavoritePlace.findUnique\",\"UserFavoritePlace.findUniqueOrThrow\",\"UserFavoritePlace.findFirst\",\"UserFavoritePlace.findFirstOrThrow\",\"UserFavoritePlace.findMany\",\"UserFavoritePlace.createOne\",\"UserFavoritePlace.createMany\",\"UserFavoritePlace.createManyAndReturn\",\"UserFavoritePlace.updateOne\",\"UserFavoritePlace.updateMany\",\"UserFavoritePlace.updateManyAndReturn\",\"UserFavoritePlace.upsertOne\",\"UserFavoritePlace.deleteOne\",\"UserFavoritePlace.deleteMany\",\"UserFavoritePlace.groupBy\",\"UserFavoritePlace.aggregate\",\"VoiceExperience.findUnique\",\"VoiceExperience.findUniqueOrThrow\",\"VoiceExperience.findFirst\",\"VoiceExperience.findFirstOrThrow\",\"VoiceExperience.findMany\",\"VoiceExperience.createOne\",\"VoiceExperience.createMany\",\"VoiceExperience.createManyAndReturn\",\"VoiceExperience.updateOne\",\"VoiceExperience.updateMany\",\"VoiceExperience.updateManyAndReturn\",\"VoiceExperience.upsertOne\",\"VoiceExperience.deleteOne\",\"VoiceExperience.deleteMany\",\"VoiceExperience.groupBy\",\"VoiceExperience.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"placeId\",\"userId\",\"durationSeconds\",\"audioObjectKey\",\"audioContentBase64\",\"audioMimeType\",\"audioAccessToken\",\"VoiceExperienceStatus\",\"status\",\"transcript\",\"analysis\",\"recordingPayload\",\"promptHintsShown\",\"createdAt\",\"updatedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"has\",\"hasEvery\",\"hasSome\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"contains\",\"startsWith\",\"endsWith\",\"telegramId\",\"username\",\"firstName\",\"lastName\",\"photoUrl\",\"languageCode\",\"isAdmin\",\"every\",\"some\",\"none\",\"googlePlaceId\",\"name\",\"latitude\",\"longitude\",\"googlePrimaryType\",\"googleTypes\",\"googleBusinessStatus\",\"googleRating\",\"googleUserRatingCount\",\"googleRegularOpeningHours\",\"googleCurrentOpeningHours\",\"googlePhotos\",\"googlePayload\",\"googlePayloadFetchedAt\",\"userId_placeId\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\",\"push\"]"), + graph: "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-AQAAAAF_IAAAAAEBDwAAMQAgClUBAAAAAWNAAAAAAWRAAAAAAXkBAAAAAXoBAAAAAXsBAAAAAXwBAAAAAX0BAAAAAX4BAAAAAX8gAAAAAQEPAAAzADABDwAAMwAwDAQAAMYBACAGAADHAQAgVQEAsAEAIWNAALUBACFkQAC1AQAheQEAsAEAIXoBALIBACF7AQCyAQAhfAEAsgEAIX0BALIBACF-AQCyAQAhfyAAxQEAIQIAAAAqACAPAAA2ACAKVQEAsAEAIWNAALUBACFkQAC1AQAheQEAsAEAIXoBALIBACF7AQCyAQAhfAEAsgEAIX0BALIBACF-AQCyAQAhfyAAxQEAIQIAAAAHACAPAAA4ACACAAAABwAgDwAAOAAgAwAAACoAIBYAADEAIBcAADYAIAEAAAAqACABAAAABwAgCAcAAMIBACAeAADEAQAgHwAAwwEAIHoAAKoBACB7AACqAQAgfAAAqgEAIH0AAKoBACB-AACqAQAgDVIAAIYBADBTAAA_ABBUAACGAQAwVQEAcQAhY0AAdwAhZEAAdwAheQEAcQAhegEAcgAhewEAcgAhfAEAcgAhfQEAcgAhfgEAcgAhfyAAhwEAIQMAAAAHACABAAA-ADAbAAA_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-ACAfAAB-ACBlAAAAXgJmAAAAXghnAAAAXghsAAB9XiIPBwAAewAgHgAAfAAgHwAAfAAgZYAAAAABaIAAAAABaYAAAAABaoAAAAABa4AAAAABbIAAAAABcAEAAAABcQEAAAABcgEAAAABc4AAAAABdIAAAAABdYAAAAABBGUBAAAABW0BAAAAAW4BAAAABG8BAAAABAsHAAB5ACAeAAB6ACAfAAB6ACBlQAAAAAFmQAAAAARnQAAAAARoQAAAAAFpQAAAAAFqQAAAAAFrQAAAAAFsQAB4ACELBwAAeQAgHgAAegAgHwAAegAgZUAAAAABZkAAAAAEZ0AAAAAEaEAAAAABaUAAAAABakAAAAABa0AAAAABbEAAeAAhCGUCAAAAAWYCAAAABGcCAAAABGgCAAAAAWkCAAAAAWoCAAAAAWsCAAAAAWwCAHkAIQhlQAAAAAFmQAAAAARnQAAAAARoQAAAAAFpQAAAAAFqQAAAAAFrQAAAAAFsQAB6ACEIZQIAAAABZgIAAAAFZwIAAAAFaAIAAAABaQIAAAABagIAAAABawIAAAABbAIAewAhDGWAAAAAAWiAAAAAAWmAAAAAAWqAAAAAAWuAAAAAAWyAAAAAAXABAAAAAXEBAAAAAXIBAAAAAXOAAAAAAXSAAAAAAXWAAAAAAQcHAAB5ACAeAAB-ACAfAAB-ACBlAAAAXgJmAAAAXghnAAAAXghsAAB9XiIEZQAAAF4CZgAAAF4IZwAAAF4IbAAAfl4iDQcAAHkAIBwAAIABACAdAAB5ACAeAAB5ACAfAAB5ACBlAgAAAAFmAgAAAARnAgAAAARoAgAAAAFpAgAAAAFqAgAAAAFrAgAAAAFsAgB_ACEIZQgAAAABZggAAAAEZwgAAAAEaAgAAAABaQgAAAABaggAAAABawgAAAABbAgAgAEAIQ4HAAB7ACAeAACCAQAgHwAAggEAIGUBAAAAAWYBAAAABWcBAAAABWgBAAAAAWkBAAAAAWoBAAAAAWsBAAAAAWwBAIEBACF2AQAAAAF3AQAAAAF4AQAAAAELZQEAAAABZgEAAAAFZwEAAAAFaAEAAAABaQEAAAABagEAAAABawEAAAABbAEAggEAIXYBAAAAAXcBAAAAAXgBAAAAAQ4HAAB5ACAeAACEAQAgHwAAhAEAIGUBAAAAAWYBAAAABGcBAAAABGgBAAAAAWkBAAAAAWoBAAAAAWsBAAAAAWwBAIMBACF2AQAAAAF3AQAAAAF4AQAAAAELZQEAAAABZgEAAAAEZwEAAAAEaAEAAAABaQEAAAABagEAAAABawEAAAABbAEAhAEAIXYBAAAAAXcBAAAAAXgBAAAAAQdSAACFAQAwUwAAVQAQVAAAhQEAMFUBAHEAIVYBAHEAIVcBAHEAIWNAAHcAIQ1SAACGAQAwUwAAPwAQVAAAhgEAMFUBAHEAIWNAAHcAIWRAAHcAIXkBAHEAIXoBAHIAIXsBAHIAIXwBAHIAIX0BAHIAIX4BAHIAIX8gAIcBACEFBwAAeQAgHgAAiQEAIB8AAIkBACBlIAAAAAFsIACIAQAhBQcAAHkAIB4AAIkBACAfAACJAQAgZSAAAAABbCAAiAEAIQJlIAAAAAFsIACJAQAhDwQAAI4BACAGAACPAQAgUgAAigEAMFMAAAcAEFQAAIoBADBVAQCcAQAhY0AAjQEAIWRAAI0BACF5AQCcAQAhegEAiwEAIXsBAIsBACF8AQCLAQAhfQEAiwEAIX4BAIsBACF_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_IACMAQAhkgEAAAcAIJMBAAAHACAYCAAAjgEAIAkAAI8BACBSAACbAQAwUwAAFAAQVAAAmwEAMFUBAJwBACFjQACNAQAhZEAAjQEAIYMBAQCcAQAhhAEBAJwBACGFAQgAnQEAIYYBCACdAQAhhwEBAIsBACGIAQAAdgAgiQEBAIsBACGKAQgAngEAIYsBAgCfAQAhjAEAAKABACCNAQAAoAEAII4BAACgAQAgjwEAAKABACCQAUAAoQEAIZIBAAAUACCTAQAAFAAgFAMAAKUBACAFAACpAQAgUgAApgEAMFMAAAMAEFQAAKYBADBVAQCcAQAhVgEAnAEAIVcBAIsBACFYAgCnAQAhWQEAnAEAIVoBAIsBACFbAQCLAQAhXAEAiwEAIV4AAKgBXiJfAQCLAQAhYAAAoAEAIGEAAKABACBiAAB2ACBjQACNAQAhZEAAjQEAIQhlAgAAAAFmAgAAAARnAgAAAARoAgAAAAFpAgAAAAFqAgAAAAFrAgAAAAFsAgB5ACEEZQAAAF4CZgAAAF4IZwAAAF4IbAAAfl4iEQQAAI4BACAGAACPAQAgUgAAigEAMFMAAAcAEFQAAIoBADBVAQCcAQAhY0AAjQEAIWRAAI0BACF5AQCcAQAhegEAiwEAIXsBAIsBACF8AQCLAQAhfQEAiwEAIX4BAIsBACF_IACMAQAhkgEAAAcAIJMBAAAHACAAAAAAAAABlwEBAAAAAQWXAQIAAAABnQECAAAAAZ4BAgAAAAGfAQIAAAABoAECAAAAAQGXAQEAAAABAZcBAAAAXgIClwEBAAAABKEBAQAAAAUBlwFAAAAAAQUWAACXAgAgFwAAnQIAIJQBAACYAgAglQEAAJwCACCaAQAAAQAgBxYAAJUCACAXAACaAgAglAEAAJYCACCVAQAAmQIAIJgBAAAHACCZAQAABwAgmgEAACoAIAGXAQEAAAAEAxYAAJcCACCUAQAAmAIAIJoBAAABACADFgAAlQIAIJQBAACWAgAgmgEAACoAIAAAAAUWAACNAgAgFwAAkwIAIJQBAACOAgAglQEAAJICACCaAQAAKgAgBRYAAIsCACAXAACQAgAglAEAAIwCACCVAQAAjwIAIJoBAAABACADFgAAjQIAIJQBAACOAgAgmgEAACoAIAMWAACLAgAglAEAAIwCACCaAQAAAQAgAAAAAZcBIAAAAAELFgAA1AEAMBcAANkBADCUAQAA1QEAMJUBAADWAQAwlgEAANcBACCXAQAA2AEAMJgBAADYAQAwmQEAANgBADCaAQAA2AEAMJsBAADaAQAwnAEAANsBADALFgAAyAEAMBcAAM0BADCUAQAAyQEAMJUBAADKAQAwlgEAAMsBACCXAQAAzAEAMJgBAADMAQAwmQEAAMwBADCaAQAAzAEAMJsBAADOAQAwnAEAAM8BADAEAwAAwQEAIFUBAAAAAVYBAAAAAWNAAAAAAQIAAAAMACAWAADTAQAgAwAAAAwAIBYAANMBACAXAADSAQAgAQ8AAIoCADAKAwAApQEAIAUAAKQBACBSAACjAQAwUwAACgAQVAAAowEAMFUBAAAAAVYBAJwBACFXAQCcAQAhY0AAjQEAIZEBAACiAQAgAgAAAAwAIA8AANIBACACAAAA0AEAIA8AANEBACAHUgAAzwEAMFMAANABABBUAADPAQAwVQEAnAEAIVYBAJwBACFXAQCcAQAhY0AAjQEAIQdSAADPAQAwUwAA0AEAEFQAAM8BADBVAQCcAQAhVgEAnAEAIVcBAJwBACFjQACNAQAhA1UBALABACFWAQCwAQAhY0AAtQEAIQQDAAC_AQAgVQEAsAEAIVYBALABACFjQAC1AQAhBAMAAMEBACBVAQAAAAFWAQAAAAFjQAAAAAEPAwAAuQEAIFUBAAAAAVYBAAAAAVgCAAAAAVkBAAAAAVoBAAAAAVsBAAAAAVwBAAAAAV4AAABeAl8BAAAAAWCAAAAAAWGAAAAAAWIAALgBACBjQAAAAAFkQAAAAAECAAAABQAgFgAA3wEAIAMAAAAFACAWAADfAQAgFwAA3gEAIAEPAACJAgAwFAMAAKUBACAFAACpAQAgUgAApgEAMFMAAAMAEFQAAKYBADBVAQAAAAFWAQCcAQAhVwEAiwEAIVgCAKcBACFZAQCcAQAhWgEAiwEAIVsBAIsBACFcAQAAAAFeAACoAV4iXwEAiwEAIWAAAKABACBhAACgAQAgYgAAdgAgY0AAjQEAIWRAAI0BACECAAAABQAgDwAA3gEAIAIAAADcAQAgDwAA3QEAIBJSAADbAQAwUwAA3AEAEFQAANsBADBVAQCcAQAhVgEAnAEAIVcBAIsBACFYAgCnAQAhWQEAnAEAIVoBAIsBACFbAQCLAQAhXAEAiwEAIV4AAKgBXiJfAQCLAQAhYAAAoAEAIGEAAKABACBiAAB2ACBjQACNAQAhZEAAjQEAIRJSAADbAQAwUwAA3AEAEFQAANsBADBVAQCcAQAhVgEAnAEAIVcBAIsBACFYAgCnAQAhWQEAnAEAIVoBAIsBACFbAQCLAQAhXAEAiwEAIV4AAKgBXiJfAQCLAQAhYAAAoAEAIGEAAKABACBiAAB2ACBjQACNAQAhZEAAjQEAIQ5VAQCwAQAhVgEAsAEAIVgCALEBACFZAQCwAQAhWgEAsgEAIVsBALIBACFcAQCyAQAhXgAAswFeIl8BALIBACFggAAAAAFhgAAAAAFiAAC0AQAgY0AAtQEAIWRAALUBACEPAwAAtgEAIFUBALABACFWAQCwAQAhWAIAsQEAIVkBALABACFaAQCyAQAhWwEAsgEAIVwBALIBACFeAACzAV4iXwEAsgEAIWCAAAAAAWGAAAAAAWIAALQBACBjQAC1AQAhZEAAtQEAIQ8DAAC5AQAgVQEAAAABVgEAAAABWAIAAAABWQEAAAABWgEAAAABWwEAAAABXAEAAAABXgAAAF4CXwEAAAABYIAAAAABYYAAAAABYgAAuAEAIGNAAAAAAWRAAAAAAQQWAADUAQAwlAEAANUBADCWAQAA1wEAIJoBAADYAQAwBBYAAMgBADCUAQAAyQEAMJYBAADLAQAgmgEAAMwBADAAAAAAAAAABZcBCAAAAAGdAQgAAAABngEIAAAAAZ8BCAAAAAGgAQgAAAABApcBAQAAAAShAQEAAAAFBZcBCAAAAAGdAQgAAAABngEIAAAAAZ8BCAAAAAGgAQgAAAABBZcBAgAAAAGdAQIAAAABngECAAAAAZ8BAgAAAAGgAQIAAAABAZcBQAAAAAELFgAA-QEAMBcAAP0BADCUAQAA-gEAMJUBAAD7AQAwlgEAAPwBACCXAQAA2AEAMJgBAADYAQAwmQEAANgBADCaAQAA2AEAMJsBAAD-AQAwnAEAANsBADALFgAA8AEAMBcAAPQBADCUAQAA8QEAMJUBAADyAQAwlgEAAPMBACCXAQAAzAEAMJgBAADMAQAwmQEAAMwBADCaAQAAzAEAMJsBAAD1AQAwnAEAAM8BADAEBQAAwAEAIFUBAAAAAVcBAAAAAWNAAAAAAQIAAAAMACAWAAD4AQAgAwAAAAwAIBYAAPgBACAXAAD3AQAgAQ8AAIgCADACAAAADAAgDwAA9wEAIAIAAADQAQAgDwAA9gEAIANVAQCwAQAhVwEAsAEAIWNAALUBACEEBQAAvgEAIFUBALABACFXAQCwAQAhY0AAtQEAIQQFAADAAQAgVQEAAAABVwEAAAABY0AAAAABDwUAALoBACBVAQAAAAFXAQAAAAFYAgAAAAFZAQAAAAFaAQAAAAFbAQAAAAFcAQAAAAFeAAAAXgJfAQAAAAFggAAAAAFhgAAAAAFiAAC4AQAgY0AAAAABZEAAAAABAgAAAAUAIBYAAIECACADAAAABQAgFgAAgQIAIBcAAIACACABDwAAhwIAMAIAAAAFACAPAACAAgAgAgAAANwBACAPAAD_AQAgDlUBALABACFXAQCyAQAhWAIAsQEAIVkBALABACFaAQCyAQAhWwEAsgEAIVwBALIBACFeAACzAV4iXwEAsgEAIWCAAAAAAWGAAAAAAWIAALQBACBjQAC1AQAhZEAAtQEAIQ8FAAC3AQAgVQEAsAEAIVcBALIBACFYAgCxAQAhWQEAsAEAIVoBALIBACFbAQCyAQAhXAEAsgEAIV4AALMBXiJfAQCyAQAhYIAAAAABYYAAAAABYgAAtAEAIGNAALUBACFkQAC1AQAhDwUAALoBACBVAQAAAAFXAQAAAAFYAgAAAAFZAQAAAAFaAQAAAAFbAQAAAAFcAQAAAAFeAAAAXgJfAQAAAAFggAAAAAFhgAAAAAFiAAC4AQAgY0AAAAABZEAAAAABAZcBAQAAAAQEFgAA-QEAMJQBAAD6AQAwlgEAAPwBACCaAQAA2AEAMAQWAADwAQAwlAEAAPEBADCWAQAA8wEAIJoBAADMAQAwBwQAAOIBACAGAADjAQAgegAAqgEAIHsAAKoBACB8AACqAQAgfQAAqgEAIH4AAKoBACALCAAA4gEAIAkAAOMBACCHAQAAqgEAIIkBAACqAQAgigEAAKoBACCLAQAAqgEAIIwBAACqAQAgjQEAAKoBACCOAQAAqgEAII8BAACqAQAgkAEAAKoBACAOVQEAAAABVwEAAAABWAIAAAABWQEAAAABWgEAAAABWwEAAAABXAEAAAABXgAAAF4CXwEAAAABYIAAAAABYYAAAAABYgAAuAEAIGNAAAAAAWRAAAAAAQNVAQAAAAFXAQAAAAFjQAAAAAEOVQEAAAABVgEAAAABWAIAAAABWQEAAAABWgEAAAABWwEAAAABXAEAAAABXgAAAF4CXwEAAAABYIAAAAABYYAAAAABYgAAuAEAIGNAAAAAAWRAAAAAAQNVAQAAAAFWAQAAAAFjQAAAAAESCAAAgwIAIFUBAAAAAWNAAAAAAWRAAAAAAYMBAQAAAAGEAQEAAAABhQEIAAAAAYYBCAAAAAGHAQEAAAABiAEAAIICACCJAQEAAAABigEIAAAAAYsBAgAAAAGMAYAAAAABjQGAAAAAAY4BgAAAAAGPAYAAAAABkAFAAAAAAQIAAAABACAWAACLAgAgCwQAAOABACBVAQAAAAFjQAAAAAFkQAAAAAF5AQAAAAF6AQAAAAF7AQAAAAF8AQAAAAF9AQAAAAF-AQAAAAF_IAAAAAECAAAAKgAgFgAAjQIAIAMAAAAUACAWAACLAgAgFwAAkQIAIBQAAAAUACAIAADuAQAgDwAAkQIAIFUBALABACFjQAC1AQAhZEAAtQEAIYMBAQCwAQAhhAEBALABACGFAQgA6QEAIYYBCADpAQAhhwEBALIBACGIAQAA6gEAIIkBAQCyAQAhigEIAOsBACGLAQIA7AEAIYwBgAAAAAGNAYAAAAABjgGAAAAAAY8BgAAAAAGQAUAA7QEAIRIIAADuAQAgVQEAsAEAIWNAALUBACFkQAC1AQAhgwEBALABACGEAQEAsAEAIYUBCADpAQAhhgEIAOkBACGHAQEAsgEAIYgBAADqAQAgiQEBALIBACGKAQgA6wEAIYsBAgDsAQAhjAGAAAAAAY0BgAAAAAGOAYAAAAABjwGAAAAAAZABQADtAQAhAwAAAAcAIBYAAI0CACAXAACUAgAgDQAAAAcAIAQAAMYBACAPAACUAgAgVQEAsAEAIWNAALUBACFkQAC1AQAheQEAsAEAIXoBALIBACF7AQCyAQAhfAEAsgEAIX0BALIBACF-AQCyAQAhfyAAxQEAIQsEAADGAQAgVQEAsAEAIWNAALUBACFkQAC1AQAheQEAsAEAIXoBALIBACF7AQCyAQAhfAEAsgEAIX0BALIBACF-AQCyAQAhfyAAxQEAIQsGAADhAQAgVQEAAAABY0AAAAABZEAAAAABeQEAAAABegEAAAABewEAAAABfAEAAAABfQEAAAABfgEAAAABfyAAAAABAgAAACoAIBYAAJUCACASCQAAhAIAIFUBAAAAAWNAAAAAAWRAAAAAAYMBAQAAAAGEAQEAAAABhQEIAAAAAYYBCAAAAAGHAQEAAAABiAEAAIICACCJAQEAAAABigEIAAAAAYsBAgAAAAGMAYAAAAABjQGAAAAAAY4BgAAAAAGPAYAAAAABkAFAAAAAAQIAAAABACAWAACXAgAgAwAAAAcAIBYAAJUCACAXAACbAgAgDQAAAAcAIAYAAMcBACAPAACbAgAgVQEAsAEAIWNAALUBACFkQAC1AQAheQEAsAEAIXoBALIBACF7AQCyAQAhfAEAsgEAIX0BALIBACF-AQCyAQAhfyAAxQEAIQsGAADHAQAgVQEAsAEAIWNAALUBACFkQAC1AQAheQEAsAEAIXoBALIBACF7AQCyAQAhfAEAsgEAIX0BALIBACF-AQCyAQAhfyAAxQEAIQMAAAAUACAWAACXAgAgFwAAngIAIBQAAAAUACAJAADvAQAgDwAAngIAIFUBALABACFjQAC1AQAhZEAAtQEAIYMBAQCwAQAhhAEBALABACGFAQgA6QEAIYYBCADpAQAhhwEBALIBACGIAQAA6gEAIIkBAQCyAQAhigEIAOsBACGLAQIA7AEAIYwBgAAAAAGNAYAAAAABjgGAAAAAAY8BgAAAAAGQAUAA7QEAIRIJAADvAQAgVQEAsAEAIWNAALUBACFkQAC1AQAhgwEBALABACGEAQEAsAEAIYUBCADpAQAhhgEIAOkBACGHAQEAsgEAIYgBAADqAQAgiQEBALIBACGKAQgA6wEAIYsBAgDsAQAhjAGAAAAAAY0BgAAAAAGOAYAAAAABjwGAAAAAAZABQADtAQAhAwcABggGAgkQBAIDAAEFCAMDBAkCBg0EBwAFAgMAAQUAAwIEDgAGDwACCBEACRIAAAAABQcACxwADB0ADR4ADh8ADwAAAAAABQcACxwADB0ADR4ADh8ADwAAAwcAFB4AFR8AFgAAAAMHABQeABUfABYCAwABBQADAgMAAQUAAwMHABseABwfAB0AAAADBwAbHgAcHwAdAgMAAQViAwIDAAEFaAMFBwAiHAAjHQAkHgAlHwAmAAAAAAAFBwAiHAAjHQAkHgAlHwAmCgIBCxMBDBYBDRcBDhgBEBoBERwHEh0IEx8BFCEHFSIJGCMBGSQBGiUHICgKISkQIisDIywDJC4DJS8DJjADJzIDKDQHKTURKjcDKzkHLDoSLTsDLjwDLz0HMEATMUEXMkIEM0MENEQENUUENkYEN0gEOEoHOUsYOk0EO08HPFAZPVEEPlIEP1MHQFYaQVceQlgCQ1kCRFoCRVsCRlwCR14CSGAHSWEfSmQCS2YHTGcgTWkCTmoCT2sHUG4hUW8n" } config.compilerWasm = { getRuntime: async () => require('./query_compiler_fast_bg.js'), diff --git a/src/generated/prisma/package.json b/src/generated/prisma/package.json index 5969552..0a79b9d 100644 --- a/src/generated/prisma/package.json +++ b/src/generated/prisma/package.json @@ -1,5 +1,5 @@ { - "name": "prisma-client-404088dc715856cb4ed2e7f2d4b8eb35c87427ce32c0e67bc04d6ff67961fc2b", + "name": "prisma-client-baa0475e783dd87e65df5f828f4a43807c3762e0c66b9d15b841a12e00ad0bd4", "main": "index.js", "types": "index.d.ts", "browser": "default.js", diff --git a/src/generated/prisma/schema.prisma b/src/generated/prisma/schema.prisma index f92c167..4490ade 100644 --- a/src/generated/prisma/schema.prisma +++ b/src/generated/prisma/schema.prisma @@ -17,30 +17,51 @@ enum VoiceExperienceStatus { } model Place { - id String @id @default(cuid()) - googlePlaceId String @unique - name String - latitude Float - longitude Float - googlePrimaryType String? - googleTypes String[] @default([]) - experiences VoiceExperience[] - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + id String @id @default(cuid()) + googlePlaceId String @unique + name String + latitude Float + longitude Float + googlePrimaryType String? + googleTypes String[] @default([]) + googleBusinessStatus String? + googleRating Float? + googleUserRatingCount Int? + googleRegularOpeningHours Json? + googleCurrentOpeningHours Json? + googlePhotos Json? + googlePayload Json? + googlePayloadFetchedAt DateTime? + experiences VoiceExperience[] + favoriteUsers UserFavoritePlace[] + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt } model User { - id String @id @default(cuid()) - telegramId String @unique + id String @id @default(cuid()) + telegramId String @unique username String? firstName String? lastName String? photoUrl String? languageCode String? - isAdmin Boolean @default(false) + isAdmin Boolean @default(false) voiceExperiences VoiceExperience[] - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + favoritePlaces UserFavoritePlace[] + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} + +model UserFavoritePlace { + id String @id @default(cuid()) + userId String + user User @relation(fields: [userId], references: [id]) + placeId String + place Place @relation(fields: [placeId], references: [id]) + createdAt DateTime @default(now()) + + @@unique([userId, placeId]) } model VoiceExperience { @@ -57,6 +78,8 @@ model VoiceExperience { status VoiceExperienceStatus @default(UPLOADED) transcript String? analysis Json? + recordingPayload Json? + promptHintsShown String[] @default([]) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } diff --git a/src/jobs/analyze-voice-experience.ts b/src/jobs/analyze-voice-experience.ts index 4c51051..cb6a089 100644 --- a/src/jobs/analyze-voice-experience.ts +++ b/src/jobs/analyze-voice-experience.ts @@ -26,6 +26,11 @@ type PlaceAnalysis = { summary: string; }; +type RecordingContext = { + promptHintsShown: string[]; + recordingPayload: unknown; +}; + export async function analyzeVoiceExperience(experienceId: string) { const experience = await prisma.voiceExperience.findUnique({ where: { id: experienceId }, @@ -48,6 +53,8 @@ export async function analyzeVoiceExperience(experienceId: string) { const analysis = await buildPlaceAnalysis({ placeName: experience.place.name, transcript: experience.transcript, + promptHintsShown: experience.promptHintsShown, + recordingPayload: experience.recordingPayload, }); await prisma.voiceExperience.update({ @@ -64,6 +71,8 @@ export async function analyzeVoiceExperience(experienceId: string) { async function buildPlaceAnalysis(input: { placeName: string; transcript: string; + promptHintsShown: string[]; + recordingPayload: unknown; }): Promise { if (!config.openRouterApiKey) { throw new Error('OPENROUTER_API_KEY is required for voice analysis.'); @@ -146,6 +155,7 @@ async function buildPlaceAnalysis(input: { }, placeName: input.placeName, ontology, + recordingContext: recordingContext(input), transcript: input.transcript, }), }, @@ -174,6 +184,13 @@ async function buildPlaceAnalysis(input: { return analysis; } +function recordingContext(input: RecordingContext) { + return { + promptHintsShown: input.promptHintsShown, + recordingPayload: input.recordingPayload, + }; +} + function assertValidAnalysis(analysis: PlaceAnalysis) { const allowedTags = new Set( placeOntology.flatMap((axis) =>