class Backend::Api::Context

Overview

GraphQL request context class

Defined in:

backend/api/context.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(status : Status, user : Db::User | Nil, admin : Bool | Nil, role : Schema::UserRole | Nil, external : Db::Teacher | Db::Student | Nil, jti : UUID | Nil) #

def self.new(headers : HTTP::Headers, status : Backend::Api::Context::Status = Status::OK, *rest) #

Instance Method Detail

def admin : Bool? #

User is admin


def admin! : Bool #

User is admin


def admin? : Bool #

User is admin


def authenticated! : Bool #

User is authenticated


def authenticated? : Bool #

User is authenticated


User's external object


def handle_exception(ex : Exception) : String | Nil #

Custom error handler


def jti : UUID? #

JTI of request token


Dataloaders


def on_development(&) : Nil #

User's role


def role!(roles : Array(Schema::UserRole), external_check = true) : Bool #

User's is one of roles


def role?(roles : Array(Schema::UserRole), external_check = true) : Bool #

User's is one of roles


Request status


def student!(external_check = true) : Bool #

User is student


def student?(external_check = true) : Bool #

User is student


def teacher!(external_check = true) : Bool #

User is teacher


def teacher?(external_check = true) : Bool #

User is teacher


def user : Backend::Db::User? #

Authenticated user