add user search to user service

This commit is contained in:
2025-07-09 12:02:33 +02:00
parent 1aa45eccad
commit a47f23c764
2 changed files with 35 additions and 17 deletions

View File

@@ -1,16 +1,13 @@
import 'dart:convert';
import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_single_child_scroll.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_search_bar.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_search_bar.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; import 'package:mzansi_innovation_hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:mzansi_innovation_hub/mih_config/mih_env.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_objects/app_user.dart'; 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_objects/arguments.dart';
import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/builders/build_user_list.dart'; import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/builders/build_user_list.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:mzansi_innovation_hub/mih_services/mih_user_services.dart';
import 'package:supertokens_flutter/http.dart' as http;
class MihBusinessUserSearch extends StatefulWidget { class MihBusinessUserSearch extends StatefulWidget {
final BusinessArguments arguments; final BusinessArguments arguments;
@@ -33,18 +30,19 @@ class _MihBusinessUserSearchState extends State<MihBusinessUserSearch> {
String errorBody = ""; String errorBody = "";
Future<List<AppUser>> fetchUsers(String search) async { Future<List<AppUser>> fetchUsers(String search) async {
final response = await http return MihUserServices().searchUsers(search, context);
.get(Uri.parse("${AppEnviroment.baseApiUrl}/users/search/$search")); // final response = await http
errorCode = response.statusCode.toString(); // .get(Uri.parse("${AppEnviroment.baseApiUrl}/users/search/$search"));
errorBody = response.body; // errorCode = response.statusCode.toString();
if (response.statusCode == 200) { // errorBody = response.body;
Iterable l = jsonDecode(response.body); // if (response.statusCode == 200) {
List<AppUser> users = // Iterable l = jsonDecode(response.body);
List<AppUser>.from(l.map((model) => AppUser.fromJson(model))); // List<AppUser> users =
return users; // List<AppUser>.from(l.map((model) => AppUser.fromJson(model)));
} else { // return users;
throw Exception('failed to load patients'); // } else {
} // throw Exception('failed to load patients');
// }
} }
void submitUserForm() { void submitUserForm() {
@@ -142,7 +140,7 @@ class _MihBusinessUserSearchState extends State<MihBusinessUserSearch> {
} else { } else {
return Center( return Center(
child: Text( child: Text(
"$errorCode: Error pulling Patients Data\n/patients/search/$userSearch\n$errorBody", "$errorCode: Error pulling Patients Data\n/users/search/$userSearch\n$errorBody",
style: TextStyle( style: TextStyle(
fontSize: 25, fontSize: 25,
color: color:

View File

@@ -63,6 +63,26 @@ class MihUserServices {
} }
} }
Future<List<AppUser>> searchUsers(
String searchText,
BuildContext context,
) async {
var response = await http.get(
Uri.parse("${AppEnviroment.baseApiUrl}/users/search/$searchText"),
headers: <String, String>{
"Content-Type": "application/json; charset=UTF-8"
},
);
if (response.statusCode == 200) {
Iterable l = jsonDecode(response.body);
List<AppUser> users =
List<AppUser>.from(l.map((model) => AppUser.fromJson(model)));
return users;
} else {
throw Exception('failed to load users');
}
}
Future<AppUser?> getUserDetails( Future<AppUser?> getUserDetails(
String app_id, String app_id,
BuildContext context, BuildContext context,