Module: RailsAuditLog::Graphql

Defined in:
lib/rails_audit_log/graphql.rb,
lib/rails_audit_log/graphql/testing.rb,
lib/rails_audit_log/graphql/version.rb,
lib/rails_audit_log/graphql/schema_plugin.rb,
lib/rails_audit_log/graphql/release_tooling.rb,
lib/rails_audit_log/graphql/types/diff_type.rb,
lib/rails_audit_log/graphql/types/actor_type.rb,
lib/rails_audit_log/graphql/types/base_object.rb,
lib/rails_audit_log/graphql/testing/rspec_matchers.rb,
lib/rails_audit_log/graphql/types/base_subscription.rb,
lib/rails_audit_log/graphql/subscriptions/broadcaster.rb,
lib/rails_audit_log/graphql/types/sort_direction_enum.rb,
lib/rails_audit_log/graphql/types/audit_log_entry_type.rb,
lib/rails_audit_log/graphql/sources/record_by_id_source.rb,
lib/rails_audit_log/graphql/testing/minitest_assertions.rb,
lib/rails_audit_log/graphql/types/audit_log_json_scalar.rb,
lib/rails_audit_log/graphql/types/audited_resource_type.rb,
lib/rails_audit_log/graphql/queries/audit_log_entries_query_mixin.rb,
lib/rails_audit_log/graphql/subscriptions/audit_log_entry_created.rb,
lib/rails_audit_log/graphql/types/audit_log_entry_sort_field_enum.rb,
lib/rails_audit_log/graphql/input_objects/audit_log_entry_sort_input.rb,
lib/rails_audit_log/graphql/subscriptions/audit_log_subscriptions_mixin.rb

Overview

GraphQL API layer for rails_audit_log.

Provides ready-made types, queries, subscriptions, and test helpers for exposing rails_audit_log audit log entries through a graphql-ruby schema.

Configuration

Override query-protection defaults in an initializer:

RailsAuditLog::Graphql.max_complexity      = 500
RailsAuditLog::Graphql.max_depth           = 15
RailsAuditLog::Graphql.default_max_page_size = 50

These values are picked up by SchemaPlugin when it is included in the host schema.

Defined Under Namespace

Modules: InputObjects, Queries, ReleaseTooling, SchemaPlugin, Sources, Subscriptions, Testing, Types Classes: Error

Constant Summary collapse

VERSION =
"1.0.0"

Class Attribute Summary collapse

Class Attribute Details

.default_max_page_sizeInteger

Default maximum page size for Relay connections. Used by graphql-ruby when calculating connection complexity. Default: 25.

Returns:

  • (Integer)


64
65
66
# File 'lib/rails_audit_log/graphql.rb', line 64

def default_max_page_size
  @default_max_page_size
end

.max_complexityInteger

Maximum allowed query complexity score. Queries whose field-complexity sum exceeds this value are rejected. Default: 200.

Returns:

  • (Integer)


52
53
54
# File 'lib/rails_audit_log/graphql.rb', line 52

def max_complexity
  @max_complexity
end

.max_depthInteger

Maximum allowed query depth. Queries nested deeper than this value are rejected. Default: 10.

Returns:

  • (Integer)


58
59
60
# File 'lib/rails_audit_log/graphql.rb', line 58

def max_depth
  @max_depth
end