toJson method

Map<String, dynamic> toJson()

Implementation

Map<String, dynamic> toJson() {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['group_detail_info_group_id'] = groupID;
  data['group_detail_info_group_type'] = groupType;
  data['group_detail_info_group_name'] = groupName;
  data['group_detail_info_notification'] = notification;
  data['group_detail_info_introduction'] = introduction;
  data['group_detail_info_face_url'] = faceUrl;
  data['group_detail_info_is_shutup_all'] = isAllMuted;
  data['group_detail_info_owner_identifier'] = owner;
  data['group_detail_info_create_time'] = createTime;
  if (groupAddOpt != null) {
    data['group_detail_info_add_option'] = EnumUtils.dartGroupAddOptType2CType(groupAddOpt!);
  }
  data['group_detail_info_last_info_time'] = lastInfoTime;
  data['group_detail_info_last_msg_time'] = lastMessageTime;
  data['group_detail_info_member_num'] = memberCount;
  data['group_detail_info_online_member_num'] = onlineCount;

  Map<String, dynamic> jsonGroupSelfInfo = {};
  jsonGroupSelfInfo['group_self_info_role'] = role;
  jsonGroupSelfInfo['group_self_info_join_time'] = joinTime;
  jsonGroupSelfInfo['group_self_info_unread_num'] = unreadMsgCount;
  jsonGroupSelfInfo['group_self_info_msg_flag'] = recvOpt;
  data['group_base_info_self_info'] = jsonGroupSelfInfo;

  if (customInfo != null && customInfo!.isNotEmpty) {
    List<Map<String, String>> jsonCustomInfo = customInfo!.entries.map((entry) => {"group_info_custom_string_info_key": entry.key, "group_info_custom_string_info_value": entry.key}).toList();
    data['group_detail_info_custom_info'] = jsonCustomInfo;
  }
  data['group_detail_info_is_support_topic'] = isSupportTopic;
  if (approveOpt != null) {
    data["group_detail_info_approve_option"] = EnumUtils.dartGroupAddOptType2CType(approveOpt!);
  }
  data["group_detail_info_enable_permission_group"] = isEnablePermissionGroup ?? false;
  data["group_detail_info_max_member_num"] = memberMaxCount ?? 0;
  data["group_detail_info_default_permissions"] = defaultPermissions ?? 0;
  data['group_modify_info_param_visible'] = isVisible;
  data['group_modify_info_param_searchable'] = isSearchable;
  return data;
}