@@ -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' ;
1819import 'package:woosignal/networking/api_provider.dart' ;
1920import 'package:woosignal/helpers/shared_pref.dart' ;
2021import '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