diff --git a/client/warehouse.go b/client/warehouse.go index fb391ca..52c08db 100644 --- a/client/warehouse.go +++ b/client/warehouse.go @@ -182,3 +182,23 @@ func (w Warehouse) UpdateORDeliveryStatus(p model.WarehouseORUpdateDeliveryStatu } return nil } + +// UpdatePendingActiveProductByWarehouseIDs ... +func (w Warehouse) UpdatePendingActiveProductByWarehouseIDs(p model.UpdatePendingActiveProductRequest) error { + msg, err := natsio.GetServer().Request(subject.Warehouse.UpdatePendingActiveProductByWarehouseIDs, toBytes(p)) + if err != nil { + return err + } + + var r struct { + Error string `json:"error"` + } + + if err = json.Unmarshal(msg.Data, &r); err != nil { + return fmt.Errorf("nats: update_pending_active_product_by_warehouse_ids %v", err) + } + if r.Error != "" { + return errors.New(r.Error) + } + return nil +} diff --git a/model/warehouse_request.go b/model/warehouse_request.go index 56adb1b..66518d7 100644 --- a/model/warehouse_request.go +++ b/model/warehouse_request.go @@ -114,3 +114,8 @@ type WarehouseORUpdateDeliveryStatus struct { OrderID string `json:"orderId"` DeliveryStatus string `json:"deliveryStatus"` } + +// UpdatePendingActiveProductRequest ... +type UpdatePendingActiveProductRequest struct { + WarehouseIDs []string `json:"warehouseIDs"` +} diff --git a/subject/warehouse.go b/subject/warehouse.go index e92ee4e..3200ee1 100644 --- a/subject/warehouse.go +++ b/subject/warehouse.go @@ -1,6 +1,8 @@ package subject -import "fmt" +import ( + "fmt" +) func getWarehouseValue(val string) string { return fmt.Sprintf("%s.%s", prefixes.Warehouse, val) @@ -28,6 +30,7 @@ var Warehouse = struct { UpdateIsClosedSupplier string GetWarehouses string UpdateORDeliveryStatus string + UpdatePendingActiveProductByWarehouseIDs string }{ SyncWarehouseIntoServiceSupplier: getWarehouseValue("sync_warehouse_into_service_supplier"), CreateWarehouseIntoServiceSupplier: getWarehouseValue("create_warehouse_into_service_supplier"), @@ -50,4 +53,5 @@ var Warehouse = struct { UpdateIsClosedSupplier: getWarehouseValue("update_is_closed_supplier"), GetWarehouses: getWarehouseValue("get_warehouses"), UpdateORDeliveryStatus: getWarehouseValue("update_or_delivery_status"), + UpdatePendingActiveProductByWarehouseIDs: getWarehouseValue("update_pending_active_product_by_warehouse_ids"), }