Skip to content

Commit d046402

Browse files
committed
Added method of the Reports.
1 parent 2a907f4 commit d046402

File tree

1 file changed

+146
-0
lines changed

1 file changed

+146
-0
lines changed

lib/woosignal.dart

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ library woosignal;
1515
// IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
1616
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1717

18+
import 'package:woosignal/models/response/reports.dart';
1819
import 'package:woosignal/networking/api_provider.dart';
1920
import 'package:woosignal/helpers/shared_pref.dart';
2021
import 'package:woosignal/models/response/products.dart';
@@ -708,4 +709,149 @@ class WooSignal {
708709
_printLog(payloadRsp.toString());
709710
return payloadRsp;
710711
}
712+
713+
// List all reports
714+
// This API helps you to list all the coupons that have been created.
715+
Future<List<Reports>> getReports() async {
716+
Map<String, dynamic> payload = {};
717+
718+
_printLog("Parameters: " + payload.toString());
719+
payload = _standardPayload("get", payload, "reports");
720+
721+
List<Reports> reports = [];
722+
await _apiProvider.post("/request", payload).then((json) {
723+
reports = (json as List).map((i) => Reports.fromJson(i)).toList();
724+
});
725+
_printLog(reports.toString());
726+
return reports;
727+
}
728+
729+
// Retrieve sales report
730+
// This API lets you retrieve and view a sales report.
731+
Future<List<SalesReports>> getSaleReports({
732+
String context,
733+
String period,
734+
String dateMin,
735+
String dateMax,
736+
}) async {
737+
Map<String, dynamic> payload = {};
738+
if (context != null) payload['code'] = context;
739+
if (period != null) payload['discount_type'] = period;
740+
if (dateMin != null) payload['amount'] = dateMin;
741+
if (dateMax != null) payload['individual_use'] = dateMax;
742+
_printLog("Parameters: " + payload.toString());
743+
payload = _standardPayload("get", payload, "reports/sales");
744+
745+
List<SalesReports> saleReports = [];
746+
await _apiProvider.post("/request", payload).then((json) {
747+
saleReports =
748+
(json as List).map((i) => SalesReports.fromJson(i)).toList();
749+
});
750+
_printLog(saleReports.toString());
751+
return saleReports;
752+
}
753+
754+
// Retrieve top sellers report
755+
// This API lets you retrieve and view a list of top sellers report.
756+
Future<List<TopSellerReport>> getTopSellerReports({
757+
String context,
758+
String period,
759+
String dateMin,
760+
String dateMax,
761+
}) async {
762+
Map<String, dynamic> payload = {};
763+
if (context != null) payload['code'] = context;
764+
if (period != null) payload['discount_type'] = period;
765+
if (dateMin != null) payload['amount'] = dateMin;
766+
if (dateMax != null) payload['individual_use'] = dateMax;
767+
_printLog("Parameters: " + payload.toString());
768+
payload = _standardPayload("get", payload, "reports/top_sellers");
769+
770+
List<TopSellerReport> topSellerReport = [];
771+
await _apiProvider.post("/request", payload).then((json) {
772+
topSellerReport =
773+
(json as List).map((i) => TopSellerReport.fromJson(i)).toList();
774+
});
775+
_printLog(topSellerReport.toString());
776+
return topSellerReport;
777+
}
778+
779+
// Retrieve coupons totals
780+
// This API lets you retrieve and view coupons totals report.
781+
Future<List<TotalReport>> getTotalCouponsReports() async {
782+
Map<String, dynamic> payload = {};
783+
_printLog("Parameters: " + payload.toString());
784+
payload = _standardPayload("get", payload, "reports/coupons/totals");
785+
786+
List<TotalReport> couponReport = [];
787+
await _apiProvider.post("/request", payload).then((json) {
788+
couponReport =
789+
(json as List).map((i) => TotalReport.fromJson(i)).toList();
790+
});
791+
_printLog(couponReport.toString());
792+
return couponReport;
793+
}
794+
795+
// Retrieve customers totals
796+
// This API lets you retrieve and view customers totals report.
797+
Future<List<TotalReport>> getTotalCustomerReports() async {
798+
Map<String, dynamic> payload = {};
799+
_printLog("Parameters: " + payload.toString());
800+
payload = _standardPayload("get", payload, "reports/customers/totals");
801+
802+
List<TotalReport> customerReport = [];
803+
await _apiProvider.post("/request", payload).then((json) {
804+
customerReport =
805+
(json as List).map((i) => TotalReport.fromJson(i)).toList();
806+
});
807+
_printLog(customerReport.toString());
808+
return customerReport;
809+
}
810+
811+
// Retrieve orders totals
812+
// This API lets you retrieve and view orders totals report.
813+
Future<List<TotalReport>> getTotalOrderReports() async {
814+
Map<String, dynamic> payload = {};
815+
_printLog("Parameters: " + payload.toString());
816+
payload = _standardPayload("get", payload, "reports/orders/totals");
817+
818+
List<TotalReport> orderReport = [];
819+
await _apiProvider.post("/request", payload).then((json) {
820+
orderReport = (json as List).map((i) => TotalReport.fromJson(i)).toList();
821+
});
822+
_printLog(orderReport.toString());
823+
return orderReport;
824+
}
825+
826+
// Retrieve products totals
827+
// This API lets you retrieve and view products totals report.
828+
Future<List<TotalReport>> getTotalProductReports() async {
829+
Map<String, dynamic> payload = {};
830+
_printLog("Parameters: " + payload.toString());
831+
payload = _standardPayload("get", payload, "reports/products/totals");
832+
833+
List<TotalReport> productReport = [];
834+
await _apiProvider.post("/request", payload).then((json) {
835+
productReport =
836+
(json as List).map((i) => TotalReport.fromJson(i)).toList();
837+
});
838+
_printLog(productReport.toString());
839+
return productReport;
840+
}
841+
842+
// Retrieve reviews totals
843+
// This API lets you retrieve and view reviews totals report.
844+
Future<List<TotalReport>> getTotalReviewReports() async {
845+
Map<String, dynamic> payload = {};
846+
_printLog("Parameters: " + payload.toString());
847+
payload = _standardPayload("get", payload, "reports/reviews/totals");
848+
849+
List<TotalReport> reviewReport = [];
850+
await _apiProvider.post("/request", payload).then((json) {
851+
reviewReport =
852+
(json as List).map((i) => TotalReport.fromJson(i)).toList();
853+
});
854+
_printLog(reviewReport.toString());
855+
return reviewReport;
856+
}
711857
}

0 commit comments

Comments
 (0)