// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'getRoomResponse.dart';

// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************

GetRoomResponse _$GetRoomResponseFromJson(Map<String, dynamic> json) =>
    GetRoomResponse(
      (json['data'] as List<dynamic>)
          .map((e) => GetRoomResponseObject.fromJson(e as Map<String, dynamic>))
          .toSet(),
    );

Map<String, dynamic> _$GetRoomResponseToJson(GetRoomResponse instance) =>
    <String, dynamic>{
      'data': instance.data.map((e) => e.toJson()).toList(),
    };

GetRoomResponseObject _$GetRoomResponseObjectFromJson(
        Map<String, dynamic> json) =>
    GetRoomResponseObject(
      json['id'] as int,
      json['token'] as String,
      $enumDecode(_$GetRoomResponseObjectConversationTypeEnumMap, json['type']),
      json['name'] as String,
      json['displayName'] as String,
      json['description'] as String,
      json['participantType'] as int,
      json['participantFlags'] as int,
      json['readOnly'] as int,
      json['listable'] as int,
      json['lastPing'] as int,
      json['sessionId'] as String,
      json['hasPassword'] as bool,
      json['hasCall'] as bool,
      json['callFlag'] as int,
      json['canStartCall'] as bool,
      json['canDeleteConversation'] as bool,
      json['canLeaveConversation'] as bool,
      json['lastActivity'] as int,
      json['isFavorite'] as bool,
      $enumDecode(_$GetRoomResponseObjectParticipantNotificationLevelEnumMap,
          json['notificationLevel']),
      json['unreadMessages'] as int,
      json['unreadMention'] as bool,
      json['unreadMentionDirect'] as bool,
      json['lastReadMessage'] as int,
      json['lastCommonReadMessage'] as int,
      GetChatResponseObject.fromJson(
          json['lastMessage'] as Map<String, dynamic>),
      json['status'] as String?,
      json['statusIcon'] as String?,
      json['statusMessage'] as String?,
    );

Map<String, dynamic> _$GetRoomResponseObjectToJson(
        GetRoomResponseObject instance) =>
    <String, dynamic>{
      'id': instance.id,
      'token': instance.token,
      'type': _$GetRoomResponseObjectConversationTypeEnumMap[instance.type]!,
      'name': instance.name,
      'displayName': instance.displayName,
      'description': instance.description,
      'participantType': instance.participantType,
      'participantFlags': instance.participantFlags,
      'readOnly': instance.readOnly,
      'listable': instance.listable,
      'lastPing': instance.lastPing,
      'sessionId': instance.sessionId,
      'hasPassword': instance.hasPassword,
      'hasCall': instance.hasCall,
      'callFlag': instance.callFlag,
      'canStartCall': instance.canStartCall,
      'canDeleteConversation': instance.canDeleteConversation,
      'canLeaveConversation': instance.canLeaveConversation,
      'lastActivity': instance.lastActivity,
      'isFavorite': instance.isFavorite,
      'notificationLevel':
          _$GetRoomResponseObjectParticipantNotificationLevelEnumMap[
              instance.notificationLevel]!,
      'unreadMessages': instance.unreadMessages,
      'unreadMention': instance.unreadMention,
      'unreadMentionDirect': instance.unreadMentionDirect,
      'lastReadMessage': instance.lastReadMessage,
      'lastCommonReadMessage': instance.lastCommonReadMessage,
      'lastMessage': instance.lastMessage.toJson(),
      'status': instance.status,
      'statusIcon': instance.statusIcon,
      'statusMessage': instance.statusMessage,
    };

const _$GetRoomResponseObjectConversationTypeEnumMap = {
  GetRoomResponseObjectConversationType.oneToOne: 1,
  GetRoomResponseObjectConversationType.group: 2,
  GetRoomResponseObjectConversationType.public: 3,
  GetRoomResponseObjectConversationType.changelog: 4,
  GetRoomResponseObjectConversationType.deleted: 5,
};

const _$GetRoomResponseObjectParticipantNotificationLevelEnumMap = {
  GetRoomResponseObjectParticipantNotificationLevel.defaultLevel: 0,
  GetRoomResponseObjectParticipantNotificationLevel.alwaysNotify: 1,
  GetRoomResponseObjectParticipantNotificationLevel.notifyOnMention: 2,
  GetRoomResponseObjectParticipantNotificationLevel.neverNotify: 3,
};