pub async fn upload_file(
db: &mut DbTransaction<'_>,
search: &TenantSearchIndex,
storage: &TenantStorageLayer,
events: &TenantEventPublisher,
processing: &ProcessingLayer,
upload: UploadFile,
upload_state: &mut UploadFileState,
) -> Result<UploadedFileData, UploadFileError>