diff --git a/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_profile.dart b/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_profile.dart index dbbe8921..134e55f8 100644 --- a/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_profile.dart +++ b/Frontend/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_profile.dart @@ -1,5 +1,3 @@ -import 'dart:convert'; - import 'package:flutter_speed_dial/flutter_speed_dial.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart'; @@ -22,7 +20,6 @@ import 'package:mzansi_innovation_hub/mih_config/mih_env.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; -import 'package:supertokens_flutter/http.dart' as http; class MihPersonalProfile extends StatefulWidget { final AppProfileUpdateArguments arguments; @@ -115,35 +112,16 @@ class _MihPersonalProfileState extends State { } Future updateUserApiCall() async { - var fname = proPicController.text.replaceAll(RegExp(r' '), '-'); - var filePath = - "${widget.arguments.signedInUser.app_id}/profile_files/$fname"; - var profileType; - if (businessUser) { - profileType = "business"; - } else { - profileType = "personal"; - } - if (isUsernameValid(usernameController.text) == false) { - usernamePopUp(); - } else { - var response = await http.put( - Uri.parse("${AppEnviroment.baseApiUrl}/user/update/"), - headers: { - "Content-Type": "application/json; charset=UTF-8" - }, - body: jsonEncode({ - "idusers": widget.arguments.signedInUser.idUser, - "username": usernameController.text, - "fnam": fnameController.text, - "lname": lnameController.text, - "type": profileType, - "pro_pic_path": filePath, - }), + int responseCode = await MihUserApis().updateUser( + widget.arguments.signedInUser, + fnameController.text, + lnameController.text, + usernameController.text, + proPicController.text, + businessUser, + context, ); - //print("Here4"); - //print(response.statusCode); - if (response.statusCode == 200) { + if (responseCode == 200) { Navigator.of(context).pop(); Navigator.of(context).pop(); Navigator.of(context).pop(); @@ -159,7 +137,6 @@ class _MihPersonalProfileState extends State { } else { internetConnectionPopUp(); } - } } Future deleteFileApiCall(String filename) async { diff --git a/Frontend/lib/mih_services/mih_user_services.dart b/Frontend/lib/mih_services/mih_user_services.dart index 9f016198..1be699d0 100644 --- a/Frontend/lib/mih_services/mih_user_services.dart +++ b/Frontend/lib/mih_services/mih_user_services.dart @@ -1,5 +1,6 @@ import 'dart:convert'; +import 'package:mzansi_innovation_hub/mih_components/mih_objects/app_user.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_error_message.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; @@ -29,6 +30,45 @@ class MihUserApis { } } + Future updateUser( + AppUser signedInUser, + String firstName, + String lastName, + String username, + String profilePicture, + bool isBusinessUser, + BuildContext context, + ) async { + var fileName = profilePicture.replaceAll(RegExp(r' '), '-'); + var filePath = + "${signedInUser.app_id}/profile_files/$fileName"; + String profileType; + if (isBusinessUser) { + profileType = "business"; + } else { + profileType = "personal"; + } + var response = await http.put( + Uri.parse("${AppEnviroment.baseApiUrl}/user/update/"), + headers: { + "Content-Type": "application/json; charset=UTF-8" + }, + body: jsonEncode({ + "idusers": signedInUser.idUser, + "username": username, + "fnam": firstName, + "lname": lastName, + "type": profileType, + "pro_pic_path": filePath, + }), + ); + if (response.statusCode == 200) { + return response.statusCode; + } else { + return response.statusCode; + } + } + static Future deleteAccount( String app_id, BuildContext context,