mirror of
https://gitea.smigz.com/smiggiddy/odin-codeprojects.git
synced 2025-06-28 12:55:36 -04:00
rename the app
This commit is contained in:
parent
ce35924a54
commit
f65bf959b1
27 changed files with 1832 additions and 0 deletions
46
messages/src/controllers/authController.js
Normal file
46
messages/src/controllers/authController.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
const bcryptjs = require("bcryptjs");
|
||||
const db = require("../models/query");
|
||||
const { validationResult } = require("express-validator");
|
||||
|
||||
function loginGet(req, res, next) {
|
||||
res.render("login", {
|
||||
pageTitle: "InspiredCliches | Login",
|
||||
errors: req.session.messages,
|
||||
});
|
||||
}
|
||||
|
||||
function logOut(req, res, next) {
|
||||
req.logout((err) => {
|
||||
if (err) return next(err);
|
||||
});
|
||||
res.redirect("/");
|
||||
}
|
||||
|
||||
function signUpGet(req, res, next) {
|
||||
res.render("register", {
|
||||
pageTitle: "InspiredCliches | Register",
|
||||
errors: null,
|
||||
});
|
||||
}
|
||||
|
||||
async function signUpPost(req, res, next) {
|
||||
const result = validationResult(req);
|
||||
if (result.isEmpty()) {
|
||||
const { username, password } = req.body;
|
||||
const hashedPassword = await bcryptjs.hash(password, 10);
|
||||
db.insertUser(username, hashedPassword);
|
||||
res.redirect("/auth/login");
|
||||
} else {
|
||||
res.status(400).render("register", {
|
||||
errors: result.array(),
|
||||
pageTitle: "InspiredCliches | Register",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
loginGet,
|
||||
logOut,
|
||||
signUpPost,
|
||||
signUpGet,
|
||||
};
|
90
messages/src/controllers/indexController.js
Normal file
90
messages/src/controllers/indexController.js
Normal file
|
@ -0,0 +1,90 @@
|
|||
const db = require("../models/query");
|
||||
|
||||
function indexGet(req, res, next) {
|
||||
if (res.locals.currentUser) {
|
||||
const keynotes = db.getEveryNote();
|
||||
const userLikedPosts = db.getLikesByUser(res.locals.currentUser.user_id);
|
||||
|
||||
res.render("feed", {
|
||||
pageTitle: "InspiredCliches | Feed",
|
||||
keynotes: keynotes,
|
||||
userLikedPosts: userLikedPosts,
|
||||
});
|
||||
}
|
||||
res.render("home", { pageTitle: "InspiredCliches" });
|
||||
}
|
||||
|
||||
function addLike(req, res, next) {
|
||||
const { noteId } = req.query;
|
||||
|
||||
const noteExits = noteId ? db.getNoteById(noteId) : null;
|
||||
|
||||
if (res.locals.currentUser && noteExits) {
|
||||
const userId = res.locals.currentUser.user_id;
|
||||
if (db.checkIfNotedLiked(noteId, userId)) {
|
||||
db.deleteLike(noteId, userId);
|
||||
} else {
|
||||
db.insertLike(Number(noteId), userId);
|
||||
}
|
||||
}
|
||||
res.redirect("/");
|
||||
}
|
||||
|
||||
function addNotePost(req, res, next) {
|
||||
const { message, media } = req.body;
|
||||
|
||||
if (res.locals.currentUser) {
|
||||
const userId = res.locals.currentUser.user_id;
|
||||
|
||||
db.putNewNote({ message: message, media: null, userId: userId });
|
||||
}
|
||||
|
||||
res.redirect("/");
|
||||
}
|
||||
|
||||
function deleteNote(req, res) {
|
||||
const { messageId, userId } = req.query;
|
||||
|
||||
if (res.locals.currentUser) {
|
||||
const message = db.getNoteById(messageId);
|
||||
|
||||
if (message.user_id === Number(userId)) {
|
||||
db.deleteNote(Number(messageId));
|
||||
}
|
||||
res.redirect("/");
|
||||
}
|
||||
}
|
||||
|
||||
function addNoteGet(req, res, next) {
|
||||
res.render("note-form", { pageTitle: "InspiredCliches | New Note" });
|
||||
}
|
||||
|
||||
function getProfile(req, res, next) {
|
||||
const { userId } = req.query;
|
||||
|
||||
const userExists = userId ? db.getUserById(userId) : null;
|
||||
|
||||
if (res.locals.currentUser) {
|
||||
if (userExists) {
|
||||
const sumUserPosts = db.getSumNotesByUserId(userId);
|
||||
const allPosts = db.getAllNotesByUserId(userId);
|
||||
res.render("view-profile", {
|
||||
pageTitle: "InspiredCliches | Edit Profile",
|
||||
user: userExists,
|
||||
totalPosts: sumUserPosts,
|
||||
allPosts: allPosts,
|
||||
});
|
||||
} else {
|
||||
res.redirect("/");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
indexGet,
|
||||
addNoteGet,
|
||||
addNotePost,
|
||||
deleteNote,
|
||||
addLike,
|
||||
getProfile,
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue