first commit
This commit is contained in:
33
lib/services/api.dart
Normal file
33
lib/services/api.dart
Normal file
@ -0,0 +1,33 @@
|
||||
import 'dart:convert';
|
||||
import 'package:http/http.dart' as http;
|
||||
|
||||
import 'package:f0ckapp/models/mediaitem.dart';
|
||||
import 'package:f0ckapp/models/mediaitem_detail.dart';
|
||||
|
||||
Future<List<MediaItem>> fetchMedia({String? older}) async {
|
||||
final Uri url = Uri.parse('https://f0ck.me/api/v2/items/get')
|
||||
.replace(queryParameters: {
|
||||
if (older != null) 'older': older,
|
||||
});
|
||||
|
||||
final response = await http.get(url);
|
||||
if (response.statusCode == 200) {
|
||||
final Map<String, dynamic> jsonResponse = jsonDecode(response.body);
|
||||
final List<dynamic> jsonList = jsonResponse['items'];
|
||||
return jsonList.map((item) => MediaItem.fromJson(item)).toList();
|
||||
} else {
|
||||
throw Exception('Fehler beim Abrufen der Medien: ${response.statusCode}');
|
||||
}
|
||||
}
|
||||
|
||||
Future<MediaItemDetail> fetchMediaDetail(int itemId) async {
|
||||
final Uri url = Uri.parse('https://f0ck.me/api/v2/item/$itemId');
|
||||
|
||||
final response = await http.get(url);
|
||||
if (response.statusCode == 200) {
|
||||
final Map<String, dynamic> jsonResponse = jsonDecode(response.body);
|
||||
return MediaItemDetail.fromJson(jsonResponse['rows']);
|
||||
} else {
|
||||
throw Exception('Fehler beim Abrufen der Media-Details: ${response.statusCode}');
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user