def inventory_product_by_barcode( self, barcode: str, new_amount: float, best_before_date: datetime = None, location_id: int = None, price: int = None, ): data = { "new_amount": new_amount, } if best_before_date is not None: data["best_before_date"] = localize_datetime(best_before_date).strftime( "%Y-%m-%d" ) if location_id is not None: data["location_id"] = location_id if price is not None: data["price"] = price parsed_json = self._do_post_request( f"stock/products/by-barcode/{barcode}/inventory", data ) if parsed_json: stockLog = [StockLogResponse(**response) for response in parsed_json] return stockLog[0]
def complete_task(self, task_id: int, done_time: datetime = datetime.now()): url = f"tasks/{task_id}/complete" localized_done_time = localize_datetime(done_time) data = {"done_time": localized_done_time.isoformat()} self._do_post_request(url, data)
def add_product_by_barcode( self, barcode: str, amount: float, price: float, best_before_date: datetime = None, ) -> StockLogResponse: data = { "amount": amount, "transaction_type": TransactionType.PURCHASE.value, "price": price, } if best_before_date is not None: data["best_before_date"] = localize_datetime(best_before_date).strftime( "%Y-%m-%d" ) parsed_json = self._do_post_request( f"stock/products/by-barcode/{barcode}/add", data ) if parsed_json: stockLog = [StockLogResponse(**response) for response in parsed_json] return stockLog[0]
def execute_chore( self, chore_id: int, done_by: int = None, tracked_time: datetime = datetime.now(), ): localized_tracked_time = localize_datetime(tracked_time) data = {"tracked_time": localized_tracked_time.isoformat()} if done_by is not None: data["done_by"] = done_by return self._do_post_request(f"chores/{chore_id}/execute", data)
def charge_battery(self, battery_id: int, tracked_time: datetime = datetime.now()): localized_tracked_time = localize_datetime(tracked_time) data = {"tracked_time": localized_tracked_time.isoformat()} return self._do_post_request(f"batteries/{battery_id}/charge", data)