public async Task <IActionResult> DeleteBucketAsync([FromBody] BucketDto bucket)
        {
            if (bucket is null || string.IsNullOrWhiteSpace(bucket.Name))
            {
                return(this.LogAndReturnCustomError(this.logger, StatusCodes.Status400BadRequest, ErrorTypes.DELETE));
            }

            try
            {
                var result = await this.manager.SetBucket(bucket.Name).DeleteBucketAsync(bucket.NewName);

                if (!result)
                {
                    return(this.LogAndReturnCustomError(this.logger, StatusCodes.Status400BadRequest, ErrorTypes.DELETE, bucket));
                }

                var returnObject = new SuccessResponse()
                {
                    Error = 0, UserMessage = "Bucket Successfully Deleted!", Bucket = null
                };
                return(this.StatusCode(StatusCodes.Status200OK, returnObject));
            }
            catch (BaseCustomError ex)
            {
                return(this.LogAndReturnCustomError(ex, this.logger));
            }
            catch (Exception ex)
            {
                return(this.LogAndReturnCustomError(ex, this.logger));
            }
        }
Beispiel #2
0
 /// <summary>
 /// Creates an Bucket
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Administration or
 /// Administration.Write.
 ///
 /// Required permissions: Buckets.Create.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='body'>
 /// </param>
 /// <param name='xUIPATHOrganizationUnitId'>
 /// Folder/OrganizationUnit Id
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <BucketDto> PostAsync(this IBuckets operations, BucketDto body = default(BucketDto), long?xUIPATHOrganizationUnitId = default(long?), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PostWithHttpMessagesAsync(body, xUIPATHOrganizationUnitId, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Beispiel #3
0
        protected override void ProcessRecord()
        {
            var dto = new BucketDto
            {
                Name        = Name,
                Description = Description,
                Options     = BucketDtoOptions.None,
                Identifier  = Guid.NewGuid(),
            };

            if (ReadOnly.IsPresent)
            {
                dto.Options |= BucketDtoOptions.ReadOnly;
            }

            if (AuditReadAccess.IsPresent)
            {
                dto.Options |= BucketDtoOptions.AuditReadAccess;
            }

            switch (ParameterSetName)
            {
            case FileSystemSet:
                dto.StorageProvider   = "FileSystem";
                dto.StorageParameters = $"RootPath={Path}";
                break;

            case AmazonSet:
                dto.StorageProvider   = "Amazon";
                dto.Password          = SecretKey;
                dto.StorageContainer  = S3BucketName;
                dto.StorageParameters = $"EndpointRegion={EndpointRegion};accessKey={AccessKey};secretKey=$Password";
                dto.CredentialStoreId = CredentialStore?.Id ?? this.GetDefaultCredentialStore(CredentialStoreResourceDtoType.BucketCredential.ToString());
                break;

            case AzureSet:
                dto.StorageProvider   = "Azure";
                dto.Password          = AccountKey;
                dto.StorageContainer  = ContainerName;
                dto.StorageParameters = $"EndpointSuffix={EndpointSuffix};AccountName={AccountName};AccountKey=$Password";
                dto.CredentialStoreId = CredentialStore?.Id ?? this.GetDefaultCredentialStore(CredentialStoreResourceDtoType.BucketCredential.ToString());
                break;

            case MinioSet:
                dto.StorageProvider   = "Minio";
                dto.Password          = SecretKey;
                dto.StorageContainer  = ContainerName;
                dto.StorageParameters = $"host={Server};accessKey={AccessKey};secretKey=$Password";
                dto.CredentialStoreId = CredentialStore?.Id ?? this.GetDefaultCredentialStore(CredentialStoreResourceDtoType.BucketCredential.ToString());
                break;
            }

            dto = Api_20_4.Buckets.Post(dto);
            WriteObject(dto);
        }
Beispiel #4
0
 public static Bucket FromDto(BucketDto dto) =>
 new Bucket
 {
     Id                = dto.Id.Value,
     Name              = dto.Name,
     Description       = dto.Description,
     StorageProvider   = dto.StorageProvider,
     Identifier        = dto.Identifier,
     Options           = (BucketOptions)Enum.Parse(typeof(BucketOptions), dto.Options?.ToString()),
     StorageContainer  = dto.StorageContainer,
     StorageParameters = dto.StorageParameters,
     CredentialStoreId = dto.CredentialStoreId,
 };
Beispiel #5
0
        public static IBucketTab Create(BucketDto dto = null)
        {
            var tab = IoC.Get <BucketTab>();

            if (dto == null)
            {
                tab.Bucket.Initialize(Guid.NewGuid().ToString());
            }
            else
            {
                tab.Bucket.Initialize(dto);
            }
            return(tab);
        }
        public void Save(BucketDto dto)
        {
            if (dto == null)
            {
                throw new ArgumentNullException(nameof(dto));
            }

            var path = GetPathForId(dto.Id);

            Directory.CreateDirectory(Path.GetDirectoryName(path));

            var json = JsonConvert.SerializeObject(dto);

            File.WriteAllText(path, json);
        }
Beispiel #7
0
        public void Initialize(BucketDto dto)
        {
            if (dto == null)
            {
                throw new ArgumentNullException(nameof(dto));
            }

            Name           = dto.Name;
            Size           = dto.Size;
            Notify         = dto.Notify;
            Dedupe         = dto.Dedupe;
            UseAudio       = dto.UseAudio;
            AudioFile      = dto.AudioFile;
            IsDisabled     = dto.IsDisabled;
            Filter.Channel = dto.Filter.Channel;
            Filter.Author  = dto.Filter.Author;
            Filter.Message = dto.Filter.Message;
            Buffer.Clear();
            Buffer.AppendRange(dto.Buffer);

            Initialize(dto.Id);
        }
Beispiel #8
0
 /// <summary>
 /// Creates an Bucket
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Administration or
 /// Administration.Write.
 ///
 /// Required permissions: Buckets.Create.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='body'>
 /// </param>
 /// <param name='xUIPATHOrganizationUnitId'>
 /// Folder/OrganizationUnit Id
 /// </param>
 public static BucketDto Post(this IBuckets operations, BucketDto body = default(BucketDto), long?xUIPATHOrganizationUnitId = default(long?))
 {
     return(operations.PostAsync(body, xUIPATHOrganizationUnitId).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Updates a bucket.
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Administration or
 /// Administration.Write.
 ///
 /// Required permissions: Buckets.Edit.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// key: Id
 /// </param>
 /// <param name='bucketDto'>
 /// </param>
 /// <param name='xUIPATHOrganizationUnitId'>
 /// Folder/OrganizationUnit Id
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <BucketDto> PutByIdAsync(this IBuckets operations, long id, BucketDto bucketDto, long?xUIPATHOrganizationUnitId = default(long?), System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
 {
     using (var _result = await operations.PutByIdWithHttpMessagesAsync(id, bucketDto, xUIPATHOrganizationUnitId, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Updates a bucket.
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Administration or
 /// Administration.Write.
 ///
 /// Required permissions: Buckets.Edit.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// key: Id
 /// </param>
 /// <param name='bucketDto'>
 /// </param>
 /// <param name='xUIPATHOrganizationUnitId'>
 /// Folder/OrganizationUnit Id
 /// </param>
 public static BucketDto PutById(this IBuckets operations, long id, BucketDto bucketDto, long?xUIPATHOrganizationUnitId = default(long?))
 {
     return(operations.PutByIdAsync(id, bucketDto, xUIPATHOrganizationUnitId).GetAwaiter().GetResult());
 }