2025-12-03 11:57:05 +05:30
|
|
|
import 'package:dio/dio.dart';
|
|
|
|
|
|
|
|
|
|
class InvoiceService {
|
|
|
|
|
final Dio dio;
|
|
|
|
|
InvoiceService(this.dio);
|
|
|
|
|
|
2025-12-11 18:36:11 +05:30
|
|
|
// -------------------------------------------------------
|
|
|
|
|
// ⭐ GET ALL INVOICES
|
|
|
|
|
// -------------------------------------------------------
|
2025-12-03 11:57:05 +05:30
|
|
|
Future<Map<String, dynamic>> getAllInvoices() async {
|
|
|
|
|
try {
|
|
|
|
|
final res = await dio.get("/user/invoices");
|
2025-12-11 18:36:11 +05:30
|
|
|
|
|
|
|
|
print("🔵 ALL INVOICES RESPONSE:");
|
|
|
|
|
print(res.data);
|
|
|
|
|
|
2025-12-03 11:57:05 +05:30
|
|
|
return Map<String, dynamic>.from(res.data);
|
|
|
|
|
} catch (e) {
|
2025-12-11 18:36:11 +05:30
|
|
|
print("❌ ERROR (All Invoices): $e");
|
2025-12-03 11:57:05 +05:30
|
|
|
return {"success": false, "message": e.toString()};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-11 18:36:11 +05:30
|
|
|
// -------------------------------------------------------
|
|
|
|
|
// ⭐ GET INSTALLMENTS
|
|
|
|
|
// -------------------------------------------------------
|
2025-12-03 11:57:05 +05:30
|
|
|
Future<Map<String, dynamic>> getInstallments(int invoiceId) async {
|
|
|
|
|
try {
|
2025-12-11 18:36:11 +05:30
|
|
|
final res =
|
|
|
|
|
await dio.get("/user/invoice/$invoiceId/installments");
|
|
|
|
|
|
|
|
|
|
print("🔵 INSTALLMENTS RESPONSE:");
|
|
|
|
|
print(res.data);
|
|
|
|
|
|
2025-12-03 11:57:05 +05:30
|
|
|
return Map<String, dynamic>.from(res.data);
|
|
|
|
|
} catch (e) {
|
2025-12-11 18:36:11 +05:30
|
|
|
print("❌ ERROR (Installments): $e");
|
2025-12-03 11:57:05 +05:30
|
|
|
return {"success": false, "message": e.toString()};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-11 18:36:11 +05:30
|
|
|
// -------------------------------------------------------
|
|
|
|
|
// ⭐ GET FULL INVOICE DETAILS (PRINT JSON HERE)
|
|
|
|
|
// -------------------------------------------------------
|
2025-12-03 11:57:05 +05:30
|
|
|
Future<Map<String, dynamic>> getInvoiceDetails(int invoiceId) async {
|
|
|
|
|
try {
|
|
|
|
|
final res = await dio.get("/user/invoice/$invoiceId/details");
|
2025-12-11 18:36:11 +05:30
|
|
|
|
|
|
|
|
print("👇👇👇 INVOICE API RESPONSE START 👇👇👇");
|
|
|
|
|
print(res.data); // <-- THIS IS WHAT YOU NEED
|
|
|
|
|
print("👆👆👆 INVOICE API RESPONSE END 👆👆👆");
|
|
|
|
|
|
2025-12-03 11:57:05 +05:30
|
|
|
return Map<String, dynamic>.from(res.data);
|
|
|
|
|
} catch (e) {
|
2025-12-11 18:36:11 +05:30
|
|
|
print("❌ ERROR (Invoice Details): $e");
|
2025-12-03 11:57:05 +05:30
|
|
|
return {"success": false, "message": e.toString()};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|