All checks were successful
continuous-integration/drone/push Build is passing
Complete refactoring of resources, database tables, code references, tests, and documentation for improved naming consistency.
48 lines
1.6 KiB
Elixir
48 lines
1.6 KiB
Elixir
defmodule Mv.Membership do
|
|
@moduledoc """
|
|
Ash Domain for membership management.
|
|
|
|
## Resources
|
|
- `Member` - Club members with personal information and custom field values
|
|
- `CustomFieldValue` - Dynamic custom field values attached to members
|
|
- `CustomField` - Schema definitions for custom fields
|
|
|
|
## Public API
|
|
The domain exposes these main actions:
|
|
- Member CRUD: `create_member/1`, `list_members/0`, `update_member/2`, `destroy_member/1`
|
|
- Custom field value management: `create_custom_field_value/1`, `list_custom_field_values/0`, etc.
|
|
- Custom field management: `create_custom_field/1`, `list_custom_fields/0`, etc.
|
|
|
|
## Admin Interface
|
|
The domain is configured with AshAdmin for management UI.
|
|
"""
|
|
use Ash.Domain,
|
|
extensions: [AshAdmin.Domain, AshPhoenix]
|
|
|
|
admin do
|
|
show? true
|
|
end
|
|
|
|
resources do
|
|
resource Mv.Membership.Member do
|
|
define :create_member, action: :create_member
|
|
define :list_members, action: :read
|
|
define :update_member, action: :update_member
|
|
define :destroy_member, action: :destroy
|
|
end
|
|
|
|
resource Mv.Membership.CustomFieldValue do
|
|
define :create_custom_field_value, action: :create
|
|
define :list_custom_field_values, action: :read
|
|
define :update_custom_field_value, action: :update
|
|
define :destroy_custom_field_value, action: :destroy
|
|
end
|
|
|
|
resource Mv.Membership.CustomField do
|
|
define :create_custom_field, action: :create
|
|
define :list_custom_fields, action: :read
|
|
define :update_custom_field, action: :update
|
|
define :destroy_custom_field, action: :destroy
|
|
end
|
|
end
|
|
end
|