mirror of
https://github.com/google/nomulus.git
synced 2025-05-13 07:57:13 +02:00
Refactor ICANN reporting and billing into common package
This moves the default yearMonth logic into a common ReportingModule, rather than the coarse-scoped BackendModule, which may not want the default parameter extraction logic, as well as moving the 'yearMonth' parameter constant to the common package it's used in. This also provides a basis for future consolidation of the ReportingEmailUtils and BillingEmailUtils classes, which have modest overlap. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183130311
This commit is contained in:
parent
9d532cb507
commit
74ced1e907
71 changed files with 233 additions and 142 deletions
|
@ -11,7 +11,6 @@ java_library(
|
|||
"//java/google/registry/backup",
|
||||
"//java/google/registry/batch",
|
||||
"//java/google/registry/bigquery",
|
||||
"//java/google/registry/billing",
|
||||
"//java/google/registry/config",
|
||||
"//java/google/registry/cron",
|
||||
"//java/google/registry/dns",
|
||||
|
@ -31,6 +30,8 @@ java_library(
|
|||
"//java/google/registry/rde",
|
||||
"//java/google/registry/rde/imports",
|
||||
"//java/google/registry/reporting",
|
||||
"//java/google/registry/reporting/billing",
|
||||
"//java/google/registry/reporting/icann",
|
||||
"//java/google/registry/request",
|
||||
"//java/google/registry/request:modules",
|
||||
"//java/google/registry/request/auth",
|
||||
|
|
|
@ -16,9 +16,7 @@ package google.registry.module.backend;
|
|||
|
||||
import static google.registry.model.registry.Registries.assertTldExists;
|
||||
import static google.registry.model.registry.Registries.assertTldsExist;
|
||||
import static google.registry.request.RequestParameters.PARAM_YEAR_MONTH;
|
||||
import static google.registry.request.RequestParameters.extractOptionalDatetimeParameter;
|
||||
import static google.registry.request.RequestParameters.extractOptionalParameter;
|
||||
import static google.registry.request.RequestParameters.extractRequiredParameter;
|
||||
import static google.registry.request.RequestParameters.extractSetOfParameters;
|
||||
|
||||
|
@ -26,16 +24,11 @@ import com.google.common.collect.ImmutableSet;
|
|||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import google.registry.batch.ExpandRecurringBillingEventsAction;
|
||||
import google.registry.request.HttpException.BadRequestException;
|
||||
import google.registry.request.Parameter;
|
||||
import google.registry.request.RequestParameters;
|
||||
import google.registry.util.Clock;
|
||||
import java.util.Optional;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.YearMonth;
|
||||
import org.joda.time.format.DateTimeFormat;
|
||||
import org.joda.time.format.DateTimeFormatter;
|
||||
|
||||
/**
|
||||
* Dagger module for injecting common settings for all Backend tasks.
|
||||
|
@ -63,30 +56,4 @@ public class BackendModule {
|
|||
return extractOptionalDatetimeParameter(
|
||||
req, ExpandRecurringBillingEventsAction.PARAM_CURSOR_TIME);
|
||||
}
|
||||
|
||||
/** Extracts an optional YearMonth in yyyy-MM format from the request. */
|
||||
@Provides
|
||||
@Parameter(PARAM_YEAR_MONTH)
|
||||
static Optional<YearMonth> provideYearMonthOptional(HttpServletRequest req) {
|
||||
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM");
|
||||
Optional<String> optionalYearMonthStr = extractOptionalParameter(req, PARAM_YEAR_MONTH);
|
||||
try {
|
||||
return optionalYearMonthStr.map(s -> YearMonth.parse(s, formatter));
|
||||
} catch (IllegalArgumentException e) {
|
||||
throw new BadRequestException(
|
||||
String.format(
|
||||
"yearMonth must be in yyyy-MM format, got %s instead",
|
||||
optionalYearMonthStr.orElse("UNSPECIFIED YEARMONTH")));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the yearMonth in yyyy-MM format, if not specified in the request, defaults to one
|
||||
* month prior to run time.
|
||||
*/
|
||||
@Provides
|
||||
static YearMonth provideYearMonth(
|
||||
@Parameter(PARAM_YEAR_MONTH) Optional<YearMonth> yearMonthOptional, Clock clock) {
|
||||
return yearMonthOptional.orElseGet(() -> new YearMonth(clock.nowUtc().minusMonths(1)));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,10 +28,6 @@ import google.registry.batch.MapreduceEntityCleanupAction;
|
|||
import google.registry.batch.RefreshDnsOnHostRenameAction;
|
||||
import google.registry.batch.ResaveAllEppResourcesAction;
|
||||
import google.registry.batch.VerifyEntityIntegrityAction;
|
||||
import google.registry.billing.BillingModule;
|
||||
import google.registry.billing.CopyDetailReportsAction;
|
||||
import google.registry.billing.GenerateInvoicesAction;
|
||||
import google.registry.billing.PublishInvoicesAction;
|
||||
import google.registry.cron.CommitLogFanoutAction;
|
||||
import google.registry.cron.CronModule;
|
||||
import google.registry.cron.TldFanoutAction;
|
||||
|
@ -69,9 +65,14 @@ import google.registry.rde.imports.RdeDomainImportAction;
|
|||
import google.registry.rde.imports.RdeHostImportAction;
|
||||
import google.registry.rde.imports.RdeHostLinkAction;
|
||||
import google.registry.rde.imports.RdeImportsModule;
|
||||
import google.registry.reporting.IcannReportingModule;
|
||||
import google.registry.reporting.IcannReportingStagingAction;
|
||||
import google.registry.reporting.IcannReportingUploadAction;
|
||||
import google.registry.reporting.ReportingModule;
|
||||
import google.registry.reporting.billing.BillingModule;
|
||||
import google.registry.reporting.billing.CopyDetailReportsAction;
|
||||
import google.registry.reporting.billing.GenerateInvoicesAction;
|
||||
import google.registry.reporting.billing.PublishInvoicesAction;
|
||||
import google.registry.reporting.icann.IcannReportingModule;
|
||||
import google.registry.reporting.icann.IcannReportingStagingAction;
|
||||
import google.registry.reporting.icann.IcannReportingUploadAction;
|
||||
import google.registry.request.RequestComponentBuilder;
|
||||
import google.registry.request.RequestModule;
|
||||
import google.registry.request.RequestScope;
|
||||
|
@ -101,6 +102,7 @@ import google.registry.tmch.TmchSmdrlAction;
|
|||
MapreduceModule.class,
|
||||
RdeModule.class,
|
||||
RdeImportsModule.class,
|
||||
ReportingModule.class,
|
||||
RequestModule.class,
|
||||
SheetModule.class,
|
||||
TmchModule.class,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue