1
- import BaseController from './base.controller' ;
2
- import Post from '../models/post' ;
1
+ /* @flow */
2
+
3
+ import BaseController from './base.controller'
4
+ import Post from '../models/post'
3
5
4
6
class PostController extends BaseController {
5
7
6
- whitelist = [
8
+ whitelist : Array < string > = [
7
9
'text' ,
8
- ] ;
10
+ ]
9
11
10
12
// Middleware to populate post based on url param
11
13
_populate = async ( req , res , next ) => {
12
- const { id } = req . params ;
14
+ const { id } = req . params
13
15
14
16
try {
15
- const post = await Post . findById ( id ) ;
17
+ const post = await Post . findById ( id )
16
18
17
19
if ( ! post ) {
18
- const err = new Error ( 'Post not found.' ) ;
19
- err . status = 404 ;
20
- return next ( err ) ;
20
+ const err = new Error ( 'Post not found.' )
21
+ err . status = 404
22
+ return next ( err )
21
23
}
22
24
23
- req . post = post ;
24
- next ( ) ;
25
+ req . post = post
26
+ next ( )
25
27
} catch ( err ) {
26
- err . status = err . name === 'CastError' ? 404 : 500 ;
27
- next ( err ) ;
28
+ err . status = err . name === 'CastError' ? 404 : 500
29
+ next ( err )
28
30
}
29
31
}
30
32
31
33
search = async ( req , res , next ) => {
32
34
try {
33
35
const posts =
34
36
await Post . find ( { } )
35
- . populate ( { path : '_user' , select : '-posts -role' } ) ;
37
+ . populate ( { path : '_user' , select : '-posts -role' } )
36
38
37
39
res . json ( posts ) ;
38
40
} catch ( err ) {
@@ -45,25 +47,25 @@ class PostController extends BaseController {
45
47
*/
46
48
47
49
fetch = ( req , res ) => {
48
- res . json ( req . post ) ;
50
+ res . json ( req . post )
49
51
}
50
52
51
53
/**
52
54
* req.user is populated by middleware in routes.js
53
55
*/
54
56
55
57
create = async ( req , res , next ) => {
56
- const params = this . filterParams ( req . body , this . whitelist ) ;
58
+ const params = this . filterParams ( req . body , this . whitelist )
57
59
58
60
const post = new Post ( {
59
61
...params ,
60
62
_user : req . currentUser . _id ,
61
63
} ) ;
62
64
63
65
try {
64
- res . status ( 201 ) . json ( await post . save ( ) ) ;
66
+ res . status ( 201 ) . json ( await post . save ( ) )
65
67
} catch ( err ) {
66
- next ( err ) ;
68
+ next ( err )
67
69
}
68
70
}
69
71
@@ -75,15 +77,15 @@ class PostController extends BaseController {
75
77
*/
76
78
if ( req . post . _user . toString ( ) === req . currentUser . _id . toString ( ) ) {
77
79
try {
78
- await req . post . remove ( ) ;
79
- res . sendStatus ( 204 ) ;
80
+ await req . post . remove ( )
81
+ res . sendStatus ( 204 )
80
82
} catch ( err ) {
81
- next ( err ) ;
83
+ next ( err )
82
84
}
83
85
} else {
84
- res . sendStatus ( 403 ) ;
86
+ res . sendStatus ( 403 )
85
87
}
86
88
}
87
89
}
88
90
89
- export default new PostController ( ) ;
91
+ export default new PostController ( )
0 commit comments