resource: The resource field defines for which resource (Porject) the role is assigned, referenced by an ObjectId.user: The user to whom the role is assigned, referenced by an ObjectId. (Optional, as the role might not be user-specific).role: The role assigned to the user or resource, typically referenced by an ObjectId.validFrom: The date from which the role assignment becomes valid.validUntil: The date until which the role assignment remains valid.membership: The membership type of the user, defining whether this role is bound to the user or the resource itself.type: If more than one user collection is needed, this field can be used to differentiate between them. (For Example Users and Dashboard users could be differentiated)system: System-related fields of the user role assignment, such as timestamps for creation and modification.