| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- class FriendRelation {
- final String id;
- final String friendId;
- final RequestStatus requestStatus;
- const FriendRelation({
- required this.id,
- required this.friendId,
- required this.requestStatus,
- });
- factory FriendRelation.fromMap(String relationId, Map<String, dynamic> map, String userId) {
- return FriendRelation(
- id: relationId,
- friendId: _getId(map, userId),
- requestStatus: getRequestStatus(map["request_status"]),
- );
- }
- static String _getId(Map<String, dynamic> map, String userId) {
- if (map['user_id'] == userId) {
- return map['friend_id'];
- } else {
- return map['user_id'];
- }
- }
- static RequestStatus getRequestStatus(String status) {
- if (status == "pending") return RequestStatus.pending;
- if (status == "accepted") return RequestStatus.accepted;
- if (status == "rejected") return RequestStatus.rejected;
- throw Exception("Request status invalid");
- }
- }
- enum RequestStatus {
- pending,
- accepted,
- rejected,
- }
|