import { Field, ArgsType, Int } from "type-graphql"; import { Length } from "class-validator"; import { ObjectID } from "mongodb"; @ArgsType() export class sendMessageArgs { @Field({ nullable: false }) roomId: ObjectID; @Field({ nullable: false }) @Length(2, 500) content: string; } @ArgsType() export class editMessageArgs { @Field({ nullable: false }) messageId: ObjectID; @Field({ nullable: false }) @Length(2, 500) content: string; } @ArgsType() export class getMessagesArgs { @Field({ nullable: false }) roomId: ObjectID; @Field(type => Int) limit: number; @Field({ nullable: true }) before: string; @Field({ nullable: true }) after: string; }