Skip to content

Commit 792ebb1

Browse files
committed
Create post policy, update typescript config
1 parent 177f669 commit 792ebb1

File tree

4 files changed

+47
-3
lines changed

4 files changed

+47
-3
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"@types/bcrypt": "^5.0.0",
3131
"@types/express": "^4.17.13",
3232
"@types/jsonwebtoken": "^8.5.5",
33-
"@types/node": "^8.0.29",
33+
"@types/node": "^8.10.66",
3434
"@types/passport": "^1.0.7",
3535
"@types/passport-jwt": "^3.0.6",
3636
"nodemon": "^2.0.12",

src/controllers/authController.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export default class AuthController {
1515
}
1616

1717
public async register(req: Request, res: Response, next: NextFunction) {
18-
// check if userName is already registered
18+
// check if name is already registered
1919
const token = await this.authService.register(req.body as IAuthUserInputDTO)
2020
res.status(200).send(token);
2121
}

src/policies/Post.ts

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import PostService from "../services/post"
2+
import UserService from "../services/user"
3+
import { myContainer } from "../inversify.config"
4+
import { injectable } from "inversify"
5+
6+
@injectable()
7+
export default class PostPolicy {
8+
public postService: PostService
9+
10+
public userService: UserService
11+
12+
constructor() {
13+
this.postService = myContainer.resolve<PostService>(PostService);
14+
this.userService = myContainer.resolve<UserService>(UserService);
15+
}
16+
17+
public async update(userId: number, postId: number): Promise<any> {
18+
const user = await this.userService.find(userId);
19+
const post = await this.postService.find(postId);
20+
const ownership: boolean = (user.id === post.user_id)
21+
console.log(`ownership: ${ownership}`)
22+
// console.log("good")
23+
return new Promise((resolve, reject) => {
24+
if (ownership) {
25+
resolve(ownership);
26+
} else {
27+
reject({message: "User does not own this post"});
28+
}
29+
})
30+
}
31+
32+
public async delete(userId: number, postId: number): Promise<any> {
33+
const user = await this.userService.find(userId);
34+
const post = await this.postService.find(postId);
35+
const ownership: boolean = (user.id === post.user_id)
36+
return new Promise((resolve, reject) => {
37+
if (ownership) {
38+
resolve(ownership);
39+
} else {
40+
reject({message: "User does not own this post"});
41+
}
42+
})
43+
}
44+
}

tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"lib": [
44
"es2020"
55
],
6-
"types": ["reflect-metadata"],
6+
"types": ["reflect-metadata", "node"],
77
"target": "es2017",
88
"module": "commonjs",
99
"moduleResolution": "node",

0 commit comments

Comments
 (0)