# `Diffo.Provider.Characteristic.Extension.Transformers.GenerateActions`
[🔗](https://github.com/diffo-dev/diffo/blob/v0.9.0/lib/diffo/provider/components/characteristic/extension/transformers/generate_actions.ex#L5)

Synthesises default `:create` and `:update` actions on
`BaseCharacteristic`-derived resources from the resource's declared public
attributes.

`:create` accepts `[:name | <public_attrs>]` with `:instance_id` and
`:feature_id` `:uuid` arguments and corresponding `manage_relationship`
changes. `:update` accepts `<public_attrs>` only.

Consumers that declare their own `:create` or `:update` action take
precedence — `add_new_action/4` will not replace an existing one.

System attributes (`:id`, timestamps, the BaseCharacteristic `:name` slot)
are excluded from the synthesised lists; `:name` is included on `:create`
only.

# `after?`

# `after_compile?`

# `before?`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
