Rev 121 | Rev 378 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
namespace java in.shop2020.model.v1.catalognamespace py shop2020.thriftpy.model.v1.catalog/**Objects*//**Caution :- Never ever change the numbers in it. Please confirm from @ashish before any changes in enuma dn other entries in file.**/enum status{PHASED_OUT = 0, //Item is no longer sellingDELETED = 1, //Item has been deliberately deletedPAUSED = 2, //Item's sale is currently pausedACTIVE = 3, //Item is available for sale as of nowIN_PROCESS = 4 //Item has been added, but content is not available for the same}struct Warehouse{1:i64 id,2:string location,4:status warehouseStatus5:i64 addedOn}/* */struct ItemInventory{1:i64 id,2:map<i64,i64> availability,3:i64 lastCheckedOn}struct ItemInventoryHistory{1:i64 item_id,2:i64 warehouse_id,3:i64 timestamp,4:i64 availability}struct Item{1:i64 id,2:i64 catalogItemId,3:ItemInventory itemInventory,4:i64 addedOn,5:i64 startDate,6:status itemStatus,7:map<string,string> otherInfo,8:map<i64, double> price, //price on each warehouse9:double weight,10:i64 featureId,11:string featureDescription,12:i64 vendorItemId}exception InventoryServiceException{1:i64 id,2:string message}service InventoryService{/**Content methods*//**Availability and inventory attributes*///all add and update methods - added by Ashishi64 addItem(1:Item item) throws (1:InventoryServiceException cex),i64 updateItem(1:Item item) throws (1:InventoryServiceException cex),i64 addWarehouse(1:Warehouse warehouse) throws (1:InventoryServiceException cex),void updateInventory(1:i64 item_id, 2:i64 warehouse_id, 3: i64 quantity, 4:i64 timestamp) throws (1:InventoryServiceException cex),void updatePrice(1:i64 item_id, 2:i64 warehouse_id, 3:double price) throws (1:InventoryServiceException cex),//all delete methodsvoid retireWarehouse(1:i64 warehouse_id) throws (1:InventoryServiceException cex),//Item management apisvoid startItemOn(1:i64 item_id, 2:i64 timestamp) throws (1:InventoryServiceException cex),void retireItemOn(1:i64 item_id, 2:i64 timestamp) throws (1:InventoryServiceException cex),void changeItemStatus(1:i64 item_id, 2:i64 timestamp, 3:status newstatus) throws (1:InventoryServiceException cex),//Other accessor methods - added by AshishItem getItem(1:i64 item_id) throws (1:InventoryServiceException cex),list<Item> getAllItems(1:bool isActive) throws (1:InventoryServiceException cex),list<Item> getAllItemsByStatus(1:status itemStatus) throws (1:InventoryServiceException cex),ItemInventory getItemInventory(1:i64 item_id) throws (1:InventoryServiceException cex),i64 getItemAvailibilityAtWarehouse(1:i64 warehouse_id, 2:i64 item_id) throws (1:InventoryServiceException cex),list<Warehouse> getAllWarehouses(1:bool isActive) throws (1:InventoryServiceException cex),Warehouse getWarehouse(1:i64 warehouse_id) throws (1:InventoryServiceException cex),list<Warehouse> getAllWarehousesForItem(1:i64 item_id) throws (1:InventoryServiceException cex),list<Item> getAllItemsForWarehouse(1:i64 warehouse_id) throws (1:InventoryServiceException cex),}