# `Xitdb.Ash.Resource`
[🔗](https://github.com/boxxxie/xitdb-elixir/blob/v1.0.1/lib/xitdb/ash/resource.ex#L2)

Spark DSL extension declaring Xitdb MDM collection mappings, synced field
projections, secondary B+Tree indexes, and lock actions on an `Ash.Resource`.

## Example

    defmodule MyApp.Accounts.Organization do
      use Ash.Resource,
        domain: MyApp.Accounts,
        extensions: [Xitdb.Ash.Resource]

      xitdb do
        store MyApp.MDM.Store
        collection :organizations
        merge_redirect_collection :org_merged_into
        locked_ids_set :locked_org_ids

        editable_fields [:name, :domain, :headquarters]
        passthru_fields [:creatio_id, :parent_organization_id]
        computed_xitdb_fields [:normalized_name, :activity_count]
        field_aliases parent_organization_id: :parent_org_id

        indexes(
          domain: "domain->org_id",
          normalized_name: "norm_name->org_id",
          creatio_id: "creatio_id->org_id"
        )
      end
    end

# `xitdb`
*macro* 

---

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