From a6203bde7164491a6b529e5693d06e50339edcf2 Mon Sep 17 00:00:00 2001 From: Ruslan Bakiev <572431+veikab@users.noreply.github.com> Date: Fri, 8 May 2026 16:44:32 +0700 Subject: [PATCH] Sync user relation in Prisma schema --- prisma/schema.prisma | 15 + src/generated/prisma/edge.js | 32 +- src/generated/prisma/index-browser.js | 24 +- src/generated/prisma/index.d.ts | 1919 +++++++++++++++++++++++-- src/generated/prisma/index.js | 32 +- src/generated/prisma/package.json | 2 +- src/generated/prisma/schema.prisma | 15 + 7 files changed, 1932 insertions(+), 107 deletions(-) diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 04b3934..ffa1d57 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -27,10 +27,25 @@ model Place { updatedAt DateTime @updatedAt } +model User { + id String @id @default(cuid()) + telegramId String @unique + username String? + firstName String? + lastName String? + photoUrl String? + languageCode String? + voiceExperiences VoiceExperience[] + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} + model VoiceExperience { id String @id @default(cuid()) placeId String place Place @relation(fields: [placeId], references: [id]) + userId String? + user User? @relation(fields: [userId], references: [id]) durationSeconds Int audioObjectKey String status VoiceExperienceStatus @default(UPLOADED) diff --git a/src/generated/prisma/edge.js b/src/generated/prisma/edge.js index cf26a4b..1435c1f 100644 --- a/src/generated/prisma/edge.js +++ b/src/generated/prisma/edge.js @@ -102,9 +102,22 @@ exports.Prisma.PlaceScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.UserScalarFieldEnum = { + id: 'id', + telegramId: 'telegramId', + username: 'username', + firstName: 'firstName', + lastName: 'lastName', + photoUrl: 'photoUrl', + languageCode: 'languageCode', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + exports.Prisma.VoiceExperienceScalarFieldEnum = { id: 'id', placeId: 'placeId', + userId: 'userId', durationSeconds: 'durationSeconds', audioObjectKey: 'audioObjectKey', status: 'status', @@ -129,16 +142,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', @@ -150,6 +163,7 @@ exports.VoiceExperienceStatus = exports.$Enums.VoiceExperienceStatus = { exports.Prisma.ModelName = { Place: 'Place', + User: 'User', VoiceExperience: 'VoiceExperience' }; /** @@ -160,14 +174,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 experiences 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 durationSeconds Int\n audioObjectKey String\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 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 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 status VoiceExperienceStatus @default(UPLOADED)\n transcript String?\n analysis Json?\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\":\"experiences\",\"kind\":\"object\",\"type\":\"VoiceExperience\",\"relationName\":\"PlaceToVoiceExperience\"},{\"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\":\"durationSeconds\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"audioObjectKey\",\"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\":\"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\":\"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\":\"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\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.parameterizationSchema = { - strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"place\",\"experiences\",\"_count\",\"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\",\"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\",\"durationSeconds\",\"audioObjectKey\",\"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\",\"googlePlaceId\",\"name\",\"latitude\",\"longitude\",\"every\",\"some\",\"none\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"), - graph: "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-ACAbAAA-ACA7QAAAAAE8QAAAAAQ9QAAAAAQ-QAAAAAE_QAAAAAFAQAAAAAFBQAAAAAFCQAA8ACELBQAAPQAgGgAAPgAgGwAAPgAgO0AAAAABPEAAAAAEPUAAAAAEPkAAAAABP0AAAAABQEAAAAABQUAAAAABQkAAPAAhCDsCAAAAATwCAAAABD0CAAAABD4CAAAAAT8CAAAAAUACAAAAAUECAAAAAUICAD0AIQg7QAAAAAE8QAAAAAQ9QAAAAAQ-QAAAAAE_QAAAAAFAQAAAAAFBQAAAAAFCQAA-ACEIOwIAAAABPAIAAAAFPQIAAAAFPgIAAAABPwIAAAABQAIAAAABQQIAAAABQgIAPwAhDDuAAAAAAT6AAAAAAT-AAAAAAUCAAAAAAUGAAAAAAUKAAAAAAUMBAAAAAUQBAAAAAUUBAAAAAUaAAAAAAUeAAAAAAUiAAAAAAQ4FAAA_ACAaAABCACAbAABCACA7AQAAAAE8AQAAAAU9AQAAAAU-AQAAAAE_AQAAAAFAAQAAAAFBAQAAAAFCAQBBACFJAQAAAAFKAQAAAAFLAQAAAAELOwEAAAABPAEAAAAFPQEAAAAFPgEAAAABPwEAAAABQAEAAAABQQEAAAABQgEAQgAhSQEAAAABSgEAAAABSwEAAAABBwUAAD0AIBoAAEQAIBsAAEQAIDsAAAA2AjwAAAA2CD0AAAA2CEIAAEM2IgQ7AAAANgI8AAAANgg9AAAANghCAABENiINBQAAPQAgGAAARgAgGQAAPQAgGgAAPQAgGwAAPQAgOwIAAAABPAIAAAAEPQIAAAAEPgIAAAABPwIAAAABQAIAAAABQQIAAAABQgIARQAhCDsIAAAAATwIAAAABD0IAAAABD4IAAAAAT8IAAAAAUAIAAAAAUEIAAAAAUIIAEYAIQ4FAAA9ACAaAABIACAbAABIACA7AQAAAAE8AQAAAAQ9AQAAAAQ-AQAAAAE_AQAAAAFAAQAAAAFBAQAAAAFCAQBHACFJAQAAAAFKAQAAAAFLAQAAAAELOwEAAAABPAEAAAAEPQEAAAAEPgEAAAABPwEAAAABQAEAAAABQQEAAAABQgEASAAhSQEAAAABSgEAAAABSwEAAAABCi4AAEkAMC8AABwAEDAAAEkAMDEBADYAITlAADsAITpAADsAIUwBADYAIU0BADYAIU4IAEoAIU8IAEoAIQ0FAAA9ACAYAABGACAZAABGACAaAABGACAbAABGACA7CAAAAAE8CAAAAAQ9CAAAAAQ-CAAAAAE_CAAAAAFACAAAAAFBCAAAAAFCCABLACENBQAAPQAgGAAARgAgGQAARgAgGgAARgAgGwAARgAgOwgAAAABPAgAAAAEPQgAAAAEPggAAAABPwgAAAABQAgAAAABQQgAAAABQggASwAhCwQAAFAAIC4AAEwAMC8AAAkAEDAAAEwAMDEBAE0AITlAAE8AITpAAE8AIUwBAE0AIU0BAE0AIU4IAE4AIU8IAE4AIQs7AQAAAAE8AQAAAAQ9AQAAAAQ-AQAAAAE_AQAAAAFAAQAAAAFBAQAAAAFCAQBIACFJAQAAAAFKAQAAAAFLAQAAAAEIOwgAAAABPAgAAAAEPQgAAAAEPggAAAABPwgAAAABQAgAAAABQQgAAAABQggARgAhCDtAAAAAATxAAAAABD1AAAAABD5AAAAAAT9AAAAAAUBAAAAAAUFAAAAAAUJAAD4AIQNQAAADACBRAAADACBSAAADACANAwAAVgAgLgAAUQAwLwAAAwAQMAAAUQAwMQEATQAhMgEATQAhMwIAUgAhNAEATQAhNgAAUzYiNwEAVAAhOAAAVQAgOUAATwAhOkAATwAhCDsCAAAAATwCAAAABD0CAAAABD4CAAAAAT8CAAAAAUACAAAAAUECAAAAAUICAD0AIQQ7AAAANgI8AAAANgg9AAAANghCAABENiILOwEAAAABPAEAAAAFPQEAAAAFPgEAAAABPwEAAAABQAEAAAABQQEAAAABQgEAQgAhSQEAAAABSgEAAAABSwEAAAABDDuAAAAAAT6AAAAAAT-AAAAAAUCAAAAAAUGAAAAAAUKAAAAAAUMBAAAAAUQBAAAAAUUBAAAAAUaAAAAAAUeAAAAAAUiAAAAAAQ0EAABQACAuAABMADAvAAAJABAwAABMADAxAQBNACE5QABPACE6QABPACFMAQBNACFNAQBNACFOCABOACFPCABOACFTAAAJACBUAAAJACAAAAAAAAABWAEAAAABBVgCAAAAAV4CAAAAAV8CAAAAAWACAAAAAWECAAAAAQFYAAAANgIBWAEAAAABAVhAAAAAAQUSAAB7ACATAAB-ACBVAAB8ACBWAAB9ACBbAAABACADEgAAewAgVQAAfAAgWwAAAQAgAAAAAAAFWAgAAAABXggAAAABXwgAAAABYAgAAAABYQgAAAABCxIAAGsAMBMAAHAAMFUAAGwAMFYAAG0AMFcAAG4AIFgAAG8AMFkAAG8AMFoAAG8AMFsAAG8AMFwAAHEAMF0AAHIAMAgxAQAAAAEzAgAAAAE0AQAAAAE2AAAANgI3AQAAAAE4gAAAAAE5QAAAAAE6QAAAAAECAAAABQAgEgAAdgAgAwAAAAUAIBIAAHYAIBMAAHUAIAELAAB6ADANAwAAVgAgLgAAUQAwLwAAAwAQMAAAUQAwMQEAAAABMgEATQAhMwIAUgAhNAEATQAhNgAAUzYiNwEAVAAhOAAAVQAgOUAATwAhOkAATwAhAgAAAAUAIAsAAHUAIAIAAABzACALAAB0ACAMLgAAcgAwLwAAcwAQMAAAcgAwMQEATQAhMgEATQAhMwIAUgAhNAEATQAhNgAAUzYiNwEAVAAhOAAAVQAgOUAATwAhOkAATwAhDC4AAHIAMC8AAHMAEDAAAHIAMDEBAE0AITIBAE0AITMCAFIAITQBAE0AITYAAFM2IjcBAFQAITgAAFUAIDlAAE8AITpAAE8AIQgxAQBdACEzAgBeACE0AQBdACE2AABfNiI3AQBgACE4gAAAAAE5QABhACE6QABhACEIMQEAXQAhMwIAXgAhNAEAXQAhNgAAXzYiNwEAYAAhOIAAAAABOUAAYQAhOkAAYQAhCDEBAAAAATMCAAAAATQBAAAAATYAAAA2AjcBAAAAATiAAAAAATlAAAAAATpAAAAAAQQSAABrADBVAABsADBXAABuACBbAABvADAAAQQAAHgAIAgxAQAAAAEzAgAAAAE0AQAAAAE2AAAANgI3AQAAAAE4gAAAAAE5QAAAAAE6QAAAAAEHMQEAAAABOUAAAAABOkAAAAABTAEAAAABTQEAAAABTggAAAABTwgAAAABAgAAAAEAIBIAAHsAIAMAAAAJACASAAB7ACATAAB_ACAJAAAACQAgCwAAfwAgMQEAXQAhOUAAYQAhOkAAYQAhTAEAXQAhTQEAXQAhTggAaQAhTwgAaQAhBzEBAF0AITlAAGEAITpAAGEAIUwBAF0AIU0BAF0AIU4IAGkAIU8IAGkAIQIEBgIFAAMBAwABAQQHAAAAAAUFAAgYAAkZAAoaAAsbAAwAAAAAAAUFAAgYAAkZAAoaAAsbAAwBAwABAQMAAQUFABEYABIZABMaABQbABUAAAAAAAUFABEYABIZABMaABQbABUGAgEHCAEICwEJDAEKDQEMDwENEQQOEgUPFAEQFgQRFwYUGAEVGQEWGgQcHQcdHg0eHwIfIAIgIQIhIgIiIwIjJQIkJwQlKA4mKgInLAQoLQ8pLgIqLwIrMAQsMxAtNBY" + 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\",\"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\",\"every\",\"some\",\"none\",\"googlePlaceId\",\"name\",\"latitude\",\"longitude\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"), + graph: "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-ACFEAQB-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_ACFHAQB-ACFJAACAAUkiSgEAgQEAIUuAAAAAAUxAAIIBACFNQACCAQAhCgYAAIQBACBDAQB-ACFFAQCBAQAhRgIAfwAhRwEAfgAhSQAAgAFJIkoBAIEBACFLgAAAAAFMQACCAQAhTUAAggEAIQoGAACGAQAgQwEAAAABRQEAAAABRgIAAAABRwEAAAABSQAAAEkCSgEAAAABS4AAAAABTEAAAAABTUAAAAABBBQAAKABADBuAAChAQAwcAAAowEAIHQAAI8BADABBwAAmAEAIAYEAACYAQAgYAAAeAAgYQAAeAAgYgAAeAAgYwAAeAAgZAAAeAAgCUMBAAAAAUUBAAAAAUYCAAAAAUcBAAAAAUkAAABJAkoBAAAAAUuAAAAAAUxAAAAAAU1AAAAAAQlDAQAAAAFEAQAAAAFGAgAAAAFHAQAAAAFJAAAASQJKAQAAAAFLgAAAAAFMQAAAAAFNQAAAAAEJQwEAAAABTEAAAAABTUAAAAABXwEAAAABYAEAAAABYQEAAAABYgEAAAABYwEAAAABZAEAAAABAgAAACMAIBQAAK4BACAHQwEAAAABTEAAAAABTUAAAAABaAEAAAABaQEAAAABaggAAAABawgAAAABAgAAAAEAIBQAALABACADAAAABwAgFAAArgEAIBUAALQBACALAAAABwAgDQAAtAEAIEMBAH4AIUxAAIIBACFNQACCAQAhXwEAfgAhYAEAgQEAIWEBAIEBACFiAQCBAQAhYwEAgQEAIWQBAIEBACEJQwEAfgAhTEAAggEAIU1AAIIBACFfAQB-ACFgAQCBAQAhYQEAgQEAIWIBAIEBACFjAQCBAQAhZAEAgQEAIQMAAAANACAUAACwAQAgFQAAtwEAIAkAAAANACANAAC3AQAgQwEAfgAhTEAAggEAIU1AAIIBACFoAQB-ACFpAQB-ACFqCACeAQAhawgAngEAIQdDAQB-ACFMQACCAQAhTUAAggEAIWgBAH4AIWkBAH4AIWoIAJ4BACFrCACeAQAhAgUABQcGAgIDAAEGCAMCBAkCBQAEAQQKAAEHCwAAAAAFBQAKGgALGwAMHAANHQAOAAAAAAAFBQAKGgALGwAMHAANHQAOAAADBQATHAAUHQAVAAAAAwUAExwAFB0AFQIDAAEGRQMCAwABBksDBQUAGhoAGxsAHBwAHR0AHgAAAAAABQUAGhoAGxsAHBwAHR0AHggCAQkMAQoPAQsQAQwRAQ4TAQ8VBhAWBxEYARIaBhMbCBYcARcdARgeBh4hCR8iDyAkAyElAyInAyMoAyQpAyUrAyYtBicuECgwAykyBiozESs0Ayw1Ay02Bi45Ei86FjA7AjE8AjI9AjM-AjQ_AjVBAjZDBjdEFzhHAjlJBjpKGDtMAjxNAj1OBj5RGT9SHw" } 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 221ec27..a96b852 100644 --- a/src/generated/prisma/index-browser.js +++ b/src/generated/prisma/index-browser.js @@ -130,9 +130,22 @@ exports.Prisma.PlaceScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.UserScalarFieldEnum = { + id: 'id', + telegramId: 'telegramId', + username: 'username', + firstName: 'firstName', + lastName: 'lastName', + photoUrl: 'photoUrl', + languageCode: 'languageCode', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + exports.Prisma.VoiceExperienceScalarFieldEnum = { id: 'id', placeId: 'placeId', + userId: 'userId', durationSeconds: 'durationSeconds', audioObjectKey: 'audioObjectKey', status: 'status', @@ -157,16 +170,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', @@ -178,6 +191,7 @@ exports.VoiceExperienceStatus = exports.$Enums.VoiceExperienceStatus = { exports.Prisma.ModelName = { Place: 'Place', + User: 'User', VoiceExperience: 'VoiceExperience' }; diff --git a/src/generated/prisma/index.d.ts b/src/generated/prisma/index.d.ts index 018a648..07ac4df 100644 --- a/src/generated/prisma/index.d.ts +++ b/src/generated/prisma/index.d.ts @@ -18,6 +18,11 @@ export type PrismaPromise = $Public.PrismaPromise * */ export type Place = $Result.DefaultSelection +/** + * Model User + * + */ +export type User = $Result.DefaultSelection /** * Model VoiceExperience * @@ -176,6 +181,16 @@ export class PrismaClient< */ get place(): Prisma.PlaceDelegate; + /** + * `prisma.user`: Exposes CRUD operations for the **User** model. + * Example usage: + * ```ts + * // Fetch zero or more Users + * const users = await prisma.user.findMany() + * ``` + */ + get user(): Prisma.UserDelegate; + /** * `prisma.voiceExperience`: Exposes CRUD operations for the **VoiceExperience** model. * Example usage: @@ -620,6 +635,7 @@ export namespace Prisma { export const ModelName: { Place: 'Place', + User: 'User', VoiceExperience: 'VoiceExperience' }; @@ -636,7 +652,7 @@ export namespace Prisma { omit: GlobalOmitOptions } meta: { - modelProps: "place" | "voiceExperience" + modelProps: "place" | "user" | "voiceExperience" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { @@ -714,6 +730,80 @@ export namespace Prisma { } } } + User: { + payload: Prisma.$UserPayload + fields: Prisma.UserFieldRefs + operations: { + findUnique: { + args: Prisma.UserFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.UserFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.UserFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.UserFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.UserFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.UserCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.UserCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.UserCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.UserDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.UserUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.UserDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.UserUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.UserUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.UserUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.UserAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.UserGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.UserCountArgs + result: $Utils.Optional | number + } + } + } VoiceExperience: { payload: Prisma.$VoiceExperiencePayload fields: Prisma.VoiceExperienceFieldRefs @@ -897,6 +987,7 @@ export namespace Prisma { } export type GlobalOmitConfig = { place?: PlaceOmit + user?: UserOmit voiceExperience?: VoiceExperienceOmit } @@ -1004,6 +1095,37 @@ export namespace Prisma { } + /** + * Count Type UserCountOutputType + */ + + export type UserCountOutputType = { + voiceExperiences: number + } + + export type UserCountOutputTypeSelect = { + voiceExperiences?: boolean | UserCountOutputTypeCountVoiceExperiencesArgs + } + + // Custom InputTypes + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the UserCountOutputType + */ + select?: UserCountOutputTypeSelect | null + } + + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeCountVoiceExperiencesArgs = { + where?: VoiceExperienceWhereInput + } + + /** * Models */ @@ -2147,6 +2269,1133 @@ export namespace Prisma { } + /** + * Model User + */ + + export type AggregateUser = { + _count: UserCountAggregateOutputType | null + _min: UserMinAggregateOutputType | null + _max: UserMaxAggregateOutputType | null + } + + export type UserMinAggregateOutputType = { + id: string | null + telegramId: string | null + username: string | null + firstName: string | null + lastName: string | null + photoUrl: string | null + languageCode: string | null + createdAt: Date | null + updatedAt: Date | null + } + + export type UserMaxAggregateOutputType = { + id: string | null + telegramId: string | null + username: string | null + firstName: string | null + lastName: string | null + photoUrl: string | null + languageCode: string | null + createdAt: Date | null + updatedAt: Date | null + } + + export type UserCountAggregateOutputType = { + id: number + telegramId: number + username: number + firstName: number + lastName: number + photoUrl: number + languageCode: number + createdAt: number + updatedAt: number + _all: number + } + + + export type UserMinAggregateInputType = { + id?: true + telegramId?: true + username?: true + firstName?: true + lastName?: true + photoUrl?: true + languageCode?: true + createdAt?: true + updatedAt?: true + } + + export type UserMaxAggregateInputType = { + id?: true + telegramId?: true + username?: true + firstName?: true + lastName?: true + photoUrl?: true + languageCode?: true + createdAt?: true + updatedAt?: true + } + + export type UserCountAggregateInputType = { + id?: true + telegramId?: true + username?: true + firstName?: true + lastName?: true + photoUrl?: true + languageCode?: true + createdAt?: true + updatedAt?: true + _all?: true + } + + export type UserAggregateArgs = { + /** + * Filter which User to aggregate. + */ + where?: UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Users + **/ + _count?: true | UserCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: UserMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: UserMaxAggregateInputType + } + + export type GetUserAggregateType = { + [P in keyof T & keyof AggregateUser]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type UserGroupByArgs = { + where?: UserWhereInput + orderBy?: UserOrderByWithAggregationInput | UserOrderByWithAggregationInput[] + by: UserScalarFieldEnum[] | UserScalarFieldEnum + having?: UserScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: UserCountAggregateInputType | true + _min?: UserMinAggregateInputType + _max?: UserMaxAggregateInputType + } + + export type UserGroupByOutputType = { + id: string + telegramId: string + username: string | null + firstName: string | null + lastName: string | null + photoUrl: string | null + languageCode: string | null + createdAt: Date + updatedAt: Date + _count: UserCountAggregateOutputType | null + _min: UserMinAggregateOutputType | null + _max: UserMaxAggregateOutputType | null + } + + type GetUserGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof UserGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type UserSelect = $Extensions.GetSelect<{ + id?: boolean + telegramId?: boolean + username?: boolean + firstName?: boolean + lastName?: boolean + photoUrl?: boolean + languageCode?: boolean + createdAt?: boolean + updatedAt?: boolean + voiceExperiences?: boolean | User$voiceExperiencesArgs + _count?: boolean | UserCountOutputTypeDefaultArgs + }, ExtArgs["result"]["user"]> + + export type UserSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + telegramId?: boolean + username?: boolean + firstName?: boolean + lastName?: boolean + photoUrl?: boolean + languageCode?: boolean + createdAt?: boolean + updatedAt?: boolean + }, ExtArgs["result"]["user"]> + + export type UserSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + telegramId?: boolean + username?: boolean + firstName?: boolean + lastName?: boolean + photoUrl?: boolean + languageCode?: boolean + createdAt?: boolean + updatedAt?: boolean + }, ExtArgs["result"]["user"]> + + export type UserSelectScalar = { + id?: boolean + telegramId?: boolean + username?: boolean + firstName?: boolean + lastName?: boolean + photoUrl?: boolean + languageCode?: boolean + createdAt?: boolean + updatedAt?: boolean + } + + export type UserOmit = $Extensions.GetOmit<"id" | "telegramId" | "username" | "firstName" | "lastName" | "photoUrl" | "languageCode" | "createdAt" | "updatedAt", ExtArgs["result"]["user"]> + export type UserInclude = { + voiceExperiences?: boolean | User$voiceExperiencesArgs + _count?: boolean | UserCountOutputTypeDefaultArgs + } + export type UserIncludeCreateManyAndReturn = {} + export type UserIncludeUpdateManyAndReturn = {} + + export type $UserPayload = { + name: "User" + objects: { + voiceExperiences: Prisma.$VoiceExperiencePayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + telegramId: string + username: string | null + firstName: string | null + lastName: string | null + photoUrl: string | null + languageCode: string | null + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["user"]> + composites: {} + } + + type UserGetPayload = $Result.GetResult + + type UserCountArgs = + Omit & { + select?: UserCountAggregateInputType | true + } + + export interface UserDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['User'], meta: { name: 'User' } } + /** + * Find zero or one User that matches the filter. + * @param {UserFindUniqueArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one User that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {UserFindUniqueOrThrowArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first User that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFindFirstArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first User that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFindFirstOrThrowArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Users that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Users + * const users = await prisma.user.findMany() + * + * // Get first 10 Users + * const users = await prisma.user.findMany({ take: 10 }) + * + * // Only select the `id` + * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a User. + * @param {UserCreateArgs} args - Arguments to create a User. + * @example + * // Create one User + * const User = await prisma.user.create({ + * data: { + * // ... data to create a User + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Users. + * @param {UserCreateManyArgs} args - Arguments to create many Users. + * @example + * // Create many Users + * const user = await prisma.user.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Users and returns the data saved in the database. + * @param {UserCreateManyAndReturnArgs} args - Arguments to create many Users. + * @example + * // Create many Users + * const user = await prisma.user.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Users and only return the `id` + * const userWithIdOnly = await prisma.user.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a User. + * @param {UserDeleteArgs} args - Arguments to delete one User. + * @example + * // Delete one User + * const User = await prisma.user.delete({ + * where: { + * // ... filter to delete one User + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one User. + * @param {UserUpdateArgs} args - Arguments to update one User. + * @example + * // Update one User + * const user = await prisma.user.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Users. + * @param {UserDeleteManyArgs} args - Arguments to filter Users to delete. + * @example + * // Delete a few Users + * const { count } = await prisma.user.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Users. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Users + * const user = await prisma.user.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Users and returns the data updated in the database. + * @param {UserUpdateManyAndReturnArgs} args - Arguments to update many Users. + * @example + * // Update many Users + * const user = await prisma.user.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Users and only return the `id` + * const userWithIdOnly = await prisma.user.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one User. + * @param {UserUpsertArgs} args - Arguments to update or create a User. + * @example + * // Update or create a User + * const user = await prisma.user.upsert({ + * create: { + * // ... data to create a User + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the User we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Users. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserCountArgs} args - Arguments to filter Users to count. + * @example + * // Count the number of Users + * const count = await prisma.user.count({ + * where: { + * // ... the filter for the Users we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a User. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by User. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends UserGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: UserGroupByArgs['orderBy'] } + : { orderBy?: UserGroupByArgs['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 ? GetUserGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the User model + */ + readonly fields: UserFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for User. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__UserClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + voiceExperiences = {}>(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. + * @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 User model + */ + interface UserFieldRefs { + readonly id: FieldRef<"User", 'String'> + readonly telegramId: FieldRef<"User", 'String'> + readonly username: FieldRef<"User", 'String'> + readonly firstName: FieldRef<"User", 'String'> + readonly lastName: FieldRef<"User", 'String'> + readonly photoUrl: FieldRef<"User", 'String'> + readonly languageCode: FieldRef<"User", 'String'> + readonly createdAt: FieldRef<"User", 'DateTime'> + readonly updatedAt: FieldRef<"User", 'DateTime'> + } + + + // Custom InputTypes + /** + * User findUnique + */ + export type UserFindUniqueArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * Filter, which User to fetch. + */ + where: UserWhereUniqueInput + } + + /** + * User findUniqueOrThrow + */ + export type UserFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * Filter, which User to fetch. + */ + where: UserWhereUniqueInput + } + + /** + * User findFirst + */ + export type UserFindFirstArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * Filter, which User to fetch. + */ + where?: UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Users. + */ + cursor?: UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Users. + */ + distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] + } + + /** + * User findFirstOrThrow + */ + export type UserFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * Filter, which User to fetch. + */ + where?: UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Users. + */ + cursor?: UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Users. + */ + distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] + } + + /** + * User findMany + */ + export type UserFindManyArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * Filter, which Users to fetch. + */ + where?: UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Users. + */ + cursor?: UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Users. + */ + distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] + } + + /** + * User create + */ + export type UserCreateArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * The data needed to create a User. + */ + data: XOR + } + + /** + * User createMany + */ + export type UserCreateManyArgs = { + /** + * The data used to create many Users. + */ + data: UserCreateManyInput | UserCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * User createManyAndReturn + */ + export type UserCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelectCreateManyAndReturn | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * The data used to create many Users. + */ + data: UserCreateManyInput | UserCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * User update + */ + export type UserUpdateArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * The data needed to update a User. + */ + data: XOR + /** + * Choose, which User to update. + */ + where: UserWhereUniqueInput + } + + /** + * User updateMany + */ + export type UserUpdateManyArgs = { + /** + * The data used to update Users. + */ + data: XOR + /** + * Filter which Users to update + */ + where?: UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number + } + + /** + * User updateManyAndReturn + */ + export type UserUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * The data used to update Users. + */ + data: XOR + /** + * Filter which Users to update + */ + where?: UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number + } + + /** + * User upsert + */ + export type UserUpsertArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * The filter to search for the User to update in case it exists. + */ + where: UserWhereUniqueInput + /** + * In case the User found by the `where` argument doesn't exist, create a new User with this data. + */ + create: XOR + /** + * In case the User was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * User delete + */ + export type UserDeleteArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * Filter which User to delete. + */ + where: UserWhereUniqueInput + } + + /** + * User deleteMany + */ + export type UserDeleteManyArgs = { + /** + * Filter which Users to delete + */ + where?: UserWhereInput + /** + * Limit how many Users to delete. + */ + limit?: number + } + + /** + * User.voiceExperiences + */ + export type User$voiceExperiencesArgs = { + /** + * Select specific fields to fetch from the VoiceExperience + */ + select?: VoiceExperienceSelect | null + /** + * Omit specific fields from the VoiceExperience + */ + omit?: VoiceExperienceOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: VoiceExperienceInclude | null + where?: VoiceExperienceWhereInput + orderBy?: VoiceExperienceOrderByWithRelationInput | VoiceExperienceOrderByWithRelationInput[] + cursor?: VoiceExperienceWhereUniqueInput + take?: number + skip?: number + distinct?: VoiceExperienceScalarFieldEnum | VoiceExperienceScalarFieldEnum[] + } + + /** + * User without action + */ + export type UserDefaultArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + } + + /** * Model VoiceExperience */ @@ -2170,6 +3419,7 @@ export namespace Prisma { export type VoiceExperienceMinAggregateOutputType = { id: string | null placeId: string | null + userId: string | null durationSeconds: number | null audioObjectKey: string | null status: $Enums.VoiceExperienceStatus | null @@ -2181,6 +3431,7 @@ export namespace Prisma { export type VoiceExperienceMaxAggregateOutputType = { id: string | null placeId: string | null + userId: string | null durationSeconds: number | null audioObjectKey: string | null status: $Enums.VoiceExperienceStatus | null @@ -2192,6 +3443,7 @@ export namespace Prisma { export type VoiceExperienceCountAggregateOutputType = { id: number placeId: number + userId: number durationSeconds: number audioObjectKey: number status: number @@ -2214,6 +3466,7 @@ export namespace Prisma { export type VoiceExperienceMinAggregateInputType = { id?: true placeId?: true + userId?: true durationSeconds?: true audioObjectKey?: true status?: true @@ -2225,6 +3478,7 @@ export namespace Prisma { export type VoiceExperienceMaxAggregateInputType = { id?: true placeId?: true + userId?: true durationSeconds?: true audioObjectKey?: true status?: true @@ -2236,6 +3490,7 @@ export namespace Prisma { export type VoiceExperienceCountAggregateInputType = { id?: true placeId?: true + userId?: true durationSeconds?: true audioObjectKey?: true status?: true @@ -2335,6 +3590,7 @@ export namespace Prisma { export type VoiceExperienceGroupByOutputType = { id: string placeId: string + userId: string | null durationSeconds: number audioObjectKey: string status: $Enums.VoiceExperienceStatus @@ -2366,6 +3622,7 @@ export namespace Prisma { export type VoiceExperienceSelect = $Extensions.GetSelect<{ id?: boolean placeId?: boolean + userId?: boolean durationSeconds?: boolean audioObjectKey?: boolean status?: boolean @@ -2374,11 +3631,13 @@ export namespace Prisma { createdAt?: boolean updatedAt?: boolean place?: boolean | PlaceDefaultArgs + user?: boolean | VoiceExperience$userArgs }, ExtArgs["result"]["voiceExperience"]> export type VoiceExperienceSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean placeId?: boolean + userId?: boolean durationSeconds?: boolean audioObjectKey?: boolean status?: boolean @@ -2387,11 +3646,13 @@ export namespace Prisma { createdAt?: boolean updatedAt?: boolean place?: boolean | PlaceDefaultArgs + user?: boolean | VoiceExperience$userArgs }, ExtArgs["result"]["voiceExperience"]> export type VoiceExperienceSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean placeId?: boolean + userId?: boolean durationSeconds?: boolean audioObjectKey?: boolean status?: boolean @@ -2400,11 +3661,13 @@ export namespace Prisma { createdAt?: boolean updatedAt?: boolean place?: boolean | PlaceDefaultArgs + user?: boolean | VoiceExperience$userArgs }, ExtArgs["result"]["voiceExperience"]> export type VoiceExperienceSelectScalar = { id?: boolean placeId?: boolean + userId?: boolean durationSeconds?: boolean audioObjectKey?: boolean status?: boolean @@ -2414,25 +3677,30 @@ export namespace Prisma { updatedAt?: boolean } - export type VoiceExperienceOmit = $Extensions.GetOmit<"id" | "placeId" | "durationSeconds" | "audioObjectKey" | "status" | "transcript" | "analysis" | "createdAt" | "updatedAt", ExtArgs["result"]["voiceExperience"]> + export type VoiceExperienceOmit = $Extensions.GetOmit<"id" | "placeId" | "userId" | "durationSeconds" | "audioObjectKey" | "status" | "transcript" | "analysis" | "createdAt" | "updatedAt", ExtArgs["result"]["voiceExperience"]> export type VoiceExperienceInclude = { place?: boolean | PlaceDefaultArgs + user?: boolean | VoiceExperience$userArgs } export type VoiceExperienceIncludeCreateManyAndReturn = { place?: boolean | PlaceDefaultArgs + user?: boolean | VoiceExperience$userArgs } export type VoiceExperienceIncludeUpdateManyAndReturn = { place?: boolean | PlaceDefaultArgs + user?: boolean | VoiceExperience$userArgs } export type $VoiceExperiencePayload = { name: "VoiceExperience" objects: { place: Prisma.$PlacePayload + user: Prisma.$UserPayload | null } scalars: $Extensions.GetPayloadResult<{ id: string placeId: string + userId: string | null durationSeconds: number audioObjectKey: string status: $Enums.VoiceExperienceStatus @@ -2835,6 +4103,7 @@ export namespace Prisma { export interface Prisma__VoiceExperienceClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" place = {}>(args?: Subset>): Prisma__PlaceClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + user = {}>(args?: Subset>): Prisma__UserClient<$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. @@ -2866,6 +4135,7 @@ export namespace Prisma { interface VoiceExperienceFieldRefs { readonly id: FieldRef<"VoiceExperience", 'String'> readonly placeId: FieldRef<"VoiceExperience", 'String'> + readonly userId: FieldRef<"VoiceExperience", 'String'> readonly durationSeconds: FieldRef<"VoiceExperience", 'Int'> readonly audioObjectKey: FieldRef<"VoiceExperience", 'String'> readonly status: FieldRef<"VoiceExperience", 'VoiceExperienceStatus'> @@ -3273,6 +4543,25 @@ export namespace Prisma { limit?: number } + /** + * VoiceExperience.user + */ + export type VoiceExperience$userArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + where?: UserWhereInput + } + /** * VoiceExperience without action */ @@ -3319,9 +4608,25 @@ export namespace Prisma { export type PlaceScalarFieldEnum = (typeof PlaceScalarFieldEnum)[keyof typeof PlaceScalarFieldEnum] + export const UserScalarFieldEnum: { + id: 'id', + telegramId: 'telegramId', + username: 'username', + firstName: 'firstName', + lastName: 'lastName', + photoUrl: 'photoUrl', + languageCode: 'languageCode', + createdAt: 'createdAt', + updatedAt: 'updatedAt' + }; + + export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] + + export const VoiceExperienceScalarFieldEnum: { id: 'id', placeId: 'placeId', + userId: 'userId', durationSeconds: 'durationSeconds', audioObjectKey: 'audioObjectKey', status: 'status', @@ -3358,6 +4663,14 @@ 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, @@ -3367,14 +4680,6 @@ 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 */ @@ -3534,12 +4839,88 @@ export namespace Prisma { updatedAt?: DateTimeWithAggregatesFilter<"Place"> | Date | string } + export type UserWhereInput = { + AND?: UserWhereInput | UserWhereInput[] + OR?: UserWhereInput[] + NOT?: UserWhereInput | UserWhereInput[] + id?: StringFilter<"User"> | string + telegramId?: StringFilter<"User"> | string + username?: StringNullableFilter<"User"> | string | null + firstName?: StringNullableFilter<"User"> | string | null + lastName?: StringNullableFilter<"User"> | string | null + photoUrl?: StringNullableFilter<"User"> | string | null + languageCode?: StringNullableFilter<"User"> | string | null + createdAt?: DateTimeFilter<"User"> | Date | string + updatedAt?: DateTimeFilter<"User"> | Date | string + voiceExperiences?: VoiceExperienceListRelationFilter + } + + export type UserOrderByWithRelationInput = { + id?: SortOrder + telegramId?: SortOrder + username?: SortOrderInput | SortOrder + firstName?: SortOrderInput | SortOrder + lastName?: SortOrderInput | SortOrder + photoUrl?: SortOrderInput | SortOrder + languageCode?: SortOrderInput | SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + voiceExperiences?: VoiceExperienceOrderByRelationAggregateInput + } + + export type UserWhereUniqueInput = Prisma.AtLeast<{ + id?: string + telegramId?: string + AND?: UserWhereInput | UserWhereInput[] + OR?: UserWhereInput[] + NOT?: UserWhereInput | UserWhereInput[] + username?: StringNullableFilter<"User"> | string | null + firstName?: StringNullableFilter<"User"> | string | null + lastName?: StringNullableFilter<"User"> | string | null + photoUrl?: StringNullableFilter<"User"> | string | null + languageCode?: StringNullableFilter<"User"> | string | null + createdAt?: DateTimeFilter<"User"> | Date | string + updatedAt?: DateTimeFilter<"User"> | Date | string + voiceExperiences?: VoiceExperienceListRelationFilter + }, "id" | "telegramId"> + + export type UserOrderByWithAggregationInput = { + id?: SortOrder + telegramId?: SortOrder + username?: SortOrderInput | SortOrder + firstName?: SortOrderInput | SortOrder + lastName?: SortOrderInput | SortOrder + photoUrl?: SortOrderInput | SortOrder + languageCode?: SortOrderInput | SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + _count?: UserCountOrderByAggregateInput + _max?: UserMaxOrderByAggregateInput + _min?: UserMinOrderByAggregateInput + } + + export type UserScalarWhereWithAggregatesInput = { + AND?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] + OR?: UserScalarWhereWithAggregatesInput[] + NOT?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"User"> | string + telegramId?: StringWithAggregatesFilter<"User"> | string + username?: StringNullableWithAggregatesFilter<"User"> | string | null + firstName?: StringNullableWithAggregatesFilter<"User"> | string | null + lastName?: StringNullableWithAggregatesFilter<"User"> | string | null + photoUrl?: StringNullableWithAggregatesFilter<"User"> | string | null + languageCode?: StringNullableWithAggregatesFilter<"User"> | string | null + createdAt?: DateTimeWithAggregatesFilter<"User"> | Date | string + updatedAt?: DateTimeWithAggregatesFilter<"User"> | Date | string + } + export type VoiceExperienceWhereInput = { AND?: VoiceExperienceWhereInput | VoiceExperienceWhereInput[] OR?: VoiceExperienceWhereInput[] NOT?: VoiceExperienceWhereInput | VoiceExperienceWhereInput[] id?: StringFilter<"VoiceExperience"> | string placeId?: StringFilter<"VoiceExperience"> | string + userId?: StringNullableFilter<"VoiceExperience"> | string | null durationSeconds?: IntFilter<"VoiceExperience"> | number audioObjectKey?: StringFilter<"VoiceExperience"> | string status?: EnumVoiceExperienceStatusFilter<"VoiceExperience"> | $Enums.VoiceExperienceStatus @@ -3548,11 +4929,13 @@ export namespace Prisma { createdAt?: DateTimeFilter<"VoiceExperience"> | Date | string updatedAt?: DateTimeFilter<"VoiceExperience"> | Date | string place?: XOR + user?: XOR | null } export type VoiceExperienceOrderByWithRelationInput = { id?: SortOrder placeId?: SortOrder + userId?: SortOrderInput | SortOrder durationSeconds?: SortOrder audioObjectKey?: SortOrder status?: SortOrder @@ -3561,6 +4944,7 @@ export namespace Prisma { createdAt?: SortOrder updatedAt?: SortOrder place?: PlaceOrderByWithRelationInput + user?: UserOrderByWithRelationInput } export type VoiceExperienceWhereUniqueInput = Prisma.AtLeast<{ @@ -3569,6 +4953,7 @@ export namespace Prisma { OR?: VoiceExperienceWhereInput[] NOT?: VoiceExperienceWhereInput | VoiceExperienceWhereInput[] placeId?: StringFilter<"VoiceExperience"> | string + userId?: StringNullableFilter<"VoiceExperience"> | string | null durationSeconds?: IntFilter<"VoiceExperience"> | number audioObjectKey?: StringFilter<"VoiceExperience"> | string status?: EnumVoiceExperienceStatusFilter<"VoiceExperience"> | $Enums.VoiceExperienceStatus @@ -3577,11 +4962,13 @@ export namespace Prisma { createdAt?: DateTimeFilter<"VoiceExperience"> | Date | string updatedAt?: DateTimeFilter<"VoiceExperience"> | Date | string place?: XOR + user?: XOR | null }, "id"> export type VoiceExperienceOrderByWithAggregationInput = { id?: SortOrder placeId?: SortOrder + userId?: SortOrderInput | SortOrder durationSeconds?: SortOrder audioObjectKey?: SortOrder status?: SortOrder @@ -3602,6 +4989,7 @@ export namespace Prisma { NOT?: VoiceExperienceScalarWhereWithAggregatesInput | VoiceExperienceScalarWhereWithAggregatesInput[] id?: StringWithAggregatesFilter<"VoiceExperience"> | string placeId?: StringWithAggregatesFilter<"VoiceExperience"> | string + userId?: StringNullableWithAggregatesFilter<"VoiceExperience"> | string | null durationSeconds?: IntWithAggregatesFilter<"VoiceExperience"> | number audioObjectKey?: StringWithAggregatesFilter<"VoiceExperience"> | string status?: EnumVoiceExperienceStatusWithAggregatesFilter<"VoiceExperience"> | $Enums.VoiceExperienceStatus @@ -3685,6 +5073,94 @@ export namespace Prisma { updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } + export type UserCreateInput = { + id?: string + telegramId: string + username?: string | null + firstName?: string | null + lastName?: string | null + photoUrl?: string | null + languageCode?: string | null + createdAt?: Date | string + updatedAt?: Date | string + voiceExperiences?: VoiceExperienceCreateNestedManyWithoutUserInput + } + + export type UserUncheckedCreateInput = { + id?: string + telegramId: string + username?: string | null + firstName?: string | null + lastName?: string | null + photoUrl?: string | null + languageCode?: string | null + createdAt?: Date | string + updatedAt?: Date | string + voiceExperiences?: VoiceExperienceUncheckedCreateNestedManyWithoutUserInput + } + + export type UserUpdateInput = { + 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 + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + voiceExperiences?: VoiceExperienceUpdateManyWithoutUserNestedInput + } + + export type UserUncheckedUpdateInput = { + 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 + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + voiceExperiences?: VoiceExperienceUncheckedUpdateManyWithoutUserNestedInput + } + + export type UserCreateManyInput = { + id?: string + telegramId: string + username?: string | null + firstName?: string | null + lastName?: string | null + photoUrl?: string | null + languageCode?: string | null + createdAt?: Date | string + updatedAt?: Date | string + } + + export type UserUpdateManyMutationInput = { + 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 + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type UserUncheckedUpdateManyInput = { + 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 + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + export type VoiceExperienceCreateInput = { id?: string durationSeconds: number @@ -3695,11 +5171,13 @@ export namespace Prisma { createdAt?: Date | string updatedAt?: Date | string place: PlaceCreateNestedOneWithoutExperiencesInput + user?: UserCreateNestedOneWithoutVoiceExperiencesInput } export type VoiceExperienceUncheckedCreateInput = { id?: string placeId: string + userId?: string | null durationSeconds: number audioObjectKey: string status?: $Enums.VoiceExperienceStatus @@ -3719,11 +5197,13 @@ export namespace Prisma { createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string place?: PlaceUpdateOneRequiredWithoutExperiencesNestedInput + user?: UserUpdateOneWithoutVoiceExperiencesNestedInput } export type VoiceExperienceUncheckedUpdateInput = { id?: StringFieldUpdateOperationsInput | string placeId?: StringFieldUpdateOperationsInput | string + userId?: NullableStringFieldUpdateOperationsInput | string | null durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus @@ -3736,6 +5216,7 @@ export namespace Prisma { export type VoiceExperienceCreateManyInput = { id?: string placeId: string + userId?: string | null durationSeconds: number audioObjectKey: string status?: $Enums.VoiceExperienceStatus @@ -3759,6 +5240,7 @@ export namespace Prisma { export type VoiceExperienceUncheckedUpdateManyInput = { id?: StringFieldUpdateOperationsInput | string placeId?: StringFieldUpdateOperationsInput | string + userId?: NullableStringFieldUpdateOperationsInput | string | null durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus @@ -3903,6 +5385,80 @@ export namespace Prisma { _max?: NestedDateTimeFilter<$PrismaModel> } + export type StringNullableFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringNullableFilter<$PrismaModel> | string | null + } + + export type SortOrderInput = { + sort: SortOrder + nulls?: NullsOrder + } + + export type UserCountOrderByAggregateInput = { + id?: SortOrder + telegramId?: SortOrder + username?: SortOrder + firstName?: SortOrder + lastName?: SortOrder + photoUrl?: SortOrder + languageCode?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type UserMaxOrderByAggregateInput = { + id?: SortOrder + telegramId?: SortOrder + username?: SortOrder + firstName?: SortOrder + lastName?: SortOrder + photoUrl?: SortOrder + languageCode?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type UserMinOrderByAggregateInput = { + id?: SortOrder + telegramId?: SortOrder + username?: SortOrder + firstName?: SortOrder + lastName?: SortOrder + photoUrl?: SortOrder + languageCode?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedStringNullableFilter<$PrismaModel> + _max?: NestedStringNullableFilter<$PrismaModel> + } + export type IntFilter<$PrismaModel = never> = { equals?: number | IntFieldRefInput<$PrismaModel> in?: number[] | ListIntFieldRefInput<$PrismaModel> @@ -3920,21 +5476,6 @@ export namespace Prisma { notIn?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> not?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> | $Enums.VoiceExperienceStatus } - - export type StringNullableFilter<$PrismaModel = never> = { - equals?: string | StringFieldRefInput<$PrismaModel> | null - in?: string[] | ListStringFieldRefInput<$PrismaModel> | null - notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null - lt?: string | StringFieldRefInput<$PrismaModel> - lte?: string | StringFieldRefInput<$PrismaModel> - gt?: string | StringFieldRefInput<$PrismaModel> - gte?: string | StringFieldRefInput<$PrismaModel> - contains?: string | StringFieldRefInput<$PrismaModel> - startsWith?: string | StringFieldRefInput<$PrismaModel> - endsWith?: string | StringFieldRefInput<$PrismaModel> - mode?: QueryMode - not?: NestedStringNullableFilter<$PrismaModel> | string | null - } export type JsonNullableFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, @@ -3964,14 +5505,15 @@ export namespace Prisma { isNot?: PlaceWhereInput } - export type SortOrderInput = { - sort: SortOrder - nulls?: NullsOrder + export type UserNullableScalarRelationFilter = { + is?: UserWhereInput | null + isNot?: UserWhereInput | null } export type VoiceExperienceCountOrderByAggregateInput = { id?: SortOrder placeId?: SortOrder + userId?: SortOrder durationSeconds?: SortOrder audioObjectKey?: SortOrder status?: SortOrder @@ -3988,6 +5530,7 @@ export namespace Prisma { export type VoiceExperienceMaxOrderByAggregateInput = { id?: SortOrder placeId?: SortOrder + userId?: SortOrder durationSeconds?: SortOrder audioObjectKey?: SortOrder status?: SortOrder @@ -3999,6 +5542,7 @@ export namespace Prisma { export type VoiceExperienceMinOrderByAggregateInput = { id?: SortOrder placeId?: SortOrder + userId?: SortOrder durationSeconds?: SortOrder audioObjectKey?: SortOrder status?: SortOrder @@ -4036,24 +5580,6 @@ export namespace Prisma { _min?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> _max?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> } - - export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { - equals?: string | StringFieldRefInput<$PrismaModel> | null - in?: string[] | ListStringFieldRefInput<$PrismaModel> | null - notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null - lt?: string | StringFieldRefInput<$PrismaModel> - lte?: string | StringFieldRefInput<$PrismaModel> - gt?: string | StringFieldRefInput<$PrismaModel> - gte?: string | StringFieldRefInput<$PrismaModel> - contains?: string | StringFieldRefInput<$PrismaModel> - startsWith?: string | StringFieldRefInput<$PrismaModel> - endsWith?: string | StringFieldRefInput<$PrismaModel> - mode?: QueryMode - not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null - _count?: NestedIntNullableFilter<$PrismaModel> - _min?: NestedStringNullableFilter<$PrismaModel> - _max?: NestedStringNullableFilter<$PrismaModel> - } export type JsonNullableWithAggregatesFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, @@ -4139,12 +5665,64 @@ export namespace Prisma { deleteMany?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] } + export type VoiceExperienceCreateNestedManyWithoutUserInput = { + create?: XOR | VoiceExperienceCreateWithoutUserInput[] | VoiceExperienceUncheckedCreateWithoutUserInput[] + connectOrCreate?: VoiceExperienceCreateOrConnectWithoutUserInput | VoiceExperienceCreateOrConnectWithoutUserInput[] + createMany?: VoiceExperienceCreateManyUserInputEnvelope + connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] + } + + export type VoiceExperienceUncheckedCreateNestedManyWithoutUserInput = { + create?: XOR | VoiceExperienceCreateWithoutUserInput[] | VoiceExperienceUncheckedCreateWithoutUserInput[] + connectOrCreate?: VoiceExperienceCreateOrConnectWithoutUserInput | VoiceExperienceCreateOrConnectWithoutUserInput[] + createMany?: VoiceExperienceCreateManyUserInputEnvelope + connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] + } + + export type NullableStringFieldUpdateOperationsInput = { + set?: string | null + } + + export type VoiceExperienceUpdateManyWithoutUserNestedInput = { + create?: XOR | VoiceExperienceCreateWithoutUserInput[] | VoiceExperienceUncheckedCreateWithoutUserInput[] + connectOrCreate?: VoiceExperienceCreateOrConnectWithoutUserInput | VoiceExperienceCreateOrConnectWithoutUserInput[] + upsert?: VoiceExperienceUpsertWithWhereUniqueWithoutUserInput | VoiceExperienceUpsertWithWhereUniqueWithoutUserInput[] + createMany?: VoiceExperienceCreateManyUserInputEnvelope + set?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] + disconnect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] + delete?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] + connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] + update?: VoiceExperienceUpdateWithWhereUniqueWithoutUserInput | VoiceExperienceUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: VoiceExperienceUpdateManyWithWhereWithoutUserInput | VoiceExperienceUpdateManyWithWhereWithoutUserInput[] + deleteMany?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] + } + + export type VoiceExperienceUncheckedUpdateManyWithoutUserNestedInput = { + create?: XOR | VoiceExperienceCreateWithoutUserInput[] | VoiceExperienceUncheckedCreateWithoutUserInput[] + connectOrCreate?: VoiceExperienceCreateOrConnectWithoutUserInput | VoiceExperienceCreateOrConnectWithoutUserInput[] + upsert?: VoiceExperienceUpsertWithWhereUniqueWithoutUserInput | VoiceExperienceUpsertWithWhereUniqueWithoutUserInput[] + createMany?: VoiceExperienceCreateManyUserInputEnvelope + set?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] + disconnect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] + delete?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] + connect?: VoiceExperienceWhereUniqueInput | VoiceExperienceWhereUniqueInput[] + update?: VoiceExperienceUpdateWithWhereUniqueWithoutUserInput | VoiceExperienceUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: VoiceExperienceUpdateManyWithWhereWithoutUserInput | VoiceExperienceUpdateManyWithWhereWithoutUserInput[] + deleteMany?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] + } + export type PlaceCreateNestedOneWithoutExperiencesInput = { create?: XOR connectOrCreate?: PlaceCreateOrConnectWithoutExperiencesInput connect?: PlaceWhereUniqueInput } + export type UserCreateNestedOneWithoutVoiceExperiencesInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutVoiceExperiencesInput + connect?: UserWhereUniqueInput + } + export type IntFieldUpdateOperationsInput = { set?: number increment?: number @@ -4157,10 +5735,6 @@ export namespace Prisma { set?: $Enums.VoiceExperienceStatus } - export type NullableStringFieldUpdateOperationsInput = { - set?: string | null - } - export type PlaceUpdateOneRequiredWithoutExperiencesNestedInput = { create?: XOR connectOrCreate?: PlaceCreateOrConnectWithoutExperiencesInput @@ -4169,6 +5743,16 @@ export namespace Prisma { update?: XOR, PlaceUncheckedUpdateWithoutExperiencesInput> } + export type UserUpdateOneWithoutVoiceExperiencesNestedInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutVoiceExperiencesInput + upsert?: UserUpsertWithoutVoiceExperiencesInput + disconnect?: UserWhereInput | boolean + delete?: UserWhereInput | boolean + connect?: UserWhereUniqueInput + update?: XOR, UserUncheckedUpdateWithoutVoiceExperiencesInput> + } + export type NestedStringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> @@ -4263,13 +5847,6 @@ export namespace Prisma { _max?: NestedDateTimeFilter<$PrismaModel> } - export type NestedEnumVoiceExperienceStatusFilter<$PrismaModel = never> = { - equals?: $Enums.VoiceExperienceStatus | EnumVoiceExperienceStatusFieldRefInput<$PrismaModel> - in?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> - notIn?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> - not?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> | $Enums.VoiceExperienceStatus - } - export type NestedStringNullableFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null @@ -4284,32 +5861,6 @@ export namespace Prisma { not?: NestedStringNullableFilter<$PrismaModel> | string | null } - export type NestedIntWithAggregatesFilter<$PrismaModel = never> = { - equals?: number | IntFieldRefInput<$PrismaModel> - in?: number[] | ListIntFieldRefInput<$PrismaModel> - notIn?: number[] | ListIntFieldRefInput<$PrismaModel> - lt?: number | IntFieldRefInput<$PrismaModel> - lte?: number | IntFieldRefInput<$PrismaModel> - gt?: number | IntFieldRefInput<$PrismaModel> - gte?: number | IntFieldRefInput<$PrismaModel> - not?: NestedIntWithAggregatesFilter<$PrismaModel> | number - _count?: NestedIntFilter<$PrismaModel> - _avg?: NestedFloatFilter<$PrismaModel> - _sum?: NestedIntFilter<$PrismaModel> - _min?: NestedIntFilter<$PrismaModel> - _max?: NestedIntFilter<$PrismaModel> - } - - export type NestedEnumVoiceExperienceStatusWithAggregatesFilter<$PrismaModel = never> = { - equals?: $Enums.VoiceExperienceStatus | EnumVoiceExperienceStatusFieldRefInput<$PrismaModel> - in?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> - notIn?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> - not?: NestedEnumVoiceExperienceStatusWithAggregatesFilter<$PrismaModel> | $Enums.VoiceExperienceStatus - _count?: NestedIntFilter<$PrismaModel> - _min?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> - _max?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> - } - export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> | null in?: string[] | ListStringFieldRefInput<$PrismaModel> | null @@ -4337,6 +5888,39 @@ export namespace Prisma { gte?: number | IntFieldRefInput<$PrismaModel> not?: NestedIntNullableFilter<$PrismaModel> | number | null } + + export type NestedEnumVoiceExperienceStatusFilter<$PrismaModel = never> = { + equals?: $Enums.VoiceExperienceStatus | EnumVoiceExperienceStatusFieldRefInput<$PrismaModel> + in?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> + not?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> | $Enums.VoiceExperienceStatus + } + + export type NestedIntWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedIntFilter<$PrismaModel> + _min?: NestedIntFilter<$PrismaModel> + _max?: NestedIntFilter<$PrismaModel> + } + + export type NestedEnumVoiceExperienceStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.VoiceExperienceStatus | EnumVoiceExperienceStatusFieldRefInput<$PrismaModel> + in?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.VoiceExperienceStatus[] | ListEnumVoiceExperienceStatusFieldRefInput<$PrismaModel> + not?: NestedEnumVoiceExperienceStatusWithAggregatesFilter<$PrismaModel> | $Enums.VoiceExperienceStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> + _max?: NestedEnumVoiceExperienceStatusFilter<$PrismaModel> + } export type NestedJsonNullableFilter<$PrismaModel = never> = | PatchUndefined< Either>, Exclude>, 'path'>>, @@ -4370,10 +5954,12 @@ export namespace Prisma { analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: Date | string updatedAt?: Date | string + user?: UserCreateNestedOneWithoutVoiceExperiencesInput } export type VoiceExperienceUncheckedCreateWithoutPlaceInput = { id?: string + userId?: string | null durationSeconds: number audioObjectKey: string status?: $Enums.VoiceExperienceStatus @@ -4415,6 +6001,7 @@ export namespace Prisma { NOT?: VoiceExperienceScalarWhereInput | VoiceExperienceScalarWhereInput[] id?: StringFilter<"VoiceExperience"> | string placeId?: StringFilter<"VoiceExperience"> | string + userId?: StringNullableFilter<"VoiceExperience"> | string | null durationSeconds?: IntFilter<"VoiceExperience"> | number audioObjectKey?: StringFilter<"VoiceExperience"> | string status?: EnumVoiceExperienceStatusFilter<"VoiceExperience"> | $Enums.VoiceExperienceStatus @@ -4424,6 +6011,56 @@ export namespace Prisma { updatedAt?: DateTimeFilter<"VoiceExperience"> | Date | string } + export type VoiceExperienceCreateWithoutUserInput = { + id?: string + durationSeconds: number + audioObjectKey: string + status?: $Enums.VoiceExperienceStatus + transcript?: string | null + analysis?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + updatedAt?: Date | string + place: PlaceCreateNestedOneWithoutExperiencesInput + } + + export type VoiceExperienceUncheckedCreateWithoutUserInput = { + id?: string + placeId: string + durationSeconds: number + audioObjectKey: string + status?: $Enums.VoiceExperienceStatus + transcript?: string | null + analysis?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + updatedAt?: Date | string + } + + export type VoiceExperienceCreateOrConnectWithoutUserInput = { + where: VoiceExperienceWhereUniqueInput + create: XOR + } + + export type VoiceExperienceCreateManyUserInputEnvelope = { + data: VoiceExperienceCreateManyUserInput | VoiceExperienceCreateManyUserInput[] + skipDuplicates?: boolean + } + + export type VoiceExperienceUpsertWithWhereUniqueWithoutUserInput = { + where: VoiceExperienceWhereUniqueInput + update: XOR + create: XOR + } + + export type VoiceExperienceUpdateWithWhereUniqueWithoutUserInput = { + where: VoiceExperienceWhereUniqueInput + data: XOR + } + + export type VoiceExperienceUpdateManyWithWhereWithoutUserInput = { + where: VoiceExperienceScalarWhereInput + data: XOR + } + export type PlaceCreateWithoutExperiencesInput = { id?: string googlePlaceId: string @@ -4449,6 +6086,35 @@ export namespace Prisma { create: XOR } + export type UserCreateWithoutVoiceExperiencesInput = { + id?: string + telegramId: string + username?: string | null + firstName?: string | null + lastName?: string | null + photoUrl?: string | null + languageCode?: string | null + createdAt?: Date | string + updatedAt?: Date | string + } + + export type UserUncheckedCreateWithoutVoiceExperiencesInput = { + id?: string + telegramId: string + username?: string | null + firstName?: string | null + lastName?: string | null + photoUrl?: string | null + languageCode?: string | null + createdAt?: Date | string + updatedAt?: Date | string + } + + export type UserCreateOrConnectWithoutVoiceExperiencesInput = { + where: UserWhereUniqueInput + create: XOR + } + export type PlaceUpsertWithoutExperiencesInput = { update: XOR create: XOR @@ -4480,8 +6146,44 @@ export namespace Prisma { updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } + export type UserUpsertWithoutVoiceExperiencesInput = { + update: XOR + create: XOR + where?: UserWhereInput + } + + export type UserUpdateToOneWithWhereWithoutVoiceExperiencesInput = { + where?: UserWhereInput + data: XOR + } + + export type UserUpdateWithoutVoiceExperiencesInput = { + 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 + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type UserUncheckedUpdateWithoutVoiceExperiencesInput = { + 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 + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + export type VoiceExperienceCreateManyPlaceInput = { id?: string + userId?: string | null durationSeconds: number audioObjectKey: string status?: $Enums.VoiceExperienceStatus @@ -4500,10 +6202,12 @@ export namespace Prisma { analysis?: NullableJsonNullValueInput | InputJsonValue createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + user?: UserUpdateOneWithoutVoiceExperiencesNestedInput } export type VoiceExperienceUncheckedUpdateWithoutPlaceInput = { id?: StringFieldUpdateOperationsInput | string + userId?: NullableStringFieldUpdateOperationsInput | string | null durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus @@ -4515,6 +6219,55 @@ export namespace Prisma { export type VoiceExperienceUncheckedUpdateManyWithoutPlaceInput = { id?: StringFieldUpdateOperationsInput | string + userId?: NullableStringFieldUpdateOperationsInput | string | null + durationSeconds?: IntFieldUpdateOperationsInput | number + audioObjectKey?: StringFieldUpdateOperationsInput | string + status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus + transcript?: NullableStringFieldUpdateOperationsInput | string | null + analysis?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type VoiceExperienceCreateManyUserInput = { + id?: string + placeId: string + durationSeconds: number + audioObjectKey: string + status?: $Enums.VoiceExperienceStatus + transcript?: string | null + analysis?: NullableJsonNullValueInput | InputJsonValue + createdAt?: Date | string + updatedAt?: Date | string + } + + export type VoiceExperienceUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + durationSeconds?: IntFieldUpdateOperationsInput | number + audioObjectKey?: StringFieldUpdateOperationsInput | string + status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus + transcript?: NullableStringFieldUpdateOperationsInput | string | null + analysis?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + place?: PlaceUpdateOneRequiredWithoutExperiencesNestedInput + } + + export type VoiceExperienceUncheckedUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + placeId?: StringFieldUpdateOperationsInput | string + durationSeconds?: IntFieldUpdateOperationsInput | number + audioObjectKey?: StringFieldUpdateOperationsInput | string + status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus + transcript?: NullableStringFieldUpdateOperationsInput | string | null + analysis?: NullableJsonNullValueInput | InputJsonValue + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type VoiceExperienceUncheckedUpdateManyWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + placeId?: StringFieldUpdateOperationsInput | string durationSeconds?: IntFieldUpdateOperationsInput | number audioObjectKey?: StringFieldUpdateOperationsInput | string status?: EnumVoiceExperienceStatusFieldUpdateOperationsInput | $Enums.VoiceExperienceStatus diff --git a/src/generated/prisma/index.js b/src/generated/prisma/index.js index 8f94174..a7903da 100644 --- a/src/generated/prisma/index.js +++ b/src/generated/prisma/index.js @@ -103,9 +103,22 @@ exports.Prisma.PlaceScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.UserScalarFieldEnum = { + id: 'id', + telegramId: 'telegramId', + username: 'username', + firstName: 'firstName', + lastName: 'lastName', + photoUrl: 'photoUrl', + languageCode: 'languageCode', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + exports.Prisma.VoiceExperienceScalarFieldEnum = { id: 'id', placeId: 'placeId', + userId: 'userId', durationSeconds: 'durationSeconds', audioObjectKey: 'audioObjectKey', status: 'status', @@ -130,16 +143,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', @@ -151,6 +164,7 @@ exports.VoiceExperienceStatus = exports.$Enums.VoiceExperienceStatus = { exports.Prisma.ModelName = { Place: 'Place', + User: 'User', VoiceExperience: 'VoiceExperience' }; /** @@ -161,14 +175,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 experiences 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 durationSeconds Int\n audioObjectKey String\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 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 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 status VoiceExperienceStatus @default(UPLOADED)\n transcript String?\n analysis Json?\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\":\"experiences\",\"kind\":\"object\",\"type\":\"VoiceExperience\",\"relationName\":\"PlaceToVoiceExperience\"},{\"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\":\"durationSeconds\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"audioObjectKey\",\"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\":\"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\":\"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\":\"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\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.parameterizationSchema = { - strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"place\",\"experiences\",\"_count\",\"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\",\"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\",\"durationSeconds\",\"audioObjectKey\",\"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\",\"googlePlaceId\",\"name\",\"latitude\",\"longitude\",\"every\",\"some\",\"none\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"), - graph: "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-ACAbAAA-ACA7QAAAAAE8QAAAAAQ9QAAAAAQ-QAAAAAE_QAAAAAFAQAAAAAFBQAAAAAFCQAA8ACELBQAAPQAgGgAAPgAgGwAAPgAgO0AAAAABPEAAAAAEPUAAAAAEPkAAAAABP0AAAAABQEAAAAABQUAAAAABQkAAPAAhCDsCAAAAATwCAAAABD0CAAAABD4CAAAAAT8CAAAAAUACAAAAAUECAAAAAUICAD0AIQg7QAAAAAE8QAAAAAQ9QAAAAAQ-QAAAAAE_QAAAAAFAQAAAAAFBQAAAAAFCQAA-ACEIOwIAAAABPAIAAAAFPQIAAAAFPgIAAAABPwIAAAABQAIAAAABQQIAAAABQgIAPwAhDDuAAAAAAT6AAAAAAT-AAAAAAUCAAAAAAUGAAAAAAUKAAAAAAUMBAAAAAUQBAAAAAUUBAAAAAUaAAAAAAUeAAAAAAUiAAAAAAQ4FAAA_ACAaAABCACAbAABCACA7AQAAAAE8AQAAAAU9AQAAAAU-AQAAAAE_AQAAAAFAAQAAAAFBAQAAAAFCAQBBACFJAQAAAAFKAQAAAAFLAQAAAAELOwEAAAABPAEAAAAFPQEAAAAFPgEAAAABPwEAAAABQAEAAAABQQEAAAABQgEAQgAhSQEAAAABSgEAAAABSwEAAAABBwUAAD0AIBoAAEQAIBsAAEQAIDsAAAA2AjwAAAA2CD0AAAA2CEIAAEM2IgQ7AAAANgI8AAAANgg9AAAANghCAABENiINBQAAPQAgGAAARgAgGQAAPQAgGgAAPQAgGwAAPQAgOwIAAAABPAIAAAAEPQIAAAAEPgIAAAABPwIAAAABQAIAAAABQQIAAAABQgIARQAhCDsIAAAAATwIAAAABD0IAAAABD4IAAAAAT8IAAAAAUAIAAAAAUEIAAAAAUIIAEYAIQ4FAAA9ACAaAABIACAbAABIACA7AQAAAAE8AQAAAAQ9AQAAAAQ-AQAAAAE_AQAAAAFAAQAAAAFBAQAAAAFCAQBHACFJAQAAAAFKAQAAAAFLAQAAAAELOwEAAAABPAEAAAAEPQEAAAAEPgEAAAABPwEAAAABQAEAAAABQQEAAAABQgEASAAhSQEAAAABSgEAAAABSwEAAAABCi4AAEkAMC8AABwAEDAAAEkAMDEBADYAITlAADsAITpAADsAIUwBADYAIU0BADYAIU4IAEoAIU8IAEoAIQ0FAAA9ACAYAABGACAZAABGACAaAABGACAbAABGACA7CAAAAAE8CAAAAAQ9CAAAAAQ-CAAAAAE_CAAAAAFACAAAAAFBCAAAAAFCCABLACENBQAAPQAgGAAARgAgGQAARgAgGgAARgAgGwAARgAgOwgAAAABPAgAAAAEPQgAAAAEPggAAAABPwgAAAABQAgAAAABQQgAAAABQggASwAhCwQAAFAAIC4AAEwAMC8AAAkAEDAAAEwAMDEBAE0AITlAAE8AITpAAE8AIUwBAE0AIU0BAE0AIU4IAE4AIU8IAE4AIQs7AQAAAAE8AQAAAAQ9AQAAAAQ-AQAAAAE_AQAAAAFAAQAAAAFBAQAAAAFCAQBIACFJAQAAAAFKAQAAAAFLAQAAAAEIOwgAAAABPAgAAAAEPQgAAAAEPggAAAABPwgAAAABQAgAAAABQQgAAAABQggARgAhCDtAAAAAATxAAAAABD1AAAAABD5AAAAAAT9AAAAAAUBAAAAAAUFAAAAAAUJAAD4AIQNQAAADACBRAAADACBSAAADACANAwAAVgAgLgAAUQAwLwAAAwAQMAAAUQAwMQEATQAhMgEATQAhMwIAUgAhNAEATQAhNgAAUzYiNwEAVAAhOAAAVQAgOUAATwAhOkAATwAhCDsCAAAAATwCAAAABD0CAAAABD4CAAAAAT8CAAAAAUACAAAAAUECAAAAAUICAD0AIQQ7AAAANgI8AAAANgg9AAAANghCAABENiILOwEAAAABPAEAAAAFPQEAAAAFPgEAAAABPwEAAAABQAEAAAABQQEAAAABQgEAQgAhSQEAAAABSgEAAAABSwEAAAABDDuAAAAAAT6AAAAAAT-AAAAAAUCAAAAAAUGAAAAAAUKAAAAAAUMBAAAAAUQBAAAAAUUBAAAAAUaAAAAAAUeAAAAAAUiAAAAAAQ0EAABQACAuAABMADAvAAAJABAwAABMADAxAQBNACE5QABPACE6QABPACFMAQBNACFNAQBNACFOCABOACFPCABOACFTAAAJACBUAAAJACAAAAAAAAABWAEAAAABBVgCAAAAAV4CAAAAAV8CAAAAAWACAAAAAWECAAAAAQFYAAAANgIBWAEAAAABAVhAAAAAAQUSAAB7ACATAAB-ACBVAAB8ACBWAAB9ACBbAAABACADEgAAewAgVQAAfAAgWwAAAQAgAAAAAAAFWAgAAAABXggAAAABXwgAAAABYAgAAAABYQgAAAABCxIAAGsAMBMAAHAAMFUAAGwAMFYAAG0AMFcAAG4AIFgAAG8AMFkAAG8AMFoAAG8AMFsAAG8AMFwAAHEAMF0AAHIAMAgxAQAAAAEzAgAAAAE0AQAAAAE2AAAANgI3AQAAAAE4gAAAAAE5QAAAAAE6QAAAAAECAAAABQAgEgAAdgAgAwAAAAUAIBIAAHYAIBMAAHUAIAELAAB6ADANAwAAVgAgLgAAUQAwLwAAAwAQMAAAUQAwMQEAAAABMgEATQAhMwIAUgAhNAEATQAhNgAAUzYiNwEAVAAhOAAAVQAgOUAATwAhOkAATwAhAgAAAAUAIAsAAHUAIAIAAABzACALAAB0ACAMLgAAcgAwLwAAcwAQMAAAcgAwMQEATQAhMgEATQAhMwIAUgAhNAEATQAhNgAAUzYiNwEAVAAhOAAAVQAgOUAATwAhOkAATwAhDC4AAHIAMC8AAHMAEDAAAHIAMDEBAE0AITIBAE0AITMCAFIAITQBAE0AITYAAFM2IjcBAFQAITgAAFUAIDlAAE8AITpAAE8AIQgxAQBdACEzAgBeACE0AQBdACE2AABfNiI3AQBgACE4gAAAAAE5QABhACE6QABhACEIMQEAXQAhMwIAXgAhNAEAXQAhNgAAXzYiNwEAYAAhOIAAAAABOUAAYQAhOkAAYQAhCDEBAAAAATMCAAAAATQBAAAAATYAAAA2AjcBAAAAATiAAAAAATlAAAAAATpAAAAAAQQSAABrADBVAABsADBXAABuACBbAABvADAAAQQAAHgAIAgxAQAAAAEzAgAAAAE0AQAAAAE2AAAANgI3AQAAAAE4gAAAAAE5QAAAAAE6QAAAAAEHMQEAAAABOUAAAAABOkAAAAABTAEAAAABTQEAAAABTggAAAABTwgAAAABAgAAAAEAIBIAAHsAIAMAAAAJACASAAB7ACATAAB_ACAJAAAACQAgCwAAfwAgMQEAXQAhOUAAYQAhOkAAYQAhTAEAXQAhTQEAXQAhTggAaQAhTwgAaQAhBzEBAF0AITlAAGEAITpAAGEAIUwBAF0AIU0BAF0AIU4IAGkAIU8IAGkAIQIEBgIFAAMBAwABAQQHAAAAAAUFAAgYAAkZAAoaAAsbAAwAAAAAAAUFAAgYAAkZAAoaAAsbAAwBAwABAQMAAQUFABEYABIZABMaABQbABUAAAAAAAUFABEYABIZABMaABQbABUGAgEHCAEICwEJDAEKDQEMDwENEQQOEgUPFAEQFgQRFwYUGAEVGQEWGgQcHQcdHg0eHwIfIAIgIQIhIgIiIwIjJQIkJwQlKA4mKgInLAQoLQ8pLgIqLwIrMAQsMxAtNBY" + 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\",\"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\",\"every\",\"some\",\"none\",\"googlePlaceId\",\"name\",\"latitude\",\"longitude\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"), + graph: "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-ACFEAQB-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_ACFHAQB-ACFJAACAAUkiSgEAgQEAIUuAAAAAAUxAAIIBACFNQACCAQAhCgYAAIQBACBDAQB-ACFFAQCBAQAhRgIAfwAhRwEAfgAhSQAAgAFJIkoBAIEBACFLgAAAAAFMQACCAQAhTUAAggEAIQoGAACGAQAgQwEAAAABRQEAAAABRgIAAAABRwEAAAABSQAAAEkCSgEAAAABS4AAAAABTEAAAAABTUAAAAABBBQAAKABADBuAAChAQAwcAAAowEAIHQAAI8BADABBwAAmAEAIAYEAACYAQAgYAAAeAAgYQAAeAAgYgAAeAAgYwAAeAAgZAAAeAAgCUMBAAAAAUUBAAAAAUYCAAAAAUcBAAAAAUkAAABJAkoBAAAAAUuAAAAAAUxAAAAAAU1AAAAAAQlDAQAAAAFEAQAAAAFGAgAAAAFHAQAAAAFJAAAASQJKAQAAAAFLgAAAAAFMQAAAAAFNQAAAAAEJQwEAAAABTEAAAAABTUAAAAABXwEAAAABYAEAAAABYQEAAAABYgEAAAABYwEAAAABZAEAAAABAgAAACMAIBQAAK4BACAHQwEAAAABTEAAAAABTUAAAAABaAEAAAABaQEAAAABaggAAAABawgAAAABAgAAAAEAIBQAALABACADAAAABwAgFAAArgEAIBUAALQBACALAAAABwAgDQAAtAEAIEMBAH4AIUxAAIIBACFNQACCAQAhXwEAfgAhYAEAgQEAIWEBAIEBACFiAQCBAQAhYwEAgQEAIWQBAIEBACEJQwEAfgAhTEAAggEAIU1AAIIBACFfAQB-ACFgAQCBAQAhYQEAgQEAIWIBAIEBACFjAQCBAQAhZAEAgQEAIQMAAAANACAUAACwAQAgFQAAtwEAIAkAAAANACANAAC3AQAgQwEAfgAhTEAAggEAIU1AAIIBACFoAQB-ACFpAQB-ACFqCACeAQAhawgAngEAIQdDAQB-ACFMQACCAQAhTUAAggEAIWgBAH4AIWkBAH4AIWoIAJ4BACFrCACeAQAhAgUABQcGAgIDAAEGCAMCBAkCBQAEAQQKAAEHCwAAAAAFBQAKGgALGwAMHAANHQAOAAAAAAAFBQAKGgALGwAMHAANHQAOAAADBQATHAAUHQAVAAAAAwUAExwAFB0AFQIDAAEGRQMCAwABBksDBQUAGhoAGxsAHBwAHR0AHgAAAAAABQUAGhoAGxsAHBwAHR0AHggCAQkMAQoPAQsQAQwRAQ4TAQ8VBhAWBxEYARIaBhMbCBYcARcdARgeBh4hCR8iDyAkAyElAyInAyMoAyQpAyUrAyYtBicuECgwAykyBiozESs0Ayw1Ay02Bi45Ei86FjA7AjE8AjI9AjM-AjQ_AjVBAjZDBjdEFzhHAjlJBjpKGDtMAjxNAj1OBj5RGT9SHw" } 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 6b357d3..a215de3 100644 --- a/src/generated/prisma/package.json +++ b/src/generated/prisma/package.json @@ -1,5 +1,5 @@ { - "name": "prisma-client-5316d8e66293a4954be6e26169692366997bf25fe9186e98c87e62eed3dc691e", + "name": "prisma-client-359590a92aedb32557346cd24ba7dd77e7dd4a806bf36f6641715b1b22de87e3", "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 eb97f53..6745daa 100644 --- a/src/generated/prisma/schema.prisma +++ b/src/generated/prisma/schema.prisma @@ -27,10 +27,25 @@ model Place { updatedAt DateTime @updatedAt } +model User { + id String @id @default(cuid()) + telegramId String @unique + username String? + firstName String? + lastName String? + photoUrl String? + languageCode String? + voiceExperiences VoiceExperience[] + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} + model VoiceExperience { id String @id @default(cuid()) placeId String place Place @relation(fields: [placeId], references: [id]) + userId String? + user User? @relation(fields: [userId], references: [id]) durationSeconds Int audioObjectKey String status VoiceExperienceStatus @default(UPLOADED)