Commit graph

322 commits

Author SHA1 Message Date
oleghasjanov
56e0b1909d Add company register deletion reason to force delete notes
Update schedule_force_delete to include kandeliik_tekstina as a parameter
Modify soft_delete_company to include kandeliik_tekstina parameter
Append company registry deletion reason to force delete notes when available
Pass nil to schedule_force_delete when company details response is empty
2025-05-05 14:20:25 +03:00
oleghasjanov
ae96863b88 feat: Implement P12 certificate generation improvements
- Replace hardcoded P12 password with randomly generated one
- Add p12_password column to certificates table
- Update certificate serializer to include p12 password in response
- Remove deprecated certificate revocation logic
- Add tests for certificate revocation functionality
- Implement async P12 generation via Sidekiq job
- Add job uniqueness to prevent parallel certificate generation

Migration changes:
- Replace p12_password_digest with p12_password column
- Add safety measures for column removal
2025-04-16 11:47:52 +03:00
oleghasjanov
bfecc3c40e refactor: improve force delete domain status tracking
- Add force_delete_domain_statuses_history_data to store force delete metadata
- Update force delete queries to use new JSON status history
- Refactor force delete tests to use travel_to helper
- Remove direct force_delete_start field usage
- Update status notes to include company identification number
2025-04-01 13:52:43 +03:00
oleghasjanov
917e426d91 feat: Add lifted force delete domains to daily admin notification
- Add tracking of lifted force delete domains with reason and date in json_statuses_history
- Modify ForceDeleteDailyAdminNotifierJob to include both force deleted and lifted domains
- Update admin mailer template to show separate tables for force deleted and lifted domains
- Update tests to reflect new functionality and fix timing issues with yesterday's data

Key changes:
- Store lift reason and date when canceling force delete
- Add new query method for finding lifted force delete domains
- Split email template into two sections
- Fix tests to properly handle the yesterday time window
2025-03-31 16:07:04 +03:00
oleghasjanov
ea8fa01f9b refactor 2025-03-06 11:51:01 +02:00
oleghasjanov
a11c0fca2d fix: handle HTTPClient::KeepAliveDisconnected in OrgRegistrantPhoneCheckerJob
This commit implements a reliable connection error handling solution for the
Company Register API integration. The job previously failed when connection
errors occurred without proper recovery mechanisms.
The implementation:
Adds a lightweight Retryable module with configurable retry logic
Implements smart caching of API responses (1 day expiration)
Handles common network errors like KeepAliveDisconnected and timeouts
Provides a fallback mechanism when all retry attempts fail
Ensures test reliability with cache-skipping in test environment
Testing:
Added specific tests for both recovery and fallback scenarios
Verified cache behavior in production and test environments
Resolves connection errors observed in production logs without adding
unnecessary complexity to the codebase.
2025-03-06 11:38:09 +02:00
oleghasjanov
be5bba09fb Refactor force delete notifications and improve status handling
- Add force delete type and start date to notifications
- Extract company status notes logic into separate method
- Standardize status message formatting for both soft and fast track deletes
- Update translation templates to include force delete type and start date info
- Add Estonian translation for new notification fields
2025-02-17 12:31:51 +02:00
oleghasjanov
f61baf32c5 commit
fix: improve company register status messages

- Update error message for missing company in registry
- Clarify status message format for existing companies
- Update dependencies: logger (1.6.5) and net-smtp (0.5.1)

The changes make company status messages more descriptive and clearer
for administrators when a company's registration status triggers domain
deletion. Messages now explicitly state whether a contact was not found
or has a specific status in the business registry.
2025-02-05 11:26:45 +02:00
oleghasjanov
a625388df4 fixed reason info 2025-02-03 14:08:50 +02:00
oleghasjanov
b1e079340e refactor: Improve company status handling logic
- Extract liquidation email logic into separate method `send_email_for_liquidation`
- Add early return for bankrupt companies
- Remove redundant logging for bankrupt companies
- Simplify status handling conditions
2025-02-03 14:08:50 +02:00
oleghasjanov
bf2a038e3a refactor: Extract company status handling logic
- Move company status handling logic into a separate method `handle_company_statuses`
- Improve code readability by splitting proceed_company_status method
- Keep status update logic after handling company statuses
2025-02-03 14:08:50 +02:00
oleghasjanov
7392ce2d76 refactor: Extract company status handling logic
- Move company status handling logic into a separate method `handle_company_statuses`
- Improve code readability by splitting proceed_company_status method
- Keep status update logic after handling company statuses
2025-02-03 14:08:50 +02:00
oleghasjanov
78be26c0d4 send liquidated email only once 2025-02-03 14:08:50 +02:00
oleghasjanov
88f884ca47 fix: skip non-scheduled domains in lift_force_delete
Only attempt to cancel force delete for domains that actually have it scheduled.
This prevents unnecessary method calls and potential errors.
2025-02-03 14:08:50 +02:00
oleghasjanov
96fae4a8d4 fix: adjust template_name access for hstore field
Use direct accessor method for template_name instead of hash access since force_delete_data is stored as hstore
2025-02-03 14:08:50 +02:00
oleghasjanov
23c010f034 added new pattern for FD lifted 2025-02-03 14:08:50 +02:00
oleghasjanov
d126944ad7 reverse 2025-02-03 14:08:50 +02:00
oleghasjanov
19df0cd57f fix tests -> count of running jobs were decreased 2025-02-03 14:08:50 +02:00
oleghasjanov
38fdc35496 Remove extra update 2025-02-03 14:08:50 +02:00
oleghasjanov
0829f387f2 added days interval 2025-02-03 14:08:50 +02:00
oleghasjanov
92f82194e1 change registrant query 2025-02-03 14:08:50 +02:00
oleghasjanov
8a93a8b4d2 feat: enhance soft delete process for invalid companies
- Add email notification for soft delete process
- Include company status information in force delete notes
- Add validation check to prevent duplicate force delete scheduling
- Pass additional context (reason, email) to force delete process

