2019-04-25 06:56:16 +00:00
|
|
|
import 'package:meta/meta.dart';
|
|
|
|
|
|
|
|
/// Single conversation message
|
|
|
|
///
|
|
|
|
/// @author Pierre HUBERT
|
|
|
|
|
|
|
|
class ConversationMessage implements Comparable {
|
|
|
|
final int id;
|
|
|
|
final int userID;
|
|
|
|
final int timeInsert;
|
|
|
|
final String message;
|
|
|
|
final String imageURL;
|
|
|
|
|
|
|
|
const ConversationMessage({
|
|
|
|
@required this.id,
|
|
|
|
@required this.userID,
|
|
|
|
@required this.timeInsert,
|
|
|
|
@required this.message,
|
|
|
|
@required this.imageURL,
|
|
|
|
}) : assert(id != null),
|
|
|
|
assert(userID != null),
|
|
|
|
assert(timeInsert != null),
|
|
|
|
assert(message != null);
|
|
|
|
|
2019-04-26 06:58:18 +00:00
|
|
|
DateTime get date => DateTime.fromMillisecondsSinceEpoch(timeInsert * 1000);
|
2019-04-26 09:28:33 +00:00
|
|
|
bool get hasMessage => message != null && message.length > 0;
|
|
|
|
bool get hasImage => imageURL != null;
|
|
|
|
|
2019-04-26 06:58:18 +00:00
|
|
|
|
2019-04-25 06:56:16 +00:00
|
|
|
@override
|
|
|
|
int compareTo(other) {
|
|
|
|
return id.compareTo(other.id);
|
|
|
|
}
|
|
|
|
}
|