rename to one trip
This commit is contained in:
86
one_trip/lib/api/auth.dart
Normal file
86
one_trip/lib/api/auth.dart
Normal file
@@ -0,0 +1,86 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'consts.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
|
||||
class TokenSingleton {
|
||||
static final TokenSingleton _instance = TokenSingleton._internal();
|
||||
String token = "";
|
||||
|
||||
factory TokenSingleton() {
|
||||
return _instance;
|
||||
}
|
||||
|
||||
void setToken(String tok) {
|
||||
token = tok;
|
||||
}
|
||||
|
||||
String getToken() {
|
||||
return token;
|
||||
}
|
||||
|
||||
TokenSingleton._internal();
|
||||
}
|
||||
|
||||
Future<String> getToken(String username, String password) async {
|
||||
const String requestURL = "$baseURL/auth/token";
|
||||
|
||||
final http.Response response = await http.post(Uri.parse(requestURL),
|
||||
body: {"username": username, "password": password});
|
||||
|
||||
if (response.statusCode == 200) {
|
||||
Map<String, dynamic> json = jsonDecode(response.body);
|
||||
|
||||
final TokenSingleton s = TokenSingleton();
|
||||
s.setToken(json["token"]);
|
||||
|
||||
return json["token"];
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> testToken(String token) async {
|
||||
const String requestURL = "$baseURL/auth/users/me";
|
||||
|
||||
final http.Response response = await http.get(
|
||||
Uri.parse(requestURL),
|
||||
headers: {
|
||||
"Authorization": "Token $token",
|
||||
},
|
||||
);
|
||||
|
||||
return response.statusCode == 200;
|
||||
}
|
||||
|
||||
Future<String> signup(
|
||||
String firstName,
|
||||
String lastName,
|
||||
String username,
|
||||
String password,
|
||||
) async {
|
||||
const String requestURL = "$baseURL/auth/users/";
|
||||
|
||||
final http.Response response = await http.post(
|
||||
Uri.parse(requestURL),
|
||||
body: {
|
||||
"first_name": firstName,
|
||||
"last_name": lastName,
|
||||
"username": username,
|
||||
"password": password,
|
||||
},
|
||||
);
|
||||
|
||||
if (response.statusCode == 201) {
|
||||
return "";
|
||||
}
|
||||
|
||||
Map<String, dynamic> errorBody = jsonDecode(response.body);
|
||||
|
||||
List<String> errors = [];
|
||||
errorBody.forEach((key, value) {
|
||||
errors.add("$key: ${value[0]}");
|
||||
});
|
||||
|
||||
return errors.join(", ");
|
||||
}
|
||||
Reference in New Issue
Block a user