Skip to main content

update

Function update 

Source
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 - When true, skip re-adding content already present.
  • acl_db - Optional ACL backend; when provided, a write permission check is performed before any mutation.
  • delete_service - Pre-configured DeleteService.
  • 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.