public async Task RefreshExistingBuckets()

in Editor/Bootstrap/BootstrapSettings.cs [173:224]


        public async Task RefreshExistingBuckets(CancellationToken cancellationToken = default)
        {
            IsBucketListLoaded = false;
            _status.IsDisplayed = false;
            _existingBuckets.Clear();

            try
            {
                GetSettingResponse profileResponse = _coreApi.GetSetting(SettingsKeys.CurrentProfileName);

                if (!profileResponse.Success)
                {
                    SetErrorStatus(Strings.StatusGetProfileFailed);
                    _logger.LogResponseError(profileResponse);
                    return;
                }

                GetSettingResponse regionResponse = _coreApi.GetSetting(SettingsKeys.CurrentRegion);

                if (!regionResponse.Success || !_coreApi.IsValidRegion(regionResponse.Value))
                {
                    SetErrorStatus(Strings.StatusGetRegionFailed);
                    _logger.LogResponseError(regionResponse);
                    return;
                }

                GetBucketsResponse bucketsResponse = await Task.Run(() => _coreApi.ListBuckets(profileResponse.Value, regionResponse.Value), cancellationToken);

                if (!bucketsResponse.Success)
                {
                    SetErrorStatus(Strings.StatusBootstrapFailedTemplate, bucketsResponse);
                    _logger.LogResponseError(bucketsResponse);
                    return;
                }

                _existingBuckets = bucketsResponse.Buckets.ToList();
            }
            catch (TaskCanceledException)
            {
                throw;
            }
            catch (Exception ex)
            {
                _logger.LogException(ex);
                throw;
            }
            finally
            {
                IsBucketListLoaded = true;
                OnBucketsLoaded?.Invoke(_existingBuckets);
            }
        }