diff --git a/.github/badges/tests.svg b/.github/badges/tests.svg index 390300b87..1defd0b51 100644 --- a/.github/badges/tests.svg +++ b/.github/badges/tests.svg @@ -1 +1 @@ -teststests381 passed381 passed \ No newline at end of file +teststests377/381 passed377/381 passed \ No newline at end of file diff --git a/src/ndi/+ndi/+cloud/+internal/createRemoteDatasetDoc.m b/src/ndi/+ndi/+cloud/+internal/createRemoteDatasetDoc.m index cb5fef7f6..df166537a 100644 --- a/src/ndi/+ndi/+cloud/+internal/createRemoteDatasetDoc.m +++ b/src/ndi/+ndi/+cloud/+internal/createRemoteDatasetDoc.m @@ -1,14 +1,19 @@ -function remoteDatasetDoc = createRemoteDatasetDoc(cloudDatasetId, ndiDataset) +function remoteDatasetDoc = createRemoteDatasetDoc(cloudDatasetId, ndiDataset, options) % createRemoteDatasetDoc - Create NDI document with remote dataset details. % % Syntax: -% remoteDatasetDoc = createRemoteDatasetDoc(cloudDatasetId) +% remoteDatasetDoc = createRemoteDatasetDoc(cloudDatasetId, ndiDataset) +% remoteDatasetDoc = createRemoteDatasetDoc(cloudDatasetId, ndiDataset, 'replaceExisting', true) +% % This function retrieves a remote dataset from the cloud and creates % a "dataset remote" NDI document for that dataset. % % Input Arguments: % cloudDatasetId - The unique identifier for the cloud dataset to be % retrieved. +% ndiDataset - The NDI dataset object. +% options.replaceExisting - A boolean that if true, will replace an +% existing remote dataset document. % % Output Arguments: % remoteDatasetDoc - A document object containing the remote dataset @@ -17,6 +22,17 @@ arguments cloudDatasetId ndiDataset (1,1) ndi.dataset + options.replaceExisting (1,1) logical = false + end + + [~, existingDoc] = ndi.cloud.internal.getCloudDatasetIdForLocalDataset(ndiDataset); + + if ~isempty(existingDoc) + if options.replaceExisting + ndiDataset.database_rm(existingDoc{1}.id()); + else + error('An existing remote dataset document was found. Use ''replaceExisting'', true to replace it.'); + end end [success, remoteDataset] = ndi.cloud.api.datasets.getDataset(cloudDatasetId);