import { t } from "elysia"; import { __transformDate__ } from "./__transformDate__"; import { __nullable__ } from "./__nullable__"; export const ConversationParticipantPlain = t.Object( { id: t.String(), conversationId: t.String(), userId: t.String(), lastReadAt: __nullable__(t.Date()), }, { additionalProperties: false }, ); export const ConversationParticipantRelations = t.Object( { conversation: t.Object( { id: t.String(), createdAt: t.Date() }, { additionalProperties: false }, ), user: t.Object( { id: t.String(), email: t.String(), username: t.String(), password: t.String(), createdAt: t.Date(), }, { additionalProperties: false }, ), }, { additionalProperties: false }, ); export const ConversationParticipantPlainInputCreate = t.Object( { lastReadAt: t.Optional(__nullable__(t.Date())) }, { additionalProperties: false }, ); export const ConversationParticipantPlainInputUpdate = t.Object( { lastReadAt: t.Optional(__nullable__(t.Date())) }, { additionalProperties: false }, ); export const ConversationParticipantRelationsInputCreate = t.Object( { conversation: t.Object( { connect: t.Object( { id: t.String({ additionalProperties: false }), }, { additionalProperties: false }, ), }, { additionalProperties: false }, ), user: t.Object( { connect: t.Object( { id: t.String({ additionalProperties: false }), }, { additionalProperties: false }, ), }, { additionalProperties: false }, ), }, { additionalProperties: false }, ); export const ConversationParticipantRelationsInputUpdate = t.Partial( t.Object( { conversation: t.Object( { connect: t.Object( { id: t.String({ additionalProperties: false }), }, { additionalProperties: false }, ), }, { additionalProperties: false }, ), user: t.Object( { connect: t.Object( { id: t.String({ additionalProperties: false }), }, { additionalProperties: false }, ), }, { additionalProperties: false }, ), }, { additionalProperties: false }, ), ); export const ConversationParticipantWhere = t.Partial( t.Recursive( (Self) => t.Object( { AND: t.Union([Self, t.Array(Self, { additionalProperties: false })]), NOT: t.Union([Self, t.Array(Self, { additionalProperties: false })]), OR: t.Array(Self, { additionalProperties: false }), id: t.String(), conversationId: t.String(), userId: t.String(), lastReadAt: t.Date(), }, { additionalProperties: false }, ), { $id: "ConversationParticipant" }, ), ); export const ConversationParticipantWhereUnique = t.Recursive( (Self) => t.Intersect( [ t.Partial( t.Object( { id: t.String(), conversationId_userId: t.Object( { conversationId: t.String(), userId: t.String() }, { additionalProperties: false }, ), }, { additionalProperties: false }, ), { additionalProperties: false }, ), t.Union( [ t.Object({ id: t.String() }), t.Object({ conversationId_userId: t.Object( { conversationId: t.String(), userId: t.String() }, { additionalProperties: false }, ), }), ], { additionalProperties: false }, ), t.Partial( t.Object({ AND: t.Union([ Self, t.Array(Self, { additionalProperties: false }), ]), NOT: t.Union([ Self, t.Array(Self, { additionalProperties: false }), ]), OR: t.Array(Self, { additionalProperties: false }), }), { additionalProperties: false }, ), t.Partial( t.Object( { id: t.String(), conversationId: t.String(), userId: t.String(), lastReadAt: t.Date(), }, { additionalProperties: false }, ), ), ], { additionalProperties: false }, ), { $id: "ConversationParticipant" }, ); export const ConversationParticipantSelect = t.Partial( t.Object( { id: t.Boolean(), conversationId: t.Boolean(), userId: t.Boolean(), conversation: t.Boolean(), user: t.Boolean(), lastReadAt: t.Boolean(), _count: t.Boolean(), }, { additionalProperties: false }, ), ); export const ConversationParticipantInclude = t.Partial( t.Object( { conversation: t.Boolean(), user: t.Boolean(), _count: t.Boolean() }, { additionalProperties: false }, ), ); export const ConversationParticipantOrderBy = t.Partial( t.Object( { id: t.Union([t.Literal("asc"), t.Literal("desc")], { additionalProperties: false, }), conversationId: t.Union([t.Literal("asc"), t.Literal("desc")], { additionalProperties: false, }), userId: t.Union([t.Literal("asc"), t.Literal("desc")], { additionalProperties: false, }), lastReadAt: t.Union([t.Literal("asc"), t.Literal("desc")], { additionalProperties: false, }), }, { additionalProperties: false }, ), ); export const ConversationParticipant = t.Composite( [ConversationParticipantPlain, ConversationParticipantRelations], { additionalProperties: false }, ); export const ConversationParticipantInputCreate = t.Composite( [ ConversationParticipantPlainInputCreate, ConversationParticipantRelationsInputCreate, ], { additionalProperties: false }, ); export const ConversationParticipantInputUpdate = t.Composite( [ ConversationParticipantPlainInputUpdate, ConversationParticipantRelationsInputUpdate, ], { additionalProperties: false }, );