login and begin listView
This commit is contained in:
@@ -1,32 +1,43 @@
|
||||
import 'package:get/get.dart';
|
||||
import 'dart:convert';
|
||||
|
||||
class ServiceRepos extends GetConnect {
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
// Setze die Basis-URL für deine API
|
||||
httpClient.baseUrl = 'https://node.joshihomeserver.ipv64.net/api';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import '../models/user_model.dart';
|
||||
|
||||
class ServiceRepos{
|
||||
final http.Client httpClient;
|
||||
final String baseUrl = 'https://node.joshihomeserver.ipv64.net/api';
|
||||
|
||||
ServiceRepos({required this.httpClient});
|
||||
|
||||
Future<http.Response> getUsersList() {
|
||||
return httpClient.get(
|
||||
Uri.parse('$baseUrl/GetFilamentUsers'),
|
||||
headers: {'Content-Type': 'application/json'},
|
||||
);
|
||||
}
|
||||
|
||||
Future<Response> getUsersList() => get('$baseUrl/GetFilamentUsers', headers: {'Content-Type': 'application/json'});
|
||||
Future<UserModel> loginService(String username, String password) async {
|
||||
|
||||
Future<Response> getUserIsValide(String username, String password) =>
|
||||
getUsersList().then((response) {
|
||||
if (response.statusCode == 200 && response.body is List) {
|
||||
final users = response.body as List;
|
||||
final user = users.firstWhere(
|
||||
(u) => u['benutzer'] == username && u['kennwort'] == password,
|
||||
orElse: () => null,
|
||||
);
|
||||
return Response(
|
||||
statusCode: user != null ? 200 : 401,
|
||||
body: user != null ? {'valid': true} : {'valid': false},
|
||||
);
|
||||
} else {
|
||||
return Response(statusCode: response.statusCode, body: response.body);
|
||||
}
|
||||
});
|
||||
final responseUser = await getUsersList();
|
||||
|
||||
Future<Response> getFilamentsList(String username) =>
|
||||
post('$baseUrl/GetFilamentDataByUser', {'username': username});
|
||||
}
|
||||
if (responseUser.statusCode != 200) {
|
||||
return UserModel(uuid: '', username: '', passwort: '');
|
||||
}
|
||||
|
||||
final users = responseUser.body.isNotEmpty
|
||||
? List<Map<String, dynamic>>.from(json.decode(responseUser.body))
|
||||
: <Map<String, dynamic>>[];
|
||||
|
||||
List<UserModel> userModels = users.map((u) => UserModel.fromMap(u)).toList();
|
||||
|
||||
final UserModel? searchUser = userModels.firstWhereOrNull(
|
||||
(u) => u.username == username && u.passwort == password);
|
||||
|
||||
if (searchUser == null || searchUser.uuid.isEmpty) {
|
||||
return UserModel(uuid: '', username: '', passwort: '');
|
||||
}
|
||||
|
||||
return searchUser;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user