fist commit ftc staff app clone
This commit is contained in:
80
lib/models/chat/ChatModel.dart
Normal file
80
lib/models/chat/ChatModel.dart
Normal file
@@ -0,0 +1,80 @@
|
||||
import '../profileData/user_data.dart';
|
||||
|
||||
class ChatModel {
|
||||
static const stateNone = 0;
|
||||
static const stateError = -1;
|
||||
static const stateLoading = 1;
|
||||
static const stateSuccess = 2;
|
||||
|
||||
static const String fileTypeLocalPath = "localPath";
|
||||
|
||||
ChatModel({
|
||||
this.id,
|
||||
this.from,
|
||||
this.to,
|
||||
this.message,
|
||||
this.messageType,
|
||||
this.filePath,
|
||||
this.date,
|
||||
this.archived,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
this.localId,
|
||||
this.fileType,
|
||||
this.state = stateNone,
|
||||
});
|
||||
|
||||
ChatModel.fromJson(dynamic json) {
|
||||
from = json['from'] != null ? UserData.fromJson(json['from']) : null;
|
||||
to = json['to'] != null ? UserData.fromJson(json['to']) : null;
|
||||
id = json['_id'];
|
||||
message = json['message'];
|
||||
messageType = json['messageType'];
|
||||
filePath = json['filePath'];
|
||||
date = json['date'];
|
||||
localId = json['localId'];
|
||||
archived = json['archived'];
|
||||
createdAt = json['createdAt'];
|
||||
updatedAt = json['updatedAt'];
|
||||
|
||||
date = DateTime.tryParse(createdAt ?? "")?.millisecondsSinceEpoch ?? 0;
|
||||
}
|
||||
|
||||
String? id;
|
||||
UserData? from;
|
||||
UserData? to;
|
||||
String? message;
|
||||
String? messageType;
|
||||
String? filePath;
|
||||
int? date;
|
||||
bool? archived;
|
||||
String? createdAt;
|
||||
String? updatedAt;
|
||||
|
||||
//Local usage variables
|
||||
int state = stateNone;
|
||||
String? fileType;
|
||||
String? localId;
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final map = <String, dynamic>{};
|
||||
if (from != null) {
|
||||
map['from'] = from?.toJson();
|
||||
}
|
||||
if (to != null) {
|
||||
map['to'] = to?.toJson();
|
||||
}
|
||||
map['_id'] = id;
|
||||
map['message'] = message;
|
||||
map['messageType'] = messageType;
|
||||
map['filePath'] = filePath;
|
||||
map['date'] = date;
|
||||
map['archived'] = archived;
|
||||
map['createdAt'] = createdAt;
|
||||
map['updatedAt'] = updatedAt;
|
||||
map['localId'] = localId;
|
||||
map['state'] = state;
|
||||
map['isSent'] = state;
|
||||
return map;
|
||||
}
|
||||
}
|
||||
61
lib/models/chat/add_group_message_model.dart
Normal file
61
lib/models/chat/add_group_message_model.dart
Normal file
@@ -0,0 +1,61 @@
|
||||
class AddDeleteUpdateGroupMessageModel {
|
||||
AddDeleteUpdateGroupMessageModel({
|
||||
required this.groupId,
|
||||
required this.userId,
|
||||
required this.message,
|
||||
required this.isDeleted,
|
||||
required this.isHide,
|
||||
required this.isPin,
|
||||
required this.id,
|
||||
required this.seenBy,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
required this.v,
|
||||
});
|
||||
String groupId = "";
|
||||
String userId = "";
|
||||
String message = "";
|
||||
bool isDeleted = false;
|
||||
bool isHide = false;
|
||||
bool isPin = false;
|
||||
String id = "";
|
||||
List<dynamic> seenBy = [];
|
||||
String createdAt = "";
|
||||
String updatedAt = "";
|
||||
int v = -1;
|
||||
|
||||
AddDeleteUpdateGroupMessageModel.fromJson(Map<String, dynamic> json){
|
||||
groupId = json['groupId']??"";
|
||||
userId = json['userId']??"";
|
||||
message = json['message']??"";
|
||||
isDeleted = json['isDeleted']?? false;
|
||||
isHide = json['isHide']?? false;
|
||||
isPin = json['isPin']?? false;
|
||||
id = json['_id']??"";
|
||||
seenBy = List.castFrom<dynamic, dynamic>(json['seenBy']??[]);
|
||||
createdAt = json['createdAt']??"";
|
||||
updatedAt = json['updatedAt']??"";
|
||||
v = json['__v']??-1;
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['groupId'] = groupId;
|
||||
data['userId'] = userId;
|
||||
data['message'] = message;
|
||||
data['isDeleted'] = isDeleted;
|
||||
data['isHide'] = isHide;
|
||||
data['isPin'] = isPin;
|
||||
data['_id'] = id;
|
||||
data['seenBy'] = seenBy;
|
||||
data['createdAt'] = createdAt;
|
||||
data['updatedAt'] = updatedAt;
|
||||
data['__v'] = v;
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'AddDeleteUpdateGroupMessageModel{groupId: $groupId, userId: $userId, message: $message, isDeleted: $isDeleted, isHide: $isHide, isPin: $isPin, id: $id, seenBy: $seenBy, createdAt: $createdAt, updatedAt: $updatedAt, v: $v}';
|
||||
}
|
||||
}
|
||||
353
lib/models/chat/all_group_messages_model.dart
Normal file
353
lib/models/chat/all_group_messages_model.dart
Normal file
@@ -0,0 +1,353 @@
|
||||
import 'package:ftc_mobile_app/models/profileData/user_data.dart';
|
||||
|
||||
import '../profileData/FcmTokens.dart';
|
||||
import '../profileData/LocationData.dart';
|
||||
|
||||
class AllGroupMessages {
|
||||
AllGroupMessages({
|
||||
required this.id,
|
||||
required this.groupId,
|
||||
required this.userId,
|
||||
required this.message,
|
||||
required this.messageType,
|
||||
required this.filePath,
|
||||
required this.isDeleted,
|
||||
required this.isHide,
|
||||
required this.isPin,
|
||||
required this.seenBy,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
required this.v,
|
||||
});
|
||||
|
||||
String id = "";
|
||||
GroupId groupId = GroupId.empty();
|
||||
UserData? userId;
|
||||
String message = "";
|
||||
String messageType = "";
|
||||
String filePath = "";
|
||||
bool isDeleted = false;
|
||||
bool isHide = false;
|
||||
bool isPin = false;
|
||||
List<dynamic> seenBy = [];
|
||||
String createdAt = "";
|
||||
String updatedAt = "";
|
||||
int v = -1;
|
||||
|
||||
AllGroupMessages.empty();
|
||||
|
||||
AllGroupMessages.fromJson(Map<String, dynamic> json) {
|
||||
id = json['_id'] ?? "";
|
||||
groupId = GroupId.fromJson(json['groupId'] ?? GroupId.empty());
|
||||
userId = UserData.fromJson(json['userId'] ?? {});
|
||||
message = json['message'] ?? "";
|
||||
messageType = json['messageType'] ?? "";
|
||||
filePath = json['filePath'] ?? "";
|
||||
isDeleted = json['isDeleted'] ?? false;
|
||||
isHide = json['isHide'] ?? false;
|
||||
isPin = json['isPin'] ?? false;
|
||||
seenBy = List.castFrom<dynamic, dynamic>(json['seenBy'] ?? []);
|
||||
createdAt = json['createdAt'] ?? "";
|
||||
updatedAt = json['updatedAt'] ?? "";
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['_id'] = id;
|
||||
data['groupId'] = groupId.toJson();
|
||||
data['userId'] = userId?.toJson();
|
||||
data['message'] = message;
|
||||
data['messageType'] = messageType;
|
||||
data['filePath'] = filePath;
|
||||
data['isDeleted'] = isDeleted;
|
||||
data['isHide'] = isHide;
|
||||
data['isPin'] = isPin;
|
||||
data['seenBy'] = seenBy;
|
||||
data['createdAt'] = createdAt;
|
||||
data['updatedAt'] = updatedAt;
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'AllGroupMessages{id: $id, groupId: $groupId, userId: $userId, message: $message, isDeleted: $isDeleted, isHide: $isHide, isPin: $isPin, seenBy: $seenBy, createdAt: $createdAt, updatedAt: $updatedAt, v: $v}';
|
||||
}
|
||||
}
|
||||
|
||||
class GroupId {
|
||||
GroupId({
|
||||
required this.lastMessages,
|
||||
required this.groupWorkingScheduleTime,
|
||||
required this.id,
|
||||
required this.groupName,
|
||||
required this.groupImage,
|
||||
required this.groupMembers,
|
||||
required this.isGroup,
|
||||
required this.date,
|
||||
required this.isActive,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
required this.v,
|
||||
});
|
||||
|
||||
LastMessages lastMessages = LastMessages.empty();
|
||||
GroupWorkingScheduleTime groupWorkingScheduleTime =
|
||||
GroupWorkingScheduleTime.empty();
|
||||
String id = "";
|
||||
String groupName = "";
|
||||
String groupImage = "";
|
||||
List<String> groupMembers = [];
|
||||
bool isGroup = false;
|
||||
String date = "";
|
||||
bool isActive = false;
|
||||
String createdAt = "";
|
||||
String updatedAt = "";
|
||||
int v = -1;
|
||||
|
||||
GroupId.empty();
|
||||
|
||||
GroupId.id({required this.id});
|
||||
|
||||
GroupId.fromJson(Map<String, dynamic> json) {
|
||||
lastMessages =
|
||||
LastMessages.fromJson(json['lastMessages'] ?? LastMessages.empty());
|
||||
groupWorkingScheduleTime = GroupWorkingScheduleTime.fromJson(
|
||||
json['groupWorkingScheduleTime'] ?? GroupWorkingScheduleTime.empty());
|
||||
id = json['_id'] ?? "";
|
||||
groupName = json['groupName'] ?? "";
|
||||
groupImage = json['groupImage'] ?? "";
|
||||
groupMembers = List.castFrom<dynamic, String>(json['groupMembers'] ?? []);
|
||||
isGroup = json['isGroup'] ?? false;
|
||||
date = json['date'] ?? "";
|
||||
isActive = json['isActive'] ?? false;
|
||||
createdAt = json['createdAt'] ?? "";
|
||||
updatedAt = json['updatedAt'] ?? "";
|
||||
v = json['__v'] ?? -1;
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['lastMessages'] = lastMessages.toJson();
|
||||
data['groupWorkingScheduleTime'] = groupWorkingScheduleTime.toJson();
|
||||
data['_id'] = id;
|
||||
data['groupName'] = groupName;
|
||||
data['groupImage'] = groupImage;
|
||||
data['groupMembers'] = groupMembers;
|
||||
data['isGroup'] = isGroup;
|
||||
data['date'] = date;
|
||||
data['isActive'] = isActive;
|
||||
data['createdAt'] = createdAt;
|
||||
data['updatedAt'] = updatedAt;
|
||||
data['__v'] = v;
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'GroupId{lastMessages: $lastMessages, groupWorkingScheduleTime: $groupWorkingScheduleTime, id: $id, groupName: $groupName, groupImage: $groupImage, groupMembers: $groupMembers, isGroup: $isGroup, date: $date, isActive: $isActive, createdAt: $createdAt, updatedAt: $updatedAt, v: $v}';
|
||||
}
|
||||
}
|
||||
|
||||
class LastMessages {
|
||||
LastMessages({
|
||||
required this.message,
|
||||
required this.messageSentBy,
|
||||
required this.messageTime,
|
||||
});
|
||||
|
||||
String message = "";
|
||||
String messageSentBy = "";
|
||||
int messageTime = -1;
|
||||
|
||||
LastMessages.empty();
|
||||
|
||||
LastMessages.fromJson(Map<String, dynamic> json) {
|
||||
message = json['message'] ?? "";
|
||||
messageSentBy = json['messageSentBy'] ?? "";
|
||||
messageTime = json['messageTime'] ?? -1;
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['message'] = message;
|
||||
data['messageSentBy'] = messageSentBy;
|
||||
data['messageTime'] = messageTime;
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'LastMessages{message: $message, messageSentBy: $messageSentBy, messageTime: $messageTime}';
|
||||
}
|
||||
}
|
||||
|
||||
class GroupWorkingScheduleTime {
|
||||
GroupWorkingScheduleTime({
|
||||
required this.startTime,
|
||||
required this.endTime,
|
||||
required this.totalWorkHours,
|
||||
});
|
||||
|
||||
int startTime = -1;
|
||||
int endTime = -1;
|
||||
String totalWorkHours = "";
|
||||
|
||||
GroupWorkingScheduleTime.empty();
|
||||
|
||||
GroupWorkingScheduleTime.fromJson(Map<String, dynamic> json) {
|
||||
startTime = json['startTime'] ?? -1;
|
||||
endTime = json['endTime'] ?? -1;
|
||||
totalWorkHours = json['totalWorkHours'] ?? "";
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['startTime'] = startTime;
|
||||
data['endTime'] = endTime;
|
||||
data['totalWorkHours'] = totalWorkHours;
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'GroupWorkingScheduleTime{startTime: $startTime, endTime: $endTime, totalWorkHours: $totalWorkHours}';
|
||||
}
|
||||
}
|
||||
|
||||
class UserId {
|
||||
UserId({
|
||||
required this.fcmTokens,
|
||||
required this.location,
|
||||
required this.id,
|
||||
required this.userModelName,
|
||||
required this.name,
|
||||
required this.version,
|
||||
required this.email,
|
||||
required this.phoneNumber,
|
||||
required this.active,
|
||||
required this.role,
|
||||
required this.profilePictureUrl,
|
||||
required this.deviceId,
|
||||
required this.verificationCode,
|
||||
required this.isVerified,
|
||||
required this.approved,
|
||||
required this.blocked,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
required this.v,
|
||||
required this.password,
|
||||
required this.userSettings,
|
||||
required this.modelId,
|
||||
});
|
||||
|
||||
FcmTokens fcmTokens = FcmTokens.empty();
|
||||
LocationData location = LocationData.empty();
|
||||
String id = "";
|
||||
String userModelName = "";
|
||||
String name = "";
|
||||
String version = "";
|
||||
String email = "";
|
||||
String phoneNumber = "";
|
||||
bool active = false;
|
||||
String role = "";
|
||||
String profilePictureUrl = "";
|
||||
String deviceId = "";
|
||||
String verificationCode = "";
|
||||
bool isVerified = false;
|
||||
bool approved = false;
|
||||
bool blocked = false;
|
||||
String createdAt = "";
|
||||
String updatedAt = "";
|
||||
int v = -1;
|
||||
String password = "";
|
||||
String userSettings = "";
|
||||
String modelId = "";
|
||||
|
||||
UserId.empty();
|
||||
|
||||
UserId.id({required this.id});
|
||||
|
||||
UserId.fromJson(Map<String, dynamic> json) {
|
||||
fcmTokens = FcmTokens.fromJson(json['fcm_tokens'] ?? FcmTokens.empty());
|
||||
location = LocationData.fromJson(json['location'] ?? LocationData.empty());
|
||||
id = json['_id'] ?? "";
|
||||
userModelName = json['userModelName'] ?? "";
|
||||
name = json['name'] ?? "";
|
||||
version = json['version'] ?? "";
|
||||
email = json['email'] ?? "";
|
||||
phoneNumber = json['phoneNumber'] ?? "";
|
||||
active = json['active'] ?? false;
|
||||
role = json['role'] ?? "";
|
||||
profilePictureUrl = json['profile_picture_url'] ?? "";
|
||||
deviceId = json['deviceId'] ?? "";
|
||||
verificationCode = json['verification_code'] ?? "";
|
||||
isVerified = json['is_verified'] ?? false;
|
||||
approved = json['approved'] ?? false;
|
||||
blocked = json['blocked'] ?? false;
|
||||
createdAt = json['createdAt'] ?? "";
|
||||
updatedAt = json['updatedAt'] ?? "";
|
||||
v = json['__v'] ?? -1;
|
||||
password = json['password'] ?? "";
|
||||
userSettings = json['userSettings'] ?? "";
|
||||
modelId = json['modelId'] ?? "";
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['fcm_tokens'] = fcmTokens.toJson();
|
||||
data['location'] = location.toJson();
|
||||
data['_id'] = id;
|
||||
data['userModelName'] = userModelName;
|
||||
data['name'] = name;
|
||||
data['version'] = version;
|
||||
data['email'] = email;
|
||||
data['phoneNumber'] = phoneNumber;
|
||||
data['active'] = active;
|
||||
data['role'] = role;
|
||||
data['profile_picture_url'] = profilePictureUrl;
|
||||
data['deviceId'] = deviceId;
|
||||
data['verification_code'] = verificationCode;
|
||||
data['is_verified'] = isVerified;
|
||||
data['approved'] = approved;
|
||||
data['blocked'] = blocked;
|
||||
data['createdAt'] = createdAt;
|
||||
data['updatedAt'] = updatedAt;
|
||||
data['__v'] = v;
|
||||
data['password'] = password;
|
||||
data['userSettings'] = userSettings;
|
||||
data['modelId'] = modelId;
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'UserId{fcmTokens: $fcmTokens, location: $location, id: $id, userModelName: $userModelName, name: $name, version: $version, email: $email, phoneNumber: $phoneNumber, active: $active, role: $role, profilePictureUrl: $profilePictureUrl, deviceId: $deviceId, verificationCode: $verificationCode, isVerified: $isVerified, approved: $approved, blocked: $blocked, createdAt: $createdAt, updatedAt: $updatedAt, v: $v, password: $password, userSettings: $userSettings, modelId: $modelId}';
|
||||
}
|
||||
}
|
||||
|
||||
// class Location {
|
||||
// Location({
|
||||
// required this.type,
|
||||
// required this.coordinates,
|
||||
// });
|
||||
// String type = "";
|
||||
// List<double> coordinates = [];
|
||||
//
|
||||
// Location.empty();
|
||||
// Location.fromJson(Map<String, dynamic> json){
|
||||
// type = json['type']??"";
|
||||
// coordinates = List.castFrom<dynamic, double>(json['coordinates']??[]);
|
||||
// }
|
||||
//
|
||||
// Map<String, dynamic> toJson() {
|
||||
// final data = <String, dynamic>{};
|
||||
// data['type'] = type;
|
||||
// data['coordinates'] = coordinates;
|
||||
// return data;
|
||||
// }
|
||||
//
|
||||
// @override
|
||||
// String toString() {
|
||||
// return 'Location{type: $type, coordinates: $coordinates}';
|
||||
// }
|
||||
// }
|
||||
45
lib/models/chat/all_single_chat_message_model.dart
Normal file
45
lib/models/chat/all_single_chat_message_model.dart
Normal file
@@ -0,0 +1,45 @@
|
||||
class AllSingleChatMessages {
|
||||
AllSingleChatMessages({
|
||||
required this.seen,
|
||||
required this.recieverId,
|
||||
required this.name,
|
||||
required this.message,
|
||||
required this.date,
|
||||
required this.image,
|
||||
required this.senderId,
|
||||
});
|
||||
bool seen = false;
|
||||
String recieverId ="";
|
||||
String name ="";
|
||||
String message ="";
|
||||
String date ="";
|
||||
String image ="";
|
||||
String senderId ="";
|
||||
|
||||
AllSingleChatMessages.fromJson(Map<String, dynamic> json){
|
||||
seen = json['seen'] ?? false;
|
||||
recieverId = json['recieverId'] ?? "";
|
||||
name = json['name'] ?? "";
|
||||
message = json['message'] ?? "";
|
||||
date = json['date'] ?? "";
|
||||
image = json['image'] ?? "";
|
||||
senderId = json['senderId'] ?? "";
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['seen'] = seen;
|
||||
data['recieverId'] = recieverId;
|
||||
data['name'] = name;
|
||||
data['message'] = message;
|
||||
data['date'] = date;
|
||||
data['image'] = image;
|
||||
data['senderId'] = senderId;
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'AllSingleChatMessages{seen: $seen, recieverId: $recieverId, name: $name, message: $message, date: $date, image: $image, senderId: $senderId}';
|
||||
}
|
||||
}
|
||||
57
lib/models/chat/all_single_user_chat_server_side.dart
Normal file
57
lib/models/chat/all_single_user_chat_server_side.dart
Normal file
@@ -0,0 +1,57 @@
|
||||
import 'package:ftc_mobile_app/models/profileData/user_data.dart';
|
||||
|
||||
class AllSingleUsersChats {
|
||||
AllSingleUsersChats({
|
||||
required this.from,
|
||||
required this.to,
|
||||
required this.message,
|
||||
required this.seen,
|
||||
required this.isDeleted,
|
||||
required this.isHide,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
required this.seenAt,
|
||||
required this.id,
|
||||
});
|
||||
|
||||
UserData? from;
|
||||
UserData? to;
|
||||
String message = "";
|
||||
bool seen = false;
|
||||
bool isDeleted = false;
|
||||
bool isHide = false;
|
||||
String createdAt = "";
|
||||
String updatedAt = "";
|
||||
String seenAt = "";
|
||||
String id = "";
|
||||
|
||||
AllSingleUsersChats.empty();
|
||||
|
||||
AllSingleUsersChats.fromJson(Map<String, dynamic> json) {
|
||||
from = UserData.fromJson(json['from'] ?? {});
|
||||
to = UserData.fromJson(json['to'] ?? {});
|
||||
message = json['message'] ?? "";
|
||||
seen = json['seen'] ?? false;
|
||||
isDeleted = json['isDeleted'] ?? false;
|
||||
isHide = json['isHide'] ?? false;
|
||||
createdAt = json['createdAt'] ?? "";
|
||||
updatedAt = json['updatedAt'] ?? "";
|
||||
seenAt = json['seenAt'] ?? "";
|
||||
id = json['_id'] ?? "";
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['from'] = from?.toJson();
|
||||
data['to'] = to?.toJson();
|
||||
data['message'] = message;
|
||||
data['seen'] = seen;
|
||||
data['isDeleted'] = isDeleted;
|
||||
data['isHide'] = isHide;
|
||||
data['createdAt'] = createdAt;
|
||||
data['updatedAt'] = updatedAt;
|
||||
data['seenAt'] = seenAt;
|
||||
data['_id'] = id;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
214
lib/models/chat/combined_last_messages_model_class.dart
Normal file
214
lib/models/chat/combined_last_messages_model_class.dart
Normal file
@@ -0,0 +1,214 @@
|
||||
class CombinedMessageModel {
|
||||
CombinedMessageModel({
|
||||
required this.personalMessage,
|
||||
required this.sortedArrayGroup,
|
||||
});
|
||||
List<PersonalMessage> personalMessage = [];
|
||||
List<SortedArrayGroup> sortedArrayGroup = [];
|
||||
|
||||
CombinedMessageModel.empty();
|
||||
CombinedMessageModel.fromJson(Map<String, dynamic> json){
|
||||
personalMessage = List.from(json['personalMessage']).map((e)=>PersonalMessage.fromJson(e)).toList();
|
||||
sortedArrayGroup = List.from(json['sortedArrayGroup']).map((e)=>SortedArrayGroup.fromJson(e)).toList();
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['personalMessage'] = personalMessage.map((e)=>e.toJson()).toList();
|
||||
data['sortedArrayGroup'] = sortedArrayGroup.map((e)=>e.toJson()).toList();
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'CombinedMessageModel{personalMessage: $personalMessage, sortedArrayGroup: $sortedArrayGroup}';
|
||||
}
|
||||
}
|
||||
|
||||
class PersonalMessage {
|
||||
PersonalMessage({
|
||||
required this.isGroup,
|
||||
required this.seen,
|
||||
required this.recieverId,
|
||||
required this.name,
|
||||
required this.message,
|
||||
required this.messageType,
|
||||
required this.date,
|
||||
required this.image,
|
||||
required this.senderId,
|
||||
});
|
||||
bool isGroup = false;
|
||||
bool seen = false;
|
||||
String recieverId = "";
|
||||
String name = "";
|
||||
String message = "";
|
||||
String messageType = "";
|
||||
String date = ""; //eg. "2024-06-21T09:38:16.352Z"
|
||||
String image = "";
|
||||
String senderId = "";
|
||||
|
||||
PersonalMessage.empty();
|
||||
PersonalMessage.fromJson(Map<String, dynamic> json){
|
||||
isGroup = json['isGroup']??false;
|
||||
seen = json['seen']??false;
|
||||
recieverId = json['recieverId']??"";
|
||||
name = json['name']??"";
|
||||
message = json['message']??"";
|
||||
messageType = json['messageType']??"";
|
||||
date = json['date']??"";
|
||||
image = json['image']??"";
|
||||
senderId = json['senderId']??"";
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['isGroup'] = isGroup;
|
||||
data['seen'] = seen;
|
||||
data['recieverId'] = recieverId;
|
||||
data['name'] = name;
|
||||
data['message'] = message;
|
||||
data['messageType'] = messageType;
|
||||
data['date'] = date;
|
||||
data['image'] = image;
|
||||
data['senderId'] = senderId;
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'PersonalMessage{isGroup: $isGroup, seen: $seen, recieverId: $recieverId, name: $name, message: $message, date: $date, image: $image, senderId: $senderId}';
|
||||
}
|
||||
}
|
||||
|
||||
class SortedArrayGroup {
|
||||
SortedArrayGroup({
|
||||
required this.lastMessages,
|
||||
required this.groupWorkingScheduleTime,
|
||||
required this.id,
|
||||
required this.groupName,
|
||||
required this.groupImage,
|
||||
required this.groupMembers,
|
||||
required this.isGroup,
|
||||
required this.date,
|
||||
required this.isActive,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
required this.v,
|
||||
});
|
||||
LastMessages lastMessages = LastMessages.empty();
|
||||
GroupWorkingScheduleTime groupWorkingScheduleTime = GroupWorkingScheduleTime.empty();
|
||||
String id = "";
|
||||
String groupName = "";
|
||||
String groupImage = "";
|
||||
List<String> groupMembers = [];
|
||||
bool isGroup = false;
|
||||
String date = "";
|
||||
bool isActive = false;
|
||||
String createdAt = "";
|
||||
String updatedAt = "";
|
||||
int v = -1;
|
||||
|
||||
SortedArrayGroup.empty();
|
||||
SortedArrayGroup.fromJson(Map<String, dynamic> json){
|
||||
lastMessages = LastMessages.fromJson(json['lastMessages'] ?? LastMessages.empty());
|
||||
groupWorkingScheduleTime = GroupWorkingScheduleTime.fromJson(json['groupWorkingScheduleTime'] ?? GroupWorkingScheduleTime.empty());
|
||||
id = json['_id'] ?? "";
|
||||
groupName = json['groupName'] ?? "";
|
||||
groupImage = json['groupImage'] ?? "";
|
||||
groupMembers = List.castFrom<dynamic, String>(json['groupMembers'] ?? []);
|
||||
isGroup = json['isGroup'] ?? false;
|
||||
date = json['date'] ?? "";
|
||||
isActive = json['isActive'] ?? false;
|
||||
createdAt = json['createdAt'] ?? "";
|
||||
updatedAt = json['updatedAt'] ?? "";
|
||||
v = json['__v'] ?? -1;
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['lastMessages'] = lastMessages.toJson();
|
||||
data['groupWorkingScheduleTime'] = groupWorkingScheduleTime.toJson();
|
||||
data['_id'] = id;
|
||||
data['groupName'] = groupName;
|
||||
data['groupImage'] = groupImage;
|
||||
data['groupMembers'] = groupMembers;
|
||||
data['isGroup'] = isGroup;
|
||||
data['date'] = date;
|
||||
data['isActive'] = isActive;
|
||||
data['createdAt'] = createdAt;
|
||||
data['updatedAt'] = updatedAt;
|
||||
data['__v'] = v;
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'SortedArrayGroup{lastMessages: $lastMessages, groupWorkingScheduleTime: $groupWorkingScheduleTime, id: $id, groupName: $groupName, groupImage: $groupImage, groupMembers: $groupMembers, isGroup: $isGroup, date: $date, isActive: $isActive, createdAt: $createdAt, updatedAt: $updatedAt, v: $v}';
|
||||
}
|
||||
}
|
||||
|
||||
class LastMessages {
|
||||
LastMessages({
|
||||
required this.message,
|
||||
required this.messageType,
|
||||
required this.messageSentBy,
|
||||
required this.messageTime,
|
||||
});
|
||||
String message = "";
|
||||
String messageType = "";
|
||||
String messageSentBy = "";
|
||||
int messageTime = -1;
|
||||
|
||||
LastMessages.empty();
|
||||
LastMessages.fromJson(Map<String, dynamic> json){
|
||||
message = json['message'] ?? "";
|
||||
messageType = json['messageType'] ?? "";
|
||||
messageSentBy = json['messageSentBy'] ?? "";
|
||||
messageTime = json['messageTime'] ?? -1;
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['message'] = message;
|
||||
data['messageType'] = messageType;
|
||||
data['messageSentBy'] = messageSentBy;
|
||||
data['messageTime'] = messageTime;
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'LastMessages{message: $message, messageSentBy: $messageSentBy, messageTime: $messageTime}';
|
||||
}
|
||||
}
|
||||
|
||||
class GroupWorkingScheduleTime {
|
||||
GroupWorkingScheduleTime({
|
||||
required this.startTime,
|
||||
required this.endTime,
|
||||
required this.totalWorkHours,
|
||||
});
|
||||
int startTime = -1;
|
||||
int endTime = -1;
|
||||
String totalWorkHours = "";
|
||||
|
||||
GroupWorkingScheduleTime.empty();
|
||||
GroupWorkingScheduleTime.fromJson(Map<String, dynamic> json){
|
||||
startTime = json['startTime']?? -1;
|
||||
endTime = json['endTime']?? -1;
|
||||
totalWorkHours = json['totalWorkHours']?? "";
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['startTime'] = startTime;
|
||||
data['endTime'] = endTime;
|
||||
data['totalWorkHours'] = totalWorkHours;
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'GroupWorkingScheduleTime{startTime: $startTime, endTime: $endTime, totalWorkHours: $totalWorkHours}';
|
||||
}
|
||||
}
|
||||
53
lib/models/chat/single_chat.dart
Normal file
53
lib/models/chat/single_chat.dart
Normal file
@@ -0,0 +1,53 @@
|
||||
class SingleChatModelClass {
|
||||
SingleChatModelClass({
|
||||
required this.from,
|
||||
required this.to,
|
||||
required this.message,
|
||||
required this.seen,
|
||||
required this.isDeleted,
|
||||
required this.isHide,
|
||||
required this.isPin,
|
||||
required this.id2,
|
||||
required this.id,
|
||||
});
|
||||
String from = "";
|
||||
String to = "";
|
||||
String message = "";
|
||||
bool seen = false;
|
||||
bool isDeleted = false;
|
||||
bool isHide = false;
|
||||
bool isPin = false;
|
||||
String id2 = "";
|
||||
String id = "";
|
||||
|
||||
SingleChatModelClass.fromJson(Map<String, dynamic> json){
|
||||
from = json['from'] ?? "";
|
||||
to = json['to'] ?? "";
|
||||
message = json['message'] ?? "";
|
||||
seen = json['seen'] ?? false;
|
||||
isDeleted = json['isDeleted'] ?? false;
|
||||
isHide = json['isHide'] ?? false;
|
||||
isPin = json['isPin'] ?? false;
|
||||
id2 = json['_id'] ?? "";
|
||||
id = json['id'] ?? "";
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['from'] = from;
|
||||
data['to'] = to;
|
||||
data['message'] = message;
|
||||
data['seen'] = seen;
|
||||
data['isDeleted'] = isDeleted;
|
||||
data['isHide'] = isHide;
|
||||
data['isPin'] = isPin;
|
||||
data['_id'] = id2;
|
||||
data['id'] = id;
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'SingleChatModelClass{from: $from, to: $to, message: $message, seen: $seen, isDeleted: $isDeleted, isHide: $isHide, isPin: $isPin, id2: $id2, id: $id}';
|
||||
}
|
||||
}
|
||||
69
lib/models/chat/update_delete_single_message_model.dart
Normal file
69
lib/models/chat/update_delete_single_message_model.dart
Normal file
@@ -0,0 +1,69 @@
|
||||
class UpdateDeleteSingleMessageModel {
|
||||
UpdateDeleteSingleMessageModel({
|
||||
required this.idOne,
|
||||
required this.from,
|
||||
required this.to,
|
||||
required this.message,
|
||||
required this.seen,
|
||||
required this.isDeleted,
|
||||
required this.isHide,
|
||||
required this.isPin,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
required this.v,
|
||||
required this.seenAt,
|
||||
required this.id,
|
||||
});
|
||||
String idOne = "";
|
||||
String from = "";
|
||||
String to = "";
|
||||
String message = "";
|
||||
bool seen = false;
|
||||
bool isDeleted = false;
|
||||
bool isHide = false;
|
||||
bool isPin = false;
|
||||
String createdAt = "";
|
||||
String updatedAt = "";
|
||||
int v = -1;
|
||||
String seenAt = "";
|
||||
String id = "";
|
||||
|
||||
UpdateDeleteSingleMessageModel.fromJson(Map<String, dynamic> json){
|
||||
idOne = json['_id']?? "";
|
||||
from = json['from']?? "";
|
||||
to = json['to']?? "";
|
||||
message = json['message']?? "";
|
||||
seen = json['seen']?? false;
|
||||
isDeleted = json['isDeleted']?? false;
|
||||
isHide = json['isHide']?? false;
|
||||
isPin = json['isPin']?? false;
|
||||
createdAt = json['createdAt']?? "";
|
||||
updatedAt = json['updatedAt']?? "";
|
||||
v = json['__v']?? -1;
|
||||
seenAt = json['seenAt']?? "";
|
||||
id = json['id']?? "";
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['_id'] = idOne;
|
||||
data['from'] = from;
|
||||
data['to'] = to;
|
||||
data['message'] = message;
|
||||
data['seen'] = seen;
|
||||
data['isDeleted'] = isDeleted;
|
||||
data['isHide'] = isHide;
|
||||
data['isPin'] = isPin;
|
||||
data['createdAt'] = createdAt;
|
||||
data['updatedAt'] = updatedAt;
|
||||
data['__v'] = v;
|
||||
data['seenAt'] = seenAt;
|
||||
data['id'] = id;
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'UpdateDeleteSingleMessageModel{idOne: $idOne, from: $from, to: $to, message: $message, seen: $seen, isDeleted: $isDeleted, isHide: $isHide, isPin: $isPin, createdAt: $createdAt, updatedAt: $updatedAt, v: $v, seenAt: $seenAt, id: $id}';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user