first commit
This commit is contained in:
11
lib/models/http_exception.dart
Normal file
11
lib/models/http_exception.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
class HttpException implements Exception {
|
||||
final String message;
|
||||
|
||||
HttpException(this.message);
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return message;
|
||||
// return super.toString(); // Instance of HttpException
|
||||
}
|
||||
}
|
||||
78
lib/models/its_data.dart
Normal file
78
lib/models/its_data.dart
Normal file
@@ -0,0 +1,78 @@
|
||||
class ItsData {
|
||||
final Data data;
|
||||
|
||||
ItsData({required this.data});
|
||||
|
||||
factory ItsData.fromJson(Map<String, dynamic> json) {
|
||||
final data = json['data'] != null ? Data.fromJson(json['data']) : null;
|
||||
return ItsData(data: data!);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
data['data'] = this.data.toJson();
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class Data {
|
||||
List<Users> users;
|
||||
|
||||
Data({required this.users});
|
||||
|
||||
factory Data.fromJson(Map<String, dynamic> json) {
|
||||
List<Users> users = [];
|
||||
if (json['users'] != null) {
|
||||
json['users'].forEach((v) {
|
||||
users.add(Users.fromJson(v));
|
||||
});
|
||||
}
|
||||
return Data(users: users);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
data['users'] = users.map((v) => v.toJson()).toList();
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class Users {
|
||||
final User user;
|
||||
|
||||
Users({required this.user});
|
||||
|
||||
factory Users.fromJson(Map<String, dynamic> json) {
|
||||
final user = json['user'] != null ? User.fromJson(json['user']) : throw Exception('User data is null');
|
||||
return Users(user: user);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
data['user'] = user.toJson();
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class User {
|
||||
final String userID;
|
||||
final String name;
|
||||
final String eMail;
|
||||
|
||||
User({required this.userID, required this.name, required this.eMail});
|
||||
|
||||
factory User.fromJson(Map<String, dynamic> json) {
|
||||
final userID = json['userID'];
|
||||
final name = json['name'];
|
||||
final eMail = json['eMail'];
|
||||
return User(userID: userID, name: name, eMail: eMail);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
data['userID'] = userID;
|
||||
data['name'] = name;
|
||||
data['eMail'] = eMail;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
30
lib/models/my_network.dart
Normal file
30
lib/models/my_network.dart
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
import '../models/its_data.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'dart:convert';
|
||||
|
||||
import '../utils/constants.dart';
|
||||
|
||||
class MyNetwork {
|
||||
final String networkUrl;
|
||||
|
||||
MyNetwork({required this.networkUrl});
|
||||
|
||||
Future<List<User>> getAllUsers() async {
|
||||
List<User> myUserList = [];
|
||||
var result =
|
||||
await http.get(Uri.parse(kGetAllUsersURL), headers: kHttpHeaderBasicApiRest);
|
||||
if (result.statusCode == 200) {
|
||||
var jsonRequest = jsonDecode(result.body);
|
||||
var apiRestUserlist = jsonRequest['data']['users'];
|
||||
for (var user in apiRestUserlist) {
|
||||
User u = User(
|
||||
eMail: user['user']['eMail'],
|
||||
userID: user['user']['userID'],
|
||||
name: user['user']['name']);
|
||||
myUserList.add(u);
|
||||
}
|
||||
}
|
||||
return myUserList;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user