mirror of
https://github.com/google/nomulus
synced 2026-02-04 03:52:33 +00:00
* Add GetServiceState action for MoSAPI service monitoring Implements the `/api/mosapi/getServiceState` endpoint to retrieve service health summaries for TLDs from the MoSAPI system. - Introduces `GetServiceStateAction` to fetch TLD service status. - Implements `MosApiStateService` to transform raw MoSAPI responses into a curated `ServiceStateSummary`. - Uses concurrent processing with a fixed thread pool to fetch states for all configured TLDs efficiently while respecting MoSAPI rate limits. junit test added * Refactor MoSAPI models to records and address review nits - Convert model classes to Java records for conciseness and immutability. - Update unit tests to use Java text blocks for improved JSON readability. - Simplify service and action layers by removing redundant logic and logging. - Fix configuration nits regarding primitive types and comment formatting. * Consolidate MoSAPI models and enhance null-safety - Moves model records into a single MosApiModels.java file. - Switches to ImmutableList/ImmutableMap with non-null defaults in constructors. - Removes redundant pass-through methods in MosApiStateService. - Updates tests to use Java Text Blocks and non-null collection assertions. * Improve MoSAPI client error handling and clean up data models Refactors the MoSAPI monitoring client to be more robust against infrastructure failures * Refactor: use nullToEmptyImmutableCopy() for MoSAPI models Standardize null-handling in model classes by using the Nomulus `nullToEmptyImmutableCopy()` utility. This ensures consistent API responses with empty lists instead of omitted fields.