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
28 lines
1.4 KiB
Markdown
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
|