public static void Configure(CommandLineApplication command) { command.Description = "Adds a dataset as an uploaded nomination (for refreshing catalog)"; command.SetDefaultHelp(); var datasetIdOpt = command.Option("--datasetId | -dsid <datasetId>", "The dataset identifier", CommandOptionType.SingleValue); var queueOpt = command.Option("--queue | -q", "Queues the job to catalog the dataset.", CommandOptionType.NoValue); command.OnExecute(async() => { var cosmos = new CosmosOptions(); var contact = new ContactInfoOptions(); var batch = new BatchOptions(); var datasetId = datasetIdOpt.Value(); if (command.HasAllRequiredParameters(new[] { cosmos.Endpoint, cosmos.Database, contact.Name, contact.Email, batch.Url, batch.Account, batch.Key, datasetId, })) { await new Admin.Dataset.DatasetNominateTask(cosmos, contact, batch, datasetId, queueOpt.HasValue()).ExecuteAsync(); } return(0); }); }
public DatasetImportTask( CosmosOptions cosmosOptions, StorageOptions storageOptions, ContactInfoOptions contactOptions, string datasetUrl, string storageName) { CosmosOptions = cosmosOptions; StorageOptions = storageOptions; ContactOptions = contactOptions; DatasetUrl = datasetUrl; StorageName = storageName; }
public DatasetNominateTask( CosmosOptions cosmosOptions, ContactInfoOptions contactOptions, BatchOptions batchOptions, string datasetId, bool queueJob) { CosmosOptions = cosmosOptions; ContactOptions = contactOptions; BatchOptions = batchOptions; DatasetId = datasetId; QueueJob = queueJob; }
public static void Configure(CommandLineApplication command) { command.Description = "Imports a dataset from another site as a nomination."; command.SetDefaultHelp(); var datasetUrlOpt = command.Option( "--datasetUrl | -u <datasetUrl>", "The API url of the dataset", CommandOptionType.SingleValue); var storageNameOpt = command.Option( "--storageName | -n <storageName>", "The name of the storage container where the dataset contents reside.", CommandOptionType.SingleValue); command.OnExecute(async() => { var cosmos = new CosmosOptions(); var storage = new StorageOptions(); var contact = new ContactInfoOptions(); var datasetUrl = datasetUrlOpt.Value(); var storageName = storageNameOpt.Value(); if (command.HasAllRequiredParameters(new[] { cosmos.Endpoint, cosmos.Database, storage.Account, storage.Key, contact.Name, contact.Email, datasetUrl, storageName, })) { await new Admin.Dataset.DatasetImportTask(cosmos, storage, contact, datasetUrl, storageName).ExecuteAsync(); } return(0); }); }
public static DatasetNominationStorageItem DatasetToNomination(DatasetStorageItem dataset, ContactInfoOptions contactOptions, LicenseStorageItem license) { return(new DatasetNominationStorageItem { Id = dataset.Id, DatasetId = WellKnownIds.DatasetNominationDatasetId, Name = dataset.Name, Description = dataset.Description, Domain = dataset.Domain, DomainId = dataset.DomainId, ProjectUri = dataset.ProjectUri ?? dataset.SourceUri, SourceUri = dataset.SourceUri ?? dataset.ProjectUri, Version = dataset.Version, Published = dataset.Published, Created = dataset.Created, Modified = dataset.Modified, License = license?.Name ?? dataset.License, LicenseId = license?.Id ?? dataset.LicenseId, Tags = (dataset.Tags ?? Enumerable.Empty <string>()).ToList(), DigitalObjectIdentifier = dataset.DigitalObjectIdentifier, ContactName = contactOptions.Name, ContactInfo = contactOptions.Email, UserId = Guid.Empty, CreatedByUserName = dataset.CreatedByUserName, CreatedByUserEmail = dataset.CreatedByUserEmail, ModifiedByUserName = dataset.ModifiedByUserName, ModifiedByUserEmail = dataset.ModifiedByUserEmail, IsDownloadAllowed = dataset?.IsDownloadAllowed ?? false, NominationStatus = NominationStatus.PendingApproval, }); }