trying stuff out

This commit is contained in:
Smigz 2025-03-31 16:34:30 -04:00
parent 245597c494
commit 4be0ea5870
9 changed files with 50 additions and 37 deletions

View file

@ -1,8 +1,7 @@
const fs = require("node:fs");
const { logging } = require("./middlewares/logging");
const path = require("node:path");
const express = require("express");
const passport = require("passport");
const passport = require("./middlewares/auth");
const session = require("express-session");
const SQLiteStore = require("connect-sqlite3")(session);
@ -17,25 +16,24 @@ app.use(express.static(assetsPath));
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "ejs");
app.use(
session({
store: new SQLiteStore({ dir: "./src/db/", db: "keynotes.db" }),
secret: "keynotes.app",
cookie: { maxAge: 7 * 24 * 60 * 60 * 1000 },
secret: "keynotes",
cookie: { maxAge: 7 * 24 * 60 * 60 * 1000, sameSite: "strict" },
saveUninitialized: false,
resave: false,
}),
);
app.use(passport.session());
// app.use(passport.session());
app.use(passport.authenticate("session"));
app.use(express.urlencoded({ extended: false }));
app.use(logging);
app.use((req, res, next) => {
res.locals.currentUser = req.user;
next();
});
app.use("/", indexRouter);
app.use("/auth", authRouter);

View file

@ -3,6 +3,11 @@ const db = require("../models/query");
const { validationResult } = require("express-validator");
function loginGet(req, res, next) {
console.log(req.user, req.session.cookie);
console.table(req.session);
if (!req.user && req.session.id) {
req.session.id = null;
}
res.render("login", {
pageTitle: "InspiredCliches | Login",
errors: req.session.messages,
@ -10,6 +15,7 @@ function loginGet(req, res, next) {
}
function logOut(req, res, next) {
res.clearCookie("connect.sid", { path: "/" });
req.logout((err) => {
if (err) return next(err);
});

View file

@ -1,11 +1,11 @@
const db = require("../models/query");
function indexGet(req, res, next) {
function indexGet(req, res) {
if (res.locals.currentUser) {
const keynotes = db.getEveryNote();
const userLikedPosts = db.getLikesByUser(res.locals.currentUser.user_id);
res.render("feed", {
return res.render("feed", {
pageTitle: "InspiredCliches | Feed",
keynotes: keynotes,
userLikedPosts: userLikedPosts,
@ -14,7 +14,7 @@ function indexGet(req, res, next) {
res.render("home", { pageTitle: "InspiredCliches" });
}
function addLike(req, res, next) {
function addLike(req, res) {
const { noteId } = req.query;
const noteExits = noteId ? db.getNoteById(noteId) : null;
@ -30,15 +30,14 @@ function addLike(req, res, next) {
res.redirect("/");
}
function addNotePost(req, res, next) {
function addNotePost(req, res) {
const { message, media } = req.body;
console.log("add note post");
if (res.locals.currentUser) {
const userId = res.locals.currentUser.user_id;
db.putNewNote({ message: message, media: null, userId: userId });
}
res.redirect("/");
}
@ -55,11 +54,14 @@ function deleteNote(req, res) {
}
}
function addNoteGet(req, res, next) {
res.render("note-form", { pageTitle: "InspiredCliches | New Note" });
function addNoteGet(req, res) {
if (res.locals.currentUser)
return res.render("note-form", { pageTitle: "InspiredCliches | New Note" });
res.redirect("/");
}
function getProfile(req, res, next) {
function getProfile(req, res) {
const { userId } = req.query;
const userExists = userId ? db.getUserById(userId) : null;

View file

@ -1,24 +1,15 @@
const { Database } = require("bun:sqlite");
const fs = require("node:fs");
const path = require("node:path");
const { mkdir } = require("node:fs/promises");
const { stat } = require("node:fs");
const dbDirPath = path.join(path.dirname(__dirname), "/db");
const dbDirPath = path.join(path.dirname(__dirname), "db");
const dbPath = path.join(dbDirPath, "/keynotes.db");
async function makeDirectory(path) {
const dirCreation = await mkdir(path);
return dirCreation;
if (!fs.existsSync(dbDirPath)) {
fs.mkdirSync(dbDirPath);
console.log(`Created DB Directory at ${dbDirPath}`);
}
// Make sure DB path exists
stat(dbDirPath, (err, stats) => {
if (err !== null) {
makeDirectory(dbDirPath);
}
});
const db = new Database(dbPath);
// Enable WAL Mode
db.exec("PRAGMA journal_mode = WAL;");

View file

@ -1,4 +1,5 @@
const db = require("./db");
console.log(`${db.filename} test`);
function getEveryNote() {
try {