csa-backend-test/prisma/clients/msg/index.d.ts

8965 lines
330 KiB
TypeScript

/**
* Client
**/
import * as runtime from './runtime/library.js';
import $Types = runtime.Types // general types
import $Public = runtime.Types.Public
import $Utils = runtime.Types.Utils
import $Extensions = runtime.Types.Extensions
import $Result = runtime.Types.Result
export type PrismaPromise<T> = $Public.PrismaPromise<T>
/**
* Model Conversations
*
*/
export type Conversations = $Result.DefaultSelection<Prisma.$ConversationsPayload>
/**
* Model Messages
*
*/
export type Messages = $Result.DefaultSelection<Prisma.$MessagesPayload>
/**
* Model MessageAttachments
*
*/
export type MessageAttachments = $Result.DefaultSelection<Prisma.$MessageAttachmentsPayload>
/**
* Model TypingIndicators
*
*/
export type TypingIndicators = $Result.DefaultSelection<Prisma.$TypingIndicatorsPayload>
/**
* Model ConversationParticipants
*
*/
export type ConversationParticipants = $Result.DefaultSelection<Prisma.$ConversationParticipantsPayload>
/**
* Enums
*/
export namespace $Enums {
export const ConversationStatus: {
active: 'active',
closed: 'closed',
archived: 'archived'
};
export type ConversationStatus = (typeof ConversationStatus)[keyof typeof ConversationStatus]
export const Priority: {
low: 'low',
normal: 'normal',
high: 'high',
urgent: 'urgent'
};
export type Priority = (typeof Priority)[keyof typeof Priority]
export const MessageType: {
text: 'text',
image: 'image',
file: 'file',
audio: 'audio',
video: 'video',
location: 'location',
contact: 'contact'
};
export type MessageType = (typeof MessageType)[keyof typeof MessageType]
export const SenderType: {
admin: 'admin',
user: 'user',
system: 'system'
};
export type SenderType = (typeof SenderType)[keyof typeof SenderType]
export const MessageStatus: {
sent: 'sent',
delivered: 'delivered',
read: 'read',
failed: 'failed'
};
export type MessageStatus = (typeof MessageStatus)[keyof typeof MessageStatus]
export const ParticipantRole: {
admin: 'admin',
member: 'member',
observer: 'observer'
};
export type ParticipantRole = (typeof ParticipantRole)[keyof typeof ParticipantRole]
}
export type ConversationStatus = $Enums.ConversationStatus
export const ConversationStatus: typeof $Enums.ConversationStatus
export type Priority = $Enums.Priority
export const Priority: typeof $Enums.Priority
export type MessageType = $Enums.MessageType
export const MessageType: typeof $Enums.MessageType
export type SenderType = $Enums.SenderType
export const SenderType: typeof $Enums.SenderType
export type MessageStatus = $Enums.MessageStatus
export const MessageStatus: typeof $Enums.MessageStatus
export type ParticipantRole = $Enums.ParticipantRole
export const ParticipantRole: typeof $Enums.ParticipantRole
/**
* ## Prisma Client ʲˢ
*
* Type-safe database client for TypeScript & Node.js
* @example
* ```
* const prisma = new PrismaClient()
* // Fetch zero or more Conversations
* const conversations = await prisma.conversations.findMany()
* ```
*
*
* Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client).
*/
export class PrismaClient<
ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions,
const U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array<Prisma.LogLevel | Prisma.LogDefinition> ? Prisma.GetEvents<ClientOptions['log']> : never : never,
ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs
> {
[K: symbol]: { types: Prisma.TypeMap<ExtArgs>['other'] }
/**
* ## Prisma Client ʲˢ
*
* Type-safe database client for TypeScript & Node.js
* @example
* ```
* const prisma = new PrismaClient()
* // Fetch zero or more Conversations
* const conversations = await prisma.conversations.findMany()
* ```
*
*
* Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client).
*/
constructor(optionsArg ?: Prisma.Subset<ClientOptions, Prisma.PrismaClientOptions>);
$on<V extends U>(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient;
/**
* Connect with the database
*/
$connect(): $Utils.JsPromise<void>;
/**
* Disconnect from the database
*/
$disconnect(): $Utils.JsPromise<void>;
/**
* Add a middleware
* @deprecated since 4.16.0. For new code, prefer client extensions instead.
* @see https://pris.ly/d/extensions
*/
$use(cb: Prisma.Middleware): void
/**
* Executes a prepared raw query and returns the number of affected rows.
* @example
* ```
* const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`
* ```
*
* Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access).
*/
$executeRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<number>;
/**
* Executes a raw query and returns the number of affected rows.
* Susceptible to SQL injections, see documentation.
* @example
* ```
* const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com')
* ```
*
* Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access).
*/
$executeRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<number>;
/**
* Performs a prepared raw query and returns the `SELECT` data.
* @example
* ```
* const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`
* ```
*
* Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access).
*/
$queryRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<T>;
/**
* Performs a raw query and returns the `SELECT` data.
* Susceptible to SQL injections, see documentation.
* @example
* ```
* const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com')
* ```
*
* Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access).
*/
$queryRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<T>;
/**
* Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole.
* @example
* ```
* const [george, bob, alice] = await prisma.$transaction([
* prisma.user.create({ data: { name: 'George' } }),
* prisma.user.create({ data: { name: 'Bob' } }),
* prisma.user.create({ data: { name: 'Alice' } }),
* ])
* ```
*
* Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions).
*/
$transaction<P extends Prisma.PrismaPromise<any>[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise<runtime.Types.Utils.UnwrapTuple<P>>
$transaction<R>(fn: (prisma: Omit<PrismaClient, runtime.ITXClientDenyList>) => $Utils.JsPromise<R>, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise<R>
$extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb<ClientOptions>, ExtArgs, $Utils.Call<Prisma.TypeMapCb<ClientOptions>, {
extArgs: ExtArgs
}>>
/**
* `prisma.conversations`: Exposes CRUD operations for the **Conversations** model.
* Example usage:
* ```ts
* // Fetch zero or more Conversations
* const conversations = await prisma.conversations.findMany()
* ```
*/
get conversations(): Prisma.ConversationsDelegate<ExtArgs, ClientOptions>;
/**
* `prisma.messages`: Exposes CRUD operations for the **Messages** model.
* Example usage:
* ```ts
* // Fetch zero or more Messages
* const messages = await prisma.messages.findMany()
* ```
*/
get messages(): Prisma.MessagesDelegate<ExtArgs, ClientOptions>;
/**
* `prisma.messageAttachments`: Exposes CRUD operations for the **MessageAttachments** model.
* Example usage:
* ```ts
* // Fetch zero or more MessageAttachments
* const messageAttachments = await prisma.messageAttachments.findMany()
* ```
*/
get messageAttachments(): Prisma.MessageAttachmentsDelegate<ExtArgs, ClientOptions>;
/**
* `prisma.typingIndicators`: Exposes CRUD operations for the **TypingIndicators** model.
* Example usage:
* ```ts
* // Fetch zero or more TypingIndicators
* const typingIndicators = await prisma.typingIndicators.findMany()
* ```
*/
get typingIndicators(): Prisma.TypingIndicatorsDelegate<ExtArgs, ClientOptions>;
/**
* `prisma.conversationParticipants`: Exposes CRUD operations for the **ConversationParticipants** model.
* Example usage:
* ```ts
* // Fetch zero or more ConversationParticipants
* const conversationParticipants = await prisma.conversationParticipants.findMany()
* ```
*/
get conversationParticipants(): Prisma.ConversationParticipantsDelegate<ExtArgs, ClientOptions>;
}
export namespace Prisma {
export import DMMF = runtime.DMMF
export type PrismaPromise<T> = $Public.PrismaPromise<T>
/**
* Validator
*/
export import validator = runtime.Public.validator
/**
* Prisma Errors
*/
export import PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError
export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError
export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError
export import PrismaClientInitializationError = runtime.PrismaClientInitializationError
export import PrismaClientValidationError = runtime.PrismaClientValidationError
/**
* Re-export of sql-template-tag
*/
export import sql = runtime.sqltag
export import empty = runtime.empty
export import join = runtime.join
export import raw = runtime.raw
export import Sql = runtime.Sql
/**
* Decimal.js
*/
export import Decimal = runtime.Decimal
export type DecimalJsLike = runtime.DecimalJsLike
/**
* Metrics
*/
export type Metrics = runtime.Metrics
export type Metric<T> = runtime.Metric<T>
export type MetricHistogram = runtime.MetricHistogram
export type MetricHistogramBucket = runtime.MetricHistogramBucket
/**
* Extensions
*/
export import Extension = $Extensions.UserArgs
export import getExtensionContext = runtime.Extensions.getExtensionContext
export import Args = $Public.Args
export import Payload = $Public.Payload
export import Result = $Public.Result
export import Exact = $Public.Exact
/**
* Prisma Client JS version: 6.13.0
* Query Engine version: 361e86d0ea4987e9f53a565309b3eed797a6bcbd
*/
export type PrismaVersion = {
client: string
}
export const prismaVersion: PrismaVersion
/**
* Utility Types
*/
export import JsonObject = runtime.JsonObject
export import JsonArray = runtime.JsonArray
export import JsonValue = runtime.JsonValue
export import InputJsonObject = runtime.InputJsonObject
export import InputJsonArray = runtime.InputJsonArray
export import InputJsonValue = runtime.InputJsonValue
/**
* Types of the values used to represent different kinds of `null` values when working with JSON fields.
*
* @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
*/
namespace NullTypes {
/**
* Type of `Prisma.DbNull`.
*
* You cannot use other instances of this class. Please use the `Prisma.DbNull` value.
*
* @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
*/
class DbNull {
private DbNull: never
private constructor()
}
/**
* Type of `Prisma.JsonNull`.
*
* You cannot use other instances of this class. Please use the `Prisma.JsonNull` value.
*
* @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
*/
class JsonNull {
private JsonNull: never
private constructor()
}
/**
* Type of `Prisma.AnyNull`.
*
* You cannot use other instances of this class. Please use the `Prisma.AnyNull` value.
*
* @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
*/
class AnyNull {
private AnyNull: never
private constructor()
}
}
/**
* Helper for filtering JSON entries that have `null` on the database (empty on the db)
*
* @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
*/
export const DbNull: NullTypes.DbNull
/**
* Helper for filtering JSON entries that have JSON `null` values (not empty on the db)
*
* @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
*/
export const JsonNull: NullTypes.JsonNull
/**
* Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull`
*
* @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
*/
export const AnyNull: NullTypes.AnyNull
type SelectAndInclude = {
select: any
include: any
}
type SelectAndOmit = {
select: any
omit: any
}
/**
* Get the type of the value, that the Promise holds.
*/
export type PromiseType<T extends PromiseLike<any>> = T extends PromiseLike<infer U> ? U : T;
/**
* Get the return type of a function which returns a Promise.
*/
export type PromiseReturnType<T extends (...args: any) => $Utils.JsPromise<any>> = PromiseType<ReturnType<T>>
/**
* From T, pick a set of properties whose keys are in the union K
*/
type Prisma__Pick<T, K extends keyof T> = {
[P in K]: T[P];
};
export type Enumerable<T> = T | Array<T>;
export type RequiredKeys<T> = {
[K in keyof T]-?: {} extends Prisma__Pick<T, K> ? never : K
}[keyof T]
export type TruthyKeys<T> = keyof {
[K in keyof T as T[K] extends false | undefined | null ? never : K]: K
}
export type TrueKeys<T> = TruthyKeys<Prisma__Pick<T, RequiredKeys<T>>>
/**
* Subset
* @desc From `T` pick properties that exist in `U`. Simple version of Intersection
*/
export type Subset<T, U> = {
[key in keyof T]: key extends keyof U ? T[key] : never;
};
/**
* SelectSubset
* @desc From `T` pick properties that exist in `U`. Simple version of Intersection.
* Additionally, it validates, if both select and include are present. If the case, it errors.
*/
export type SelectSubset<T, U> = {
[key in keyof T]: key extends keyof U ? T[key] : never
} &
(T extends SelectAndInclude
? 'Please either choose `select` or `include`.'
: T extends SelectAndOmit
? 'Please either choose `select` or `omit`.'
: {})
/**
* Subset + Intersection
* @desc From `T` pick properties that exist in `U` and intersect `K`
*/
export type SubsetIntersection<T, U, K> = {
[key in keyof T]: key extends keyof U ? T[key] : never
} &
K
type Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never };
/**
* XOR is needed to have a real mutually exclusive union type
* https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types
*/
type XOR<T, U> =
T extends object ?
U extends object ?
(Without<T, U> & U) | (Without<U, T> & T)
: U : T
/**
* Is T a Record?
*/
type IsObject<T extends any> = T extends Array<any>
? False
: T extends Date
? False
: T extends Uint8Array
? False
: T extends BigInt
? False
: T extends object
? True
: False
/**
* If it's T[], return T
*/
export type UnEnumerate<T extends unknown> = T extends Array<infer U> ? U : T
/**
* From ts-toolbelt
*/
type __Either<O extends object, K extends Key> = Omit<O, K> &
{
// Merge all but K
[P in K]: Prisma__Pick<O, P & keyof O> // With K possibilities
}[K]
type EitherStrict<O extends object, K extends Key> = Strict<__Either<O, K>>
type EitherLoose<O extends object, K extends Key> = ComputeRaw<__Either<O, K>>
type _Either<
O extends object,
K extends Key,
strict extends Boolean
> = {
1: EitherStrict<O, K>
0: EitherLoose<O, K>
}[strict]
type Either<
O extends object,
K extends Key,
strict extends Boolean = 1
> = O extends unknown ? _Either<O, K, strict> : never
export type Union = any
type PatchUndefined<O extends object, O1 extends object> = {
[K in keyof O]: O[K] extends undefined ? At<O1, K> : O[K]
} & {}
/** Helper Types for "Merge" **/
export type IntersectOf<U extends Union> = (
U extends unknown ? (k: U) => void : never
) extends (k: infer I) => void
? I
: never
export type Overwrite<O extends object, O1 extends object> = {
[K in keyof O]: K extends keyof O1 ? O1[K] : O[K];
} & {};
type _Merge<U extends object> = IntersectOf<Overwrite<U, {
[K in keyof U]-?: At<U, K>;
}>>;
type Key = string | number | symbol;
type AtBasic<O extends object, K extends Key> = K extends keyof O ? O[K] : never;
type AtStrict<O extends object, K extends Key> = O[K & keyof O];
type AtLoose<O extends object, K extends Key> = O extends unknown ? AtStrict<O, K> : never;
export type At<O extends object, K extends Key, strict extends Boolean = 1> = {
1: AtStrict<O, K>;
0: AtLoose<O, K>;
}[strict];
export type ComputeRaw<A extends any> = A extends Function ? A : {
[K in keyof A]: A[K];
} & {};
export type OptionalFlat<O> = {
[K in keyof O]?: O[K];
} & {};
type _Record<K extends keyof any, T> = {
[P in K]: T;
};
// cause typescript not to expand types and preserve names
type NoExpand<T> = T extends unknown ? T : never;
// this type assumes the passed object is entirely optional
type AtLeast<O extends object, K extends string> = NoExpand<
O extends unknown
? | (K extends keyof O ? { [P in K]: O[P] } & O : O)
| {[P in keyof O as P extends K ? P : never]-?: O[P]} & O
: never>;
type _Strict<U, _U = U> = U extends unknown ? U & OptionalFlat<_Record<Exclude<Keys<_U>, keyof U>, never>> : never;
export type Strict<U extends object> = ComputeRaw<_Strict<U>>;
/** End Helper Types for "Merge" **/
export type Merge<U extends object> = ComputeRaw<_Merge<Strict<U>>>;
/**
A [[Boolean]]
*/
export type Boolean = True | False
// /**
// 1
// */
export type True = 1
/**
0
*/
export type False = 0
export type Not<B extends Boolean> = {
0: 1
1: 0
}[B]
export type Extends<A1 extends any, A2 extends any> = [A1] extends [never]
? 0 // anything `never` is false
: A1 extends A2
? 1
: 0
export type Has<U extends Union, U1 extends Union> = Not<
Extends<Exclude<U1, U>, U1>
>
export type Or<B1 extends Boolean, B2 extends Boolean> = {
0: {
0: 0
1: 1
}
1: {
0: 1
1: 1
}
}[B1][B2]
export type Keys<U extends Union> = U extends unknown ? keyof U : never
type Cast<A, B> = A extends B ? A : B;
export const type: unique symbol;
/**
* Used by group by
*/
export type GetScalarType<T, O> = O extends object ? {
[P in keyof T]: P extends keyof O
? O[P]
: never
} : never
type FieldPaths<
T,
U = Omit<T, '_avg' | '_sum' | '_count' | '_min' | '_max'>
> = IsObject<T> extends True ? U : T
type GetHavingFields<T> = {
[K in keyof T]: Or<
Or<Extends<'OR', K>, Extends<'AND', K>>,
Extends<'NOT', K>
> extends True
? // infer is only needed to not hit TS limit
// based on the brilliant idea of Pierre-Antoine Mills
// https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437
T[K] extends infer TK
? GetHavingFields<UnEnumerate<TK> extends object ? Merge<UnEnumerate<TK>> : never>
: never
: {} extends FieldPaths<T[K]>
? never
: K
}[keyof T]
/**
* Convert tuple to union
*/
type _TupleToUnion<T> = T extends (infer E)[] ? E : never
type TupleToUnion<K extends readonly any[]> = _TupleToUnion<K>
type MaybeTupleToUnion<T> = T extends any[] ? TupleToUnion<T> : T
/**
* Like `Pick`, but additionally can also accept an array of keys
*/
type PickEnumerable<T, K extends Enumerable<keyof T> | keyof T> = Prisma__Pick<T, MaybeTupleToUnion<K>>
/**
* Exclude all keys with underscores
*/
type ExcludeUnderscoreKeys<T extends string> = T extends `_${string}` ? never : T
export type FieldRef<Model, FieldType> = runtime.FieldRef<Model, FieldType>
type FieldRefInputType<Model, FieldType> = Model extends never ? never : FieldRef<Model, FieldType>
export const ModelName: {
Conversations: 'Conversations',
Messages: 'Messages',
MessageAttachments: 'MessageAttachments',
TypingIndicators: 'TypingIndicators',
ConversationParticipants: 'ConversationParticipants'
};
export type ModelName = (typeof ModelName)[keyof typeof ModelName]
export type Datasources = {
db_msg?: Datasource
}
interface TypeMapCb<ClientOptions = {}> extends $Utils.Fn<{extArgs: $Extensions.InternalArgs }, $Utils.Record<string, any>> {
returns: Prisma.TypeMap<this['params']['extArgs'], ClientOptions extends { omit: infer OmitOptions } ? OmitOptions : {}>
}
export type TypeMap<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> = {
globalOmitOptions: {
omit: GlobalOmitOptions
}
meta: {
modelProps: "conversations" | "messages" | "messageAttachments" | "typingIndicators" | "conversationParticipants"
txIsolationLevel: Prisma.TransactionIsolationLevel
}
model: {
Conversations: {
payload: Prisma.$ConversationsPayload<ExtArgs>
fields: Prisma.ConversationsFieldRefs
operations: {
findUnique: {
args: Prisma.ConversationsFindUniqueArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationsPayload> | null
}
findUniqueOrThrow: {
args: Prisma.ConversationsFindUniqueOrThrowArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationsPayload>
}
findFirst: {
args: Prisma.ConversationsFindFirstArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationsPayload> | null
}
findFirstOrThrow: {
args: Prisma.ConversationsFindFirstOrThrowArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationsPayload>
}
findMany: {
args: Prisma.ConversationsFindManyArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationsPayload>[]
}
create: {
args: Prisma.ConversationsCreateArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationsPayload>
}
createMany: {
args: Prisma.ConversationsCreateManyArgs<ExtArgs>
result: BatchPayload
}
createManyAndReturn: {
args: Prisma.ConversationsCreateManyAndReturnArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationsPayload>[]
}
delete: {
args: Prisma.ConversationsDeleteArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationsPayload>
}
update: {
args: Prisma.ConversationsUpdateArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationsPayload>
}
deleteMany: {
args: Prisma.ConversationsDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.ConversationsUpdateManyArgs<ExtArgs>
result: BatchPayload
}
updateManyAndReturn: {
args: Prisma.ConversationsUpdateManyAndReturnArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationsPayload>[]
}
upsert: {
args: Prisma.ConversationsUpsertArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationsPayload>
}
aggregate: {
args: Prisma.ConversationsAggregateArgs<ExtArgs>
result: $Utils.Optional<AggregateConversations>
}
groupBy: {
args: Prisma.ConversationsGroupByArgs<ExtArgs>
result: $Utils.Optional<ConversationsGroupByOutputType>[]
}
count: {
args: Prisma.ConversationsCountArgs<ExtArgs>
result: $Utils.Optional<ConversationsCountAggregateOutputType> | number
}
}
}
Messages: {
payload: Prisma.$MessagesPayload<ExtArgs>
fields: Prisma.MessagesFieldRefs
operations: {
findUnique: {
args: Prisma.MessagesFindUniqueArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessagesPayload> | null
}
findUniqueOrThrow: {
args: Prisma.MessagesFindUniqueOrThrowArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessagesPayload>
}
findFirst: {
args: Prisma.MessagesFindFirstArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessagesPayload> | null
}
findFirstOrThrow: {
args: Prisma.MessagesFindFirstOrThrowArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessagesPayload>
}
findMany: {
args: Prisma.MessagesFindManyArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessagesPayload>[]
}
create: {
args: Prisma.MessagesCreateArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessagesPayload>
}
createMany: {
args: Prisma.MessagesCreateManyArgs<ExtArgs>
result: BatchPayload
}
createManyAndReturn: {
args: Prisma.MessagesCreateManyAndReturnArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessagesPayload>[]
}
delete: {
args: Prisma.MessagesDeleteArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessagesPayload>
}
update: {
args: Prisma.MessagesUpdateArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessagesPayload>
}
deleteMany: {
args: Prisma.MessagesDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.MessagesUpdateManyArgs<ExtArgs>
result: BatchPayload
}
updateManyAndReturn: {
args: Prisma.MessagesUpdateManyAndReturnArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessagesPayload>[]
}
upsert: {
args: Prisma.MessagesUpsertArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessagesPayload>
}
aggregate: {
args: Prisma.MessagesAggregateArgs<ExtArgs>
result: $Utils.Optional<AggregateMessages>
}
groupBy: {
args: Prisma.MessagesGroupByArgs<ExtArgs>
result: $Utils.Optional<MessagesGroupByOutputType>[]
}
count: {
args: Prisma.MessagesCountArgs<ExtArgs>
result: $Utils.Optional<MessagesCountAggregateOutputType> | number
}
}
}
MessageAttachments: {
payload: Prisma.$MessageAttachmentsPayload<ExtArgs>
fields: Prisma.MessageAttachmentsFieldRefs
operations: {
findUnique: {
args: Prisma.MessageAttachmentsFindUniqueArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessageAttachmentsPayload> | null
}
findUniqueOrThrow: {
args: Prisma.MessageAttachmentsFindUniqueOrThrowArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessageAttachmentsPayload>
}
findFirst: {
args: Prisma.MessageAttachmentsFindFirstArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessageAttachmentsPayload> | null
}
findFirstOrThrow: {
args: Prisma.MessageAttachmentsFindFirstOrThrowArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessageAttachmentsPayload>
}
findMany: {
args: Prisma.MessageAttachmentsFindManyArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessageAttachmentsPayload>[]
}
create: {
args: Prisma.MessageAttachmentsCreateArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessageAttachmentsPayload>
}
createMany: {
args: Prisma.MessageAttachmentsCreateManyArgs<ExtArgs>
result: BatchPayload
}
createManyAndReturn: {
args: Prisma.MessageAttachmentsCreateManyAndReturnArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessageAttachmentsPayload>[]
}
delete: {
args: Prisma.MessageAttachmentsDeleteArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessageAttachmentsPayload>
}
update: {
args: Prisma.MessageAttachmentsUpdateArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessageAttachmentsPayload>
}
deleteMany: {
args: Prisma.MessageAttachmentsDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.MessageAttachmentsUpdateManyArgs<ExtArgs>
result: BatchPayload
}
updateManyAndReturn: {
args: Prisma.MessageAttachmentsUpdateManyAndReturnArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessageAttachmentsPayload>[]
}
upsert: {
args: Prisma.MessageAttachmentsUpsertArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$MessageAttachmentsPayload>
}
aggregate: {
args: Prisma.MessageAttachmentsAggregateArgs<ExtArgs>
result: $Utils.Optional<AggregateMessageAttachments>
}
groupBy: {
args: Prisma.MessageAttachmentsGroupByArgs<ExtArgs>
result: $Utils.Optional<MessageAttachmentsGroupByOutputType>[]
}
count: {
args: Prisma.MessageAttachmentsCountArgs<ExtArgs>
result: $Utils.Optional<MessageAttachmentsCountAggregateOutputType> | number
}
}
}
TypingIndicators: {
payload: Prisma.$TypingIndicatorsPayload<ExtArgs>
fields: Prisma.TypingIndicatorsFieldRefs
operations: {
findUnique: {
args: Prisma.TypingIndicatorsFindUniqueArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$TypingIndicatorsPayload> | null
}
findUniqueOrThrow: {
args: Prisma.TypingIndicatorsFindUniqueOrThrowArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$TypingIndicatorsPayload>
}
findFirst: {
args: Prisma.TypingIndicatorsFindFirstArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$TypingIndicatorsPayload> | null
}
findFirstOrThrow: {
args: Prisma.TypingIndicatorsFindFirstOrThrowArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$TypingIndicatorsPayload>
}
findMany: {
args: Prisma.TypingIndicatorsFindManyArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$TypingIndicatorsPayload>[]
}
create: {
args: Prisma.TypingIndicatorsCreateArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$TypingIndicatorsPayload>
}
createMany: {
args: Prisma.TypingIndicatorsCreateManyArgs<ExtArgs>
result: BatchPayload
}
createManyAndReturn: {
args: Prisma.TypingIndicatorsCreateManyAndReturnArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$TypingIndicatorsPayload>[]
}
delete: {
args: Prisma.TypingIndicatorsDeleteArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$TypingIndicatorsPayload>
}
update: {
args: Prisma.TypingIndicatorsUpdateArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$TypingIndicatorsPayload>
}
deleteMany: {
args: Prisma.TypingIndicatorsDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.TypingIndicatorsUpdateManyArgs<ExtArgs>
result: BatchPayload
}
updateManyAndReturn: {
args: Prisma.TypingIndicatorsUpdateManyAndReturnArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$TypingIndicatorsPayload>[]
}
upsert: {
args: Prisma.TypingIndicatorsUpsertArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$TypingIndicatorsPayload>
}
aggregate: {
args: Prisma.TypingIndicatorsAggregateArgs<ExtArgs>
result: $Utils.Optional<AggregateTypingIndicators>
}
groupBy: {
args: Prisma.TypingIndicatorsGroupByArgs<ExtArgs>
result: $Utils.Optional<TypingIndicatorsGroupByOutputType>[]
}
count: {
args: Prisma.TypingIndicatorsCountArgs<ExtArgs>
result: $Utils.Optional<TypingIndicatorsCountAggregateOutputType> | number
}
}
}
ConversationParticipants: {
payload: Prisma.$ConversationParticipantsPayload<ExtArgs>
fields: Prisma.ConversationParticipantsFieldRefs
operations: {
findUnique: {
args: Prisma.ConversationParticipantsFindUniqueArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationParticipantsPayload> | null
}
findUniqueOrThrow: {
args: Prisma.ConversationParticipantsFindUniqueOrThrowArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationParticipantsPayload>
}
findFirst: {
args: Prisma.ConversationParticipantsFindFirstArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationParticipantsPayload> | null
}
findFirstOrThrow: {
args: Prisma.ConversationParticipantsFindFirstOrThrowArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationParticipantsPayload>
}
findMany: {
args: Prisma.ConversationParticipantsFindManyArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationParticipantsPayload>[]
}
create: {
args: Prisma.ConversationParticipantsCreateArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationParticipantsPayload>
}
createMany: {
args: Prisma.ConversationParticipantsCreateManyArgs<ExtArgs>
result: BatchPayload
}
createManyAndReturn: {
args: Prisma.ConversationParticipantsCreateManyAndReturnArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationParticipantsPayload>[]
}
delete: {
args: Prisma.ConversationParticipantsDeleteArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationParticipantsPayload>
}
update: {
args: Prisma.ConversationParticipantsUpdateArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationParticipantsPayload>
}
deleteMany: {
args: Prisma.ConversationParticipantsDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.ConversationParticipantsUpdateManyArgs<ExtArgs>
result: BatchPayload
}
updateManyAndReturn: {
args: Prisma.ConversationParticipantsUpdateManyAndReturnArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationParticipantsPayload>[]
}
upsert: {
args: Prisma.ConversationParticipantsUpsertArgs<ExtArgs>
result: $Utils.PayloadToResult<Prisma.$ConversationParticipantsPayload>
}
aggregate: {
args: Prisma.ConversationParticipantsAggregateArgs<ExtArgs>
result: $Utils.Optional<AggregateConversationParticipants>
}
groupBy: {
args: Prisma.ConversationParticipantsGroupByArgs<ExtArgs>
result: $Utils.Optional<ConversationParticipantsGroupByOutputType>[]
}
count: {
args: Prisma.ConversationParticipantsCountArgs<ExtArgs>
result: $Utils.Optional<ConversationParticipantsCountAggregateOutputType> | number
}
}
}
}
} & {
other: {
payload: any
operations: {
$executeRaw: {
args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]],
result: any
}
$executeRawUnsafe: {
args: [query: string, ...values: any[]],
result: any
}
$queryRaw: {
args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]],
result: any
}
$queryRawUnsafe: {
args: [query: string, ...values: any[]],
result: any
}
}
}
}
export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs>
export type DefaultPrismaClient = PrismaClient
export type ErrorFormat = 'pretty' | 'colorless' | 'minimal'
export interface PrismaClientOptions {
/**
* Overwrites the datasource url from your schema.prisma file
*/
datasources?: Datasources
/**
* Overwrites the datasource url from your schema.prisma file
*/
datasourceUrl?: string
/**
* @default "colorless"
*/
errorFormat?: ErrorFormat
/**
* @example
* ```
* // Shorthand for `emit: 'stdout'`
* log: ['query', 'info', 'warn', 'error']
*
* // Emit as events only
* log: [
* { emit: 'event', level: 'query' },
* { emit: 'event', level: 'info' },
* { emit: 'event', level: 'warn' }
* { emit: 'event', level: 'error' }
* ]
*
* / Emit as events and log to stdout
* og: [
* { emit: 'stdout', level: 'query' },
* { emit: 'stdout', level: 'info' },
* { emit: 'stdout', level: 'warn' }
* { emit: 'stdout', level: 'error' }
*
* ```
* Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option).
*/
log?: (LogLevel | LogDefinition)[]
/**
* The default values for transactionOptions
* maxWait ?= 2000
* timeout ?= 5000
*/
transactionOptions?: {
maxWait?: number
timeout?: number
isolationLevel?: Prisma.TransactionIsolationLevel
}
/**
* Global configuration for omitting model fields by default.
*
* @example
* ```
* const prisma = new PrismaClient({
* omit: {
* user: {
* password: true
* }
* }
* })
* ```
*/
omit?: Prisma.GlobalOmitConfig
}
export type GlobalOmitConfig = {
conversations?: ConversationsOmit
messages?: MessagesOmit
messageAttachments?: MessageAttachmentsOmit
typingIndicators?: TypingIndicatorsOmit
conversationParticipants?: ConversationParticipantsOmit
}
/* Types for Logging */
export type LogLevel = 'info' | 'query' | 'warn' | 'error'
export type LogDefinition = {
level: LogLevel
emit: 'stdout' | 'event'
}
export type CheckIsLogLevel<T> = T extends LogLevel ? T : never;
export type GetLogType<T> = CheckIsLogLevel<
T extends LogDefinition ? T['level'] : T
>;
export type GetEvents<T extends any[]> = T extends Array<LogLevel | LogDefinition>
? GetLogType<T[number]>
: never;
export type QueryEvent = {
timestamp: Date
query: string
params: string
duration: number
target: string
}
export type LogEvent = {
timestamp: Date
message: string
target: string
}
/* End Types for Logging */
export type PrismaAction =
| 'findUnique'
| 'findUniqueOrThrow'
| 'findMany'
| 'findFirst'
| 'findFirstOrThrow'
| 'create'
| 'createMany'
| 'createManyAndReturn'
| 'update'
| 'updateMany'
| 'updateManyAndReturn'
| 'upsert'
| 'delete'
| 'deleteMany'
| 'executeRaw'
| 'queryRaw'
| 'aggregate'
| 'count'
| 'runCommandRaw'
| 'findRaw'
| 'groupBy'
/**
* These options are being passed into the middleware as "params"
*/
export type MiddlewareParams = {
model?: ModelName
action: PrismaAction
args: any
dataPath: string[]
runInTransaction: boolean
}
/**
* The `T` type makes sure, that the `return proceed` is not forgotten in the middleware implementation
*/
export type Middleware<T = any> = (
params: MiddlewareParams,
next: (params: MiddlewareParams) => $Utils.JsPromise<T>,
) => $Utils.JsPromise<T>
// tested in getLogLevel.test.ts
export function getLogLevel(log: Array<LogLevel | LogDefinition>): LogLevel | undefined;
/**
* `PrismaClient` proxy available in interactive transactions.
*/
export type TransactionClient = Omit<Prisma.DefaultPrismaClient, runtime.ITXClientDenyList>
export type Datasource = {
url?: string
}
/**
* Count Types
*/
/**
* Count Type ConversationsCountOutputType
*/
export type ConversationsCountOutputType = {
messages: number
}
export type ConversationsCountOutputTypeSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
messages?: boolean | ConversationsCountOutputTypeCountMessagesArgs
}
// Custom InputTypes
/**
* ConversationsCountOutputType without action
*/
export type ConversationsCountOutputTypeDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the ConversationsCountOutputType
*/
select?: ConversationsCountOutputTypeSelect<ExtArgs> | null
}
/**
* ConversationsCountOutputType without action
*/
export type ConversationsCountOutputTypeCountMessagesArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
where?: MessagesWhereInput
}
/**
* Models
*/
/**
* Model Conversations
*/
export type AggregateConversations = {
_count: ConversationsCountAggregateOutputType | null
_min: ConversationsMinAggregateOutputType | null
_max: ConversationsMaxAggregateOutputType | null
}
export type ConversationsMinAggregateOutputType = {
id: string | null
subject: string | null
status: $Enums.ConversationStatus | null
priority: $Enums.Priority | null
category: string | null
userId: string | null
adminId: string | null
createdAt: Date | null
updatedAt: Date | null
lastMessageAt: Date | null
}
export type ConversationsMaxAggregateOutputType = {
id: string | null
subject: string | null
status: $Enums.ConversationStatus | null
priority: $Enums.Priority | null
category: string | null
userId: string | null
adminId: string | null
createdAt: Date | null
updatedAt: Date | null
lastMessageAt: Date | null
}
export type ConversationsCountAggregateOutputType = {
id: number
subject: number
status: number
priority: number
category: number
userId: number
adminId: number
createdAt: number
updatedAt: number
lastMessageAt: number
metadata: number
_all: number
}
export type ConversationsMinAggregateInputType = {
id?: true
subject?: true
status?: true
priority?: true
category?: true
userId?: true
adminId?: true
createdAt?: true
updatedAt?: true
lastMessageAt?: true
}
export type ConversationsMaxAggregateInputType = {
id?: true
subject?: true
status?: true
priority?: true
category?: true
userId?: true
adminId?: true
createdAt?: true
updatedAt?: true
lastMessageAt?: true
}
export type ConversationsCountAggregateInputType = {
id?: true
subject?: true
status?: true
priority?: true
category?: true
userId?: true
adminId?: true
createdAt?: true
updatedAt?: true
lastMessageAt?: true
metadata?: true
_all?: true
}
export type ConversationsAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Filter which Conversations to aggregate.
*/
where?: ConversationsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of Conversations to fetch.
*/
orderBy?: ConversationsOrderByWithRelationInput | ConversationsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the start position
*/
cursor?: ConversationsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` Conversations from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` Conversations.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Count returned Conversations
**/
_count?: true | ConversationsCountAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to find the minimum value
**/
_min?: ConversationsMinAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to find the maximum value
**/
_max?: ConversationsMaxAggregateInputType
}
export type GetConversationsAggregateType<T extends ConversationsAggregateArgs> = {
[P in keyof T & keyof AggregateConversations]: P extends '_count' | 'count'
? T[P] extends true
? number
: GetScalarType<T[P], AggregateConversations[P]>
: GetScalarType<T[P], AggregateConversations[P]>
}
export type ConversationsGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
where?: ConversationsWhereInput
orderBy?: ConversationsOrderByWithAggregationInput | ConversationsOrderByWithAggregationInput[]
by: ConversationsScalarFieldEnum[] | ConversationsScalarFieldEnum
having?: ConversationsScalarWhereWithAggregatesInput
take?: number
skip?: number
_count?: ConversationsCountAggregateInputType | true
_min?: ConversationsMinAggregateInputType
_max?: ConversationsMaxAggregateInputType
}
export type ConversationsGroupByOutputType = {
id: string
subject: string | null
status: $Enums.ConversationStatus
priority: $Enums.Priority
category: string | null
userId: string
adminId: string | null
createdAt: Date
updatedAt: Date
lastMessageAt: Date | null
metadata: JsonValue | null
_count: ConversationsCountAggregateOutputType | null
_min: ConversationsMinAggregateOutputType | null
_max: ConversationsMaxAggregateOutputType | null
}
type GetConversationsGroupByPayload<T extends ConversationsGroupByArgs> = Prisma.PrismaPromise<
Array<
PickEnumerable<ConversationsGroupByOutputType, T['by']> &
{
[P in ((keyof T) & (keyof ConversationsGroupByOutputType))]: P extends '_count'
? T[P] extends boolean
? number
: GetScalarType<T[P], ConversationsGroupByOutputType[P]>
: GetScalarType<T[P], ConversationsGroupByOutputType[P]>
}
>
>
export type ConversationsSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
subject?: boolean
status?: boolean
priority?: boolean
category?: boolean
userId?: boolean
adminId?: boolean
createdAt?: boolean
updatedAt?: boolean
lastMessageAt?: boolean
metadata?: boolean
messages?: boolean | Conversations$messagesArgs<ExtArgs>
_count?: boolean | ConversationsCountOutputTypeDefaultArgs<ExtArgs>
}, ExtArgs["result"]["conversations"]>
export type ConversationsSelectCreateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
subject?: boolean
status?: boolean
priority?: boolean
category?: boolean
userId?: boolean
adminId?: boolean
createdAt?: boolean
updatedAt?: boolean
lastMessageAt?: boolean
metadata?: boolean
}, ExtArgs["result"]["conversations"]>
export type ConversationsSelectUpdateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
subject?: boolean
status?: boolean
priority?: boolean
category?: boolean
userId?: boolean
adminId?: boolean
createdAt?: boolean
updatedAt?: boolean
lastMessageAt?: boolean
metadata?: boolean
}, ExtArgs["result"]["conversations"]>
export type ConversationsSelectScalar = {
id?: boolean
subject?: boolean
status?: boolean
priority?: boolean
category?: boolean
userId?: boolean
adminId?: boolean
createdAt?: boolean
updatedAt?: boolean
lastMessageAt?: boolean
metadata?: boolean
}
export type ConversationsOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "subject" | "status" | "priority" | "category" | "userId" | "adminId" | "createdAt" | "updatedAt" | "lastMessageAt" | "metadata", ExtArgs["result"]["conversations"]>
export type ConversationsInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
messages?: boolean | Conversations$messagesArgs<ExtArgs>
_count?: boolean | ConversationsCountOutputTypeDefaultArgs<ExtArgs>
}
export type ConversationsIncludeCreateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {}
export type ConversationsIncludeUpdateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {}
export type $ConversationsPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
name: "Conversations"
objects: {
messages: Prisma.$MessagesPayload<ExtArgs>[]
}
scalars: $Extensions.GetPayloadResult<{
id: string
subject: string | null
status: $Enums.ConversationStatus
priority: $Enums.Priority
category: string | null
userId: string
adminId: string | null
createdAt: Date
updatedAt: Date
lastMessageAt: Date | null
metadata: Prisma.JsonValue | null
}, ExtArgs["result"]["conversations"]>
composites: {}
}
type ConversationsGetPayload<S extends boolean | null | undefined | ConversationsDefaultArgs> = $Result.GetResult<Prisma.$ConversationsPayload, S>
type ConversationsCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
Omit<ConversationsFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
select?: ConversationsCountAggregateInputType | true
}
export interface ConversationsDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
[K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['Conversations'], meta: { name: 'Conversations' } }
/**
* Find zero or one Conversations that matches the filter.
* @param {ConversationsFindUniqueArgs} args - Arguments to find a Conversations
* @example
* // Get one Conversations
* const conversations = await prisma.conversations.findUnique({
* where: {
* // ... provide filter here
* }
* })
*/
findUnique<T extends ConversationsFindUniqueArgs>(args: SelectSubset<T, ConversationsFindUniqueArgs<ExtArgs>>): Prisma__ConversationsClient<$Result.GetResult<Prisma.$ConversationsPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
/**
* Find one Conversations that matches the filter or throw an error with `error.code='P2025'`
* if no matches were found.
* @param {ConversationsFindUniqueOrThrowArgs} args - Arguments to find a Conversations
* @example
* // Get one Conversations
* const conversations = await prisma.conversations.findUniqueOrThrow({
* where: {
* // ... provide filter here
* }
* })
*/
findUniqueOrThrow<T extends ConversationsFindUniqueOrThrowArgs>(args: SelectSubset<T, ConversationsFindUniqueOrThrowArgs<ExtArgs>>): Prisma__ConversationsClient<$Result.GetResult<Prisma.$ConversationsPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Find the first Conversations that matches the filter.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationsFindFirstArgs} args - Arguments to find a Conversations
* @example
* // Get one Conversations
* const conversations = await prisma.conversations.findFirst({
* where: {
* // ... provide filter here
* }
* })
*/
findFirst<T extends ConversationsFindFirstArgs>(args?: SelectSubset<T, ConversationsFindFirstArgs<ExtArgs>>): Prisma__ConversationsClient<$Result.GetResult<Prisma.$ConversationsPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
/**
* Find the first Conversations that matches the filter or
* throw `PrismaKnownClientError` with `P2025` code if no matches were found.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationsFindFirstOrThrowArgs} args - Arguments to find a Conversations
* @example
* // Get one Conversations
* const conversations = await prisma.conversations.findFirstOrThrow({
* where: {
* // ... provide filter here
* }
* })
*/
findFirstOrThrow<T extends ConversationsFindFirstOrThrowArgs>(args?: SelectSubset<T, ConversationsFindFirstOrThrowArgs<ExtArgs>>): Prisma__ConversationsClient<$Result.GetResult<Prisma.$ConversationsPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Find zero or more Conversations that matches the filter.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationsFindManyArgs} args - Arguments to filter and select certain fields only.
* @example
* // Get all Conversations
* const conversations = await prisma.conversations.findMany()
*
* // Get first 10 Conversations
* const conversations = await prisma.conversations.findMany({ take: 10 })
*
* // Only select the `id`
* const conversationsWithIdOnly = await prisma.conversations.findMany({ select: { id: true } })
*
*/
findMany<T extends ConversationsFindManyArgs>(args?: SelectSubset<T, ConversationsFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$ConversationsPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>
/**
* Create a Conversations.
* @param {ConversationsCreateArgs} args - Arguments to create a Conversations.
* @example
* // Create one Conversations
* const Conversations = await prisma.conversations.create({
* data: {
* // ... data to create a Conversations
* }
* })
*
*/
create<T extends ConversationsCreateArgs>(args: SelectSubset<T, ConversationsCreateArgs<ExtArgs>>): Prisma__ConversationsClient<$Result.GetResult<Prisma.$ConversationsPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Create many Conversations.
* @param {ConversationsCreateManyArgs} args - Arguments to create many Conversations.
* @example
* // Create many Conversations
* const conversations = await prisma.conversations.createMany({
* data: [
* // ... provide data here
* ]
* })
*
*/
createMany<T extends ConversationsCreateManyArgs>(args?: SelectSubset<T, ConversationsCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Create many Conversations and returns the data saved in the database.
* @param {ConversationsCreateManyAndReturnArgs} args - Arguments to create many Conversations.
* @example
* // Create many Conversations
* const conversations = await prisma.conversations.createManyAndReturn({
* data: [
* // ... provide data here
* ]
* })
*
* // Create many Conversations and only return the `id`
* const conversationsWithIdOnly = await prisma.conversations.createManyAndReturn({
* select: { id: true },
* data: [
* // ... provide data here
* ]
* })
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
*
*/
createManyAndReturn<T extends ConversationsCreateManyAndReturnArgs>(args?: SelectSubset<T, ConversationsCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$ConversationsPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
/**
* Delete a Conversations.
* @param {ConversationsDeleteArgs} args - Arguments to delete one Conversations.
* @example
* // Delete one Conversations
* const Conversations = await prisma.conversations.delete({
* where: {
* // ... filter to delete one Conversations
* }
* })
*
*/
delete<T extends ConversationsDeleteArgs>(args: SelectSubset<T, ConversationsDeleteArgs<ExtArgs>>): Prisma__ConversationsClient<$Result.GetResult<Prisma.$ConversationsPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Update one Conversations.
* @param {ConversationsUpdateArgs} args - Arguments to update one Conversations.
* @example
* // Update one Conversations
* const conversations = await prisma.conversations.update({
* where: {
* // ... provide filter here
* },
* data: {
* // ... provide data here
* }
* })
*
*/
update<T extends ConversationsUpdateArgs>(args: SelectSubset<T, ConversationsUpdateArgs<ExtArgs>>): Prisma__ConversationsClient<$Result.GetResult<Prisma.$ConversationsPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Delete zero or more Conversations.
* @param {ConversationsDeleteManyArgs} args - Arguments to filter Conversations to delete.
* @example
* // Delete a few Conversations
* const { count } = await prisma.conversations.deleteMany({
* where: {
* // ... provide filter here
* }
* })
*
*/
deleteMany<T extends ConversationsDeleteManyArgs>(args?: SelectSubset<T, ConversationsDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Update zero or more Conversations.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationsUpdateManyArgs} args - Arguments to update one or more rows.
* @example
* // Update many Conversations
* const conversations = await prisma.conversations.updateMany({
* where: {
* // ... provide filter here
* },
* data: {
* // ... provide data here
* }
* })
*
*/
updateMany<T extends ConversationsUpdateManyArgs>(args: SelectSubset<T, ConversationsUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Update zero or more Conversations and returns the data updated in the database.
* @param {ConversationsUpdateManyAndReturnArgs} args - Arguments to update many Conversations.
* @example
* // Update many Conversations
* const conversations = await prisma.conversations.updateManyAndReturn({
* where: {
* // ... provide filter here
* },
* data: [
* // ... provide data here
* ]
* })
*
* // Update zero or more Conversations and only return the `id`
* const conversationsWithIdOnly = await prisma.conversations.updateManyAndReturn({
* select: { id: true },
* where: {
* // ... provide filter here
* },
* data: [
* // ... provide data here
* ]
* })
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
*
*/
updateManyAndReturn<T extends ConversationsUpdateManyAndReturnArgs>(args: SelectSubset<T, ConversationsUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$ConversationsPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
/**
* Create or update one Conversations.
* @param {ConversationsUpsertArgs} args - Arguments to update or create a Conversations.
* @example
* // Update or create a Conversations
* const conversations = await prisma.conversations.upsert({
* create: {
* // ... data to create a Conversations
* },
* update: {
* // ... in case it already exists, update
* },
* where: {
* // ... the filter for the Conversations we want to update
* }
* })
*/
upsert<T extends ConversationsUpsertArgs>(args: SelectSubset<T, ConversationsUpsertArgs<ExtArgs>>): Prisma__ConversationsClient<$Result.GetResult<Prisma.$ConversationsPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Count the number of Conversations.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationsCountArgs} args - Arguments to filter Conversations to count.
* @example
* // Count the number of Conversations
* const count = await prisma.conversations.count({
* where: {
* // ... the filter for the Conversations we want to count
* }
* })
**/
count<T extends ConversationsCountArgs>(
args?: Subset<T, ConversationsCountArgs>,
): Prisma.PrismaPromise<
T extends $Utils.Record<'select', any>
? T['select'] extends true
? number
: GetScalarType<T['select'], ConversationsCountAggregateOutputType>
: number
>
/**
* Allows you to perform aggregations operations on a Conversations.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationsAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
* @example
* // Ordered by age ascending
* // Where email contains prisma.io
* // Limited to the 10 users
* const aggregations = await prisma.user.aggregate({
* _avg: {
* age: true,
* },
* where: {
* email: {
* contains: "prisma.io",
* },
* },
* orderBy: {
* age: "asc",
* },
* take: 10,
* })
**/
aggregate<T extends ConversationsAggregateArgs>(args: Subset<T, ConversationsAggregateArgs>): Prisma.PrismaPromise<GetConversationsAggregateType<T>>
/**
* Group by Conversations.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationsGroupByArgs} args - Group by arguments.
* @example
* // Group by city, order by createdAt, get count
* const result = await prisma.user.groupBy({
* by: ['city', 'createdAt'],
* orderBy: {
* createdAt: true
* },
* _count: {
* _all: true
* },
* })
*
**/
groupBy<
T extends ConversationsGroupByArgs,
HasSelectOrTake extends Or<
Extends<'skip', Keys<T>>,
Extends<'take', Keys<T>>
>,
OrderByArg extends True extends HasSelectOrTake
? { orderBy: ConversationsGroupByArgs['orderBy'] }
: { orderBy?: ConversationsGroupByArgs['orderBy'] },
OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
ByFields extends MaybeTupleToUnion<T['by']>,
ByValid extends Has<ByFields, OrderFields>,
HavingFields extends GetHavingFields<T['having']>,
HavingValid extends Has<ByFields, HavingFields>,
ByEmpty extends T['by'] extends never[] ? True : False,
InputErrors extends ByEmpty extends True
? `Error: "by" must not be empty.`
: HavingValid extends False
? {
[P in HavingFields]: P extends ByFields
? never
: P extends string
? `Error: Field "${P}" used in "having" needs to be provided in "by".`
: [
Error,
'Field ',
P,
` in "having" needs to be provided in "by"`,
]
}[HavingFields]
: 'take' extends Keys<T>
? 'orderBy' extends Keys<T>
? ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
: 'Error: If you provide "take", you also need to provide "orderBy"'
: 'skip' extends Keys<T>
? 'orderBy' extends Keys<T>
? ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
: 'Error: If you provide "skip", you also need to provide "orderBy"'
: ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
>(args: SubsetIntersection<T, ConversationsGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetConversationsGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
/**
* Fields of the Conversations model
*/
readonly fields: ConversationsFieldRefs;
}
/**
* The delegate class that acts as a "Promise-like" for Conversations.
* Why is this prefixed with `Prisma__`?
* Because we want to prevent naming conflicts as mentioned in
* https://github.com/prisma/prisma-client-js/issues/707
*/
export interface Prisma__ConversationsClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
readonly [Symbol.toStringTag]: "PrismaPromise"
messages<T extends Conversations$messagesArgs<ExtArgs> = {}>(args?: Subset<T, Conversations$messagesArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$MessagesPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
/**
* Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of which ever callback is executed.
*/
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
/**
* Attaches a callback for only the rejection of the Promise.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of the callback.
*/
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
/**
* Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
* resolved value cannot be modified from the callback.
* @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
* @returns A Promise for the completion of the callback.
*/
finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise<T>
}
/**
* Fields of the Conversations model
*/
interface ConversationsFieldRefs {
readonly id: FieldRef<"Conversations", 'String'>
readonly subject: FieldRef<"Conversations", 'String'>
readonly status: FieldRef<"Conversations", 'ConversationStatus'>
readonly priority: FieldRef<"Conversations", 'Priority'>
readonly category: FieldRef<"Conversations", 'String'>
readonly userId: FieldRef<"Conversations", 'String'>
readonly adminId: FieldRef<"Conversations", 'String'>
readonly createdAt: FieldRef<"Conversations", 'DateTime'>
readonly updatedAt: FieldRef<"Conversations", 'DateTime'>
readonly lastMessageAt: FieldRef<"Conversations", 'DateTime'>
readonly metadata: FieldRef<"Conversations", 'Json'>
}
// Custom InputTypes
/**
* Conversations findUnique
*/
export type ConversationsFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Conversations
*/
select?: ConversationsSelect<ExtArgs> | null
/**
* Omit specific fields from the Conversations
*/
omit?: ConversationsOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: ConversationsInclude<ExtArgs> | null
/**
* Filter, which Conversations to fetch.
*/
where: ConversationsWhereUniqueInput
}
/**
* Conversations findUniqueOrThrow
*/
export type ConversationsFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Conversations
*/
select?: ConversationsSelect<ExtArgs> | null
/**
* Omit specific fields from the Conversations
*/
omit?: ConversationsOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: ConversationsInclude<ExtArgs> | null
/**
* Filter, which Conversations to fetch.
*/
where: ConversationsWhereUniqueInput
}
/**
* Conversations findFirst
*/
export type ConversationsFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Conversations
*/
select?: ConversationsSelect<ExtArgs> | null
/**
* Omit specific fields from the Conversations
*/
omit?: ConversationsOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: ConversationsInclude<ExtArgs> | null
/**
* Filter, which Conversations to fetch.
*/
where?: ConversationsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of Conversations to fetch.
*/
orderBy?: ConversationsOrderByWithRelationInput | ConversationsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for searching for Conversations.
*/
cursor?: ConversationsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` Conversations from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` Conversations.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
*
* Filter by unique combinations of Conversations.
*/
distinct?: ConversationsScalarFieldEnum | ConversationsScalarFieldEnum[]
}
/**
* Conversations findFirstOrThrow
*/
export type ConversationsFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Conversations
*/
select?: ConversationsSelect<ExtArgs> | null
/**
* Omit specific fields from the Conversations
*/
omit?: ConversationsOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: ConversationsInclude<ExtArgs> | null
/**
* Filter, which Conversations to fetch.
*/
where?: ConversationsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of Conversations to fetch.
*/
orderBy?: ConversationsOrderByWithRelationInput | ConversationsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for searching for Conversations.
*/
cursor?: ConversationsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` Conversations from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` Conversations.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
*
* Filter by unique combinations of Conversations.
*/
distinct?: ConversationsScalarFieldEnum | ConversationsScalarFieldEnum[]
}
/**
* Conversations findMany
*/
export type ConversationsFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Conversations
*/
select?: ConversationsSelect<ExtArgs> | null
/**
* Omit specific fields from the Conversations
*/
omit?: ConversationsOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: ConversationsInclude<ExtArgs> | null
/**
* Filter, which Conversations to fetch.
*/
where?: ConversationsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of Conversations to fetch.
*/
orderBy?: ConversationsOrderByWithRelationInput | ConversationsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for listing Conversations.
*/
cursor?: ConversationsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` Conversations from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` Conversations.
*/
skip?: number
distinct?: ConversationsScalarFieldEnum | ConversationsScalarFieldEnum[]
}
/**
* Conversations create
*/
export type ConversationsCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Conversations
*/
select?: ConversationsSelect<ExtArgs> | null
/**
* Omit specific fields from the Conversations
*/
omit?: ConversationsOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: ConversationsInclude<ExtArgs> | null
/**
* The data needed to create a Conversations.
*/
data: XOR<ConversationsCreateInput, ConversationsUncheckedCreateInput>
}
/**
* Conversations createMany
*/
export type ConversationsCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* The data used to create many Conversations.
*/
data: ConversationsCreateManyInput | ConversationsCreateManyInput[]
skipDuplicates?: boolean
}
/**
* Conversations createManyAndReturn
*/
export type ConversationsCreateManyAndReturnArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Conversations
*/
select?: ConversationsSelectCreateManyAndReturn<ExtArgs> | null
/**
* Omit specific fields from the Conversations
*/
omit?: ConversationsOmit<ExtArgs> | null
/**
* The data used to create many Conversations.
*/
data: ConversationsCreateManyInput | ConversationsCreateManyInput[]
skipDuplicates?: boolean
}
/**
* Conversations update
*/
export type ConversationsUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Conversations
*/
select?: ConversationsSelect<ExtArgs> | null
/**
* Omit specific fields from the Conversations
*/
omit?: ConversationsOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: ConversationsInclude<ExtArgs> | null
/**
* The data needed to update a Conversations.
*/
data: XOR<ConversationsUpdateInput, ConversationsUncheckedUpdateInput>
/**
* Choose, which Conversations to update.
*/
where: ConversationsWhereUniqueInput
}
/**
* Conversations updateMany
*/
export type ConversationsUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* The data used to update Conversations.
*/
data: XOR<ConversationsUpdateManyMutationInput, ConversationsUncheckedUpdateManyInput>
/**
* Filter which Conversations to update
*/
where?: ConversationsWhereInput
/**
* Limit how many Conversations to update.
*/
limit?: number
}
/**
* Conversations updateManyAndReturn
*/
export type ConversationsUpdateManyAndReturnArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Conversations
*/
select?: ConversationsSelectUpdateManyAndReturn<ExtArgs> | null
/**
* Omit specific fields from the Conversations
*/
omit?: ConversationsOmit<ExtArgs> | null
/**
* The data used to update Conversations.
*/
data: XOR<ConversationsUpdateManyMutationInput, ConversationsUncheckedUpdateManyInput>
/**
* Filter which Conversations to update
*/
where?: ConversationsWhereInput
/**
* Limit how many Conversations to update.
*/
limit?: number
}
/**
* Conversations upsert
*/
export type ConversationsUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Conversations
*/
select?: ConversationsSelect<ExtArgs> | null
/**
* Omit specific fields from the Conversations
*/
omit?: ConversationsOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: ConversationsInclude<ExtArgs> | null
/**
* The filter to search for the Conversations to update in case it exists.
*/
where: ConversationsWhereUniqueInput
/**
* In case the Conversations found by the `where` argument doesn't exist, create a new Conversations with this data.
*/
create: XOR<ConversationsCreateInput, ConversationsUncheckedCreateInput>
/**
* In case the Conversations was found with the provided `where` argument, update it with this data.
*/
update: XOR<ConversationsUpdateInput, ConversationsUncheckedUpdateInput>
}
/**
* Conversations delete
*/
export type ConversationsDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Conversations
*/
select?: ConversationsSelect<ExtArgs> | null
/**
* Omit specific fields from the Conversations
*/
omit?: ConversationsOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: ConversationsInclude<ExtArgs> | null
/**
* Filter which Conversations to delete.
*/
where: ConversationsWhereUniqueInput
}
/**
* Conversations deleteMany
*/
export type ConversationsDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Filter which Conversations to delete
*/
where?: ConversationsWhereInput
/**
* Limit how many Conversations to delete.
*/
limit?: number
}
/**
* Conversations.messages
*/
export type Conversations$messagesArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Messages
*/
select?: MessagesSelect<ExtArgs> | null
/**
* Omit specific fields from the Messages
*/
omit?: MessagesOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: MessagesInclude<ExtArgs> | null
where?: MessagesWhereInput
orderBy?: MessagesOrderByWithRelationInput | MessagesOrderByWithRelationInput[]
cursor?: MessagesWhereUniqueInput
take?: number
skip?: number
distinct?: MessagesScalarFieldEnum | MessagesScalarFieldEnum[]
}
/**
* Conversations without action
*/
export type ConversationsDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Conversations
*/
select?: ConversationsSelect<ExtArgs> | null
/**
* Omit specific fields from the Conversations
*/
omit?: ConversationsOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: ConversationsInclude<ExtArgs> | null
}
/**
* Model Messages
*/
export type AggregateMessages = {
_count: MessagesCountAggregateOutputType | null
_min: MessagesMinAggregateOutputType | null
_max: MessagesMaxAggregateOutputType | null
}
export type MessagesMinAggregateOutputType = {
id: string | null
conversationId: string | null
content: string | null
messageType: $Enums.MessageType | null
senderId: string | null
senderType: $Enums.SenderType | null
senderName: string | null
status: $Enums.MessageStatus | null
readAt: Date | null
deliveredAt: Date | null
createdAt: Date | null
updatedAt: Date | null
}
export type MessagesMaxAggregateOutputType = {
id: string | null
conversationId: string | null
content: string | null
messageType: $Enums.MessageType | null
senderId: string | null
senderType: $Enums.SenderType | null
senderName: string | null
status: $Enums.MessageStatus | null
readAt: Date | null
deliveredAt: Date | null
createdAt: Date | null
updatedAt: Date | null
}
export type MessagesCountAggregateOutputType = {
id: number
conversationId: number
content: number
messageType: number
senderId: number
senderType: number
senderName: number
status: number
readAt: number
deliveredAt: number
metadata: number
createdAt: number
updatedAt: number
_all: number
}
export type MessagesMinAggregateInputType = {
id?: true
conversationId?: true
content?: true
messageType?: true
senderId?: true
senderType?: true
senderName?: true
status?: true
readAt?: true
deliveredAt?: true
createdAt?: true
updatedAt?: true
}
export type MessagesMaxAggregateInputType = {
id?: true
conversationId?: true
content?: true
messageType?: true
senderId?: true
senderType?: true
senderName?: true
status?: true
readAt?: true
deliveredAt?: true
createdAt?: true
updatedAt?: true
}
export type MessagesCountAggregateInputType = {
id?: true
conversationId?: true
content?: true
messageType?: true
senderId?: true
senderType?: true
senderName?: true
status?: true
readAt?: true
deliveredAt?: true
metadata?: true
createdAt?: true
updatedAt?: true
_all?: true
}
export type MessagesAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Filter which Messages to aggregate.
*/
where?: MessagesWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of Messages to fetch.
*/
orderBy?: MessagesOrderByWithRelationInput | MessagesOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the start position
*/
cursor?: MessagesWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` Messages from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` Messages.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Count returned Messages
**/
_count?: true | MessagesCountAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to find the minimum value
**/
_min?: MessagesMinAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to find the maximum value
**/
_max?: MessagesMaxAggregateInputType
}
export type GetMessagesAggregateType<T extends MessagesAggregateArgs> = {
[P in keyof T & keyof AggregateMessages]: P extends '_count' | 'count'
? T[P] extends true
? number
: GetScalarType<T[P], AggregateMessages[P]>
: GetScalarType<T[P], AggregateMessages[P]>
}
export type MessagesGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
where?: MessagesWhereInput
orderBy?: MessagesOrderByWithAggregationInput | MessagesOrderByWithAggregationInput[]
by: MessagesScalarFieldEnum[] | MessagesScalarFieldEnum
having?: MessagesScalarWhereWithAggregatesInput
take?: number
skip?: number
_count?: MessagesCountAggregateInputType | true
_min?: MessagesMinAggregateInputType
_max?: MessagesMaxAggregateInputType
}
export type MessagesGroupByOutputType = {
id: string
conversationId: string
content: string
messageType: $Enums.MessageType
senderId: string
senderType: $Enums.SenderType
senderName: string | null
status: $Enums.MessageStatus
readAt: Date | null
deliveredAt: Date | null
metadata: JsonValue | null
createdAt: Date
updatedAt: Date
_count: MessagesCountAggregateOutputType | null
_min: MessagesMinAggregateOutputType | null
_max: MessagesMaxAggregateOutputType | null
}
type GetMessagesGroupByPayload<T extends MessagesGroupByArgs> = Prisma.PrismaPromise<
Array<
PickEnumerable<MessagesGroupByOutputType, T['by']> &
{
[P in ((keyof T) & (keyof MessagesGroupByOutputType))]: P extends '_count'
? T[P] extends boolean
? number
: GetScalarType<T[P], MessagesGroupByOutputType[P]>
: GetScalarType<T[P], MessagesGroupByOutputType[P]>
}
>
>
export type MessagesSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
conversationId?: boolean
content?: boolean
messageType?: boolean
senderId?: boolean
senderType?: boolean
senderName?: boolean
status?: boolean
readAt?: boolean
deliveredAt?: boolean
metadata?: boolean
createdAt?: boolean
updatedAt?: boolean
conversation?: boolean | ConversationsDefaultArgs<ExtArgs>
}, ExtArgs["result"]["messages"]>
export type MessagesSelectCreateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
conversationId?: boolean
content?: boolean
messageType?: boolean
senderId?: boolean
senderType?: boolean
senderName?: boolean
status?: boolean
readAt?: boolean
deliveredAt?: boolean
metadata?: boolean
createdAt?: boolean
updatedAt?: boolean
conversation?: boolean | ConversationsDefaultArgs<ExtArgs>
}, ExtArgs["result"]["messages"]>
export type MessagesSelectUpdateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
conversationId?: boolean
content?: boolean
messageType?: boolean
senderId?: boolean
senderType?: boolean
senderName?: boolean
status?: boolean
readAt?: boolean
deliveredAt?: boolean
metadata?: boolean
createdAt?: boolean
updatedAt?: boolean
conversation?: boolean | ConversationsDefaultArgs<ExtArgs>
}, ExtArgs["result"]["messages"]>
export type MessagesSelectScalar = {
id?: boolean
conversationId?: boolean
content?: boolean
messageType?: boolean
senderId?: boolean
senderType?: boolean
senderName?: boolean
status?: boolean
readAt?: boolean
deliveredAt?: boolean
metadata?: boolean
createdAt?: boolean
updatedAt?: boolean
}
export type MessagesOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "conversationId" | "content" | "messageType" | "senderId" | "senderType" | "senderName" | "status" | "readAt" | "deliveredAt" | "metadata" | "createdAt" | "updatedAt", ExtArgs["result"]["messages"]>
export type MessagesInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
conversation?: boolean | ConversationsDefaultArgs<ExtArgs>
}
export type MessagesIncludeCreateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
conversation?: boolean | ConversationsDefaultArgs<ExtArgs>
}
export type MessagesIncludeUpdateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
conversation?: boolean | ConversationsDefaultArgs<ExtArgs>
}
export type $MessagesPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
name: "Messages"
objects: {
conversation: Prisma.$ConversationsPayload<ExtArgs>
}
scalars: $Extensions.GetPayloadResult<{
id: string
conversationId: string
content: string
messageType: $Enums.MessageType
senderId: string
senderType: $Enums.SenderType
senderName: string | null
status: $Enums.MessageStatus
readAt: Date | null
deliveredAt: Date | null
metadata: Prisma.JsonValue | null
createdAt: Date
updatedAt: Date
}, ExtArgs["result"]["messages"]>
composites: {}
}
type MessagesGetPayload<S extends boolean | null | undefined | MessagesDefaultArgs> = $Result.GetResult<Prisma.$MessagesPayload, S>
type MessagesCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
Omit<MessagesFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
select?: MessagesCountAggregateInputType | true
}
export interface MessagesDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
[K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['Messages'], meta: { name: 'Messages' } }
/**
* Find zero or one Messages that matches the filter.
* @param {MessagesFindUniqueArgs} args - Arguments to find a Messages
* @example
* // Get one Messages
* const messages = await prisma.messages.findUnique({
* where: {
* // ... provide filter here
* }
* })
*/
findUnique<T extends MessagesFindUniqueArgs>(args: SelectSubset<T, MessagesFindUniqueArgs<ExtArgs>>): Prisma__MessagesClient<$Result.GetResult<Prisma.$MessagesPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
/**
* Find one Messages that matches the filter or throw an error with `error.code='P2025'`
* if no matches were found.
* @param {MessagesFindUniqueOrThrowArgs} args - Arguments to find a Messages
* @example
* // Get one Messages
* const messages = await prisma.messages.findUniqueOrThrow({
* where: {
* // ... provide filter here
* }
* })
*/
findUniqueOrThrow<T extends MessagesFindUniqueOrThrowArgs>(args: SelectSubset<T, MessagesFindUniqueOrThrowArgs<ExtArgs>>): Prisma__MessagesClient<$Result.GetResult<Prisma.$MessagesPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Find the first Messages that matches the filter.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessagesFindFirstArgs} args - Arguments to find a Messages
* @example
* // Get one Messages
* const messages = await prisma.messages.findFirst({
* where: {
* // ... provide filter here
* }
* })
*/
findFirst<T extends MessagesFindFirstArgs>(args?: SelectSubset<T, MessagesFindFirstArgs<ExtArgs>>): Prisma__MessagesClient<$Result.GetResult<Prisma.$MessagesPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
/**
* Find the first Messages that matches the filter or
* throw `PrismaKnownClientError` with `P2025` code if no matches were found.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessagesFindFirstOrThrowArgs} args - Arguments to find a Messages
* @example
* // Get one Messages
* const messages = await prisma.messages.findFirstOrThrow({
* where: {
* // ... provide filter here
* }
* })
*/
findFirstOrThrow<T extends MessagesFindFirstOrThrowArgs>(args?: SelectSubset<T, MessagesFindFirstOrThrowArgs<ExtArgs>>): Prisma__MessagesClient<$Result.GetResult<Prisma.$MessagesPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Find zero or more Messages that matches the filter.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessagesFindManyArgs} args - Arguments to filter and select certain fields only.
* @example
* // Get all Messages
* const messages = await prisma.messages.findMany()
*
* // Get first 10 Messages
* const messages = await prisma.messages.findMany({ take: 10 })
*
* // Only select the `id`
* const messagesWithIdOnly = await prisma.messages.findMany({ select: { id: true } })
*
*/
findMany<T extends MessagesFindManyArgs>(args?: SelectSubset<T, MessagesFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$MessagesPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>
/**
* Create a Messages.
* @param {MessagesCreateArgs} args - Arguments to create a Messages.
* @example
* // Create one Messages
* const Messages = await prisma.messages.create({
* data: {
* // ... data to create a Messages
* }
* })
*
*/
create<T extends MessagesCreateArgs>(args: SelectSubset<T, MessagesCreateArgs<ExtArgs>>): Prisma__MessagesClient<$Result.GetResult<Prisma.$MessagesPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Create many Messages.
* @param {MessagesCreateManyArgs} args - Arguments to create many Messages.
* @example
* // Create many Messages
* const messages = await prisma.messages.createMany({
* data: [
* // ... provide data here
* ]
* })
*
*/
createMany<T extends MessagesCreateManyArgs>(args?: SelectSubset<T, MessagesCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Create many Messages and returns the data saved in the database.
* @param {MessagesCreateManyAndReturnArgs} args - Arguments to create many Messages.
* @example
* // Create many Messages
* const messages = await prisma.messages.createManyAndReturn({
* data: [
* // ... provide data here
* ]
* })
*
* // Create many Messages and only return the `id`
* const messagesWithIdOnly = await prisma.messages.createManyAndReturn({
* select: { id: true },
* data: [
* // ... provide data here
* ]
* })
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
*
*/
createManyAndReturn<T extends MessagesCreateManyAndReturnArgs>(args?: SelectSubset<T, MessagesCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$MessagesPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
/**
* Delete a Messages.
* @param {MessagesDeleteArgs} args - Arguments to delete one Messages.
* @example
* // Delete one Messages
* const Messages = await prisma.messages.delete({
* where: {
* // ... filter to delete one Messages
* }
* })
*
*/
delete<T extends MessagesDeleteArgs>(args: SelectSubset<T, MessagesDeleteArgs<ExtArgs>>): Prisma__MessagesClient<$Result.GetResult<Prisma.$MessagesPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Update one Messages.
* @param {MessagesUpdateArgs} args - Arguments to update one Messages.
* @example
* // Update one Messages
* const messages = await prisma.messages.update({
* where: {
* // ... provide filter here
* },
* data: {
* // ... provide data here
* }
* })
*
*/
update<T extends MessagesUpdateArgs>(args: SelectSubset<T, MessagesUpdateArgs<ExtArgs>>): Prisma__MessagesClient<$Result.GetResult<Prisma.$MessagesPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Delete zero or more Messages.
* @param {MessagesDeleteManyArgs} args - Arguments to filter Messages to delete.
* @example
* // Delete a few Messages
* const { count } = await prisma.messages.deleteMany({
* where: {
* // ... provide filter here
* }
* })
*
*/
deleteMany<T extends MessagesDeleteManyArgs>(args?: SelectSubset<T, MessagesDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Update zero or more Messages.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessagesUpdateManyArgs} args - Arguments to update one or more rows.
* @example
* // Update many Messages
* const messages = await prisma.messages.updateMany({
* where: {
* // ... provide filter here
* },
* data: {
* // ... provide data here
* }
* })
*
*/
updateMany<T extends MessagesUpdateManyArgs>(args: SelectSubset<T, MessagesUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Update zero or more Messages and returns the data updated in the database.
* @param {MessagesUpdateManyAndReturnArgs} args - Arguments to update many Messages.
* @example
* // Update many Messages
* const messages = await prisma.messages.updateManyAndReturn({
* where: {
* // ... provide filter here
* },
* data: [
* // ... provide data here
* ]
* })
*
* // Update zero or more Messages and only return the `id`
* const messagesWithIdOnly = await prisma.messages.updateManyAndReturn({
* select: { id: true },
* where: {
* // ... provide filter here
* },
* data: [
* // ... provide data here
* ]
* })
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
*
*/
updateManyAndReturn<T extends MessagesUpdateManyAndReturnArgs>(args: SelectSubset<T, MessagesUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$MessagesPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
/**
* Create or update one Messages.
* @param {MessagesUpsertArgs} args - Arguments to update or create a Messages.
* @example
* // Update or create a Messages
* const messages = await prisma.messages.upsert({
* create: {
* // ... data to create a Messages
* },
* update: {
* // ... in case it already exists, update
* },
* where: {
* // ... the filter for the Messages we want to update
* }
* })
*/
upsert<T extends MessagesUpsertArgs>(args: SelectSubset<T, MessagesUpsertArgs<ExtArgs>>): Prisma__MessagesClient<$Result.GetResult<Prisma.$MessagesPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Count the number of Messages.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessagesCountArgs} args - Arguments to filter Messages to count.
* @example
* // Count the number of Messages
* const count = await prisma.messages.count({
* where: {
* // ... the filter for the Messages we want to count
* }
* })
**/
count<T extends MessagesCountArgs>(
args?: Subset<T, MessagesCountArgs>,
): Prisma.PrismaPromise<
T extends $Utils.Record<'select', any>
? T['select'] extends true
? number
: GetScalarType<T['select'], MessagesCountAggregateOutputType>
: number
>
/**
* Allows you to perform aggregations operations on a Messages.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessagesAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
* @example
* // Ordered by age ascending
* // Where email contains prisma.io
* // Limited to the 10 users
* const aggregations = await prisma.user.aggregate({
* _avg: {
* age: true,
* },
* where: {
* email: {
* contains: "prisma.io",
* },
* },
* orderBy: {
* age: "asc",
* },
* take: 10,
* })
**/
aggregate<T extends MessagesAggregateArgs>(args: Subset<T, MessagesAggregateArgs>): Prisma.PrismaPromise<GetMessagesAggregateType<T>>
/**
* Group by Messages.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessagesGroupByArgs} args - Group by arguments.
* @example
* // Group by city, order by createdAt, get count
* const result = await prisma.user.groupBy({
* by: ['city', 'createdAt'],
* orderBy: {
* createdAt: true
* },
* _count: {
* _all: true
* },
* })
*
**/
groupBy<
T extends MessagesGroupByArgs,
HasSelectOrTake extends Or<
Extends<'skip', Keys<T>>,
Extends<'take', Keys<T>>
>,
OrderByArg extends True extends HasSelectOrTake
? { orderBy: MessagesGroupByArgs['orderBy'] }
: { orderBy?: MessagesGroupByArgs['orderBy'] },
OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
ByFields extends MaybeTupleToUnion<T['by']>,
ByValid extends Has<ByFields, OrderFields>,
HavingFields extends GetHavingFields<T['having']>,
HavingValid extends Has<ByFields, HavingFields>,
ByEmpty extends T['by'] extends never[] ? True : False,
InputErrors extends ByEmpty extends True
? `Error: "by" must not be empty.`
: HavingValid extends False
? {
[P in HavingFields]: P extends ByFields
? never
: P extends string
? `Error: Field "${P}" used in "having" needs to be provided in "by".`
: [
Error,
'Field ',
P,
` in "having" needs to be provided in "by"`,
]
}[HavingFields]
: 'take' extends Keys<T>
? 'orderBy' extends Keys<T>
? ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
: 'Error: If you provide "take", you also need to provide "orderBy"'
: 'skip' extends Keys<T>
? 'orderBy' extends Keys<T>
? ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
: 'Error: If you provide "skip", you also need to provide "orderBy"'
: ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
>(args: SubsetIntersection<T, MessagesGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetMessagesGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
/**
* Fields of the Messages model
*/
readonly fields: MessagesFieldRefs;
}
/**
* The delegate class that acts as a "Promise-like" for Messages.
* Why is this prefixed with `Prisma__`?
* Because we want to prevent naming conflicts as mentioned in
* https://github.com/prisma/prisma-client-js/issues/707
*/
export interface Prisma__MessagesClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
readonly [Symbol.toStringTag]: "PrismaPromise"
conversation<T extends ConversationsDefaultArgs<ExtArgs> = {}>(args?: Subset<T, ConversationsDefaultArgs<ExtArgs>>): Prisma__ConversationsClient<$Result.GetResult<Prisma.$ConversationsPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>
/**
* Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of which ever callback is executed.
*/
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
/**
* Attaches a callback for only the rejection of the Promise.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of the callback.
*/
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
/**
* Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
* resolved value cannot be modified from the callback.
* @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
* @returns A Promise for the completion of the callback.
*/
finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise<T>
}
/**
* Fields of the Messages model
*/
interface MessagesFieldRefs {
readonly id: FieldRef<"Messages", 'String'>
readonly conversationId: FieldRef<"Messages", 'String'>
readonly content: FieldRef<"Messages", 'String'>
readonly messageType: FieldRef<"Messages", 'MessageType'>
readonly senderId: FieldRef<"Messages", 'String'>
readonly senderType: FieldRef<"Messages", 'SenderType'>
readonly senderName: FieldRef<"Messages", 'String'>
readonly status: FieldRef<"Messages", 'MessageStatus'>
readonly readAt: FieldRef<"Messages", 'DateTime'>
readonly deliveredAt: FieldRef<"Messages", 'DateTime'>
readonly metadata: FieldRef<"Messages", 'Json'>
readonly createdAt: FieldRef<"Messages", 'DateTime'>
readonly updatedAt: FieldRef<"Messages", 'DateTime'>
}
// Custom InputTypes
/**
* Messages findUnique
*/
export type MessagesFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Messages
*/
select?: MessagesSelect<ExtArgs> | null
/**
* Omit specific fields from the Messages
*/
omit?: MessagesOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: MessagesInclude<ExtArgs> | null
/**
* Filter, which Messages to fetch.
*/
where: MessagesWhereUniqueInput
}
/**
* Messages findUniqueOrThrow
*/
export type MessagesFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Messages
*/
select?: MessagesSelect<ExtArgs> | null
/**
* Omit specific fields from the Messages
*/
omit?: MessagesOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: MessagesInclude<ExtArgs> | null
/**
* Filter, which Messages to fetch.
*/
where: MessagesWhereUniqueInput
}
/**
* Messages findFirst
*/
export type MessagesFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Messages
*/
select?: MessagesSelect<ExtArgs> | null
/**
* Omit specific fields from the Messages
*/
omit?: MessagesOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: MessagesInclude<ExtArgs> | null
/**
* Filter, which Messages to fetch.
*/
where?: MessagesWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of Messages to fetch.
*/
orderBy?: MessagesOrderByWithRelationInput | MessagesOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for searching for Messages.
*/
cursor?: MessagesWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` Messages from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` Messages.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
*
* Filter by unique combinations of Messages.
*/
distinct?: MessagesScalarFieldEnum | MessagesScalarFieldEnum[]
}
/**
* Messages findFirstOrThrow
*/
export type MessagesFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Messages
*/
select?: MessagesSelect<ExtArgs> | null
/**
* Omit specific fields from the Messages
*/
omit?: MessagesOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: MessagesInclude<ExtArgs> | null
/**
* Filter, which Messages to fetch.
*/
where?: MessagesWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of Messages to fetch.
*/
orderBy?: MessagesOrderByWithRelationInput | MessagesOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for searching for Messages.
*/
cursor?: MessagesWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` Messages from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` Messages.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
*
* Filter by unique combinations of Messages.
*/
distinct?: MessagesScalarFieldEnum | MessagesScalarFieldEnum[]
}
/**
* Messages findMany
*/
export type MessagesFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Messages
*/
select?: MessagesSelect<ExtArgs> | null
/**
* Omit specific fields from the Messages
*/
omit?: MessagesOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: MessagesInclude<ExtArgs> | null
/**
* Filter, which Messages to fetch.
*/
where?: MessagesWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of Messages to fetch.
*/
orderBy?: MessagesOrderByWithRelationInput | MessagesOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for listing Messages.
*/
cursor?: MessagesWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` Messages from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` Messages.
*/
skip?: number
distinct?: MessagesScalarFieldEnum | MessagesScalarFieldEnum[]
}
/**
* Messages create
*/
export type MessagesCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Messages
*/
select?: MessagesSelect<ExtArgs> | null
/**
* Omit specific fields from the Messages
*/
omit?: MessagesOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: MessagesInclude<ExtArgs> | null
/**
* The data needed to create a Messages.
*/
data: XOR<MessagesCreateInput, MessagesUncheckedCreateInput>
}
/**
* Messages createMany
*/
export type MessagesCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* The data used to create many Messages.
*/
data: MessagesCreateManyInput | MessagesCreateManyInput[]
skipDuplicates?: boolean
}
/**
* Messages createManyAndReturn
*/
export type MessagesCreateManyAndReturnArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Messages
*/
select?: MessagesSelectCreateManyAndReturn<ExtArgs> | null
/**
* Omit specific fields from the Messages
*/
omit?: MessagesOmit<ExtArgs> | null
/**
* The data used to create many Messages.
*/
data: MessagesCreateManyInput | MessagesCreateManyInput[]
skipDuplicates?: boolean
/**
* Choose, which related nodes to fetch as well
*/
include?: MessagesIncludeCreateManyAndReturn<ExtArgs> | null
}
/**
* Messages update
*/
export type MessagesUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Messages
*/
select?: MessagesSelect<ExtArgs> | null
/**
* Omit specific fields from the Messages
*/
omit?: MessagesOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: MessagesInclude<ExtArgs> | null
/**
* The data needed to update a Messages.
*/
data: XOR<MessagesUpdateInput, MessagesUncheckedUpdateInput>
/**
* Choose, which Messages to update.
*/
where: MessagesWhereUniqueInput
}
/**
* Messages updateMany
*/
export type MessagesUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* The data used to update Messages.
*/
data: XOR<MessagesUpdateManyMutationInput, MessagesUncheckedUpdateManyInput>
/**
* Filter which Messages to update
*/
where?: MessagesWhereInput
/**
* Limit how many Messages to update.
*/
limit?: number
}
/**
* Messages updateManyAndReturn
*/
export type MessagesUpdateManyAndReturnArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Messages
*/
select?: MessagesSelectUpdateManyAndReturn<ExtArgs> | null
/**
* Omit specific fields from the Messages
*/
omit?: MessagesOmit<ExtArgs> | null
/**
* The data used to update Messages.
*/
data: XOR<MessagesUpdateManyMutationInput, MessagesUncheckedUpdateManyInput>
/**
* Filter which Messages to update
*/
where?: MessagesWhereInput
/**
* Limit how many Messages to update.
*/
limit?: number
/**
* Choose, which related nodes to fetch as well
*/
include?: MessagesIncludeUpdateManyAndReturn<ExtArgs> | null
}
/**
* Messages upsert
*/
export type MessagesUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Messages
*/
select?: MessagesSelect<ExtArgs> | null
/**
* Omit specific fields from the Messages
*/
omit?: MessagesOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: MessagesInclude<ExtArgs> | null
/**
* The filter to search for the Messages to update in case it exists.
*/
where: MessagesWhereUniqueInput
/**
* In case the Messages found by the `where` argument doesn't exist, create a new Messages with this data.
*/
create: XOR<MessagesCreateInput, MessagesUncheckedCreateInput>
/**
* In case the Messages was found with the provided `where` argument, update it with this data.
*/
update: XOR<MessagesUpdateInput, MessagesUncheckedUpdateInput>
}
/**
* Messages delete
*/
export type MessagesDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Messages
*/
select?: MessagesSelect<ExtArgs> | null
/**
* Omit specific fields from the Messages
*/
omit?: MessagesOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: MessagesInclude<ExtArgs> | null
/**
* Filter which Messages to delete.
*/
where: MessagesWhereUniqueInput
}
/**
* Messages deleteMany
*/
export type MessagesDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Filter which Messages to delete
*/
where?: MessagesWhereInput
/**
* Limit how many Messages to delete.
*/
limit?: number
}
/**
* Messages without action
*/
export type MessagesDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the Messages
*/
select?: MessagesSelect<ExtArgs> | null
/**
* Omit specific fields from the Messages
*/
omit?: MessagesOmit<ExtArgs> | null
/**
* Choose, which related nodes to fetch as well
*/
include?: MessagesInclude<ExtArgs> | null
}
/**
* Model MessageAttachments
*/
export type AggregateMessageAttachments = {
_count: MessageAttachmentsCountAggregateOutputType | null
_avg: MessageAttachmentsAvgAggregateOutputType | null
_sum: MessageAttachmentsSumAggregateOutputType | null
_min: MessageAttachmentsMinAggregateOutputType | null
_max: MessageAttachmentsMaxAggregateOutputType | null
}
export type MessageAttachmentsAvgAggregateOutputType = {
fileSize: number | null
}
export type MessageAttachmentsSumAggregateOutputType = {
fileSize: number | null
}
export type MessageAttachmentsMinAggregateOutputType = {
id: string | null
messageId: string | null
fileName: string | null
fileSize: number | null
mimeType: string | null
fileUrl: string | null
thumbnailUrl: string | null
createdAt: Date | null
}
export type MessageAttachmentsMaxAggregateOutputType = {
id: string | null
messageId: string | null
fileName: string | null
fileSize: number | null
mimeType: string | null
fileUrl: string | null
thumbnailUrl: string | null
createdAt: Date | null
}
export type MessageAttachmentsCountAggregateOutputType = {
id: number
messageId: number
fileName: number
fileSize: number
mimeType: number
fileUrl: number
thumbnailUrl: number
metadata: number
createdAt: number
_all: number
}
export type MessageAttachmentsAvgAggregateInputType = {
fileSize?: true
}
export type MessageAttachmentsSumAggregateInputType = {
fileSize?: true
}
export type MessageAttachmentsMinAggregateInputType = {
id?: true
messageId?: true
fileName?: true
fileSize?: true
mimeType?: true
fileUrl?: true
thumbnailUrl?: true
createdAt?: true
}
export type MessageAttachmentsMaxAggregateInputType = {
id?: true
messageId?: true
fileName?: true
fileSize?: true
mimeType?: true
fileUrl?: true
thumbnailUrl?: true
createdAt?: true
}
export type MessageAttachmentsCountAggregateInputType = {
id?: true
messageId?: true
fileName?: true
fileSize?: true
mimeType?: true
fileUrl?: true
thumbnailUrl?: true
metadata?: true
createdAt?: true
_all?: true
}
export type MessageAttachmentsAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Filter which MessageAttachments to aggregate.
*/
where?: MessageAttachmentsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of MessageAttachments to fetch.
*/
orderBy?: MessageAttachmentsOrderByWithRelationInput | MessageAttachmentsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the start position
*/
cursor?: MessageAttachmentsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` MessageAttachments from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` MessageAttachments.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Count returned MessageAttachments
**/
_count?: true | MessageAttachmentsCountAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to average
**/
_avg?: MessageAttachmentsAvgAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to sum
**/
_sum?: MessageAttachmentsSumAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to find the minimum value
**/
_min?: MessageAttachmentsMinAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to find the maximum value
**/
_max?: MessageAttachmentsMaxAggregateInputType
}
export type GetMessageAttachmentsAggregateType<T extends MessageAttachmentsAggregateArgs> = {
[P in keyof T & keyof AggregateMessageAttachments]: P extends '_count' | 'count'
? T[P] extends true
? number
: GetScalarType<T[P], AggregateMessageAttachments[P]>
: GetScalarType<T[P], AggregateMessageAttachments[P]>
}
export type MessageAttachmentsGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
where?: MessageAttachmentsWhereInput
orderBy?: MessageAttachmentsOrderByWithAggregationInput | MessageAttachmentsOrderByWithAggregationInput[]
by: MessageAttachmentsScalarFieldEnum[] | MessageAttachmentsScalarFieldEnum
having?: MessageAttachmentsScalarWhereWithAggregatesInput
take?: number
skip?: number
_count?: MessageAttachmentsCountAggregateInputType | true
_avg?: MessageAttachmentsAvgAggregateInputType
_sum?: MessageAttachmentsSumAggregateInputType
_min?: MessageAttachmentsMinAggregateInputType
_max?: MessageAttachmentsMaxAggregateInputType
}
export type MessageAttachmentsGroupByOutputType = {
id: string
messageId: string
fileName: string
fileSize: number
mimeType: string
fileUrl: string
thumbnailUrl: string | null
metadata: JsonValue | null
createdAt: Date
_count: MessageAttachmentsCountAggregateOutputType | null
_avg: MessageAttachmentsAvgAggregateOutputType | null
_sum: MessageAttachmentsSumAggregateOutputType | null
_min: MessageAttachmentsMinAggregateOutputType | null
_max: MessageAttachmentsMaxAggregateOutputType | null
}
type GetMessageAttachmentsGroupByPayload<T extends MessageAttachmentsGroupByArgs> = Prisma.PrismaPromise<
Array<
PickEnumerable<MessageAttachmentsGroupByOutputType, T['by']> &
{
[P in ((keyof T) & (keyof MessageAttachmentsGroupByOutputType))]: P extends '_count'
? T[P] extends boolean
? number
: GetScalarType<T[P], MessageAttachmentsGroupByOutputType[P]>
: GetScalarType<T[P], MessageAttachmentsGroupByOutputType[P]>
}
>
>
export type MessageAttachmentsSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
messageId?: boolean
fileName?: boolean
fileSize?: boolean
mimeType?: boolean
fileUrl?: boolean
thumbnailUrl?: boolean
metadata?: boolean
createdAt?: boolean
}, ExtArgs["result"]["messageAttachments"]>
export type MessageAttachmentsSelectCreateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
messageId?: boolean
fileName?: boolean
fileSize?: boolean
mimeType?: boolean
fileUrl?: boolean
thumbnailUrl?: boolean
metadata?: boolean
createdAt?: boolean
}, ExtArgs["result"]["messageAttachments"]>
export type MessageAttachmentsSelectUpdateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
messageId?: boolean
fileName?: boolean
fileSize?: boolean
mimeType?: boolean
fileUrl?: boolean
thumbnailUrl?: boolean
metadata?: boolean
createdAt?: boolean
}, ExtArgs["result"]["messageAttachments"]>
export type MessageAttachmentsSelectScalar = {
id?: boolean
messageId?: boolean
fileName?: boolean
fileSize?: boolean
mimeType?: boolean
fileUrl?: boolean
thumbnailUrl?: boolean
metadata?: boolean
createdAt?: boolean
}
export type MessageAttachmentsOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "messageId" | "fileName" | "fileSize" | "mimeType" | "fileUrl" | "thumbnailUrl" | "metadata" | "createdAt", ExtArgs["result"]["messageAttachments"]>
export type $MessageAttachmentsPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
name: "MessageAttachments"
objects: {}
scalars: $Extensions.GetPayloadResult<{
id: string
messageId: string
fileName: string
fileSize: number
mimeType: string
fileUrl: string
thumbnailUrl: string | null
metadata: Prisma.JsonValue | null
createdAt: Date
}, ExtArgs["result"]["messageAttachments"]>
composites: {}
}
type MessageAttachmentsGetPayload<S extends boolean | null | undefined | MessageAttachmentsDefaultArgs> = $Result.GetResult<Prisma.$MessageAttachmentsPayload, S>
type MessageAttachmentsCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
Omit<MessageAttachmentsFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
select?: MessageAttachmentsCountAggregateInputType | true
}
export interface MessageAttachmentsDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
[K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['MessageAttachments'], meta: { name: 'MessageAttachments' } }
/**
* Find zero or one MessageAttachments that matches the filter.
* @param {MessageAttachmentsFindUniqueArgs} args - Arguments to find a MessageAttachments
* @example
* // Get one MessageAttachments
* const messageAttachments = await prisma.messageAttachments.findUnique({
* where: {
* // ... provide filter here
* }
* })
*/
findUnique<T extends MessageAttachmentsFindUniqueArgs>(args: SelectSubset<T, MessageAttachmentsFindUniqueArgs<ExtArgs>>): Prisma__MessageAttachmentsClient<$Result.GetResult<Prisma.$MessageAttachmentsPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
/**
* Find one MessageAttachments that matches the filter or throw an error with `error.code='P2025'`
* if no matches were found.
* @param {MessageAttachmentsFindUniqueOrThrowArgs} args - Arguments to find a MessageAttachments
* @example
* // Get one MessageAttachments
* const messageAttachments = await prisma.messageAttachments.findUniqueOrThrow({
* where: {
* // ... provide filter here
* }
* })
*/
findUniqueOrThrow<T extends MessageAttachmentsFindUniqueOrThrowArgs>(args: SelectSubset<T, MessageAttachmentsFindUniqueOrThrowArgs<ExtArgs>>): Prisma__MessageAttachmentsClient<$Result.GetResult<Prisma.$MessageAttachmentsPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Find the first MessageAttachments that matches the filter.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessageAttachmentsFindFirstArgs} args - Arguments to find a MessageAttachments
* @example
* // Get one MessageAttachments
* const messageAttachments = await prisma.messageAttachments.findFirst({
* where: {
* // ... provide filter here
* }
* })
*/
findFirst<T extends MessageAttachmentsFindFirstArgs>(args?: SelectSubset<T, MessageAttachmentsFindFirstArgs<ExtArgs>>): Prisma__MessageAttachmentsClient<$Result.GetResult<Prisma.$MessageAttachmentsPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
/**
* Find the first MessageAttachments that matches the filter or
* throw `PrismaKnownClientError` with `P2025` code if no matches were found.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessageAttachmentsFindFirstOrThrowArgs} args - Arguments to find a MessageAttachments
* @example
* // Get one MessageAttachments
* const messageAttachments = await prisma.messageAttachments.findFirstOrThrow({
* where: {
* // ... provide filter here
* }
* })
*/
findFirstOrThrow<T extends MessageAttachmentsFindFirstOrThrowArgs>(args?: SelectSubset<T, MessageAttachmentsFindFirstOrThrowArgs<ExtArgs>>): Prisma__MessageAttachmentsClient<$Result.GetResult<Prisma.$MessageAttachmentsPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Find zero or more MessageAttachments that matches the filter.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessageAttachmentsFindManyArgs} args - Arguments to filter and select certain fields only.
* @example
* // Get all MessageAttachments
* const messageAttachments = await prisma.messageAttachments.findMany()
*
* // Get first 10 MessageAttachments
* const messageAttachments = await prisma.messageAttachments.findMany({ take: 10 })
*
* // Only select the `id`
* const messageAttachmentsWithIdOnly = await prisma.messageAttachments.findMany({ select: { id: true } })
*
*/
findMany<T extends MessageAttachmentsFindManyArgs>(args?: SelectSubset<T, MessageAttachmentsFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$MessageAttachmentsPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>
/**
* Create a MessageAttachments.
* @param {MessageAttachmentsCreateArgs} args - Arguments to create a MessageAttachments.
* @example
* // Create one MessageAttachments
* const MessageAttachments = await prisma.messageAttachments.create({
* data: {
* // ... data to create a MessageAttachments
* }
* })
*
*/
create<T extends MessageAttachmentsCreateArgs>(args: SelectSubset<T, MessageAttachmentsCreateArgs<ExtArgs>>): Prisma__MessageAttachmentsClient<$Result.GetResult<Prisma.$MessageAttachmentsPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Create many MessageAttachments.
* @param {MessageAttachmentsCreateManyArgs} args - Arguments to create many MessageAttachments.
* @example
* // Create many MessageAttachments
* const messageAttachments = await prisma.messageAttachments.createMany({
* data: [
* // ... provide data here
* ]
* })
*
*/
createMany<T extends MessageAttachmentsCreateManyArgs>(args?: SelectSubset<T, MessageAttachmentsCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Create many MessageAttachments and returns the data saved in the database.
* @param {MessageAttachmentsCreateManyAndReturnArgs} args - Arguments to create many MessageAttachments.
* @example
* // Create many MessageAttachments
* const messageAttachments = await prisma.messageAttachments.createManyAndReturn({
* data: [
* // ... provide data here
* ]
* })
*
* // Create many MessageAttachments and only return the `id`
* const messageAttachmentsWithIdOnly = await prisma.messageAttachments.createManyAndReturn({
* select: { id: true },
* data: [
* // ... provide data here
* ]
* })
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
*
*/
createManyAndReturn<T extends MessageAttachmentsCreateManyAndReturnArgs>(args?: SelectSubset<T, MessageAttachmentsCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$MessageAttachmentsPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
/**
* Delete a MessageAttachments.
* @param {MessageAttachmentsDeleteArgs} args - Arguments to delete one MessageAttachments.
* @example
* // Delete one MessageAttachments
* const MessageAttachments = await prisma.messageAttachments.delete({
* where: {
* // ... filter to delete one MessageAttachments
* }
* })
*
*/
delete<T extends MessageAttachmentsDeleteArgs>(args: SelectSubset<T, MessageAttachmentsDeleteArgs<ExtArgs>>): Prisma__MessageAttachmentsClient<$Result.GetResult<Prisma.$MessageAttachmentsPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Update one MessageAttachments.
* @param {MessageAttachmentsUpdateArgs} args - Arguments to update one MessageAttachments.
* @example
* // Update one MessageAttachments
* const messageAttachments = await prisma.messageAttachments.update({
* where: {
* // ... provide filter here
* },
* data: {
* // ... provide data here
* }
* })
*
*/
update<T extends MessageAttachmentsUpdateArgs>(args: SelectSubset<T, MessageAttachmentsUpdateArgs<ExtArgs>>): Prisma__MessageAttachmentsClient<$Result.GetResult<Prisma.$MessageAttachmentsPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Delete zero or more MessageAttachments.
* @param {MessageAttachmentsDeleteManyArgs} args - Arguments to filter MessageAttachments to delete.
* @example
* // Delete a few MessageAttachments
* const { count } = await prisma.messageAttachments.deleteMany({
* where: {
* // ... provide filter here
* }
* })
*
*/
deleteMany<T extends MessageAttachmentsDeleteManyArgs>(args?: SelectSubset<T, MessageAttachmentsDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Update zero or more MessageAttachments.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessageAttachmentsUpdateManyArgs} args - Arguments to update one or more rows.
* @example
* // Update many MessageAttachments
* const messageAttachments = await prisma.messageAttachments.updateMany({
* where: {
* // ... provide filter here
* },
* data: {
* // ... provide data here
* }
* })
*
*/
updateMany<T extends MessageAttachmentsUpdateManyArgs>(args: SelectSubset<T, MessageAttachmentsUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Update zero or more MessageAttachments and returns the data updated in the database.
* @param {MessageAttachmentsUpdateManyAndReturnArgs} args - Arguments to update many MessageAttachments.
* @example
* // Update many MessageAttachments
* const messageAttachments = await prisma.messageAttachments.updateManyAndReturn({
* where: {
* // ... provide filter here
* },
* data: [
* // ... provide data here
* ]
* })
*
* // Update zero or more MessageAttachments and only return the `id`
* const messageAttachmentsWithIdOnly = await prisma.messageAttachments.updateManyAndReturn({
* select: { id: true },
* where: {
* // ... provide filter here
* },
* data: [
* // ... provide data here
* ]
* })
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
*
*/
updateManyAndReturn<T extends MessageAttachmentsUpdateManyAndReturnArgs>(args: SelectSubset<T, MessageAttachmentsUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$MessageAttachmentsPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
/**
* Create or update one MessageAttachments.
* @param {MessageAttachmentsUpsertArgs} args - Arguments to update or create a MessageAttachments.
* @example
* // Update or create a MessageAttachments
* const messageAttachments = await prisma.messageAttachments.upsert({
* create: {
* // ... data to create a MessageAttachments
* },
* update: {
* // ... in case it already exists, update
* },
* where: {
* // ... the filter for the MessageAttachments we want to update
* }
* })
*/
upsert<T extends MessageAttachmentsUpsertArgs>(args: SelectSubset<T, MessageAttachmentsUpsertArgs<ExtArgs>>): Prisma__MessageAttachmentsClient<$Result.GetResult<Prisma.$MessageAttachmentsPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Count the number of MessageAttachments.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessageAttachmentsCountArgs} args - Arguments to filter MessageAttachments to count.
* @example
* // Count the number of MessageAttachments
* const count = await prisma.messageAttachments.count({
* where: {
* // ... the filter for the MessageAttachments we want to count
* }
* })
**/
count<T extends MessageAttachmentsCountArgs>(
args?: Subset<T, MessageAttachmentsCountArgs>,
): Prisma.PrismaPromise<
T extends $Utils.Record<'select', any>
? T['select'] extends true
? number
: GetScalarType<T['select'], MessageAttachmentsCountAggregateOutputType>
: number
>
/**
* Allows you to perform aggregations operations on a MessageAttachments.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessageAttachmentsAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
* @example
* // Ordered by age ascending
* // Where email contains prisma.io
* // Limited to the 10 users
* const aggregations = await prisma.user.aggregate({
* _avg: {
* age: true,
* },
* where: {
* email: {
* contains: "prisma.io",
* },
* },
* orderBy: {
* age: "asc",
* },
* take: 10,
* })
**/
aggregate<T extends MessageAttachmentsAggregateArgs>(args: Subset<T, MessageAttachmentsAggregateArgs>): Prisma.PrismaPromise<GetMessageAttachmentsAggregateType<T>>
/**
* Group by MessageAttachments.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {MessageAttachmentsGroupByArgs} args - Group by arguments.
* @example
* // Group by city, order by createdAt, get count
* const result = await prisma.user.groupBy({
* by: ['city', 'createdAt'],
* orderBy: {
* createdAt: true
* },
* _count: {
* _all: true
* },
* })
*
**/
groupBy<
T extends MessageAttachmentsGroupByArgs,
HasSelectOrTake extends Or<
Extends<'skip', Keys<T>>,
Extends<'take', Keys<T>>
>,
OrderByArg extends True extends HasSelectOrTake
? { orderBy: MessageAttachmentsGroupByArgs['orderBy'] }
: { orderBy?: MessageAttachmentsGroupByArgs['orderBy'] },
OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
ByFields extends MaybeTupleToUnion<T['by']>,
ByValid extends Has<ByFields, OrderFields>,
HavingFields extends GetHavingFields<T['having']>,
HavingValid extends Has<ByFields, HavingFields>,
ByEmpty extends T['by'] extends never[] ? True : False,
InputErrors extends ByEmpty extends True
? `Error: "by" must not be empty.`
: HavingValid extends False
? {
[P in HavingFields]: P extends ByFields
? never
: P extends string
? `Error: Field "${P}" used in "having" needs to be provided in "by".`
: [
Error,
'Field ',
P,
` in "having" needs to be provided in "by"`,
]
}[HavingFields]
: 'take' extends Keys<T>
? 'orderBy' extends Keys<T>
? ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
: 'Error: If you provide "take", you also need to provide "orderBy"'
: 'skip' extends Keys<T>
? 'orderBy' extends Keys<T>
? ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
: 'Error: If you provide "skip", you also need to provide "orderBy"'
: ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
>(args: SubsetIntersection<T, MessageAttachmentsGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetMessageAttachmentsGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
/**
* Fields of the MessageAttachments model
*/
readonly fields: MessageAttachmentsFieldRefs;
}
/**
* The delegate class that acts as a "Promise-like" for MessageAttachments.
* Why is this prefixed with `Prisma__`?
* Because we want to prevent naming conflicts as mentioned in
* https://github.com/prisma/prisma-client-js/issues/707
*/
export interface Prisma__MessageAttachmentsClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
readonly [Symbol.toStringTag]: "PrismaPromise"
/**
* Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of which ever callback is executed.
*/
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
/**
* Attaches a callback for only the rejection of the Promise.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of the callback.
*/
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
/**
* Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
* resolved value cannot be modified from the callback.
* @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
* @returns A Promise for the completion of the callback.
*/
finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise<T>
}
/**
* Fields of the MessageAttachments model
*/
interface MessageAttachmentsFieldRefs {
readonly id: FieldRef<"MessageAttachments", 'String'>
readonly messageId: FieldRef<"MessageAttachments", 'String'>
readonly fileName: FieldRef<"MessageAttachments", 'String'>
readonly fileSize: FieldRef<"MessageAttachments", 'Int'>
readonly mimeType: FieldRef<"MessageAttachments", 'String'>
readonly fileUrl: FieldRef<"MessageAttachments", 'String'>
readonly thumbnailUrl: FieldRef<"MessageAttachments", 'String'>
readonly metadata: FieldRef<"MessageAttachments", 'Json'>
readonly createdAt: FieldRef<"MessageAttachments", 'DateTime'>
}
// Custom InputTypes
/**
* MessageAttachments findUnique
*/
export type MessageAttachmentsFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the MessageAttachments
*/
select?: MessageAttachmentsSelect<ExtArgs> | null
/**
* Omit specific fields from the MessageAttachments
*/
omit?: MessageAttachmentsOmit<ExtArgs> | null
/**
* Filter, which MessageAttachments to fetch.
*/
where: MessageAttachmentsWhereUniqueInput
}
/**
* MessageAttachments findUniqueOrThrow
*/
export type MessageAttachmentsFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the MessageAttachments
*/
select?: MessageAttachmentsSelect<ExtArgs> | null
/**
* Omit specific fields from the MessageAttachments
*/
omit?: MessageAttachmentsOmit<ExtArgs> | null
/**
* Filter, which MessageAttachments to fetch.
*/
where: MessageAttachmentsWhereUniqueInput
}
/**
* MessageAttachments findFirst
*/
export type MessageAttachmentsFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the MessageAttachments
*/
select?: MessageAttachmentsSelect<ExtArgs> | null
/**
* Omit specific fields from the MessageAttachments
*/
omit?: MessageAttachmentsOmit<ExtArgs> | null
/**
* Filter, which MessageAttachments to fetch.
*/
where?: MessageAttachmentsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of MessageAttachments to fetch.
*/
orderBy?: MessageAttachmentsOrderByWithRelationInput | MessageAttachmentsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for searching for MessageAttachments.
*/
cursor?: MessageAttachmentsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` MessageAttachments from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` MessageAttachments.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
*
* Filter by unique combinations of MessageAttachments.
*/
distinct?: MessageAttachmentsScalarFieldEnum | MessageAttachmentsScalarFieldEnum[]
}
/**
* MessageAttachments findFirstOrThrow
*/
export type MessageAttachmentsFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the MessageAttachments
*/
select?: MessageAttachmentsSelect<ExtArgs> | null
/**
* Omit specific fields from the MessageAttachments
*/
omit?: MessageAttachmentsOmit<ExtArgs> | null
/**
* Filter, which MessageAttachments to fetch.
*/
where?: MessageAttachmentsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of MessageAttachments to fetch.
*/
orderBy?: MessageAttachmentsOrderByWithRelationInput | MessageAttachmentsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for searching for MessageAttachments.
*/
cursor?: MessageAttachmentsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` MessageAttachments from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` MessageAttachments.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
*
* Filter by unique combinations of MessageAttachments.
*/
distinct?: MessageAttachmentsScalarFieldEnum | MessageAttachmentsScalarFieldEnum[]
}
/**
* MessageAttachments findMany
*/
export type MessageAttachmentsFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the MessageAttachments
*/
select?: MessageAttachmentsSelect<ExtArgs> | null
/**
* Omit specific fields from the MessageAttachments
*/
omit?: MessageAttachmentsOmit<ExtArgs> | null
/**
* Filter, which MessageAttachments to fetch.
*/
where?: MessageAttachmentsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of MessageAttachments to fetch.
*/
orderBy?: MessageAttachmentsOrderByWithRelationInput | MessageAttachmentsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for listing MessageAttachments.
*/
cursor?: MessageAttachmentsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` MessageAttachments from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` MessageAttachments.
*/
skip?: number
distinct?: MessageAttachmentsScalarFieldEnum | MessageAttachmentsScalarFieldEnum[]
}
/**
* MessageAttachments create
*/
export type MessageAttachmentsCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the MessageAttachments
*/
select?: MessageAttachmentsSelect<ExtArgs> | null
/**
* Omit specific fields from the MessageAttachments
*/
omit?: MessageAttachmentsOmit<ExtArgs> | null
/**
* The data needed to create a MessageAttachments.
*/
data: XOR<MessageAttachmentsCreateInput, MessageAttachmentsUncheckedCreateInput>
}
/**
* MessageAttachments createMany
*/
export type MessageAttachmentsCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* The data used to create many MessageAttachments.
*/
data: MessageAttachmentsCreateManyInput | MessageAttachmentsCreateManyInput[]
skipDuplicates?: boolean
}
/**
* MessageAttachments createManyAndReturn
*/
export type MessageAttachmentsCreateManyAndReturnArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the MessageAttachments
*/
select?: MessageAttachmentsSelectCreateManyAndReturn<ExtArgs> | null
/**
* Omit specific fields from the MessageAttachments
*/
omit?: MessageAttachmentsOmit<ExtArgs> | null
/**
* The data used to create many MessageAttachments.
*/
data: MessageAttachmentsCreateManyInput | MessageAttachmentsCreateManyInput[]
skipDuplicates?: boolean
}
/**
* MessageAttachments update
*/
export type MessageAttachmentsUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the MessageAttachments
*/
select?: MessageAttachmentsSelect<ExtArgs> | null
/**
* Omit specific fields from the MessageAttachments
*/
omit?: MessageAttachmentsOmit<ExtArgs> | null
/**
* The data needed to update a MessageAttachments.
*/
data: XOR<MessageAttachmentsUpdateInput, MessageAttachmentsUncheckedUpdateInput>
/**
* Choose, which MessageAttachments to update.
*/
where: MessageAttachmentsWhereUniqueInput
}
/**
* MessageAttachments updateMany
*/
export type MessageAttachmentsUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* The data used to update MessageAttachments.
*/
data: XOR<MessageAttachmentsUpdateManyMutationInput, MessageAttachmentsUncheckedUpdateManyInput>
/**
* Filter which MessageAttachments to update
*/
where?: MessageAttachmentsWhereInput
/**
* Limit how many MessageAttachments to update.
*/
limit?: number
}
/**
* MessageAttachments updateManyAndReturn
*/
export type MessageAttachmentsUpdateManyAndReturnArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the MessageAttachments
*/
select?: MessageAttachmentsSelectUpdateManyAndReturn<ExtArgs> | null
/**
* Omit specific fields from the MessageAttachments
*/
omit?: MessageAttachmentsOmit<ExtArgs> | null
/**
* The data used to update MessageAttachments.
*/
data: XOR<MessageAttachmentsUpdateManyMutationInput, MessageAttachmentsUncheckedUpdateManyInput>
/**
* Filter which MessageAttachments to update
*/
where?: MessageAttachmentsWhereInput
/**
* Limit how many MessageAttachments to update.
*/
limit?: number
}
/**
* MessageAttachments upsert
*/
export type MessageAttachmentsUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the MessageAttachments
*/
select?: MessageAttachmentsSelect<ExtArgs> | null
/**
* Omit specific fields from the MessageAttachments
*/
omit?: MessageAttachmentsOmit<ExtArgs> | null
/**
* The filter to search for the MessageAttachments to update in case it exists.
*/
where: MessageAttachmentsWhereUniqueInput
/**
* In case the MessageAttachments found by the `where` argument doesn't exist, create a new MessageAttachments with this data.
*/
create: XOR<MessageAttachmentsCreateInput, MessageAttachmentsUncheckedCreateInput>
/**
* In case the MessageAttachments was found with the provided `where` argument, update it with this data.
*/
update: XOR<MessageAttachmentsUpdateInput, MessageAttachmentsUncheckedUpdateInput>
}
/**
* MessageAttachments delete
*/
export type MessageAttachmentsDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the MessageAttachments
*/
select?: MessageAttachmentsSelect<ExtArgs> | null
/**
* Omit specific fields from the MessageAttachments
*/
omit?: MessageAttachmentsOmit<ExtArgs> | null
/**
* Filter which MessageAttachments to delete.
*/
where: MessageAttachmentsWhereUniqueInput
}
/**
* MessageAttachments deleteMany
*/
export type MessageAttachmentsDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Filter which MessageAttachments to delete
*/
where?: MessageAttachmentsWhereInput
/**
* Limit how many MessageAttachments to delete.
*/
limit?: number
}
/**
* MessageAttachments without action
*/
export type MessageAttachmentsDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the MessageAttachments
*/
select?: MessageAttachmentsSelect<ExtArgs> | null
/**
* Omit specific fields from the MessageAttachments
*/
omit?: MessageAttachmentsOmit<ExtArgs> | null
}
/**
* Model TypingIndicators
*/
export type AggregateTypingIndicators = {
_count: TypingIndicatorsCountAggregateOutputType | null
_min: TypingIndicatorsMinAggregateOutputType | null
_max: TypingIndicatorsMaxAggregateOutputType | null
}
export type TypingIndicatorsMinAggregateOutputType = {
id: string | null
conversationId: string | null
userId: string | null
userType: $Enums.SenderType | null
startedAt: Date | null
}
export type TypingIndicatorsMaxAggregateOutputType = {
id: string | null
conversationId: string | null
userId: string | null
userType: $Enums.SenderType | null
startedAt: Date | null
}
export type TypingIndicatorsCountAggregateOutputType = {
id: number
conversationId: number
userId: number
userType: number
startedAt: number
_all: number
}
export type TypingIndicatorsMinAggregateInputType = {
id?: true
conversationId?: true
userId?: true
userType?: true
startedAt?: true
}
export type TypingIndicatorsMaxAggregateInputType = {
id?: true
conversationId?: true
userId?: true
userType?: true
startedAt?: true
}
export type TypingIndicatorsCountAggregateInputType = {
id?: true
conversationId?: true
userId?: true
userType?: true
startedAt?: true
_all?: true
}
export type TypingIndicatorsAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Filter which TypingIndicators to aggregate.
*/
where?: TypingIndicatorsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of TypingIndicators to fetch.
*/
orderBy?: TypingIndicatorsOrderByWithRelationInput | TypingIndicatorsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the start position
*/
cursor?: TypingIndicatorsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` TypingIndicators from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` TypingIndicators.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Count returned TypingIndicators
**/
_count?: true | TypingIndicatorsCountAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to find the minimum value
**/
_min?: TypingIndicatorsMinAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to find the maximum value
**/
_max?: TypingIndicatorsMaxAggregateInputType
}
export type GetTypingIndicatorsAggregateType<T extends TypingIndicatorsAggregateArgs> = {
[P in keyof T & keyof AggregateTypingIndicators]: P extends '_count' | 'count'
? T[P] extends true
? number
: GetScalarType<T[P], AggregateTypingIndicators[P]>
: GetScalarType<T[P], AggregateTypingIndicators[P]>
}
export type TypingIndicatorsGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
where?: TypingIndicatorsWhereInput
orderBy?: TypingIndicatorsOrderByWithAggregationInput | TypingIndicatorsOrderByWithAggregationInput[]
by: TypingIndicatorsScalarFieldEnum[] | TypingIndicatorsScalarFieldEnum
having?: TypingIndicatorsScalarWhereWithAggregatesInput
take?: number
skip?: number
_count?: TypingIndicatorsCountAggregateInputType | true
_min?: TypingIndicatorsMinAggregateInputType
_max?: TypingIndicatorsMaxAggregateInputType
}
export type TypingIndicatorsGroupByOutputType = {
id: string
conversationId: string
userId: string
userType: $Enums.SenderType
startedAt: Date
_count: TypingIndicatorsCountAggregateOutputType | null
_min: TypingIndicatorsMinAggregateOutputType | null
_max: TypingIndicatorsMaxAggregateOutputType | null
}
type GetTypingIndicatorsGroupByPayload<T extends TypingIndicatorsGroupByArgs> = Prisma.PrismaPromise<
Array<
PickEnumerable<TypingIndicatorsGroupByOutputType, T['by']> &
{
[P in ((keyof T) & (keyof TypingIndicatorsGroupByOutputType))]: P extends '_count'
? T[P] extends boolean
? number
: GetScalarType<T[P], TypingIndicatorsGroupByOutputType[P]>
: GetScalarType<T[P], TypingIndicatorsGroupByOutputType[P]>
}
>
>
export type TypingIndicatorsSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
conversationId?: boolean
userId?: boolean
userType?: boolean
startedAt?: boolean
}, ExtArgs["result"]["typingIndicators"]>
export type TypingIndicatorsSelectCreateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
conversationId?: boolean
userId?: boolean
userType?: boolean
startedAt?: boolean
}, ExtArgs["result"]["typingIndicators"]>
export type TypingIndicatorsSelectUpdateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
conversationId?: boolean
userId?: boolean
userType?: boolean
startedAt?: boolean
}, ExtArgs["result"]["typingIndicators"]>
export type TypingIndicatorsSelectScalar = {
id?: boolean
conversationId?: boolean
userId?: boolean
userType?: boolean
startedAt?: boolean
}
export type TypingIndicatorsOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "conversationId" | "userId" | "userType" | "startedAt", ExtArgs["result"]["typingIndicators"]>
export type $TypingIndicatorsPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
name: "TypingIndicators"
objects: {}
scalars: $Extensions.GetPayloadResult<{
id: string
conversationId: string
userId: string
userType: $Enums.SenderType
startedAt: Date
}, ExtArgs["result"]["typingIndicators"]>
composites: {}
}
type TypingIndicatorsGetPayload<S extends boolean | null | undefined | TypingIndicatorsDefaultArgs> = $Result.GetResult<Prisma.$TypingIndicatorsPayload, S>
type TypingIndicatorsCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
Omit<TypingIndicatorsFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
select?: TypingIndicatorsCountAggregateInputType | true
}
export interface TypingIndicatorsDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
[K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['TypingIndicators'], meta: { name: 'TypingIndicators' } }
/**
* Find zero or one TypingIndicators that matches the filter.
* @param {TypingIndicatorsFindUniqueArgs} args - Arguments to find a TypingIndicators
* @example
* // Get one TypingIndicators
* const typingIndicators = await prisma.typingIndicators.findUnique({
* where: {
* // ... provide filter here
* }
* })
*/
findUnique<T extends TypingIndicatorsFindUniqueArgs>(args: SelectSubset<T, TypingIndicatorsFindUniqueArgs<ExtArgs>>): Prisma__TypingIndicatorsClient<$Result.GetResult<Prisma.$TypingIndicatorsPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
/**
* Find one TypingIndicators that matches the filter or throw an error with `error.code='P2025'`
* if no matches were found.
* @param {TypingIndicatorsFindUniqueOrThrowArgs} args - Arguments to find a TypingIndicators
* @example
* // Get one TypingIndicators
* const typingIndicators = await prisma.typingIndicators.findUniqueOrThrow({
* where: {
* // ... provide filter here
* }
* })
*/
findUniqueOrThrow<T extends TypingIndicatorsFindUniqueOrThrowArgs>(args: SelectSubset<T, TypingIndicatorsFindUniqueOrThrowArgs<ExtArgs>>): Prisma__TypingIndicatorsClient<$Result.GetResult<Prisma.$TypingIndicatorsPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Find the first TypingIndicators that matches the filter.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {TypingIndicatorsFindFirstArgs} args - Arguments to find a TypingIndicators
* @example
* // Get one TypingIndicators
* const typingIndicators = await prisma.typingIndicators.findFirst({
* where: {
* // ... provide filter here
* }
* })
*/
findFirst<T extends TypingIndicatorsFindFirstArgs>(args?: SelectSubset<T, TypingIndicatorsFindFirstArgs<ExtArgs>>): Prisma__TypingIndicatorsClient<$Result.GetResult<Prisma.$TypingIndicatorsPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
/**
* Find the first TypingIndicators that matches the filter or
* throw `PrismaKnownClientError` with `P2025` code if no matches were found.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {TypingIndicatorsFindFirstOrThrowArgs} args - Arguments to find a TypingIndicators
* @example
* // Get one TypingIndicators
* const typingIndicators = await prisma.typingIndicators.findFirstOrThrow({
* where: {
* // ... provide filter here
* }
* })
*/
findFirstOrThrow<T extends TypingIndicatorsFindFirstOrThrowArgs>(args?: SelectSubset<T, TypingIndicatorsFindFirstOrThrowArgs<ExtArgs>>): Prisma__TypingIndicatorsClient<$Result.GetResult<Prisma.$TypingIndicatorsPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Find zero or more TypingIndicators that matches the filter.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {TypingIndicatorsFindManyArgs} args - Arguments to filter and select certain fields only.
* @example
* // Get all TypingIndicators
* const typingIndicators = await prisma.typingIndicators.findMany()
*
* // Get first 10 TypingIndicators
* const typingIndicators = await prisma.typingIndicators.findMany({ take: 10 })
*
* // Only select the `id`
* const typingIndicatorsWithIdOnly = await prisma.typingIndicators.findMany({ select: { id: true } })
*
*/
findMany<T extends TypingIndicatorsFindManyArgs>(args?: SelectSubset<T, TypingIndicatorsFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$TypingIndicatorsPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>
/**
* Create a TypingIndicators.
* @param {TypingIndicatorsCreateArgs} args - Arguments to create a TypingIndicators.
* @example
* // Create one TypingIndicators
* const TypingIndicators = await prisma.typingIndicators.create({
* data: {
* // ... data to create a TypingIndicators
* }
* })
*
*/
create<T extends TypingIndicatorsCreateArgs>(args: SelectSubset<T, TypingIndicatorsCreateArgs<ExtArgs>>): Prisma__TypingIndicatorsClient<$Result.GetResult<Prisma.$TypingIndicatorsPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Create many TypingIndicators.
* @param {TypingIndicatorsCreateManyArgs} args - Arguments to create many TypingIndicators.
* @example
* // Create many TypingIndicators
* const typingIndicators = await prisma.typingIndicators.createMany({
* data: [
* // ... provide data here
* ]
* })
*
*/
createMany<T extends TypingIndicatorsCreateManyArgs>(args?: SelectSubset<T, TypingIndicatorsCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Create many TypingIndicators and returns the data saved in the database.
* @param {TypingIndicatorsCreateManyAndReturnArgs} args - Arguments to create many TypingIndicators.
* @example
* // Create many TypingIndicators
* const typingIndicators = await prisma.typingIndicators.createManyAndReturn({
* data: [
* // ... provide data here
* ]
* })
*
* // Create many TypingIndicators and only return the `id`
* const typingIndicatorsWithIdOnly = await prisma.typingIndicators.createManyAndReturn({
* select: { id: true },
* data: [
* // ... provide data here
* ]
* })
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
*
*/
createManyAndReturn<T extends TypingIndicatorsCreateManyAndReturnArgs>(args?: SelectSubset<T, TypingIndicatorsCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$TypingIndicatorsPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
/**
* Delete a TypingIndicators.
* @param {TypingIndicatorsDeleteArgs} args - Arguments to delete one TypingIndicators.
* @example
* // Delete one TypingIndicators
* const TypingIndicators = await prisma.typingIndicators.delete({
* where: {
* // ... filter to delete one TypingIndicators
* }
* })
*
*/
delete<T extends TypingIndicatorsDeleteArgs>(args: SelectSubset<T, TypingIndicatorsDeleteArgs<ExtArgs>>): Prisma__TypingIndicatorsClient<$Result.GetResult<Prisma.$TypingIndicatorsPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Update one TypingIndicators.
* @param {TypingIndicatorsUpdateArgs} args - Arguments to update one TypingIndicators.
* @example
* // Update one TypingIndicators
* const typingIndicators = await prisma.typingIndicators.update({
* where: {
* // ... provide filter here
* },
* data: {
* // ... provide data here
* }
* })
*
*/
update<T extends TypingIndicatorsUpdateArgs>(args: SelectSubset<T, TypingIndicatorsUpdateArgs<ExtArgs>>): Prisma__TypingIndicatorsClient<$Result.GetResult<Prisma.$TypingIndicatorsPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Delete zero or more TypingIndicators.
* @param {TypingIndicatorsDeleteManyArgs} args - Arguments to filter TypingIndicators to delete.
* @example
* // Delete a few TypingIndicators
* const { count } = await prisma.typingIndicators.deleteMany({
* where: {
* // ... provide filter here
* }
* })
*
*/
deleteMany<T extends TypingIndicatorsDeleteManyArgs>(args?: SelectSubset<T, TypingIndicatorsDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Update zero or more TypingIndicators.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {TypingIndicatorsUpdateManyArgs} args - Arguments to update one or more rows.
* @example
* // Update many TypingIndicators
* const typingIndicators = await prisma.typingIndicators.updateMany({
* where: {
* // ... provide filter here
* },
* data: {
* // ... provide data here
* }
* })
*
*/
updateMany<T extends TypingIndicatorsUpdateManyArgs>(args: SelectSubset<T, TypingIndicatorsUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Update zero or more TypingIndicators and returns the data updated in the database.
* @param {TypingIndicatorsUpdateManyAndReturnArgs} args - Arguments to update many TypingIndicators.
* @example
* // Update many TypingIndicators
* const typingIndicators = await prisma.typingIndicators.updateManyAndReturn({
* where: {
* // ... provide filter here
* },
* data: [
* // ... provide data here
* ]
* })
*
* // Update zero or more TypingIndicators and only return the `id`
* const typingIndicatorsWithIdOnly = await prisma.typingIndicators.updateManyAndReturn({
* select: { id: true },
* where: {
* // ... provide filter here
* },
* data: [
* // ... provide data here
* ]
* })
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
*
*/
updateManyAndReturn<T extends TypingIndicatorsUpdateManyAndReturnArgs>(args: SelectSubset<T, TypingIndicatorsUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$TypingIndicatorsPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
/**
* Create or update one TypingIndicators.
* @param {TypingIndicatorsUpsertArgs} args - Arguments to update or create a TypingIndicators.
* @example
* // Update or create a TypingIndicators
* const typingIndicators = await prisma.typingIndicators.upsert({
* create: {
* // ... data to create a TypingIndicators
* },
* update: {
* // ... in case it already exists, update
* },
* where: {
* // ... the filter for the TypingIndicators we want to update
* }
* })
*/
upsert<T extends TypingIndicatorsUpsertArgs>(args: SelectSubset<T, TypingIndicatorsUpsertArgs<ExtArgs>>): Prisma__TypingIndicatorsClient<$Result.GetResult<Prisma.$TypingIndicatorsPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Count the number of TypingIndicators.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {TypingIndicatorsCountArgs} args - Arguments to filter TypingIndicators to count.
* @example
* // Count the number of TypingIndicators
* const count = await prisma.typingIndicators.count({
* where: {
* // ... the filter for the TypingIndicators we want to count
* }
* })
**/
count<T extends TypingIndicatorsCountArgs>(
args?: Subset<T, TypingIndicatorsCountArgs>,
): Prisma.PrismaPromise<
T extends $Utils.Record<'select', any>
? T['select'] extends true
? number
: GetScalarType<T['select'], TypingIndicatorsCountAggregateOutputType>
: number
>
/**
* Allows you to perform aggregations operations on a TypingIndicators.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {TypingIndicatorsAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
* @example
* // Ordered by age ascending
* // Where email contains prisma.io
* // Limited to the 10 users
* const aggregations = await prisma.user.aggregate({
* _avg: {
* age: true,
* },
* where: {
* email: {
* contains: "prisma.io",
* },
* },
* orderBy: {
* age: "asc",
* },
* take: 10,
* })
**/
aggregate<T extends TypingIndicatorsAggregateArgs>(args: Subset<T, TypingIndicatorsAggregateArgs>): Prisma.PrismaPromise<GetTypingIndicatorsAggregateType<T>>
/**
* Group by TypingIndicators.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {TypingIndicatorsGroupByArgs} args - Group by arguments.
* @example
* // Group by city, order by createdAt, get count
* const result = await prisma.user.groupBy({
* by: ['city', 'createdAt'],
* orderBy: {
* createdAt: true
* },
* _count: {
* _all: true
* },
* })
*
**/
groupBy<
T extends TypingIndicatorsGroupByArgs,
HasSelectOrTake extends Or<
Extends<'skip', Keys<T>>,
Extends<'take', Keys<T>>
>,
OrderByArg extends True extends HasSelectOrTake
? { orderBy: TypingIndicatorsGroupByArgs['orderBy'] }
: { orderBy?: TypingIndicatorsGroupByArgs['orderBy'] },
OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
ByFields extends MaybeTupleToUnion<T['by']>,
ByValid extends Has<ByFields, OrderFields>,
HavingFields extends GetHavingFields<T['having']>,
HavingValid extends Has<ByFields, HavingFields>,
ByEmpty extends T['by'] extends never[] ? True : False,
InputErrors extends ByEmpty extends True
? `Error: "by" must not be empty.`
: HavingValid extends False
? {
[P in HavingFields]: P extends ByFields
? never
: P extends string
? `Error: Field "${P}" used in "having" needs to be provided in "by".`
: [
Error,
'Field ',
P,
` in "having" needs to be provided in "by"`,
]
}[HavingFields]
: 'take' extends Keys<T>
? 'orderBy' extends Keys<T>
? ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
: 'Error: If you provide "take", you also need to provide "orderBy"'
: 'skip' extends Keys<T>
? 'orderBy' extends Keys<T>
? ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
: 'Error: If you provide "skip", you also need to provide "orderBy"'
: ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
>(args: SubsetIntersection<T, TypingIndicatorsGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetTypingIndicatorsGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
/**
* Fields of the TypingIndicators model
*/
readonly fields: TypingIndicatorsFieldRefs;
}
/**
* The delegate class that acts as a "Promise-like" for TypingIndicators.
* Why is this prefixed with `Prisma__`?
* Because we want to prevent naming conflicts as mentioned in
* https://github.com/prisma/prisma-client-js/issues/707
*/
export interface Prisma__TypingIndicatorsClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
readonly [Symbol.toStringTag]: "PrismaPromise"
/**
* Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of which ever callback is executed.
*/
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
/**
* Attaches a callback for only the rejection of the Promise.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of the callback.
*/
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
/**
* Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
* resolved value cannot be modified from the callback.
* @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
* @returns A Promise for the completion of the callback.
*/
finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise<T>
}
/**
* Fields of the TypingIndicators model
*/
interface TypingIndicatorsFieldRefs {
readonly id: FieldRef<"TypingIndicators", 'String'>
readonly conversationId: FieldRef<"TypingIndicators", 'String'>
readonly userId: FieldRef<"TypingIndicators", 'String'>
readonly userType: FieldRef<"TypingIndicators", 'SenderType'>
readonly startedAt: FieldRef<"TypingIndicators", 'DateTime'>
}
// Custom InputTypes
/**
* TypingIndicators findUnique
*/
export type TypingIndicatorsFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the TypingIndicators
*/
select?: TypingIndicatorsSelect<ExtArgs> | null
/**
* Omit specific fields from the TypingIndicators
*/
omit?: TypingIndicatorsOmit<ExtArgs> | null
/**
* Filter, which TypingIndicators to fetch.
*/
where: TypingIndicatorsWhereUniqueInput
}
/**
* TypingIndicators findUniqueOrThrow
*/
export type TypingIndicatorsFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the TypingIndicators
*/
select?: TypingIndicatorsSelect<ExtArgs> | null
/**
* Omit specific fields from the TypingIndicators
*/
omit?: TypingIndicatorsOmit<ExtArgs> | null
/**
* Filter, which TypingIndicators to fetch.
*/
where: TypingIndicatorsWhereUniqueInput
}
/**
* TypingIndicators findFirst
*/
export type TypingIndicatorsFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the TypingIndicators
*/
select?: TypingIndicatorsSelect<ExtArgs> | null
/**
* Omit specific fields from the TypingIndicators
*/
omit?: TypingIndicatorsOmit<ExtArgs> | null
/**
* Filter, which TypingIndicators to fetch.
*/
where?: TypingIndicatorsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of TypingIndicators to fetch.
*/
orderBy?: TypingIndicatorsOrderByWithRelationInput | TypingIndicatorsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for searching for TypingIndicators.
*/
cursor?: TypingIndicatorsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` TypingIndicators from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` TypingIndicators.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
*
* Filter by unique combinations of TypingIndicators.
*/
distinct?: TypingIndicatorsScalarFieldEnum | TypingIndicatorsScalarFieldEnum[]
}
/**
* TypingIndicators findFirstOrThrow
*/
export type TypingIndicatorsFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the TypingIndicators
*/
select?: TypingIndicatorsSelect<ExtArgs> | null
/**
* Omit specific fields from the TypingIndicators
*/
omit?: TypingIndicatorsOmit<ExtArgs> | null
/**
* Filter, which TypingIndicators to fetch.
*/
where?: TypingIndicatorsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of TypingIndicators to fetch.
*/
orderBy?: TypingIndicatorsOrderByWithRelationInput | TypingIndicatorsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for searching for TypingIndicators.
*/
cursor?: TypingIndicatorsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` TypingIndicators from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` TypingIndicators.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
*
* Filter by unique combinations of TypingIndicators.
*/
distinct?: TypingIndicatorsScalarFieldEnum | TypingIndicatorsScalarFieldEnum[]
}
/**
* TypingIndicators findMany
*/
export type TypingIndicatorsFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the TypingIndicators
*/
select?: TypingIndicatorsSelect<ExtArgs> | null
/**
* Omit specific fields from the TypingIndicators
*/
omit?: TypingIndicatorsOmit<ExtArgs> | null
/**
* Filter, which TypingIndicators to fetch.
*/
where?: TypingIndicatorsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of TypingIndicators to fetch.
*/
orderBy?: TypingIndicatorsOrderByWithRelationInput | TypingIndicatorsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for listing TypingIndicators.
*/
cursor?: TypingIndicatorsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` TypingIndicators from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` TypingIndicators.
*/
skip?: number
distinct?: TypingIndicatorsScalarFieldEnum | TypingIndicatorsScalarFieldEnum[]
}
/**
* TypingIndicators create
*/
export type TypingIndicatorsCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the TypingIndicators
*/
select?: TypingIndicatorsSelect<ExtArgs> | null
/**
* Omit specific fields from the TypingIndicators
*/
omit?: TypingIndicatorsOmit<ExtArgs> | null
/**
* The data needed to create a TypingIndicators.
*/
data: XOR<TypingIndicatorsCreateInput, TypingIndicatorsUncheckedCreateInput>
}
/**
* TypingIndicators createMany
*/
export type TypingIndicatorsCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* The data used to create many TypingIndicators.
*/
data: TypingIndicatorsCreateManyInput | TypingIndicatorsCreateManyInput[]
skipDuplicates?: boolean
}
/**
* TypingIndicators createManyAndReturn
*/
export type TypingIndicatorsCreateManyAndReturnArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the TypingIndicators
*/
select?: TypingIndicatorsSelectCreateManyAndReturn<ExtArgs> | null
/**
* Omit specific fields from the TypingIndicators
*/
omit?: TypingIndicatorsOmit<ExtArgs> | null
/**
* The data used to create many TypingIndicators.
*/
data: TypingIndicatorsCreateManyInput | TypingIndicatorsCreateManyInput[]
skipDuplicates?: boolean
}
/**
* TypingIndicators update
*/
export type TypingIndicatorsUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the TypingIndicators
*/
select?: TypingIndicatorsSelect<ExtArgs> | null
/**
* Omit specific fields from the TypingIndicators
*/
omit?: TypingIndicatorsOmit<ExtArgs> | null
/**
* The data needed to update a TypingIndicators.
*/
data: XOR<TypingIndicatorsUpdateInput, TypingIndicatorsUncheckedUpdateInput>
/**
* Choose, which TypingIndicators to update.
*/
where: TypingIndicatorsWhereUniqueInput
}
/**
* TypingIndicators updateMany
*/
export type TypingIndicatorsUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* The data used to update TypingIndicators.
*/
data: XOR<TypingIndicatorsUpdateManyMutationInput, TypingIndicatorsUncheckedUpdateManyInput>
/**
* Filter which TypingIndicators to update
*/
where?: TypingIndicatorsWhereInput
/**
* Limit how many TypingIndicators to update.
*/
limit?: number
}
/**
* TypingIndicators updateManyAndReturn
*/
export type TypingIndicatorsUpdateManyAndReturnArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the TypingIndicators
*/
select?: TypingIndicatorsSelectUpdateManyAndReturn<ExtArgs> | null
/**
* Omit specific fields from the TypingIndicators
*/
omit?: TypingIndicatorsOmit<ExtArgs> | null
/**
* The data used to update TypingIndicators.
*/
data: XOR<TypingIndicatorsUpdateManyMutationInput, TypingIndicatorsUncheckedUpdateManyInput>
/**
* Filter which TypingIndicators to update
*/
where?: TypingIndicatorsWhereInput
/**
* Limit how many TypingIndicators to update.
*/
limit?: number
}
/**
* TypingIndicators upsert
*/
export type TypingIndicatorsUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the TypingIndicators
*/
select?: TypingIndicatorsSelect<ExtArgs> | null
/**
* Omit specific fields from the TypingIndicators
*/
omit?: TypingIndicatorsOmit<ExtArgs> | null
/**
* The filter to search for the TypingIndicators to update in case it exists.
*/
where: TypingIndicatorsWhereUniqueInput
/**
* In case the TypingIndicators found by the `where` argument doesn't exist, create a new TypingIndicators with this data.
*/
create: XOR<TypingIndicatorsCreateInput, TypingIndicatorsUncheckedCreateInput>
/**
* In case the TypingIndicators was found with the provided `where` argument, update it with this data.
*/
update: XOR<TypingIndicatorsUpdateInput, TypingIndicatorsUncheckedUpdateInput>
}
/**
* TypingIndicators delete
*/
export type TypingIndicatorsDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the TypingIndicators
*/
select?: TypingIndicatorsSelect<ExtArgs> | null
/**
* Omit specific fields from the TypingIndicators
*/
omit?: TypingIndicatorsOmit<ExtArgs> | null
/**
* Filter which TypingIndicators to delete.
*/
where: TypingIndicatorsWhereUniqueInput
}
/**
* TypingIndicators deleteMany
*/
export type TypingIndicatorsDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Filter which TypingIndicators to delete
*/
where?: TypingIndicatorsWhereInput
/**
* Limit how many TypingIndicators to delete.
*/
limit?: number
}
/**
* TypingIndicators without action
*/
export type TypingIndicatorsDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the TypingIndicators
*/
select?: TypingIndicatorsSelect<ExtArgs> | null
/**
* Omit specific fields from the TypingIndicators
*/
omit?: TypingIndicatorsOmit<ExtArgs> | null
}
/**
* Model ConversationParticipants
*/
export type AggregateConversationParticipants = {
_count: ConversationParticipantsCountAggregateOutputType | null
_min: ConversationParticipantsMinAggregateOutputType | null
_max: ConversationParticipantsMaxAggregateOutputType | null
}
export type ConversationParticipantsMinAggregateOutputType = {
id: string | null
conversationId: string | null
userId: string | null
userType: $Enums.SenderType | null
role: $Enums.ParticipantRole | null
joinedAt: Date | null
leftAt: Date | null
}
export type ConversationParticipantsMaxAggregateOutputType = {
id: string | null
conversationId: string | null
userId: string | null
userType: $Enums.SenderType | null
role: $Enums.ParticipantRole | null
joinedAt: Date | null
leftAt: Date | null
}
export type ConversationParticipantsCountAggregateOutputType = {
id: number
conversationId: number
userId: number
userType: number
role: number
joinedAt: number
leftAt: number
_all: number
}
export type ConversationParticipantsMinAggregateInputType = {
id?: true
conversationId?: true
userId?: true
userType?: true
role?: true
joinedAt?: true
leftAt?: true
}
export type ConversationParticipantsMaxAggregateInputType = {
id?: true
conversationId?: true
userId?: true
userType?: true
role?: true
joinedAt?: true
leftAt?: true
}
export type ConversationParticipantsCountAggregateInputType = {
id?: true
conversationId?: true
userId?: true
userType?: true
role?: true
joinedAt?: true
leftAt?: true
_all?: true
}
export type ConversationParticipantsAggregateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Filter which ConversationParticipants to aggregate.
*/
where?: ConversationParticipantsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of ConversationParticipants to fetch.
*/
orderBy?: ConversationParticipantsOrderByWithRelationInput | ConversationParticipantsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the start position
*/
cursor?: ConversationParticipantsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` ConversationParticipants from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` ConversationParticipants.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Count returned ConversationParticipants
**/
_count?: true | ConversationParticipantsCountAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to find the minimum value
**/
_min?: ConversationParticipantsMinAggregateInputType
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
*
* Select which fields to find the maximum value
**/
_max?: ConversationParticipantsMaxAggregateInputType
}
export type GetConversationParticipantsAggregateType<T extends ConversationParticipantsAggregateArgs> = {
[P in keyof T & keyof AggregateConversationParticipants]: P extends '_count' | 'count'
? T[P] extends true
? number
: GetScalarType<T[P], AggregateConversationParticipants[P]>
: GetScalarType<T[P], AggregateConversationParticipants[P]>
}
export type ConversationParticipantsGroupByArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
where?: ConversationParticipantsWhereInput
orderBy?: ConversationParticipantsOrderByWithAggregationInput | ConversationParticipantsOrderByWithAggregationInput[]
by: ConversationParticipantsScalarFieldEnum[] | ConversationParticipantsScalarFieldEnum
having?: ConversationParticipantsScalarWhereWithAggregatesInput
take?: number
skip?: number
_count?: ConversationParticipantsCountAggregateInputType | true
_min?: ConversationParticipantsMinAggregateInputType
_max?: ConversationParticipantsMaxAggregateInputType
}
export type ConversationParticipantsGroupByOutputType = {
id: string
conversationId: string
userId: string
userType: $Enums.SenderType
role: $Enums.ParticipantRole
joinedAt: Date
leftAt: Date | null
_count: ConversationParticipantsCountAggregateOutputType | null
_min: ConversationParticipantsMinAggregateOutputType | null
_max: ConversationParticipantsMaxAggregateOutputType | null
}
type GetConversationParticipantsGroupByPayload<T extends ConversationParticipantsGroupByArgs> = Prisma.PrismaPromise<
Array<
PickEnumerable<ConversationParticipantsGroupByOutputType, T['by']> &
{
[P in ((keyof T) & (keyof ConversationParticipantsGroupByOutputType))]: P extends '_count'
? T[P] extends boolean
? number
: GetScalarType<T[P], ConversationParticipantsGroupByOutputType[P]>
: GetScalarType<T[P], ConversationParticipantsGroupByOutputType[P]>
}
>
>
export type ConversationParticipantsSelect<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
conversationId?: boolean
userId?: boolean
userType?: boolean
role?: boolean
joinedAt?: boolean
leftAt?: boolean
}, ExtArgs["result"]["conversationParticipants"]>
export type ConversationParticipantsSelectCreateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
conversationId?: boolean
userId?: boolean
userType?: boolean
role?: boolean
joinedAt?: boolean
leftAt?: boolean
}, ExtArgs["result"]["conversationParticipants"]>
export type ConversationParticipantsSelectUpdateManyAndReturn<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetSelect<{
id?: boolean
conversationId?: boolean
userId?: boolean
userType?: boolean
role?: boolean
joinedAt?: boolean
leftAt?: boolean
}, ExtArgs["result"]["conversationParticipants"]>
export type ConversationParticipantsSelectScalar = {
id?: boolean
conversationId?: boolean
userId?: boolean
userType?: boolean
role?: boolean
joinedAt?: boolean
leftAt?: boolean
}
export type ConversationParticipantsOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "conversationId" | "userId" | "userType" | "role" | "joinedAt" | "leftAt", ExtArgs["result"]["conversationParticipants"]>
export type $ConversationParticipantsPayload<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
name: "ConversationParticipants"
objects: {}
scalars: $Extensions.GetPayloadResult<{
id: string
conversationId: string
userId: string
userType: $Enums.SenderType
role: $Enums.ParticipantRole
joinedAt: Date
leftAt: Date | null
}, ExtArgs["result"]["conversationParticipants"]>
composites: {}
}
type ConversationParticipantsGetPayload<S extends boolean | null | undefined | ConversationParticipantsDefaultArgs> = $Result.GetResult<Prisma.$ConversationParticipantsPayload, S>
type ConversationParticipantsCountArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> =
Omit<ConversationParticipantsFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
select?: ConversationParticipantsCountAggregateInputType | true
}
export interface ConversationParticipantsDelegate<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> {
[K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['ConversationParticipants'], meta: { name: 'ConversationParticipants' } }
/**
* Find zero or one ConversationParticipants that matches the filter.
* @param {ConversationParticipantsFindUniqueArgs} args - Arguments to find a ConversationParticipants
* @example
* // Get one ConversationParticipants
* const conversationParticipants = await prisma.conversationParticipants.findUnique({
* where: {
* // ... provide filter here
* }
* })
*/
findUnique<T extends ConversationParticipantsFindUniqueArgs>(args: SelectSubset<T, ConversationParticipantsFindUniqueArgs<ExtArgs>>): Prisma__ConversationParticipantsClient<$Result.GetResult<Prisma.$ConversationParticipantsPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
/**
* Find one ConversationParticipants that matches the filter or throw an error with `error.code='P2025'`
* if no matches were found.
* @param {ConversationParticipantsFindUniqueOrThrowArgs} args - Arguments to find a ConversationParticipants
* @example
* // Get one ConversationParticipants
* const conversationParticipants = await prisma.conversationParticipants.findUniqueOrThrow({
* where: {
* // ... provide filter here
* }
* })
*/
findUniqueOrThrow<T extends ConversationParticipantsFindUniqueOrThrowArgs>(args: SelectSubset<T, ConversationParticipantsFindUniqueOrThrowArgs<ExtArgs>>): Prisma__ConversationParticipantsClient<$Result.GetResult<Prisma.$ConversationParticipantsPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Find the first ConversationParticipants that matches the filter.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationParticipantsFindFirstArgs} args - Arguments to find a ConversationParticipants
* @example
* // Get one ConversationParticipants
* const conversationParticipants = await prisma.conversationParticipants.findFirst({
* where: {
* // ... provide filter here
* }
* })
*/
findFirst<T extends ConversationParticipantsFindFirstArgs>(args?: SelectSubset<T, ConversationParticipantsFindFirstArgs<ExtArgs>>): Prisma__ConversationParticipantsClient<$Result.GetResult<Prisma.$ConversationParticipantsPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
/**
* Find the first ConversationParticipants that matches the filter or
* throw `PrismaKnownClientError` with `P2025` code if no matches were found.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationParticipantsFindFirstOrThrowArgs} args - Arguments to find a ConversationParticipants
* @example
* // Get one ConversationParticipants
* const conversationParticipants = await prisma.conversationParticipants.findFirstOrThrow({
* where: {
* // ... provide filter here
* }
* })
*/
findFirstOrThrow<T extends ConversationParticipantsFindFirstOrThrowArgs>(args?: SelectSubset<T, ConversationParticipantsFindFirstOrThrowArgs<ExtArgs>>): Prisma__ConversationParticipantsClient<$Result.GetResult<Prisma.$ConversationParticipantsPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Find zero or more ConversationParticipants that matches the filter.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationParticipantsFindManyArgs} args - Arguments to filter and select certain fields only.
* @example
* // Get all ConversationParticipants
* const conversationParticipants = await prisma.conversationParticipants.findMany()
*
* // Get first 10 ConversationParticipants
* const conversationParticipants = await prisma.conversationParticipants.findMany({ take: 10 })
*
* // Only select the `id`
* const conversationParticipantsWithIdOnly = await prisma.conversationParticipants.findMany({ select: { id: true } })
*
*/
findMany<T extends ConversationParticipantsFindManyArgs>(args?: SelectSubset<T, ConversationParticipantsFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$ConversationParticipantsPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>
/**
* Create a ConversationParticipants.
* @param {ConversationParticipantsCreateArgs} args - Arguments to create a ConversationParticipants.
* @example
* // Create one ConversationParticipants
* const ConversationParticipants = await prisma.conversationParticipants.create({
* data: {
* // ... data to create a ConversationParticipants
* }
* })
*
*/
create<T extends ConversationParticipantsCreateArgs>(args: SelectSubset<T, ConversationParticipantsCreateArgs<ExtArgs>>): Prisma__ConversationParticipantsClient<$Result.GetResult<Prisma.$ConversationParticipantsPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Create many ConversationParticipants.
* @param {ConversationParticipantsCreateManyArgs} args - Arguments to create many ConversationParticipants.
* @example
* // Create many ConversationParticipants
* const conversationParticipants = await prisma.conversationParticipants.createMany({
* data: [
* // ... provide data here
* ]
* })
*
*/
createMany<T extends ConversationParticipantsCreateManyArgs>(args?: SelectSubset<T, ConversationParticipantsCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Create many ConversationParticipants and returns the data saved in the database.
* @param {ConversationParticipantsCreateManyAndReturnArgs} args - Arguments to create many ConversationParticipants.
* @example
* // Create many ConversationParticipants
* const conversationParticipants = await prisma.conversationParticipants.createManyAndReturn({
* data: [
* // ... provide data here
* ]
* })
*
* // Create many ConversationParticipants and only return the `id`
* const conversationParticipantsWithIdOnly = await prisma.conversationParticipants.createManyAndReturn({
* select: { id: true },
* data: [
* // ... provide data here
* ]
* })
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
*
*/
createManyAndReturn<T extends ConversationParticipantsCreateManyAndReturnArgs>(args?: SelectSubset<T, ConversationParticipantsCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$ConversationParticipantsPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
/**
* Delete a ConversationParticipants.
* @param {ConversationParticipantsDeleteArgs} args - Arguments to delete one ConversationParticipants.
* @example
* // Delete one ConversationParticipants
* const ConversationParticipants = await prisma.conversationParticipants.delete({
* where: {
* // ... filter to delete one ConversationParticipants
* }
* })
*
*/
delete<T extends ConversationParticipantsDeleteArgs>(args: SelectSubset<T, ConversationParticipantsDeleteArgs<ExtArgs>>): Prisma__ConversationParticipantsClient<$Result.GetResult<Prisma.$ConversationParticipantsPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Update one ConversationParticipants.
* @param {ConversationParticipantsUpdateArgs} args - Arguments to update one ConversationParticipants.
* @example
* // Update one ConversationParticipants
* const conversationParticipants = await prisma.conversationParticipants.update({
* where: {
* // ... provide filter here
* },
* data: {
* // ... provide data here
* }
* })
*
*/
update<T extends ConversationParticipantsUpdateArgs>(args: SelectSubset<T, ConversationParticipantsUpdateArgs<ExtArgs>>): Prisma__ConversationParticipantsClient<$Result.GetResult<Prisma.$ConversationParticipantsPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Delete zero or more ConversationParticipants.
* @param {ConversationParticipantsDeleteManyArgs} args - Arguments to filter ConversationParticipants to delete.
* @example
* // Delete a few ConversationParticipants
* const { count } = await prisma.conversationParticipants.deleteMany({
* where: {
* // ... provide filter here
* }
* })
*
*/
deleteMany<T extends ConversationParticipantsDeleteManyArgs>(args?: SelectSubset<T, ConversationParticipantsDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Update zero or more ConversationParticipants.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationParticipantsUpdateManyArgs} args - Arguments to update one or more rows.
* @example
* // Update many ConversationParticipants
* const conversationParticipants = await prisma.conversationParticipants.updateMany({
* where: {
* // ... provide filter here
* },
* data: {
* // ... provide data here
* }
* })
*
*/
updateMany<T extends ConversationParticipantsUpdateManyArgs>(args: SelectSubset<T, ConversationParticipantsUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<BatchPayload>
/**
* Update zero or more ConversationParticipants and returns the data updated in the database.
* @param {ConversationParticipantsUpdateManyAndReturnArgs} args - Arguments to update many ConversationParticipants.
* @example
* // Update many ConversationParticipants
* const conversationParticipants = await prisma.conversationParticipants.updateManyAndReturn({
* where: {
* // ... provide filter here
* },
* data: [
* // ... provide data here
* ]
* })
*
* // Update zero or more ConversationParticipants and only return the `id`
* const conversationParticipantsWithIdOnly = await prisma.conversationParticipants.updateManyAndReturn({
* select: { id: true },
* where: {
* // ... provide filter here
* },
* data: [
* // ... provide data here
* ]
* })
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
*
*/
updateManyAndReturn<T extends ConversationParticipantsUpdateManyAndReturnArgs>(args: SelectSubset<T, ConversationParticipantsUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<$Result.GetResult<Prisma.$ConversationParticipantsPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
/**
* Create or update one ConversationParticipants.
* @param {ConversationParticipantsUpsertArgs} args - Arguments to update or create a ConversationParticipants.
* @example
* // Update or create a ConversationParticipants
* const conversationParticipants = await prisma.conversationParticipants.upsert({
* create: {
* // ... data to create a ConversationParticipants
* },
* update: {
* // ... in case it already exists, update
* },
* where: {
* // ... the filter for the ConversationParticipants we want to update
* }
* })
*/
upsert<T extends ConversationParticipantsUpsertArgs>(args: SelectSubset<T, ConversationParticipantsUpsertArgs<ExtArgs>>): Prisma__ConversationParticipantsClient<$Result.GetResult<Prisma.$ConversationParticipantsPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
/**
* Count the number of ConversationParticipants.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationParticipantsCountArgs} args - Arguments to filter ConversationParticipants to count.
* @example
* // Count the number of ConversationParticipants
* const count = await prisma.conversationParticipants.count({
* where: {
* // ... the filter for the ConversationParticipants we want to count
* }
* })
**/
count<T extends ConversationParticipantsCountArgs>(
args?: Subset<T, ConversationParticipantsCountArgs>,
): Prisma.PrismaPromise<
T extends $Utils.Record<'select', any>
? T['select'] extends true
? number
: GetScalarType<T['select'], ConversationParticipantsCountAggregateOutputType>
: number
>
/**
* Allows you to perform aggregations operations on a ConversationParticipants.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationParticipantsAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
* @example
* // Ordered by age ascending
* // Where email contains prisma.io
* // Limited to the 10 users
* const aggregations = await prisma.user.aggregate({
* _avg: {
* age: true,
* },
* where: {
* email: {
* contains: "prisma.io",
* },
* },
* orderBy: {
* age: "asc",
* },
* take: 10,
* })
**/
aggregate<T extends ConversationParticipantsAggregateArgs>(args: Subset<T, ConversationParticipantsAggregateArgs>): Prisma.PrismaPromise<GetConversationParticipantsAggregateType<T>>
/**
* Group by ConversationParticipants.
* Note, that providing `undefined` is treated as the value not being there.
* Read more here: https://pris.ly/d/null-undefined
* @param {ConversationParticipantsGroupByArgs} args - Group by arguments.
* @example
* // Group by city, order by createdAt, get count
* const result = await prisma.user.groupBy({
* by: ['city', 'createdAt'],
* orderBy: {
* createdAt: true
* },
* _count: {
* _all: true
* },
* })
*
**/
groupBy<
T extends ConversationParticipantsGroupByArgs,
HasSelectOrTake extends Or<
Extends<'skip', Keys<T>>,
Extends<'take', Keys<T>>
>,
OrderByArg extends True extends HasSelectOrTake
? { orderBy: ConversationParticipantsGroupByArgs['orderBy'] }
: { orderBy?: ConversationParticipantsGroupByArgs['orderBy'] },
OrderFields extends ExcludeUnderscoreKeys<Keys<MaybeTupleToUnion<T['orderBy']>>>,
ByFields extends MaybeTupleToUnion<T['by']>,
ByValid extends Has<ByFields, OrderFields>,
HavingFields extends GetHavingFields<T['having']>,
HavingValid extends Has<ByFields, HavingFields>,
ByEmpty extends T['by'] extends never[] ? True : False,
InputErrors extends ByEmpty extends True
? `Error: "by" must not be empty.`
: HavingValid extends False
? {
[P in HavingFields]: P extends ByFields
? never
: P extends string
? `Error: Field "${P}" used in "having" needs to be provided in "by".`
: [
Error,
'Field ',
P,
` in "having" needs to be provided in "by"`,
]
}[HavingFields]
: 'take' extends Keys<T>
? 'orderBy' extends Keys<T>
? ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
: 'Error: If you provide "take", you also need to provide "orderBy"'
: 'skip' extends Keys<T>
? 'orderBy' extends Keys<T>
? ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
: 'Error: If you provide "skip", you also need to provide "orderBy"'
: ByValid extends True
? {}
: {
[P in OrderFields]: P extends ByFields
? never
: `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
}[OrderFields]
>(args: SubsetIntersection<T, ConversationParticipantsGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetConversationParticipantsGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
/**
* Fields of the ConversationParticipants model
*/
readonly fields: ConversationParticipantsFieldRefs;
}
/**
* The delegate class that acts as a "Promise-like" for ConversationParticipants.
* Why is this prefixed with `Prisma__`?
* Because we want to prevent naming conflicts as mentioned in
* https://github.com/prisma/prisma-client-js/issues/707
*/
export interface Prisma__ConversationParticipantsClient<T, Null = never, ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
readonly [Symbol.toStringTag]: "PrismaPromise"
/**
* Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of which ever callback is executed.
*/
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): $Utils.JsPromise<TResult1 | TResult2>
/**
* Attaches a callback for only the rejection of the Promise.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of the callback.
*/
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): $Utils.JsPromise<T | TResult>
/**
* Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
* resolved value cannot be modified from the callback.
* @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
* @returns A Promise for the completion of the callback.
*/
finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise<T>
}
/**
* Fields of the ConversationParticipants model
*/
interface ConversationParticipantsFieldRefs {
readonly id: FieldRef<"ConversationParticipants", 'String'>
readonly conversationId: FieldRef<"ConversationParticipants", 'String'>
readonly userId: FieldRef<"ConversationParticipants", 'String'>
readonly userType: FieldRef<"ConversationParticipants", 'SenderType'>
readonly role: FieldRef<"ConversationParticipants", 'ParticipantRole'>
readonly joinedAt: FieldRef<"ConversationParticipants", 'DateTime'>
readonly leftAt: FieldRef<"ConversationParticipants", 'DateTime'>
}
// Custom InputTypes
/**
* ConversationParticipants findUnique
*/
export type ConversationParticipantsFindUniqueArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the ConversationParticipants
*/
select?: ConversationParticipantsSelect<ExtArgs> | null
/**
* Omit specific fields from the ConversationParticipants
*/
omit?: ConversationParticipantsOmit<ExtArgs> | null
/**
* Filter, which ConversationParticipants to fetch.
*/
where: ConversationParticipantsWhereUniqueInput
}
/**
* ConversationParticipants findUniqueOrThrow
*/
export type ConversationParticipantsFindUniqueOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the ConversationParticipants
*/
select?: ConversationParticipantsSelect<ExtArgs> | null
/**
* Omit specific fields from the ConversationParticipants
*/
omit?: ConversationParticipantsOmit<ExtArgs> | null
/**
* Filter, which ConversationParticipants to fetch.
*/
where: ConversationParticipantsWhereUniqueInput
}
/**
* ConversationParticipants findFirst
*/
export type ConversationParticipantsFindFirstArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the ConversationParticipants
*/
select?: ConversationParticipantsSelect<ExtArgs> | null
/**
* Omit specific fields from the ConversationParticipants
*/
omit?: ConversationParticipantsOmit<ExtArgs> | null
/**
* Filter, which ConversationParticipants to fetch.
*/
where?: ConversationParticipantsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of ConversationParticipants to fetch.
*/
orderBy?: ConversationParticipantsOrderByWithRelationInput | ConversationParticipantsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for searching for ConversationParticipants.
*/
cursor?: ConversationParticipantsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` ConversationParticipants from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` ConversationParticipants.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
*
* Filter by unique combinations of ConversationParticipants.
*/
distinct?: ConversationParticipantsScalarFieldEnum | ConversationParticipantsScalarFieldEnum[]
}
/**
* ConversationParticipants findFirstOrThrow
*/
export type ConversationParticipantsFindFirstOrThrowArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the ConversationParticipants
*/
select?: ConversationParticipantsSelect<ExtArgs> | null
/**
* Omit specific fields from the ConversationParticipants
*/
omit?: ConversationParticipantsOmit<ExtArgs> | null
/**
* Filter, which ConversationParticipants to fetch.
*/
where?: ConversationParticipantsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of ConversationParticipants to fetch.
*/
orderBy?: ConversationParticipantsOrderByWithRelationInput | ConversationParticipantsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for searching for ConversationParticipants.
*/
cursor?: ConversationParticipantsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` ConversationParticipants from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` ConversationParticipants.
*/
skip?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
*
* Filter by unique combinations of ConversationParticipants.
*/
distinct?: ConversationParticipantsScalarFieldEnum | ConversationParticipantsScalarFieldEnum[]
}
/**
* ConversationParticipants findMany
*/
export type ConversationParticipantsFindManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the ConversationParticipants
*/
select?: ConversationParticipantsSelect<ExtArgs> | null
/**
* Omit specific fields from the ConversationParticipants
*/
omit?: ConversationParticipantsOmit<ExtArgs> | null
/**
* Filter, which ConversationParticipants to fetch.
*/
where?: ConversationParticipantsWhereInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
*
* Determine the order of ConversationParticipants to fetch.
*/
orderBy?: ConversationParticipantsOrderByWithRelationInput | ConversationParticipantsOrderByWithRelationInput[]
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
*
* Sets the position for listing ConversationParticipants.
*/
cursor?: ConversationParticipantsWhereUniqueInput
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Take `±n` ConversationParticipants from the position of the cursor.
*/
take?: number
/**
* {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
*
* Skip the first `n` ConversationParticipants.
*/
skip?: number
distinct?: ConversationParticipantsScalarFieldEnum | ConversationParticipantsScalarFieldEnum[]
}
/**
* ConversationParticipants create
*/
export type ConversationParticipantsCreateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the ConversationParticipants
*/
select?: ConversationParticipantsSelect<ExtArgs> | null
/**
* Omit specific fields from the ConversationParticipants
*/
omit?: ConversationParticipantsOmit<ExtArgs> | null
/**
* The data needed to create a ConversationParticipants.
*/
data: XOR<ConversationParticipantsCreateInput, ConversationParticipantsUncheckedCreateInput>
}
/**
* ConversationParticipants createMany
*/
export type ConversationParticipantsCreateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* The data used to create many ConversationParticipants.
*/
data: ConversationParticipantsCreateManyInput | ConversationParticipantsCreateManyInput[]
skipDuplicates?: boolean
}
/**
* ConversationParticipants createManyAndReturn
*/
export type ConversationParticipantsCreateManyAndReturnArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the ConversationParticipants
*/
select?: ConversationParticipantsSelectCreateManyAndReturn<ExtArgs> | null
/**
* Omit specific fields from the ConversationParticipants
*/
omit?: ConversationParticipantsOmit<ExtArgs> | null
/**
* The data used to create many ConversationParticipants.
*/
data: ConversationParticipantsCreateManyInput | ConversationParticipantsCreateManyInput[]
skipDuplicates?: boolean
}
/**
* ConversationParticipants update
*/
export type ConversationParticipantsUpdateArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the ConversationParticipants
*/
select?: ConversationParticipantsSelect<ExtArgs> | null
/**
* Omit specific fields from the ConversationParticipants
*/
omit?: ConversationParticipantsOmit<ExtArgs> | null
/**
* The data needed to update a ConversationParticipants.
*/
data: XOR<ConversationParticipantsUpdateInput, ConversationParticipantsUncheckedUpdateInput>
/**
* Choose, which ConversationParticipants to update.
*/
where: ConversationParticipantsWhereUniqueInput
}
/**
* ConversationParticipants updateMany
*/
export type ConversationParticipantsUpdateManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* The data used to update ConversationParticipants.
*/
data: XOR<ConversationParticipantsUpdateManyMutationInput, ConversationParticipantsUncheckedUpdateManyInput>
/**
* Filter which ConversationParticipants to update
*/
where?: ConversationParticipantsWhereInput
/**
* Limit how many ConversationParticipants to update.
*/
limit?: number
}
/**
* ConversationParticipants updateManyAndReturn
*/
export type ConversationParticipantsUpdateManyAndReturnArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the ConversationParticipants
*/
select?: ConversationParticipantsSelectUpdateManyAndReturn<ExtArgs> | null
/**
* Omit specific fields from the ConversationParticipants
*/
omit?: ConversationParticipantsOmit<ExtArgs> | null
/**
* The data used to update ConversationParticipants.
*/
data: XOR<ConversationParticipantsUpdateManyMutationInput, ConversationParticipantsUncheckedUpdateManyInput>
/**
* Filter which ConversationParticipants to update
*/
where?: ConversationParticipantsWhereInput
/**
* Limit how many ConversationParticipants to update.
*/
limit?: number
}
/**
* ConversationParticipants upsert
*/
export type ConversationParticipantsUpsertArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the ConversationParticipants
*/
select?: ConversationParticipantsSelect<ExtArgs> | null
/**
* Omit specific fields from the ConversationParticipants
*/
omit?: ConversationParticipantsOmit<ExtArgs> | null
/**
* The filter to search for the ConversationParticipants to update in case it exists.
*/
where: ConversationParticipantsWhereUniqueInput
/**
* In case the ConversationParticipants found by the `where` argument doesn't exist, create a new ConversationParticipants with this data.
*/
create: XOR<ConversationParticipantsCreateInput, ConversationParticipantsUncheckedCreateInput>
/**
* In case the ConversationParticipants was found with the provided `where` argument, update it with this data.
*/
update: XOR<ConversationParticipantsUpdateInput, ConversationParticipantsUncheckedUpdateInput>
}
/**
* ConversationParticipants delete
*/
export type ConversationParticipantsDeleteArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the ConversationParticipants
*/
select?: ConversationParticipantsSelect<ExtArgs> | null
/**
* Omit specific fields from the ConversationParticipants
*/
omit?: ConversationParticipantsOmit<ExtArgs> | null
/**
* Filter which ConversationParticipants to delete.
*/
where: ConversationParticipantsWhereUniqueInput
}
/**
* ConversationParticipants deleteMany
*/
export type ConversationParticipantsDeleteManyArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Filter which ConversationParticipants to delete
*/
where?: ConversationParticipantsWhereInput
/**
* Limit how many ConversationParticipants to delete.
*/
limit?: number
}
/**
* ConversationParticipants without action
*/
export type ConversationParticipantsDefaultArgs<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
/**
* Select specific fields to fetch from the ConversationParticipants
*/
select?: ConversationParticipantsSelect<ExtArgs> | null
/**
* Omit specific fields from the ConversationParticipants
*/
omit?: ConversationParticipantsOmit<ExtArgs> | null
}
/**
* Enums
*/
export const TransactionIsolationLevel: {
ReadUncommitted: 'ReadUncommitted',
ReadCommitted: 'ReadCommitted',
RepeatableRead: 'RepeatableRead',
Serializable: 'Serializable'
};
export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel]
export const ConversationsScalarFieldEnum: {
id: 'id',
subject: 'subject',
status: 'status',
priority: 'priority',
category: 'category',
userId: 'userId',
adminId: 'adminId',
createdAt: 'createdAt',
updatedAt: 'updatedAt',
lastMessageAt: 'lastMessageAt',
metadata: 'metadata'
};
export type ConversationsScalarFieldEnum = (typeof ConversationsScalarFieldEnum)[keyof typeof ConversationsScalarFieldEnum]
export const MessagesScalarFieldEnum: {
id: 'id',
conversationId: 'conversationId',
content: 'content',
messageType: 'messageType',
senderId: 'senderId',
senderType: 'senderType',
senderName: 'senderName',
status: 'status',
readAt: 'readAt',
deliveredAt: 'deliveredAt',
metadata: 'metadata',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
export type MessagesScalarFieldEnum = (typeof MessagesScalarFieldEnum)[keyof typeof MessagesScalarFieldEnum]
export const MessageAttachmentsScalarFieldEnum: {
id: 'id',
messageId: 'messageId',
fileName: 'fileName',
fileSize: 'fileSize',
mimeType: 'mimeType',
fileUrl: 'fileUrl',
thumbnailUrl: 'thumbnailUrl',
metadata: 'metadata',
createdAt: 'createdAt'
};
export type MessageAttachmentsScalarFieldEnum = (typeof MessageAttachmentsScalarFieldEnum)[keyof typeof MessageAttachmentsScalarFieldEnum]
export const TypingIndicatorsScalarFieldEnum: {
id: 'id',
conversationId: 'conversationId',
userId: 'userId',
userType: 'userType',
startedAt: 'startedAt'
};
export type TypingIndicatorsScalarFieldEnum = (typeof TypingIndicatorsScalarFieldEnum)[keyof typeof TypingIndicatorsScalarFieldEnum]
export const ConversationParticipantsScalarFieldEnum: {
id: 'id',
conversationId: 'conversationId',
userId: 'userId',
userType: 'userType',
role: 'role',
joinedAt: 'joinedAt',
leftAt: 'leftAt'
};
export type ConversationParticipantsScalarFieldEnum = (typeof ConversationParticipantsScalarFieldEnum)[keyof typeof ConversationParticipantsScalarFieldEnum]
export const SortOrder: {
asc: 'asc',
desc: 'desc'
};
export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]
export const NullableJsonNullValueInput: {
DbNull: typeof DbNull,
JsonNull: typeof JsonNull
};
export type NullableJsonNullValueInput = (typeof NullableJsonNullValueInput)[keyof typeof NullableJsonNullValueInput]
export const QueryMode: {
default: 'default',
insensitive: 'insensitive'
};
export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode]
export const JsonNullValueFilter: {
DbNull: typeof DbNull,
JsonNull: typeof JsonNull,
AnyNull: typeof AnyNull
};
export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter]
export const NullsOrder: {
first: 'first',
last: 'last'
};
export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]
/**
* Field references
*/
/**
* Reference to a field of type 'String'
*/
export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String'>
/**
* Reference to a field of type 'String[]'
*/
export type ListStringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String[]'>
/**
* Reference to a field of type 'ConversationStatus'
*/
export type EnumConversationStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ConversationStatus'>
/**
* Reference to a field of type 'ConversationStatus[]'
*/
export type ListEnumConversationStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ConversationStatus[]'>
/**
* Reference to a field of type 'Priority'
*/
export type EnumPriorityFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Priority'>
/**
* Reference to a field of type 'Priority[]'
*/
export type ListEnumPriorityFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Priority[]'>
/**
* Reference to a field of type 'DateTime'
*/
export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'>
/**
* Reference to a field of type 'DateTime[]'
*/
export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'>
/**
* Reference to a field of type 'Json'
*/
export type JsonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Json'>
/**
* Reference to a field of type 'QueryMode'
*/
export type EnumQueryModeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'QueryMode'>
/**
* Reference to a field of type 'MessageType'
*/
export type EnumMessageTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MessageType'>
/**
* Reference to a field of type 'MessageType[]'
*/
export type ListEnumMessageTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MessageType[]'>
/**
* Reference to a field of type 'SenderType'
*/
export type EnumSenderTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SenderType'>
/**
* Reference to a field of type 'SenderType[]'
*/
export type ListEnumSenderTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SenderType[]'>
/**
* Reference to a field of type 'MessageStatus'
*/
export type EnumMessageStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MessageStatus'>
/**
* Reference to a field of type 'MessageStatus[]'
*/
export type ListEnumMessageStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MessageStatus[]'>
/**
* Reference to a field of type 'Int'
*/
export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'>
/**
* Reference to a field of type 'Int[]'
*/
export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int[]'>
/**
* Reference to a field of type 'ParticipantRole'
*/
export type EnumParticipantRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ParticipantRole'>
/**
* Reference to a field of type 'ParticipantRole[]'
*/
export type ListEnumParticipantRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'ParticipantRole[]'>
/**
* Reference to a field of type 'Float'
*/
export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'>
/**
* Reference to a field of type 'Float[]'
*/
export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'>
/**
* Deep Input Types
*/
export type ConversationsWhereInput = {
AND?: ConversationsWhereInput | ConversationsWhereInput[]
OR?: ConversationsWhereInput[]
NOT?: ConversationsWhereInput | ConversationsWhereInput[]
id?: StringFilter<"Conversations"> | string
subject?: StringNullableFilter<"Conversations"> | string | null
status?: EnumConversationStatusFilter<"Conversations"> | $Enums.ConversationStatus
priority?: EnumPriorityFilter<"Conversations"> | $Enums.Priority
category?: StringNullableFilter<"Conversations"> | string | null
userId?: StringFilter<"Conversations"> | string
adminId?: StringNullableFilter<"Conversations"> | string | null
createdAt?: DateTimeFilter<"Conversations"> | Date | string
updatedAt?: DateTimeFilter<"Conversations"> | Date | string
lastMessageAt?: DateTimeNullableFilter<"Conversations"> | Date | string | null
metadata?: JsonNullableFilter<"Conversations">
messages?: MessagesListRelationFilter
}
export type ConversationsOrderByWithRelationInput = {
id?: SortOrder
subject?: SortOrderInput | SortOrder
status?: SortOrder
priority?: SortOrder
category?: SortOrderInput | SortOrder
userId?: SortOrder
adminId?: SortOrderInput | SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
lastMessageAt?: SortOrderInput | SortOrder
metadata?: SortOrderInput | SortOrder
messages?: MessagesOrderByRelationAggregateInput
}
export type ConversationsWhereUniqueInput = Prisma.AtLeast<{
id?: string
AND?: ConversationsWhereInput | ConversationsWhereInput[]
OR?: ConversationsWhereInput[]
NOT?: ConversationsWhereInput | ConversationsWhereInput[]
subject?: StringNullableFilter<"Conversations"> | string | null
status?: EnumConversationStatusFilter<"Conversations"> | $Enums.ConversationStatus
priority?: EnumPriorityFilter<"Conversations"> | $Enums.Priority
category?: StringNullableFilter<"Conversations"> | string | null
userId?: StringFilter<"Conversations"> | string
adminId?: StringNullableFilter<"Conversations"> | string | null
createdAt?: DateTimeFilter<"Conversations"> | Date | string
updatedAt?: DateTimeFilter<"Conversations"> | Date | string
lastMessageAt?: DateTimeNullableFilter<"Conversations"> | Date | string | null
metadata?: JsonNullableFilter<"Conversations">
messages?: MessagesListRelationFilter
}, "id">
export type ConversationsOrderByWithAggregationInput = {
id?: SortOrder
subject?: SortOrderInput | SortOrder
status?: SortOrder
priority?: SortOrder
category?: SortOrderInput | SortOrder
userId?: SortOrder
adminId?: SortOrderInput | SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
lastMessageAt?: SortOrderInput | SortOrder
metadata?: SortOrderInput | SortOrder
_count?: ConversationsCountOrderByAggregateInput
_max?: ConversationsMaxOrderByAggregateInput
_min?: ConversationsMinOrderByAggregateInput
}
export type ConversationsScalarWhereWithAggregatesInput = {
AND?: ConversationsScalarWhereWithAggregatesInput | ConversationsScalarWhereWithAggregatesInput[]
OR?: ConversationsScalarWhereWithAggregatesInput[]
NOT?: ConversationsScalarWhereWithAggregatesInput | ConversationsScalarWhereWithAggregatesInput[]
id?: StringWithAggregatesFilter<"Conversations"> | string
subject?: StringNullableWithAggregatesFilter<"Conversations"> | string | null
status?: EnumConversationStatusWithAggregatesFilter<"Conversations"> | $Enums.ConversationStatus
priority?: EnumPriorityWithAggregatesFilter<"Conversations"> | $Enums.Priority
category?: StringNullableWithAggregatesFilter<"Conversations"> | string | null
userId?: StringWithAggregatesFilter<"Conversations"> | string
adminId?: StringNullableWithAggregatesFilter<"Conversations"> | string | null
createdAt?: DateTimeWithAggregatesFilter<"Conversations"> | Date | string
updatedAt?: DateTimeWithAggregatesFilter<"Conversations"> | Date | string
lastMessageAt?: DateTimeNullableWithAggregatesFilter<"Conversations"> | Date | string | null
metadata?: JsonNullableWithAggregatesFilter<"Conversations">
}
export type MessagesWhereInput = {
AND?: MessagesWhereInput | MessagesWhereInput[]
OR?: MessagesWhereInput[]
NOT?: MessagesWhereInput | MessagesWhereInput[]
id?: StringFilter<"Messages"> | string
conversationId?: StringFilter<"Messages"> | string
content?: StringFilter<"Messages"> | string
messageType?: EnumMessageTypeFilter<"Messages"> | $Enums.MessageType
senderId?: StringFilter<"Messages"> | string
senderType?: EnumSenderTypeFilter<"Messages"> | $Enums.SenderType
senderName?: StringNullableFilter<"Messages"> | string | null
status?: EnumMessageStatusFilter<"Messages"> | $Enums.MessageStatus
readAt?: DateTimeNullableFilter<"Messages"> | Date | string | null
deliveredAt?: DateTimeNullableFilter<"Messages"> | Date | string | null
metadata?: JsonNullableFilter<"Messages">
createdAt?: DateTimeFilter<"Messages"> | Date | string
updatedAt?: DateTimeFilter<"Messages"> | Date | string
conversation?: XOR<ConversationsScalarRelationFilter, ConversationsWhereInput>
}
export type MessagesOrderByWithRelationInput = {
id?: SortOrder
conversationId?: SortOrder
content?: SortOrder
messageType?: SortOrder
senderId?: SortOrder
senderType?: SortOrder
senderName?: SortOrderInput | SortOrder
status?: SortOrder
readAt?: SortOrderInput | SortOrder
deliveredAt?: SortOrderInput | SortOrder
metadata?: SortOrderInput | SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
conversation?: ConversationsOrderByWithRelationInput
}
export type MessagesWhereUniqueInput = Prisma.AtLeast<{
id?: string
AND?: MessagesWhereInput | MessagesWhereInput[]
OR?: MessagesWhereInput[]
NOT?: MessagesWhereInput | MessagesWhereInput[]
conversationId?: StringFilter<"Messages"> | string
content?: StringFilter<"Messages"> | string
messageType?: EnumMessageTypeFilter<"Messages"> | $Enums.MessageType
senderId?: StringFilter<"Messages"> | string
senderType?: EnumSenderTypeFilter<"Messages"> | $Enums.SenderType
senderName?: StringNullableFilter<"Messages"> | string | null
status?: EnumMessageStatusFilter<"Messages"> | $Enums.MessageStatus
readAt?: DateTimeNullableFilter<"Messages"> | Date | string | null
deliveredAt?: DateTimeNullableFilter<"Messages"> | Date | string | null
metadata?: JsonNullableFilter<"Messages">
createdAt?: DateTimeFilter<"Messages"> | Date | string
updatedAt?: DateTimeFilter<"Messages"> | Date | string
conversation?: XOR<ConversationsScalarRelationFilter, ConversationsWhereInput>
}, "id">
export type MessagesOrderByWithAggregationInput = {
id?: SortOrder
conversationId?: SortOrder
content?: SortOrder
messageType?: SortOrder
senderId?: SortOrder
senderType?: SortOrder
senderName?: SortOrderInput | SortOrder
status?: SortOrder
readAt?: SortOrderInput | SortOrder
deliveredAt?: SortOrderInput | SortOrder
metadata?: SortOrderInput | SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
_count?: MessagesCountOrderByAggregateInput
_max?: MessagesMaxOrderByAggregateInput
_min?: MessagesMinOrderByAggregateInput
}
export type MessagesScalarWhereWithAggregatesInput = {
AND?: MessagesScalarWhereWithAggregatesInput | MessagesScalarWhereWithAggregatesInput[]
OR?: MessagesScalarWhereWithAggregatesInput[]
NOT?: MessagesScalarWhereWithAggregatesInput | MessagesScalarWhereWithAggregatesInput[]
id?: StringWithAggregatesFilter<"Messages"> | string
conversationId?: StringWithAggregatesFilter<"Messages"> | string
content?: StringWithAggregatesFilter<"Messages"> | string
messageType?: EnumMessageTypeWithAggregatesFilter<"Messages"> | $Enums.MessageType
senderId?: StringWithAggregatesFilter<"Messages"> | string
senderType?: EnumSenderTypeWithAggregatesFilter<"Messages"> | $Enums.SenderType
senderName?: StringNullableWithAggregatesFilter<"Messages"> | string | null
status?: EnumMessageStatusWithAggregatesFilter<"Messages"> | $Enums.MessageStatus
readAt?: DateTimeNullableWithAggregatesFilter<"Messages"> | Date | string | null
deliveredAt?: DateTimeNullableWithAggregatesFilter<"Messages"> | Date | string | null
metadata?: JsonNullableWithAggregatesFilter<"Messages">
createdAt?: DateTimeWithAggregatesFilter<"Messages"> | Date | string
updatedAt?: DateTimeWithAggregatesFilter<"Messages"> | Date | string
}
export type MessageAttachmentsWhereInput = {
AND?: MessageAttachmentsWhereInput | MessageAttachmentsWhereInput[]
OR?: MessageAttachmentsWhereInput[]
NOT?: MessageAttachmentsWhereInput | MessageAttachmentsWhereInput[]
id?: StringFilter<"MessageAttachments"> | string
messageId?: StringFilter<"MessageAttachments"> | string
fileName?: StringFilter<"MessageAttachments"> | string
fileSize?: IntFilter<"MessageAttachments"> | number
mimeType?: StringFilter<"MessageAttachments"> | string
fileUrl?: StringFilter<"MessageAttachments"> | string
thumbnailUrl?: StringNullableFilter<"MessageAttachments"> | string | null
metadata?: JsonNullableFilter<"MessageAttachments">
createdAt?: DateTimeFilter<"MessageAttachments"> | Date | string
}
export type MessageAttachmentsOrderByWithRelationInput = {
id?: SortOrder
messageId?: SortOrder
fileName?: SortOrder
fileSize?: SortOrder
mimeType?: SortOrder
fileUrl?: SortOrder
thumbnailUrl?: SortOrderInput | SortOrder
metadata?: SortOrderInput | SortOrder
createdAt?: SortOrder
}
export type MessageAttachmentsWhereUniqueInput = Prisma.AtLeast<{
id?: string
AND?: MessageAttachmentsWhereInput | MessageAttachmentsWhereInput[]
OR?: MessageAttachmentsWhereInput[]
NOT?: MessageAttachmentsWhereInput | MessageAttachmentsWhereInput[]
messageId?: StringFilter<"MessageAttachments"> | string
fileName?: StringFilter<"MessageAttachments"> | string
fileSize?: IntFilter<"MessageAttachments"> | number
mimeType?: StringFilter<"MessageAttachments"> | string
fileUrl?: StringFilter<"MessageAttachments"> | string
thumbnailUrl?: StringNullableFilter<"MessageAttachments"> | string | null
metadata?: JsonNullableFilter<"MessageAttachments">
createdAt?: DateTimeFilter<"MessageAttachments"> | Date | string
}, "id">
export type MessageAttachmentsOrderByWithAggregationInput = {
id?: SortOrder
messageId?: SortOrder
fileName?: SortOrder
fileSize?: SortOrder
mimeType?: SortOrder
fileUrl?: SortOrder
thumbnailUrl?: SortOrderInput | SortOrder
metadata?: SortOrderInput | SortOrder
createdAt?: SortOrder
_count?: MessageAttachmentsCountOrderByAggregateInput
_avg?: MessageAttachmentsAvgOrderByAggregateInput
_max?: MessageAttachmentsMaxOrderByAggregateInput
_min?: MessageAttachmentsMinOrderByAggregateInput
_sum?: MessageAttachmentsSumOrderByAggregateInput
}
export type MessageAttachmentsScalarWhereWithAggregatesInput = {
AND?: MessageAttachmentsScalarWhereWithAggregatesInput | MessageAttachmentsScalarWhereWithAggregatesInput[]
OR?: MessageAttachmentsScalarWhereWithAggregatesInput[]
NOT?: MessageAttachmentsScalarWhereWithAggregatesInput | MessageAttachmentsScalarWhereWithAggregatesInput[]
id?: StringWithAggregatesFilter<"MessageAttachments"> | string
messageId?: StringWithAggregatesFilter<"MessageAttachments"> | string
fileName?: StringWithAggregatesFilter<"MessageAttachments"> | string
fileSize?: IntWithAggregatesFilter<"MessageAttachments"> | number
mimeType?: StringWithAggregatesFilter<"MessageAttachments"> | string
fileUrl?: StringWithAggregatesFilter<"MessageAttachments"> | string
thumbnailUrl?: StringNullableWithAggregatesFilter<"MessageAttachments"> | string | null
metadata?: JsonNullableWithAggregatesFilter<"MessageAttachments">
createdAt?: DateTimeWithAggregatesFilter<"MessageAttachments"> | Date | string
}
export type TypingIndicatorsWhereInput = {
AND?: TypingIndicatorsWhereInput | TypingIndicatorsWhereInput[]
OR?: TypingIndicatorsWhereInput[]
NOT?: TypingIndicatorsWhereInput | TypingIndicatorsWhereInput[]
id?: StringFilter<"TypingIndicators"> | string
conversationId?: StringFilter<"TypingIndicators"> | string
userId?: StringFilter<"TypingIndicators"> | string
userType?: EnumSenderTypeFilter<"TypingIndicators"> | $Enums.SenderType
startedAt?: DateTimeFilter<"TypingIndicators"> | Date | string
}
export type TypingIndicatorsOrderByWithRelationInput = {
id?: SortOrder
conversationId?: SortOrder
userId?: SortOrder
userType?: SortOrder
startedAt?: SortOrder
}
export type TypingIndicatorsWhereUniqueInput = Prisma.AtLeast<{
id?: string
conversationId_userId?: TypingIndicatorsConversationIdUserIdCompoundUniqueInput
AND?: TypingIndicatorsWhereInput | TypingIndicatorsWhereInput[]
OR?: TypingIndicatorsWhereInput[]
NOT?: TypingIndicatorsWhereInput | TypingIndicatorsWhereInput[]
conversationId?: StringFilter<"TypingIndicators"> | string
userId?: StringFilter<"TypingIndicators"> | string
userType?: EnumSenderTypeFilter<"TypingIndicators"> | $Enums.SenderType
startedAt?: DateTimeFilter<"TypingIndicators"> | Date | string
}, "id" | "conversationId_userId">
export type TypingIndicatorsOrderByWithAggregationInput = {
id?: SortOrder
conversationId?: SortOrder
userId?: SortOrder
userType?: SortOrder
startedAt?: SortOrder
_count?: TypingIndicatorsCountOrderByAggregateInput
_max?: TypingIndicatorsMaxOrderByAggregateInput
_min?: TypingIndicatorsMinOrderByAggregateInput
}
export type TypingIndicatorsScalarWhereWithAggregatesInput = {
AND?: TypingIndicatorsScalarWhereWithAggregatesInput | TypingIndicatorsScalarWhereWithAggregatesInput[]
OR?: TypingIndicatorsScalarWhereWithAggregatesInput[]
NOT?: TypingIndicatorsScalarWhereWithAggregatesInput | TypingIndicatorsScalarWhereWithAggregatesInput[]
id?: StringWithAggregatesFilter<"TypingIndicators"> | string
conversationId?: StringWithAggregatesFilter<"TypingIndicators"> | string
userId?: StringWithAggregatesFilter<"TypingIndicators"> | string
userType?: EnumSenderTypeWithAggregatesFilter<"TypingIndicators"> | $Enums.SenderType
startedAt?: DateTimeWithAggregatesFilter<"TypingIndicators"> | Date | string
}
export type ConversationParticipantsWhereInput = {
AND?: ConversationParticipantsWhereInput | ConversationParticipantsWhereInput[]
OR?: ConversationParticipantsWhereInput[]
NOT?: ConversationParticipantsWhereInput | ConversationParticipantsWhereInput[]
id?: StringFilter<"ConversationParticipants"> | string
conversationId?: StringFilter<"ConversationParticipants"> | string
userId?: StringFilter<"ConversationParticipants"> | string
userType?: EnumSenderTypeFilter<"ConversationParticipants"> | $Enums.SenderType
role?: EnumParticipantRoleFilter<"ConversationParticipants"> | $Enums.ParticipantRole
joinedAt?: DateTimeFilter<"ConversationParticipants"> | Date | string
leftAt?: DateTimeNullableFilter<"ConversationParticipants"> | Date | string | null
}
export type ConversationParticipantsOrderByWithRelationInput = {
id?: SortOrder
conversationId?: SortOrder
userId?: SortOrder
userType?: SortOrder
role?: SortOrder
joinedAt?: SortOrder
leftAt?: SortOrderInput | SortOrder
}
export type ConversationParticipantsWhereUniqueInput = Prisma.AtLeast<{
id?: string
conversationId_userId?: ConversationParticipantsConversationIdUserIdCompoundUniqueInput
AND?: ConversationParticipantsWhereInput | ConversationParticipantsWhereInput[]
OR?: ConversationParticipantsWhereInput[]
NOT?: ConversationParticipantsWhereInput | ConversationParticipantsWhereInput[]
conversationId?: StringFilter<"ConversationParticipants"> | string
userId?: StringFilter<"ConversationParticipants"> | string
userType?: EnumSenderTypeFilter<"ConversationParticipants"> | $Enums.SenderType
role?: EnumParticipantRoleFilter<"ConversationParticipants"> | $Enums.ParticipantRole
joinedAt?: DateTimeFilter<"ConversationParticipants"> | Date | string
leftAt?: DateTimeNullableFilter<"ConversationParticipants"> | Date | string | null
}, "id" | "conversationId_userId">
export type ConversationParticipantsOrderByWithAggregationInput = {
id?: SortOrder
conversationId?: SortOrder
userId?: SortOrder
userType?: SortOrder
role?: SortOrder
joinedAt?: SortOrder
leftAt?: SortOrderInput | SortOrder
_count?: ConversationParticipantsCountOrderByAggregateInput
_max?: ConversationParticipantsMaxOrderByAggregateInput
_min?: ConversationParticipantsMinOrderByAggregateInput
}
export type ConversationParticipantsScalarWhereWithAggregatesInput = {
AND?: ConversationParticipantsScalarWhereWithAggregatesInput | ConversationParticipantsScalarWhereWithAggregatesInput[]
OR?: ConversationParticipantsScalarWhereWithAggregatesInput[]
NOT?: ConversationParticipantsScalarWhereWithAggregatesInput | ConversationParticipantsScalarWhereWithAggregatesInput[]
id?: StringWithAggregatesFilter<"ConversationParticipants"> | string
conversationId?: StringWithAggregatesFilter<"ConversationParticipants"> | string
userId?: StringWithAggregatesFilter<"ConversationParticipants"> | string
userType?: EnumSenderTypeWithAggregatesFilter<"ConversationParticipants"> | $Enums.SenderType
role?: EnumParticipantRoleWithAggregatesFilter<"ConversationParticipants"> | $Enums.ParticipantRole
joinedAt?: DateTimeWithAggregatesFilter<"ConversationParticipants"> | Date | string
leftAt?: DateTimeNullableWithAggregatesFilter<"ConversationParticipants"> | Date | string | null
}
export type ConversationsCreateInput = {
id?: string
subject?: string | null
status?: $Enums.ConversationStatus
priority?: $Enums.Priority
category?: string | null
userId: string
adminId?: string | null
createdAt?: Date | string
updatedAt?: Date | string
lastMessageAt?: Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
messages?: MessagesCreateNestedManyWithoutConversationInput
}
export type ConversationsUncheckedCreateInput = {
id?: string
subject?: string | null
status?: $Enums.ConversationStatus
priority?: $Enums.Priority
category?: string | null
userId: string
adminId?: string | null
createdAt?: Date | string
updatedAt?: Date | string
lastMessageAt?: Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
messages?: MessagesUncheckedCreateNestedManyWithoutConversationInput
}
export type ConversationsUpdateInput = {
id?: StringFieldUpdateOperationsInput | string
subject?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumConversationStatusFieldUpdateOperationsInput | $Enums.ConversationStatus
priority?: EnumPriorityFieldUpdateOperationsInput | $Enums.Priority
category?: NullableStringFieldUpdateOperationsInput | string | null
userId?: StringFieldUpdateOperationsInput | string
adminId?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
lastMessageAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
messages?: MessagesUpdateManyWithoutConversationNestedInput
}
export type ConversationsUncheckedUpdateInput = {
id?: StringFieldUpdateOperationsInput | string
subject?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumConversationStatusFieldUpdateOperationsInput | $Enums.ConversationStatus
priority?: EnumPriorityFieldUpdateOperationsInput | $Enums.Priority
category?: NullableStringFieldUpdateOperationsInput | string | null
userId?: StringFieldUpdateOperationsInput | string
adminId?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
lastMessageAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
messages?: MessagesUncheckedUpdateManyWithoutConversationNestedInput
}
export type ConversationsCreateManyInput = {
id?: string
subject?: string | null
status?: $Enums.ConversationStatus
priority?: $Enums.Priority
category?: string | null
userId: string
adminId?: string | null
createdAt?: Date | string
updatedAt?: Date | string
lastMessageAt?: Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
}
export type ConversationsUpdateManyMutationInput = {
id?: StringFieldUpdateOperationsInput | string
subject?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumConversationStatusFieldUpdateOperationsInput | $Enums.ConversationStatus
priority?: EnumPriorityFieldUpdateOperationsInput | $Enums.Priority
category?: NullableStringFieldUpdateOperationsInput | string | null
userId?: StringFieldUpdateOperationsInput | string
adminId?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
lastMessageAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
}
export type ConversationsUncheckedUpdateManyInput = {
id?: StringFieldUpdateOperationsInput | string
subject?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumConversationStatusFieldUpdateOperationsInput | $Enums.ConversationStatus
priority?: EnumPriorityFieldUpdateOperationsInput | $Enums.Priority
category?: NullableStringFieldUpdateOperationsInput | string | null
userId?: StringFieldUpdateOperationsInput | string
adminId?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
lastMessageAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
}
export type MessagesCreateInput = {
id?: string
content: string
messageType?: $Enums.MessageType
senderId: string
senderType: $Enums.SenderType
senderName?: string | null
status?: $Enums.MessageStatus
readAt?: Date | string | null
deliveredAt?: Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: Date | string
updatedAt?: Date | string
conversation: ConversationsCreateNestedOneWithoutMessagesInput
}
export type MessagesUncheckedCreateInput = {
id?: string
conversationId: string
content: string
messageType?: $Enums.MessageType
senderId: string
senderType: $Enums.SenderType
senderName?: string | null
status?: $Enums.MessageStatus
readAt?: Date | string | null
deliveredAt?: Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: Date | string
updatedAt?: Date | string
}
export type MessagesUpdateInput = {
id?: StringFieldUpdateOperationsInput | string
content?: StringFieldUpdateOperationsInput | string
messageType?: EnumMessageTypeFieldUpdateOperationsInput | $Enums.MessageType
senderId?: StringFieldUpdateOperationsInput | string
senderType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
senderName?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumMessageStatusFieldUpdateOperationsInput | $Enums.MessageStatus
readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
conversation?: ConversationsUpdateOneRequiredWithoutMessagesNestedInput
}
export type MessagesUncheckedUpdateInput = {
id?: StringFieldUpdateOperationsInput | string
conversationId?: StringFieldUpdateOperationsInput | string
content?: StringFieldUpdateOperationsInput | string
messageType?: EnumMessageTypeFieldUpdateOperationsInput | $Enums.MessageType
senderId?: StringFieldUpdateOperationsInput | string
senderType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
senderName?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumMessageStatusFieldUpdateOperationsInput | $Enums.MessageStatus
readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
export type MessagesCreateManyInput = {
id?: string
conversationId: string
content: string
messageType?: $Enums.MessageType
senderId: string
senderType: $Enums.SenderType
senderName?: string | null
status?: $Enums.MessageStatus
readAt?: Date | string | null
deliveredAt?: Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: Date | string
updatedAt?: Date | string
}
export type MessagesUpdateManyMutationInput = {
id?: StringFieldUpdateOperationsInput | string
content?: StringFieldUpdateOperationsInput | string
messageType?: EnumMessageTypeFieldUpdateOperationsInput | $Enums.MessageType
senderId?: StringFieldUpdateOperationsInput | string
senderType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
senderName?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumMessageStatusFieldUpdateOperationsInput | $Enums.MessageStatus
readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
export type MessagesUncheckedUpdateManyInput = {
id?: StringFieldUpdateOperationsInput | string
conversationId?: StringFieldUpdateOperationsInput | string
content?: StringFieldUpdateOperationsInput | string
messageType?: EnumMessageTypeFieldUpdateOperationsInput | $Enums.MessageType
senderId?: StringFieldUpdateOperationsInput | string
senderType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
senderName?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumMessageStatusFieldUpdateOperationsInput | $Enums.MessageStatus
readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
export type MessageAttachmentsCreateInput = {
id?: string
messageId: string
fileName: string
fileSize: number
mimeType: string
fileUrl: string
thumbnailUrl?: string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: Date | string
}
export type MessageAttachmentsUncheckedCreateInput = {
id?: string
messageId: string
fileName: string
fileSize: number
mimeType: string
fileUrl: string
thumbnailUrl?: string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: Date | string
}
export type MessageAttachmentsUpdateInput = {
id?: StringFieldUpdateOperationsInput | string
messageId?: StringFieldUpdateOperationsInput | string
fileName?: StringFieldUpdateOperationsInput | string
fileSize?: IntFieldUpdateOperationsInput | number
mimeType?: StringFieldUpdateOperationsInput | string
fileUrl?: StringFieldUpdateOperationsInput | string
thumbnailUrl?: NullableStringFieldUpdateOperationsInput | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
export type MessageAttachmentsUncheckedUpdateInput = {
id?: StringFieldUpdateOperationsInput | string
messageId?: StringFieldUpdateOperationsInput | string
fileName?: StringFieldUpdateOperationsInput | string
fileSize?: IntFieldUpdateOperationsInput | number
mimeType?: StringFieldUpdateOperationsInput | string
fileUrl?: StringFieldUpdateOperationsInput | string
thumbnailUrl?: NullableStringFieldUpdateOperationsInput | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
export type MessageAttachmentsCreateManyInput = {
id?: string
messageId: string
fileName: string
fileSize: number
mimeType: string
fileUrl: string
thumbnailUrl?: string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: Date | string
}
export type MessageAttachmentsUpdateManyMutationInput = {
id?: StringFieldUpdateOperationsInput | string
messageId?: StringFieldUpdateOperationsInput | string
fileName?: StringFieldUpdateOperationsInput | string
fileSize?: IntFieldUpdateOperationsInput | number
mimeType?: StringFieldUpdateOperationsInput | string
fileUrl?: StringFieldUpdateOperationsInput | string
thumbnailUrl?: NullableStringFieldUpdateOperationsInput | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
export type MessageAttachmentsUncheckedUpdateManyInput = {
id?: StringFieldUpdateOperationsInput | string
messageId?: StringFieldUpdateOperationsInput | string
fileName?: StringFieldUpdateOperationsInput | string
fileSize?: IntFieldUpdateOperationsInput | number
mimeType?: StringFieldUpdateOperationsInput | string
fileUrl?: StringFieldUpdateOperationsInput | string
thumbnailUrl?: NullableStringFieldUpdateOperationsInput | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
export type TypingIndicatorsCreateInput = {
id?: string
conversationId: string
userId: string
userType: $Enums.SenderType
startedAt?: Date | string
}
export type TypingIndicatorsUncheckedCreateInput = {
id?: string
conversationId: string
userId: string
userType: $Enums.SenderType
startedAt?: Date | string
}
export type TypingIndicatorsUpdateInput = {
id?: StringFieldUpdateOperationsInput | string
conversationId?: StringFieldUpdateOperationsInput | string
userId?: StringFieldUpdateOperationsInput | string
userType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
startedAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
export type TypingIndicatorsUncheckedUpdateInput = {
id?: StringFieldUpdateOperationsInput | string
conversationId?: StringFieldUpdateOperationsInput | string
userId?: StringFieldUpdateOperationsInput | string
userType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
startedAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
export type TypingIndicatorsCreateManyInput = {
id?: string
conversationId: string
userId: string
userType: $Enums.SenderType
startedAt?: Date | string
}
export type TypingIndicatorsUpdateManyMutationInput = {
id?: StringFieldUpdateOperationsInput | string
conversationId?: StringFieldUpdateOperationsInput | string
userId?: StringFieldUpdateOperationsInput | string
userType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
startedAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
export type TypingIndicatorsUncheckedUpdateManyInput = {
id?: StringFieldUpdateOperationsInput | string
conversationId?: StringFieldUpdateOperationsInput | string
userId?: StringFieldUpdateOperationsInput | string
userType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
startedAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
export type ConversationParticipantsCreateInput = {
id?: string
conversationId: string
userId: string
userType: $Enums.SenderType
role?: $Enums.ParticipantRole
joinedAt?: Date | string
leftAt?: Date | string | null
}
export type ConversationParticipantsUncheckedCreateInput = {
id?: string
conversationId: string
userId: string
userType: $Enums.SenderType
role?: $Enums.ParticipantRole
joinedAt?: Date | string
leftAt?: Date | string | null
}
export type ConversationParticipantsUpdateInput = {
id?: StringFieldUpdateOperationsInput | string
conversationId?: StringFieldUpdateOperationsInput | string
userId?: StringFieldUpdateOperationsInput | string
userType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
role?: EnumParticipantRoleFieldUpdateOperationsInput | $Enums.ParticipantRole
joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string
leftAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
}
export type ConversationParticipantsUncheckedUpdateInput = {
id?: StringFieldUpdateOperationsInput | string
conversationId?: StringFieldUpdateOperationsInput | string
userId?: StringFieldUpdateOperationsInput | string
userType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
role?: EnumParticipantRoleFieldUpdateOperationsInput | $Enums.ParticipantRole
joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string
leftAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
}
export type ConversationParticipantsCreateManyInput = {
id?: string
conversationId: string
userId: string
userType: $Enums.SenderType
role?: $Enums.ParticipantRole
joinedAt?: Date | string
leftAt?: Date | string | null
}
export type ConversationParticipantsUpdateManyMutationInput = {
id?: StringFieldUpdateOperationsInput | string
conversationId?: StringFieldUpdateOperationsInput | string
userId?: StringFieldUpdateOperationsInput | string
userType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
role?: EnumParticipantRoleFieldUpdateOperationsInput | $Enums.ParticipantRole
joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string
leftAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
}
export type ConversationParticipantsUncheckedUpdateManyInput = {
id?: StringFieldUpdateOperationsInput | string
conversationId?: StringFieldUpdateOperationsInput | string
userId?: StringFieldUpdateOperationsInput | string
userType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
role?: EnumParticipantRoleFieldUpdateOperationsInput | $Enums.ParticipantRole
joinedAt?: DateTimeFieldUpdateOperationsInput | Date | string
leftAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
}
export type StringFilter<$PrismaModel = never> = {
equals?: string | StringFieldRefInput<$PrismaModel>
in?: string[] | ListStringFieldRefInput<$PrismaModel>
notIn?: string[] | ListStringFieldRefInput<$PrismaModel>
lt?: string | StringFieldRefInput<$PrismaModel>
lte?: string | StringFieldRefInput<$PrismaModel>
gt?: string | StringFieldRefInput<$PrismaModel>
gte?: string | StringFieldRefInput<$PrismaModel>
contains?: string | StringFieldRefInput<$PrismaModel>
startsWith?: string | StringFieldRefInput<$PrismaModel>
endsWith?: string | StringFieldRefInput<$PrismaModel>
mode?: QueryMode
not?: NestedStringFilter<$PrismaModel> | string
}
export type StringNullableFilter<$PrismaModel = never> = {
equals?: string | StringFieldRefInput<$PrismaModel> | null
in?: string[] | ListStringFieldRefInput<$PrismaModel> | null
notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null
lt?: string | StringFieldRefInput<$PrismaModel>
lte?: string | StringFieldRefInput<$PrismaModel>
gt?: string | StringFieldRefInput<$PrismaModel>
gte?: string | StringFieldRefInput<$PrismaModel>
contains?: string | StringFieldRefInput<$PrismaModel>
startsWith?: string | StringFieldRefInput<$PrismaModel>
endsWith?: string | StringFieldRefInput<$PrismaModel>
mode?: QueryMode
not?: NestedStringNullableFilter<$PrismaModel> | string | null
}
export type EnumConversationStatusFilter<$PrismaModel = never> = {
equals?: $Enums.ConversationStatus | EnumConversationStatusFieldRefInput<$PrismaModel>
in?: $Enums.ConversationStatus[] | ListEnumConversationStatusFieldRefInput<$PrismaModel>
notIn?: $Enums.ConversationStatus[] | ListEnumConversationStatusFieldRefInput<$PrismaModel>
not?: NestedEnumConversationStatusFilter<$PrismaModel> | $Enums.ConversationStatus
}
export type EnumPriorityFilter<$PrismaModel = never> = {
equals?: $Enums.Priority | EnumPriorityFieldRefInput<$PrismaModel>
in?: $Enums.Priority[] | ListEnumPriorityFieldRefInput<$PrismaModel>
notIn?: $Enums.Priority[] | ListEnumPriorityFieldRefInput<$PrismaModel>
not?: NestedEnumPriorityFilter<$PrismaModel> | $Enums.Priority
}
export type DateTimeFilter<$PrismaModel = never> = {
equals?: Date | string | DateTimeFieldRefInput<$PrismaModel>
in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel>
notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel>
lt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
not?: NestedDateTimeFilter<$PrismaModel> | Date | string
}
export type DateTimeNullableFilter<$PrismaModel = never> = {
equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null
in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null
notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null
lt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null
}
export type JsonNullableFilter<$PrismaModel = never> =
| PatchUndefined<
Either<Required<JsonNullableFilterBase<$PrismaModel>>, Exclude<keyof Required<JsonNullableFilterBase<$PrismaModel>>, 'path'>>,
Required<JsonNullableFilterBase<$PrismaModel>>
>
| OptionalFlat<Omit<Required<JsonNullableFilterBase<$PrismaModel>>, 'path'>>
export type JsonNullableFilterBase<$PrismaModel = never> = {
equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter
path?: string[]
mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel>
string_contains?: string | StringFieldRefInput<$PrismaModel>
string_starts_with?: string | StringFieldRefInput<$PrismaModel>
string_ends_with?: string | StringFieldRefInput<$PrismaModel>
array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null
array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null
array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null
lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel>
lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel>
gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel>
gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel>
not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter
}
export type MessagesListRelationFilter = {
every?: MessagesWhereInput
some?: MessagesWhereInput
none?: MessagesWhereInput
}
export type SortOrderInput = {
sort: SortOrder
nulls?: NullsOrder
}
export type MessagesOrderByRelationAggregateInput = {
_count?: SortOrder
}
export type ConversationsCountOrderByAggregateInput = {
id?: SortOrder
subject?: SortOrder
status?: SortOrder
priority?: SortOrder
category?: SortOrder
userId?: SortOrder
adminId?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
lastMessageAt?: SortOrder
metadata?: SortOrder
}
export type ConversationsMaxOrderByAggregateInput = {
id?: SortOrder
subject?: SortOrder
status?: SortOrder
priority?: SortOrder
category?: SortOrder
userId?: SortOrder
adminId?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
lastMessageAt?: SortOrder
}
export type ConversationsMinOrderByAggregateInput = {
id?: SortOrder
subject?: SortOrder
status?: SortOrder
priority?: SortOrder
category?: SortOrder
userId?: SortOrder
adminId?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
lastMessageAt?: SortOrder
}
export type StringWithAggregatesFilter<$PrismaModel = never> = {
equals?: string | StringFieldRefInput<$PrismaModel>
in?: string[] | ListStringFieldRefInput<$PrismaModel>
notIn?: string[] | ListStringFieldRefInput<$PrismaModel>
lt?: string | StringFieldRefInput<$PrismaModel>
lte?: string | StringFieldRefInput<$PrismaModel>
gt?: string | StringFieldRefInput<$PrismaModel>
gte?: string | StringFieldRefInput<$PrismaModel>
contains?: string | StringFieldRefInput<$PrismaModel>
startsWith?: string | StringFieldRefInput<$PrismaModel>
endsWith?: string | StringFieldRefInput<$PrismaModel>
mode?: QueryMode
not?: NestedStringWithAggregatesFilter<$PrismaModel> | string
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedStringFilter<$PrismaModel>
_max?: NestedStringFilter<$PrismaModel>
}
export type StringNullableWithAggregatesFilter<$PrismaModel = never> = {
equals?: string | StringFieldRefInput<$PrismaModel> | null
in?: string[] | ListStringFieldRefInput<$PrismaModel> | null
notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null
lt?: string | StringFieldRefInput<$PrismaModel>
lte?: string | StringFieldRefInput<$PrismaModel>
gt?: string | StringFieldRefInput<$PrismaModel>
gte?: string | StringFieldRefInput<$PrismaModel>
contains?: string | StringFieldRefInput<$PrismaModel>
startsWith?: string | StringFieldRefInput<$PrismaModel>
endsWith?: string | StringFieldRefInput<$PrismaModel>
mode?: QueryMode
not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null
_count?: NestedIntNullableFilter<$PrismaModel>
_min?: NestedStringNullableFilter<$PrismaModel>
_max?: NestedStringNullableFilter<$PrismaModel>
}
export type EnumConversationStatusWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.ConversationStatus | EnumConversationStatusFieldRefInput<$PrismaModel>
in?: $Enums.ConversationStatus[] | ListEnumConversationStatusFieldRefInput<$PrismaModel>
notIn?: $Enums.ConversationStatus[] | ListEnumConversationStatusFieldRefInput<$PrismaModel>
not?: NestedEnumConversationStatusWithAggregatesFilter<$PrismaModel> | $Enums.ConversationStatus
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedEnumConversationStatusFilter<$PrismaModel>
_max?: NestedEnumConversationStatusFilter<$PrismaModel>
}
export type EnumPriorityWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.Priority | EnumPriorityFieldRefInput<$PrismaModel>
in?: $Enums.Priority[] | ListEnumPriorityFieldRefInput<$PrismaModel>
notIn?: $Enums.Priority[] | ListEnumPriorityFieldRefInput<$PrismaModel>
not?: NestedEnumPriorityWithAggregatesFilter<$PrismaModel> | $Enums.Priority
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedEnumPriorityFilter<$PrismaModel>
_max?: NestedEnumPriorityFilter<$PrismaModel>
}
export type DateTimeWithAggregatesFilter<$PrismaModel = never> = {
equals?: Date | string | DateTimeFieldRefInput<$PrismaModel>
in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel>
notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel>
lt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedDateTimeFilter<$PrismaModel>
_max?: NestedDateTimeFilter<$PrismaModel>
}
export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null
in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null
notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null
lt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null
_count?: NestedIntNullableFilter<$PrismaModel>
_min?: NestedDateTimeNullableFilter<$PrismaModel>
_max?: NestedDateTimeNullableFilter<$PrismaModel>
}
export type JsonNullableWithAggregatesFilter<$PrismaModel = never> =
| PatchUndefined<
Either<Required<JsonNullableWithAggregatesFilterBase<$PrismaModel>>, Exclude<keyof Required<JsonNullableWithAggregatesFilterBase<$PrismaModel>>, 'path'>>,
Required<JsonNullableWithAggregatesFilterBase<$PrismaModel>>
>
| OptionalFlat<Omit<Required<JsonNullableWithAggregatesFilterBase<$PrismaModel>>, 'path'>>
export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = {
equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter
path?: string[]
mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel>
string_contains?: string | StringFieldRefInput<$PrismaModel>
string_starts_with?: string | StringFieldRefInput<$PrismaModel>
string_ends_with?: string | StringFieldRefInput<$PrismaModel>
array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null
array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null
array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null
lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel>
lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel>
gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel>
gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel>
not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter
_count?: NestedIntNullableFilter<$PrismaModel>
_min?: NestedJsonNullableFilter<$PrismaModel>
_max?: NestedJsonNullableFilter<$PrismaModel>
}
export type EnumMessageTypeFilter<$PrismaModel = never> = {
equals?: $Enums.MessageType | EnumMessageTypeFieldRefInput<$PrismaModel>
in?: $Enums.MessageType[] | ListEnumMessageTypeFieldRefInput<$PrismaModel>
notIn?: $Enums.MessageType[] | ListEnumMessageTypeFieldRefInput<$PrismaModel>
not?: NestedEnumMessageTypeFilter<$PrismaModel> | $Enums.MessageType
}
export type EnumSenderTypeFilter<$PrismaModel = never> = {
equals?: $Enums.SenderType | EnumSenderTypeFieldRefInput<$PrismaModel>
in?: $Enums.SenderType[] | ListEnumSenderTypeFieldRefInput<$PrismaModel>
notIn?: $Enums.SenderType[] | ListEnumSenderTypeFieldRefInput<$PrismaModel>
not?: NestedEnumSenderTypeFilter<$PrismaModel> | $Enums.SenderType
}
export type EnumMessageStatusFilter<$PrismaModel = never> = {
equals?: $Enums.MessageStatus | EnumMessageStatusFieldRefInput<$PrismaModel>
in?: $Enums.MessageStatus[] | ListEnumMessageStatusFieldRefInput<$PrismaModel>
notIn?: $Enums.MessageStatus[] | ListEnumMessageStatusFieldRefInput<$PrismaModel>
not?: NestedEnumMessageStatusFilter<$PrismaModel> | $Enums.MessageStatus
}
export type ConversationsScalarRelationFilter = {
is?: ConversationsWhereInput
isNot?: ConversationsWhereInput
}
export type MessagesCountOrderByAggregateInput = {
id?: SortOrder
conversationId?: SortOrder
content?: SortOrder
messageType?: SortOrder
senderId?: SortOrder
senderType?: SortOrder
senderName?: SortOrder
status?: SortOrder
readAt?: SortOrder
deliveredAt?: SortOrder
metadata?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
}
export type MessagesMaxOrderByAggregateInput = {
id?: SortOrder
conversationId?: SortOrder
content?: SortOrder
messageType?: SortOrder
senderId?: SortOrder
senderType?: SortOrder
senderName?: SortOrder
status?: SortOrder
readAt?: SortOrder
deliveredAt?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
}
export type MessagesMinOrderByAggregateInput = {
id?: SortOrder
conversationId?: SortOrder
content?: SortOrder
messageType?: SortOrder
senderId?: SortOrder
senderType?: SortOrder
senderName?: SortOrder
status?: SortOrder
readAt?: SortOrder
deliveredAt?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
}
export type EnumMessageTypeWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.MessageType | EnumMessageTypeFieldRefInput<$PrismaModel>
in?: $Enums.MessageType[] | ListEnumMessageTypeFieldRefInput<$PrismaModel>
notIn?: $Enums.MessageType[] | ListEnumMessageTypeFieldRefInput<$PrismaModel>
not?: NestedEnumMessageTypeWithAggregatesFilter<$PrismaModel> | $Enums.MessageType
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedEnumMessageTypeFilter<$PrismaModel>
_max?: NestedEnumMessageTypeFilter<$PrismaModel>
}
export type EnumSenderTypeWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.SenderType | EnumSenderTypeFieldRefInput<$PrismaModel>
in?: $Enums.SenderType[] | ListEnumSenderTypeFieldRefInput<$PrismaModel>
notIn?: $Enums.SenderType[] | ListEnumSenderTypeFieldRefInput<$PrismaModel>
not?: NestedEnumSenderTypeWithAggregatesFilter<$PrismaModel> | $Enums.SenderType
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedEnumSenderTypeFilter<$PrismaModel>
_max?: NestedEnumSenderTypeFilter<$PrismaModel>
}
export type EnumMessageStatusWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.MessageStatus | EnumMessageStatusFieldRefInput<$PrismaModel>
in?: $Enums.MessageStatus[] | ListEnumMessageStatusFieldRefInput<$PrismaModel>
notIn?: $Enums.MessageStatus[] | ListEnumMessageStatusFieldRefInput<$PrismaModel>
not?: NestedEnumMessageStatusWithAggregatesFilter<$PrismaModel> | $Enums.MessageStatus
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedEnumMessageStatusFilter<$PrismaModel>
_max?: NestedEnumMessageStatusFilter<$PrismaModel>
}
export type IntFilter<$PrismaModel = never> = {
equals?: number | IntFieldRefInput<$PrismaModel>
in?: number[] | ListIntFieldRefInput<$PrismaModel>
notIn?: number[] | ListIntFieldRefInput<$PrismaModel>
lt?: number | IntFieldRefInput<$PrismaModel>
lte?: number | IntFieldRefInput<$PrismaModel>
gt?: number | IntFieldRefInput<$PrismaModel>
gte?: number | IntFieldRefInput<$PrismaModel>
not?: NestedIntFilter<$PrismaModel> | number
}
export type MessageAttachmentsCountOrderByAggregateInput = {
id?: SortOrder
messageId?: SortOrder
fileName?: SortOrder
fileSize?: SortOrder
mimeType?: SortOrder
fileUrl?: SortOrder
thumbnailUrl?: SortOrder
metadata?: SortOrder
createdAt?: SortOrder
}
export type MessageAttachmentsAvgOrderByAggregateInput = {
fileSize?: SortOrder
}
export type MessageAttachmentsMaxOrderByAggregateInput = {
id?: SortOrder
messageId?: SortOrder
fileName?: SortOrder
fileSize?: SortOrder
mimeType?: SortOrder
fileUrl?: SortOrder
thumbnailUrl?: SortOrder
createdAt?: SortOrder
}
export type MessageAttachmentsMinOrderByAggregateInput = {
id?: SortOrder
messageId?: SortOrder
fileName?: SortOrder
fileSize?: SortOrder
mimeType?: SortOrder
fileUrl?: SortOrder
thumbnailUrl?: SortOrder
createdAt?: SortOrder
}
export type MessageAttachmentsSumOrderByAggregateInput = {
fileSize?: SortOrder
}
export type IntWithAggregatesFilter<$PrismaModel = never> = {
equals?: number | IntFieldRefInput<$PrismaModel>
in?: number[] | ListIntFieldRefInput<$PrismaModel>
notIn?: number[] | ListIntFieldRefInput<$PrismaModel>
lt?: number | IntFieldRefInput<$PrismaModel>
lte?: number | IntFieldRefInput<$PrismaModel>
gt?: number | IntFieldRefInput<$PrismaModel>
gte?: number | IntFieldRefInput<$PrismaModel>
not?: NestedIntWithAggregatesFilter<$PrismaModel> | number
_count?: NestedIntFilter<$PrismaModel>
_avg?: NestedFloatFilter<$PrismaModel>
_sum?: NestedIntFilter<$PrismaModel>
_min?: NestedIntFilter<$PrismaModel>
_max?: NestedIntFilter<$PrismaModel>
}
export type TypingIndicatorsConversationIdUserIdCompoundUniqueInput = {
conversationId: string
userId: string
}
export type TypingIndicatorsCountOrderByAggregateInput = {
id?: SortOrder
conversationId?: SortOrder
userId?: SortOrder
userType?: SortOrder
startedAt?: SortOrder
}
export type TypingIndicatorsMaxOrderByAggregateInput = {
id?: SortOrder
conversationId?: SortOrder
userId?: SortOrder
userType?: SortOrder
startedAt?: SortOrder
}
export type TypingIndicatorsMinOrderByAggregateInput = {
id?: SortOrder
conversationId?: SortOrder
userId?: SortOrder
userType?: SortOrder
startedAt?: SortOrder
}
export type EnumParticipantRoleFilter<$PrismaModel = never> = {
equals?: $Enums.ParticipantRole | EnumParticipantRoleFieldRefInput<$PrismaModel>
in?: $Enums.ParticipantRole[] | ListEnumParticipantRoleFieldRefInput<$PrismaModel>
notIn?: $Enums.ParticipantRole[] | ListEnumParticipantRoleFieldRefInput<$PrismaModel>
not?: NestedEnumParticipantRoleFilter<$PrismaModel> | $Enums.ParticipantRole
}
export type ConversationParticipantsConversationIdUserIdCompoundUniqueInput = {
conversationId: string
userId: string
}
export type ConversationParticipantsCountOrderByAggregateInput = {
id?: SortOrder
conversationId?: SortOrder
userId?: SortOrder
userType?: SortOrder
role?: SortOrder
joinedAt?: SortOrder
leftAt?: SortOrder
}
export type ConversationParticipantsMaxOrderByAggregateInput = {
id?: SortOrder
conversationId?: SortOrder
userId?: SortOrder
userType?: SortOrder
role?: SortOrder
joinedAt?: SortOrder
leftAt?: SortOrder
}
export type ConversationParticipantsMinOrderByAggregateInput = {
id?: SortOrder
conversationId?: SortOrder
userId?: SortOrder
userType?: SortOrder
role?: SortOrder
joinedAt?: SortOrder
leftAt?: SortOrder
}
export type EnumParticipantRoleWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.ParticipantRole | EnumParticipantRoleFieldRefInput<$PrismaModel>
in?: $Enums.ParticipantRole[] | ListEnumParticipantRoleFieldRefInput<$PrismaModel>
notIn?: $Enums.ParticipantRole[] | ListEnumParticipantRoleFieldRefInput<$PrismaModel>
not?: NestedEnumParticipantRoleWithAggregatesFilter<$PrismaModel> | $Enums.ParticipantRole
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedEnumParticipantRoleFilter<$PrismaModel>
_max?: NestedEnumParticipantRoleFilter<$PrismaModel>
}
export type MessagesCreateNestedManyWithoutConversationInput = {
create?: XOR<MessagesCreateWithoutConversationInput, MessagesUncheckedCreateWithoutConversationInput> | MessagesCreateWithoutConversationInput[] | MessagesUncheckedCreateWithoutConversationInput[]
connectOrCreate?: MessagesCreateOrConnectWithoutConversationInput | MessagesCreateOrConnectWithoutConversationInput[]
createMany?: MessagesCreateManyConversationInputEnvelope
connect?: MessagesWhereUniqueInput | MessagesWhereUniqueInput[]
}
export type MessagesUncheckedCreateNestedManyWithoutConversationInput = {
create?: XOR<MessagesCreateWithoutConversationInput, MessagesUncheckedCreateWithoutConversationInput> | MessagesCreateWithoutConversationInput[] | MessagesUncheckedCreateWithoutConversationInput[]
connectOrCreate?: MessagesCreateOrConnectWithoutConversationInput | MessagesCreateOrConnectWithoutConversationInput[]
createMany?: MessagesCreateManyConversationInputEnvelope
connect?: MessagesWhereUniqueInput | MessagesWhereUniqueInput[]
}
export type StringFieldUpdateOperationsInput = {
set?: string
}
export type NullableStringFieldUpdateOperationsInput = {
set?: string | null
}
export type EnumConversationStatusFieldUpdateOperationsInput = {
set?: $Enums.ConversationStatus
}
export type EnumPriorityFieldUpdateOperationsInput = {
set?: $Enums.Priority
}
export type DateTimeFieldUpdateOperationsInput = {
set?: Date | string
}
export type NullableDateTimeFieldUpdateOperationsInput = {
set?: Date | string | null
}
export type MessagesUpdateManyWithoutConversationNestedInput = {
create?: XOR<MessagesCreateWithoutConversationInput, MessagesUncheckedCreateWithoutConversationInput> | MessagesCreateWithoutConversationInput[] | MessagesUncheckedCreateWithoutConversationInput[]
connectOrCreate?: MessagesCreateOrConnectWithoutConversationInput | MessagesCreateOrConnectWithoutConversationInput[]
upsert?: MessagesUpsertWithWhereUniqueWithoutConversationInput | MessagesUpsertWithWhereUniqueWithoutConversationInput[]
createMany?: MessagesCreateManyConversationInputEnvelope
set?: MessagesWhereUniqueInput | MessagesWhereUniqueInput[]
disconnect?: MessagesWhereUniqueInput | MessagesWhereUniqueInput[]
delete?: MessagesWhereUniqueInput | MessagesWhereUniqueInput[]
connect?: MessagesWhereUniqueInput | MessagesWhereUniqueInput[]
update?: MessagesUpdateWithWhereUniqueWithoutConversationInput | MessagesUpdateWithWhereUniqueWithoutConversationInput[]
updateMany?: MessagesUpdateManyWithWhereWithoutConversationInput | MessagesUpdateManyWithWhereWithoutConversationInput[]
deleteMany?: MessagesScalarWhereInput | MessagesScalarWhereInput[]
}
export type MessagesUncheckedUpdateManyWithoutConversationNestedInput = {
create?: XOR<MessagesCreateWithoutConversationInput, MessagesUncheckedCreateWithoutConversationInput> | MessagesCreateWithoutConversationInput[] | MessagesUncheckedCreateWithoutConversationInput[]
connectOrCreate?: MessagesCreateOrConnectWithoutConversationInput | MessagesCreateOrConnectWithoutConversationInput[]
upsert?: MessagesUpsertWithWhereUniqueWithoutConversationInput | MessagesUpsertWithWhereUniqueWithoutConversationInput[]
createMany?: MessagesCreateManyConversationInputEnvelope
set?: MessagesWhereUniqueInput | MessagesWhereUniqueInput[]
disconnect?: MessagesWhereUniqueInput | MessagesWhereUniqueInput[]
delete?: MessagesWhereUniqueInput | MessagesWhereUniqueInput[]
connect?: MessagesWhereUniqueInput | MessagesWhereUniqueInput[]
update?: MessagesUpdateWithWhereUniqueWithoutConversationInput | MessagesUpdateWithWhereUniqueWithoutConversationInput[]
updateMany?: MessagesUpdateManyWithWhereWithoutConversationInput | MessagesUpdateManyWithWhereWithoutConversationInput[]
deleteMany?: MessagesScalarWhereInput | MessagesScalarWhereInput[]
}
export type ConversationsCreateNestedOneWithoutMessagesInput = {
create?: XOR<ConversationsCreateWithoutMessagesInput, ConversationsUncheckedCreateWithoutMessagesInput>
connectOrCreate?: ConversationsCreateOrConnectWithoutMessagesInput
connect?: ConversationsWhereUniqueInput
}
export type EnumMessageTypeFieldUpdateOperationsInput = {
set?: $Enums.MessageType
}
export type EnumSenderTypeFieldUpdateOperationsInput = {
set?: $Enums.SenderType
}
export type EnumMessageStatusFieldUpdateOperationsInput = {
set?: $Enums.MessageStatus
}
export type ConversationsUpdateOneRequiredWithoutMessagesNestedInput = {
create?: XOR<ConversationsCreateWithoutMessagesInput, ConversationsUncheckedCreateWithoutMessagesInput>
connectOrCreate?: ConversationsCreateOrConnectWithoutMessagesInput
upsert?: ConversationsUpsertWithoutMessagesInput
connect?: ConversationsWhereUniqueInput
update?: XOR<XOR<ConversationsUpdateToOneWithWhereWithoutMessagesInput, ConversationsUpdateWithoutMessagesInput>, ConversationsUncheckedUpdateWithoutMessagesInput>
}
export type IntFieldUpdateOperationsInput = {
set?: number
increment?: number
decrement?: number
multiply?: number
divide?: number
}
export type EnumParticipantRoleFieldUpdateOperationsInput = {
set?: $Enums.ParticipantRole
}
export type NestedStringFilter<$PrismaModel = never> = {
equals?: string | StringFieldRefInput<$PrismaModel>
in?: string[] | ListStringFieldRefInput<$PrismaModel>
notIn?: string[] | ListStringFieldRefInput<$PrismaModel>
lt?: string | StringFieldRefInput<$PrismaModel>
lte?: string | StringFieldRefInput<$PrismaModel>
gt?: string | StringFieldRefInput<$PrismaModel>
gte?: string | StringFieldRefInput<$PrismaModel>
contains?: string | StringFieldRefInput<$PrismaModel>
startsWith?: string | StringFieldRefInput<$PrismaModel>
endsWith?: string | StringFieldRefInput<$PrismaModel>
not?: NestedStringFilter<$PrismaModel> | string
}
export type NestedStringNullableFilter<$PrismaModel = never> = {
equals?: string | StringFieldRefInput<$PrismaModel> | null
in?: string[] | ListStringFieldRefInput<$PrismaModel> | null
notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null
lt?: string | StringFieldRefInput<$PrismaModel>
lte?: string | StringFieldRefInput<$PrismaModel>
gt?: string | StringFieldRefInput<$PrismaModel>
gte?: string | StringFieldRefInput<$PrismaModel>
contains?: string | StringFieldRefInput<$PrismaModel>
startsWith?: string | StringFieldRefInput<$PrismaModel>
endsWith?: string | StringFieldRefInput<$PrismaModel>
not?: NestedStringNullableFilter<$PrismaModel> | string | null
}
export type NestedEnumConversationStatusFilter<$PrismaModel = never> = {
equals?: $Enums.ConversationStatus | EnumConversationStatusFieldRefInput<$PrismaModel>
in?: $Enums.ConversationStatus[] | ListEnumConversationStatusFieldRefInput<$PrismaModel>
notIn?: $Enums.ConversationStatus[] | ListEnumConversationStatusFieldRefInput<$PrismaModel>
not?: NestedEnumConversationStatusFilter<$PrismaModel> | $Enums.ConversationStatus
}
export type NestedEnumPriorityFilter<$PrismaModel = never> = {
equals?: $Enums.Priority | EnumPriorityFieldRefInput<$PrismaModel>
in?: $Enums.Priority[] | ListEnumPriorityFieldRefInput<$PrismaModel>
notIn?: $Enums.Priority[] | ListEnumPriorityFieldRefInput<$PrismaModel>
not?: NestedEnumPriorityFilter<$PrismaModel> | $Enums.Priority
}
export type NestedDateTimeFilter<$PrismaModel = never> = {
equals?: Date | string | DateTimeFieldRefInput<$PrismaModel>
in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel>
notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel>
lt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
not?: NestedDateTimeFilter<$PrismaModel> | Date | string
}
export type NestedDateTimeNullableFilter<$PrismaModel = never> = {
equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null
in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null
notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null
lt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null
}
export type NestedStringWithAggregatesFilter<$PrismaModel = never> = {
equals?: string | StringFieldRefInput<$PrismaModel>
in?: string[] | ListStringFieldRefInput<$PrismaModel>
notIn?: string[] | ListStringFieldRefInput<$PrismaModel>
lt?: string | StringFieldRefInput<$PrismaModel>
lte?: string | StringFieldRefInput<$PrismaModel>
gt?: string | StringFieldRefInput<$PrismaModel>
gte?: string | StringFieldRefInput<$PrismaModel>
contains?: string | StringFieldRefInput<$PrismaModel>
startsWith?: string | StringFieldRefInput<$PrismaModel>
endsWith?: string | StringFieldRefInput<$PrismaModel>
not?: NestedStringWithAggregatesFilter<$PrismaModel> | string
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedStringFilter<$PrismaModel>
_max?: NestedStringFilter<$PrismaModel>
}
export type NestedIntFilter<$PrismaModel = never> = {
equals?: number | IntFieldRefInput<$PrismaModel>
in?: number[] | ListIntFieldRefInput<$PrismaModel>
notIn?: number[] | ListIntFieldRefInput<$PrismaModel>
lt?: number | IntFieldRefInput<$PrismaModel>
lte?: number | IntFieldRefInput<$PrismaModel>
gt?: number | IntFieldRefInput<$PrismaModel>
gte?: number | IntFieldRefInput<$PrismaModel>
not?: NestedIntFilter<$PrismaModel> | number
}
export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = {
equals?: string | StringFieldRefInput<$PrismaModel> | null
in?: string[] | ListStringFieldRefInput<$PrismaModel> | null
notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null
lt?: string | StringFieldRefInput<$PrismaModel>
lte?: string | StringFieldRefInput<$PrismaModel>
gt?: string | StringFieldRefInput<$PrismaModel>
gte?: string | StringFieldRefInput<$PrismaModel>
contains?: string | StringFieldRefInput<$PrismaModel>
startsWith?: string | StringFieldRefInput<$PrismaModel>
endsWith?: string | StringFieldRefInput<$PrismaModel>
not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null
_count?: NestedIntNullableFilter<$PrismaModel>
_min?: NestedStringNullableFilter<$PrismaModel>
_max?: NestedStringNullableFilter<$PrismaModel>
}
export type NestedIntNullableFilter<$PrismaModel = never> = {
equals?: number | IntFieldRefInput<$PrismaModel> | null
in?: number[] | ListIntFieldRefInput<$PrismaModel> | null
notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null
lt?: number | IntFieldRefInput<$PrismaModel>
lte?: number | IntFieldRefInput<$PrismaModel>
gt?: number | IntFieldRefInput<$PrismaModel>
gte?: number | IntFieldRefInput<$PrismaModel>
not?: NestedIntNullableFilter<$PrismaModel> | number | null
}
export type NestedEnumConversationStatusWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.ConversationStatus | EnumConversationStatusFieldRefInput<$PrismaModel>
in?: $Enums.ConversationStatus[] | ListEnumConversationStatusFieldRefInput<$PrismaModel>
notIn?: $Enums.ConversationStatus[] | ListEnumConversationStatusFieldRefInput<$PrismaModel>
not?: NestedEnumConversationStatusWithAggregatesFilter<$PrismaModel> | $Enums.ConversationStatus
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedEnumConversationStatusFilter<$PrismaModel>
_max?: NestedEnumConversationStatusFilter<$PrismaModel>
}
export type NestedEnumPriorityWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.Priority | EnumPriorityFieldRefInput<$PrismaModel>
in?: $Enums.Priority[] | ListEnumPriorityFieldRefInput<$PrismaModel>
notIn?: $Enums.Priority[] | ListEnumPriorityFieldRefInput<$PrismaModel>
not?: NestedEnumPriorityWithAggregatesFilter<$PrismaModel> | $Enums.Priority
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedEnumPriorityFilter<$PrismaModel>
_max?: NestedEnumPriorityFilter<$PrismaModel>
}
export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = {
equals?: Date | string | DateTimeFieldRefInput<$PrismaModel>
in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel>
notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel>
lt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedDateTimeFilter<$PrismaModel>
_max?: NestedDateTimeFilter<$PrismaModel>
}
export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null
in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null
notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null
lt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
lte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gt?: Date | string | DateTimeFieldRefInput<$PrismaModel>
gte?: Date | string | DateTimeFieldRefInput<$PrismaModel>
not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null
_count?: NestedIntNullableFilter<$PrismaModel>
_min?: NestedDateTimeNullableFilter<$PrismaModel>
_max?: NestedDateTimeNullableFilter<$PrismaModel>
}
export type NestedJsonNullableFilter<$PrismaModel = never> =
| PatchUndefined<
Either<Required<NestedJsonNullableFilterBase<$PrismaModel>>, Exclude<keyof Required<NestedJsonNullableFilterBase<$PrismaModel>>, 'path'>>,
Required<NestedJsonNullableFilterBase<$PrismaModel>>
>
| OptionalFlat<Omit<Required<NestedJsonNullableFilterBase<$PrismaModel>>, 'path'>>
export type NestedJsonNullableFilterBase<$PrismaModel = never> = {
equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter
path?: string[]
mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel>
string_contains?: string | StringFieldRefInput<$PrismaModel>
string_starts_with?: string | StringFieldRefInput<$PrismaModel>
string_ends_with?: string | StringFieldRefInput<$PrismaModel>
array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null
array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null
array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null
lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel>
lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel>
gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel>
gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel>
not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter
}
export type NestedEnumMessageTypeFilter<$PrismaModel = never> = {
equals?: $Enums.MessageType | EnumMessageTypeFieldRefInput<$PrismaModel>
in?: $Enums.MessageType[] | ListEnumMessageTypeFieldRefInput<$PrismaModel>
notIn?: $Enums.MessageType[] | ListEnumMessageTypeFieldRefInput<$PrismaModel>
not?: NestedEnumMessageTypeFilter<$PrismaModel> | $Enums.MessageType
}
export type NestedEnumSenderTypeFilter<$PrismaModel = never> = {
equals?: $Enums.SenderType | EnumSenderTypeFieldRefInput<$PrismaModel>
in?: $Enums.SenderType[] | ListEnumSenderTypeFieldRefInput<$PrismaModel>
notIn?: $Enums.SenderType[] | ListEnumSenderTypeFieldRefInput<$PrismaModel>
not?: NestedEnumSenderTypeFilter<$PrismaModel> | $Enums.SenderType
}
export type NestedEnumMessageStatusFilter<$PrismaModel = never> = {
equals?: $Enums.MessageStatus | EnumMessageStatusFieldRefInput<$PrismaModel>
in?: $Enums.MessageStatus[] | ListEnumMessageStatusFieldRefInput<$PrismaModel>
notIn?: $Enums.MessageStatus[] | ListEnumMessageStatusFieldRefInput<$PrismaModel>
not?: NestedEnumMessageStatusFilter<$PrismaModel> | $Enums.MessageStatus
}
export type NestedEnumMessageTypeWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.MessageType | EnumMessageTypeFieldRefInput<$PrismaModel>
in?: $Enums.MessageType[] | ListEnumMessageTypeFieldRefInput<$PrismaModel>
notIn?: $Enums.MessageType[] | ListEnumMessageTypeFieldRefInput<$PrismaModel>
not?: NestedEnumMessageTypeWithAggregatesFilter<$PrismaModel> | $Enums.MessageType
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedEnumMessageTypeFilter<$PrismaModel>
_max?: NestedEnumMessageTypeFilter<$PrismaModel>
}
export type NestedEnumSenderTypeWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.SenderType | EnumSenderTypeFieldRefInput<$PrismaModel>
in?: $Enums.SenderType[] | ListEnumSenderTypeFieldRefInput<$PrismaModel>
notIn?: $Enums.SenderType[] | ListEnumSenderTypeFieldRefInput<$PrismaModel>
not?: NestedEnumSenderTypeWithAggregatesFilter<$PrismaModel> | $Enums.SenderType
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedEnumSenderTypeFilter<$PrismaModel>
_max?: NestedEnumSenderTypeFilter<$PrismaModel>
}
export type NestedEnumMessageStatusWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.MessageStatus | EnumMessageStatusFieldRefInput<$PrismaModel>
in?: $Enums.MessageStatus[] | ListEnumMessageStatusFieldRefInput<$PrismaModel>
notIn?: $Enums.MessageStatus[] | ListEnumMessageStatusFieldRefInput<$PrismaModel>
not?: NestedEnumMessageStatusWithAggregatesFilter<$PrismaModel> | $Enums.MessageStatus
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedEnumMessageStatusFilter<$PrismaModel>
_max?: NestedEnumMessageStatusFilter<$PrismaModel>
}
export type NestedIntWithAggregatesFilter<$PrismaModel = never> = {
equals?: number | IntFieldRefInput<$PrismaModel>
in?: number[] | ListIntFieldRefInput<$PrismaModel>
notIn?: number[] | ListIntFieldRefInput<$PrismaModel>
lt?: number | IntFieldRefInput<$PrismaModel>
lte?: number | IntFieldRefInput<$PrismaModel>
gt?: number | IntFieldRefInput<$PrismaModel>
gte?: number | IntFieldRefInput<$PrismaModel>
not?: NestedIntWithAggregatesFilter<$PrismaModel> | number
_count?: NestedIntFilter<$PrismaModel>
_avg?: NestedFloatFilter<$PrismaModel>
_sum?: NestedIntFilter<$PrismaModel>
_min?: NestedIntFilter<$PrismaModel>
_max?: NestedIntFilter<$PrismaModel>
}
export type NestedFloatFilter<$PrismaModel = never> = {
equals?: number | FloatFieldRefInput<$PrismaModel>
in?: number[] | ListFloatFieldRefInput<$PrismaModel>
notIn?: number[] | ListFloatFieldRefInput<$PrismaModel>
lt?: number | FloatFieldRefInput<$PrismaModel>
lte?: number | FloatFieldRefInput<$PrismaModel>
gt?: number | FloatFieldRefInput<$PrismaModel>
gte?: number | FloatFieldRefInput<$PrismaModel>
not?: NestedFloatFilter<$PrismaModel> | number
}
export type NestedEnumParticipantRoleFilter<$PrismaModel = never> = {
equals?: $Enums.ParticipantRole | EnumParticipantRoleFieldRefInput<$PrismaModel>
in?: $Enums.ParticipantRole[] | ListEnumParticipantRoleFieldRefInput<$PrismaModel>
notIn?: $Enums.ParticipantRole[] | ListEnumParticipantRoleFieldRefInput<$PrismaModel>
not?: NestedEnumParticipantRoleFilter<$PrismaModel> | $Enums.ParticipantRole
}
export type NestedEnumParticipantRoleWithAggregatesFilter<$PrismaModel = never> = {
equals?: $Enums.ParticipantRole | EnumParticipantRoleFieldRefInput<$PrismaModel>
in?: $Enums.ParticipantRole[] | ListEnumParticipantRoleFieldRefInput<$PrismaModel>
notIn?: $Enums.ParticipantRole[] | ListEnumParticipantRoleFieldRefInput<$PrismaModel>
not?: NestedEnumParticipantRoleWithAggregatesFilter<$PrismaModel> | $Enums.ParticipantRole
_count?: NestedIntFilter<$PrismaModel>
_min?: NestedEnumParticipantRoleFilter<$PrismaModel>
_max?: NestedEnumParticipantRoleFilter<$PrismaModel>
}
export type MessagesCreateWithoutConversationInput = {
id?: string
content: string
messageType?: $Enums.MessageType
senderId: string
senderType: $Enums.SenderType
senderName?: string | null
status?: $Enums.MessageStatus
readAt?: Date | string | null
deliveredAt?: Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: Date | string
updatedAt?: Date | string
}
export type MessagesUncheckedCreateWithoutConversationInput = {
id?: string
content: string
messageType?: $Enums.MessageType
senderId: string
senderType: $Enums.SenderType
senderName?: string | null
status?: $Enums.MessageStatus
readAt?: Date | string | null
deliveredAt?: Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: Date | string
updatedAt?: Date | string
}
export type MessagesCreateOrConnectWithoutConversationInput = {
where: MessagesWhereUniqueInput
create: XOR<MessagesCreateWithoutConversationInput, MessagesUncheckedCreateWithoutConversationInput>
}
export type MessagesCreateManyConversationInputEnvelope = {
data: MessagesCreateManyConversationInput | MessagesCreateManyConversationInput[]
skipDuplicates?: boolean
}
export type MessagesUpsertWithWhereUniqueWithoutConversationInput = {
where: MessagesWhereUniqueInput
update: XOR<MessagesUpdateWithoutConversationInput, MessagesUncheckedUpdateWithoutConversationInput>
create: XOR<MessagesCreateWithoutConversationInput, MessagesUncheckedCreateWithoutConversationInput>
}
export type MessagesUpdateWithWhereUniqueWithoutConversationInput = {
where: MessagesWhereUniqueInput
data: XOR<MessagesUpdateWithoutConversationInput, MessagesUncheckedUpdateWithoutConversationInput>
}
export type MessagesUpdateManyWithWhereWithoutConversationInput = {
where: MessagesScalarWhereInput
data: XOR<MessagesUpdateManyMutationInput, MessagesUncheckedUpdateManyWithoutConversationInput>
}
export type MessagesScalarWhereInput = {
AND?: MessagesScalarWhereInput | MessagesScalarWhereInput[]
OR?: MessagesScalarWhereInput[]
NOT?: MessagesScalarWhereInput | MessagesScalarWhereInput[]
id?: StringFilter<"Messages"> | string
conversationId?: StringFilter<"Messages"> | string
content?: StringFilter<"Messages"> | string
messageType?: EnumMessageTypeFilter<"Messages"> | $Enums.MessageType
senderId?: StringFilter<"Messages"> | string
senderType?: EnumSenderTypeFilter<"Messages"> | $Enums.SenderType
senderName?: StringNullableFilter<"Messages"> | string | null
status?: EnumMessageStatusFilter<"Messages"> | $Enums.MessageStatus
readAt?: DateTimeNullableFilter<"Messages"> | Date | string | null
deliveredAt?: DateTimeNullableFilter<"Messages"> | Date | string | null
metadata?: JsonNullableFilter<"Messages">
createdAt?: DateTimeFilter<"Messages"> | Date | string
updatedAt?: DateTimeFilter<"Messages"> | Date | string
}
export type ConversationsCreateWithoutMessagesInput = {
id?: string
subject?: string | null
status?: $Enums.ConversationStatus
priority?: $Enums.Priority
category?: string | null
userId: string
adminId?: string | null
createdAt?: Date | string
updatedAt?: Date | string
lastMessageAt?: Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
}
export type ConversationsUncheckedCreateWithoutMessagesInput = {
id?: string
subject?: string | null
status?: $Enums.ConversationStatus
priority?: $Enums.Priority
category?: string | null
userId: string
adminId?: string | null
createdAt?: Date | string
updatedAt?: Date | string
lastMessageAt?: Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
}
export type ConversationsCreateOrConnectWithoutMessagesInput = {
where: ConversationsWhereUniqueInput
create: XOR<ConversationsCreateWithoutMessagesInput, ConversationsUncheckedCreateWithoutMessagesInput>
}
export type ConversationsUpsertWithoutMessagesInput = {
update: XOR<ConversationsUpdateWithoutMessagesInput, ConversationsUncheckedUpdateWithoutMessagesInput>
create: XOR<ConversationsCreateWithoutMessagesInput, ConversationsUncheckedCreateWithoutMessagesInput>
where?: ConversationsWhereInput
}
export type ConversationsUpdateToOneWithWhereWithoutMessagesInput = {
where?: ConversationsWhereInput
data: XOR<ConversationsUpdateWithoutMessagesInput, ConversationsUncheckedUpdateWithoutMessagesInput>
}
export type ConversationsUpdateWithoutMessagesInput = {
id?: StringFieldUpdateOperationsInput | string
subject?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumConversationStatusFieldUpdateOperationsInput | $Enums.ConversationStatus
priority?: EnumPriorityFieldUpdateOperationsInput | $Enums.Priority
category?: NullableStringFieldUpdateOperationsInput | string | null
userId?: StringFieldUpdateOperationsInput | string
adminId?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
lastMessageAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
}
export type ConversationsUncheckedUpdateWithoutMessagesInput = {
id?: StringFieldUpdateOperationsInput | string
subject?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumConversationStatusFieldUpdateOperationsInput | $Enums.ConversationStatus
priority?: EnumPriorityFieldUpdateOperationsInput | $Enums.Priority
category?: NullableStringFieldUpdateOperationsInput | string | null
userId?: StringFieldUpdateOperationsInput | string
adminId?: NullableStringFieldUpdateOperationsInput | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
lastMessageAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
}
export type MessagesCreateManyConversationInput = {
id?: string
content: string
messageType?: $Enums.MessageType
senderId: string
senderType: $Enums.SenderType
senderName?: string | null
status?: $Enums.MessageStatus
readAt?: Date | string | null
deliveredAt?: Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: Date | string
updatedAt?: Date | string
}
export type MessagesUpdateWithoutConversationInput = {
id?: StringFieldUpdateOperationsInput | string
content?: StringFieldUpdateOperationsInput | string
messageType?: EnumMessageTypeFieldUpdateOperationsInput | $Enums.MessageType
senderId?: StringFieldUpdateOperationsInput | string
senderType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
senderName?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumMessageStatusFieldUpdateOperationsInput | $Enums.MessageStatus
readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
export type MessagesUncheckedUpdateWithoutConversationInput = {
id?: StringFieldUpdateOperationsInput | string
content?: StringFieldUpdateOperationsInput | string
messageType?: EnumMessageTypeFieldUpdateOperationsInput | $Enums.MessageType
senderId?: StringFieldUpdateOperationsInput | string
senderType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
senderName?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumMessageStatusFieldUpdateOperationsInput | $Enums.MessageStatus
readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
export type MessagesUncheckedUpdateManyWithoutConversationInput = {
id?: StringFieldUpdateOperationsInput | string
content?: StringFieldUpdateOperationsInput | string
messageType?: EnumMessageTypeFieldUpdateOperationsInput | $Enums.MessageType
senderId?: StringFieldUpdateOperationsInput | string
senderType?: EnumSenderTypeFieldUpdateOperationsInput | $Enums.SenderType
senderName?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumMessageStatusFieldUpdateOperationsInput | $Enums.MessageStatus
readAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
deliveredAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
metadata?: NullableJsonNullValueInput | InputJsonValue
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
}
/**
* Batch Payload for updateMany & deleteMany & createMany
*/
export type BatchPayload = {
count: number
}
/**
* DMMF
*/
export const dmmf: runtime.BaseDMMF
}