OBJECT

# Role

Represents user role, defining user rights

## link GraphQL Schema definition

`

- type Role {
- # Unique identifier
- id: Int!
- # Display name
- title: String!
- # Display color
- color: String
- # List of approved rights for the member
- # Currently available rights:
- #
- # Admin
- # - 'admin' - Have all the following rights
- #
- # Members
- # - 'member.detail' - View all details of any member
- # - 'member.modify' - Modify any member
- # - 'member.change-membership' - Modify membership of anybody
- #
- # Roles
- # - 'role.assign' - Assign roles
- # - 'role.edit' - Modify rights for different roles
- #
- # Organization roles
- # - 'organization-role.assign' - Assign organization roles
- # - 'organization-role.edit' - Modify rights for different organization roles
- #
- # Events
- # - 'event.create' - Create an event
- # - 'event.modify' - Modify any event
- # - 'event.attend-anybody' - Set anybody's attendance (attend / unattend)
- #
- # Forum
- # - 'forum.create-thread' - Create a forum thread
- # - 'forum.post' - Post to any visible forum thread
- # - 'forum.archive' - Archive a forum thread
- #
- # Articles
- # - 'article.create' - Create a article
- # - 'article.modify' - Modify (and remove) any article
- # - 'article.view-archive' - View archived articles
- # - 'article.send' - Send a article via email (and other social networks)
- #
- # Inventory
- # - 'inventory.modify' - Modify events in the inventory system
- # - 'inventory.rent' - Rent an item from the inventory
- #
- # Summer camps
- # - 'camp.create' - Create a summer camp
- rights: [String]!
- }

`

## link Require by

- AuthAsMutationMutation for operations as a specific member.
- AuthAsQueryQuery for operations as a specific member. This query contains most of the operations within the system.
- MemberAccount of a member. One member can be managed by multiple users.
- RoleArrayPagedResultPaged version of [Role]!