MishkaGervaz.Form.Verifiers.ValidateSource (MishkaGervaz v0.0.2)

Copy Markdown View Source

Validates the source section of MishkaGervaz form DSL.

Ensures every required action (create, update, read) is defined either on the resource or inherited from the domain. Resource overrides win when both are set.

Every action named that way — master and tenant alike — must be an action of the resource, of the matching kind: create a create action, update an update action, read a read action. A mode closed with access :create, false or access :update, false is not checked: create belongs to :create, update and read to :update.

The verifier short-circuits when no fields are declared (a form without fields has no source to consume).

Each failure is a Spark.Error.DslError, which Spark prints as a compile warning. Compile with --warnings-as-errors to fail the build on it.

master_check is not checked here: MishkaGervaz.Form.Transformers.MergeDefaults.merge_master_check_default/1 persists a fallback MFA when neither resource nor domain defines one.

See MishkaGervaz.Form.Dsl.Source, MishkaGervaz.Form.Transformers.MergeDefaults, MishkaGervaz.Form.Verifiers.Helpers, and sibling verifiers.