Как использовать объект argstype type-graphql в качестве параметра для sequelize findall? - PullRequest
1 голос
/ 02 октября 2019

Я использую nestjs, sequelize-typcript и type-graphql

Я создал type-graphql @ ArgsType

@ArgsType()
export class TagArgs{
    @Field(type => Int)
    type: number;
}

, и в моем резольвере я создаю запрос, аналогичный приведенному выше, используя TagArgs

@Query(returns => [Tag])
tags(@Args() tagArgs: TagArgs): Promise<Tag[]>{
    return this.tagService.findAll(tagArgs);
}

ниже моя функция findAll класса TagService

async findAll(tagArgs: TagArgs): Promise<Tag[]>{
    return this.tagRepository.findAll<Tag>(tagArgs);
}

Но ошибки, такие как TS: 2345: Аргумент типа 'TagArgs' не может быть назначен параметру типа«FindOptions» происходит в this.tagRepository.findAll (tagArgs)

как я могу использовать объект ArgsType ??

1 Ответ

0 голосов
/ 02 октября 2019

Предполагая, что свойства TagArgs имеют ту же сигнатуру, что и Tag класс сущностей, вы должны сделать что-то подобное:

this.tagRepository.findAll<Tag>({ where: tagArgs })
...