diff --git a/lib/Modele/Api/i_data_strategy.dart b/lib/Modele/Api/i_data_strategy.dart index eda994a..9d6edb0 100644 --- a/lib/Modele/Api/i_data_strategy.dart +++ b/lib/Modele/Api/i_data_strategy.dart @@ -25,6 +25,7 @@ abstract class IDataStrategy { // Delete one file on BDD Future> deleteFile(String token, String fileUuid); + Future getInfoUser(String token); /* -> Modification attribut // Update email Future updateEmail(String token, String email); diff --git a/lib/Modele/Api/request_api.dart b/lib/Modele/Api/request_api.dart index d25ac1f..643dc11 100644 --- a/lib/Modele/Api/request_api.dart +++ b/lib/Modele/Api/request_api.dart @@ -153,14 +153,12 @@ class RequestApi extends IDataStrategy { Future modifAttribut( String token, String nameAttribut, String newValue) async { final response = await http.put(Uri.parse('$urlApi/user/$nameAttribut'), - headers: { - 'Content-Type': 'application/json; charset=UTF-8', - 'Authorization': token - }, + headers: {'Authorization': token}, body: jsonEncode({nameAttribut: newValue})); if (response.statusCode == 200) { - return const Tuple2(true, "Successful"); + Map json = jsonDecode(response.body); + return Tuple2(true, json); } if (response.statusCode == 400) { return const Tuple2(false, "400 - BAD REQUEST"); @@ -200,4 +198,22 @@ class RequestApi extends IDataStrategy { } return const Tuple2(false, "Fail "); } + + @override + Future getInfoUser(String token) async { + final response = await http.get(Uri.parse('$urlApi/user/info'), + headers: {'Authorization': token}); + + if (response.statusCode == 200) { + Map json = jsonDecode(response.body); + return Tuple2(true, json); + } + if (response.statusCode == 400) { + return const Tuple2(false, "400 - BAD REQUEST"); + } + if (response.statusCode == 401) { + return const Tuple2(false, "401 - UNAUTHORIZED"); + } + return const Tuple2(false, "Fail "); + } } diff --git a/lib/View/page_test.dart b/lib/View/page_test.dart index 890ba3a..e4c02c0 100644 --- a/lib/View/page_test.dart +++ b/lib/View/page_test.dart @@ -165,6 +165,14 @@ class _TestPage extends State { .readFitFile("${await x.localPath}/Walking_2023-11-08T10_57_28.fit")); } + Future getInfoUser() async { + String token = + "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1dWlkIjoiOGUyYWVmMTItN2ZiNC0xMWVlLWJhZmQtMDI0MjBhNWEwMDFmIiwiZXhwIjoxNzA0ODgzOTE3fQ.TUdrGEo7A0auQlUfO5RQm874QWuGXFBSKbJ8qTGPF2M"; + Tuple2 res = await strategy.getInfoUser(token); + print(res.item1); + print(res.item2); + } + @override Widget build(BuildContext context) { return Scaffold( @@ -203,7 +211,9 @@ class _TestPage extends State { ElevatedButton( onPressed: uploadFile, child: const Text("Upload File")), ElevatedButton( - onPressed: getOneFile, child: const Text("Get One File")) + onPressed: getOneFile, child: const Text("Get One File")), + ElevatedButton( + onPressed: getInfoUser, child: const Text("Get info User")) ], ), );