Декораторы, используемые type-graphql
, существуют только для указания type-graphql
, как преобразовать ваш класс в тип GraphQL - они не будут каким-то образом влиять на то, как экземпляр класса сериализуется встроенной функцией, такой как * 1003. *.
В контексте вашей схемы account
никогда не будет возвращено в ответе, если вы явно не создадите для него поле, даже если экземпляр Profile
, используемый вашими преобразователями, имеет это свойство. Это признак того, как разрешение полей работает в GraphQL. js. Однако экземпляр Profile
всегда будет иметь свойство account
, потому что это то, что вы определили как часть вашего класса.
Из вашего вопроса неясно, почему вы вызываете stringify
в Во-первых, но при условии, что он будет использоваться в каком-то другом контексте, например, при ведении журнала, вы захотите предоставить свой собственный метод для сериализации экземпляра, который ограничивает возвращаемые свойства. Это можно легко сделать, используя что-то вроде lodash
pick
или omit
.
serialize () {
return _.omit(this, ['account'])
}