@@ -15,6 +15,8 @@ library woosignal;
1515// IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
1616// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1717
18+ import 'package:flutter/cupertino.dart' ;
19+ import 'package:woosignal/models/response/order_notes.dart' ;
1820import 'package:woosignal/networking/api_provider.dart' ;
1921import 'package:woosignal/helpers/shared_pref.dart' ;
2022import 'package:woosignal/models/response/products.dart' ;
@@ -154,16 +156,15 @@ class WooSignal {
154156 }
155157
156158 /// https://woosignal.com/docs/api/1.0/products#retrive-a-product-api-call
157- Future <Product > retrieveProduct (
158- {int id}) async {
159+ Future <Product > retrieveProduct ({int id}) async {
159160 Map <String , dynamic > payload = {};
160161
161162 _printLog ("Parameters: " + payload.toString ());
162163 payload = _standardPayload ("get" , payload, "products/${id .toString ()}" );
163164
164165 Product product;
165166 await _apiProvider.post ("/request" , payload).then ((json) {
166- product = Product .fromJson (json);
167+ product = Product .fromJson (json);
167168 });
168169 _printLog (product.toString ());
169170 return product;
@@ -709,4 +710,84 @@ class WooSignal {
709710 _printLog (payloadRsp.toString ());
710711 return payloadRsp;
711712 }
713+
714+ // Retrieve an order note
715+ // This API lets you retrieve and view a specific note from an order
716+ Future <OrderNote > retrieveOrderNote ({
717+ @required int orderId,
718+ @required int noteId,
719+ }) async {
720+ Map <String , dynamic > payload = {};
721+ _printLog ("Parameters: " + payload.toString ());
722+ payload = _standardPayload ("get" , payload,
723+ "orders/${orderId .toString ()}/notes/${noteId .toString ()}" );
724+
725+ OrderNote orderNote;
726+ await _apiProvider.post ("/request" , payload).then ((json) {
727+ orderNote = OrderNote .fromJson (json);
728+ });
729+ _printLog (orderNote.toString ());
730+ return orderNote;
731+ }
732+
733+ // https://woocommerce.github.io/woocommerce-rest-api-docs/?php#list-all-order-notes
734+ // List All order notes
735+ // This API helps you to view all the notes from an order.
736+ Future <List <OrderNote >> getOrderNotes ({
737+ @required int orderId,
738+ String context,
739+ String type,
740+ }) async {
741+ Map <String , dynamic > payload = {};
742+ if (type != null ) payload["type" ] = type;
743+
744+ _printLog ("Parameters: " + payload.toString ());
745+ payload =
746+ _standardPayload ("get" , payload, "orders/${orderId .toString ()}/notes" );
747+
748+ List <OrderNote > orderNotes = [];
749+ await _apiProvider.post ("/request" , payload).then ((json) {
750+ orderNotes = (json as List ).map ((i) => OrderNote .fromJson (i)).toList ();
751+ });
752+ _printLog (orderNotes.toString ());
753+ return orderNotes;
754+ }
755+
756+ // Create an order note
757+ // This API helps you to create a new note for an order.
758+ Future <OrderNote > createOrderNote ({
759+ @required int id,
760+ Map <String , dynamic > data,
761+ }) async {
762+ Map <String , dynamic > payload = {};
763+ if (data != null ) payload['data' ] = data;
764+ _printLog (payload.toString ());
765+ payload =
766+ _standardPayload ("post" , payload, "orders/${id .toString ()}/notes" );
767+ OrderNote orderNote;
768+ await _apiProvider.post ("/request" , payload).then ((json) {
769+ orderNote = OrderNote .fromJson (json);
770+ });
771+ _printLog (orderNote.toString ());
772+ return orderNote;
773+ }
774+
775+ // Delete an order note
776+ // This API helps you delete an order note.
777+ Future <OrderNote > deleteOrder (int orderId, int noteId,
778+ {@required Map <String , dynamic > data}) async {
779+ Map <String , dynamic > payload = data;
780+
781+ _printLog (payload.toString ());
782+ // There is the usage of + instead of ${} if error Occurs
783+ payload = _standardPayload ("delete" , payload,
784+ "orders/${orderId .toString ()}/notes/${noteId .toString ()}" );
785+
786+ OrderNote orderNote;
787+ await _apiProvider.post ("/request" , payload).then ((json) {
788+ orderNote = OrderNote .fromJson (json);
789+ });
790+ _printLog (orderNote.toString ());
791+ return orderNote;
792+ }
712793}
0 commit comments