コード例 #1
0
        public async Task <IActionResult> DeleteBucket(int Id)//BucketId
        {
            var cuser = await GetCurrentUserAsync();

            var bucket = await _ossApiService.ViewBucketDetailAsync(Id);

            var model = new DeleteBucketViewModel(cuser)
            {
                BucketName = bucket.BucketName,
                FilesCount = bucket.FileCount,
                AppId      = bucket.BelongingAppId,
                BucketId   = bucket.BucketId
            };

            return(View(model));
        }
コード例 #2
0
        public async Task <IActionResult> DeleteBucket([FromForm] DeleteBucketViewModel model)
        {
            if (ModelState.IsValid)
            {
                var app = await _dbContext.Apps.FindAsync(model.AppId);

                var cuser = await GetCurrentUserAsync();

                var token  = AppsContainer.AccessToken(app.AppId, app.AppSecret);
                var bucket = await ApiService.ViewBucketDetailAsync(model.BucketId);

                if (bucket.BelongingAppId != app.AppId || app.CreaterId != cuser.Id)
                {
                    return(Unauthorized());
                }
                await ApiService.DeleteBucketAsync(await token(), model.BucketId);

                return(RedirectToAction(nameof(AppsController.ViewApp), "Apps", new { id = model.AppId }));
            }
            return(View(model));
        }