在 App Sync 的查询结果中过滤子文档
Filter subdocument in query result in App Sync
我有两种连接类型
type Auction @model {
id: ID!
name: String!
startingDate: AWSDateTime!
createdAt: AWSDateTime!
updatedAt: AWSDateTime!
products: [Product] @connection(name: "AuctionProducts")
}
type Product @model {
id: ID!
name: String!
description: String!
price: Int!
ownerId: String!
createdAt: AWSDateTime!
updatedAt: AWSDateTime!
auction: Auction @connection(name: "AuctionProducts")
}
我想查询拍卖和与之相关的产品,但已按 ownerId 过滤
这个想法是用户无法在不属于他的拍卖中看到产品。
出于安全问题,我想在服务器端进行。我在过滤产品时迷失了自己,就好像它们在拍卖 dynamoDB 文档中一样,但它们不是。
我不知道了……这可能吗?
现在可能已经弄明白了,但是您需要有一个 Auth 服务 configured,Cognito 是最容易使用的。然后对您希望受到保护且仅对所有者可见的所有模式类型使用 @auth
指令:
type Product @model @auth(rules: [{allow: owner, ownerField: "ownerId"}]) {
id: ID!
name: String!
description: String!
price: Int!
ownerId: String!
createdAt: AWSDateTime!
updatedAt: AWSDateTime!
auction: Auction @connection(name: "AuctionProducts")
}
我有两种连接类型
type Auction @model {
id: ID!
name: String!
startingDate: AWSDateTime!
createdAt: AWSDateTime!
updatedAt: AWSDateTime!
products: [Product] @connection(name: "AuctionProducts")
}
type Product @model {
id: ID!
name: String!
description: String!
price: Int!
ownerId: String!
createdAt: AWSDateTime!
updatedAt: AWSDateTime!
auction: Auction @connection(name: "AuctionProducts")
}
我想查询拍卖和与之相关的产品,但已按 ownerId 过滤 这个想法是用户无法在不属于他的拍卖中看到产品。
出于安全问题,我想在服务器端进行。我在过滤产品时迷失了自己,就好像它们在拍卖 dynamoDB 文档中一样,但它们不是。
我不知道了……这可能吗?
现在可能已经弄明白了,但是您需要有一个 Auth 服务 configured,Cognito 是最容易使用的。然后对您希望受到保护且仅对所有者可见的所有模式类型使用 @auth
指令:
type Product @model @auth(rules: [{allow: owner, ownerField: "ownerId"}]) {
id: ID!
name: String!
description: String!
price: Int!
ownerId: String!
createdAt: AWSDateTime!
updatedAt: AWSDateTime!
auction: Auction @connection(name: "AuctionProducts")
}