
/* !!! This is code generated by Prisma. Do not edit directly. !!!
/* eslint-disable */
// biome-ignore-all lint: generated file

Object.defineProperty(exports, "__esModule", { value: true });

const {
  PrismaClientKnownRequestError,
  PrismaClientUnknownRequestError,
  PrismaClientRustPanicError,
  PrismaClientInitializationError,
  PrismaClientValidationError,
  getPrismaClient,
  sqltag,
  empty,
  join,
  raw,
  skip,
  Decimal,
  Debug,
  DbNull,
  JsonNull,
  AnyNull,
  NullTypes,
  makeStrictEnum,
  Extensions,
  warnOnce,
  defineDmmfProperty,
  Public,
  getRuntime,
  createParam,
} = require('./runtime/client.js')


const Prisma = {}

exports.Prisma = Prisma
exports.$Enums = {}

/**
 * Prisma Client JS version: 7.8.0
 * Query Engine version: 3c6e192761c0362d496ed980de936e2f3cebcd3a
 */
Prisma.prismaVersion = {
  client: "7.8.0",
  engine: "3c6e192761c0362d496ed980de936e2f3cebcd3a"
}

Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError;
Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError
Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError
Prisma.PrismaClientInitializationError = PrismaClientInitializationError
Prisma.PrismaClientValidationError = PrismaClientValidationError
Prisma.Decimal = Decimal

/**
 * Re-export of sql-template-tag
 */
Prisma.sql = sqltag
Prisma.empty = empty
Prisma.join = join
Prisma.raw = raw
Prisma.validator = Public.validator

/**
* Extensions
*/
Prisma.getExtensionContext = Extensions.getExtensionContext
Prisma.defineExtension = Extensions.defineExtension

/**
 * Shorthand utilities for JSON filtering
 */
Prisma.DbNull = DbNull
Prisma.JsonNull = JsonNull
Prisma.AnyNull = AnyNull

Prisma.NullTypes = NullTypes




  const path = require('path')

/**
 * Enums
 */
exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
  ReadUncommitted: 'ReadUncommitted',
  ReadCommitted: 'ReadCommitted',
  RepeatableRead: 'RepeatableRead',
  Serializable: 'Serializable'
});

exports.Prisma.PlaceScalarFieldEnum = {
  id: 'id',
  googlePlaceId: 'googlePlaceId',
  name: 'name',
  latitude: 'latitude',
  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'
};

exports.Prisma.UserScalarFieldEnum = {
  id: 'id',
  telegramId: 'telegramId',
  username: 'username',
  firstName: 'firstName',
  lastName: 'lastName',
  photoUrl: 'photoUrl',
  languageCode: 'languageCode',
  isAdmin: 'isAdmin',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.UserFavoritePlaceScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  placeId: 'placeId',
  createdAt: 'createdAt'
};

exports.Prisma.VoiceExperienceScalarFieldEnum = {
  id: 'id',
  placeId: 'placeId',
  userId: 'userId',
  durationSeconds: 'durationSeconds',
  audioObjectKey: 'audioObjectKey',
  audioContentBase64: 'audioContentBase64',
  audioMimeType: 'audioMimeType',
  audioAccessToken: 'audioAccessToken',
  status: 'status',
  transcript: 'transcript',
  analysis: 'analysis',
  recordingPayload: 'recordingPayload',
  promptHintsShown: 'promptHintsShown',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.SortOrder = {
  asc: 'asc',
  desc: 'desc'
};

exports.Prisma.NullableJsonNullValueInput = {
  DbNull: Prisma.DbNull,
  JsonNull: Prisma.JsonNull
};

exports.Prisma.QueryMode = {
  default: 'default',
  insensitive: 'insensitive'
};

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',
  TRANSCRIBED: 'TRANSCRIBED',
  ANALYZING: 'ANALYZING',
  ANALYZED: 'ANALYZED',
  FAILED: 'FAILED'
};

exports.Prisma.ModelName = {
  Place: 'Place',
  User: 'User',
  UserFavoritePlace: 'UserFavoritePlace',
  VoiceExperience: 'VoiceExperience'
};
/**
 * Create the Client
 */
const config = {
  "previewFeatures": [],
  "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  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\":\"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\",\"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: "[encoded data, 17456 characters]"
}
config.compilerWasm = {
      getRuntime: async () => require('./query_compiler_fast_bg.js'),
      getQueryCompilerWasmModule: async () => {
        const { Buffer } = require('node:buffer')
        const { wasm } = require('./query_compiler_fast_bg.wasm-base64.js')
        const queryCompilerWasmFileBytes = Buffer.from(wasm, 'base64')

        return new WebAssembly.Module(queryCompilerWasmFileBytes)
      },
      importName: './query_compiler_fast_bg.js',
    }

const PrismaClient = getPrismaClient(config)
exports.PrismaClient = PrismaClient
Object.assign(exports, Prisma)
