def records(document_id=None, collection_id=None): require(request.authz.can_export()) if collection_id is not None: get_db_collection(collection_id, request.authz.READ) record_audit(Audit.ACT_COLLECTION, id=collection_id) elif document_id is not None: get_db_document(document_id) record_audit(Audit.ACT_ENTITY, id=document_id) else: # no authz on records, this means *full* export. require(request.authz.is_admin) records = iter_records(document_id=document_id, collection_id=collection_id) return stream_ijson(records)
def entities(collection_id=None): require(request.authz.can_export()) schemata = ensure_list(request.args.getlist('schema')) excludes = ['text', 'roles', 'fingerprints'] includes = ensure_list(request.args.getlist('include')) includes = [f for f in includes if f not in excludes] if collection_id is not None: get_db_collection(id, request.authz.READ) record_audit(Audit.ACT_COLLECTION, id=id) entities = iter_entities(authz=request.authz, collection_id=collection_id, schemata=schemata, excludes=excludes, includes=includes) return stream_ijson(entities)
def entities(collection_id=None): require(request.authz.can_stream()) log.debug("Stream entities [%r] begins... (coll: %s)", request.authz, collection_id) schemata = ensure_list(request.args.getlist('schema')) excludes = ['text', 'roles', 'fingerprints'] includes = ensure_list(request.args.getlist('include')) includes = [f for f in includes if f not in excludes] if collection_id is not None: get_db_collection(collection_id, request.authz.READ) record_audit(Audit.ACT_COLLECTION, id=collection_id) entities = iter_entities(authz=request.authz, collection_id=collection_id, schemata=schemata, excludes=excludes, includes=includes) return stream_ijson(entities)
def entities(collection_id=None): """ --- get: summary: Stream collection entities. description: > Stream a JSON form of each entity in the given collection, or throughout the entire database. parameters: - description: The collection ID. in: path name: collection_id required: true schema: minimum: 1 type: integer responses: '200': description: OK content: application/x-ndjson: schema: type: array items: $ref: '#/components/schemas/Entity' tags: - Entity """ log.debug("Stream entities [%r] begins... (coll: %s)", request.authz, collection_id) schemata = ensure_list(request.args.getlist("schema")) includes = ensure_list(request.args.getlist("include")) includes = includes or PROXY_INCLUDES if collection_id is not None: get_db_collection(collection_id, request.authz.WRITE) else: require(request.authz.is_admin) entities = iter_entities( authz=request.authz, collection_id=collection_id, schemata=schemata, includes=includes, ) return stream_ijson(entities)
def entities(collection_id=None): """ --- get: summary: Stream collection entities. description: > Stream a JSON form of each entity in the given collection, or throughout the entire database. parameters: - description: The collection ID. in: path name: collection_id required: true schema: minimum: 1 type: integer responses: '200': description: OK content: application/x-ndjson: schema: type: array items: $ref: '#/components/schemas/Entity' tags: - Entity """ require(request.authz.can_stream()) log.debug("Stream entities [%r] begins... (coll: %s)", request.authz, collection_id) schemata = ensure_list(request.args.getlist('schema')) excludes = ['text', 'fingerprints'] includes = ensure_list(request.args.getlist('include')) includes = [f for f in includes if f not in excludes] if collection_id is not None: get_db_collection(collection_id, request.authz.READ) entities = iter_entities(authz=request.authz, collection_id=collection_id, schemata=schemata, excludes=excludes, includes=includes) return stream_ijson(entities)