Files
Mitgliederverwaltung/.plans/done/issue-20-member-entity-mapper.md
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

1.4 KiB

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