File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -8,16 +8,19 @@ class UserController {
88 }
99
1010 async create ( request , response ) {
11- const { name, email } = req . body ;
11+ const { name, email } = request . body ;
12+ const user = await User . create ( { name, email } ) ;
13+
14+ return response . status ( 201 ) . json ( user ) ;
1215 }
1316
1417 async update ( request , response ) {
15- const { id } = req . params ;
16- const { name, email } = req . body ;
18+ const { id } = request . params ;
19+ const { name, email } = request . body ;
1720 }
1821
1922 async delete ( request , response ) {
20- const { id } = req . params ;
23+ const { id } = request . params ;
2124 }
2225}
2326
Original file line number Diff line number Diff line change @@ -9,8 +9,29 @@ class User {
99 return users ;
1010 }
1111
12- async create ( ) {
12+ async create ( data ) {
13+ const fields = [ ] ;
14+ const values = [ ] ;
1315
16+ Object . keys ( data ) . forEach ( field => {
17+ fields . push ( field ) ;
18+
19+ if ( data [ field ] !== null ) {
20+ if ( Array . isArray ( data [ field ] ) ) {
21+ const newArray = data [ field ] . map ( item => `'${ item } '` ) ;
22+
23+ values . push ( `ARRAY[${ newArray } ]` ) ;
24+ } else
25+ values . push ( `'${ data [ field ] } '` ) ;
26+ } else
27+ values . push ( 'null' ) ;
28+ } ) ;
29+
30+ const query = `INSERT INTO users (${ fields . join ( ', ' ) } ) VALUES (${ values . join ( ', ' ) } ) RETURNING *` ;
31+ const result = await database . query ( query ) ;
32+ const user = result . rows [ 0 ] ;
33+
34+ return user ;
1435 }
1536
1637 async update ( ) {
You can’t perform that action at this time.
0 commit comments