2024-04-25 13:33:53 +00:00
|
|
|
import 'package:solian/models/account.dart';
|
|
|
|
|
2024-04-16 14:29:58 +00:00
|
|
|
class Channel {
|
|
|
|
int id;
|
|
|
|
DateTime createdAt;
|
|
|
|
DateTime updatedAt;
|
|
|
|
DateTime? deletedAt;
|
|
|
|
String alias;
|
|
|
|
String name;
|
|
|
|
String description;
|
|
|
|
int type;
|
2024-04-25 13:33:53 +00:00
|
|
|
Account account;
|
2024-04-16 14:29:58 +00:00
|
|
|
int accountId;
|
2024-05-04 17:53:31 +00:00
|
|
|
int? realmId;
|
2024-05-12 12:15:12 +00:00
|
|
|
bool isEncrypted;
|
2024-04-16 14:29:58 +00:00
|
|
|
|
2024-05-06 15:30:30 +00:00
|
|
|
bool isAvailable = false;
|
|
|
|
|
2024-04-16 14:29:58 +00:00
|
|
|
Channel({
|
|
|
|
required this.id,
|
|
|
|
required this.createdAt,
|
|
|
|
required this.updatedAt,
|
|
|
|
this.deletedAt,
|
|
|
|
required this.alias,
|
|
|
|
required this.name,
|
|
|
|
required this.description,
|
|
|
|
required this.type,
|
2024-04-25 13:33:53 +00:00
|
|
|
required this.account,
|
2024-04-16 14:29:58 +00:00
|
|
|
required this.accountId,
|
2024-05-12 12:15:12 +00:00
|
|
|
required this.isEncrypted,
|
2024-05-04 17:53:31 +00:00
|
|
|
this.realmId,
|
2024-04-16 14:29:58 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
factory Channel.fromJson(Map<String, dynamic> json) => Channel(
|
2024-05-01 16:49:38 +00:00
|
|
|
id: json['id'],
|
|
|
|
createdAt: DateTime.parse(json['created_at']),
|
|
|
|
updatedAt: DateTime.parse(json['updated_at']),
|
|
|
|
deletedAt: json['deleted_at'],
|
|
|
|
alias: json['alias'],
|
|
|
|
name: json['name'],
|
|
|
|
description: json['description'],
|
|
|
|
type: json['type'],
|
|
|
|
account: Account.fromJson(json['account']),
|
|
|
|
accountId: json['account_id'],
|
|
|
|
realmId: json['realm_id'],
|
2024-05-12 12:15:12 +00:00
|
|
|
isEncrypted: json['is_encrypted'],
|
2024-05-01 09:37:34 +00:00
|
|
|
);
|
2024-04-16 14:29:58 +00:00
|
|
|
|
|
|
|
Map<String, dynamic> toJson() => {
|
2024-05-01 16:49:38 +00:00
|
|
|
'id': id,
|
|
|
|
'created_at': createdAt.toIso8601String(),
|
|
|
|
'updated_at': updatedAt.toIso8601String(),
|
|
|
|
'deleted_at': deletedAt,
|
|
|
|
'alias': alias,
|
|
|
|
'name': name,
|
|
|
|
'description': description,
|
|
|
|
'type': type,
|
|
|
|
'account': account,
|
|
|
|
'account_id': accountId,
|
|
|
|
'realm_id': realmId,
|
2024-05-12 12:15:12 +00:00
|
|
|
'is_encrypted': isEncrypted,
|
2024-05-01 09:37:34 +00:00
|
|
|
};
|
2024-04-26 12:49:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
class ChannelMember {
|
|
|
|
int id;
|
|
|
|
DateTime createdAt;
|
|
|
|
DateTime updatedAt;
|
|
|
|
DateTime? deletedAt;
|
|
|
|
int channelId;
|
|
|
|
int accountId;
|
|
|
|
Account account;
|
|
|
|
int notify;
|
|
|
|
|
|
|
|
ChannelMember({
|
|
|
|
required this.id,
|
|
|
|
required this.createdAt,
|
|
|
|
required this.updatedAt,
|
|
|
|
this.deletedAt,
|
|
|
|
required this.channelId,
|
|
|
|
required this.accountId,
|
|
|
|
required this.account,
|
|
|
|
required this.notify,
|
|
|
|
});
|
|
|
|
|
|
|
|
factory ChannelMember.fromJson(Map<String, dynamic> json) => ChannelMember(
|
2024-05-01 16:49:38 +00:00
|
|
|
id: json['id'],
|
|
|
|
createdAt: DateTime.parse(json['created_at']),
|
|
|
|
updatedAt: DateTime.parse(json['updated_at']),
|
|
|
|
deletedAt: json['deleted_at'],
|
|
|
|
channelId: json['channel_id'],
|
|
|
|
accountId: json['account_id'],
|
|
|
|
account: Account.fromJson(json['account']),
|
|
|
|
notify: json['notify'],
|
2024-05-01 09:37:34 +00:00
|
|
|
);
|
2024-04-26 12:49:21 +00:00
|
|
|
|
|
|
|
Map<String, dynamic> toJson() => {
|
2024-05-01 16:49:38 +00:00
|
|
|
'id': id,
|
|
|
|
'created_at': createdAt.toIso8601String(),
|
|
|
|
'updated_at': updatedAt.toIso8601String(),
|
|
|
|
'deleted_at': deletedAt,
|
|
|
|
'channel_id': channelId,
|
|
|
|
'account_id': accountId,
|
|
|
|
'account': account.toJson(),
|
|
|
|
'notify': notify,
|
2024-05-01 09:37:34 +00:00
|
|
|
};
|
|
|
|
}
|