You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mohemm-flutter-app/lib/models/chat/get_group_chat_history.dart

265 lines
8.5 KiB
Dart

import 'dart:convert';
import 'dart:io';
import 'dart:typed_data';
import 'package:just_audio/just_audio.dart';
class GetGroupChatHistoryAsync {
int? groupChatHistoryId;
String? contant;
String? contantNo;
int? chatEventId;
dynamic? fileTypeId;
bool? isSeen;
bool? isDelivered;
String? createdDate;
int? chatSource;
int? currentUserId;
String? currentUserName;
int? groupId;
String? groupName;
dynamic? encryptedGroupId;
dynamic? encryptedGroupName;
dynamic? callStatus;
String? conversationId;
List<GroupChatHistoryTargetUserList>? groupChatHistoryTargetUserList;
FileTypeResponse? fileTypeResponse;
GroupChatReplyResponse? groupChatReplyResponse;
bool? isReplied;
bool? isImageLoaded;
Uint8List? image;
File? voice;
AudioPlayer? voiceController;
GetGroupChatHistoryAsync(
{this.groupChatHistoryId,
this.contant,
this.contantNo,
this.chatEventId,
this.fileTypeId,
this.isSeen,
this.isDelivered,
this.createdDate,
this.chatSource,
this.currentUserId,
this.currentUserName,
this.groupId,
this.groupName,
this.encryptedGroupId,
this.encryptedGroupName,
this.callStatus,
this.conversationId,
this.groupChatHistoryTargetUserList,
this.fileTypeResponse,
this.groupChatReplyResponse,
this.image,
this.isImageLoaded,
this.isReplied,
this.voice,
this.voiceController
});
GetGroupChatHistoryAsync.fromJson(Map<String, dynamic> json) {
groupChatHistoryId = json['groupChatHistoryId'];
contant = json['contant'];
contantNo = json['contantNo'];
chatEventId = json['chatEventId'];
fileTypeId = json['fileTypeId'];
isSeen = json['isSeen'];
isDelivered = json['isDelivered'];
createdDate = json['createdDate'];
chatSource = json['chatSource'];
currentUserId = json['currentUserId'];
currentUserName = json['currentUserName'];
groupId = json['groupId'];
groupName = json['groupName'];
encryptedGroupId = json['encryptedGroupId'];
encryptedGroupName = json['encryptedGroupName'];
callStatus = json['callStatus'];
conversationId = json['conversationId'];
if (json['groupChatHistoryTargetUserList'] != null) {
groupChatHistoryTargetUserList = <GroupChatHistoryTargetUserList>[];
json['groupChatHistoryTargetUserList'].forEach((v) {
groupChatHistoryTargetUserList!
.add(new GroupChatHistoryTargetUserList.fromJson(v));
});
}
fileTypeResponse = json['fileTypeResponse'] != null
? new FileTypeResponse.fromJson(json['fileTypeResponse'])
: null;
2 years ago
groupChatReplyResponse = json["groupChatReplyResponse"] == null ? null : GroupChatReplyResponse.fromJson(json["groupChatReplyResponse"]);
isReplied= json['isReplied'];
2 years ago
isImageLoaded= json['isImageLoaded'] ??false;
image= json['image'];
voice= json['voice'];
voiceController = json["fileTypeId"] == 13 ? AudioPlayer() : null;
}
Map<String, dynamic> toJson() {
Map<String, dynamic> data = new Map<String, dynamic>();
data['groupChatHistoryId'] = this.groupChatHistoryId;
data['contant'] = this.contant;
data['contantNo'] = this.contantNo;
data['chatEventId'] = this.chatEventId;
data['fileTypeId'] = this.fileTypeId;
data['isSeen'] = this.isSeen;
data['isDelivered'] = this.isDelivered;
data['createdDate'] = this.createdDate;
data['chatSource'] = this.chatSource;
data['currentUserId'] = this.currentUserId;
data['currentUserName'] = this.currentUserName;
data['groupId'] = this.groupId;
data['groupName'] = this.groupName;
data['encryptedGroupId'] = this.encryptedGroupId;
data['encryptedGroupName'] = this.encryptedGroupName;
data['callStatus'] = this.callStatus;
data['conversationId'] = this.conversationId;
if (this.groupChatHistoryTargetUserList != null) {
data['groupChatHistoryTargetUserList'] =
this.groupChatHistoryTargetUserList!.map((v) => v.toJson()).toList();
}
if (this.fileTypeResponse != null) {
data['fileTypeResponse'] = this.fileTypeResponse!.toJson();
}
if(this.groupChatReplyResponse !=null) {
data['groupChatReplyResponse'] = this.groupChatReplyResponse;
}
data['isReplied'] =isReplied;
2 years ago
data['isImageLoaded'] = isImageLoaded ?? false;
data['image'] = image;
data['voice'] = voice;
data["fileTypeId"] == 13 ? AudioPlayer() : null;
return data;
}
}
class GroupChatHistoryTargetUserList {
int? groupChatHistoryLineId;
bool? isSeen;
bool? isDelivered;
int? targetUserId;
String? targetUserName;
2 years ago
dynamic? userAction;
GroupChatHistoryTargetUserList(
{this.groupChatHistoryLineId,
this.isSeen,
this.isDelivered,
this.targetUserId,
this.targetUserName,
this.userAction});
GroupChatHistoryTargetUserList.fromJson(Map<String, dynamic> json) {
groupChatHistoryLineId = json['groupChatHistoryLineId'];
isSeen = json['isSeen'];
isDelivered = json['isDelivered'];
targetUserId = json['targetUserId'];
targetUserName = json['targetUserName'];
userAction = json['userAction'];
}
Map<String, dynamic> toJson() {
Map<String, dynamic> data = new Map<String, dynamic>();
data['groupChatHistoryLineId'] = this.groupChatHistoryLineId;
data['isSeen'] = this.isSeen;
data['isDelivered'] = this.isDelivered;
data['targetUserId'] = this.targetUserId;
data['targetUserName'] = this.targetUserName;
data['userAction'] = this.userAction;
return data;
}
}
class FileTypeResponse {
int? fileTypeId;
dynamic? fileTypeName;
dynamic? fileTypeDescription;
dynamic? fileKind;
dynamic? fileName;
FileTypeResponse(
{this.fileTypeId,
this.fileTypeName,
this.fileTypeDescription,
this.fileKind,
this.fileName});
FileTypeResponse.fromJson(Map<String, dynamic> json) {
fileTypeId = json['fileTypeId'];
fileTypeName = json['fileTypeName'];
fileTypeDescription = json['fileTypeDescription'];
fileKind = json['fileKind'];
fileName = json['fileName'];
}
Map<String, dynamic> toJson() {
Map<String, dynamic> data = new Map<String, dynamic>();
data['fileTypeId'] = this.fileTypeId;
data['fileTypeName'] = this.fileTypeName;
data['fileTypeDescription'] = this.fileTypeDescription;
data['fileKind'] = this.fileKind;
data['fileName'] = this.fileName;
return data;
}
}
class GroupChatReplyResponse {
GroupChatReplyResponse(
{this.userChatHistoryId,
this.chatEventId,
this.contant,
this.contantNo,
this.fileTypeId,
this.createdDate,
this.targetUserId,
this.targetUserName,
this.fileTypeResponse,
this.isImageLoaded,
this.image,
this.voice});
int? userChatHistoryId;
int? chatEventId;
String? contant;
String? contantNo;
dynamic? fileTypeId;
DateTime? createdDate;
int? targetUserId;
String? targetUserName;
FileTypeResponse? fileTypeResponse;
bool? isImageLoaded;
Uint8List? image;
Uint8List? voice;
factory GroupChatReplyResponse.fromJson(Map<String, dynamic> json) => GroupChatReplyResponse(
userChatHistoryId: json["userChatHistoryId"] == null ? null : json["userChatHistoryId"],
chatEventId: json["chatEventId"] == null ? null : json["chatEventId"],
contant: json["contant"] == null ? null : json["contant"],
contantNo: json["contantNo"] == null ? null : json["contantNo"],
fileTypeId: json["fileTypeId"],
createdDate: json["createdDate"] == null ? null : DateTime.parse(json["createdDate"]),
targetUserId: json["targetUserId"] == null ? null : json["targetUserId"],
targetUserName: json["targetUserName"] == null ? null : json["targetUserName"],
fileTypeResponse: json["fileTypeResponse"] == null ? null : FileTypeResponse.fromJson(json["fileTypeResponse"]),
isImageLoaded: false,
image: null,
voice: null,
);
Map<String, dynamic> toJson() => {
"userChatHistoryId": userChatHistoryId == null ? null : userChatHistoryId,
"chatEventId": chatEventId == null ? null : chatEventId,
"contant": contant == null ? null : contant,
"contantNo": contantNo == null ? null : contantNo,
"fileTypeId": fileTypeId,
"createdDate": createdDate == null ? null : createdDate!.toIso8601String(),
"targetUserId": targetUserId == null ? null : targetUserId,
"targetUserName": targetUserName == null ? null : targetUserName,
"fileTypeResponse": fileTypeResponse == null ? null : fileTypeResponse!.toJson(),
};
}