ChatLogType.fromJson constructor

ChatLogType.fromJson(
  1. Map map
)

Implementation

factory ChatLogType.fromJson(Map map) {
  String mLogType = map['type'];

  LOG_TYPE logType = LOG_TYPE.OPTIONS_MESSAGE;

  switch (mLogType) {
    case 'ATTACHMENT_MESSAGE':
      logType = LOG_TYPE.ATTACHMENT_MESSAGE;
      break;
    case 'MEMBER_JOIN':
      logType = LOG_TYPE.MEMBER_JOIN;
      break;
    case 'MEMBER_LEAVE':
      logType = LOG_TYPE.MEMBER_LEAVE;
      break;
    case 'MESSAGE':
      logType = LOG_TYPE.MESSAGE;
      break;
    case 'OPTIONS_MESSAGE':
      logType = LOG_TYPE.OPTIONS_MESSAGE;
      break;
  }

  ChatOptionsMessage? chatOptionsMessage;
  ChatMessage? chatMessage;
  ChatAttachment? chatAttachment;

  switch (logType) {
    case LOG_TYPE.ATTACHMENT_MESSAGE:
      chatAttachment = ChatAttachment.fromJson(map['chatAttachment']);
      break;
    case LOG_TYPE.MEMBER_JOIN:
    case LOG_TYPE.MEMBER_LEAVE:
      break;
    case LOG_TYPE.MESSAGE:
      chatMessage = ChatMessage.fromJson(map['chatMessage']);
      break;
    case LOG_TYPE.OPTIONS_MESSAGE:
      chatOptionsMessage =
          ChatOptionsMessage.fromJson(map['chatOptionsMessage']);
      break;
  }
  return ChatLogType(
    logType,
    chatMessage,
    chatOptionsMessage,
    chatAttachment,
  );
}