API Reference Diffo v#0.2.2

Copy Markdown View Source

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.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