fixed vite related issues, leftover issues from Moving to MUI, some visual changes

This commit is contained in:
QkoSad
2024-09-24 22:43:21 +03:00
parent d9455d002b
commit be03889ff3
22 changed files with 355 additions and 283 deletions
-5
View File
@@ -1,5 +0,0 @@
const MONGO_URL = process.env.MONGO_URL || undefined;
module.exports = {
MONGO_URL,
};
+6 -8
View File
@@ -1,20 +1,18 @@
import mongoose from "mongoose";
// import config from "config";
const { MONGO_URL } = require("./config");
import config from "config";
// const db = config.get('mongoURI');
const db = process.env.MONGO_URL
? process.env.MONGO_URL
: config.get("mongoURI");
const connectDB = async () => {
try {
if (typeof MONGO_URL === "string") await mongoose.connect(MONGO_URL);
if (typeof db === "string") await mongoose.connect(db);
console.log("MongoDB Connected...");
} catch (err: unknown) {
if (typeof err === "string") console.error(err);
else if (err instanceof Error) {
console.error(err.message);
console.log(MONGO_URL);
}
else if (err instanceof Error) console.error(err.message);
process.exit(1);
}
};
+15 -17
View File
@@ -1,34 +1,32 @@
import config from 'config'
import jwt from 'jsonwebtoken'
import type { Request, Response, NextFunction } from 'express';
import config from "config";
import jwt from "jsonwebtoken";
import type { Request, Response, NextFunction } from "express";
interface ResponseAndUser extends Request { user?: string }
interface ResponseAndUser extends Request {
user?: string;
}
function auth(req: ResponseAndUser, res: Response, next: NextFunction) {
// Get token from header
const token = req.header('x-auth-token');
const token = req.header("x-auth-token");
// Check if not token
if (!token) {
return res.status(401).json({ msg: 'No token, authorization denied' });
return res.status(401).json({ msg: "No token, authorization denied" });
}
// Verify token
try {
jwt.verify(token, config.get('jwtSecret'), (error, decoded) => {
jwt.verify(token, config.get("jwtSecret"), (error, decoded) => {
if (error) {
return res.status(401).json({ msg: 'Token is not valid' });
return res.status(401).json({ msg: "Token is not valid" });
} else {
if (decoded && typeof decoded !== "string")
req.user = decoded?.user;
if (decoded && typeof decoded !== "string") req.user = decoded?.user;
next();
}
});
} catch (err) {
console.error('something wrong with auth middleware');
res.status(500).json({ msg: 'Server Error' });
console.error("something wrong with auth middleware");
res.status(500).json({ msg: "Server Error" });
}
};
export default auth
}
export default auth;
+66 -86
View File
@@ -1,12 +1,10 @@
import express, { Request, Response } from 'express'
import express, { Request, Response } from "express";
import { check, validationResult } from "express-validator";
import auth from "../../middleware/auth";
import Post from "../../models/Post";
import User from "../../models/User";
import checkObjectId from "../../middleware/checkObjectId";
import { isUserId } from '../../utils';
import { isUserId } from "../../utils";
const router = express.Router();
@@ -36,22 +34,18 @@ router.post(
});
const post = await newPost.save();
res.json(post);
} else {
throw new Error("Error finding the user");
}
else {
throw new Error('Error finding the user')
}
}
else {
throw new Error('Error finding the user')
} else {
throw new Error("Error finding the user");
}
} catch (err: unknown) {
if (typeof err === 'string')
console.error(err)
else if (err instanceof Error)
console.error(err.message);
if (typeof err === "string") console.error(err);
else if (err instanceof Error) console.error(err.message);
res.status(500).send("Server Error");
}
}
},
);
// @route GET api/posts
@@ -62,10 +56,8 @@ router.get("/", auth, async (req, res) => {
const posts = await Post.find().sort({ date: -1 });
res.json(posts);
} catch (err: unknown) {
if (typeof err === 'string')
console.error(err)
else if (err instanceof Error)
console.error(err.message);
if (typeof err === "string") console.error(err);
else if (err instanceof Error) console.error(err.message);
res.status(500).send("Server Error");
}
});
@@ -83,10 +75,8 @@ router.get("/:id", auth, checkObjectId("id"), async (req, res) => {
res.json(post);
} catch (err: unknown) {
if (typeof err === 'string')
console.error(err)
else if (err instanceof Error)
console.error(err.message);
if (typeof err === "string") console.error(err);
else if (err instanceof Error) console.error(err.message);
res.status(500).send("Server Error");
}
@@ -95,35 +85,35 @@ router.get("/:id", auth, checkObjectId("id"), async (req, res) => {
// @route DELETE api/posts/:id
// @desc Delete a post
// @access Private
router.delete("/:id", [auth, checkObjectId("id")], async (req: Request, res: Response) => {
try {
const post = await Post.findOne({ _id: req.params.id });
router.delete(
"/:id",
[auth, checkObjectId("id")],
async (req: Request, res: Response) => {
try {
const post = await Post.findOne({ _id: req.params.id });
if (!post) {
return res.status(404).json({ msg: "Post not found" });
}
// Check user
if (post.user && isUserId(req)) {
if (post.user.toString() !== req.user.id) {
return res.status(401).json({ msg: "User not authorized" });
if (!post) {
return res.status(404).json({ msg: "Post not found" });
}
}
else {
throw new Error('Error in req.user')
}
await post.deleteOne();
res.json({ msg: "Post removed" });
// Check user
if (post.user && isUserId(req)) {
if (post.user.toString() !== req.user.id) {
return res.status(401).json({ msg: "User not authorized" });
}
} else {
throw new Error("Error in req.user");
}
await post.deleteOne();
} catch (err: unknown) {
if (typeof err === 'string')
console.error(err)
else if (err instanceof Error)
console.error(err.message);
res.status(500).send("Server Error");
}
});
res.json({ msg: "Post removed" });
} catch (err: unknown) {
if (typeof err === "string") console.error(err);
else if (err instanceof Error) console.error(err.message);
res.status(500).send("Server Error");
}
},
);
// @route PUT api/posts/like/:id
// @desc Like a post
@@ -138,19 +128,17 @@ router.put("/like/:id", auth, checkObjectId("id"), async (req, res) => {
return res.status(400).json({ msg: "Post already liked" });
}
const user: any = req.user.id
const user: any = req.user.id;
// can't make string into ObjectID
post.likes.unshift({ user });
await post.save();
return res.json(post.likes)
};
return res.json(post.likes);
}
} catch (err: unknown) {
if (typeof err === 'string')
console.error(err)
else if (err instanceof Error)
console.error(err.message);
if (typeof err === "string") console.error(err);
else if (err instanceof Error) console.error(err.message);
res.status(500).send("Server Error");
}
});
@@ -164,29 +152,23 @@ router.put("/unlike/:id", auth, checkObjectId("id"), async (req, res) => {
// Check if the post has not yet been liked
if (post && isUserId(req)) {
if (!post.likes.some((like) => like.user?.toString() === req.user.id)) {
return res.status(400).json({ msg: "Post has not yet been liked" });
}
// remove the like
post.likes = post.likes.filter(
({ user }) => {
if (user)
return user.toString() !== req.user.id
return false
}
);
post.likes = post.likes.filter(({ user }) => {
if (user) return user.toString() !== req.user.id;
return false;
});
await post.save();
return res.json(post.likes);
}
} catch (err: unknown) {
if (typeof err === 'string')
console.error(err)
else if (err instanceof Error)
console.error(err.message);
if (typeof err === "string") console.error(err);
else if (err instanceof Error) console.error(err.message);
res.status(500).send("Server Error");
}
});
@@ -220,20 +202,15 @@ router.post(
post.comments.unshift(newComment as any);
await post.save();
res.json(post.comments);
}
throw new Error('Error in finding post')
}
throw new Error('Error in finding user')
}
throw new Error('Error in parsing the req')
} else throw new Error("Error in finding post");
} else throw new Error("Error in finding user");
} else throw new Error("Error in parsing the req");
} catch (err: unknown) {
if (typeof err === 'string')
console.error(err)
else if (err instanceof Error)
console.error(err.message);
if (typeof err === "string") console.error(err);
else if (err instanceof Error) console.error(err.message);
res.status(500).send("Server Error");
}
}
},
);
// @route DELETE api/posts/comment/:id/:comment_id
@@ -246,19 +223,24 @@ router.delete("/comment/:id/:comment_id", auth, async (req, res) => {
// Pull out comment
if (post) {
const comment = post.comments.find(
(comment: any) => comment.id === req.params.comment_id
(comment: any) => comment.id === req.params.comment_id,
);
// Make sure comment exists
if (!comment) {
return res.status(404).json({ msg: "Comment does not exist" });
}
// Check user
if ('user' in comment && comment.user && isUserId(req) && comment.user.toString() !== req.user.id) {
if (
"user" in comment &&
comment.user &&
isUserId(req) &&
comment.user.toString() !== req.user.id
) {
return res.status(401).json({ msg: "User not authorized" });
}
post.comments = post.comments.filter(
({ id }: any) => id !== req.params.comment_id
({ id }: any) => id !== req.params.comment_id,
);
await post.save();
@@ -266,12 +248,10 @@ router.delete("/comment/:id/:comment_id", auth, async (req, res) => {
return res.json(post.comments);
}
} catch (err: unknown) {
if (typeof err === 'string')
console.error(err)
else if (err instanceof Error)
console.error(err.message);
if (typeof err === "string") console.error(err);
else if (err instanceof Error) console.error(err.message);
return res.status(500).send("Server Error");
}
});
module.exports = router
module.exports = router;
+1
View File
@@ -16,6 +16,7 @@ app.use("/api/posts", require("./routers/api/posts"));
// Serve static assets in production
if (process.env.NODE_ENV === "production") {
console.log("in production");
app.use(express.static("client/build"));
app.get("*", (req, res) => [
res.sendFile(path.resolve(__dirname, "client", "build", "index.html")),