abstract class Application

Included Modules

Direct Known Subclasses

Defined in:

controllers/application.cr

Constant Summary

AFTER = {} of Nil => Nil
AROUND = {} of Nil => Nil
BEFORE = {determine_tenant_from_domain => {nil, nil}, configure_request_logging => {nil, nil}, check_jwt_scope => {nil, nil}} of Nil => Nil
DEFAULT_TIME_ZONE = Time::Location.load(ENV["STAFF_TIME_ZONE"]? || "Australia/Sydney")

TODO : Move this to user model

FORCE = {} of Nil => Nil
LOCAL_AFTER = {} of Nil => Nil

function => options

LOCAL_AROUND = {} of Nil => Nil

function => options

LOCAL_BEFORE = {determine_tenant_from_domain => {nil, nil}, configure_request_logging => {nil, nil}, check_jwt_scope => {nil, nil}} of Nil => Nil

function => options

LOCAL_FORCE = {} of Nil => Nil

function => options

LOCAL_RESCUE = {Error::Unauthorized => {error_unauthorized, do |error| Log.debug do error.message end head(:unauthorized) end}, Error::Forbidden => {error_forbidden, do |error| Log.debug do error.inspect_with_backtrace end head(:forbidden) end}, Clear::SQL::RecordNotFoundError => {clear_sql_record_not_found_error, do |error| Log.debug do error.message end head(:not_found) end}, Clear::SQL::Error => {clear_sql_error, do |error| render_error(HTTP::Status::INTERNAL_SERVER_ERROR, error) end}, KeyError => {key_error, do |error| if error.message.try(&.includes?("param")) else raise(error) end respond_with(:bad_request) do text(error.message) json({error: error.message}) end end}, JSON::MappingError => {json_mapping_error, do |error| respond_with(:bad_request) do text(error.inspect_with_backtrace) json({error: error.message, backtrace: error.backtrace?}) end end}, ::PlaceOS::Client::API::Error => {_place_os_client_api_error, do |error| render_error(HTTP::Status::NOT_FOUND, error) end}, ::Enumerable::EmptyError => {_enumerable_empty_error, do |error| render_error(HTTP::Status::NOT_FOUND, error) end}, PlaceCalendar::Exception => {place_calendar_exception, do |error| render_error(HTTP::Status::INTERNAL_SERVER_ERROR, error, "#{error.http_body} \n #{error.inspect_with_backtrace}") end}} of Nil => Nil

function => options

LOCAL_ROUTES = {} of Nil => Nil

function => options

LOCAL_SKIP = {} of Nil => Nil

function => options

Log = ::App::Log.for("controller")

========================================= LOGGING

NAMESPACE = ["/application"]

default namespace based on class

RESCUE = {Error::Unauthorized => {error_unauthorized, do |error| Log.debug do error.message end head(:unauthorized) end}, Error::Forbidden => {error_forbidden, do |error| Log.debug do error.inspect_with_backtrace end head(:forbidden) end}, Clear::SQL::RecordNotFoundError => {clear_sql_record_not_found_error, do |error| Log.debug do error.message end head(:not_found) end}, Clear::SQL::Error => {clear_sql_error, do |error| render_error(HTTP::Status::INTERNAL_SERVER_ERROR, error) end}, KeyError => {key_error, do |error| if error.message.try(&.includes?("param")) else raise(error) end respond_with(:bad_request) do text(error.message) json({error: error.message}) end end}, JSON::MappingError => {json_mapping_error, do |error| respond_with(:bad_request) do text(error.inspect_with_backtrace) json({error: error.message, backtrace: error.backtrace?}) end end}, ::PlaceOS::Client::API::Error => {_place_os_client_api_error, do |error| render_error(HTTP::Status::NOT_FOUND, error) end}, ::Enumerable::EmptyError => {_enumerable_empty_error, do |error| render_error(HTTP::Status::NOT_FOUND, error) end}, PlaceCalendar::Exception => {place_calendar_exception, do |error| render_error(HTTP::Status::INTERNAL_SERVER_ERROR, error, "#{error.http_body} \n #{error.inspect_with_backtrace}") end}} of Nil => Nil
ROUTES = {} of Nil => Nil
SKIP = {} of Nil => Nil

Class Method Summary

Macro Summary

Instance methods inherited from module Utils::MultiTenant

client : PlaceCalendar::Client client, tenant tenant

Instance methods inherited from module Utils::CurrentUser

authorize! authorize!, check_admin check_admin, check_support check_support, is_admin? is_admin?, is_support? is_support?, user user, user_token : UserJWT user_token

Instance methods inherited from module Utils::PlaceOSHelpers

check_access(groups : Array(String), check : Array(String)) check_access, get_placeos_client : PlaceOS::Client get_placeos_client, get_user_calendars get_user_calendars, matching_calendar_ids(allow_default = false) matching_calendar_ids

Class Method Detail

def self.context(method : String, route : String, route_params : Hash(String, String) | Nil = nil, headers : Hash(String, String) | Nil = nil, body : String | Bytes | IO | Nil = nil, &) #

[View source]

Macro Detail

macro __inherit_after_filters__ #

macro __inherit_around_filters__ #

macro __inherit_before_filters__ #

macro __inherit_force_filters__ #

macro __inherit_rescue_filters__ #

macro __inherit_routes_filters__ #

macro __inherit_skip_filters__ #