WIP 2
This commit is contained in:
parent
9058d1ae2e
commit
ed626b5066
2 changed files with 12 additions and 7 deletions
|
|
@ -1,8 +1,11 @@
|
||||||
module ApplicationController
|
class ApplicationController < ActionController::API
|
||||||
extend ActionController::API
|
include Renderable
|
||||||
|
|
||||||
before_action :authenticate!
|
before_action :authenticate!
|
||||||
|
|
||||||
rescue_from Unauthorized, with: -> { render json: { error: "Unauthorized" }, status: :unauthorized }
|
rescue_from Unauthorized do
|
||||||
|
render_error("Unauthorized", :unauthorized)
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def authenticate!
|
def authenticate!
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,19 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class Renderable
|
module Renderable
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
def render_success(data = nil, status = :ok, meta = {})
|
def render_success(data = nil, status = :ok, meta = {})
|
||||||
body = { success: true }
|
body = { success: true }
|
||||||
body[:data] = data if data
|
body[:data] = data if data
|
||||||
body[:meta] = meta if meta.present?
|
body[:meta] = meta if meta.present?
|
||||||
render json: body
|
render json: body, status:
|
||||||
end
|
end
|
||||||
|
|
||||||
def render_error
|
def render_error(message, status = :unprocessable_entity, details: nil)
|
||||||
|
body = { success: false, error: { message: } }
|
||||||
|
body[:error][:details] = details if details.present?
|
||||||
|
render json: body, status:
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue