Esempio n. 1
0
        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;
 }
Esempio n. 3
0
 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);
            });
        }
Esempio n. 5
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,
     });
 }