b29a268b1d
- 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
1.4 KiB
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
- Create
lib/Db/Member.php- Entity extending\OCP\AppFramework\Db\Entity - Create
lib/Db/MemberMapper.php- QBMapper with required query methods - Create
lib/Db/Address.php- Entity for addresses - Create
lib/Db/AddressMapper.php- QBMapper for addresses - Create
lib/Db/Phone.php- Entity for phones - Create
lib/Db/PhoneMapper.php- QBMapper for phones - Create
lib/Db/Email.php- Entity for emails - Create
lib/Db/EmailMapper.php- QBMapper for emails
AC Verification Checklist
- Member entity extends Entity with all mv_members columns mapped
- MemberMapper extends QBMapper with findById, findAll, findByFamily, findByStatus, findByStufe, search methods
- Address/Phone/Email entities created with proper column mappings
- AddressMapper/PhoneMapper/EmailMapper created with findByMemberId methods
- All PHP classes have correct namespace and imports
- Mapper constructors use IDBConnection correctly
- PHP syntax is valid