import 'package:yumi/shared/business_logic/models/res/login_res.dart';

/// id : 0
/// userProfile : {"id":0,"account":"","userAvatar":"","userNickname":"","userSex":0,"age":0,"accountStatus":"","freezingTime":0,"countryId":0,"countryName":"","countryCode":"","originSys":"","sysOriginChild":"","del":false,"createTime":0,"bornYear":0,"bornMonth":0,"bornDay":0,"ownSpecialId":{"account":"","expiredTime":0},"useProps":[{"userId":0,"propsResources":{"id":0,"type":"","code":"","name":"","cover":"","sourceUrl":"","expand":"","amount":0.0},"expireTime":0}],"sameRegion":false,"wearBadge":[{"id":0,"userId":0,"badgeLevel":0,"milestone":0,"badgeName":"","type":"","badgeKey":"","selectUrl":"","notSelectUrl":"","animationUrl":"","expireTime":0}]}
/// roles : ""

class SocialChatRoomMemberRes {
  SocialChatRoomMemberRes({String? id, SocialChatUserProfile? userProfile, String? roles}) {
    _id = id;
    _userProfile = userProfile;
    _roles = roles;
  }

  SocialChatRoomMemberRes.fromJson(dynamic json) {
    _id = json['id'];
    _userProfile =
        json['userProfile'] != null
            ? SocialChatUserProfile.fromJson(json['userProfile'])
            : null;
    _roles = json['roles'];
  }

  String? _id;
  SocialChatUserProfile? _userProfile;
  String? _roles;

  SocialChatRoomMemberRes copyWith({
    String? id,
    SocialChatUserProfile? userProfile,
    String? roles,
  }) => SocialChatRoomMemberRes(
    id: id ?? _id,
    userProfile: userProfile ?? _userProfile,
    roles: roles ?? _roles,
  );

  String? get id => _id;

  SocialChatUserProfile? get userProfile => _userProfile;

  String? get roles => _roles;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['id'] = _id;
    if (_userProfile != null) {
      map['userProfile'] = _userProfile?.toJson();
    }
    map['roles'] = _roles;
    return map;
  }
}
