refactor: Rename Property/PropertyType to CustomFieldValue/CustomField
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.
This commit is contained in:
Moritz 2025-11-13 17:58:12 +01:00
parent 47f18e9ef3
commit 8400e727a7
Signed by: moritz
GPG key ID: 1020A035E5DD0824
31 changed files with 1002 additions and 647 deletions

View file

@ -81,8 +81,8 @@ lib/
├── membership/ # Membership domain
│ ├── membership.ex # Domain definition
│ ├── member.ex # Member resource
│ ├── property.ex # Custom property resource
│ ├── property_type.ex # Property type resource
│ ├── custom_field_value.ex # Custom field value resource
│ ├── custom_field.ex # CustomFieldValue type resource
│ └── email.ex # Email custom type
├── mv/ # Core application modules
│ ├── accounts/ # Domain-specific logic
@ -121,8 +121,8 @@ lib/
│ │ │ ├── search_bar_component.ex
│ │ │ └── sort_header_component.ex
│ │ ├── member_live/ # Member CRUD LiveViews
│ │ ├── property_live/ # Property CRUD LiveViews
│ │ ├── property_type_live/
│ │ ├── custom_field_value_live/ # CustomFieldValue CRUD LiveViews
│ │ ├── custom_field_live/
│ │ └── user_live/ # User management LiveViews
│ ├── auth_overrides.ex # AshAuthentication overrides
│ ├── endpoint.ex # Phoenix endpoint
@ -740,14 +740,14 @@ end
# Good - preload relationships
members =
Member
|> Ash.Query.load(:properties)
|> Ash.Query.load(:custom_field_values)
|> Mv.Membership.list_members!()
# Avoid - causes N+1 queries
members = Mv.Membership.list_members!()
Enum.map(members, fn member ->
# This triggers a query for each member
Ash.load!(member, :properties)
Ash.load!(member, :custom_field_values)
end)
```
@ -1723,13 +1723,13 @@ end
# Good - preload relationships
members =
Member
|> Ash.Query.load([:properties, :user])
|> Ash.Query.load([:custom_field_values, :user])
|> Mv.Membership.list_members!()
# Avoid - causes N+1
members = Mv.Membership.list_members!()
Enum.map(members, fn member ->
properties = Ash.load!(member, :properties) # N queries!
custom_field_values = Ash.load!(member, :custom_field_values) # N queries!
end)
```
@ -1904,7 +1904,7 @@ defmodule Mv.Membership.Member do
@moduledoc """
Represents a club member with their personal information and membership status.
Members can have custom properties defined by the club administrators.
Members can have custom_field_values defined by the club administrators.
Each member is optionally linked to a user account for self-service access.
## Examples
@ -2050,7 +2050,7 @@ open doc/index.html
## [Unreleased]
### Added
- Member custom properties feature
- Member custom_field_values feature
- Email synchronization between user and member
### Changed
@ -2081,14 +2081,14 @@ open doc/index.html
```bash
# Create feature branch
git checkout -b feature/member-custom-properties
git checkout -b feature/member-custom-custom_field_values
# Work on feature
git add .
git commit -m "Add custom properties to members"
git commit -m "Add custom_field_values to members"
# Push to remote
git push origin feature/member-custom-properties
git push origin feature/member-custom-custom_field_values
```
### 8.2 Commit Messages
@ -2127,7 +2127,7 @@ Closes #123
```
fix: resolve N+1 query in member list
Preload properties relationship when loading members to avoid N+1 queries.
Preload custom_field_values relationship when loading members to avoid N+1 queries.
Performance improvement: reduced query count from 100+ to 2.
```