25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 
 
 

58 satır
2.1 KiB

  1. import 'package:dio/dio.dart';
  2. import 'package:qadirneyriz/config/config.dart';
  3. import 'package:qadirneyriz/setting/setting.dart';
  4. import 'package:qadirneyriz/utils/result/result.dart';
  5. class AuthServices {
  6. Future<Result?> loginApi(
  7. {required String mobile, String? password, String? otp}) async {
  8. assert(password != null || otp != null);
  9. try {
  10. Map<String, String> headers = {"Accept": "application/json"};
  11. FormData? formData;
  12. formData = password != null
  13. ? FormData.fromMap({"mobile": mobile, "password": password})
  14. : FormData.fromMap({"mobile": mobile, "otp": otp});
  15. final res = await Dio().post("${config.network.baseUrl}login",
  16. data: formData, options: Options(headers: headers));
  17. if (res.statusCode == 200 || res.statusCode == 201) {
  18. setting.userLocalDb.saveUserField('token', res.data['token']);
  19. setting.userLocalDb.saveUserField('mobile', res.data['mobile']);
  20. setting.userLocalDb.saveUserField('name', res.data['name']);
  21. setting.userLocalDb.saveUserField('role', res.data['role']);
  22. setting.userLocalDb.saveUserField('access', res.data['access']);
  23. return Result(isOk: true, message: res.data['msg']);
  24. }
  25. } on DioException catch (e) {
  26. return Result(
  27. isOk: false,
  28. errors: e.response!.data['errors'],
  29. message: e.response!.data['msg']);
  30. }
  31. return const Result(isOk: false);
  32. }
  33. Future<Result?> sendOtpApi({required String mobile}) async {
  34. try {
  35. Map<String, String> headers = {"Accept": "application/json"};
  36. FormData? formData;
  37. formData = FormData.fromMap({"mobile": mobile});
  38. final res = await Dio().post("${config.network.baseUrl}sendOtp",
  39. data: formData, options: Options(headers: headers));
  40. if (res.statusCode == 200 || res.statusCode == 201) {
  41. return Result(isOk: true, message: res.data['msg']);
  42. }
  43. } on DioException catch (e) {
  44. return Result(
  45. isOk: false,
  46. errors: e.response!.data['errors'],
  47. message: e.response!.data['msg']);
  48. }
  49. return const Result(isOk: false);
  50. }
  51. }