Modules
Diffo - TMF Service and Resource Management with a difference
Provider API endpoint
Ash Typed Struct for Assignable Characteristic Value
Helper to perform Assignment maintaining AssignableValue
Ash Typed Struct for Assignment
Ash Resource Fragment which is the point of extension for your TMF Service or Resource Instance.
Ash Resource Fragment which is a the point of extension for your TMF Party
Ash Resource Fragment which is the point of extension for your TMF Place.
Ash Resource for a TMF Characteristic
Ash Resource for a TMF Entity
Ash Resource for a TMF Entity Reference
Ash Resource for a TMF Event
Ash Resource for a TMF ExternalIdentifier
Ash Resource for a TMF Feature
Ash Resource for a TMF Service or Resource Instance
DSL Extension customising an Instance.
PartyDeclaration - DSL entity declaring a party role on an Instance
Persists characteristic declarations and bakes characteristics/0
Persists feature declarations and bakes features/0
Persists party declarations and bakes parties/0
Persists place declarations and bakes places/0
Normalises specification DSL options, persists them, and bakes specification/0
PlaceDeclaration - DSL entity declaring a place role on an Instance
Generates build_before/1 and build_after/2, and injects build arguments into declared create actions
Verifies that actions declared in behaviour do exist as Ash actions of the correct type
Verifies that characteristic names are unique and value_type modules exist
Verifies that feature names are unique, feature characteristic names are unique, and value_type modules exist
Verifies party role declarations — no duplicates, party_type modules must exist
Verifies that the specification DSL values satisfy the Specification resource's attribute constraints
Public introspection API for resources extending Diffo.Provider.BaseInstance
Ash Resource for a TMF Note
Ash Resource for a TMF Party
DSL Extension customising a Party.
InstanceRole - DSL entity declaring a role this Party kind plays with respect to Instances
PartyRole - DSL entity declaring a role this Party kind plays with respect to other Parties
Persists instance role declarations and bakes instances/0
Persists party role declarations and bakes parties/0
Persists place role declarations and bakes places/0
PlaceRole - DSL entity declaring a role this Party kind plays with respect to Places
Verifies role declarations across instances, parties, and places sections
Ash Resource for a TMF PartyRef
Ash Resource for a TMF Place
DSL Extension customising a Place.
InstanceRole - DSL entity declaring a role this Place kind plays with respect to Instances
PartyRole - DSL entity declaring a role this Place kind plays with respect to Parties
Persists instance role declarations and bakes instances/0
Persists party role declarations and bakes parties/0
Persists place role declarations and bakes places/0
PlaceRole - DSL entity declaring a role this Place kind plays with respect to other Places
Verifies role declarations across instances, parties, and places sections
Ash Resource for a TMF Place Reference
Ash Resource for a TMF ProcessStatus
Ash Resource for a TMF Service or Resource Relationship
Ash Resource for a TMF Service or Resource Specification.
Diffo.Type.Dynamic is an Ash.Type.NewType for values whose exact type is not known until
runtime. The :type field holds the Ash.Type.NewType module and :value holds the cast value.
Diffo.Type.Primitive is a discriminated union of primitive types: string, integer, float,
boolean, date, time, datetime, and duration.
Diffo.Type.Value is an Ash.Type.NewType union that holds either a Diffo.Type.Primitive
or a Diffo.Type.Dynamic value.
Diffo.Unwrap is a protocol for extracting the underlying Elixir value from Diffo and Ash
wrapper types. It is defined with @fallback_to_any true, so any value without an explicit
implementation is returned unchanged.
Utility methods
Validate and/or create Uuid
Mix Tasks
Installs Diffo