This commit is contained in:
		@@ -1,12 +1,11 @@
 | 
			
		||||
import 'package:encrypt_shared_preferences/provider.dart';
 | 
			
		||||
import 'package:get/get.dart';
 | 
			
		||||
 | 
			
		||||
import 'package:f0ckapp/controller/authcontroller.dart';
 | 
			
		||||
import 'package:f0ckapp/models/item.dart';
 | 
			
		||||
import 'package:f0ckapp/models/feed.dart';
 | 
			
		||||
 | 
			
		||||
class ApiService extends GetConnect {
 | 
			
		||||
  final EncryptedSharedPreferencesAsync storage =
 | 
			
		||||
      EncryptedSharedPreferencesAsync.getInstance();
 | 
			
		||||
  final AuthController _authController = Get.find<AuthController>();
 | 
			
		||||
 | 
			
		||||
  Future<Feed> fetchItems({
 | 
			
		||||
    int? older,
 | 
			
		||||
@@ -16,7 +15,7 @@ class ApiService extends GetConnect {
 | 
			
		||||
    int random = 0,
 | 
			
		||||
    String? tag,
 | 
			
		||||
  }) async {
 | 
			
		||||
    String? token = await storage.getString('token');
 | 
			
		||||
    String? token = _authController.token.value;
 | 
			
		||||
    final params = <String, String>{
 | 
			
		||||
      'type': type.toString(),
 | 
			
		||||
      'mode': mode.toString(),
 | 
			
		||||
@@ -42,18 +41,40 @@ class ApiService extends GetConnect {
 | 
			
		||||
      feed.items.sort((a, b) => b.id.compareTo(a.id));
 | 
			
		||||
      return feed;
 | 
			
		||||
    } else {
 | 
			
		||||
      if (Get.isSnackbarOpen == false) {
 | 
			
		||||
      if (!Get.isSnackbarOpen) {
 | 
			
		||||
        Get.snackbar('Fehler', 'Fehler beim Laden der Items');
 | 
			
		||||
      }
 | 
			
		||||
      throw Exception('Fehler beim Laden der Items');
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  Future<MediaItem> fetchItemById(int itemId) async {
 | 
			
		||||
    String? token = _authController.token.value;
 | 
			
		||||
    final Map<String, String> headers = <String, String>{};
 | 
			
		||||
    if (token != null && token.isNotEmpty) {
 | 
			
		||||
      headers['Authorization'] = 'Bearer $token';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    final Response<dynamic> response = await get(
 | 
			
		||||
      'https://api.f0ck.me/item/$itemId',
 | 
			
		||||
      headers: headers,
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    if (response.status.code == 200 && response.body is Map<String, dynamic>) {
 | 
			
		||||
      return MediaItem.fromJson(response.body as Map<String, dynamic>);
 | 
			
		||||
    } else {
 | 
			
		||||
      if (!Get.isSnackbarOpen) {
 | 
			
		||||
        Get.snackbar('Fehler', 'Fehler beim Laden des Items');
 | 
			
		||||
      }
 | 
			
		||||
      throw Exception('Fehler beim Laden des Items');
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  Future<List<Favorite>?> toggleFavorite(
 | 
			
		||||
    MediaItem item,
 | 
			
		||||
    bool isFavorite,
 | 
			
		||||
  ) async {
 | 
			
		||||
    String? token = await storage.getString('token');
 | 
			
		||||
    String? token = _authController.token.value;
 | 
			
		||||
    if (token == null || token.isEmpty) return null;
 | 
			
		||||
 | 
			
		||||
    final Map<String, String> headers = {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user