@@ -2,9 +2,9 @@ import axios from 'axios';
2
2
export default async function createContact ( request , response ) {
3
3
const serverUrl = process . env . SERVER_URL ;
4
4
const appId = process . env . APP_ID ;
5
- const name = request . body . name ;
6
- const phone = request . body . phone ;
7
- const email = request . body . email ;
5
+ const name = request . body . Name ;
6
+ const phone = request . body . Phone ;
7
+ const email = request . body . Email ;
8
8
const reqToken = request . headers [ 'x-api-token' ] ;
9
9
if ( ! reqToken ) {
10
10
return response . status ( 400 ) . json ( { error : 'Please Provide API Token' } ) ;
@@ -16,143 +16,127 @@ export default async function createContact(request, response) {
16
16
// Valid Token then proceed request
17
17
const userPtr = token . get ( 'userId' ) ;
18
18
try {
19
- const contactbook = new Parse . Query ( 'contracts_Contactbook ' ) ;
20
- contactbook . equalTo ( 'Email ' , email ) ;
21
- contactbook . equalTo ( 'CreatedBy' , userPtr ) ;
19
+ const Tenant = new Parse . Query ( 'partners_Tenant ' ) ;
20
+ Tenant . equalTo ( 'UserId ' , userPtr ) ;
21
+ const tenantRes = await Tenant . first ( { useMasterKey : true } ) ;
22
22
23
- const userExists = await contactbook . first ( { useMasterKey : true } ) ;
24
-
25
- if ( userExists ) {
26
- return response
27
- . status ( 401 )
28
- . json ( { error : 'Contact already exists!' , objectId : userExists . id } ) ;
29
- } else {
30
- try {
31
- const Tenant = new Parse . Query ( 'partners_Tenant' ) ;
32
- Tenant . equalTo ( 'UserId' , userPtr ) ;
33
- const tenantRes = await Tenant . first ( { useMasterKey : true } ) ;
34
-
35
- const contactQuery = new Parse . Object ( 'contracts_Contactbook' ) ;
36
- contactQuery . set ( 'Name' , name ) ;
37
- contactQuery . set ( 'Phone' , phone ) ;
38
- contactQuery . set ( 'Email' , email ) ;
39
- contactQuery . set ( 'UserRole' , 'contracts_Guest' ) ;
40
- if ( tenantRes && tenantRes . id ) {
41
- contactQuery . set ( 'TenantId' , {
42
- __type : 'Pointer' ,
43
- className : 'partners_Tenant' ,
44
- objectId : tenantRes . id ,
45
- } ) ;
46
- }
47
- try {
48
- const _users = Parse . Object . extend ( 'User' ) ;
49
- const _user = new _users ( ) ;
50
- _user . set ( 'name' , name ) ;
51
- _user . set ( 'username' , email ) ;
52
- _user . set ( 'email' , email ) ;
53
- _user . set ( 'phone' , phone ) ;
54
- _user . set ( 'password' , phone ) ;
23
+ const contactQuery = new Parse . Object ( 'contracts_Contactbook' ) ;
24
+ contactQuery . set ( 'Name' , name ) ;
25
+ contactQuery . set ( 'Phone' , phone ) ;
26
+ contactQuery . set ( 'Email' , email ) ;
27
+ contactQuery . set ( 'UserRole' , 'contracts_Guest' ) ;
28
+ if ( tenantRes && tenantRes . id ) {
29
+ contactQuery . set ( 'TenantId' , {
30
+ __type : 'Pointer' ,
31
+ className : 'partners_Tenant' ,
32
+ objectId : tenantRes . id ,
33
+ } ) ;
34
+ }
35
+ try {
36
+ const _users = Parse . Object . extend ( 'User' ) ;
37
+ const _user = new _users ( ) ;
38
+ _user . set ( 'name' , name ) ;
39
+ _user . set ( 'username' , email ) ;
40
+ _user . set ( 'email' , email ) ;
41
+ _user . set ( 'phone' , phone ) ;
42
+ _user . set ( 'password' , phone ) ;
55
43
56
- const user = await _user . save ( ) ;
57
- if ( user ) {
58
- const roleurl = `${ serverUrl } /functions/AddUserToRole` ;
59
- const headers = {
60
- 'Content-Type' : 'application/json' ,
61
- 'X-Parse-Application-Id' : appId ,
62
- // sessionToken: localStorage.getItem('accesstoken'),
63
- } ;
64
- const body = {
65
- appName : 'contracts' ,
66
- roleName : 'contracts_Guest' ,
67
- userId : user . id ,
68
- } ;
69
- await axios . post ( roleurl , body , { headers : headers } ) ;
70
- const currentUser = userPtr ;
71
- contactQuery . set ( 'CreatedBy' , currentUser ) ;
72
- contactQuery . set ( 'UserId' , user ) ;
44
+ const user = await _user . save ( ) ;
45
+ if ( user ) {
46
+ const roleurl = `${ serverUrl } /functions/AddUserToRole` ;
47
+ const headers = {
48
+ 'Content-Type' : 'application/json' ,
49
+ 'X-Parse-Application-Id' : appId ,
50
+ // sessionToken: localStorage.getItem('accesstoken'),
51
+ } ;
52
+ const body = {
53
+ appName : 'contracts' ,
54
+ roleName : 'contracts_Guest' ,
55
+ userId : user . id ,
56
+ } ;
57
+ await axios . post ( roleurl , body , { headers : headers } ) ;
58
+ const currentUser = userPtr ;
59
+ contactQuery . set ( 'CreatedBy' , currentUser ) ;
60
+ contactQuery . set ( 'UserId' , user ) ;
73
61
74
- const acl = new Parse . ACL ( ) ;
75
- acl . setReadAccess ( userPtr . id , true ) ;
76
- acl . setWriteAccess ( userPtr . id , true ) ;
77
- acl . setReadAccess ( user . id , true ) ;
78
- acl . setWriteAccess ( user . id , true ) ;
79
- contactQuery . setACL ( acl ) ;
62
+ const acl = new Parse . ACL ( ) ;
63
+ acl . setReadAccess ( userPtr . id , true ) ;
64
+ acl . setWriteAccess ( userPtr . id , true ) ;
65
+ acl . setReadAccess ( user . id , true ) ;
66
+ acl . setWriteAccess ( user . id , true ) ;
67
+ contactQuery . setACL ( acl ) ;
80
68
81
- const contactRes = await contactQuery . save ( ) ;
82
- const parseRes = JSON . parse ( JSON . stringify ( contactRes ) ) ;
83
- return response . json ( {
84
- objectId : parseRes . objectId ,
85
- Name : parseRes . Name ,
86
- Email : parseRes . Email ,
87
- Phone : parseRes . Phone ,
88
- createdAt : parseRes . createdAt ,
89
- updatedAt : parseRes . updatedAt ,
90
- } ) ;
91
- }
92
- } catch ( err ) {
93
- console . log ( 'err in' , err ) ;
94
- if ( err . code === 202 ) {
95
- const params = { email : email } ;
96
- const userRes = await Parse . Cloud . run ( 'getUserId' , params ) ;
97
- const roleurl = `${ serverUrl } /functions/AddUserToRole` ;
98
- const headers = {
99
- 'Content-Type' : 'application/json' ,
100
- 'X-Parse-Application-Id' : appId ,
101
- // sessionToken: localStorage.getItem('accesstoken'),
102
- } ;
103
- const body = {
104
- appName : 'contracts' ,
105
- roleName : 'contracts_Guest' ,
106
- userId : userRes . id ,
107
- } ;
108
- await axios . post ( roleurl , body , { headers : headers } ) ;
109
- contactQuery . set ( 'CreatedBy' , userPtr ) ;
110
- contactQuery . set ( 'UserId' , {
111
- __type : 'Pointer' ,
112
- className : '_User' ,
113
- objectId : userRes . id ,
114
- } ) ;
115
- const acl = new Parse . ACL ( ) ;
116
- acl . setReadAccess ( userPtr . id , true ) ;
117
- acl . setWriteAccess ( userPtr . id , true ) ;
118
- acl . setReadAccess ( userRes . id , true ) ;
119
- acl . setWriteAccess ( userRes . id , true ) ;
69
+ const contactRes = await contactQuery . save ( ) ;
70
+ const parseRes = JSON . parse ( JSON . stringify ( contactRes ) ) ;
71
+ return response . json ( {
72
+ objectId : parseRes . objectId ,
73
+ Name : parseRes . Name ,
74
+ Email : parseRes . Email ,
75
+ Phone : parseRes . Phone ,
76
+ createdAt : parseRes . createdAt ,
77
+ updatedAt : parseRes . updatedAt ,
78
+ } ) ;
79
+ }
80
+ } catch ( err ) {
81
+ console . log ( 'err in' , err ) ;
82
+ if ( err . code === 202 ) {
83
+ const params = { email : email } ;
84
+ const userRes = await Parse . Cloud . run ( 'getUserId' , params ) ;
85
+ const roleurl = `${ serverUrl } /functions/AddUserToRole` ;
86
+ const headers = {
87
+ 'Content-Type' : 'application/json' ,
88
+ 'X-Parse-Application-Id' : appId ,
89
+ // sessionToken: localStorage.getItem('accesstoken'),
90
+ } ;
91
+ const body = {
92
+ appName : 'contracts' ,
93
+ roleName : 'contracts_Guest' ,
94
+ userId : userRes . id ,
95
+ } ;
96
+ await axios . post ( roleurl , body , { headers : headers } ) ;
97
+ contactQuery . set ( 'CreatedBy' , userPtr ) ;
98
+ contactQuery . set ( 'UserId' , {
99
+ __type : 'Pointer' ,
100
+ className : '_User' ,
101
+ objectId : userRes . id ,
102
+ } ) ;
103
+ const acl = new Parse . ACL ( ) ;
104
+ acl . setReadAccess ( userPtr . id , true ) ;
105
+ acl . setWriteAccess ( userPtr . id , true ) ;
106
+ acl . setReadAccess ( userRes . id , true ) ;
107
+ acl . setWriteAccess ( userRes . id , true ) ;
120
108
121
- contactQuery . setACL ( acl ) ;
122
- const contactRes = await contactQuery . save ( ) ;
123
- if ( contactRes ) {
124
- const parseRes = JSON . parse ( JSON . stringify ( contactRes ) ) ;
125
- return response . json ( {
126
- objectId : parseRes . objectId ,
127
- Name : parseRes . Name ,
128
- Email : parseRes . Email ,
129
- Phone : parseRes . Phone ,
130
- createdAt : parseRes . createdAt ,
131
- updatedAt : parseRes . updatedAt ,
132
- } ) ;
133
- }
134
- } else {
135
- if ( err . code === 137 ) {
136
- return response . status ( 401 ) . json ( { error : 'Contact already exists!' } ) ;
137
- }
138
- return response
139
- . status ( 400 )
140
- . json ( { error : 'Something went wrong, please try again later!' } ) ;
141
- }
109
+ contactQuery . setACL ( acl ) ;
110
+ const contactRes = await contactQuery . save ( ) ;
111
+ if ( contactRes ) {
112
+ const parseRes = JSON . parse ( JSON . stringify ( contactRes ) ) ;
113
+ return response . json ( {
114
+ objectId : parseRes . objectId ,
115
+ Name : parseRes . Name ,
116
+ Email : parseRes . Email ,
117
+ Phone : parseRes . Phone ,
118
+ createdAt : parseRes . createdAt ,
119
+ updatedAt : parseRes . updatedAt ,
120
+ } ) ;
142
121
}
143
- } catch ( err ) {
144
- console . log ( 'err ' , err ) ;
122
+ } else {
145
123
if ( err . code === 137 ) {
146
124
return response . status ( 401 ) . json ( { error : 'Contact already exists!' } ) ;
147
- } else {
148
- return response
149
- . status ( 400 )
150
- . json ( { error : 'Something went wrong, please try again later!' } ) ;
151
125
}
126
+ return response
127
+ . status ( 400 )
128
+ . json ( { error : 'Something went wrong, please try again later!' } ) ;
152
129
}
153
130
}
154
131
} catch ( err ) {
155
- return response . status ( 400 ) . json ( { error : 'Something went wrong, please try again later!' } ) ;
132
+ console . log ( 'err ' , err ) ;
133
+ if ( err . code === 137 ) {
134
+ return response . status ( 401 ) . json ( { error : 'Contact already exists!' } ) ;
135
+ } else {
136
+ return response
137
+ . status ( 400 )
138
+ . json ( { error : 'Something went wrong, please try again later!' } ) ;
139
+ }
156
140
}
157
141
} else {
158
142
return response . status ( 405 ) . json ( { error : 'Invalid API Token!' } ) ;
0 commit comments