import 'dart:convert'; import 'dart:io'; import 'package:smartfit_app_mobile/Modele/Api/i_data_strategy.dart'; import 'package:http/http.dart' as http; import 'package:smartfit_app_mobile/Modele/user.dart'; class RequestApi extends IDataStrategy { // Faire attention au URL String urlApi = ""; @override Future getFile(String token, String idFile) async { final response = await http.get(Uri.parse('$urlApi/$token/files/$idFile')); if (response.statusCode == 200) { /*return Classe.fromJson(jsonDecode(response.body) as Map);*/ throw UnimplementedError(); } else { throw UnimplementedError(); } } @override Future deleteFile(String token, String idFile) async { final response = await http.delete(Uri.parse('$urlApi/$token/files')); if (response.statusCode == 200) { /*return Classe.fromJson(jsonDecode(response.body) as Map);*/ throw UnimplementedError(); } else { throw UnimplementedError(); } } @override Future deleteUser(String token) async { final response = await http.delete(Uri.parse('$urlApi/$token')); if (response.statusCode == 200) { return true; } else { return false; } } @override Future getFiles(String token) async { final response = await http.get(Uri.parse('$urlApi/$token/files')); if (response.statusCode == 200) { /*return Classe.fromJson(jsonDecode(response.body) as Map);*/ throw UnimplementedError(); } else { throw UnimplementedError(); } } @override Future getToken(String uuid, String passwordHash) async { final response = await http.get(Uri.parse('$urlApi/$uuid/$passwordHash/token')); if (response.statusCode == 200) { /*return Classe.fromJson(jsonDecode(response.body) as Map);*/ throw UnimplementedError(); } else { throw UnimplementedError(); } } @override Future postUser(User user) async { final response = await http.post(Uri.parse(urlApi), headers: { 'Content-Type': 'application/json; charset=UTF-8', }, body: jsonEncode({'user': user})); if (response.statusCode == 200) { return true; } else { return false; } } @override Future updateEmail(String token, String email) async { final response = await http.put(Uri.parse('$urlApi/$token/email'), headers: { 'Content-Type': 'application/json; charset=UTF-8', }, body: jsonEncode({'email': email})); if (response.statusCode == 200) { return true; } else { return false; } } @override Future updateUsername(String token, String username) async { final response = await http.put(Uri.parse('$urlApi/$token/username'), headers: { 'Content-Type': 'application/json; charset=UTF-8', }, body: jsonEncode({'username': username})); if (response.statusCode == 200) { return true; } else { return false; } } @override Future uploadFile(String token, File file) async { final response = await http.post(Uri.parse('$urlApi/$token/UploadFile'), headers: { 'Content-Type': 'application/json; charset=UTF-8', }, body: jsonEncode({'file': file})); if (response.statusCode == 200) { return true; } else { return false; } } }