{% include guidelines/rails/api_only_project_tree.md %}
app/controllers/api/api_controller.rb
module Api class ApiController < ActionController::API end end
app/controllers/api/v1/base_controller.rb
module Api module V1 # Base API controller. It is used by other controllers in API/V1 directory. class BaseController < Api::ApiController # before_action :set_current_user # before_action :check_blocked_user # def send_response(status, message, code, data) # response = { # status: status, # message: message # } # response['data'] = data if data # response['code'] = code if code # render json: response, status: status # end # # rescue_from Apipie::Error do |e| # send_response( # 422, # e.message, # "ERR_#{controller_name}##{action_name}_INVALID_PARAM_#{e.param}".upcase, # nil # ) # end # def set_current_user # @current_user_cognito = AwsCognitoService.new.get_current_user(request.headers['Authorization']) # @current_user = UserIdentity # .includes(user_account: [:organization]) # .find_by(identity_id: @current_user_cognito.username) # .user_account # rescue StandardError => e # send_response(401, 'User unauthorized', 'ERR_USER_UNAUTHORIZED', { error: e }) # end # # def check_blocked_user # send_response(403, 'User unauthorized', 'ERR_USER_BLOCKED', nil) if @current_user.blocked? # end end end end