diff --git a/html/header.html b/html/header.html
index 95935e4..38e5262 100644
--- a/html/header.html
+++ b/html/header.html
@@ -17,6 +17,12 @@
p{font-size:18px;}
+
+
diff --git a/html/users.html b/html/users.html
new file mode 100644
index 0000000..b0f3b04
--- /dev/null
+++ b/html/users.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ User Name |
+ User ID |
+ Edit |
+ Terminate |
+
+
+
+ {for user in users}
+
+ {user.username} |
+ {user.id} |
+
+
+ |
+
+
+ |
+
+ {/for}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/server.js b/server.js
index 456eeba..5b29d39 100644
--- a/server.js
+++ b/server.js
@@ -48,6 +48,9 @@ function renderHTML(request, result, templateFile, templateDependencyFunction)
if(request.session.login === true)
{
templateContext.loggedIn = true;
+ if(templateDependencyFunction !== null)
+ prom.push(templateDependencyFunction(templateContext));
+
prom.push(fetchInTemplate(templateContext, "main","./html/" + templateFile));
}
else
@@ -62,7 +65,13 @@ function renderHTML(request, result, templateFile, templateDependencyFunction)
});
}
+function getUserInformation(templateContext)
+{
+ templateContext.users = config.users;
+}
+
app.get('/', (req, res) => renderHTML(req, res, "home.html", null));
+app.get('/users', (req, res) => renderHTML(req, res, "users.html", getUserInformation));
app.use(express.static('css'));
app.use(express.static('js'));
@@ -109,7 +118,6 @@ app.get('/video', function(request, result)
'Content-Length': chunksize,
'Content-Type': 'video/mp4',
};
-
result.writeHead(206, head);
file.pipe(result);
}
@@ -132,4 +140,55 @@ app.get('/video', function(request, result)
}
});
+
+
+app.post('/addUser', function(request, result)
+{
+ if(request.session.login === true)
+ {
+ userUtils.addUser(request.body.username, request.body.password, config);
+ fileIO.writeJSONToFile(CONFIG_FILE_NAME, config);
+ result.redirect('/users');
+ }
+ else
+ {
+ result.status(401);
+ result.send('None shall pass');
+ }
+});
+
+
+app.post('/edituser', function(request, result)
+{
+ if(request.session.login === true)
+ {
+ userUtils.editUser(request.body.id, request.body.username, request.body.password, config);
+ fileIO.writeJSONToFile(CONFIG_FILE_NAME, config);
+ result.redirect('/users');
+ }
+ else
+ {
+ result.status(401);
+ result.send('None shall pass');
+ }
+});
+
+
+
+app.post('/removeuser', function(request, result)
+{
+ if(request.session.login === true)
+ {
+ userUtils.removeUser(request.body.id, config);
+ fileIO.writeJSONToFile(CONFIG_FILE_NAME, config);
+ result.redirect('/users');
+ }
+ else
+ {
+ result.status(401);
+ result.send('None shall pass');
+ }
+});
+
+
app.listen(config.port, () => console.log(`App listening on port ${config.port}!`));
\ No newline at end of file
diff --git a/user.js b/user.js
index 72f6310..09ee1d7 100644
--- a/user.js
+++ b/user.js
@@ -107,7 +107,7 @@ module.exports =
newUser.salt = passObject.salt;
newUser.password = passObject.pass;
- configuration.push(newUser);
+ configuration.users.push(newUser);
return true;
},