@@ -10,30 +10,41 @@ class ParseUser {
1010 ParseHTTPClient _client;
1111 static final String className = '_User' ;
1212 String path = "/classes/$className " ;
13- bool debug ;
13+ bool _debug ;
1414
15- ParseUser ({this . debug: false , ParseHTTPClient client}) {
15+ ParseUser ({debug, ParseHTTPClient client}) {
1616 client != null ? _client = client : _client = ParseHTTPClient ();
17+
18+ if (_debug == null ) {
19+ _debug = client.data.debug;
20+ } else {
21+ _debug = _debug;
22+ }
1723 }
1824
1925 create (String username, String password, String emailAddress) {
20- User .init (username, password, emailAddress. toLowerCase () );
21- return User () ;
26+ User .init (username, password, emailAddress);
27+ return User .instance ;
2228 }
2329
24- _getBasePath (String path) => "${_client .data .serverUrl }$path " ;
25-
2630 currentUser ({bool fromServer: false }) async {
27- if (User () == null ) {
31+ if (_client.data.sessionId == null ) {
2832 return null ;
2933 } else if (fromServer == false ) {
30- return User () ;
34+ return User .instance ;
3135 } else {
32- var uri = "${_getBasePath (path )}/me" ;
33- var result = await _client.get (uri, headers: {
36+
37+ Uri tempUri = Uri .parse (_client.data.serverUrl);
38+
39+ Uri uri= Uri (
40+ scheme: tempUri.scheme,
41+ host: tempUri.host,
42+ path: "${tempUri .path }$path /me" );
43+
44+ final response = await _client.get (uri, headers: {
3445 ParseConstants .HEADER_SESSION_TOKEN : _client.data.sessionId
3546 });
36- return _handleResult (result , ParseApiUserCallType .currentUser);
47+ return _handleResponse (response , ParseApiUserCallType .currentUser);
3748 }
3849 }
3950
@@ -56,8 +67,8 @@ class ParseUser {
5667 },
5768 body: JsonEncoder ().convert (bodyData));
5869
59- _handleResult (response, ParseApiUserCallType .signUp);
60- return User () ;
70+ _handleResponse (response, ParseApiUserCallType .signUp);
71+ return User .instance ;
6172 }
6273
6374 login () async {
@@ -68,24 +79,24 @@ class ParseUser {
6879 host: tempUri.host,
6980 path: "${tempUri .path }/login" ,
7081 queryParameters: {
71- "username" : User () .username,
72- "password" : User () .password
82+ "username" : User .instance .username,
83+ "password" : User .instance .password
7384 });
7485
7586 final response = await _client.post (url, headers: {
7687 ParseConstants .HEADER_REVOCABLE_SESSION : "1" ,
7788 });
7889
79- _handleResult (response, ParseApiUserCallType .login);
80- return User () ;
90+ _handleResponse (response, ParseApiUserCallType .login);
91+ return User .instance ;
8192 }
8293
8394 verificationEmailRequest () async {
8495 final response = await _client.post (
8596 "${_client .data .serverUrl }/verificationEmailRequest" ,
8697 body: JsonEncoder ().convert ({"email" : User ().emailAddress}));
8798
88- return _handleResult (
99+ return _handleResponse (
89100 response, ParseApiUserCallType .verificationEmailRequest);
90101 }
91102
@@ -94,59 +105,61 @@ class ParseUser {
94105 "${_client .data .serverUrl }/requestPasswordReset" ,
95106 body: JsonEncoder ().convert ({"email" : User ().emailAddress}));
96107
97- return _handleResult (response, ParseApiUserCallType .requestPasswordReset);
108+ return _handleResponse (response, ParseApiUserCallType .requestPasswordReset);
98109 }
99110
100111 save () async {
101- if (User () .objectId == null ) {
112+ if (User .instance .objectId == null ) {
102113 return signUp ();
103114 } else {
104115 final response = await _client.put (
105116 _client.data.serverUrl + "$path /${User ().objectId }" ,
106117 body: JsonEncoder ().convert (User ().getObjectData ()));
107- return _handleResult (response, ParseApiUserCallType .save);
118+ return _handleResponse (response, ParseApiUserCallType .save);
108119 }
109120 }
110121
111122 destroy () async {
112123 final response = await _client.delete (
113124 _client.data.serverUrl + "$path /${User ().objectId }" ,
114125 headers: {"X-Parse-Session-Token" : _client.data.sessionId});
115- _handleResult (response, ParseApiUserCallType .destroy);
116- return User ().objectId;
126+
127+ _handleResponse (response, ParseApiUserCallType .destroy);
128+
129+ return User .instance.objectId;
117130 }
118131
119132 all () async {
120133 final response = await _client.get (_client.data.serverUrl + "$path " );
121- return _handleResult (response, ParseApiUserCallType .all);
134+ return _handleResponse (response, ParseApiUserCallType .all);
122135 }
123136
124- _handleResult (Response response, ParseApiUserCallType type) {
137+ _handleResponse (Response response, ParseApiUserCallType type) {
125138 Map <String , dynamic > responseData = JsonDecoder ().convert (response.body);
126139
127140 var responseString = ' \n ' ;
128141
129142 responseString += "----"
130143 "\n ${_client .data .appName } API Response ($className : ${getEnumValue (type )}) :" ;
131144
132- if (response.statusCode == 200 ) {
145+ if (response.statusCode == 200 || response.statusCode == 201 ) {
133146 responseString += "\n Status Code: ${response .statusCode }" ;
134147 responseString += "\n Payload: ${responseData .toString ()}" ;
135148
136149 if (responseData.containsKey ('objectId' )) {
137- User () .fromJson (JsonDecoder ().convert (response.body) as Map );
138- _client.data.sessionId = responseData['sessionId ' ];
150+ User .instance .fromJson (JsonDecoder ().convert (response.body) as Map );
151+ _client.data.sessionId = responseData['sessionToken ' ];
139152 }
140153 } else {
141154 responseString += "\n Status Code: ${responseData ['code' ]}" ;
142155 responseString += "\n Exception: ${responseData ['error' ]}" ;
143156 }
144157
145- if (_client.data.debug || debug ) {
158+ if (_client.data.debug || _debug ) {
146159 responseString += "\n ----\n " ;
147160 print (responseString);
148161 }
149162
150- return User () ;
163+ return User .instance ;
151164 }
152165}
0 commit comments