749 lines
23 KiB
Dart
749 lines
23 KiB
Dart
import 'package:file_picker/file_picker.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:http/http.dart' as http;
|
|
import 'package:nhance_partner/data/services/auth_service.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
import 'dart:convert';
|
|
import '../../data/utils/toastNotification.dart';
|
|
import '../config/env.dart';
|
|
import 'package:universal_html/html.dart' as html;
|
|
import 'package:http/http.dart' as http;
|
|
|
|
class ApiService {
|
|
late final BuildContext context;
|
|
|
|
String? _token;
|
|
|
|
Future<void> _initializeToken() async {
|
|
_token = await AuthService.getToken();
|
|
print("APISERTOKEN - $_token");
|
|
}
|
|
|
|
Future<void> _clearLocalStorageAndRedirect() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.clear();
|
|
// Assuming you have access to the context
|
|
ToastHelper.showErrorToast(context, 'Session Out');
|
|
Navigator.pushNamed(context, 'login');
|
|
}
|
|
|
|
Future<Map<String, dynamic>> _makeGetRequest(
|
|
Uri url,
|
|
Map<String, String> headers,
|
|
) async {
|
|
final response = await http.get(url, headers: headers);
|
|
return _handleResponse(response);
|
|
}
|
|
|
|
// Future<Map<String, dynamic>> _makePostRequest(
|
|
// Uri url, Map<String, String> body, Map<String, String> headers) async {
|
|
// final response = await http.post(url, headers: headers, body: body);
|
|
// return _handleResponse(response);
|
|
// }
|
|
//
|
|
// Future<Map<String, dynamic>> _handleResponse(http.Response response) async {
|
|
// if (response.statusCode == 200) {
|
|
// return jsonDecode(response.body);
|
|
// } else if (response.statusCode == 401) {
|
|
// await _clearLocalStorageAndRedirect();
|
|
// return {};
|
|
// } else {
|
|
// throw Exception('Failed to load data');
|
|
// }
|
|
// }
|
|
|
|
Future<http.Response> _makeGethttpRequest(
|
|
Uri url,
|
|
Map<String, String> headers,
|
|
) async {
|
|
final response = await http.get(url, headers: headers);
|
|
|
|
if (response.statusCode == 200) {
|
|
return response; // return full http.Response, not Map
|
|
} else {
|
|
throw Exception('Failed request: ${response.statusCode}');
|
|
}
|
|
}
|
|
|
|
Future<Map<String, dynamic>> _makePostRequestJson(
|
|
Uri url,
|
|
Map<String, dynamic> body,
|
|
Map<String, String> headers,
|
|
) async {
|
|
final response = await http.post(
|
|
url,
|
|
headers: headers,
|
|
body: jsonEncode(body), // ✅ convert to JSON
|
|
);
|
|
return _handleResponse(response);
|
|
}
|
|
// --------------------------- COMMON FILES __________________________________________
|
|
|
|
Future<Map<String, dynamic>> _handleResponse(http.Response response) async {
|
|
if (response.statusCode == 200) {
|
|
return jsonDecode(response.body);
|
|
} else if (response.statusCode == 401) {
|
|
await _clearLocalStorageAndRedirect();
|
|
return {};
|
|
} else {
|
|
throw Exception('Failed to load data');
|
|
}
|
|
}
|
|
|
|
Future<void> getPdfDownload1(path, id) async {
|
|
// final url = Uri.parse(
|
|
// 'https://venbait.in/nhance/partner/dev/api/agent/downloadAgentCertificateFile?agent_id=1',
|
|
// );
|
|
|
|
print('GetDownload');
|
|
final url = Uri.parse('https://venbait.in/nhance/partner/dev/$path');
|
|
print('GetDownload - $url');
|
|
await _initializeToken();
|
|
|
|
if (_token == null) {
|
|
throw Exception('Token not found. Please log in.');
|
|
}
|
|
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGethttpRequest(url, headers);
|
|
|
|
if (response.statusCode == 200) {
|
|
try {
|
|
print("PDf Dowloaded");
|
|
|
|
// Create a blob from the response body
|
|
final blob = html.Blob([response.bodyBytes]);
|
|
|
|
// Generate a download URL for the blob
|
|
final url = html.Url.createObjectUrlFromBlob(blob);
|
|
|
|
// Create a link element to trigger the download
|
|
final anchor = html.AnchorElement(href: url)
|
|
..setAttribute('download', 'nhancePartner_$id.pdf')
|
|
..click();
|
|
|
|
// Revoke the download URL to free up resources
|
|
html.Url.revokeObjectUrl(url);
|
|
} catch (e) {
|
|
throw Exception('Error parsing response: $e');
|
|
}
|
|
} else if (response.statusCode == 404) {
|
|
showDialog(
|
|
context: context,
|
|
builder: (BuildContext context) {
|
|
return AlertDialog(
|
|
title: Text('File not found.'),
|
|
// content: Text('File not found.'),
|
|
actions: [
|
|
TextButton(
|
|
child: Text('OK'),
|
|
onPressed: () {
|
|
Navigator.of(context).pop(); // Close the dialog
|
|
},
|
|
),
|
|
],
|
|
);
|
|
},
|
|
);
|
|
} else {
|
|
throw Exception('Failed to load plans');
|
|
}
|
|
}
|
|
|
|
Future<void> getPdfDownload(String path, String id) async {
|
|
print('getPdfDownload 1');
|
|
print('getPdfDownload 1 - $path');
|
|
|
|
if (path.isEmpty) {
|
|
ToastHelper.showInfoToast(context, 'No file path found.');
|
|
return;
|
|
}
|
|
final url = Uri.parse('https://venbait.in/nhance/partner/dev/$path');
|
|
|
|
await _initializeToken();
|
|
print('getPdfDownload 2');
|
|
if (_token == null) throw Exception('Token not found. Please log in.');
|
|
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
|
|
final response = await _makeGethttpRequest(url, headers);
|
|
print('getPdfDownload 3');
|
|
if (response.statusCode == 200) {
|
|
final blob = html.Blob([response.bodyBytes]);
|
|
final blobUrl = html.Url.createObjectUrlFromBlob(blob);
|
|
print('getPdfDownload $blobUrl');
|
|
// --- filename resolution ---
|
|
String fileName = 'download_$id';
|
|
print('getPdfDownloadfileName $fileName');
|
|
final contentDisp = response.headers['content-disposition'];
|
|
print('getPdfDownloadcontentDisp $contentDisp');
|
|
if (contentDisp != null && contentDisp.contains('filename=')) {
|
|
print('getPdfDownloadcontentDisp..1');
|
|
fileName = contentDisp.split('filename=')[1].replaceAll('"', '');
|
|
print('getPdfDownloadcontentDisp..2');
|
|
} else {
|
|
print('getPdfDownloadcontentDisp..3');
|
|
// fallback: URL or id
|
|
fileName = path.split('/').last;
|
|
if (id != null) fileName = '${id}_$fileName';
|
|
}
|
|
final anchor = html.AnchorElement(href: blobUrl)
|
|
..setAttribute('download', fileName)
|
|
..click();
|
|
print('getPdfDownloadcontentDisp..4');
|
|
html.Url.revokeObjectUrl(blobUrl);
|
|
} else if (response.statusCode == 404) {
|
|
showDialog(
|
|
context: context,
|
|
builder: (context) => AlertDialog(
|
|
title: const Text('File not found.'),
|
|
actions: [
|
|
TextButton(
|
|
child: const Text('OK'),
|
|
onPressed: () => Navigator.of(context).pop(),
|
|
),
|
|
],
|
|
),
|
|
);
|
|
} else if (response.statusCode == 500) {
|
|
ToastHelper.showInfoToast(context, 'No File Not Found');
|
|
} else {
|
|
ToastHelper.showInfoToast(context, 'No File Not Found');
|
|
throw Exception('Failed to download file');
|
|
}
|
|
}
|
|
|
|
Future<void> downloadFile({
|
|
required String? apiUrl,
|
|
required PlatformFile? localFile,
|
|
required String? fileName,
|
|
String? apiId, // optional if your API needs it
|
|
}) async {
|
|
try {
|
|
if (localFile != null) {
|
|
if (kIsWeb) {
|
|
final blob = html.Blob([localFile.bytes!]);
|
|
final url = html.Url.createObjectUrlFromBlob(blob);
|
|
|
|
final anchor = html.AnchorElement(href: url)
|
|
..setAttribute('download', localFile.name)
|
|
..click();
|
|
|
|
html.Url.revokeObjectUrl(url);
|
|
print("Download triggered successfully (web)!");
|
|
} else {
|
|
print("Local file path: ${localFile.path}");
|
|
// await OpenFilex.open(localFile.path!);
|
|
}
|
|
} else if (apiUrl != null) {
|
|
print("Download from API: $apiUrl");
|
|
print("Download from API: $apiId!");
|
|
await getPdfDownload(apiUrl, apiId!);
|
|
} else {
|
|
print("⚠️ No file available to download");
|
|
}
|
|
} catch (e) {
|
|
print("Error during download: $e");
|
|
}
|
|
}
|
|
|
|
Future<Map<String, dynamic>> updateStatus(id, status, role) async {
|
|
final Map<String, dynamic> data = {
|
|
"id": int.parse(id),
|
|
"is_active": int.parse(status),
|
|
};
|
|
final url;
|
|
|
|
if (role == 'staff') {
|
|
url = Uri.parse(
|
|
'https://venbait.in/nhance/partner/dev/api/staff/changeStaffStatus',
|
|
);
|
|
} else {
|
|
url = Uri.parse(
|
|
'https://venbait.in/nhance/partner/dev/api/agent/changeAgentStatus',
|
|
);
|
|
}
|
|
|
|
// final token = await getToken(); // Fetch token
|
|
|
|
if (_token == null) {
|
|
throw Exception('Token not found. Please log in.');
|
|
}
|
|
|
|
print("data------- $data}");
|
|
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token',
|
|
'Content-Type': 'application/json',
|
|
'app-signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
|
|
final response = await _makePostRequestJson(url, data, headers);
|
|
return response;
|
|
}
|
|
|
|
// ----------------------------------- Dashboard -------------------------------------------------
|
|
Future<Map<String, dynamic>> fetchDashboard(int id, role) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
|
|
final url;
|
|
|
|
if (role == 'manager') {
|
|
url = Uri.parse('${Env.apiUrl}dashboard/managerDashboard?manager_id=$id');
|
|
} else if (role == 'staff') {
|
|
url = Uri.parse('${Env.apiUrl}dashboard/staffDashboard?staff_id=$id');
|
|
} else {
|
|
url = Uri.parse('${Env.apiUrl}dashboard/agentDashboard?agent_id=$id');
|
|
}
|
|
// final url = Uri.parse(
|
|
// 'https://venbait.in/nhance/partner/dev/api/agent/agentList?manager_id=${managerId}',
|
|
// );
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
// -------------------------------- AGENT ----------------------------------------------
|
|
|
|
Future<Map<String, dynamic>> fetchAgentIncentiveList(agentId) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
|
|
final url = Uri.parse(
|
|
'${Env.apiUrl}agent/agentIncentiveFileList?agent_id=${agentId}',
|
|
);
|
|
|
|
// final url = Uri.parse(
|
|
// 'https://venbait.in/nhance/partner/dev/api/agent/agentIncentiveFileList?agent_id=${agentId}',
|
|
// );
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> fetchManagerIncentiveList(mangerId) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
|
|
final url = Uri.parse(
|
|
'${Env.apiUrl}staff/managerIncentiveFileList?manager_id=$mangerId',
|
|
);
|
|
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> fetchAgentUserList(int managerId) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
|
|
final userId = '1';
|
|
final url = Uri.parse(
|
|
'${Env.apiUrl}agent/agentList?manager_id=${managerId}',
|
|
);
|
|
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> findSingleAgentData(id) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
// final url = Uri.parse('${Env.apiUrl}/api/agent/agentList');
|
|
// final url = Uri.parse(
|
|
// 'https://venbait.in/nhance/partner/dev/api/agent/findAgent?id=$id',
|
|
// );
|
|
|
|
final url = Uri.parse('${Env.apiUrl}agent/findAgent?id=$id');
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> deleteAgentIncentiveFile(id) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
// final url = Uri.parse('${Env.apiUrl}/api/agent/agentList');
|
|
// final url = Uri.parse(
|
|
// 'https://venbait.in/nhance/partner/dev/api/agent/deleteAgentIncentiveFile?id=$id',
|
|
// );
|
|
|
|
final url = Uri.parse('${Env.apiUrl}agent/deleteAgentIncentiveFile?id=$id');
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
// ------------------------------------ STAFF -----------------------------------------------------
|
|
|
|
Future<Map<String, dynamic>> fetchStaffUserList(int managerId) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
|
|
// final url = Uri.parse(
|
|
// 'https://venbait.in/nhance/partner/dev/api/staff/staffList?manager_id=${managerId}',
|
|
// );
|
|
|
|
final url = Uri.parse(
|
|
'${Env.apiUrl}staff/staffList?manager_id=${managerId}',
|
|
);
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> findSingleStaffData(id) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
// final url = Uri.parse('${Env.apiUrl}/api/staff/findStaff?id=$id');
|
|
// final url = Uri.parse(
|
|
// 'https://venbait.in/nhance/partner/dev/api/staff/findStaff?id=$id',
|
|
// );
|
|
|
|
final url = Uri.parse('${Env.apiUrl}staff/findStaff?id=$id');
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
// ----------------------------------- ENQUIRY -------------------------------------------------
|
|
|
|
Future<Map<String, dynamic>> fetchEnquiryList(int id, role) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
|
|
final url;
|
|
|
|
if (role == 'manager') {
|
|
url = Uri.parse('${Env.apiUrl}enquiry/enquiryList?manager_id=$id');
|
|
} else if (role == 'staff') {
|
|
url = Uri.parse('${Env.apiUrl}enquiry/enquiryList?staff_id=$id');
|
|
} else {
|
|
url = Uri.parse('${Env.apiUrl}enquiry/enquiryList?agent_id=$id');
|
|
}
|
|
// final url = Uri.parse(
|
|
// 'https://venbait.in/nhance/partner/dev/api/agent/agentList?manager_id=${managerId}',
|
|
// );
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> findSingleEnquiryData(id) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
final url = Uri.parse('${Env.apiUrl}enquiry/enquiryList?enquiry_id=$id');
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> findEnqQuotePolicyView(id) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
final url = Uri.parse(
|
|
'${Env.apiUrl}enquiry/enquiryQuotePolicyView?enquiry_id=$id',
|
|
);
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
//------------------------------------ Quotation ------------------------------------------------
|
|
|
|
Future<Map<String, dynamic>> fetchQuotationList(int managerId) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
|
|
// final url = Uri.parse(
|
|
// 'https://venbait.in/nhance/partner/dev/api/staff/staffList?manager_id=${managerId}',
|
|
// );
|
|
|
|
final url = Uri.parse(
|
|
'${Env.apiUrl}quotation/quotationList?manager_id=${managerId}',
|
|
);
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> findSingleQuotationData(id) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
final url = Uri.parse('${Env.apiUrl}quotation/findQuotation?id=$id');
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
// ----------------------------------- POLICY -------------------------------------------------
|
|
|
|
Future<Map<String, dynamic>> fetchPolicyList(int id, role) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
|
|
final userId = '1';
|
|
final url;
|
|
|
|
if (role == 'manager') {
|
|
url = Uri.parse('${Env.apiUrl}enquiry/enquiryList?manager_id=$id');
|
|
} else {
|
|
url = Uri.parse('${Env.apiUrl}enquiry/enquiryList?staff_id=$id');
|
|
}
|
|
// else {
|
|
// url = Uri.parse('${Env.apiUrl}endorsement/endorsementList?agent_id=$id');
|
|
// }
|
|
// final url = Uri.parse(
|
|
// 'https://venbait.in/nhance/partner/dev/api/agent/agentList?manager_id=${managerId}',
|
|
// );
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> fetchPolicyDataOnlyList(int id, role) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
|
|
final userId = '1';
|
|
final url;
|
|
|
|
if (role == 'manager') {
|
|
url = Uri.parse(
|
|
'${Env.apiUrl}enquiry/enquiryList?manager_id=$id&only_policy_data=true',
|
|
);
|
|
} else {
|
|
url = Uri.parse(
|
|
'${Env.apiUrl}enquiry/enquiryList?staff_id=$id&only_policy_data=true',
|
|
);
|
|
}
|
|
// else {
|
|
// url = Uri.parse('${Env.apiUrl}endorsement/endorsementList?agent_id=$id');
|
|
// }
|
|
// final url = Uri.parse(
|
|
// 'https://venbait.in/nhance/partner/dev/api/agent/agentList?manager_id=${managerId}',
|
|
// );
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
// ----------------------------------- CLAIMS -------------------------------------------------
|
|
|
|
Future<Map<String, dynamic>> fetchClaimList(int id, role) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
|
|
final userId = '1';
|
|
final url;
|
|
|
|
if (role == 'manager') {
|
|
url = Uri.parse('${Env.apiUrl}claim/ClaimList?manager_id=$id');
|
|
}
|
|
// else if (role == 'staff') {
|
|
// url = Uri.parse('${Env.apiUrl}enquiry/enquiryList?staff_id=$id');
|
|
// }
|
|
else {
|
|
url = Uri.parse('${Env.apiUrl}claim/ClaimList?agent_id=$id');
|
|
}
|
|
// final url = Uri.parse(
|
|
// 'https://venbait.in/nhance/partner/dev/api/agent/agentList?manager_id=${managerId}',
|
|
// );
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> findSingleClaimData(id) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
final url = Uri.parse('${Env.apiUrl}claim/ClaimList?policy_number=$id');
|
|
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
// ----------------------------------- ENDORSEMENT -------------------------------------------------
|
|
|
|
Future<Map<String, dynamic>> fetchEndorsementList(int id, role) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
|
|
final userId = '1';
|
|
final url;
|
|
|
|
if (role == 'manager') {
|
|
url = Uri.parse(
|
|
'${Env.apiUrl}endorsement/endorsementList?manager_id=$id',
|
|
);
|
|
}
|
|
// else if (role == 'staff') {
|
|
// url = Uri.parse('${Env.apiUrl}enquiry/enquiryList?staff_id=$id');
|
|
// }
|
|
else {
|
|
url = Uri.parse('${Env.apiUrl}endorsement/endorsementList?agent_id=$id');
|
|
}
|
|
// final url = Uri.parse(
|
|
// 'https://venbait.in/nhance/partner/dev/api/agent/agentList?manager_id=${managerId}',
|
|
// );
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> findSingleEnrosmentData(id) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
final url = Uri.parse(
|
|
'${Env.apiUrl}endorsement/endorsementList?policy_number=$id',
|
|
);
|
|
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
|
|
// --------------------------------- MASTER DATA ----------------------------------------------
|
|
|
|
Future<Map<String, dynamic>> fetchMasterDropDown(String val) async {
|
|
// print(_token);
|
|
if (_token == null) {
|
|
await _initializeToken();
|
|
}
|
|
|
|
print('VAl - $val');
|
|
|
|
dynamic url;
|
|
|
|
if (val == 'staffRole') {
|
|
url = Uri.parse('${Env.apiUrl}master/getRoleMaster');
|
|
} else if (val == 'vehicleType') {
|
|
url = Uri.parse('${Env.apiUrl}master/getVehicleTypeMaster');
|
|
} else if (val == 'InsuranceType') {
|
|
url = Uri.parse('${Env.apiUrl}master/getInsurancePlanTypeMaster');
|
|
} else if (val == 'Insurers') {
|
|
url = Uri.parse('${Env.apiUrl}master/getInsurersMaster');
|
|
} else if (val == 'Staffs') {
|
|
url = Uri.parse('${Env.apiUrl}master/getStaffMaster');
|
|
} else if (val == 'Claim') {
|
|
url = Uri.parse('${Env.apiUrl}master/getClaimMaster');
|
|
} else if (val == 'Endorsement') {
|
|
url = Uri.parse('${Env.apiUrl}master/getEndorsementMaster');
|
|
}
|
|
|
|
final headers = {
|
|
'Authorization': 'Bearer $_token' ?? '',
|
|
'App-Signature': 'nhance-partner-2025-signature-35468846JRhH551HK',
|
|
};
|
|
final response = await _makeGetRequest(url, headers);
|
|
return response;
|
|
}
|
|
}
|