1
- const mongoose = require ( 'mongoose' ) ;
2
- const db = require ( './dbModel' ) ;
1
+ // const mongoose = require('mongoose');
2
+ let db = [ ] ;
3
3
4
- mongoose . set ( 'useFindAndModify' , false ) ;
4
+ // mongoose.set('useFindAndModify', false);
5
5
6
6
const bookController = { } ;
7
7
8
8
bookController . clearDB = ( req , res , next ) => {
9
- db . BookStore . deleteMany ( { } , ( err ) => {
10
- if ( err ) next ( err ) ;
11
- next ( )
12
- } ) ;
9
+ db = [ ] ;
10
+ return next ( )
13
11
}
14
12
15
13
bookController . getAll = ( req , res , next ) => {
16
- db . BookStore . find ( { } , ( err , books ) => {
17
- if ( err ) {
18
- next ( err ) ;
19
- }
20
- res . locals . books = books ;
21
- // console.log(books);
22
- next ( ) ;
23
- } )
14
+ res . locals . books = db ;
15
+ return next ( ) ;
24
16
}
25
17
26
18
bookController . addBook = ( req , res , next ) => {
27
19
const { title, author, pages } = req . body ;
28
- db . BookStore . create ( { title, author, pages } , ( err , books ) => {
29
- if ( err ) {
30
- next ( err ) ;
31
- }
32
- res . locals . books = books ;
33
- next ( ) ;
34
- } )
20
+ const book = { title, author, pages} ;
21
+ db . push ( book ) ;
22
+ res . locals . books = db ;
23
+ return next ( ) ;
35
24
}
36
25
37
26
bookController . updateEntireBook = ( req , res , next ) => {
38
27
const { title } = req . params ;
39
28
const { author, pages } = req . body ;
40
- db . BookStore . replaceOne ( { title } , { title, author, pages } , ( err , books ) => {
41
- if ( err ) {
42
- next ( err ) ;
43
- }
44
- if ( books . n === 1 ) {
45
- db . BookStore . findOne ( { title} , ( err , books ) => {
46
- if ( err ) {
47
- next ( err ) ;
48
- }
49
-
50
- res . locals . books = books ;
51
- next ( ) ;
52
- } )
53
- }
54
- } )
29
+ const book = db . filter ( book => book . title === title ) ;
30
+ book [ 0 ] . title = title ;
31
+ book [ 0 ] . author = author ;
32
+ book [ 0 ] . pages = pages ;
33
+ db = [ ...db , ...book ] ;
34
+ res . locals . books = db ;
35
+ return next ( ) ;
55
36
}
56
37
57
38
bookController . patchBook = ( req , res , next ) => {
58
39
const { title } = req . params ;
59
40
const { author } = req . body ;
60
- db . BookStore . findOneAndUpdate ( { title } , { title, author } , { new : true } , ( err , books ) => {
61
- if ( err ) {
62
- next ( err ) ;
63
- }
64
- res . locals . books = books ;
65
- next ( ) ;
66
- } )
41
+ const book = db . filter ( book => book . title === title ) ;
42
+ book [ 0 ] . title = title ;
43
+ book [ 0 ] . author = author ;
44
+ db = [ ...db , ...book ] ;
45
+ res . locals . books = db ;
46
+ return next ( ) ;
67
47
}
68
48
69
49
bookController . deleteBook = ( req , res , next ) => {
70
50
const { title } = req . params ;
71
- db . BookStore . findOneAndDelete ( { title } , ( err , books ) => {
72
- if ( err ) {
73
- next ( err ) ;
74
- }
75
- res . locals . books = books ;
76
- next ( ) ;
77
- } )
51
+ const book = db . filter ( book => book . title === title ) [ 0 ] ;
52
+ db = db . filter ( book => book . title !== title ) ;
53
+ res . locals . books = book ;
54
+ return next ( ) ;
78
55
}
79
56
80
57
module . exports = bookController ;
0 commit comments