@appsensorlike/appsensorlike_websocket
Version:
Base class/types utilized by websocket client/server
32 lines (31 loc) • 1.03 kB
JavaScript
const UUID_QUERY_PARAM = 'uuid';
const ACTION_CONFIG = "CONFIG";
class AccessDeniedError extends Error {
constructor(message = "Access denied") {
super(message);
}
}
class UnAuthorizedActionError extends Error {
constructor(actionName) {
super(`Unauthorized action ${actionName}`);
}
}
class ActionRequest {
constructor(id, actionName, parameters) {
this.id = id;
this.actionName = actionName;
this.parameters = parameters;
}
}
class ActionResponse {
constructor(id, actionName, result, resultElementClass, error, accessDenied = false, unauthorizedAction = false) {
this.id = id;
this.actionName = actionName;
this.result = result;
this.resultElementClass = resultElementClass;
this.error = error;
this.accessDenied = accessDenied;
this.unauthorizedAction = unauthorizedAction;
}
}
export { UUID_QUERY_PARAM, ACTION_CONFIG, ActionRequest, ActionResponse, AccessDeniedError, UnAuthorizedActionError };