pub async fn update(
data_id: Uuid,
new_data: Vec<DataInput>,
dataset_id: Uuid,
dataset_name: &str,
owner_id: Uuid,
tenant_id: Option<Uuid>,
node_set: Option<Vec<String>>,
preferred_loaders: Option<HashMap<String, String>>,
incremental_loading: bool,
acl_db: Option<&dyn AclDb>,
delete_service: &DeleteService,
add_pipeline: &AddPipeline,
llm: Arc<dyn Llm>,
storage: Arc<dyn StorageTrait>,
graph_db: Arc<dyn GraphDBTrait>,
vector_db: Arc<dyn VectorDB>,
embedding_engine: Arc<dyn EmbeddingEngine>,
db: Option<Arc<DatabaseConnection>>,
ontology_resolver: Arc<dyn OntologyResolver>,
cognify_config: &CognifyConfig,
) -> Result<UpdateResult, ApiError>Expand description
Replace data in a dataset: delete old -> re-add new -> re-cognify.
§Arguments
data_id- ID of the data item to replace.new_data- Replacement data inputs.dataset_id- Explicit dataset UUID (no re-derivation from name).dataset_name- Dataset name (still required for delete scope).owner_id/tenant_id- Ownership context.node_set- Optional graph node identifiers for access-control grouping.preferred_loaders- Optional MIME-type-to-loader-name overrides.incremental_loading- Whentrue, skip re-adding content already present.acl_db- Optional ACL backend; when provided, awritepermission check is performed before any mutation.delete_service- Pre-configuredDeleteService.add_pipeline- Ingestion pipeline.llm..cognify_config- Components for the cognify phase.
§Errors
Returns ApiError::PermissionDenied when acl_db is set and the caller
lacks write on the dataset. Propagates errors from delete, add, or
cognify phases.