MishkaGervaz.Table.Entities.DataLoader (MishkaGervaz v0.0.1-alpha.3)

Copy Markdown View Source

Entity struct for data_loader configuration.

Allows overriding data loading modules at DSL level.

Usage

Override entire data_loader module (positional argument):

data_loader MyApp.Table.CustomDataLoader

Override specific sub-builders (block syntax):

data_loader do
  query MyApp.Table.DataLoader.QueryBuilder
  filter_parser MyApp.Table.DataLoader.FilterParser
  pagination MyApp.Table.DataLoader.PaginationHandler
  tenant MyApp.Table.DataLoader.TenantResolver
  hooks MyApp.Table.DataLoader.HookRunner
  relation MyApp.Table.DataLoader.RelationLoader
end

Defaults

When no overrides are specified, the following defaults are used:

  • query - MishkaGervaz.Table.Web.DataLoader.QueryBuilder.Default
  • filter_parser - MishkaGervaz.Table.Web.DataLoader.FilterParser.Default
  • pagination - MishkaGervaz.Table.Web.DataLoader.PaginationHandler.Default
  • tenant - MishkaGervaz.Table.Web.DataLoader.TenantResolver.Default
  • hooks - MishkaGervaz.Table.Web.DataLoader.HookRunner.Default
  • relation - MishkaGervaz.Table.Web.DataLoader.RelationLoader.Default

See MishkaGervaz.Table.Dsl.DataLoader and MishkaGervaz.Table.Web.DataLoader.

Summary

Functions

Transform the data_loader after DSL compilation.

Types

t()

@type t() :: %MishkaGervaz.Table.Entities.DataLoader{
  __spark_metadata__: map() | nil,
  filter_parser: module() | nil,
  hooks: module() | nil,
  module: module() | nil,
  pagination: module() | nil,
  query: module() | nil,
  relation: module() | nil,
  tenant: module() | nil
}

Functions

transform(data_loader)

Transform the data_loader after DSL compilation.