Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I've written this AppSync schema through Amplify. I wanna use subscriptions in a way I'll explain below. Will it work?

type ChatMessage @model
@key(name: "messageBySender", fields: ["sender_sub"], queryField: "messageBySender")
@key(name: "messageByReceiver", fields: ["receiver_sub"], queryField: "messageByReceiver")
@auth(rules: [
        {allow: groups, provider: userPools, groups: ["admins", "moderators"], operations: [read, delete]}, 
        {allow: owner, ownerField: "sender_sub", identityClaim: "sub", operations: [read, create, delete]},
        {allow: groups, groupsField: "receiver_sub", operations: [read], groupClaim: "sub", provider: userPools}        
        ])
{
  id: ID!
  receiver_sub: String!
  sender_sub: String!
  date: AWSDate!
  message: String!
}

And the way I wanna use it is:

const subscription = API.graphql(
    graphqlOperation(onCreateChatMessages)
).subscribe({
    next: (chatMessageData) => {
      console.log(chatMessageData);
      const {attributes} = Auth.currentUserInfo();
      const {receiver_sub, message} = chatMessageData;

       if (receiver_sub === attributes.sub) {
          //show message
}
    }
});

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
213 views
Welcome To Ask or Share your Answers For Others

1 Answer

等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...