def all(): collection_id = request.args.getlist('collection_id') collection_id = authz.collections_intersect(authz.READ, collection_id) q = Entity.all_ids() q = q.filter(Entity.state == Entity.STATE_ACTIVE) q = q.filter(Entity.deleted_at == None) # noqa clause = Collection.id.in_(collection_id) q = q.filter(Entity.collections.any(clause)) return jsonify({'results': [r[0] for r in q]})
def index(): collection_ids = request.args.getlist('collection') collection_ids = authz.collections_intersect(authz.READ, collection_ids) q = Document.all() clause = Collection.id.in_(collection_ids) q = q.filter(Document.collections.any(clause)) hashes = request.args.getlist('content_hash') if len(hashes): q = q.filter(Document.content_hash.in_(hashes)) return jsonify(Pager(q))
def paths(id): collection = obj_or_404(Collection.by_id(id)) authz.require(authz.collection_read(collection.id)) start_entity_id = request.args.get('entity_id') labels = request.args.getlist('label') types = request.args.getlist('type') collection_id = request.args.getlist('collection_id') end_collection_id = authz.collections_intersect(authz.READ, collection_id) q = Path.find(collection, start_entity_id=start_entity_id, labels=labels, types=types, end_collection_id=end_collection_id) data = Pager(q, id=collection.id).to_dict() data['facets'] = Path.facets(collection, start_entity_id=start_entity_id, labels=labels, types=types, end_collection_id=end_collection_id, collection_id=authz.collections(authz.READ)) return jsonify(data)
def collection_id(self): collection_id = self.data.getlist('collection_id') return authz.collections_intersect(authz.READ, collection_id)
def target_collection_id(self): collection_id = self.data.getlist('target_collection_id') if not len(collection_id): collection_id = self.data.getlist('collection_id') return authz.collections_intersect(authz.READ, collection_id)