Webrtc Calling
							parent
							
								
									304f77b9bb
								
							
						
					
					
						commit
						b21142e4af
					
				| @ -0,0 +1,425 @@ | ||||
| // To parse this JSON data, do | ||||
| // | ||||
| //     final incomingCallDataPayload = incomingCallDataPayloadFromJson(jsonString); | ||||
| 
 | ||||
| import 'dart:convert'; | ||||
| 
 | ||||
| class IncomingCallDataPayload { | ||||
|   IncomingCallDataPayload({ | ||||
|     this.id, | ||||
|     this.nameCaller, | ||||
|     this.appName, | ||||
|     this.avatar, | ||||
|     this.handle, | ||||
|     this.type, | ||||
|     this.duration, | ||||
|     this.textAccept, | ||||
|     this.textDecline, | ||||
|     this.textMissedCall, | ||||
|     this.textCallback, | ||||
|     this.extra, | ||||
|     this.headers, | ||||
|     this.android, | ||||
|     this.ios, | ||||
|   }); | ||||
| 
 | ||||
|   String? id; | ||||
|   String? nameCaller; | ||||
|   String? appName; | ||||
|   dynamic avatar; | ||||
|   String? handle; | ||||
|   dynamic? type; | ||||
|   dynamic? duration; | ||||
|   String? textAccept; | ||||
|   String? textDecline; | ||||
|   String? textMissedCall; | ||||
|   String? textCallback; | ||||
|   Extra? extra; | ||||
|   dynamic headers; | ||||
|   Android? android; | ||||
|   Ios? ios; | ||||
| 
 | ||||
|   factory IncomingCallDataPayload.fromRawJson(String str) => IncomingCallDataPayload.fromJson(json.decode(str)); | ||||
| 
 | ||||
|   String toRawJson() => json.encode(toJson()); | ||||
| 
 | ||||
|   factory IncomingCallDataPayload.fromJson(Map<String, dynamic> json) => IncomingCallDataPayload( | ||||
|     id: json["id"], | ||||
|     nameCaller: json["nameCaller"], | ||||
|     appName: json["appName"], | ||||
|     avatar: json["avatar"], | ||||
|     handle: json["handle"], | ||||
|     type: json["type"], | ||||
|     duration: json["duration"], | ||||
|     textAccept: json["textAccept"], | ||||
|     textDecline: json["textDecline"], | ||||
|     textMissedCall: json["textMissedCall"], | ||||
|     textCallback: json["textCallback"], | ||||
|     extra: json["extra"] == null ? null : Extra.fromJson(json["extra"]), | ||||
|     headers: json["headers"], | ||||
|     android: json["android"] == null ? null : Android.fromJson(json["android"]), | ||||
|     ios: json["ios"] == null ? null : Ios.fromJson(json["ios"]), | ||||
|   ); | ||||
| 
 | ||||
|   Map<String, dynamic> toJson() => { | ||||
|     "id": id, | ||||
|     "nameCaller": nameCaller, | ||||
|     "appName": appName, | ||||
|     "avatar": avatar, | ||||
|     "handle": handle, | ||||
|     "type": type, | ||||
|     "duration": duration, | ||||
|     "textAccept": textAccept, | ||||
|     "textDecline": textDecline, | ||||
|     "textMissedCall": textMissedCall, | ||||
|     "textCallback": textCallback, | ||||
|     "extra": extra?.toJson(), | ||||
|     "headers": headers, | ||||
|     "android": android?.toJson(), | ||||
|     "ios": ios?.toJson(), | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
| class Android { | ||||
|   Android({ | ||||
|     this.isCustomNotification, | ||||
|     this.isShowLogo, | ||||
|     this.isShowCallback, | ||||
|     this.isShowMissedCallNotification, | ||||
|     this.ringtonePath, | ||||
|     this.backgroundColor, | ||||
|     this.backgroundUrl, | ||||
|     this.actionColor, | ||||
|     this.incomingCallNotificationChannelName, | ||||
|     this.missedCallNotificationChannelName, | ||||
|   }); | ||||
| 
 | ||||
|   bool? isCustomNotification; | ||||
|   bool? isShowLogo; | ||||
|   bool? isShowCallback; | ||||
|   bool? isShowMissedCallNotification; | ||||
|   String? ringtonePath; | ||||
|   String? backgroundColor; | ||||
|   String? backgroundUrl; | ||||
|   String? actionColor; | ||||
|   dynamic incomingCallNotificationChannelName; | ||||
|   dynamic missedCallNotificationChannelName; | ||||
| 
 | ||||
|   factory Android.fromRawJson(String str) => Android.fromJson(json.decode(str)); | ||||
| 
 | ||||
|   String toRawJson() => json.encode(toJson()); | ||||
| 
 | ||||
|   factory Android.fromJson(Map<String, dynamic> json) => Android( | ||||
|     isCustomNotification: json["isCustomNotification"], | ||||
|     isShowLogo: json["isShowLogo"], | ||||
|     isShowCallback: json["isShowCallback"], | ||||
|     isShowMissedCallNotification: json["isShowMissedCallNotification"], | ||||
|     ringtonePath: json["ringtonePath"], | ||||
|     backgroundColor: json["backgroundColor"], | ||||
|     backgroundUrl: json["backgroundUrl"], | ||||
|     actionColor: json["actionColor"], | ||||
|     incomingCallNotificationChannelName: json["incomingCallNotificationChannelName"], | ||||
|     missedCallNotificationChannelName: json["missedCallNotificationChannelName"], | ||||
|   ); | ||||
| 
 | ||||
|   Map<String, dynamic> toJson() => { | ||||
|     "isCustomNotification": isCustomNotification, | ||||
|     "isShowLogo": isShowLogo, | ||||
|     "isShowCallback": isShowCallback, | ||||
|     "isShowMissedCallNotification": isShowMissedCallNotification, | ||||
|     "ringtonePath": ringtonePath, | ||||
|     "backgroundColor": backgroundColor, | ||||
|     "backgroundUrl": backgroundUrl, | ||||
|     "actionColor": actionColor, | ||||
|     "incomingCallNotificationChannelName": incomingCallNotificationChannelName, | ||||
|     "missedCallNotificationChannelName": missedCallNotificationChannelName, | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
| class Extra { | ||||
|   Extra({ | ||||
|     this.loginDetails, | ||||
|     this.callerDetails, | ||||
|   }); | ||||
| 
 | ||||
|   LoginDetails? loginDetails; | ||||
|   CallerDetails? callerDetails; | ||||
| 
 | ||||
|   factory Extra.fromRawJson(String str) => Extra.fromJson(json.decode(str)); | ||||
| 
 | ||||
|   String toRawJson() => json.encode(toJson()); | ||||
| 
 | ||||
|   factory Extra.fromJson(Map<String, dynamic> json) => Extra( | ||||
|     loginDetails: json["loginDetails"] == null ? null : LoginDetails.fromJson(json["loginDetails"]), | ||||
|     callerDetails: json["callerDetails"] == null ? null : CallerDetails.fromJson(json["callerDetails"]), | ||||
|   ); | ||||
| 
 | ||||
|   Map<String, dynamic> toJson() => { | ||||
|     "loginDetails": loginDetails?.toJson(), | ||||
|     "callerDetails": callerDetails?.toJson(), | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
| class CallerDetails { | ||||
|   CallerDetails({ | ||||
|     this.userChatHistoryId, | ||||
|     this.userChatHistoryLineId, | ||||
|     this.contant, | ||||
|     this.contantNo, | ||||
|     this.currentUserId, | ||||
|     this.currentUserName, | ||||
|     this.targetUserId, | ||||
|     this.targetUserName, | ||||
|     this.encryptedTargetUserId, | ||||
|     this.encryptedTargetUserName, | ||||
|     this.currentUserEmail, | ||||
|     this.targetUserEmail, | ||||
|     this.chatEventId, | ||||
|     this.fileTypeId, | ||||
|     this.isSeen, | ||||
|     this.isDelivered, | ||||
|     this.createdDate, | ||||
|     this.chatSource, | ||||
|     this.conversationId, | ||||
|     this.fileTypeResponse, | ||||
|     this.userChatReplyResponse, | ||||
|   }); | ||||
| 
 | ||||
|   int? userChatHistoryId; | ||||
|   int? userChatHistoryLineId; | ||||
|   String? contant; | ||||
|   String? contantNo; | ||||
|   int? currentUserId; | ||||
|   String? currentUserName; | ||||
|   int? targetUserId; | ||||
|   String? targetUserName; | ||||
|   String? encryptedTargetUserId; | ||||
|   String? encryptedTargetUserName; | ||||
|   String? currentUserEmail; | ||||
|   String? targetUserEmail; | ||||
|   int? chatEventId; | ||||
|   dynamic fileTypeId; | ||||
|   bool? isSeen; | ||||
|   bool? isDelivered; | ||||
|   DateTime? createdDate; | ||||
|   int? chatSource; | ||||
|   String? conversationId; | ||||
|   FileTypeResponse? fileTypeResponse; | ||||
|   dynamic userChatReplyResponse; | ||||
| 
 | ||||
|   factory CallerDetails.fromRawJson(String str) => CallerDetails.fromJson(json.decode(str)); | ||||
| 
 | ||||
|   String toRawJson() => json.encode(toJson()); | ||||
| 
 | ||||
|   factory CallerDetails.fromJson(Map<String, dynamic> json) => CallerDetails( | ||||
|     userChatHistoryId: json["userChatHistoryId"], | ||||
|     userChatHistoryLineId: json["userChatHistoryLineId"], | ||||
|     contant: json["contant"], | ||||
|     contantNo: json["contantNo"], | ||||
|     currentUserId: json["currentUserId"], | ||||
|     currentUserName: json["currentUserName"], | ||||
|     targetUserId: json["targetUserId"], | ||||
|     targetUserName: json["targetUserName"], | ||||
|     encryptedTargetUserId: json["encryptedTargetUserId"], | ||||
|     encryptedTargetUserName: json["encryptedTargetUserName"], | ||||
|     currentUserEmail: json["currentUserEmail"], | ||||
|     targetUserEmail: json["targetUserEmail"], | ||||
|     chatEventId: json["chatEventId"], | ||||
|     fileTypeId: json["fileTypeId"], | ||||
|     isSeen: json["isSeen"], | ||||
|     isDelivered: json["isDelivered"], | ||||
|     createdDate: json["createdDate"] == null ? null : DateTime.parse(json["createdDate"]), | ||||
|     chatSource: json["chatSource"], | ||||
|     conversationId: json["conversationId"], | ||||
|     fileTypeResponse: json["fileTypeResponse"] == null ? null : FileTypeResponse.fromJson(json["fileTypeResponse"]), | ||||
|     userChatReplyResponse: json["userChatReplyResponse"], | ||||
|   ); | ||||
| 
 | ||||
|   Map<String, dynamic> toJson() => { | ||||
|     "userChatHistoryId": userChatHistoryId, | ||||
|     "userChatHistoryLineId": userChatHistoryLineId, | ||||
|     "contant": contant, | ||||
|     "contantNo": contantNo, | ||||
|     "currentUserId": currentUserId, | ||||
|     "currentUserName": currentUserName, | ||||
|     "targetUserId": targetUserId, | ||||
|     "targetUserName": targetUserName, | ||||
|     "encryptedTargetUserId": encryptedTargetUserId, | ||||
|     "encryptedTargetUserName": encryptedTargetUserName, | ||||
|     "currentUserEmail": currentUserEmail, | ||||
|     "targetUserEmail": targetUserEmail, | ||||
|     "chatEventId": chatEventId, | ||||
|     "fileTypeId": fileTypeId, | ||||
|     "isSeen": isSeen, | ||||
|     "isDelivered": isDelivered, | ||||
|     "createdDate": createdDate?.toIso8601String(), | ||||
|     "chatSource": chatSource, | ||||
|     "conversationId": conversationId, | ||||
|     "fileTypeResponse": fileTypeResponse?.toJson(), | ||||
|     "userChatReplyResponse": userChatReplyResponse, | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
| class FileTypeResponse { | ||||
|   FileTypeResponse({ | ||||
|     this.fileTypeId, | ||||
|     this.fileTypeName, | ||||
|     this.fileTypeDescription, | ||||
|     this.fileKind, | ||||
|     this.fileName, | ||||
|   }); | ||||
| 
 | ||||
|   int? fileTypeId; | ||||
|   dynamic fileTypeName; | ||||
|   dynamic fileTypeDescription; | ||||
|   dynamic fileKind; | ||||
|   dynamic fileName; | ||||
| 
 | ||||
|   factory FileTypeResponse.fromRawJson(String str) => FileTypeResponse.fromJson(json.decode(str)); | ||||
| 
 | ||||
|   String toRawJson() => json.encode(toJson()); | ||||
| 
 | ||||
|   factory FileTypeResponse.fromJson(Map<String, dynamic> json) => FileTypeResponse( | ||||
|     fileTypeId: json["fileTypeId"], | ||||
|     fileTypeName: json["fileTypeName"], | ||||
|     fileTypeDescription: json["fileTypeDescription"], | ||||
|     fileKind: json["fileKind"], | ||||
|     fileName: json["fileName"], | ||||
|   ); | ||||
| 
 | ||||
|   Map<String, dynamic> toJson() => { | ||||
|     "fileTypeId": fileTypeId, | ||||
|     "fileTypeName": fileTypeName, | ||||
|     "fileTypeDescription": fileTypeDescription, | ||||
|     "fileKind": fileKind, | ||||
|     "fileName": fileName, | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
| class LoginDetails { | ||||
|   LoginDetails({ | ||||
|     this.id, | ||||
|     this.userName, | ||||
|     this.email, | ||||
|     this.phone, | ||||
|     this.title, | ||||
|     this.token, | ||||
|     this.isDomainUser, | ||||
|     this.isActiveCode, | ||||
|     this.encryptedUserId, | ||||
|     this.encryptedUserName, | ||||
|   }); | ||||
| 
 | ||||
|   int? id; | ||||
|   String? userName; | ||||
|   String? email; | ||||
|   dynamic phone; | ||||
|   String? title; | ||||
|   String? token; | ||||
|   bool? isDomainUser; | ||||
|   bool? isActiveCode; | ||||
|   String? encryptedUserId; | ||||
|   String? encryptedUserName; | ||||
| 
 | ||||
|   factory LoginDetails.fromRawJson(String str) => LoginDetails.fromJson(json.decode(str)); | ||||
| 
 | ||||
|   String toRawJson() => json.encode(toJson()); | ||||
| 
 | ||||
|   factory LoginDetails.fromJson(Map<String, dynamic> json) => LoginDetails( | ||||
|     id: json["id"], | ||||
|     userName: json["userName"], | ||||
|     email: json["email"], | ||||
|     phone: json["phone"], | ||||
|     title: json["title"], | ||||
|     token: json["token"], | ||||
|     isDomainUser: json["isDomainUser"], | ||||
|     isActiveCode: json["isActiveCode"], | ||||
|     encryptedUserId: json["encryptedUserId"], | ||||
|     encryptedUserName: json["encryptedUserName"], | ||||
|   ); | ||||
| 
 | ||||
|   Map<String, dynamic> toJson() => { | ||||
|     "id": id, | ||||
|     "userName": userName, | ||||
|     "email": email, | ||||
|     "phone": phone, | ||||
|     "title": title, | ||||
|     "token": token, | ||||
|     "isDomainUser": isDomainUser, | ||||
|     "isActiveCode": isActiveCode, | ||||
|     "encryptedUserId": encryptedUserId, | ||||
|     "encryptedUserName": encryptedUserName, | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
| class Ios { | ||||
|   Ios({ | ||||
|     this.iconName, | ||||
|     this.handleType, | ||||
|     this.supportsVideo, | ||||
|     this.maximumCallGroups, | ||||
|     this.maximumCallsPerCallGroup, | ||||
|     this.audioSessionMode, | ||||
|     this.audioSessionActive, | ||||
|     this.audioSessionPreferredSampleRate, | ||||
|     this.audioSessionPreferredIoBufferDuration, | ||||
|     this.supportsDtmf, | ||||
|     this.supportsHolding, | ||||
|     this.supportsGrouping, | ||||
|     this.supportsUngrouping, | ||||
|     this.ringtonePath, | ||||
|   }); | ||||
| 
 | ||||
|   String? iconName; | ||||
|   String? handleType; | ||||
|   bool? supportsVideo; | ||||
|   int? maximumCallGroups; | ||||
|   int? maximumCallsPerCallGroup; | ||||
|   String? audioSessionMode; | ||||
|   bool? audioSessionActive; | ||||
|   double? audioSessionPreferredSampleRate; | ||||
|   double? audioSessionPreferredIoBufferDuration; | ||||
|   bool? supportsDtmf; | ||||
|   bool? supportsHolding; | ||||
|   bool? supportsGrouping; | ||||
|   bool? supportsUngrouping; | ||||
|   String? ringtonePath; | ||||
| 
 | ||||
|   factory Ios.fromRawJson(String str) => Ios.fromJson(json.decode(str)); | ||||
| 
 | ||||
|   String toRawJson() => json.encode(toJson()); | ||||
| 
 | ||||
|   factory Ios.fromJson(Map<String, dynamic> json) => Ios( | ||||
|     iconName: json["iconName"], | ||||
|     handleType: json["handleType"], | ||||
|     supportsVideo: json["supportsVideo"], | ||||
|     maximumCallGroups: json["maximumCallGroups"], | ||||
|     maximumCallsPerCallGroup: json["maximumCallsPerCallGroup"], | ||||
|     audioSessionMode: json["audioSessionMode"], | ||||
|     audioSessionActive: json["audioSessionActive"], | ||||
|     audioSessionPreferredSampleRate: json["audioSessionPreferredSampleRate"], | ||||
|     audioSessionPreferredIoBufferDuration: json["audioSessionPreferredIOBufferDuration"]?.toDouble(), | ||||
|     supportsDtmf: json["supportsDTMF"], | ||||
|     supportsHolding: json["supportsHolding"], | ||||
|     supportsGrouping: json["supportsGrouping"], | ||||
|     supportsUngrouping: json["supportsUngrouping"], | ||||
|     ringtonePath: json["ringtonePath"], | ||||
|   ); | ||||
| 
 | ||||
|   Map<String, dynamic> toJson() => { | ||||
|     "iconName": iconName, | ||||
|     "handleType": handleType, | ||||
|     "supportsVideo": supportsVideo, | ||||
|     "maximumCallGroups": maximumCallGroups, | ||||
|     "maximumCallsPerCallGroup": maximumCallsPerCallGroup, | ||||
|     "audioSessionMode": audioSessionMode, | ||||
|     "audioSessionActive": audioSessionActive, | ||||
|     "audioSessionPreferredSampleRate": audioSessionPreferredSampleRate, | ||||
|     "audioSessionPreferredIOBufferDuration": audioSessionPreferredIoBufferDuration, | ||||
|     "supportsDTMF": supportsDtmf, | ||||
|     "supportsHolding": supportsHolding, | ||||
|     "supportsGrouping": supportsGrouping, | ||||
|     "supportsUngrouping": supportsUngrouping, | ||||
|     "ringtonePath": ringtonePath, | ||||
|   }; | ||||
| } | ||||
					Loading…
					
					
				
		Reference in New Issue