Class: Ibrain::Types::BaseApiField

Inherits:
GraphQL::Schema::Field
  • Object
show all
Defined in:
app/graphql/ibrain/types/base_api_field.rb

Instance Method Summary collapse

Constructor Details

#initialize(*args, session_required: true, roles: nil, active_required: true, authorize_required: true, **kwargs, &block) ⇒ BaseApiField

Returns a new instance of BaseApiField.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/graphql/ibrain/types/base_api_field.rb', line 8

def initialize(*args, session_required: true, roles: nil, active_required: true, authorize_required: true, **kwargs, &block)
  super(*args, camelize: false, **kwargs, &block)

  extension(Ibrain::Extentions::SessionRequired, session_required: session_required) if session_required
  extension(Ibrain::Extentions::Roles, roles: roles) if roles

  if Ibrain::Config. && active_required
    extension(Ibrain::Extentions::ActiveRequired)
  end

  required_roles = Ibrain::Config.authorize_resource_enabled_with_roles || []
  if required_roles.size.positive? && authorize_required
    extension(Ibrain::Extentions::AuthorizeRequired)
  end
end