-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
…hose functionalities to frontend
- Loading branch information
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,45 @@ | ||
import express, {Request, Response} from "express"; | ||
import { Request, Response } from "express"; | ||
import { verify } from "jsonwebtoken"; | ||
import { db } from "../db"; | ||
|
||
export const getPosts = (req: Request, res: Response) => { | ||
const query = req.query.cat | ||
? "SELECT * FROM posts WHERE cat = ?" | ||
: "SELECT * FROM posts"; | ||
|
||
db.query(query, [req.query.cat], (err, data) => { | ||
if (err) return res.status(500).json(err); | ||
return res.status(200).json(data); | ||
}); | ||
}; | ||
|
||
export const getPost = (req: Request, res: Response) => { | ||
const query = | ||
"SELECT `username`, `title`, `desc`, p.img, u.img AS userImg, `cat`, `date` FROM users u JOIN posts p ON u.id=p.uid WHERE p.id = ?"; | ||
|
||
db.query(query, [req.params.id], (err, data) => { | ||
if (err) return res.status(500).json(err); | ||
return res.status(200).json(data[0]); | ||
}); | ||
}; | ||
export const deletePost = (req: Request, res: Response) => { | ||
const token = req.cookies.access_token; | ||
if (!token) return res.status(401).json("Not authenticated!"); | ||
|
||
verify(token, "jwtkey", (err: any, userInfo: any) => { | ||
if (err) return res.status(403).json("Token is not valid!"); | ||
const query = "DELETE FROM posts WHERE `id` = ? AND `uid` = ?"; | ||
const postId = req.params.id; | ||
|
||
db.query(query, [postId, userInfo.id], (err, data) => { | ||
if (err) return res.status(403).json("You can delete only your post!"); | ||
return res.status(204).json("Post has been deleted."); | ||
}); | ||
}); | ||
}; | ||
export const updatePost = (req: Request, res: Response) => { | ||
res.json("from controller"); | ||
}; | ||
export const addPost = (req: Request, res: Response) => { | ||
res.json("from controller") | ||
}; | ||
res.json("from controller"); | ||
}; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,12 @@ | ||
import express from "express"; | ||
import { addPost } from './../controllers/posts'; | ||
import { addPost, deletePost, getPost, getPosts, updatePost } from "./../controllers/posts"; | ||
|
||
const router = express.Router(); | ||
|
||
router.get("/", addPost); | ||
router.get("/", getPosts); | ||
router.get("/:id", getPost); | ||
router.post("/", addPost); | ||
router.delete("/:id", deletePost); | ||
router.put("/:id", updatePost); | ||
|
||
export default router; |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
|
||
type TYPE = "LOGIN" | "LOGOUT" | ||
|
||
export type AUTH_ACTION = {type: TYPE, payload: any} | ||
export type AUTH_ACTION = {type: "LOGIN", payload: any} | {type: "LOGOUT"} |