Files
Mitgliederverwaltung/.plans/done/issue-20-member-entity-mapper.md
T
shahondin1624 b29a268b1d Restructure .plans/ into done/ and open/ subdirectories
- Move completed plan files to .plans/done/
- Move 18 open plan files to .plans/open/
- Update .gitignore to exclude .verified_plans temp file
- Verified all 18 open plans still describe unimplemented issues
2026-04-28 20:30:55 +02:00

28 lines
1.4 KiB
Markdown

# Plan: Issue #20 - Create Member entity and mapper
## Summary
Create entity classes (Member, Address, Phone, Email) and their corresponding QBMapper
classes. The Member entity maps all columns from oc_mv_members. The MemberMapper provides
standard CRUD plus query methods (findById, findAll, findByFamily, findByStatus, findByStufe,
search). Sub-entity mappers (AddressMapper, PhoneMapper, EmailMapper) allow loading related data.
## Steps
1. Create `lib/Db/Member.php` - Entity extending `\OCP\AppFramework\Db\Entity`
2. Create `lib/Db/MemberMapper.php` - QBMapper with required query methods
3. Create `lib/Db/Address.php` - Entity for addresses
4. Create `lib/Db/AddressMapper.php` - QBMapper for addresses
5. Create `lib/Db/Phone.php` - Entity for phones
6. Create `lib/Db/PhoneMapper.php` - QBMapper for phones
7. Create `lib/Db/Email.php` - Entity for emails
8. Create `lib/Db/EmailMapper.php` - QBMapper for emails
## AC Verification Checklist
1. [ ] Member entity extends Entity with all mv_members columns mapped
2. [ ] MemberMapper extends QBMapper with findById, findAll, findByFamily, findByStatus, findByStufe, search methods
3. [ ] Address/Phone/Email entities created with proper column mappings
4. [ ] AddressMapper/PhoneMapper/EmailMapper created with findByMemberId methods
5. [ ] All PHP classes have correct namespace and imports
6. [ ] Mapper constructors use IDBConnection correctly
7. [ ] PHP syntax is valid