Skip to content

Commit c8deb7b

Browse files
committed
# Conflicts: # .idea/libraries/Dart_Packages.xml # lib/src/objects/parse_file.dart # lib/src/objects/parse_user.dart # pubspec.yaml
1 parent e3889e2 commit c8deb7b

File tree

2 files changed

+41
-9
lines changed

2 files changed

+41
-9
lines changed

example/lib/main.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -138,13 +138,19 @@ class _MyAppState extends State<MyApp> {
138138
initUser() async {
139139
// All return type ParseUser except all
140140
var user =
141-
ParseUser("TestFlutter", "TestPassword123", "TestFlutterSDK@gmail.com");
141+
ParseUser("TestFlutter", "TestPassword123", "phill.wiggins@gmail.com");
142142
var response = await user.signUp();
143143
if (response.success) user = response.result;
144144

145145
response = await user.login();
146146
if (response.success) user = response.result;
147147

148+
response = await user.requestPasswordReset();
149+
if (response.success) user = response.result;
150+
151+
response = await user.verificationEmailRequest();
152+
if (response.success) user = response.result;
153+
148154
user = null;
149155
// Best practice for starting the app. This will check for a valid user
150156
user = await ParseUser.currentUser();
@@ -154,12 +160,6 @@ class _MyAppState extends State<MyApp> {
154160
response = await ParseUser.getCurrentUserFromServer();
155161
if (response.success) user = response.result;
156162

157-
response = await user.requestPasswordReset();
158-
if (response.success) user = response.result;
159-
160-
response = await user.verificationEmailRequest();
161-
if (response.success) user = response.result;
162-
163163
response = await user.save();
164164
if (response.success) user = response.result;
165165

lib/src/objects/parse_user.dart

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ class ParseUser extends ParseObject implements ParseCloneable {
152152
keyVarPassword: password
153153
});
154154

155-
final response = await _client.post(url, headers: {
155+
final response = await _client.get(url, headers: {
156156
keyHeaderRevocableSession: "1",
157157
});
158158

@@ -163,6 +163,36 @@ class ParseUser extends ParseObject implements ParseCloneable {
163163
}
164164
}
165165

166+
// Logs in a user anonymously
167+
Future<ParseResponse> loginAnonymous() async {
168+
try {
169+
Uri tempUri = Uri.parse(_client.data.serverUrl);
170+
171+
Uri url = Uri(
172+
scheme: tempUri.scheme,
173+
host: tempUri.host,
174+
path: "${tempUri.path}$keyEndPointUsers",
175+
);
176+
177+
var uuid = new Uuid();
178+
179+
final response = await _client.post(url,
180+
headers: {
181+
keyHeaderRevocableSession: "1",
182+
},
183+
body: jsonEncode({
184+
"authData": {
185+
"anonymous": {"id": uuid.v4()}
186+
}
187+
}));
188+
189+
return _handleResponse(
190+
this, response, ParseApiRQ.loginAnonymous, _debug, className);
191+
} on Exception catch (e) {
192+
return _handleException(e, ParseApiRQ.loginAnonymous, _debug, className);
193+
}
194+
}
195+
166196
/// Removes the current user from the session data
167197
logout() {
168198
_client.data.sessionId = null;
@@ -210,7 +240,9 @@ class ParseUser extends ParseObject implements ParseCloneable {
210240
var uri = _client.data.serverUrl + "$path/$objectId";
211241
var body =
212242
json.encode(toJson(forApiRQ: true), toEncodable: dateTimeEncoder);
213-
final response = await _client.put(uri, body: body);
243+
final response = await _client.put(uri,
244+
headers: {keyHeaderSessionToken: _client.data.sessionId},
245+
body: body);
214246
return _handleResponse(
215247
this, response, ParseApiRQ.save, _debug, className);
216248
} on Exception catch (e) {

0 commit comments

Comments
 (0)