updated router. email no longer case sensitive.

This commit is contained in:
lllllllillllllillll 2024-04-01 15:08:02 -07:00
parent c9d7dea132
commit 74cf69b3d3
6 changed files with 42 additions and 18 deletions

View File

@ -177,7 +177,7 @@ export async function addCard (name, state) {
// HTMX server-side events
export const SSE = (req, res) => {
export const SSE = async (req, res) => {
res.writeHead(200, { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache', 'Connection': 'keep-alive' });
let eventCheck = setInterval(async () => {

View File

@ -16,6 +16,7 @@ export const Login = function(req,res){
export const submitLogin = async function(req,res){
let { email, password } = req.body;
email = email.toLowerCase();
if(email && password){

View File

@ -1,9 +1,9 @@
import { Readable } from 'stream';
import { Permission, Container, User } from '../database/models.js';
import { docker } from '../server.js';
import { dockerContainerStats } from 'systeminformation';
import { readFileSync } from 'fs';
let hidden = '';
// The actual page
@ -21,6 +21,22 @@ export const Portal = (req, res) => {
}
async function CardList () {
let name = req.session.user;
let containers = await Permission.findAll({ attributes: ['containerName'], where: { user: name }});
// for (let i = 0; i < containers.length; i++) {
// let details = await containerInfo(containers[i].containerName);
// let card = await createCard(details);
// cardList += card;
// }
for (let i = 0; i < containers.length; i++) {
console.log(containers[i].containerName);
}
}
async function containerInfo (containerName) {
let container = docker.getContainer(containerName);
let info = await container.inspect();
@ -128,7 +144,7 @@ export async function addCard (name, state) {
// HTMX server-side events
export const SSE = (req, res) => {
export const SSE = async (req, res) => {
res.writeHead(200, { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache', 'Connection': 'keep-alive' });
let eventCheck = setInterval(async () => {

View File

@ -18,6 +18,7 @@ export const Register = function(req,res){
export const submitRegister = async function(req,res){
let { name, username, email, password, confirmPassword, warning, secret } = req.body;
email = email.toLowerCase();
if (secret != SECRET) {

View File

@ -21,15 +21,24 @@ import { Portal } from "../controllers/portal.js"
// Auth middleware
const auth = async (req, res, next) => {
if (!req.session.user) { res.redirect('/login'); return; }
if (req.session.role == "admin") { next(); }
let user = req.session.user;
let role = req.session.role;
let action = req.path.split("/")[2];
let path = req.path;
let trigger = req.header('hx-trigger-name');
console.log("Auth: ", user, role, path, trigger);
console.log(req.path);
if (!user) { res.redirect('/login'); return; }
else if (role == "admin") { next(); return;}
else if (path == "/portal" || path == "/account" || path == "/supporters" || path == "/thank") { next(); return; }
else { res.redirect('/portal'); return; }
// console.log("Auth: ", user, role, action, trigger);
// let action = req.path.split("/")[2];
// else if (trigger == "portal" || "supporters" || "account" || "thank") { res.redirect() return; }
// if (action == "start" || action == "stop" || action == "pause" || action == "restart") {
@ -50,9 +59,6 @@ const auth = async (req, res, next) => {
// else {
// res.redirect('/portal');
// }
res.redirect('/portal');
}
@ -96,10 +102,10 @@ router.get("/variables", auth, Variables);
router.get("/settings", auth, Settings);
// User routes
router.get("/portal", Portal);
router.get("/account", Account);
router.get("/supporters", Supporters);
router.post("/thank", Thanks);
router.get("/portal", auth, Portal);
router.get("/account", auth, Account);
router.get("/supporters", auth, Supporters);
router.post("/thank", auth, Thanks);
router.get("/login", Login);
router.post("/login", submitLogin);

View File

@ -46,7 +46,7 @@
</div>
<!-- HTMX -->
<div class="col" name="CPU" id="green" data-hx-get="/stats" data-hx-trigger="load, every 1s">
<div class="col" name="CPU" id="green">
<div class="font-weight-medium">
<label class="cpu-text mb-1" for="cpu">CPU 0%</label>
</div>
@ -71,7 +71,7 @@
</div>
<!-- HTMX -->
<div class="col" name="RAM" id="blue" data-hx-get="/stats" data-hx-trigger="load, every 2s">
<div class="col" name="RAM" id="blue">
<div class="font-weight-medium">
<label class="ram-text mb-1" for="ram">RAM 0%</label>
</div>
@ -96,7 +96,7 @@
</div>
<!-- HTMX -->
<div class="col" name="NET" id="purple" data-hx-get="/stats" data-hx-trigger="load, every 2s">
<div class="col" name="NET" id="purple">
<div class="font-weight-medium">
<label id="net-text" class="net-text mb-1" for="network">Down: 0MB Up: 0MB</label>
</div>
@ -121,7 +121,7 @@
</div>
<!-- HTMX -->
<div class="col" name="DISK" id="orange" data-hx-get="/stats" data-hx-trigger="load, every 3s">
<div class="col" name="DISK" id="orange">
<div class="font-weight-medium">
<label class="disk-text mb-1" for="disk">DISK 0%</label>
</div>