no message
This commit is contained in:
165
lib/src/models/channel_info.dart
Normal file
165
lib/src/models/channel_info.dart
Normal file
@@ -0,0 +1,165 @@
|
||||
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart';
|
||||
|
||||
/// Channel Information
|
||||
class ChannelInfo {
|
||||
/// Channel ID
|
||||
String channelID;
|
||||
|
||||
/// Channel Name
|
||||
String? channelName;
|
||||
|
||||
/// Channel Announcement
|
||||
String? notification;
|
||||
|
||||
/// Channel Introduction
|
||||
String? introduction;
|
||||
|
||||
/// Channel Avatar
|
||||
String? faceURL;
|
||||
|
||||
/// Creation Time
|
||||
int? createTime;
|
||||
|
||||
/// Number of Channel Members
|
||||
int? memberCount;
|
||||
|
||||
/// Channel Status: 0 - Normal, 1 - Blocked, 2 - Dissolved, 3 - Muted
|
||||
int? status;
|
||||
|
||||
/// Creator's ID
|
||||
String? creatorUserID;
|
||||
|
||||
/// Channel Type [ChannelType]
|
||||
int? channelType;
|
||||
|
||||
/// Extra Information
|
||||
String? ex;
|
||||
|
||||
|
||||
ChannelInfo({
|
||||
required this.channelID,
|
||||
this.channelName,
|
||||
this.notification,
|
||||
this.introduction,
|
||||
this.faceURL,
|
||||
this.createTime,
|
||||
this.memberCount,
|
||||
this.status,
|
||||
this.creatorUserID,
|
||||
this.channelType,
|
||||
this.ex,
|
||||
});
|
||||
|
||||
ChannelInfo.fromJson(Map<String, dynamic> json) : channelID = json['channelID'] {
|
||||
channelName = json['channelName'];
|
||||
notification = json['notification'];
|
||||
introduction = json['introduction'];
|
||||
faceURL = json['faceURL'];
|
||||
createTime = json['createTime'];
|
||||
memberCount = json['memberCount'];
|
||||
status = json['status'];
|
||||
creatorUserID = json['creatorUserID'];
|
||||
channelType = json['channelType'];
|
||||
ex = json['ex'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = Map<String, dynamic>();
|
||||
data['channelID'] = this.channelID;
|
||||
data['channelName'] = this.channelName;
|
||||
data['notification'] = this.notification;
|
||||
data['introduction'] = this.introduction;
|
||||
data['faceURL'] = this.faceURL;
|
||||
data['createTime'] = this.createTime;
|
||||
data['memberCount'] = this.memberCount;
|
||||
data['status'] = this.status;
|
||||
data['creatorUserID'] = this.creatorUserID;
|
||||
data['channelType'] = this.channelType;
|
||||
data['ex'] = this.ex;
|
||||
return data;
|
||||
}
|
||||
|
||||
/// Corresponding Conversation Type for Channel Type
|
||||
int get sessionType => ConversationType.superChannel;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) || other is ChannelInfo && runtimeType == other.runtimeType && channelID == other.channelID;
|
||||
|
||||
@override
|
||||
int get hashCode => channelID.hashCode;
|
||||
}
|
||||
|
||||
/// Channel Member Information
|
||||
class ChannelMembersInfo {
|
||||
/// Channel ID
|
||||
String? channelID;
|
||||
|
||||
/// User ID
|
||||
String? userID;
|
||||
|
||||
/// Nickname
|
||||
String? nickname;
|
||||
|
||||
/// Avatar
|
||||
String? faceURL;
|
||||
|
||||
/// Role [ChannelRoleLevel]
|
||||
int? roleLevel;
|
||||
|
||||
/// Join Time
|
||||
int? joinTime;
|
||||
|
||||
/// Extra Information
|
||||
String? ex;
|
||||
|
||||
/// Mute End Time (seconds)
|
||||
int? muteEndTime;
|
||||
|
||||
ChannelMembersInfo({
|
||||
this.channelID,
|
||||
this.userID,
|
||||
this.roleLevel,
|
||||
this.joinTime,
|
||||
this.nickname,
|
||||
this.faceURL,
|
||||
this.ex,
|
||||
this.muteEndTime,
|
||||
});
|
||||
|
||||
ChannelMembersInfo.fromJson(Map<String, dynamic> json) {
|
||||
channelID = json['channelID'];
|
||||
userID = json['userID'];
|
||||
roleLevel = json['roleLevel'];
|
||||
joinTime = json['joinTime'];
|
||||
nickname = json['nickname'];
|
||||
faceURL = json['faceURL'];
|
||||
ex = json['ex'];
|
||||
muteEndTime = json['muteEndTime'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = Map<String, dynamic>();
|
||||
data['channelID'] = this.channelID;
|
||||
data['userID'] = this.userID;
|
||||
data['roleLevel'] = this.roleLevel;
|
||||
data['joinTime'] = this.joinTime;
|
||||
data['nickname'] = this.nickname;
|
||||
data['faceURL'] = this.faceURL;
|
||||
data['ex'] = this.ex;
|
||||
data['muteEndTime'] = this.muteEndTime;
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is ChannelMembersInfo &&
|
||||
runtimeType == other.runtimeType &&
|
||||
channelID == other.channelID &&
|
||||
userID == other.userID;
|
||||
|
||||
@override
|
||||
int get hashCode => channelID.hashCode ^ userID.hashCode;
|
||||
}
|
||||
Reference in New Issue
Block a user