devLogin method

Future<void> devLogin({
  1. required String endpoint,
  2. required String user,
  3. required String password,
})

Use the PowerSync dev API to log in.

Implementation

Future<void> devLogin(
    {required String endpoint,
    required String user,
    required String password}) async {
  final uri = Uri.parse(endpoint).resolve('dev/auth.json');
  final res = await http.post(uri,
      headers: {'Content-Type': 'application/json'},
      body: jsonEncode({'user': user, 'password': password}));

  if (res.statusCode == 200) {
    var parsed = jsonDecode(res.body);
    storeDevCredentials(DevCredentials(
        endpoint: endpoint,
        token: parsed['data']['token'],
        userId: parsed['data']['user_id']));
  } else {
    throw HttpException(res.reasonPhrase ?? 'Request failed', uri: uri);
  }
}