我是Graphql
的新手,有些事情仍然让我感到困惑。
我正在开展一个类似于Todo List
的项目。
用户可能有多个todo items
,某些项目的属性必须仅对所有者可见,有些应该是公开的。
到目前为止,我提出了两个想法:
1)首先是创建两个单独的类型,如:
ToDoType {
id
name
complete
}
ToDoPrivateType {
id
name
complete
colorGroup
createdAt
...other private properties
}
并访问
- 来自根查询user {...}
和其他任何地方的ToDoType,除外
- viewer {...}
我将使用ToDoPrivateType
它会起作用,但看起来有点像双重工作,
另外,如果我从标准todo lists
根查询中检索user
,我将无法为用户自己的用户提取私有属性。
2)我还可以提供对所有属性的访问权限,并设置为随机用户无法访问的null
属性(如其他用户的createdAt
),但它看起来也不正确。
希望我所要求的并不是太混乱。
谢谢!