platform/lib/angel_websocket.dart

74 lines
1.8 KiB
Dart
Raw Normal View History

2016-12-23 20:57:46 +00:00
/// WebSocket plugin for Angel.
2016-06-27 00:42:21 +00:00
library angel_websocket;
2016-12-23 20:57:46 +00:00
const String ACTION_INDEX = 'index';
const String ACTION_READ = 'read';
const String ACTION_CREATE = 'create';
const String ACTION_MODIFY = 'modify';
const String ACTION_UPDATE = 'update';
const String ACTION_REMOVE = 'remove';
const String EVENT_ERROR = 'error';
const String EVENT_INDEXED = 'indexed';
const String EVENT_READ = 'read';
const String EVENT_CREATED = 'created';
const String EVENT_MODIFIED = 'modified';
const String EVENT_UPDATED = 'updated';
const String EVENT_REMOVED = 'removed';
/// The standard Angel service actions.
const List<String> ACTIONS = const [
ACTION_INDEX,
ACTION_READ,
ACTION_CREATE,
ACTION_MODIFY,
ACTION_UPDATE,
ACTION_REMOVE
];
/// The standard Angel service events.
const List<String> EVENTS = const [
EVENT_INDEXED,
EVENT_READ,
EVENT_CREATED,
EVENT_MODIFIED,
EVENT_UPDATED,
EVENT_REMOVED
];
/// A notification from the server that something has occurred.
2016-06-27 00:42:21 +00:00
class WebSocketEvent {
String eventName;
var data;
WebSocketEvent({String this.eventName, this.data});
2016-12-23 20:57:46 +00:00
factory WebSocketEvent.fromJson(Map data) =>
new WebSocketEvent(eventName: data['eventName'], data: data['data']);
Map toJson() {
return {'eventName': eventName, 'data': data};
}
2016-06-27 00:42:21 +00:00
}
2016-12-23 20:57:46 +00:00
/// A command sent to the server, usually corresponding to a service method.
2016-06-27 00:42:21 +00:00
class WebSocketAction {
String id;
String eventName;
var data;
var params;
2016-12-23 20:57:46 +00:00
WebSocketAction(
{String this.id, String this.eventName, this.data, this.params});
factory WebSocketAction.fromJson(Map data) => new WebSocketAction(
id: data['id'],
eventName: data['eventName'],
data: data['data'],
params: data['params']);
Map toJson() {
return {'id': id, 'eventName': eventName, 'data': data, 'params': params};
}
2016-09-03 12:34:01 +00:00
}