Skip to content

Commit 2f2eca3

Browse files
authored
Merge pull request #3 from Pathokun/access-public-private
Access Public Private
2 parents b629812 + feab213 commit 2f2eca3

File tree

3 files changed

+26
-9
lines changed

3 files changed

+26
-9
lines changed

src/middlewares/authorize.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,17 @@ import jwt from "jsonwebtoken"
33
export const fetchAuthorize = (req, res, next) => {
44
let token = req.headers.Authorization || req.headers.authorization;
55
if (!token) {
6-
return res.status(401).send({
7-
message: 'Unauthorized'
8-
});
6+
req.auth = false
7+
next()
98
}
109

1110
if (token.startsWith('Bearer ')) token = token.substr('Bearer '.length)
1211

1312
jwt.verify(token, process.env.SECRET_KEY, err => {
1413
if (err) {
15-
return res.status(401).send({
16-
message: 'Unauthorized'
17-
});
14+
throw err
1815
}
16+
req.auth = true
1917
next();
2018
});
2119
}

src/routes/api.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Router } from "express";
1+
import { response, Router } from "express";
22
import jwt from "jsonwebtoken";
33

44
const route = Router();
@@ -10,7 +10,7 @@ route.get("/getprivtoken", (_, res) => {
1010

1111
route.post("/point", async (req, res) => {
1212
const DATABASE = req.db;
13-
const { url, description, content, date } = req.body;
13+
const { url, description, content, date, isprivate } = req.body;
1414

1515
if (!url || !content) {
1616
res.status(400).send();
@@ -21,6 +21,7 @@ route.post("/point", async (req, res) => {
2121
url: url,
2222
description: description ? description : null,
2323
content: content,
24+
isprivate: isprivate,
2425
date: date ? date : null,
2526
};
2627

@@ -57,6 +58,18 @@ route.get("/fetch/:point", async(req, res) => {
5758
return;
5859
}
5960

61+
if(result.isprivate) {
62+
req.auth ? () => {
63+
res.status(200).send({
64+
data: result,
65+
})
66+
return
67+
} : () => {
68+
res.status(401).send()
69+
return
70+
}
71+
}
72+
6073
res.status(200).send({
6174
data: result,
6275
});

src/views/components/cards/create-component.ejs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
id="endpoint-url"
1313
/>
1414
</div>
15+
<div class="form-switch mb-3">
16+
<input class="form-check-input" id="isprivate" type="checkbox" id="flexSwitchCheckChecked">
17+
<label class="form-check-label" for="flexSwitchCheckChecked">Private Access 🔒</label>
18+
</div>
1519
<div class="mb-3">
1620
<label for="description" class="form-label">Description:</label>
1721
<input
@@ -48,7 +52,8 @@
4852
const url = document.getElementById("endpoint-url").value;
4953
const description = document.getElementById("description").value;
5054
const content = document.getElementById("content").value;
51-
55+
const isprivate = document.getElementById("isprivate").checked;
56+
5257
if (url === "" || description === "" || content === "") {
5358
alert("Please fill all the fields.");
5459
return;
@@ -63,6 +68,7 @@
6368
url: url,
6469
description: description,
6570
content: content,
71+
isprivate: isprivate,
6672
date: new Date().toISOString(),
6773
}),
6874
}).then((res) => {

0 commit comments

Comments
 (0)