1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2024-11-29 16:26:27 +00:00
comunicmobile/lib/models/ws_message.dart

32 lines
721 B
Dart
Raw Normal View History

2020-04-18 13:24:57 +00:00
import 'dart:convert';
/// WebSocket message
///
/// @author Pierre Hubert
class WsMessage {
final String id;
final String title;
final dynamic data;
const WsMessage({
required this.id,
required this.title,
required this.data,
2022-03-11 16:09:37 +00:00
}) : assert(title.length > 0);
/// Construct a message from a JSON document (messages coming from the server)
static WsMessage fromJSON(final Map<dynamic, dynamic> m) {
2021-02-06 12:26:35 +00:00
return WsMessage(id: m["id"] ?? "", title: m["title"], data: m["data"]);
}
2020-04-18 13:24:57 +00:00
/// Turn a message into a JSON object to send it to the API
2022-03-11 16:09:37 +00:00
String toJSON() => jsonEncode({
2020-04-18 13:24:57 +00:00
"id": id,
"title": title,
"data": data,
});
2022-03-11 16:09:37 +00:00
bool get hasId => this.id.isNotEmpty;
}