feat: make technical contacts optional for all domains
- Remove automatic tech contact assignment from admin contacts
- Set minimum tech contacts to 0 for all registrant types
- Update tests to reflect optional tech contacts
- Keep max tech contacts limit from settings
This change implements the requirement to make technical contacts optional
for all domain types while maintaining the maximum limit from settings.
Previously tech contacts were required for organizations and automatically
copied from admin contacts.
- Remove validate_admin_contact_type validation
- Extract age calculation logic into separate methods
- Add helper methods for Estonian ID and birthday age checks
- Improve code organization and readability
- Split complex require_admin_contacts? method into smaller methods
- Add validation requiring admin contacts for legal entity registrants
- Add validation requiring admin contacts for underage private registrants:
- Under 18 years old for birthday-based identification
- Under 18 years old for Estonian ID numbers
- Make admin contacts optional for:
- Adult private registrants (18+ years)
- Adult Estonian ID holders
- Non-Estonian private registrants
- Add tests covering all new validation scenarios
- Add helper methods to calculate age and parse Estonian ID birth dates
- Add OrgRegistrantPhoneCheckerJob execution for contact creation and update
- Rename validate_* methods to maybe_validate_* for consistency
- Add tests for phone number validation in REPP API
- Fix method naming and add proper job arguments
This ensures phone numbers are validated against company register data
for Estonian organization contacts after creation or update.
- Replace RegistrantUser.find_by with Contact model query
- Add proper scoping for organization contacts from Estonia
- Include join with registrant domains
This ensures consistent contact lookup between bulk and single checker methods
This change makes admin contacts optional for private registrants while keeping them mandatory for organizations. The changes include:
- Updated Domain model validations to make admin and tech contacts optional (min=0) for private registrants
- Added validation rules methods to handle different requirements based on registrant type
- Modified EPP domain creation to support domains without admin contacts for private registrants
- Updated attach_default_contacts to skip adding contacts for private registrants
- Added comprehensive test coverage for:
- Domain model validations with private/org registrants
- EPP domain creation without admin contacts for private registrants
- REPP API contact management for private registrants
This implements the requirement to make admin contacts optional for private registrations of .ee domains while maintaining the existing validation rules for organizations.