Line data Source code
1 : 2 : 3 : import 'package:chatwoot_client_sdk/chatwoot_client_sdk.dart'; 4 : import 'package:chatwoot_client_sdk/data/local/entity/chatwoot_contact.dart'; 5 : import 'package:equatable/equatable.dart'; 6 : import 'package:hive/hive.dart'; 7 : import 'package:json_annotation/json_annotation.dart'; 8 : part 'chatwoot_conversation.g.dart'; 9 : 10 : 11 : 12 : @JsonSerializable(explicitToJson: true) 13 : @HiveType(typeId: 1) 14 : class ChatwootConversation extends Equatable{ 15 : 16 : @JsonKey() 17 : @HiveField(0) 18 : final int id; 19 : 20 : @JsonKey(name: "inbox_id") 21 : @HiveField(1) 22 : final int inboxId; 23 : 24 : @JsonKey() 25 : @HiveField(2) 26 : final List<ChatwootMessage> messages; 27 : 28 : @JsonKey() 29 : @HiveField(3) 30 : final ChatwootContact contact; 31 : 32 6 : ChatwootConversation({ 33 : required this.id, 34 : required this.inboxId, 35 : required this.messages, 36 : required this.contact 37 : }); 38 : 39 12 : factory ChatwootConversation.fromJson(Map<String, dynamic> json) => _$ChatwootConversationFromJson(json); 40 : 41 0 : Map<String, dynamic> toJson() => _$ChatwootConversationToJson(this); 42 : 43 2 : @override 44 2 : List<Object?> get props => [ 45 2 : id, 46 2 : inboxId, 47 2 : messages, 48 2 : contact 49 : ]; 50 : 51 : }