~cytrogen/masto-fe

a7d96e6affd4a2da65f09f3f4ffa1b9350bb9a42 — Lukas Martini 2 years ago 10b0643
Improve error messages when DeepL quota is exceeded (#26704)

2 files changed, 13 insertions(+), 1 deletions(-)

M app/controllers/api/v1/statuses/translations_controller.rb
M config/locales/en.yml
M app/controllers/api/v1/statuses/translations_controller.rb => app/controllers/api/v1/statuses/translations_controller.rb +9 -1
@@ 8,7 8,15 @@ class Api::V1::Statuses::TranslationsController < Api::BaseController
  before_action :set_translation

  rescue_from TranslationService::NotConfiguredError, with: :not_found
  rescue_from TranslationService::UnexpectedResponseError, TranslationService::QuotaExceededError, TranslationService::TooManyRequestsError, with: :service_unavailable
  rescue_from TranslationService::UnexpectedResponseError, with: :service_unavailable

  rescue_from TranslationService::QuotaExceededError do
    render json: { error: I18n.t('translation.errors.quota_exceeded') }, status: 503
  end

  rescue_from TranslationService::TooManyRequestsError do
    render json: { error: I18n.t('translation.errors.too_many_requests') }, status: 503
  end

  def create
    render json: @translation, serializer: REST::TranslationSerializer

M config/locales/en.yml => config/locales/en.yml +4 -0
@@ 1709,6 1709,10 @@ en:
      default: "%b %d, %Y, %H:%M"
      month: "%b %Y"
      time: "%H:%M"
  translation:
    errors:
      quota_exceeded: The server-wide usage quota for the translation service has been exceeded.
      too_many_requests: There have been too many requests to the translation service recently.
  two_factor_authentication:
    add: Add
    disable: Disable 2FA