abstract class Application

Included Modules

Direct Known Subclasses

Defined in:

controllers/application.cr

Constant Summary

DEFAULT_TIME_ZONE = Time::Location.load(ENV["STAFF_TIME_ZONE"]? || "Australia/Sydney")

TODO : Move this to user model

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

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

NAMESPACE = ["/application"]

default namespace based on class

NOP_ATTEND = [] of Attendee

So we don't have to allocate array objects

NOP_G_ATTEND = [] of ::Google::Calendar::Attendee
PARSER_LIST = ["application/json"]
RESPONDER_LIST = ["application/json"]
STAFF_DOMAINS = (ENV["STAFF_DOMAINS"].split(",")).map(&.strip).reject(&.empty?)

Instance Method Summary

Instance methods inherited from module Utils::Responders

restrict_attributes(model, only : Array(String) | Nil = nil, except : Array(String) | Nil = nil, fields : Hash | Nil = nil) : Hash restrict_attributes, with_fields(model, fields) : Hash with_fields

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_token : UserJWT user_token

Instance methods inherited from module Utils::GoogleHelpers

calendar_for(sub = ADMIN_ACCOUNT) calendar_for, google_directory(user_token : String, view_type = "admin_view")
google_directory
google_directory

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 matching_calendar_ids

Instance Method Detail

def attending_guest(visitor : Attendee | Nil, guest : Guest | Nil, parent_meta = false, meeting_details = nil) #

[View source]
def check_jwt_scope #

[View source]
def configure_request_logging #

This makes it simple to match client requests with server side logs. When building microservices this ID should be propagated to upstream services.


[View source]
def get_event(event_id, cal_id) #

[View source]
def get_timezone #

Grab the users timezone


[View source]
def standard_event(calendar_id, system, event, metadata, is_parent_metadata = false) #

[View source]