loadProfiles method
Fetches the sender and receiver profiles from the API if they are not already loaded
Implementation
Future loadProfiles(ApiBase api, String connectedUserId) async {
if (sender != null && receiver != null) return;
late Either<ApiError, Profile> senderProfile;
late Either<ApiError, Profile> receiverProfile;
if (senderId == connectedUserId) {
if (sender == null) {
senderProfile = await api.getMyProfile();
} else {
senderProfile = Right(sender!);
}
if (receiver == null) {
receiverProfile = await api.getProfile(receiverId);
} else {
receiverProfile = Right(receiver!);
}
} else {
if (sender == null) {
senderProfile = await api.getProfile(senderId);
} else {
senderProfile = Right(sender!);
}
if (receiver == null) {
receiverProfile = await api.getMyProfile();
} else {
receiverProfile = Right(receiver!);
}
}
senderProfile.map((profile) {
sender = profile;
}).mapLeft((error) {
senderError = error;
});
receiverProfile.map((profile) {
receiver = profile;
}).mapLeft((error) {
receiverError = error;
});
}