@@ -5,80 +5,52 @@ async function register(req, res, next) {
55 const { email, password } = req . body ;
66 //if registered Firebase -> checkif registered Mongo -> return Document
77 const fbUser = await getFbUserOrCreate ( email , password ) . catch ( next ) ;
8- let employee = await db . Employee . findById ( fbUser . uid )
8+ let user = await db . User . findById ( fbUser . uid )
99 . lean ( )
1010 . exec ( )
1111 . catch ( next ) ;
12- if ( ! employee ) {
13- employee = await db . Employee . create ( { _id : fbUser . uid , ...req . body } ) . catch ( next ) ;
12+ if ( ! user ) {
13+ user = await db . User . create ( { _id : fbUser . uid , ...req . body } ) . catch ( next ) ;
1414 }
15- res . status ( 200 ) . send ( { data : employee } )
15+ res . status ( 200 ) . send ( { data : user } )
1616}
1717
1818async function login ( req , res , next ) {
19- const { uid } = req . employee ;
20- const employee = await db . Employee . findById ( uid )
19+ const { uid } = req . user ;
20+ const user = await db . User . findById ( uid )
2121 . lean ( )
2222 . exec ( )
2323 . catch ( next ) ;
24- if ( ! employee ) next ( { statusCode : 404 , message : "User not found." } ) ;
25- else res . status ( 200 ) . send ( { data : employee } ) ;
24+ if ( ! user ) next ( { statusCode : 404 , message : "User not found." } ) ;
25+ else return res . status ( 200 ) . send ( { data : user } ) ;
2626}
2727
2828async function deleteUser ( req , res , next ) {
29- const { uid } = req . employee
30- await db . Employee . findByIdAndDelete ( uid ) . catch ( next ) ;
31- await db . Property . deleteMany ( { employee_id : uid } ) . catch ( next ) ;
32- res . status ( 202 ) . send ( { message : "Employee deleted" , error : null } )
29+ const { uid } = req . user
30+ await db . User . findByIdAndDelete ( uid ) . catch ( next ) ;
31+ return res . status ( 202 ) . send ( { message : "User deleted" , error : null } )
3332}
3433
3534async function update ( req , res , next ) {
36- const { uid } = req . employee ;
37- const { firstname, lastname, phone } = req . body ;
35+ const { uid } = req . user ;
36+ const { firstname, lastname } = req . body ;
3837
39- const employee = await db . Employee . findByIdAndUpdate (
38+ const user = await db . User . findByIdAndUpdate (
4039 uid ,
41- { firstname, lastname, phone } ,
40+ { firstname, lastname } ,
4241 { new : true }
4342 )
4443 . lean ( )
4544 . exec ( )
4645 . catch ( next ) ;
4746
48- if ( ! employee ) next ( { statusCode : 404 , message : "User not found." } ) ;
49- else res . status ( 200 ) . send ( { data : employee } ) ;
50- }
51-
52- async function stats ( req , res , next ) {
53- const { uid } = req . employee
54- const myProperties = await db . Property . aggregate ( [
55- {
56- "$match" : {
57- "employee_id" : { "$eq" : uid } ,
58- }
59- } ,
60- {
61- "$group" : {
62- "_id" : "$employee_id" ,
63- "revenue" : {
64- "$sum" : { $cond : [ "$sold" , "$price" , 0 ] }
65- } ,
66- "sold" : { "$sum" : { $cond : [ "$sold" , 1 , 0 ] } } ,
67- "available" : { "$sum" : { $cond : [ "$sold" , 0 , 1 ] } }
68- }
69- }
70- ] ) . catch ( next ) ;
71- if ( myProperties . length > 0 ) {
72- res . status ( 201 ) . send ( { data : myProperties [ 0 ] } )
73- } else {
74- next ( { statusCode : 404 , message : "User not found." } )
75- }
47+ if ( ! user ) next ( { statusCode : 404 , message : "User not found." } ) ;
48+ else res . status ( 200 ) . send ( { data : user } ) ;
7649}
7750
7851module . exports = {
7952 register,
8053 login,
8154 deleteUser,
8255 update,
83- stats
8456} ;
0 commit comments