OBJECT

# Member

Account of a member. One member can be managed by multiple users.

## link GraphQL Schema definition

`

- type Member {
- # Unique identifier
- id: Int!
- # First name
- firstname: String!
- # Last name
- lastname: String!
- # Gender
- gender: Gender!
- # Nickname
- nickname: String!
- # Profile image
- # If not set, placeholder image is sent instead.
- image: String!
- # Birthdate
- #
- # Rights: 'member.detail', can be accessed freely on self and on counselors
- birthdate: String
- # Is student? If true, 'school' and 'schoolClass' should be filled.
- #
- # Rights: 'member.detail', can be accessed freely on self
- isStudent: Boolean!
- # School, has valid info only if 'isStudent' is true
- #
- # Rights: 'member.detail', can be accessed freely on self
- school: String
- # SchoolClass, has valid info only if 'isStudent' is true
- #
- # Rights: 'member.detail', can be accessed freely on self
- schoolClass: String
- # Is employee? If true, 'job' and 'employer' should be filled.
- #
- # Rights: 'member.detail', can be accessed freely on self
- isEmployee: Boolean!
- # Job, has valid info only if 'isEmployee' is true
- #
- # Rights: 'member.detail', can be accessed freely on self
- job: String
- # Employer, has valid info only if 'isEmployee' is true
- #
- # Rights: 'member.detail', can be accessed freely on self
- employer: String
- # Contact email
- #
- # Rights: 'member.detail', can be accessed freely on self and on counselors
- email: String!
- # Contact phone
- #
- # Rights: 'member.detail', can be accessed freely on self and on counselors
- phone: String
- # Home address
- #
- # Rights: 'member.detail', can be accessed freely on self
- address: String!
- # Medical or other info
- #
- # Rights: 'member.detail', can be accessed freely on self
- otherInfo: String
- # Does the member have any organization role with public info?
- #
- # Calculated
- hasPublicInfo: Boolean!
- # Birch leaf level
- birchLeaf: Int
- # Moto of the day
- motd: String
- # Array of additional counselor information, such as hobbies, contacts, ...
- counselorInfo: [CounselorInfo]!
- # Does the member have currently any valid membership?
- #
- # Calculated
- validMembership: Boolean!
- # List of all memberships of the member
- #
- # Rights: 'member.detail', can be accessed freely on self
- memberships: [Membership]!
- # List of all membership requests of the member
- #
- # Rights: 'member.change-membership', can be accessed freely on self.
- membershipRequests: [MembershipRequest]!
- # Legal representatives
- #
- # Rights: 'member.detail', can be accessed freely on self
- representatives: [Representative]!
- # All past and currently active certificates
- certificates: [MembersToCertificates]!
- # Managers of the member account
- #
- # Rights: only on self
- managingUsers: [UsersToMembers]!
- # Roles
- #
- # Rights: 'member.detail', can be accessed freely on self
- roles: [Role]!
- # Organization roles
- organizationRoles: [OrganizationRole]!
- # Events lead by the member.
- # This is a paged result.
- #
- # Arguments
- # sortOrder: Array of sorters
- # pageInput: Paged query input
- leadEvents(sortOrder: [SortOrder], pageInput: PageInput!): EventArrayPagedResult
- }

`

## link Require by

- Articlenull
- AuthAsMutationMutation for operations as a specific member.
- AuthAsQueryQuery for operations as a specific member. This query contains most of the operations within the system.
- AuthMutationMutation for logged users
- AuthQueryQuery for logged users
- EventInformation about past or upcoming event
- EventAttendeeRelation table between registered members and events
- MemberArrayPagedResultPaged version of [Member]!
- MembershipRequestInformation about a membership request
- MembersToCertificatesRelation table between Member and Certificate (m-n relation)
- OrganizationRoleRepresents user role in the organization
- UsersToMembersRelation table between User and Member (m-n relation)