Не получается вызвать массив объектов GraphQL

Есть функция запроса, которая должна возвращать массив объектов, такого содержания:

Messages [{
    id: 16,
    message: 'rgrgegergerg',
    sender_name: 'gfregrgrg',
    sender_id: '1',
    send_date: 2021-04-21T04:33:13.285Z
  },
  Messages {
    id: 15,
    message: 'ergvergreg',
    sender_name: 'gfregrgrg',
    sender_id: '1',
    send_date: 2021-04-21T04:33:10.551Z
  },
  Messages {
    id: 14,
    message: 'gergrege',
    sender_name: 'gfregrgrg',
    sender_id: '1',
    send_date: 2021-04-21T04:33:09.430Z
  }
]

Этот массив возвращает функция initializeMessages:

@Query(() => MessageModel, { name: 'initializeMessages' })
  async initializeMessages() {
    return await this.messagesService.initializeMessages().then((result) => {
      return result;
    });
  }

Ожидается возврат по такой модели (нулябельность стоит временно):

@ObjectType()
export class MessageModel {
  @Field(() => Int, { nullable: true })
  id?: number;

  @Field({ nullable: true })
  message!: string;

  @Field({ nullable: true })
  sender_name!: string;

  @Field(() => Int, { nullable: true })
  sender_id?: number;

  @Field({ nullable: true })
  send_date?: string;

  @Field(() => [MessagesModel])
  messages: MessagesModel[];
}

Модель массива:

@ObjectType()
export class MessagesModel {
  @Field(() => Int, { nullable: true })
  id?: number;

  @Field({ nullable: true })
  message!: string;

  @Field({ nullable: true })
  sender_name!: string;

  @Field(() => Int, { nullable: true })
  sender_id?: number;

  @Field({ nullable: true })
  send_date?: string;
}

Пытаюсь сделать такой запрос через подсказки графа, но выбивает ошибку синтаксиса:

query kavo {
              initializeMessages {
                messages{...}
              }
          }

Ошибка синтаксиса

Подскажите как правильно сделать запрос в моем случае.


Ответы (1 шт):

Автор решения: MrYogurt

Проблему решил. Убрал в модели это:

@Field(() => [MessagesModel])
  messages: MessagesModel[];

И изменил запрос:

@Query(() => MessageModel

На:

@Query(() => [MessageModel]

Кто же знал, что здесь массив определяется не в конце по стандарту.

→ Ссылка