This improves the soft delete process by providing more detailed
information about why the domain is being force deleted and ensures
proper notification to the contact.
2025-02-03 14:08:50 +02:00
oleghasjanov
2ec545b3aa feat: add status notes to force delete notifications
- Add notes parameter to force delete interactions to provide more context
- Include company registry status in force delete notifications
- Add status mapping constants for better readability
- Move status note assignment before save in force delete process

Technical details:
- Add notes field to Domains::ForceDelete::Base interaction
- Update force delete notifications to include status notes
- Add REGISTRY_STATUSES mapping in CompanyRegisterStatusJob
- Update tests to verify new notification format
2025-02-03 14:08:50 +02:00
oleghasjanov
45c77f7052 fix: improve company registry data processing
- Switch company_register branch to issues-with-upcoming-data
- Convert ident to string when querying company data
- Add extended logging in CompanyRegisterStatusJob
- Disable automatic merging in renovate.json

Technical changes:
- Update dependencies: date, net-protocol, net-smtp, timeout
2025-02-03 14:08:48 +02:00
oleghasjanov
a0a055a033 commit
fix: add nil check for registrant in phone checker job

Add a guard clause to handle cases where registrant_user is not found
in execute_single_checker method. This prevents potential NoMethodError
when trying to check phone number for non-existent registrant.

Previously the method would raise an error when registrant_user_code
was invalid or not found in the database.
2025-02-01 14:06:52 +02:00
oleghasjanov
803276d8c8 Add phone number validation for Estonian organization contacts
- 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.
2025-01-30 12:49:20 +02:00
oleghasjanov
429e2644d6 Fix registrant user lookup in phone checker job
- 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
2025-01-30 10:57:45 +02:00
oleghasjanov
fe880ab3d1 refactor 2025-01-29 14:50:33 +02:00
oleghasjanov
d3d91b5294 Update company_register gem and fix logger dependency
- Switch company_register gem to 'issues-with-upcoming-data' branch
- Add concurrent-ruby 1.3.4 to fix ThreadSafeLevel logger error
- Update various gem dependencies

Resolves logger initialization error related to ActiveSupport::Logger::ThreadSafeLevel
2025-01-29 14:47:51 +02:00
oleghasjanov
4b52284a86 Remove debug output from force delete process
WHAT:
- Removed debug output line from PostSetProcess
- Fixed force_delete_start date comparison in admin notifier job

WHY:
- Debug output was adding noise to logs and wasn't necessary

HOW:
- Removed puts statement for domain status debugging
- Changed query to use exact timestamp comparison for force_delete_start
2024-12-19 14:27:47 +02:00
oleghasjanov
292a4fddc5 fixed tests: updated gems; improve company register status job and test stability
- Refactor CompanyRegisterStatusJob for better readability and error handling
- Update whitelisted_companies to use JSON parsing with fallback
- Fix company register status check in tests with proper mock data
- Remove debug logging statements
- Add null check for domain status notes
- Update test dependencies (Capybara and Selenium) for better stability
2024-11-13 15:04:39 +02:00
oleghasjanov
3cf4e29531 change unique collection from by ident to code 2024-11-08 12:46:17 +02:00
oleghasjanov
c4f35522ca mend 2024-11-08 12:46:17 +02:00
oleghasjanov
ba9aeb437d remove logs, fixed company register status job 2024-11-08 12:46:17 +02:00
oleghasjanov
a13ef33628 fixed method for check force delete 2024-11-08 12:46:15 +02:00
oleghasjanov
6ff5e55a24 business contact validation + tests 2024-11-08 12:45:12 +02:00
Oleg Hasjanov
20cbdbfa75 added validation command 2024-02-12 14:12:04 +02:00
Oleg Hasjanov
2b4a0c11da added incldue to the dataset 2023-08-22 14:17:27 +03:00
Oleg Hasjanov
7d9d688c29 added check email for contacts 2023-08-22 14:09:31 +03:00
Oleg Hasjanov
5e694ce5a0 fixed logging spam 2023-08-22 13:10:24 +03:00
Sergei Tsoganov
39fe0e3ffe Fix codeclimate issue 2023-05-18 09:11:51 +03:00
Sergei Tsoganov
4094f9c563 Fixed codeclimate issue 2023-05-17 16:26:19 +03:00
Sergei Tsoganov
d3bca1434c Refactored and corrected code for domain force delete 2023-05-17 16:04:40 +03:00
olegphenomenon
4c8b345ecf added cleaner for disputed domains with the closed disputed 2022-12-07 14:17:27 +02:00
olegphenomenon
51dd9dc112 added condition for send expired email 2022-12-02 12:41:55 +02:00
Sergei Tsõganov
3ae24f2f68
Merge branch 'master' into monthly-invoices-fix 2022-12-01 14:36:20 +02:00
Sergei Tsoganov
03778ee842 Added overwrite feature to SendMonthlyInvoicesJob 2022-11-24 13:49:54 +02:00
Timo Võhmar
e4740ffceb
Merge pull request #2437 from internetee/2436-fd-process-for-long-term-registrations
outzone rake task for invalid email domains
2022-11-02 15:53:11 +02:00
Thiago Youssef
dbbe3acb2a fix check force delete lift poll messages 2022-10-15 13:14:56 -03:00
Sergei Tsõganov
51066fe4b4 Handling of cancelled monthly invoices 2022-10-13 09:02:48 +03:00