コード例 #1
0
        public async Task <IActionResult> EditBucket(EditBucketViewModel model)
        {
            var cuser = await GetCurrentUserAsync();

            if (!ModelState.IsValid)
            {
                model.ModelStateValid = false;
                model.Recover(cuser, 1);
                return(View(model));
            }
            try
            {
                var app = await _dbContext.Apps.FindAsync(model.AppId);

                var token = await _appsContainer.AccessToken(app.AppId, app.AppSecret);

                var bucket = await _ossApiService.ViewBucketDetailAsync(model.BucketId);

                if (bucket.BelongingAppId != app.AppId || app.CreaterId != cuser.Id)
                {
                    return(Unauthorized());
                }
                await _ossApiService.EditBucketAsync(token, model.BucketId, model.NewBucketName, model.OpenToRead, model.OpenToUpload);

                return(RedirectToAction(nameof(AppsController.ViewApp), "Apps", new { id = model.AppId, JustHaveUpdated = true }));
            }
            catch (AiurUnexceptedResponse e)
            {
                ModelState.AddModelError(string.Empty, e.Response.Message);
                model.ModelStateValid = false;
                model.Recover(cuser, 1);
                return(View(model));
            }
        }
コード例 #2
0
        public async Task <IActionResult> EditBucket(int id)//BucketId
        {
            var cuser = await GetCurrentUserAsync();

            var bucket = await _ossApiService.ViewBucketDetailAsync(id);

            var model = new EditBucketViewModel(cuser, bucket)
            {
                AppId = bucket.BelongingAppId
            };

            return(View(model));
        }