membership.graphql 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. enum MembershipEntryMethod {
  2. PAID
  3. INVITED
  4. GENESIS
  5. }
  6. type MemberMetadata @entity {
  7. "Member's name"
  8. name: String
  9. "Avatar data object"
  10. avatar: DataObject
  11. "Short text chosen by member to share information about themselves"
  12. about: String
  13. }
  14. "Stored information about a registered user"
  15. type Membership @entity {
  16. "MemberId: runtime identifier for a user"
  17. id: ID!
  18. "The unique handle chosen by member"
  19. handle: String! @unique @fulltext(query: "membersByHandle")
  20. "Member's metadata"
  21. metadata: MemberMetadata!
  22. "Member's controller account id"
  23. controllerAccount: String!
  24. "Member's root account id"
  25. rootAccount: String!
  26. "Block at which the member was registered"
  27. registeredAtBlock: Block!
  28. "Timestamp when member was registered"
  29. registeredAtTime: DateTime!
  30. "How the member was registered"
  31. entry: MembershipEntryMethod!
  32. "Whether member has been verified by membership working group."
  33. isVerified: Boolean!
  34. "Staking accounts bounded to membership."
  35. boundAccounts: [String!]
  36. "Current count of invites left to send."
  37. inviteCount: Int!
  38. "All members invited by this member."
  39. invitees: [Membership!] @derivedFrom(field: "invitedBy")
  40. "A member that invited this member (if any)"
  41. invitedBy: Membership
  42. "All members referred by this member"
  43. referredMembers: [Membership!] @derivedFrom(field: "referredBy")
  44. "A member that referred this member (if any)"
  45. referredBy: Membership
  46. "Whether member is founding member."
  47. isFoundingMember: Boolean!
  48. "Member's working group roles (current and past)"
  49. roles: [Worker!] @derivedFrom(field: "membership")
  50. }
  51. type MembershipSystemSnapshot @entity {
  52. "The snapshot block"
  53. snapshotBlock: Block!
  54. "Time of the snapshot (based on block timestamp)"
  55. snapshotTime: DateTime!
  56. "Initial invitation count of a new member."
  57. defaultInviteCount: Int!
  58. "Current price to buy a membership."
  59. membershipPrice: BigInt!
  60. "Percentage of tokens diverted to invitor."
  61. referralCut: Int!
  62. "The initial, locked, balance credited to controller account of invitee."
  63. invitedInitialBalance: BigInt!
  64. }