This repository has been archived on 2024-10-18. You can view files and clone it, but cannot push or open issues or pull requests.
ftc_patient_app/lib/models/chat/all_group_messages_model.dart

354 lines
10 KiB
Dart

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}';
// }
// }