login added
This commit is contained in:
@@ -1,4 +1,13 @@
|
||||
// ignore_for_file: prefer_single_quotes
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:tm_app/data/services/model/login_response/login_response_model.dart';
|
||||
|
||||
import '../../core/network/network_manager.dart';
|
||||
import '../../core/utils/result.dart';
|
||||
|
||||
class AuthService {
|
||||
AuthService({required NetworkManager networkManager})
|
||||
@@ -6,31 +15,35 @@ class AuthService {
|
||||
|
||||
final NetworkManager _networkManager;
|
||||
|
||||
Future<Map<String, dynamic>> login(String email, String password) async {
|
||||
// شبیهسازی API Call
|
||||
await Future.delayed(const Duration(seconds: 2));
|
||||
Future<Result<LoginResponseModel>> login({
|
||||
required String username,
|
||||
required String password,
|
||||
}) async {
|
||||
var headers = {
|
||||
'accept': 'application/json',
|
||||
'Content-Type': 'application/json',
|
||||
};
|
||||
var data = jsonEncode({"password": "Nima.1998", "username": "nakhostin"});
|
||||
var dio = Dio(
|
||||
BaseOptions(baseUrl: 'http://10.0.2.2:8081', headers: headers),
|
||||
);
|
||||
var response = await dio.request(
|
||||
'/admin/v1/profile/login',
|
||||
options: Options(method: 'POST'),
|
||||
data: data,
|
||||
);
|
||||
|
||||
if (email == 'a' && password == 'a') {
|
||||
return {'token': 'xyz123', 'name': 'John Doe'};
|
||||
if (response.statusCode == 200) {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
final token = response.data['data']?['access_token'];
|
||||
prefs.setString('token', token);
|
||||
if (token != null) {
|
||||
await prefs.setString('bearer', token);
|
||||
}
|
||||
print(json.encode(response.data));
|
||||
} else {
|
||||
throw Exception('Invalid credentials');
|
||||
print(response.statusMessage);
|
||||
}
|
||||
return Result.ok(LoginResponseModel.fromJson(response.data));
|
||||
}
|
||||
}
|
||||
|
||||
// Future<Result<OnlineGalleryResponse>> getImages(String projectId) async {
|
||||
// try {
|
||||
// final result = await networkManager.makeRequest(
|
||||
// '/api/v1/projects/$projectId/files',
|
||||
// (json) {
|
||||
// Logger().i(json);
|
||||
// return OnlineGalleryResponse.fromJson(json);
|
||||
// },
|
||||
// method: 'GET',
|
||||
// );
|
||||
|
||||
// return Result.ok(result);
|
||||
// } on DioException catch (e) {
|
||||
// return Result.error(e);
|
||||
// }
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user