processMembership function
String
processMembership({
- required MembershipEventTypes? type,
- required String sender,
- required String target,
Returns a human-readable string representation of membership events.
The type
parameter represents the type of the membership event.
The sender
parameter represents the unique identifier of the sender.
The target
parameter represents the target user or room ID associated with the event.
Returns a human-readable string representation of the membership event. If the event type is invalid or '', an empty string is returned.
Implementation
String processMembership({
required MembershipEventTypes? type,
required String sender,
required String target,
}) {
// Check if the event type is valid and not ''
if (type != null && type != MembershipEventTypes.unknown) {
switch (type) {
case MembershipEventTypes.invite:
return '$sender invited $target to the conversation';
case MembershipEventTypes.join:
return '$sender joined the conversation';
case MembershipEventTypes.leave:
// Check if the sender is the target to handle leave and remove scenarios
if (sender == target) {
return '$sender left the conversation';
} else {
return '$sender removed $target from the conversation';
}
case MembershipEventTypes.ban:
return '$target was banned from the conversation by $sender';
default:
return '';
}
}
return '';
}