Introspection helpers for the dyan DSL configuration of a resource.
These read back the whitelist declared in the dyan do ... end section so the
engine can validate runtime requests against it.
Summary
Functions
Returns the list of attributes a runtime request may filter on.
Returns true if the resource declares any analyzable fields at all.
Returns the AnalyzableField for a given name and type, or nil.
Returns the list of AshDyan.Dsl.AnalyzableField entities for a resource.
Returns the default row limit.
Returns the maximum number of group_by fields allowed.
Returns the maximum row limit (hard cap).
Returns the configured per-request query timeout (ms).
Functions
Returns the list of attributes a runtime request may filter on.
Returns true if the resource declares any analyzable fields at all.
@spec analyzable_field( module(), atom(), :frequency | :aggregate | :time_bucket | :percentile ) :: AshDyan.Dsl.AnalyzableField.t() | nil
Returns the AnalyzableField for a given name and type, or nil.
@spec analyzable_fields(module()) :: [AshDyan.Dsl.AnalyzableField.t()]
Returns the list of AshDyan.Dsl.AnalyzableField entities for a resource.
Reads the normalized, persisted view produced by the SetDefaults
transformer at compile time for fast runtime access.
@spec default_limit(module()) :: pos_integer()
Returns the default row limit.
@spec max_group_by(module()) :: pos_integer()
Returns the maximum number of group_by fields allowed.
@spec max_limit(module()) :: pos_integer()
Returns the maximum row limit (hard cap).
@spec query_timeout(module()) :: pos_integer()
Returns the configured per-request query timeout (ms).