m
This commit is contained in:
@@ -22,3 +22,18 @@ export * from './enums.js';
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export type User = Prisma.UserModel
|
export type User = Prisma.UserModel
|
||||||
|
/**
|
||||||
|
* Model Conversation
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export type Conversation = Prisma.ConversationModel
|
||||||
|
/**
|
||||||
|
* Model ConversationParticipant
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export type ConversationParticipant = Prisma.ConversationParticipantModel
|
||||||
|
/**
|
||||||
|
* Model Message
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export type Message = Prisma.MessageModel
|
||||||
|
|||||||
@@ -44,3 +44,18 @@ export { Prisma }
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export type User = Prisma.UserModel
|
export type User = Prisma.UserModel
|
||||||
|
/**
|
||||||
|
* Model Conversation
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export type Conversation = Prisma.ConversationModel
|
||||||
|
/**
|
||||||
|
* Model ConversationParticipant
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export type ConversationParticipant = Prisma.ConversationParticipantModel
|
||||||
|
/**
|
||||||
|
* Model Message
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export type Message = Prisma.MessageModel
|
||||||
|
|||||||
@@ -28,6 +28,17 @@ export type StringFilter<$PrismaModel = never> = {
|
|||||||
not?: Prisma.NestedStringFilter<$PrismaModel> | string
|
not?: Prisma.NestedStringFilter<$PrismaModel> | string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type DateTimeFilter<$PrismaModel = never> = {
|
||||||
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
in?: Date[] | string[]
|
||||||
|
notIn?: Date[] | string[]
|
||||||
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string
|
||||||
|
}
|
||||||
|
|
||||||
export type StringWithAggregatesFilter<$PrismaModel = never> = {
|
export type StringWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
in?: string[]
|
in?: string[]
|
||||||
@@ -45,6 +56,50 @@ export type StringWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
_max?: Prisma.NestedStringFilter<$PrismaModel>
|
_max?: Prisma.NestedStringFilter<$PrismaModel>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type DateTimeWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
in?: Date[] | string[]
|
||||||
|
notIn?: Date[] | string[]
|
||||||
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string
|
||||||
|
_count?: Prisma.NestedIntFilter<$PrismaModel>
|
||||||
|
_min?: Prisma.NestedDateTimeFilter<$PrismaModel>
|
||||||
|
_max?: Prisma.NestedDateTimeFilter<$PrismaModel>
|
||||||
|
}
|
||||||
|
|
||||||
|
export type DateTimeNullableFilter<$PrismaModel = never> = {
|
||||||
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
|
||||||
|
in?: Date[] | string[] | null
|
||||||
|
notIn?: Date[] | string[] | null
|
||||||
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
not?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null
|
||||||
|
}
|
||||||
|
|
||||||
|
export type SortOrderInput = {
|
||||||
|
sort: Prisma.SortOrder
|
||||||
|
nulls?: Prisma.NullsOrder
|
||||||
|
}
|
||||||
|
|
||||||
|
export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
|
||||||
|
in?: Date[] | string[] | null
|
||||||
|
notIn?: Date[] | string[] | null
|
||||||
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
not?: Prisma.NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null
|
||||||
|
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
|
||||||
|
_min?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>
|
||||||
|
_max?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>
|
||||||
|
}
|
||||||
|
|
||||||
export type NestedStringFilter<$PrismaModel = never> = {
|
export type NestedStringFilter<$PrismaModel = never> = {
|
||||||
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
in?: string[]
|
in?: string[]
|
||||||
@@ -59,6 +114,17 @@ export type NestedStringFilter<$PrismaModel = never> = {
|
|||||||
not?: Prisma.NestedStringFilter<$PrismaModel> | string
|
not?: Prisma.NestedStringFilter<$PrismaModel> | string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type NestedDateTimeFilter<$PrismaModel = never> = {
|
||||||
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
in?: Date[] | string[]
|
||||||
|
notIn?: Date[] | string[]
|
||||||
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string
|
||||||
|
}
|
||||||
|
|
||||||
export type NestedStringWithAggregatesFilter<$PrismaModel = never> = {
|
export type NestedStringWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
in?: string[]
|
in?: string[]
|
||||||
@@ -87,4 +153,54 @@ export type NestedIntFilter<$PrismaModel = never> = {
|
|||||||
not?: Prisma.NestedIntFilter<$PrismaModel> | number
|
not?: Prisma.NestedIntFilter<$PrismaModel> | number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
in?: Date[] | string[]
|
||||||
|
notIn?: Date[] | string[]
|
||||||
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string
|
||||||
|
_count?: Prisma.NestedIntFilter<$PrismaModel>
|
||||||
|
_min?: Prisma.NestedDateTimeFilter<$PrismaModel>
|
||||||
|
_max?: Prisma.NestedDateTimeFilter<$PrismaModel>
|
||||||
|
}
|
||||||
|
|
||||||
|
export type NestedDateTimeNullableFilter<$PrismaModel = never> = {
|
||||||
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
|
||||||
|
in?: Date[] | string[] | null
|
||||||
|
notIn?: Date[] | string[] | null
|
||||||
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
not?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null
|
||||||
|
}
|
||||||
|
|
||||||
|
export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
|
||||||
|
in?: Date[] | string[] | null
|
||||||
|
notIn?: Date[] | string[] | null
|
||||||
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
|
not?: Prisma.NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null
|
||||||
|
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
|
||||||
|
_min?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>
|
||||||
|
_max?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>
|
||||||
|
}
|
||||||
|
|
||||||
|
export type NestedIntNullableFilter<$PrismaModel = never> = {
|
||||||
|
equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null
|
||||||
|
in?: number[] | null
|
||||||
|
notIn?: number[] | null
|
||||||
|
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
|
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
|
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
|
gte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
|
not?: Prisma.NestedIntNullableFilter<$PrismaModel> | number | null
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ const config: runtime.GetPrismaClientConfig = {
|
|||||||
"clientVersion": "7.1.0",
|
"clientVersion": "7.1.0",
|
||||||
"engineVersion": "ab635e6b9d606fa5c8fb8b1a7f909c3c3c1c98ba",
|
"engineVersion": "ab635e6b9d606fa5c8fb8b1a7f909c3c3c1c98ba",
|
||||||
"activeProvider": "sqlite",
|
"activeProvider": "sqlite",
|
||||||
"inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../generated/prisma\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n}\n\ngenerator prismabox {\n provider = \"prismabox\"\n typeboxImportDependencyName = \"elysia\"\n typeboxImportVariableName = \"t\"\n inputModel = true\n output = \"../generated/prismabox\"\n}\n\nmodel User {\n id String @id @default(cuid())\n email String @unique\n username String @unique\n}\n",
|
"inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../generated/prisma\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n}\n\ngenerator prismabox {\n provider = \"prismabox\"\n typeboxImportDependencyName = \"elysia\"\n typeboxImportVariableName = \"t\"\n inputModel = true\n output = \"../generated/prismabox\"\n}\n\nmodel User {\n id String @id @default(cuid())\n email String @unique\n username String @unique\n password String\n createdAt DateTime @default(now())\n messages Message[] @relation(\"UserMessages\")\n conversationMemberships ConversationParticipant[] @relation(\"UserConversations\")\n}\n\nmodel Conversation {\n id String @id @default(cuid())\n createdAt DateTime @default(now())\n participants ConversationParticipant[] @relation(\"ConversationParticipants\")\n messages Message[] @relation(\"ConversationMessages\")\n}\n\nmodel ConversationParticipant {\n id String @id @default(cuid())\n conversationId String\n userId String\n conversation Conversation @relation(\"ConversationParticipants\", fields: [conversationId], references: [id], onDelete: Cascade)\n user User @relation(\"UserConversations\", fields: [userId], references: [id], onDelete: Cascade)\n lastReadAt DateTime?\n\n @@unique([conversationId, userId])\n @@index([userId])\n}\n\nmodel Message {\n id String @id @default(cuid())\n conversationId String\n senderId String\n content String\n createdAt DateTime @default(now())\n conversation Conversation @relation(\"ConversationMessages\", fields: [conversationId], references: [id], onDelete: Cascade)\n sender User @relation(\"UserMessages\", fields: [senderId], references: [id], onDelete: Cascade)\n\n @@index([conversationId, createdAt])\n}\n",
|
||||||
"runtimeDataModel": {
|
"runtimeDataModel": {
|
||||||
"models": {},
|
"models": {},
|
||||||
"enums": {},
|
"enums": {},
|
||||||
@@ -28,7 +28,7 @@ const config: runtime.GetPrismaClientConfig = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
|
config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"messages\",\"kind\":\"object\",\"type\":\"Message\",\"relationName\":\"UserMessages\"},{\"name\":\"conversationMemberships\",\"kind\":\"object\",\"type\":\"ConversationParticipant\",\"relationName\":\"UserConversations\"}],\"dbName\":null},\"Conversation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"participants\",\"kind\":\"object\",\"type\":\"ConversationParticipant\",\"relationName\":\"ConversationParticipants\"},{\"name\":\"messages\",\"kind\":\"object\",\"type\":\"Message\",\"relationName\":\"ConversationMessages\"}],\"dbName\":null},\"ConversationParticipant\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"conversationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"conversation\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ConversationParticipants\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserConversations\"},{\"name\":\"lastReadAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Message\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"conversationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"senderId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"content\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"conversation\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ConversationMessages\"},{\"name\":\"sender\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserMessages\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
|
||||||
|
|
||||||
async function decodeBase64AsWasm(wasmBase64: string): Promise<WebAssembly.Module> {
|
async function decodeBase64AsWasm(wasmBase64: string): Promise<WebAssembly.Module> {
|
||||||
const { Buffer } = await import('node:buffer')
|
const { Buffer } = await import('node:buffer')
|
||||||
@@ -183,6 +183,36 @@ export interface PrismaClient<
|
|||||||
* ```
|
* ```
|
||||||
*/
|
*/
|
||||||
get user(): Prisma.UserDelegate<ExtArgs, { omit: OmitOpts }>;
|
get user(): Prisma.UserDelegate<ExtArgs, { omit: OmitOpts }>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `prisma.conversation`: Exposes CRUD operations for the **Conversation** model.
|
||||||
|
* Example usage:
|
||||||
|
* ```ts
|
||||||
|
* // Fetch zero or more Conversations
|
||||||
|
* const conversations = await prisma.conversation.findMany()
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
get conversation(): Prisma.ConversationDelegate<ExtArgs, { omit: OmitOpts }>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `prisma.conversationParticipant`: Exposes CRUD operations for the **ConversationParticipant** model.
|
||||||
|
* Example usage:
|
||||||
|
* ```ts
|
||||||
|
* // Fetch zero or more ConversationParticipants
|
||||||
|
* const conversationParticipants = await prisma.conversationParticipant.findMany()
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
get conversationParticipant(): Prisma.ConversationParticipantDelegate<ExtArgs, { omit: OmitOpts }>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `prisma.message`: Exposes CRUD operations for the **Message** model.
|
||||||
|
* Example usage:
|
||||||
|
* ```ts
|
||||||
|
* // Fetch zero or more Messages
|
||||||
|
* const messages = await prisma.message.findMany()
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
get message(): Prisma.MessageDelegate<ExtArgs, { omit: OmitOpts }>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getPrismaClientClass(): PrismaClientConstructor {
|
export function getPrismaClientClass(): PrismaClientConstructor {
|
||||||
|
|||||||
@@ -384,7 +384,10 @@ type FieldRefInputType<Model, FieldType> = Model extends never ? never : FieldRe
|
|||||||
|
|
||||||
|
|
||||||
export const ModelName = {
|
export const ModelName = {
|
||||||
User: 'User'
|
User: 'User',
|
||||||
|
Conversation: 'Conversation',
|
||||||
|
ConversationParticipant: 'ConversationParticipant',
|
||||||
|
Message: 'Message'
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export type ModelName = (typeof ModelName)[keyof typeof ModelName]
|
export type ModelName = (typeof ModelName)[keyof typeof ModelName]
|
||||||
@@ -400,7 +403,7 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
omit: GlobalOmitOptions
|
omit: GlobalOmitOptions
|
||||||
}
|
}
|
||||||
meta: {
|
meta: {
|
||||||
modelProps: "user"
|
modelProps: "user" | "conversation" | "conversationParticipant" | "message"
|
||||||
txIsolationLevel: TransactionIsolationLevel
|
txIsolationLevel: TransactionIsolationLevel
|
||||||
}
|
}
|
||||||
model: {
|
model: {
|
||||||
@@ -478,6 +481,228 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Conversation: {
|
||||||
|
payload: Prisma.$ConversationPayload<ExtArgs>
|
||||||
|
fields: Prisma.ConversationFieldRefs
|
||||||
|
operations: {
|
||||||
|
findUnique: {
|
||||||
|
args: Prisma.ConversationFindUniqueArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationPayload> | null
|
||||||
|
}
|
||||||
|
findUniqueOrThrow: {
|
||||||
|
args: Prisma.ConversationFindUniqueOrThrowArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationPayload>
|
||||||
|
}
|
||||||
|
findFirst: {
|
||||||
|
args: Prisma.ConversationFindFirstArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationPayload> | null
|
||||||
|
}
|
||||||
|
findFirstOrThrow: {
|
||||||
|
args: Prisma.ConversationFindFirstOrThrowArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationPayload>
|
||||||
|
}
|
||||||
|
findMany: {
|
||||||
|
args: Prisma.ConversationFindManyArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationPayload>[]
|
||||||
|
}
|
||||||
|
create: {
|
||||||
|
args: Prisma.ConversationCreateArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationPayload>
|
||||||
|
}
|
||||||
|
createMany: {
|
||||||
|
args: Prisma.ConversationCreateManyArgs<ExtArgs>
|
||||||
|
result: BatchPayload
|
||||||
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.ConversationCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationPayload>[]
|
||||||
|
}
|
||||||
|
delete: {
|
||||||
|
args: Prisma.ConversationDeleteArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationPayload>
|
||||||
|
}
|
||||||
|
update: {
|
||||||
|
args: Prisma.ConversationUpdateArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationPayload>
|
||||||
|
}
|
||||||
|
deleteMany: {
|
||||||
|
args: Prisma.ConversationDeleteManyArgs<ExtArgs>
|
||||||
|
result: BatchPayload
|
||||||
|
}
|
||||||
|
updateMany: {
|
||||||
|
args: Prisma.ConversationUpdateManyArgs<ExtArgs>
|
||||||
|
result: BatchPayload
|
||||||
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.ConversationUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationPayload>[]
|
||||||
|
}
|
||||||
|
upsert: {
|
||||||
|
args: Prisma.ConversationUpsertArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationPayload>
|
||||||
|
}
|
||||||
|
aggregate: {
|
||||||
|
args: Prisma.ConversationAggregateArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.Optional<Prisma.AggregateConversation>
|
||||||
|
}
|
||||||
|
groupBy: {
|
||||||
|
args: Prisma.ConversationGroupByArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.Optional<Prisma.ConversationGroupByOutputType>[]
|
||||||
|
}
|
||||||
|
count: {
|
||||||
|
args: Prisma.ConversationCountArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.Optional<Prisma.ConversationCountAggregateOutputType> | number
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ConversationParticipant: {
|
||||||
|
payload: Prisma.$ConversationParticipantPayload<ExtArgs>
|
||||||
|
fields: Prisma.ConversationParticipantFieldRefs
|
||||||
|
operations: {
|
||||||
|
findUnique: {
|
||||||
|
args: Prisma.ConversationParticipantFindUniqueArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationParticipantPayload> | null
|
||||||
|
}
|
||||||
|
findUniqueOrThrow: {
|
||||||
|
args: Prisma.ConversationParticipantFindUniqueOrThrowArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationParticipantPayload>
|
||||||
|
}
|
||||||
|
findFirst: {
|
||||||
|
args: Prisma.ConversationParticipantFindFirstArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationParticipantPayload> | null
|
||||||
|
}
|
||||||
|
findFirstOrThrow: {
|
||||||
|
args: Prisma.ConversationParticipantFindFirstOrThrowArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationParticipantPayload>
|
||||||
|
}
|
||||||
|
findMany: {
|
||||||
|
args: Prisma.ConversationParticipantFindManyArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationParticipantPayload>[]
|
||||||
|
}
|
||||||
|
create: {
|
||||||
|
args: Prisma.ConversationParticipantCreateArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationParticipantPayload>
|
||||||
|
}
|
||||||
|
createMany: {
|
||||||
|
args: Prisma.ConversationParticipantCreateManyArgs<ExtArgs>
|
||||||
|
result: BatchPayload
|
||||||
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.ConversationParticipantCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationParticipantPayload>[]
|
||||||
|
}
|
||||||
|
delete: {
|
||||||
|
args: Prisma.ConversationParticipantDeleteArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationParticipantPayload>
|
||||||
|
}
|
||||||
|
update: {
|
||||||
|
args: Prisma.ConversationParticipantUpdateArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationParticipantPayload>
|
||||||
|
}
|
||||||
|
deleteMany: {
|
||||||
|
args: Prisma.ConversationParticipantDeleteManyArgs<ExtArgs>
|
||||||
|
result: BatchPayload
|
||||||
|
}
|
||||||
|
updateMany: {
|
||||||
|
args: Prisma.ConversationParticipantUpdateManyArgs<ExtArgs>
|
||||||
|
result: BatchPayload
|
||||||
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.ConversationParticipantUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationParticipantPayload>[]
|
||||||
|
}
|
||||||
|
upsert: {
|
||||||
|
args: Prisma.ConversationParticipantUpsertArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ConversationParticipantPayload>
|
||||||
|
}
|
||||||
|
aggregate: {
|
||||||
|
args: Prisma.ConversationParticipantAggregateArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.Optional<Prisma.AggregateConversationParticipant>
|
||||||
|
}
|
||||||
|
groupBy: {
|
||||||
|
args: Prisma.ConversationParticipantGroupByArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.Optional<Prisma.ConversationParticipantGroupByOutputType>[]
|
||||||
|
}
|
||||||
|
count: {
|
||||||
|
args: Prisma.ConversationParticipantCountArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.Optional<Prisma.ConversationParticipantCountAggregateOutputType> | number
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Message: {
|
||||||
|
payload: Prisma.$MessagePayload<ExtArgs>
|
||||||
|
fields: Prisma.MessageFieldRefs
|
||||||
|
operations: {
|
||||||
|
findUnique: {
|
||||||
|
args: Prisma.MessageFindUniqueArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MessagePayload> | null
|
||||||
|
}
|
||||||
|
findUniqueOrThrow: {
|
||||||
|
args: Prisma.MessageFindUniqueOrThrowArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MessagePayload>
|
||||||
|
}
|
||||||
|
findFirst: {
|
||||||
|
args: Prisma.MessageFindFirstArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MessagePayload> | null
|
||||||
|
}
|
||||||
|
findFirstOrThrow: {
|
||||||
|
args: Prisma.MessageFindFirstOrThrowArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MessagePayload>
|
||||||
|
}
|
||||||
|
findMany: {
|
||||||
|
args: Prisma.MessageFindManyArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MessagePayload>[]
|
||||||
|
}
|
||||||
|
create: {
|
||||||
|
args: Prisma.MessageCreateArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MessagePayload>
|
||||||
|
}
|
||||||
|
createMany: {
|
||||||
|
args: Prisma.MessageCreateManyArgs<ExtArgs>
|
||||||
|
result: BatchPayload
|
||||||
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.MessageCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MessagePayload>[]
|
||||||
|
}
|
||||||
|
delete: {
|
||||||
|
args: Prisma.MessageDeleteArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MessagePayload>
|
||||||
|
}
|
||||||
|
update: {
|
||||||
|
args: Prisma.MessageUpdateArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MessagePayload>
|
||||||
|
}
|
||||||
|
deleteMany: {
|
||||||
|
args: Prisma.MessageDeleteManyArgs<ExtArgs>
|
||||||
|
result: BatchPayload
|
||||||
|
}
|
||||||
|
updateMany: {
|
||||||
|
args: Prisma.MessageUpdateManyArgs<ExtArgs>
|
||||||
|
result: BatchPayload
|
||||||
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.MessageUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MessagePayload>[]
|
||||||
|
}
|
||||||
|
upsert: {
|
||||||
|
args: Prisma.MessageUpsertArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MessagePayload>
|
||||||
|
}
|
||||||
|
aggregate: {
|
||||||
|
args: Prisma.MessageAggregateArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.Optional<Prisma.AggregateMessage>
|
||||||
|
}
|
||||||
|
groupBy: {
|
||||||
|
args: Prisma.MessageGroupByArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.Optional<Prisma.MessageGroupByOutputType>[]
|
||||||
|
}
|
||||||
|
count: {
|
||||||
|
args: Prisma.MessageCountArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.Optional<Prisma.MessageCountAggregateOutputType> | number
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} & {
|
} & {
|
||||||
other: {
|
other: {
|
||||||
@@ -517,12 +742,43 @@ export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof
|
|||||||
export const UserScalarFieldEnum = {
|
export const UserScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
email: 'email',
|
email: 'email',
|
||||||
username: 'username'
|
username: 'username',
|
||||||
|
password: 'password',
|
||||||
|
createdAt: 'createdAt'
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum]
|
export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum]
|
||||||
|
|
||||||
|
|
||||||
|
export const ConversationScalarFieldEnum = {
|
||||||
|
id: 'id',
|
||||||
|
createdAt: 'createdAt'
|
||||||
|
} as const
|
||||||
|
|
||||||
|
export type ConversationScalarFieldEnum = (typeof ConversationScalarFieldEnum)[keyof typeof ConversationScalarFieldEnum]
|
||||||
|
|
||||||
|
|
||||||
|
export const ConversationParticipantScalarFieldEnum = {
|
||||||
|
id: 'id',
|
||||||
|
conversationId: 'conversationId',
|
||||||
|
userId: 'userId',
|
||||||
|
lastReadAt: 'lastReadAt'
|
||||||
|
} as const
|
||||||
|
|
||||||
|
export type ConversationParticipantScalarFieldEnum = (typeof ConversationParticipantScalarFieldEnum)[keyof typeof ConversationParticipantScalarFieldEnum]
|
||||||
|
|
||||||
|
|
||||||
|
export const MessageScalarFieldEnum = {
|
||||||
|
id: 'id',
|
||||||
|
conversationId: 'conversationId',
|
||||||
|
senderId: 'senderId',
|
||||||
|
content: 'content',
|
||||||
|
createdAt: 'createdAt'
|
||||||
|
} as const
|
||||||
|
|
||||||
|
export type MessageScalarFieldEnum = (typeof MessageScalarFieldEnum)[keyof typeof MessageScalarFieldEnum]
|
||||||
|
|
||||||
|
|
||||||
export const SortOrder = {
|
export const SortOrder = {
|
||||||
asc: 'asc',
|
asc: 'asc',
|
||||||
desc: 'desc'
|
desc: 'desc'
|
||||||
@@ -531,6 +787,14 @@ export const SortOrder = {
|
|||||||
export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]
|
export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]
|
||||||
|
|
||||||
|
|
||||||
|
export const NullsOrder = {
|
||||||
|
first: 'first',
|
||||||
|
last: 'last'
|
||||||
|
} as const
|
||||||
|
|
||||||
|
export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Field references
|
* Field references
|
||||||
@@ -544,6 +808,13 @@ export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel,
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reference to a field of type 'DateTime'
|
||||||
|
*/
|
||||||
|
export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reference to a field of type 'Int'
|
* Reference to a field of type 'Int'
|
||||||
*/
|
*/
|
||||||
@@ -646,6 +917,9 @@ export type PrismaClientOptions = ({
|
|||||||
}
|
}
|
||||||
export type GlobalOmitConfig = {
|
export type GlobalOmitConfig = {
|
||||||
user?: Prisma.UserOmit
|
user?: Prisma.UserOmit
|
||||||
|
conversation?: Prisma.ConversationOmit
|
||||||
|
conversationParticipant?: Prisma.ConversationParticipantOmit
|
||||||
|
message?: Prisma.MessageOmit
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Types for Logging */
|
/* Types for Logging */
|
||||||
|
|||||||
@@ -51,7 +51,10 @@ export const AnyNull = runtime.AnyNull
|
|||||||
|
|
||||||
|
|
||||||
export const ModelName = {
|
export const ModelName = {
|
||||||
User: 'User'
|
User: 'User',
|
||||||
|
Conversation: 'Conversation',
|
||||||
|
ConversationParticipant: 'ConversationParticipant',
|
||||||
|
Message: 'Message'
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export type ModelName = (typeof ModelName)[keyof typeof ModelName]
|
export type ModelName = (typeof ModelName)[keyof typeof ModelName]
|
||||||
@@ -70,12 +73,43 @@ export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof
|
|||||||
export const UserScalarFieldEnum = {
|
export const UserScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
email: 'email',
|
email: 'email',
|
||||||
username: 'username'
|
username: 'username',
|
||||||
|
password: 'password',
|
||||||
|
createdAt: 'createdAt'
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum]
|
export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum]
|
||||||
|
|
||||||
|
|
||||||
|
export const ConversationScalarFieldEnum = {
|
||||||
|
id: 'id',
|
||||||
|
createdAt: 'createdAt'
|
||||||
|
} as const
|
||||||
|
|
||||||
|
export type ConversationScalarFieldEnum = (typeof ConversationScalarFieldEnum)[keyof typeof ConversationScalarFieldEnum]
|
||||||
|
|
||||||
|
|
||||||
|
export const ConversationParticipantScalarFieldEnum = {
|
||||||
|
id: 'id',
|
||||||
|
conversationId: 'conversationId',
|
||||||
|
userId: 'userId',
|
||||||
|
lastReadAt: 'lastReadAt'
|
||||||
|
} as const
|
||||||
|
|
||||||
|
export type ConversationParticipantScalarFieldEnum = (typeof ConversationParticipantScalarFieldEnum)[keyof typeof ConversationParticipantScalarFieldEnum]
|
||||||
|
|
||||||
|
|
||||||
|
export const MessageScalarFieldEnum = {
|
||||||
|
id: 'id',
|
||||||
|
conversationId: 'conversationId',
|
||||||
|
senderId: 'senderId',
|
||||||
|
content: 'content',
|
||||||
|
createdAt: 'createdAt'
|
||||||
|
} as const
|
||||||
|
|
||||||
|
export type MessageScalarFieldEnum = (typeof MessageScalarFieldEnum)[keyof typeof MessageScalarFieldEnum]
|
||||||
|
|
||||||
|
|
||||||
export const SortOrder = {
|
export const SortOrder = {
|
||||||
asc: 'asc',
|
asc: 'asc',
|
||||||
desc: 'desc'
|
desc: 'desc'
|
||||||
@@ -83,3 +117,11 @@ export const SortOrder = {
|
|||||||
|
|
||||||
export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]
|
export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]
|
||||||
|
|
||||||
|
|
||||||
|
export const NullsOrder = {
|
||||||
|
first: 'first',
|
||||||
|
last: 'last'
|
||||||
|
} as const
|
||||||
|
|
||||||
|
export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]
|
||||||
|
|
||||||
|
|||||||
@@ -9,4 +9,7 @@
|
|||||||
* 🟢 You can import this file directly.
|
* 🟢 You can import this file directly.
|
||||||
*/
|
*/
|
||||||
export type * from './models/User.js'
|
export type * from './models/User.js'
|
||||||
|
export type * from './models/Conversation.js'
|
||||||
|
export type * from './models/ConversationParticipant.js'
|
||||||
|
export type * from './models/Message.js'
|
||||||
export type * from './commonInputTypes.js'
|
export type * from './commonInputTypes.js'
|
||||||
1326
backend/app/generated/prisma/models/Conversation.ts
Normal file
1326
backend/app/generated/prisma/models/Conversation.ts
Normal file
File diff suppressed because it is too large
Load Diff
1425
backend/app/generated/prisma/models/ConversationParticipant.ts
Normal file
1425
backend/app/generated/prisma/models/ConversationParticipant.ts
Normal file
File diff suppressed because it is too large
Load Diff
1456
backend/app/generated/prisma/models/Message.ts
Normal file
1456
backend/app/generated/prisma/models/Message.ts
Normal file
File diff suppressed because it is too large
Load Diff
@@ -28,18 +28,24 @@ export type UserMinAggregateOutputType = {
|
|||||||
id: string | null
|
id: string | null
|
||||||
email: string | null
|
email: string | null
|
||||||
username: string | null
|
username: string | null
|
||||||
|
password: string | null
|
||||||
|
createdAt: Date | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserMaxAggregateOutputType = {
|
export type UserMaxAggregateOutputType = {
|
||||||
id: string | null
|
id: string | null
|
||||||
email: string | null
|
email: string | null
|
||||||
username: string | null
|
username: string | null
|
||||||
|
password: string | null
|
||||||
|
createdAt: Date | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserCountAggregateOutputType = {
|
export type UserCountAggregateOutputType = {
|
||||||
id: number
|
id: number
|
||||||
email: number
|
email: number
|
||||||
username: number
|
username: number
|
||||||
|
password: number
|
||||||
|
createdAt: number
|
||||||
_all: number
|
_all: number
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,18 +54,24 @@ export type UserMinAggregateInputType = {
|
|||||||
id?: true
|
id?: true
|
||||||
email?: true
|
email?: true
|
||||||
username?: true
|
username?: true
|
||||||
|
password?: true
|
||||||
|
createdAt?: true
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserMaxAggregateInputType = {
|
export type UserMaxAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
email?: true
|
email?: true
|
||||||
username?: true
|
username?: true
|
||||||
|
password?: true
|
||||||
|
createdAt?: true
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserCountAggregateInputType = {
|
export type UserCountAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
email?: true
|
email?: true
|
||||||
username?: true
|
username?: true
|
||||||
|
password?: true
|
||||||
|
createdAt?: true
|
||||||
_all?: true
|
_all?: true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,6 +151,8 @@ export type UserGroupByOutputType = {
|
|||||||
id: string
|
id: string
|
||||||
email: string
|
email: string
|
||||||
username: string
|
username: string
|
||||||
|
password: string
|
||||||
|
createdAt: Date
|
||||||
_count: UserCountAggregateOutputType | null
|
_count: UserCountAggregateOutputType | null
|
||||||
_min: UserMinAggregateOutputType | null
|
_min: UserMinAggregateOutputType | null
|
||||||
_max: UserMaxAggregateOutputType | null
|
_max: UserMaxAggregateOutputType | null
|
||||||
@@ -166,12 +180,20 @@ export type UserWhereInput = {
|
|||||||
id?: Prisma.StringFilter<"User"> | string
|
id?: Prisma.StringFilter<"User"> | string
|
||||||
email?: Prisma.StringFilter<"User"> | string
|
email?: Prisma.StringFilter<"User"> | string
|
||||||
username?: Prisma.StringFilter<"User"> | string
|
username?: Prisma.StringFilter<"User"> | string
|
||||||
|
password?: Prisma.StringFilter<"User"> | string
|
||||||
|
createdAt?: Prisma.DateTimeFilter<"User"> | Date | string
|
||||||
|
messages?: Prisma.MessageListRelationFilter
|
||||||
|
conversationMemberships?: Prisma.ConversationParticipantListRelationFilter
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserOrderByWithRelationInput = {
|
export type UserOrderByWithRelationInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
email?: Prisma.SortOrder
|
email?: Prisma.SortOrder
|
||||||
username?: Prisma.SortOrder
|
username?: Prisma.SortOrder
|
||||||
|
password?: Prisma.SortOrder
|
||||||
|
createdAt?: Prisma.SortOrder
|
||||||
|
messages?: Prisma.MessageOrderByRelationAggregateInput
|
||||||
|
conversationMemberships?: Prisma.ConversationParticipantOrderByRelationAggregateInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserWhereUniqueInput = Prisma.AtLeast<{
|
export type UserWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -181,12 +203,18 @@ export type UserWhereUniqueInput = Prisma.AtLeast<{
|
|||||||
AND?: Prisma.UserWhereInput | Prisma.UserWhereInput[]
|
AND?: Prisma.UserWhereInput | Prisma.UserWhereInput[]
|
||||||
OR?: Prisma.UserWhereInput[]
|
OR?: Prisma.UserWhereInput[]
|
||||||
NOT?: Prisma.UserWhereInput | Prisma.UserWhereInput[]
|
NOT?: Prisma.UserWhereInput | Prisma.UserWhereInput[]
|
||||||
|
password?: Prisma.StringFilter<"User"> | string
|
||||||
|
createdAt?: Prisma.DateTimeFilter<"User"> | Date | string
|
||||||
|
messages?: Prisma.MessageListRelationFilter
|
||||||
|
conversationMemberships?: Prisma.ConversationParticipantListRelationFilter
|
||||||
}, "id" | "email" | "username">
|
}, "id" | "email" | "username">
|
||||||
|
|
||||||
export type UserOrderByWithAggregationInput = {
|
export type UserOrderByWithAggregationInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
email?: Prisma.SortOrder
|
email?: Prisma.SortOrder
|
||||||
username?: Prisma.SortOrder
|
username?: Prisma.SortOrder
|
||||||
|
password?: Prisma.SortOrder
|
||||||
|
createdAt?: Prisma.SortOrder
|
||||||
_count?: Prisma.UserCountOrderByAggregateInput
|
_count?: Prisma.UserCountOrderByAggregateInput
|
||||||
_max?: Prisma.UserMaxOrderByAggregateInput
|
_max?: Prisma.UserMaxOrderByAggregateInput
|
||||||
_min?: Prisma.UserMinOrderByAggregateInput
|
_min?: Prisma.UserMinOrderByAggregateInput
|
||||||
@@ -199,107 +227,339 @@ export type UserScalarWhereWithAggregatesInput = {
|
|||||||
id?: Prisma.StringWithAggregatesFilter<"User"> | string
|
id?: Prisma.StringWithAggregatesFilter<"User"> | string
|
||||||
email?: Prisma.StringWithAggregatesFilter<"User"> | string
|
email?: Prisma.StringWithAggregatesFilter<"User"> | string
|
||||||
username?: Prisma.StringWithAggregatesFilter<"User"> | string
|
username?: Prisma.StringWithAggregatesFilter<"User"> | string
|
||||||
|
password?: Prisma.StringWithAggregatesFilter<"User"> | string
|
||||||
|
createdAt?: Prisma.DateTimeWithAggregatesFilter<"User"> | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserCreateInput = {
|
export type UserCreateInput = {
|
||||||
id?: string
|
id?: string
|
||||||
email: string
|
email: string
|
||||||
username: string
|
username: string
|
||||||
|
password: string
|
||||||
|
createdAt?: Date | string
|
||||||
|
messages?: Prisma.MessageCreateNestedManyWithoutSenderInput
|
||||||
|
conversationMemberships?: Prisma.ConversationParticipantCreateNestedManyWithoutUserInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserUncheckedCreateInput = {
|
export type UserUncheckedCreateInput = {
|
||||||
id?: string
|
id?: string
|
||||||
email: string
|
email: string
|
||||||
username: string
|
username: string
|
||||||
|
password: string
|
||||||
|
createdAt?: Date | string
|
||||||
|
messages?: Prisma.MessageUncheckedCreateNestedManyWithoutSenderInput
|
||||||
|
conversationMemberships?: Prisma.ConversationParticipantUncheckedCreateNestedManyWithoutUserInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserUpdateInput = {
|
export type UserUpdateInput = {
|
||||||
id?: Prisma.StringFieldUpdateOperationsInput | string
|
id?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
email?: Prisma.StringFieldUpdateOperationsInput | string
|
email?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
username?: Prisma.StringFieldUpdateOperationsInput | string
|
username?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
password?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
|
messages?: Prisma.MessageUpdateManyWithoutSenderNestedInput
|
||||||
|
conversationMemberships?: Prisma.ConversationParticipantUpdateManyWithoutUserNestedInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserUncheckedUpdateInput = {
|
export type UserUncheckedUpdateInput = {
|
||||||
id?: Prisma.StringFieldUpdateOperationsInput | string
|
id?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
email?: Prisma.StringFieldUpdateOperationsInput | string
|
email?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
username?: Prisma.StringFieldUpdateOperationsInput | string
|
username?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
password?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
|
messages?: Prisma.MessageUncheckedUpdateManyWithoutSenderNestedInput
|
||||||
|
conversationMemberships?: Prisma.ConversationParticipantUncheckedUpdateManyWithoutUserNestedInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserCreateManyInput = {
|
export type UserCreateManyInput = {
|
||||||
id?: string
|
id?: string
|
||||||
email: string
|
email: string
|
||||||
username: string
|
username: string
|
||||||
|
password: string
|
||||||
|
createdAt?: Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserUpdateManyMutationInput = {
|
export type UserUpdateManyMutationInput = {
|
||||||
id?: Prisma.StringFieldUpdateOperationsInput | string
|
id?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
email?: Prisma.StringFieldUpdateOperationsInput | string
|
email?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
username?: Prisma.StringFieldUpdateOperationsInput | string
|
username?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
password?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserUncheckedUpdateManyInput = {
|
export type UserUncheckedUpdateManyInput = {
|
||||||
id?: Prisma.StringFieldUpdateOperationsInput | string
|
id?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
email?: Prisma.StringFieldUpdateOperationsInput | string
|
email?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
username?: Prisma.StringFieldUpdateOperationsInput | string
|
username?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
password?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserCountOrderByAggregateInput = {
|
export type UserCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
email?: Prisma.SortOrder
|
email?: Prisma.SortOrder
|
||||||
username?: Prisma.SortOrder
|
username?: Prisma.SortOrder
|
||||||
|
password?: Prisma.SortOrder
|
||||||
|
createdAt?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserMaxOrderByAggregateInput = {
|
export type UserMaxOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
email?: Prisma.SortOrder
|
email?: Prisma.SortOrder
|
||||||
username?: Prisma.SortOrder
|
username?: Prisma.SortOrder
|
||||||
|
password?: Prisma.SortOrder
|
||||||
|
createdAt?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserMinOrderByAggregateInput = {
|
export type UserMinOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
email?: Prisma.SortOrder
|
email?: Prisma.SortOrder
|
||||||
username?: Prisma.SortOrder
|
username?: Prisma.SortOrder
|
||||||
|
password?: Prisma.SortOrder
|
||||||
|
createdAt?: Prisma.SortOrder
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserScalarRelationFilter = {
|
||||||
|
is?: Prisma.UserWhereInput
|
||||||
|
isNot?: Prisma.UserWhereInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type StringFieldUpdateOperationsInput = {
|
export type StringFieldUpdateOperationsInput = {
|
||||||
set?: string
|
set?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type DateTimeFieldUpdateOperationsInput = {
|
||||||
|
set?: Date | string
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserCreateNestedOneWithoutConversationMembershipsInput = {
|
||||||
|
create?: Prisma.XOR<Prisma.UserCreateWithoutConversationMembershipsInput, Prisma.UserUncheckedCreateWithoutConversationMembershipsInput>
|
||||||
|
connectOrCreate?: Prisma.UserCreateOrConnectWithoutConversationMembershipsInput
|
||||||
|
connect?: Prisma.UserWhereUniqueInput
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserUpdateOneRequiredWithoutConversationMembershipsNestedInput = {
|
||||||
|
create?: Prisma.XOR<Prisma.UserCreateWithoutConversationMembershipsInput, Prisma.UserUncheckedCreateWithoutConversationMembershipsInput>
|
||||||
|
connectOrCreate?: Prisma.UserCreateOrConnectWithoutConversationMembershipsInput
|
||||||
|
upsert?: Prisma.UserUpsertWithoutConversationMembershipsInput
|
||||||
|
connect?: Prisma.UserWhereUniqueInput
|
||||||
|
update?: Prisma.XOR<Prisma.XOR<Prisma.UserUpdateToOneWithWhereWithoutConversationMembershipsInput, Prisma.UserUpdateWithoutConversationMembershipsInput>, Prisma.UserUncheckedUpdateWithoutConversationMembershipsInput>
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserCreateNestedOneWithoutMessagesInput = {
|
||||||
|
create?: Prisma.XOR<Prisma.UserCreateWithoutMessagesInput, Prisma.UserUncheckedCreateWithoutMessagesInput>
|
||||||
|
connectOrCreate?: Prisma.UserCreateOrConnectWithoutMessagesInput
|
||||||
|
connect?: Prisma.UserWhereUniqueInput
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserUpdateOneRequiredWithoutMessagesNestedInput = {
|
||||||
|
create?: Prisma.XOR<Prisma.UserCreateWithoutMessagesInput, Prisma.UserUncheckedCreateWithoutMessagesInput>
|
||||||
|
connectOrCreate?: Prisma.UserCreateOrConnectWithoutMessagesInput
|
||||||
|
upsert?: Prisma.UserUpsertWithoutMessagesInput
|
||||||
|
connect?: Prisma.UserWhereUniqueInput
|
||||||
|
update?: Prisma.XOR<Prisma.XOR<Prisma.UserUpdateToOneWithWhereWithoutMessagesInput, Prisma.UserUpdateWithoutMessagesInput>, Prisma.UserUncheckedUpdateWithoutMessagesInput>
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserCreateWithoutConversationMembershipsInput = {
|
||||||
|
id?: string
|
||||||
|
email: string
|
||||||
|
username: string
|
||||||
|
password: string
|
||||||
|
createdAt?: Date | string
|
||||||
|
messages?: Prisma.MessageCreateNestedManyWithoutSenderInput
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserUncheckedCreateWithoutConversationMembershipsInput = {
|
||||||
|
id?: string
|
||||||
|
email: string
|
||||||
|
username: string
|
||||||
|
password: string
|
||||||
|
createdAt?: Date | string
|
||||||
|
messages?: Prisma.MessageUncheckedCreateNestedManyWithoutSenderInput
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserCreateOrConnectWithoutConversationMembershipsInput = {
|
||||||
|
where: Prisma.UserWhereUniqueInput
|
||||||
|
create: Prisma.XOR<Prisma.UserCreateWithoutConversationMembershipsInput, Prisma.UserUncheckedCreateWithoutConversationMembershipsInput>
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserUpsertWithoutConversationMembershipsInput = {
|
||||||
|
update: Prisma.XOR<Prisma.UserUpdateWithoutConversationMembershipsInput, Prisma.UserUncheckedUpdateWithoutConversationMembershipsInput>
|
||||||
|
create: Prisma.XOR<Prisma.UserCreateWithoutConversationMembershipsInput, Prisma.UserUncheckedCreateWithoutConversationMembershipsInput>
|
||||||
|
where?: Prisma.UserWhereInput
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserUpdateToOneWithWhereWithoutConversationMembershipsInput = {
|
||||||
|
where?: Prisma.UserWhereInput
|
||||||
|
data: Prisma.XOR<Prisma.UserUpdateWithoutConversationMembershipsInput, Prisma.UserUncheckedUpdateWithoutConversationMembershipsInput>
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserUpdateWithoutConversationMembershipsInput = {
|
||||||
|
id?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
email?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
username?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
password?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
|
messages?: Prisma.MessageUpdateManyWithoutSenderNestedInput
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserUncheckedUpdateWithoutConversationMembershipsInput = {
|
||||||
|
id?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
email?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
username?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
password?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
|
messages?: Prisma.MessageUncheckedUpdateManyWithoutSenderNestedInput
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserCreateWithoutMessagesInput = {
|
||||||
|
id?: string
|
||||||
|
email: string
|
||||||
|
username: string
|
||||||
|
password: string
|
||||||
|
createdAt?: Date | string
|
||||||
|
conversationMemberships?: Prisma.ConversationParticipantCreateNestedManyWithoutUserInput
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserUncheckedCreateWithoutMessagesInput = {
|
||||||
|
id?: string
|
||||||
|
email: string
|
||||||
|
username: string
|
||||||
|
password: string
|
||||||
|
createdAt?: Date | string
|
||||||
|
conversationMemberships?: Prisma.ConversationParticipantUncheckedCreateNestedManyWithoutUserInput
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserCreateOrConnectWithoutMessagesInput = {
|
||||||
|
where: Prisma.UserWhereUniqueInput
|
||||||
|
create: Prisma.XOR<Prisma.UserCreateWithoutMessagesInput, Prisma.UserUncheckedCreateWithoutMessagesInput>
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserUpsertWithoutMessagesInput = {
|
||||||
|
update: Prisma.XOR<Prisma.UserUpdateWithoutMessagesInput, Prisma.UserUncheckedUpdateWithoutMessagesInput>
|
||||||
|
create: Prisma.XOR<Prisma.UserCreateWithoutMessagesInput, Prisma.UserUncheckedCreateWithoutMessagesInput>
|
||||||
|
where?: Prisma.UserWhereInput
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserUpdateToOneWithWhereWithoutMessagesInput = {
|
||||||
|
where?: Prisma.UserWhereInput
|
||||||
|
data: Prisma.XOR<Prisma.UserUpdateWithoutMessagesInput, Prisma.UserUncheckedUpdateWithoutMessagesInput>
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserUpdateWithoutMessagesInput = {
|
||||||
|
id?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
email?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
username?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
password?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
|
conversationMemberships?: Prisma.ConversationParticipantUpdateManyWithoutUserNestedInput
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserUncheckedUpdateWithoutMessagesInput = {
|
||||||
|
id?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
email?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
username?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
password?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
|
conversationMemberships?: Prisma.ConversationParticipantUncheckedUpdateManyWithoutUserNestedInput
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Count Type UserCountOutputType
|
||||||
|
*/
|
||||||
|
|
||||||
|
export type UserCountOutputType = {
|
||||||
|
messages: number
|
||||||
|
conversationMemberships: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export type UserCountOutputTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
messages?: boolean | UserCountOutputTypeCountMessagesArgs
|
||||||
|
conversationMemberships?: boolean | UserCountOutputTypeCountConversationMembershipsArgs
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UserCountOutputType without action
|
||||||
|
*/
|
||||||
|
export type UserCountOutputTypeDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the UserCountOutputType
|
||||||
|
*/
|
||||||
|
select?: Prisma.UserCountOutputTypeSelect<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UserCountOutputType without action
|
||||||
|
*/
|
||||||
|
export type UserCountOutputTypeCountMessagesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
where?: Prisma.MessageWhereInput
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UserCountOutputType without action
|
||||||
|
*/
|
||||||
|
export type UserCountOutputTypeCountConversationMembershipsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
where?: Prisma.ConversationParticipantWhereInput
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
export type UserSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
export type UserSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
id?: boolean
|
id?: boolean
|
||||||
email?: boolean
|
email?: boolean
|
||||||
username?: boolean
|
username?: boolean
|
||||||
|
password?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
messages?: boolean | Prisma.User$messagesArgs<ExtArgs>
|
||||||
|
conversationMemberships?: boolean | Prisma.User$conversationMembershipsArgs<ExtArgs>
|
||||||
|
_count?: boolean | Prisma.UserCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["user"]>
|
}, ExtArgs["result"]["user"]>
|
||||||
|
|
||||||
export type UserSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
export type UserSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
id?: boolean
|
id?: boolean
|
||||||
email?: boolean
|
email?: boolean
|
||||||
username?: boolean
|
username?: boolean
|
||||||
|
password?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
}, ExtArgs["result"]["user"]>
|
}, ExtArgs["result"]["user"]>
|
||||||
|
|
||||||
export type UserSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
export type UserSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
id?: boolean
|
id?: boolean
|
||||||
email?: boolean
|
email?: boolean
|
||||||
username?: boolean
|
username?: boolean
|
||||||
|
password?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
}, ExtArgs["result"]["user"]>
|
}, ExtArgs["result"]["user"]>
|
||||||
|
|
||||||
export type UserSelectScalar = {
|
export type UserSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
email?: boolean
|
email?: boolean
|
||||||
username?: boolean
|
username?: boolean
|
||||||
|
password?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "email" | "username", ExtArgs["result"]["user"]>
|
export type UserOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "email" | "username" | "password" | "createdAt", ExtArgs["result"]["user"]>
|
||||||
|
export type UserInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
messages?: boolean | Prisma.User$messagesArgs<ExtArgs>
|
||||||
|
conversationMemberships?: boolean | Prisma.User$conversationMembershipsArgs<ExtArgs>
|
||||||
|
_count?: boolean | Prisma.UserCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type UserIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {}
|
||||||
|
export type UserIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {}
|
||||||
|
|
||||||
export type $UserPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $UserPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "User"
|
name: "User"
|
||||||
objects: {}
|
objects: {
|
||||||
|
messages: Prisma.$MessagePayload<ExtArgs>[]
|
||||||
|
conversationMemberships: Prisma.$ConversationParticipantPayload<ExtArgs>[]
|
||||||
|
}
|
||||||
scalars: runtime.Types.Extensions.GetPayloadResult<{
|
scalars: runtime.Types.Extensions.GetPayloadResult<{
|
||||||
id: string
|
id: string
|
||||||
email: string
|
email: string
|
||||||
username: string
|
username: string
|
||||||
|
password: string
|
||||||
|
createdAt: Date
|
||||||
}, ExtArgs["result"]["user"]>
|
}, ExtArgs["result"]["user"]>
|
||||||
composites: {}
|
composites: {}
|
||||||
}
|
}
|
||||||
@@ -694,6 +954,8 @@ readonly fields: UserFieldRefs;
|
|||||||
*/
|
*/
|
||||||
export interface Prisma__UserClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
|
export interface Prisma__UserClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
|
||||||
readonly [Symbol.toStringTag]: "PrismaPromise"
|
readonly [Symbol.toStringTag]: "PrismaPromise"
|
||||||
|
messages<T extends Prisma.User$messagesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.User$messagesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$MessagePayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
|
||||||
|
conversationMemberships<T extends Prisma.User$conversationMembershipsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.User$conversationMembershipsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ConversationParticipantPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
|
||||||
/**
|
/**
|
||||||
* Attaches callbacks for the resolution and/or rejection of the Promise.
|
* Attaches callbacks for the resolution and/or rejection of the Promise.
|
||||||
* @param onfulfilled The callback to execute when the Promise is resolved.
|
* @param onfulfilled The callback to execute when the Promise is resolved.
|
||||||
@@ -726,6 +988,8 @@ export interface UserFieldRefs {
|
|||||||
readonly id: Prisma.FieldRef<"User", 'String'>
|
readonly id: Prisma.FieldRef<"User", 'String'>
|
||||||
readonly email: Prisma.FieldRef<"User", 'String'>
|
readonly email: Prisma.FieldRef<"User", 'String'>
|
||||||
readonly username: Prisma.FieldRef<"User", 'String'>
|
readonly username: Prisma.FieldRef<"User", 'String'>
|
||||||
|
readonly password: Prisma.FieldRef<"User", 'String'>
|
||||||
|
readonly createdAt: Prisma.FieldRef<"User", 'DateTime'>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -742,6 +1006,10 @@ export type UserFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
* Omit specific fields from the User
|
* Omit specific fields from the User
|
||||||
*/
|
*/
|
||||||
omit?: Prisma.UserOmit<ExtArgs> | null
|
omit?: Prisma.UserOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.UserInclude<ExtArgs> | null
|
||||||
/**
|
/**
|
||||||
* Filter, which User to fetch.
|
* Filter, which User to fetch.
|
||||||
*/
|
*/
|
||||||
@@ -760,6 +1028,10 @@ export type UserFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.I
|
|||||||
* Omit specific fields from the User
|
* Omit specific fields from the User
|
||||||
*/
|
*/
|
||||||
omit?: Prisma.UserOmit<ExtArgs> | null
|
omit?: Prisma.UserOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.UserInclude<ExtArgs> | null
|
||||||
/**
|
/**
|
||||||
* Filter, which User to fetch.
|
* Filter, which User to fetch.
|
||||||
*/
|
*/
|
||||||
@@ -778,6 +1050,10 @@ export type UserFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalA
|
|||||||
* Omit specific fields from the User
|
* Omit specific fields from the User
|
||||||
*/
|
*/
|
||||||
omit?: Prisma.UserOmit<ExtArgs> | null
|
omit?: Prisma.UserOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.UserInclude<ExtArgs> | null
|
||||||
/**
|
/**
|
||||||
* Filter, which User to fetch.
|
* Filter, which User to fetch.
|
||||||
*/
|
*/
|
||||||
@@ -826,6 +1102,10 @@ export type UserFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.In
|
|||||||
* Omit specific fields from the User
|
* Omit specific fields from the User
|
||||||
*/
|
*/
|
||||||
omit?: Prisma.UserOmit<ExtArgs> | null
|
omit?: Prisma.UserOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.UserInclude<ExtArgs> | null
|
||||||
/**
|
/**
|
||||||
* Filter, which User to fetch.
|
* Filter, which User to fetch.
|
||||||
*/
|
*/
|
||||||
@@ -874,6 +1154,10 @@ export type UserFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalAr
|
|||||||
* Omit specific fields from the User
|
* Omit specific fields from the User
|
||||||
*/
|
*/
|
||||||
omit?: Prisma.UserOmit<ExtArgs> | null
|
omit?: Prisma.UserOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.UserInclude<ExtArgs> | null
|
||||||
/**
|
/**
|
||||||
* Filter, which Users to fetch.
|
* Filter, which Users to fetch.
|
||||||
*/
|
*/
|
||||||
@@ -917,6 +1201,10 @@ export type UserCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs
|
|||||||
* Omit specific fields from the User
|
* Omit specific fields from the User
|
||||||
*/
|
*/
|
||||||
omit?: Prisma.UserOmit<ExtArgs> | null
|
omit?: Prisma.UserOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.UserInclude<ExtArgs> | null
|
||||||
/**
|
/**
|
||||||
* The data needed to create a User.
|
* The data needed to create a User.
|
||||||
*/
|
*/
|
||||||
@@ -963,6 +1251,10 @@ export type UserUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs
|
|||||||
* Omit specific fields from the User
|
* Omit specific fields from the User
|
||||||
*/
|
*/
|
||||||
omit?: Prisma.UserOmit<ExtArgs> | null
|
omit?: Prisma.UserOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.UserInclude<ExtArgs> | null
|
||||||
/**
|
/**
|
||||||
* The data needed to update a User.
|
* The data needed to update a User.
|
||||||
*/
|
*/
|
||||||
@@ -1029,6 +1321,10 @@ export type UserUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs
|
|||||||
* Omit specific fields from the User
|
* Omit specific fields from the User
|
||||||
*/
|
*/
|
||||||
omit?: Prisma.UserOmit<ExtArgs> | null
|
omit?: Prisma.UserOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.UserInclude<ExtArgs> | null
|
||||||
/**
|
/**
|
||||||
* The filter to search for the User to update in case it exists.
|
* The filter to search for the User to update in case it exists.
|
||||||
*/
|
*/
|
||||||
@@ -1055,6 +1351,10 @@ export type UserDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs
|
|||||||
* Omit specific fields from the User
|
* Omit specific fields from the User
|
||||||
*/
|
*/
|
||||||
omit?: Prisma.UserOmit<ExtArgs> | null
|
omit?: Prisma.UserOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.UserInclude<ExtArgs> | null
|
||||||
/**
|
/**
|
||||||
* Filter which User to delete.
|
* Filter which User to delete.
|
||||||
*/
|
*/
|
||||||
@@ -1075,6 +1375,54 @@ export type UserDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* User.messages
|
||||||
|
*/
|
||||||
|
export type User$messagesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Message
|
||||||
|
*/
|
||||||
|
select?: Prisma.MessageSelect<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Message
|
||||||
|
*/
|
||||||
|
omit?: Prisma.MessageOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.MessageInclude<ExtArgs> | null
|
||||||
|
where?: Prisma.MessageWhereInput
|
||||||
|
orderBy?: Prisma.MessageOrderByWithRelationInput | Prisma.MessageOrderByWithRelationInput[]
|
||||||
|
cursor?: Prisma.MessageWhereUniqueInput
|
||||||
|
take?: number
|
||||||
|
skip?: number
|
||||||
|
distinct?: Prisma.MessageScalarFieldEnum | Prisma.MessageScalarFieldEnum[]
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* User.conversationMemberships
|
||||||
|
*/
|
||||||
|
export type User$conversationMembershipsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the ConversationParticipant
|
||||||
|
*/
|
||||||
|
select?: Prisma.ConversationParticipantSelect<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the ConversationParticipant
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ConversationParticipantOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.ConversationParticipantInclude<ExtArgs> | null
|
||||||
|
where?: Prisma.ConversationParticipantWhereInput
|
||||||
|
orderBy?: Prisma.ConversationParticipantOrderByWithRelationInput | Prisma.ConversationParticipantOrderByWithRelationInput[]
|
||||||
|
cursor?: Prisma.ConversationParticipantWhereUniqueInput
|
||||||
|
take?: number
|
||||||
|
skip?: number
|
||||||
|
distinct?: Prisma.ConversationParticipantScalarFieldEnum | Prisma.ConversationParticipantScalarFieldEnum[]
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* User without action
|
* User without action
|
||||||
*/
|
*/
|
||||||
@@ -1087,4 +1435,8 @@ export type UserDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArg
|
|||||||
* Omit specific fields from the User
|
* Omit specific fields from the User
|
||||||
*/
|
*/
|
||||||
omit?: Prisma.UserOmit<ExtArgs> | null
|
omit?: Prisma.UserOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.UserInclude<ExtArgs> | null
|
||||||
}
|
}
|
||||||
|
|||||||
250
backend/app/generated/prismabox/Conversation.ts
Normal file
250
backend/app/generated/prismabox/Conversation.ts
Normal file
@@ -0,0 +1,250 @@
|
|||||||
|
import { t } from "elysia";
|
||||||
|
|
||||||
|
import { __transformDate__ } from "./__transformDate__";
|
||||||
|
|
||||||
|
import { __nullable__ } from "./__nullable__";
|
||||||
|
|
||||||
|
export const ConversationPlain = t.Object(
|
||||||
|
{ id: t.String(), createdAt: t.Date() },
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationRelations = t.Object(
|
||||||
|
{
|
||||||
|
participants: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String(),
|
||||||
|
conversationId: t.String(),
|
||||||
|
userId: t.String(),
|
||||||
|
lastReadAt: __nullable__(t.Date()),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
messages: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String(),
|
||||||
|
conversationId: t.String(),
|
||||||
|
senderId: t.String(),
|
||||||
|
content: t.String(),
|
||||||
|
createdAt: t.Date(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationPlainInputCreate = t.Object(
|
||||||
|
{},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationPlainInputUpdate = t.Object(
|
||||||
|
{},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationRelationsInputCreate = t.Object(
|
||||||
|
{
|
||||||
|
participants: t.Optional(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
),
|
||||||
|
messages: t.Optional(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationRelationsInputUpdate = t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
participants: t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
disconnect: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
),
|
||||||
|
messages: t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
disconnect: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationWhere = t.Partial(
|
||||||
|
t.Recursive(
|
||||||
|
(Self) =>
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
AND: t.Union([Self, t.Array(Self, { additionalProperties: false })]),
|
||||||
|
NOT: t.Union([Self, t.Array(Self, { additionalProperties: false })]),
|
||||||
|
OR: t.Array(Self, { additionalProperties: false }),
|
||||||
|
id: t.String(),
|
||||||
|
createdAt: t.Date(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ $id: "Conversation" },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationWhereUnique = t.Recursive(
|
||||||
|
(Self) =>
|
||||||
|
t.Intersect(
|
||||||
|
[
|
||||||
|
t.Partial(
|
||||||
|
t.Object({ id: t.String() }, { additionalProperties: false }),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
t.Union([t.Object({ id: t.String() })], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
t.Partial(
|
||||||
|
t.Object({
|
||||||
|
AND: t.Union([
|
||||||
|
Self,
|
||||||
|
t.Array(Self, { additionalProperties: false }),
|
||||||
|
]),
|
||||||
|
NOT: t.Union([
|
||||||
|
Self,
|
||||||
|
t.Array(Self, { additionalProperties: false }),
|
||||||
|
]),
|
||||||
|
OR: t.Array(Self, { additionalProperties: false }),
|
||||||
|
}),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{ id: t.String(), createdAt: t.Date() },
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ $id: "Conversation" },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationSelect = t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.Boolean(),
|
||||||
|
createdAt: t.Boolean(),
|
||||||
|
participants: t.Boolean(),
|
||||||
|
messages: t.Boolean(),
|
||||||
|
_count: t.Boolean(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationInclude = t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{ participants: t.Boolean(), messages: t.Boolean(), _count: t.Boolean() },
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationOrderBy = t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
createdAt: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const Conversation = t.Composite(
|
||||||
|
[ConversationPlain, ConversationRelations],
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationInputCreate = t.Composite(
|
||||||
|
[ConversationPlainInputCreate, ConversationRelationsInputCreate],
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationInputUpdate = t.Composite(
|
||||||
|
[ConversationPlainInputUpdate, ConversationRelationsInputUpdate],
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
245
backend/app/generated/prismabox/ConversationParticipant.ts
Normal file
245
backend/app/generated/prismabox/ConversationParticipant.ts
Normal file
@@ -0,0 +1,245 @@
|
|||||||
|
import { t } from "elysia";
|
||||||
|
|
||||||
|
import { __transformDate__ } from "./__transformDate__";
|
||||||
|
|
||||||
|
import { __nullable__ } from "./__nullable__";
|
||||||
|
|
||||||
|
export const ConversationParticipantPlain = t.Object(
|
||||||
|
{
|
||||||
|
id: t.String(),
|
||||||
|
conversationId: t.String(),
|
||||||
|
userId: t.String(),
|
||||||
|
lastReadAt: __nullable__(t.Date()),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationParticipantRelations = t.Object(
|
||||||
|
{
|
||||||
|
conversation: t.Object(
|
||||||
|
{ id: t.String(), createdAt: t.Date() },
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
user: t.Object(
|
||||||
|
{
|
||||||
|
id: t.String(),
|
||||||
|
email: t.String(),
|
||||||
|
username: t.String(),
|
||||||
|
password: t.String(),
|
||||||
|
createdAt: t.Date(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationParticipantPlainInputCreate = t.Object(
|
||||||
|
{ lastReadAt: t.Optional(__nullable__(t.Date())) },
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationParticipantPlainInputUpdate = t.Object(
|
||||||
|
{ lastReadAt: t.Optional(__nullable__(t.Date())) },
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationParticipantRelationsInputCreate = t.Object(
|
||||||
|
{
|
||||||
|
conversation: t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
user: t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationParticipantRelationsInputUpdate = t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
conversation: t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
user: t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationParticipantWhere = t.Partial(
|
||||||
|
t.Recursive(
|
||||||
|
(Self) =>
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
AND: t.Union([Self, t.Array(Self, { additionalProperties: false })]),
|
||||||
|
NOT: t.Union([Self, t.Array(Self, { additionalProperties: false })]),
|
||||||
|
OR: t.Array(Self, { additionalProperties: false }),
|
||||||
|
id: t.String(),
|
||||||
|
conversationId: t.String(),
|
||||||
|
userId: t.String(),
|
||||||
|
lastReadAt: t.Date(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ $id: "ConversationParticipant" },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationParticipantWhereUnique = t.Recursive(
|
||||||
|
(Self) =>
|
||||||
|
t.Intersect(
|
||||||
|
[
|
||||||
|
t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String(),
|
||||||
|
conversationId_userId: t.Object(
|
||||||
|
{ conversationId: t.String(), userId: t.String() },
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
t.Union(
|
||||||
|
[
|
||||||
|
t.Object({ id: t.String() }),
|
||||||
|
t.Object({
|
||||||
|
conversationId_userId: t.Object(
|
||||||
|
{ conversationId: t.String(), userId: t.String() },
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
t.Partial(
|
||||||
|
t.Object({
|
||||||
|
AND: t.Union([
|
||||||
|
Self,
|
||||||
|
t.Array(Self, { additionalProperties: false }),
|
||||||
|
]),
|
||||||
|
NOT: t.Union([
|
||||||
|
Self,
|
||||||
|
t.Array(Self, { additionalProperties: false }),
|
||||||
|
]),
|
||||||
|
OR: t.Array(Self, { additionalProperties: false }),
|
||||||
|
}),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String(),
|
||||||
|
conversationId: t.String(),
|
||||||
|
userId: t.String(),
|
||||||
|
lastReadAt: t.Date(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ $id: "ConversationParticipant" },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationParticipantSelect = t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.Boolean(),
|
||||||
|
conversationId: t.Boolean(),
|
||||||
|
userId: t.Boolean(),
|
||||||
|
conversation: t.Boolean(),
|
||||||
|
user: t.Boolean(),
|
||||||
|
lastReadAt: t.Boolean(),
|
||||||
|
_count: t.Boolean(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationParticipantInclude = t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{ conversation: t.Boolean(), user: t.Boolean(), _count: t.Boolean() },
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationParticipantOrderBy = t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
conversationId: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
userId: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
lastReadAt: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationParticipant = t.Composite(
|
||||||
|
[ConversationParticipantPlain, ConversationParticipantRelations],
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationParticipantInputCreate = t.Composite(
|
||||||
|
[
|
||||||
|
ConversationParticipantPlainInputCreate,
|
||||||
|
ConversationParticipantRelationsInputCreate,
|
||||||
|
],
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const ConversationParticipantInputUpdate = t.Composite(
|
||||||
|
[
|
||||||
|
ConversationParticipantPlainInputUpdate,
|
||||||
|
ConversationParticipantRelationsInputUpdate,
|
||||||
|
],
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
227
backend/app/generated/prismabox/Message.ts
Normal file
227
backend/app/generated/prismabox/Message.ts
Normal file
@@ -0,0 +1,227 @@
|
|||||||
|
import { t } from "elysia";
|
||||||
|
|
||||||
|
import { __transformDate__ } from "./__transformDate__";
|
||||||
|
|
||||||
|
import { __nullable__ } from "./__nullable__";
|
||||||
|
|
||||||
|
export const MessagePlain = t.Object(
|
||||||
|
{
|
||||||
|
id: t.String(),
|
||||||
|
conversationId: t.String(),
|
||||||
|
senderId: t.String(),
|
||||||
|
content: t.String(),
|
||||||
|
createdAt: t.Date(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const MessageRelations = t.Object(
|
||||||
|
{
|
||||||
|
conversation: t.Object(
|
||||||
|
{ id: t.String(), createdAt: t.Date() },
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
sender: t.Object(
|
||||||
|
{
|
||||||
|
id: t.String(),
|
||||||
|
email: t.String(),
|
||||||
|
username: t.String(),
|
||||||
|
password: t.String(),
|
||||||
|
createdAt: t.Date(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const MessagePlainInputCreate = t.Object(
|
||||||
|
{ content: t.String() },
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const MessagePlainInputUpdate = t.Object(
|
||||||
|
{ content: t.Optional(t.String()) },
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const MessageRelationsInputCreate = t.Object(
|
||||||
|
{
|
||||||
|
conversation: t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
sender: t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const MessageRelationsInputUpdate = t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
conversation: t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
sender: t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const MessageWhere = t.Partial(
|
||||||
|
t.Recursive(
|
||||||
|
(Self) =>
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
AND: t.Union([Self, t.Array(Self, { additionalProperties: false })]),
|
||||||
|
NOT: t.Union([Self, t.Array(Self, { additionalProperties: false })]),
|
||||||
|
OR: t.Array(Self, { additionalProperties: false }),
|
||||||
|
id: t.String(),
|
||||||
|
conversationId: t.String(),
|
||||||
|
senderId: t.String(),
|
||||||
|
content: t.String(),
|
||||||
|
createdAt: t.Date(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ $id: "Message" },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const MessageWhereUnique = t.Recursive(
|
||||||
|
(Self) =>
|
||||||
|
t.Intersect(
|
||||||
|
[
|
||||||
|
t.Partial(
|
||||||
|
t.Object({ id: t.String() }, { additionalProperties: false }),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
t.Union([t.Object({ id: t.String() })], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
t.Partial(
|
||||||
|
t.Object({
|
||||||
|
AND: t.Union([
|
||||||
|
Self,
|
||||||
|
t.Array(Self, { additionalProperties: false }),
|
||||||
|
]),
|
||||||
|
NOT: t.Union([
|
||||||
|
Self,
|
||||||
|
t.Array(Self, { additionalProperties: false }),
|
||||||
|
]),
|
||||||
|
OR: t.Array(Self, { additionalProperties: false }),
|
||||||
|
}),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String(),
|
||||||
|
conversationId: t.String(),
|
||||||
|
senderId: t.String(),
|
||||||
|
content: t.String(),
|
||||||
|
createdAt: t.Date(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ $id: "Message" },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const MessageSelect = t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.Boolean(),
|
||||||
|
conversationId: t.Boolean(),
|
||||||
|
senderId: t.Boolean(),
|
||||||
|
content: t.Boolean(),
|
||||||
|
createdAt: t.Boolean(),
|
||||||
|
conversation: t.Boolean(),
|
||||||
|
sender: t.Boolean(),
|
||||||
|
_count: t.Boolean(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const MessageInclude = t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{ conversation: t.Boolean(), sender: t.Boolean(), _count: t.Boolean() },
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const MessageOrderBy = t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
conversationId: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
senderId: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
content: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
createdAt: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
export const Message = t.Composite([MessagePlain, MessageRelations], {
|
||||||
|
additionalProperties: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const MessageInputCreate = t.Composite(
|
||||||
|
[MessagePlainInputCreate, MessageRelationsInputCreate],
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
|
export const MessageInputUpdate = t.Composite(
|
||||||
|
[MessagePlainInputUpdate, MessageRelationsInputUpdate],
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
@@ -5,29 +5,155 @@ import { __transformDate__ } from "./__transformDate__";
|
|||||||
import { __nullable__ } from "./__nullable__";
|
import { __nullable__ } from "./__nullable__";
|
||||||
|
|
||||||
export const UserPlain = t.Object(
|
export const UserPlain = t.Object(
|
||||||
{ id: t.String(), email: t.String(), username: t.String() },
|
{
|
||||||
|
id: t.String(),
|
||||||
|
email: t.String(),
|
||||||
|
username: t.String(),
|
||||||
|
password: t.String(),
|
||||||
|
createdAt: t.Date(),
|
||||||
|
},
|
||||||
{ additionalProperties: false },
|
{ additionalProperties: false },
|
||||||
);
|
);
|
||||||
|
|
||||||
export const UserRelations = t.Object({}, { additionalProperties: false });
|
export const UserRelations = t.Object(
|
||||||
|
{
|
||||||
|
messages: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String(),
|
||||||
|
conversationId: t.String(),
|
||||||
|
senderId: t.String(),
|
||||||
|
content: t.String(),
|
||||||
|
createdAt: t.Date(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
conversationMemberships: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String(),
|
||||||
|
conversationId: t.String(),
|
||||||
|
userId: t.String(),
|
||||||
|
lastReadAt: __nullable__(t.Date()),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
);
|
||||||
|
|
||||||
export const UserPlainInputCreate = t.Object(
|
export const UserPlainInputCreate = t.Object(
|
||||||
{ email: t.String(), username: t.String() },
|
{ email: t.String(), username: t.String(), password: t.String() },
|
||||||
{ additionalProperties: false },
|
{ additionalProperties: false },
|
||||||
);
|
);
|
||||||
|
|
||||||
export const UserPlainInputUpdate = t.Object(
|
export const UserPlainInputUpdate = t.Object(
|
||||||
{ email: t.Optional(t.String()), username: t.Optional(t.String()) },
|
{
|
||||||
|
email: t.Optional(t.String()),
|
||||||
|
username: t.Optional(t.String()),
|
||||||
|
password: t.Optional(t.String()),
|
||||||
|
},
|
||||||
{ additionalProperties: false },
|
{ additionalProperties: false },
|
||||||
);
|
);
|
||||||
|
|
||||||
export const UserRelationsInputCreate = t.Object(
|
export const UserRelationsInputCreate = t.Object(
|
||||||
{},
|
{
|
||||||
|
messages: t.Optional(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
),
|
||||||
|
conversationMemberships: t.Optional(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
),
|
||||||
|
},
|
||||||
{ additionalProperties: false },
|
{ additionalProperties: false },
|
||||||
);
|
);
|
||||||
|
|
||||||
export const UserRelationsInputUpdate = t.Partial(
|
export const UserRelationsInputUpdate = t.Partial(
|
||||||
t.Object({}, { additionalProperties: false }),
|
t.Object(
|
||||||
|
{
|
||||||
|
messages: t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
disconnect: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
),
|
||||||
|
conversationMemberships: t.Partial(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
connect: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
disconnect: t.Array(
|
||||||
|
t.Object(
|
||||||
|
{
|
||||||
|
id: t.String({ additionalProperties: false }),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
export const UserWhere = t.Partial(
|
export const UserWhere = t.Partial(
|
||||||
@@ -41,6 +167,8 @@ export const UserWhere = t.Partial(
|
|||||||
id: t.String(),
|
id: t.String(),
|
||||||
email: t.String(),
|
email: t.String(),
|
||||||
username: t.String(),
|
username: t.String(),
|
||||||
|
password: t.String(),
|
||||||
|
createdAt: t.Date(),
|
||||||
},
|
},
|
||||||
{ additionalProperties: false },
|
{ additionalProperties: false },
|
||||||
),
|
),
|
||||||
@@ -83,7 +211,13 @@ export const UserWhereUnique = t.Recursive(
|
|||||||
),
|
),
|
||||||
t.Partial(
|
t.Partial(
|
||||||
t.Object(
|
t.Object(
|
||||||
{ id: t.String(), email: t.String(), username: t.String() },
|
{
|
||||||
|
id: t.String(),
|
||||||
|
email: t.String(),
|
||||||
|
username: t.String(),
|
||||||
|
password: t.String(),
|
||||||
|
createdAt: t.Date(),
|
||||||
|
},
|
||||||
{ additionalProperties: false },
|
{ additionalProperties: false },
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -99,6 +233,10 @@ export const UserSelect = t.Partial(
|
|||||||
id: t.Boolean(),
|
id: t.Boolean(),
|
||||||
email: t.Boolean(),
|
email: t.Boolean(),
|
||||||
username: t.Boolean(),
|
username: t.Boolean(),
|
||||||
|
password: t.Boolean(),
|
||||||
|
createdAt: t.Boolean(),
|
||||||
|
messages: t.Boolean(),
|
||||||
|
conversationMemberships: t.Boolean(),
|
||||||
_count: t.Boolean(),
|
_count: t.Boolean(),
|
||||||
},
|
},
|
||||||
{ additionalProperties: false },
|
{ additionalProperties: false },
|
||||||
@@ -106,7 +244,14 @@ export const UserSelect = t.Partial(
|
|||||||
);
|
);
|
||||||
|
|
||||||
export const UserInclude = t.Partial(
|
export const UserInclude = t.Partial(
|
||||||
t.Object({ _count: t.Boolean() }, { additionalProperties: false }),
|
t.Object(
|
||||||
|
{
|
||||||
|
messages: t.Boolean(),
|
||||||
|
conversationMemberships: t.Boolean(),
|
||||||
|
_count: t.Boolean(),
|
||||||
|
},
|
||||||
|
{ additionalProperties: false },
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
export const UserOrderBy = t.Partial(
|
export const UserOrderBy = t.Partial(
|
||||||
@@ -121,6 +266,12 @@ export const UserOrderBy = t.Partial(
|
|||||||
username: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
username: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
additionalProperties: false,
|
additionalProperties: false,
|
||||||
}),
|
}),
|
||||||
|
password: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
|
createdAt: t.Union([t.Literal("asc"), t.Literal("desc")], {
|
||||||
|
additionalProperties: false,
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
{ additionalProperties: false },
|
{ additionalProperties: false },
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
export * from "./User";
|
export * from "./User";
|
||||||
|
export * from "./Conversation";
|
||||||
|
export * from "./ConversationParticipant";
|
||||||
|
export * from "./Message";
|
||||||
export * from "./__nullable__";
|
export * from "./__nullable__";
|
||||||
export * from "./__transformDate__";
|
export * from "./__transformDate__";
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
-- CreateTable
|
|
||||||
CREATE TABLE "User" (
|
|
||||||
"id" TEXT NOT NULL PRIMARY KEY,
|
|
||||||
"email" TEXT NOT NULL,
|
|
||||||
"username" TEXT NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
-- CreateIndex
|
|
||||||
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
|
|
||||||
|
|
||||||
-- CreateIndex
|
|
||||||
CREATE UNIQUE INDEX "User_username_key" ON "User"("username");
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
/*
|
|
||||||
Warnings:
|
|
||||||
|
|
||||||
- Added the required column `password` to the `User` table without a default value. This is not possible if the table is not empty.
|
|
||||||
|
|
||||||
*/
|
|
||||||
-- RedefineTables
|
|
||||||
PRAGMA defer_foreign_keys=ON;
|
|
||||||
PRAGMA foreign_keys=OFF;
|
|
||||||
CREATE TABLE "new_User" (
|
|
||||||
"id" TEXT NOT NULL PRIMARY KEY,
|
|
||||||
"email" TEXT NOT NULL,
|
|
||||||
"username" TEXT NOT NULL,
|
|
||||||
"password" TEXT NOT NULL
|
|
||||||
);
|
|
||||||
INSERT INTO "new_User" ("email", "id", "username") SELECT "email", "id", "username" FROM "User";
|
|
||||||
DROP TABLE "User";
|
|
||||||
ALTER TABLE "new_User" RENAME TO "User";
|
|
||||||
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
|
|
||||||
CREATE UNIQUE INDEX "User_username_key" ON "User"("username");
|
|
||||||
PRAGMA foreign_keys=ON;
|
|
||||||
PRAGMA defer_foreign_keys=OFF;
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
/*
|
|
||||||
Warnings:
|
|
||||||
|
|
||||||
- You are about to drop the column `password` on the `User` table. All the data in the column will be lost.
|
|
||||||
|
|
||||||
*/
|
|
||||||
-- RedefineTables
|
|
||||||
PRAGMA defer_foreign_keys=ON;
|
|
||||||
PRAGMA foreign_keys=OFF;
|
|
||||||
CREATE TABLE "new_User" (
|
|
||||||
"id" TEXT NOT NULL PRIMARY KEY,
|
|
||||||
"email" TEXT NOT NULL,
|
|
||||||
"username" TEXT NOT NULL
|
|
||||||
);
|
|
||||||
INSERT INTO "new_User" ("email", "id", "username") SELECT "email", "id", "username" FROM "User";
|
|
||||||
DROP TABLE "User";
|
|
||||||
ALTER TABLE "new_User" RENAME TO "User";
|
|
||||||
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
|
|
||||||
CREATE UNIQUE INDEX "User_username_key" ON "User"("username");
|
|
||||||
PRAGMA foreign_keys=ON;
|
|
||||||
PRAGMA defer_foreign_keys=OFF;
|
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "User" (
|
||||||
|
"id" TEXT NOT NULL PRIMARY KEY,
|
||||||
|
"email" TEXT NOT NULL,
|
||||||
|
"username" TEXT NOT NULL,
|
||||||
|
"password" TEXT NOT NULL,
|
||||||
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Conversation" (
|
||||||
|
"id" TEXT NOT NULL PRIMARY KEY,
|
||||||
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "ConversationParticipant" (
|
||||||
|
"conversationId" TEXT NOT NULL,
|
||||||
|
"userId" TEXT NOT NULL,
|
||||||
|
"lastReadAt" DATETIME,
|
||||||
|
|
||||||
|
PRIMARY KEY ("conversationId", "userId"),
|
||||||
|
CONSTRAINT "ConversationParticipant_conversationId_fkey" FOREIGN KEY ("conversationId") REFERENCES "Conversation" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT "ConversationParticipant_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Message" (
|
||||||
|
"id" TEXT NOT NULL PRIMARY KEY,
|
||||||
|
"conversationId" TEXT NOT NULL,
|
||||||
|
"senderId" TEXT NOT NULL,
|
||||||
|
"content" TEXT NOT NULL,
|
||||||
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
CONSTRAINT "Message_conversationId_fkey" FOREIGN KEY ("conversationId") REFERENCES "Conversation" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT "Message_senderId_fkey" FOREIGN KEY ("senderId") REFERENCES "User" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "User_username_key" ON "User"("username");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "ConversationParticipant_userId_idx" ON "ConversationParticipant"("userId");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "Message_conversationId_createdAt_idx" ON "Message"("conversationId", "createdAt");
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
Warnings:
|
||||||
|
|
||||||
|
- The primary key for the `ConversationParticipant` table will be changed. If it partially fails, the table could be left without primary key constraint.
|
||||||
|
- The required column `id` was added to the `ConversationParticipant` table with a prisma-level default value. This is not possible if the table is not empty. Please add this column as optional, then populate it before making it required.
|
||||||
|
|
||||||
|
*/
|
||||||
|
-- RedefineTables
|
||||||
|
PRAGMA defer_foreign_keys=ON;
|
||||||
|
PRAGMA foreign_keys=OFF;
|
||||||
|
CREATE TABLE "new_ConversationParticipant" (
|
||||||
|
"id" TEXT NOT NULL PRIMARY KEY,
|
||||||
|
"conversationId" TEXT NOT NULL,
|
||||||
|
"userId" TEXT NOT NULL,
|
||||||
|
"lastReadAt" DATETIME,
|
||||||
|
CONSTRAINT "ConversationParticipant_conversationId_fkey" FOREIGN KEY ("conversationId") REFERENCES "Conversation" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT "ConversationParticipant_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
|
);
|
||||||
|
INSERT INTO "new_ConversationParticipant" ("conversationId", "lastReadAt", "userId") SELECT "conversationId", "lastReadAt", "userId" FROM "ConversationParticipant";
|
||||||
|
DROP TABLE "ConversationParticipant";
|
||||||
|
ALTER TABLE "new_ConversationParticipant" RENAME TO "ConversationParticipant";
|
||||||
|
CREATE INDEX "ConversationParticipant_userId_idx" ON "ConversationParticipant"("userId");
|
||||||
|
CREATE UNIQUE INDEX "ConversationParticipant_conversationId_userId_key" ON "ConversationParticipant"("conversationId", "userId");
|
||||||
|
PRAGMA foreign_keys=ON;
|
||||||
|
PRAGMA defer_foreign_keys=OFF;
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
generator client {
|
generator client {
|
||||||
provider = "prisma-client"
|
provider = "prisma-client"
|
||||||
output = "../generated/prisma"
|
output = "../generated/prisma"
|
||||||
previewFeatures = ["driverAdapters"]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
datasource db {
|
datasource db {
|
||||||
@@ -20,5 +19,37 @@ model User {
|
|||||||
id String @id @default(cuid())
|
id String @id @default(cuid())
|
||||||
email String @unique
|
email String @unique
|
||||||
username String @unique
|
username String @unique
|
||||||
|
password String
|
||||||
|
createdAt DateTime @default(now())
|
||||||
|
messages Message[] @relation("UserMessages")
|
||||||
|
conversationMemberships ConversationParticipant[] @relation("UserConversations")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
model Conversation {
|
||||||
|
id String @id @default(cuid())
|
||||||
|
createdAt DateTime @default(now())
|
||||||
|
participants ConversationParticipant[] @relation("ConversationParticipants")
|
||||||
|
messages Message[] @relation("ConversationMessages")
|
||||||
|
}
|
||||||
|
|
||||||
|
model ConversationParticipant {
|
||||||
|
id String @id @default(cuid())
|
||||||
|
conversationId String
|
||||||
|
userId String
|
||||||
|
conversation Conversation @relation("ConversationParticipants", fields: [conversationId], references: [id], onDelete: Cascade)
|
||||||
|
user User @relation("UserConversations", fields: [userId], references: [id], onDelete: Cascade)
|
||||||
|
lastReadAt DateTime?
|
||||||
|
@@unique([conversationId, userId])
|
||||||
|
@@index([userId])
|
||||||
|
}
|
||||||
|
|
||||||
|
model Message {
|
||||||
|
id String @id @default(cuid())
|
||||||
|
conversationId String
|
||||||
|
senderId String
|
||||||
|
content String
|
||||||
|
createdAt DateTime @default(now())
|
||||||
|
conversation Conversation @relation("ConversationMessages", fields: [conversationId], references: [id], onDelete: Cascade)
|
||||||
|
sender User @relation("UserMessages", fields: [senderId], references: [id], onDelete: Cascade)
|
||||||
|
@@index([conversationId, createdAt])
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,11 +2,24 @@ import { Elysia, t } from "elysia";
|
|||||||
import { prisma } from "../db";
|
import { prisma } from "../db";
|
||||||
import { UserPlainInputCreate, UserPlain } from "../../generated/prismabox/User";
|
import { UserPlainInputCreate, UserPlain } from "../../generated/prismabox/User";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export const users = new Elysia({ prefix: "/users" })
|
export const users = new Elysia({ prefix: "/users" })
|
||||||
.post("/", async ({ body }) =>
|
.post("/register", async ({ body }) => {
|
||||||
prisma.user.create({
|
|
||||||
|
const hashedPassword = await Bun.password.hash(body.password, {
|
||||||
|
algorithm: "bcrypt",
|
||||||
|
cost: 10,
|
||||||
|
});
|
||||||
|
|
||||||
|
body.password = hashedPassword;
|
||||||
|
|
||||||
|
const user = await prisma.user.create({
|
||||||
data: body
|
data: body
|
||||||
}),
|
});
|
||||||
|
|
||||||
|
return user
|
||||||
|
},
|
||||||
{
|
{
|
||||||
body: UserPlainInputCreate,
|
body: UserPlainInputCreate,
|
||||||
response: UserPlain
|
response: UserPlain
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { Elysia } from 'elysia'
|
import { Elysia, t } from 'elysia'
|
||||||
import { jwt } from '@elysiajs/jwt'
|
import { jwt } from '@elysiajs/jwt'
|
||||||
|
import { prisma } from "../db";
|
||||||
|
|
||||||
export const jwtConfig = jwt({
|
export const jwtConfig = jwt({
|
||||||
name: 'jwt',
|
name: 'jwt',
|
||||||
@@ -11,8 +12,27 @@ export const auth = new Elysia({ prefix: "/auth" })
|
|||||||
.use(
|
.use(
|
||||||
jwtConfig
|
jwtConfig
|
||||||
)
|
)
|
||||||
.get('/sign/:name', ({ jwt, params: { name } }) => {
|
.post('/login', async ({ jwt, body, status }) => {
|
||||||
return jwt.sign({ name })
|
|
||||||
|
const user = await prisma.user.findUnique({
|
||||||
|
where: {
|
||||||
|
username: body.username,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
if (!user) return status(404, "Username or password is incorrect");
|
||||||
|
|
||||||
|
const isMatch = await Bun.password.verify(body.password, user.password)
|
||||||
|
if (!isMatch) {
|
||||||
|
return status(403, "Username or password is incorrect")
|
||||||
|
}
|
||||||
|
|
||||||
|
return jwt.sign({ name: user.username })
|
||||||
|
}, {
|
||||||
|
body: t.Object({
|
||||||
|
username: t.String(),
|
||||||
|
password: t.String(),
|
||||||
|
})
|
||||||
})
|
})
|
||||||
.get('/profile', async ({ jwt, status, headers: { authorization } }) => {
|
.get('/profile', async ({ jwt, status, headers: { authorization } }) => {
|
||||||
const profile = await jwt.verify(authorization)
|
const profile = await jwt.verify(authorization)
|
||||||
@@ -30,10 +50,20 @@ export const authGuard = {
|
|||||||
if (!authHeader) return status(401, "Missing authorization header");
|
if (!authHeader) return status(401, "Missing authorization header");
|
||||||
|
|
||||||
|
|
||||||
const ok = await jwt.verify(authHeader);
|
const details = await jwt.verify(authHeader);
|
||||||
if (!ok) return status(401, "Invalid or expired token");
|
if (!details) return status(401, "Invalid or expired token");
|
||||||
|
|
||||||
return { user: ok };
|
const user = await prisma.user.findUnique({
|
||||||
|
where: {
|
||||||
|
username: details.name
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (!user) return status(404, "User not found");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return { user: details };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
import { Elysia, t } from "elysia";
|
import { Elysia, t } from "elysia";
|
||||||
|
import { authGuard, jwtConfig } from "../auth";
|
||||||
|
|
||||||
export const ws = new Elysia()
|
export const ws = new Elysia()
|
||||||
|
.use(jwtConfig)
|
||||||
|
.guard(authGuard, (router) =>
|
||||||
|
router
|
||||||
.ws("/ws", {
|
.ws("/ws", {
|
||||||
body: t.Object({
|
body: t.Object({
|
||||||
text: t.String(),
|
text: t.String(),
|
||||||
@@ -21,3 +25,4 @@ export const ws = new Elysia()
|
|||||||
ws.unsubscribe("chat");
|
ws.unsubscribe("chat");
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user