354 lines
10 KiB
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}';
|
|
// }
|
|
// }
|