diff --git a/client/news.go b/client/news.go new file mode 100644 index 0000000..6bacf54 --- /dev/null +++ b/client/news.go @@ -0,0 +1,36 @@ +package client + +import ( + "encoding/json" + "errors" + "github.com/Selly-Modules/natsio" + "github.com/Selly-Modules/natsio/model" + "github.com/Selly-Modules/natsio/subject" +) + +// News ... +type News struct{} + +// GetNews ... +func GetNews() News { + return News{} +} + +// GetProductNoticesByInventory ... +func (n News) GetProductNoticesByInventory(p model.GetProductNoticesByInventoryRequest) (*model.GetProductNoticesByInventoryResponse, error) { + msg, err := natsio.GetServer().Request(subject.News.GetProductNoticesByInventory, toBytes(p)) + if err != nil { + return nil, err + } + var r struct { + Data *model.GetProductNoticesByInventoryResponse `json:"data"` + Error string `json:"error"` + } + if err = json.Unmarshal(msg.Data, &r); err != nil { + return nil, err + } + if r.Error != "" { + return nil, errors.New(r.Error) + } + return r.Data, nil +} diff --git a/client/warehouse.go b/client/warehouse.go index fdb70b8..6c04925 100644 --- a/client/warehouse.go +++ b/client/warehouse.go @@ -17,24 +17,6 @@ func GetWarehouse() Warehouse { return Warehouse{} } -// UpdateIsClosedSupplier ... -func (w Warehouse) UpdateIsClosedSupplier(p model.UpdateSupplierIsClosedRequest) error { - msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateIsClosedSupplier, toBytes(p)) - if err != nil { - return err - } - var r struct { - Error string `json:"error"` - } - if err = json.Unmarshal(msg.Data, &r); err != nil { - return err - } - if r.Error != "" { - return errors.New(r.Error) - } - return nil -} - // AfterCreateWarehouse ... func (w Warehouse) AfterCreateWarehouse(p model.WarehouseNatsResponse) error { msg, err := natsio.GetServer().Request(subject.Warehouse.AfterCreateWarehouse, toBytes(p)) diff --git a/model/news_request.go b/model/news_request.go new file mode 100644 index 0000000..fb886e3 --- /dev/null +++ b/model/news_request.go @@ -0,0 +1,6 @@ +package model + +// GetProductNoticesByInventoryRequest .... +type GetProductNoticesByInventoryRequest struct { + InventoryIds []string `json:"inventoryIds"` +} diff --git a/model/news_response.go b/model/news_response.go new file mode 100644 index 0000000..4b496c4 --- /dev/null +++ b/model/news_response.go @@ -0,0 +1,38 @@ +package model + +// GetProductNoticesByInventoryResponse .... +type GetProductNoticesByInventoryResponse struct { + Notices []NewsAppResponse `json:"notices"` +} + +// NewsAppResponse ... +type NewsAppResponse struct { + ID string `json:"_id"` + Title string `json:"title,omitempty"` + Target *TargetNewDoc `json:"target,omitempty"` + ActionType *ActionType `json:"action"` + ShortDesc string `json:"shortDesc,omitempty"` + Type string `json:"type"` + ShortTitle string `json:"shortTitle,omitempty"` + Color string `json:"color"` + Options *NewsOptions `json:"options,omitempty"` + DisplayStyle string `json:"displayStyle"` +} + +// NewsOptions ... +type NewsOptions struct { + Category string `json:"category"` +} + +// TargetNewDoc ... +type TargetNewDoc struct { + Type string `json:"type,omitempty"` + Value string `json:"value,omitempty"` +} + +// ActionType ... +type ActionType struct { + Type string `json:"type"` + Value string `json:"value"` + Text string `json:"text,omitempty"` +} diff --git a/model/supplier_response.go b/model/supplier_response.go index 975a8de..a87a29e 100644 --- a/model/supplier_response.go +++ b/model/supplier_response.go @@ -2,9 +2,8 @@ package model // ResponseSupplierInfo ... type ResponseSupplierInfo struct { - ID string `json:"id"` - Name string `json:"name"` - BusinessType string `json:"businessType"` + ID string `json:"id"` + Name string `json:"name"` } // ResponseSupplierContract ... @@ -17,12 +16,11 @@ type ResponseSupplierContract struct { // SupplierBrief ... type SupplierBrief struct { - ID string `json:"_id"` - Name string `json:"name"` - Status string `json:"status"` - BusinessType string `json:"businessType"` - CreatedAt string `json:"createdAt"` - UpdatedAt string `json:"updatedAt"` + ID string `json:"_id"` + Name string `json:"name"` + Status string `json:"status"` + CreatedAt string `json:"createdAt"` + UpdatedAt string `json:"updatedAt"` } type SupplierAll struct { diff --git a/model/warehouse_request.go b/model/warehouse_request.go index b546725..543fc68 100644 --- a/model/warehouse_request.go +++ b/model/warehouse_request.go @@ -69,14 +69,3 @@ type SyncORStatusRequest struct { ORCode string `json:"orCode"` OrderCode string `json:"orderCode"` } - -// UpdateSupplierIsClosedRequest ... -type UpdateSupplierIsClosedRequest struct { - Suppliers []SupplierIsClosed `json:"suppliers"` -} - -// SupplierIsClosed ... -type SupplierIsClosed struct { - Supplier string `json:"supplier"` - IsClosed bool `json:"isClosed"` -} diff --git a/model/warehouse_response.go b/model/warehouse_response.go index f2d60a9..2429743 100644 --- a/model/warehouse_response.go +++ b/model/warehouse_response.go @@ -25,20 +25,6 @@ type WarehouseConfiguration struct { Partner WarehousePartner `json:"partner"` Delivery WarehouseDelivery `json:"delivery"` Other WarehouseOther `json:"other"` - Food WarehouseFood `json:"food"` -} - -// WarehouseFood ... -type WarehouseFood struct { - ForceClosed bool `json:"forceClosed"` - IsClosed bool `json:"isClosed"` - TimeRange []TimeRange `json:"timeRange"` -} - -// TimeRange ... -type TimeRange struct { - From int64 `json:"from"` - To int64 `json:"to"` } // WarehouseOther ... @@ -123,7 +109,6 @@ type ResponseLatLng struct { type WarehouseNatsResponse struct { ID string `json:"_id"` Staff string `json:"staff"` - BusinessType string `json:"businessType"` Name string `json:"name"` SearchString string `json:"searchString"` Slug string `json:"slug"` diff --git a/subject/config.go b/subject/config.go index dfeea56..259e7ba 100644 --- a/subject/config.go +++ b/subject/config.go @@ -3,12 +3,14 @@ package subject var prefixes = struct { Communication string Order string + News string Warehouse string Location string Supplier string }{ Communication: "communication", Order: "order", + News: "news", Warehouse: "warehouse", Location: "location", Supplier: "supplier", diff --git a/subject/news.go b/subject/news.go new file mode 100644 index 0000000..bfec6cf --- /dev/null +++ b/subject/news.go @@ -0,0 +1,13 @@ +package subject + +import "fmt" + +func getNewsValue(val string) string { + return fmt.Sprintf("%s.%s", prefixes.News, val) +} + +var News = struct { + GetProductNoticesByInventory string +}{ + GetProductNoticesByInventory: getNewsValue("get_product_notices_by_inventory"), +} diff --git a/subject/warehouse.go b/subject/warehouse.go index a0480ae..5d0a81c 100644 --- a/subject/warehouse.go +++ b/subject/warehouse.go @@ -20,7 +20,6 @@ var Warehouse = struct { Count string AfterUpdateWarehouse string AfterCreateWarehouse string - UpdateIsClosedSupplier string }{ AfterCreateWarehouse: getWarehouseValue("after_create_warehouse"), AfterUpdateWarehouse: getWarehouseValue("after_update_warehouse"), @@ -35,5 +34,4 @@ var Warehouse = struct { FindByCondition: getWarehouseValue("find_all_by_condition"), Distinct: getWarehouseValue("distinct"), Count: getWarehouseValue("count"), - UpdateIsClosedSupplier: getWarehouseValue("update_is_closed_supplier"), }