# `MishkaCmsMigration.Targets.Helpers.Written`
[🔗](https://github.com/mishka-group/mishka_cms_migration/blob/v0.0.1/lib/mishka_cms_migration/targets/__helpers/written.ex#L5)

The CMS records the same run, or an earlier one, wrote for a source's items of another kind, for
a target whose record points at them, such as a post's redirect at its post or a post's image at
its file: the items are read by the run's source host, the kind and their source ids
(`MishkaCmsMigration.MigrationItem`), and the records they were written to by their ids, as the
admin running the job (`MishkaCmsMigration.Targets.Helpers.Read`).

An item that was never written, or was skipped or failed, is left out, and so is one an admin left
out (its record, written by an earlier import, is not pointed at) and one whose record the CMS no
longer has or the admin may not read.

# `call`

```elixir
@spec call(
  Ash.Resource.t(),
  String.t(),
  [term()],
  MishkaCmsMigration.Target.context()
) :: %{
  required(String.t()) =&gt; struct()
}
```

The `resource` records written for the `kind` items `source_ids` name, by source id.

---

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