81 lines
2.3 KiB
Dart
81 lines
2.3 KiB
Dart
// ignore_for_file: use_build_context_synchronously
|
|
|
|
import 'dart:io';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:http/http.dart' as http;
|
|
import 'package:sapaly_shop/constants/global_variables.dart';
|
|
import 'package:sapaly_shop/constants/utils.dart';
|
|
import 'package:sapaly_shop/models/auth/login/login_request_model.dart';
|
|
import 'package:sapaly_shop/models/auth/login/login_response_model.dart';
|
|
import 'package:sapaly_shop/models/auth/register/register_request_model.dart';
|
|
import 'package:sapaly_shop/models/auth/register/register_response_model.dart';
|
|
import '../../constants/error_handling.dart';
|
|
|
|
class AuthService {
|
|
// Register
|
|
Future<void> register({
|
|
required RegisterRequestModel registerRequestModel,
|
|
required BuildContext context,
|
|
}) async {
|
|
try {
|
|
var response = await http.post(
|
|
Uri.parse('$kBaseUrl/jwt/register'),
|
|
body: registerRequestModel.toJson(),
|
|
headers: {'Accept': 'application/json'},
|
|
);
|
|
|
|
if (response.statusCode == HttpStatus.ok) {
|
|
var data = response.body;
|
|
var registerResponse = registerResponseModelFromJson(data);
|
|
}
|
|
httpErrorHandle(
|
|
response: response,
|
|
context: context,
|
|
onSuccess: () {
|
|
showSnackBar(
|
|
context,
|
|
'successfully_created_now_login',
|
|
);
|
|
},
|
|
);
|
|
} catch (e) {
|
|
showSnackBar(context, e.toString());
|
|
debugPrint('Register Repsponse $e');
|
|
}
|
|
}
|
|
|
|
Future<void> login({
|
|
required LoginRequestModel loginRequestModel,
|
|
required BuildContext context,
|
|
}) async {
|
|
try {
|
|
var response = await http.post(Uri.parse('$kBaseUrl/jwt/login'),
|
|
body: loginRequestModel.toMap(),
|
|
headers: {
|
|
'Accept': 'application/json',
|
|
});
|
|
|
|
if (response.statusCode == HttpStatus.ok) {
|
|
var data = response.body;
|
|
var loginResponse = LoginResponseModel.fromJson(data);
|
|
debugPrint('EMAIL ${loginResponse.user.email}');
|
|
}
|
|
|
|
httpErrorHandle(
|
|
response: response,
|
|
context: context,
|
|
onSuccess: () {
|
|
showSnackBar(
|
|
context,
|
|
'successfully_created_now_login',
|
|
);
|
|
},
|
|
);
|
|
} catch (e) {
|
|
showSnackBar(context, e.toString());
|
|
debugPrint('Login Response ${e.toString()}');
|
|
}
|
|
}
|
|
}
|