summaryrefslogtreecommitdiff
path: root/www/js
diff options
context:
space:
mode:
Diffstat (limited to 'www/js')
-rw-r--r--www/js/apps.js5
-rw-r--r--www/js/auth.js2
-rw-r--r--www/js/importer.js82
3 files changed, 86 insertions, 3 deletions
diff --git a/www/js/apps.js b/www/js/apps.js
index dd5b337..945b454 100644
--- a/www/js/apps.js
+++ b/www/js/apps.js
@@ -105,12 +105,13 @@ function apps_select(app) {
}
function apps_init() {
- importer = new Rdxport.Importer();
apps_current = locationHrefValue();
if(auth_token && auth_username) {
// todo: do this at a central place
+ importer = new Rdxport.Importer(auth_username, auth_token);
+
rdxport = new Rdxport.Rdxport(auth_username, auth_token, '/rd-bin/rdxport.cgi');
rdxport.setListDropboxesEndpoint('/rh-bin/listdropboxes.cgi');
rdxport.setMusicgridEndpoint('/rh-bin/musicgrid.cgi');
@@ -121,6 +122,8 @@ function apps_init() {
$(window).on('popstate', function(event) {
if(auth_token && auth_username) {
// todo: do this at a central place
+ importer = new Rdxport.Importer(auth_username, auth_token);
+
rdxport = new Rdxport.Rdxport(auth_username, auth_token, '/rd-bin/rdxport.cgi');
rdxport.setListDropboxesEndpoint('/rh-bin/listdropboxes.cgi');
rdxport.setMusicgridEndpoint('/rh-bin/musicgrid.cgi');
diff --git a/www/js/auth.js b/www/js/auth.js
index d01b70d..dd21e39 100644
--- a/www/js/auth.js
+++ b/www/js/auth.js
@@ -39,6 +39,8 @@ function auth_loginSuccess(data) {
sessionStorage.setItem("auth_token", auth_token);
// todo: do this at a central place
+ importer = new Rdxport.Importer(auth_username, auth_token);
+
rdxport = new Rdxport.Rdxport(auth_username, auth_token, '/rd-bin/rdxport.cgi');
rdxport.setListDropboxesEndpoint('/rh-bin/listdropboxes.cgi');
rdxport.setMusicgridEndpoint('/rh-bin/musicgrid.cgi');
diff --git a/www/js/importer.js b/www/js/importer.js
index 4ea55b3..6803921 100644
--- a/www/js/importer.js
+++ b/www/js/importer.js
@@ -24,10 +24,88 @@
var Rdxport = Rdxport || {};
-Rdxport.Importer = function() {
- this.$el = $('#uploadModal');
+Rdxport.Importer = function(username, token) {
+ this.username = username;
+ this.token = token;
+ this.$el = $('#uploadModal');
this.uploads = [];
+ this.webSocket = null;
+
+ this.initWebSocket();
+};
+
+Rdxport.Importer.CMD_LIST = 'list';
+Rdxport.Importer.CMD_NEW = 'new';
+Rdxport.Importer.CMD_RECONNECT = 'reconnect';
+
+Rdxport.Importer.prototype.initWebSocket = function() {
+ var importer = this;
+
+ var webSocket = new WebSocket('wss://import.helsinki.at/rhimportd');
+
+ webSocket.onclose = function(code, reason) {
+ console.log('close');
+ console.log(code);
+ console.log(reason);
+ };
+
+ webSocket.onerror = function() {
+ console.log('error');
+ };
+
+ webSocket.onopen = function() {
+ console.log('open');
+
+ console.log('send list');
+ var sendOptions = {
+ COMMAND: Rdxport.Importer.CMD_NEW,
+ LOGIN_NAME: importer.username,
+ PASSWORD: importer.token,
+ TIMEOUT: 200,
+ REFERENCE_ID: "999",
+ SHOW_ID: 10000,
+ CLEAR_SHOW_CARTS: true,
+ SOURCE_URI: 'archiv://2016/03/31/05'
+ };
+ console.log(sendOptions);
+ this.send(JSON.stringify(sendOptions));
+ };
+
+ webSocket.onmessage = function(event) {
+ console.log('message');
+ console.log(event.data);
+ };
+
+ /*this.webSocket = new WebSocket('wss://import.helsinki.at/rhimportd');
+
+ this.webSocket.onclose = function(code, reason) {
+ console.log('close');
+ console.log(code);
+ console.log(reason);
+ };
+
+ this.webSocket.onerror = function() {
+ console.log('error');
+ };
+
+ this.webSocket.onopen = function() {
+ console.log('open');
+
+ console.log('send reconnect');
+ var reconnectOptions = {
+ COMMAND: Rdxport.Importer.CMD_RECONNECT,
+ LOGIN_NAME: importer.username,
+ PASSWORD: importer.token
+ };
+ console.log(reconnectOptions);
+ this.send(JSON.stringify(reconnectOptions));
+ };
+
+ this.webSocket.onmessage = function(event) {
+ console.log('message');
+ console.log(event.data);
+ };*/
};
Rdxport.Importer.prototype.resetModal = function() {