mitgliederverwaltung/docs/documentation-sync-todos.md
2026-01-20 14:31:13 +01:00

116 lines
4.5 KiB
Markdown

# Documentation Sync - Code Adjustments Todo List
**Created:** 2026-01-13
**Purpose:** List of all code adjustments identified based on documentation synchronization
## Code Adjustments (Priority: Low)
### 1. Domain Public API Documentation Incomplete
**Problem:** The `@moduledoc` in domain modules does not list all public functions.
**Affected Files:**
- `lib/membership/membership.ex` - Missing functions in Public API:
- `list_required_custom_fields/0`
- `update_member_field_visibility/2`
- `update_single_member_field_visibility/3`
- `lib/accounts/accounts.ex` - Very short Public API documentation, could be more detailed
- `lib/membership_fees/membership_fees.ex` - Public API is complete, but could more clearly document that LiveViews use direct Ash calls
**Priority:** Low (Documentation, no functionality affected)
**Recommendation:** Update Public API sections in all domain modules to list all public functions.
### 2. Outdated Comments in MemberLive.Form
**Problem:** `@moduledoc` in `lib/mv_web/live/member_live/form.ex` still mentions "Payment Data: Mockup section (not editable)", but Membership Fees are now fully implemented.
**Affected File:**
- `lib/mv_web/live/member_live/form.ex` (Line 16)
**Priority:** Low (Documentation, no functionality affected)
**Recommendation:** Update `@moduledoc` to reflect the current status.
### 3. Mv.Accounts Domain Public API Missing Completely
**Problem:** The `@moduledoc` in `lib/accounts/accounts.ex` does not mention any Public API functions, although several are defined.
**Affected File:**
- `lib/accounts/accounts.ex` - Missing Public API documentation for:
- `create_user/1`
- `list_users/0`
- `update_user/2`
- `destroy_user/1`
- `create_register_with_rauthy/1`
- `read_sign_in_with_rauthy/1`
**Priority:** Low (Documentation, no functionality affected)
**Recommendation:** Add Public API section to `@moduledoc`, similar to other domain modules.
### 4. Mv.Authorization Domain Public API Missing get_role/1
**Problem:** The `@moduledoc` in `lib/mv/authorization/authorization.ex` does not list `get_role/1` in the Public API, although it is defined.
**Affected File:**
- `lib/mv/authorization/authorization.ex` - Missing function in Public API:
- `get_role/1` (is defined, but not mentioned in Public API)
**Priority:** Low (Documentation, no functionality affected)
**Recommendation:** Add `get_role/1` to the Public API list.
### 5. Remove Deprecated Implementations
**Problem:** `lib/mv_web/live/custom_field_value_live/show.ex` `MvWeb.ContributionTypeLive.Index` and `MvWeb.ContributionPeriodLive.Show` are deprecated, they should be removed.
### 6. Missing Tests for Some LiveViews
**Problem:** Some LiveViews do not have corresponding test files.
**Affected LiveViews:**
- `MvWeb.UserLive.Show` - No test present
- `MvWeb.RoleLive.Show` - No test present
**Priority:** Medium (Test coverage could be improved)
**Recommendation:** Add tests for the three Show LiveViews to ensure complete test coverage.
### 7. Mv.Accounts.Token @moduledoc Too Short
**Problem:** The `@moduledoc` in `lib/accounts/token.ex` is very short and not informative.
**Affected File:**
- `lib/accounts/token.ex` - Currently only: "AshAuthentication specific ressource"
**Priority:** Low (Documentation, no functionality affected)
**Recommendation:** Expand @moduledoc to explain that this is an AshAuthentication Token Resource and is used for session management.
### 8. PageController Missing @moduledoc
**Problem:** The `@moduledoc` in `lib/mv_web/controllers/page_controller.ex` is completely missing.
**Affected File:**
- `lib/mv_web/controllers/page_controller.ex` - No @moduledoc present
**Priority:** Low (Documentation, no functionality affected)
**Recommendation:** Add @moduledoc to explain that this controller renders the homepage.
**Note:** Other controller modules (Router, Endpoint, Telemetry) also do not have @moduledoc, but this is common and acceptable for standard Phoenix modules.
## Analysis Summary
### Found Inconsistencies
**1. Domain Public API Documentation Incomplete** (see Code Adjustments #1)
**2. Outdated Comments in MemberLive.Form** (see Code Adjustments #2)
**3. Mv.Accounts Domain Public API Missing Completely** (see Code Adjustments #3)
**4. Mv.Authorization Domain Public API Missing get_role/1** (see Code Adjustments #4)
**5. CustomFieldValueLive.Show is Deprecated** (see Code Adjustments #5)
**6. Missing Tests for Some LiveViews** (see Code Adjustments #6)
**7. Mv.Accounts.Token @moduledoc Too Short** (see Code Adjustments #7)
**8. PageController Missing @moduledoc** (see Code Adjustments #8)