Sha256: b29d8bd0f48c201ec8e2ec99980343730b9331f4c1fb8a96c32a23a6e5adfd61

Contents?: true

Size: 1.88 KB

Versions: 58

Compression:

Stored size: 1.88 KB

Contents

module Hyrax
  module API
    # Generate appropriate json response for +response_type+

    def self.generate_response_body(response_type: :success, message: nil, options: {})
      json_body = default_responses[response_type].merge(options)
      json_body[:description] = message if message
      json_body
    end

    # Default (json) responses for various response types
    def self.default_responses
      {
        success: {
          code: 200,
          message: "Request Succeeded",
          description: I18n.t('hyrax.api.success.default')
        },
        deleted: {
          code: 200,
          message: I18n.t('hyrax.api.deleted.default')
        },
        created: {
          code: 201,
          message: "Created the Resource"
        },
        accepted: {
          code: 202,
          message: "Accepted",
          description: I18n.t('hyrax.api.accepted.default')
        },
        bad_request: {
          code: 400,
          message: "Bad Request",
          description: I18n.t('hyrax.api.bad_request.default')
        },
        unauthorized: {
          code: 401,
          message: "Authentication Required",
          description: I18n.t('hyrax.api.unauthorized.default')
        },
        forbidden: {
          code: 403,
          message: "Not Authorized",
          description: I18n.t('hyrax.api.forbidden.default')
        },
        not_found: {
          code: 404,
          message: "Resource not found",
          description: I18n.t('hyrax.api.not_found.default')
        },
        unprocessable_entity: {
          code: 422,
          message: "Unprocessable Entity",
          description: I18n.t('hyrax.api.unprocessable_entity.default'),
          errors: {}
        },
        internal_error: {
          code: 500,
          message: "Internal Server Error",
          description: I18n.t('hyrax.api.internal_error.default')
        }
      }
    end
  end
end

Version data entries

58 entries across 58 versions & 2 rubygems

Version Path
hyrax-2.9.6 app/controllers/concerns/hyrax/api.rb
hyrax-2.9.5 app/controllers/concerns/hyrax/api.rb
hyrax-2.9.4 app/controllers/concerns/hyrax/api.rb
hyrax-2.9.3 app/controllers/concerns/hyrax/api.rb
hyrax-2.9.2 app/controllers/concerns/hyrax/api.rb
hyrax-2.9.1 app/controllers/concerns/hyrax/api.rb
hyrax-2.9.0 app/controllers/concerns/hyrax/api.rb
hyrax-2.8.0 app/controllers/concerns/hyrax/api.rb
hyrax-2.7.2 app/controllers/concerns/hyrax/api.rb
hyrax-2.7.1 app/controllers/concerns/hyrax/api.rb
hyrax-2.7.0 app/controllers/concerns/hyrax/api.rb
hyrax-2.6.0 app/controllers/concerns/hyrax/api.rb
hyrax-3.0.0.pre.rc1 app/controllers/concerns/hyrax/api.rb
hyrax-3.0.0.pre.beta3 app/controllers/concerns/hyrax/api.rb
hyrax-2.5.1 app/controllers/concerns/hyrax/api.rb
hyrax-2.5.0 app/controllers/concerns/hyrax/api.rb
hyrax-3.0.0.pre.beta2 app/controllers/concerns/hyrax/api.rb
hyrax-2.4.1 app/controllers/concerns/hyrax/api.rb
hyrax-3.0.0.pre.beta1 app/controllers/concerns/hyrax/api.rb
hyrax-2.4.0 app/controllers/concerns/hyrax/api.rb