def getOrderRequests( self, user, count=100, search_query=None, tag_id=None, status=None, extraParams={}, ): params = { "group_id": user.activeWorkspace, "search_query": search_query, "tag_id": tag_id, "status": handleKeyword(status), **extraParams, } return entityRepository.getEntities(user, OrderRequest, count, params)
def newResourceItem( self, user, resource_id, name=None, availability=None, quantity_amount=None, quantity_unit=None, resource_location_id=None, extraParams={}, ): params = { "resource_id": resource_id, "resource_location_id": resource_location_id, "name": name, "status": handleKeyword(availability), "quantity_amount": quantity_amount, "quantity_unit": quantity_unit, **extraParams, } return entityRepository.newEntity(user, ResourceItem, params)
def editOrderRequest( self, orderRequest, status=None, resource_id=None, quantity=None, price=None, currency=None, deleted_at=None, extraParams={}, ): params = { "status": handleKeyword(status), "resource_id": resource_id, "quantity": quantity, "price": price, "currency": currency, "deleted_at": deleted_at, **extraParams, } return entityRepository.editEntity(orderRequest, params)
def newTag(self, user, name, type, extraParams={}): """ Create a new Tag. Parameters ---------- user (obj) The Labstep user creating the Tag. Must have property 'api_key'. See 'login'. name (str) Name of the new Tag. type (str) Return only tags of a certain type. Options are: 'experiment_workflow', 'protocol_collection', 'resource', 'order_request'. Returns ------- tag An object representing the new Labstep Tag. """ params = {"name": name, "type": handleKeyword(type), **extraParams} return entityRepository.newEntity(user, Tag, params)
def editResourceItem( self, resourceItem, name=None, availability=None, quantity_amount=None, quantity_unit=None, resource_location_id=None, deleted_at=None, extraParams={}, ): params = { "name": name, "status": handleKeyword(availability), "resource_location_id": resource_location_id, "quantity_unit": quantity_unit, "deleted_at": deleted_at, **extraParams, } if quantity_amount is not None: params["quantity_amount"] = float(quantity_amount) return entityRepository.editEntity(resourceItem, params)
def getTags(self, user, count=1000, type=None, search_query=None, extraParams={}): """ Retrieve a list of the user's tags. Parameters ---------- user (obj) The Labstep user. Must have property 'api_key'. See 'login'. count (int) The number of Tags to retrieve. type (str) Return only tags of a certain type. Options are: 'experiment_workflow', 'protocol_collection', 'resource', 'order_request'. search_query (str) Search for Tags with this 'name'. extraParams (dict) Dictionary of extra filter parameters. Returns ------- tags A list of tag objects. """ params = { "search_query": search_query, "type": handleKeyword(type), **extraParams, } return entityRepository.getEntities(user, Tag, count, params)