login method

Future<LoginToken> login(
  1. String username,
  2. String password
)

Logs a user in. Also saves the token in accessToken for future use.

Implementation

Future<LoginToken> login(String username, String password) async {
  var uri = Uri.parse(url);
  uri = uri.replace(
    path: '/v1/accounts/login/'
  );
  var credentials = {
    "username": username,
    "password": password
  };

  var response = await http.post(uri, body: credentials);
  if (response.statusCode == 200) {
    var map = json.decode(response.body);
    var obj = LoginToken.fromJson(map);
    accessToken = obj.token;
    return obj;
  } else {
    throw Exception(response.body);
  }
}