]> git.immae.eu Git - perso/Immae/Projets/Nodejs/Surfer.git/blobdiff - app/js/app.js
Add basic admin ui
[perso/Immae/Projets/Nodejs/Surfer.git] / app / js / app.js
diff --git a/app/js/app.js b/app/js/app.js
new file mode 100644 (file)
index 0000000..55153d4
--- /dev/null
@@ -0,0 +1,56 @@
+(function () {
+'use strict';
+
+function login(username, password) {
+    username = username || app.loginData.username;
+    password = password || app.loginData.password;
+
+    app.busy = true;
+
+    superagent.get('/api/files/').query({ username: username, password: password }).end(function (error, result) {
+        app.busy = false;
+
+        if (error) return console.error(error);
+        if (result.statusCode === 401) return console.error('Invalid credentials');
+
+        app.session.valid = true;
+        app.session.username = username;
+        app.session.password = password;
+
+        // clearly not the best option
+        localStorage.username = username;
+        localStorage.password = password;
+    });
+}
+
+function logout() {
+    app.session.valid = false;
+    app.session.username = username;
+    app.session.password = password;
+
+    delete localStorage.username;
+    delete localStorage.password;
+}
+
+var app = new Vue({
+    el: '#app',
+    data: {
+        busy: true,
+        session: {
+            valid: false
+        },
+        loginData: {
+
+        }
+    },
+    methods: {
+        login: login,
+        logout: logout
+    }
+});
+
+window.app = app;
+
+login(localStorage.username, localStorage.password);
+
+})();