mirror of
https://github.com/google/nomulus.git
synced 2025-07-25 20:18:34 +02:00
Set HistoryEntry modification time in FlowModule (#1222)
* Set HistoryEntry modification time in FlowModule Rather than having to set it individually to now (the current transaction time) in every transactional flow, just do it once at the beginning when the HistoryEntry.Builder is first being provided. This is also safer, as just doing it in one place gives us stronger guarantees that it always corresponds to the execution time of the flow, rather than leaving the potential open that in one flow it's unintentionally set to the wrong thing.
This commit is contained in:
parent
b4a6553937
commit
33221cc9f8
20 changed files with 37 additions and 82 deletions
|
@ -15,6 +15,7 @@
|
||||||
package google.registry.flows;
|
package google.registry.flows;
|
||||||
|
|
||||||
import static com.google.common.base.Preconditions.checkState;
|
import static com.google.common.base.Preconditions.checkState;
|
||||||
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
|
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
|
@ -222,6 +223,7 @@ public class FlowModule {
|
||||||
String clientId,
|
String clientId,
|
||||||
EppInput eppInput) {
|
EppInput eppInput) {
|
||||||
builder
|
builder
|
||||||
|
.setModificationTime(tm().getTransactionTime())
|
||||||
.setTrid(trid)
|
.setTrid(trid)
|
||||||
.setXmlBytes(inputXmlBytes)
|
.setXmlBytes(inputXmlBytes)
|
||||||
.setBySuperuser(isSuperuser)
|
.setBySuperuser(isSuperuser)
|
||||||
|
|
|
@ -93,7 +93,6 @@ public final class ContactCreateFlow implements TransactionalFlow {
|
||||||
validateContactAgainstPolicy(newContact);
|
validateContactAgainstPolicy(newContact);
|
||||||
historyBuilder
|
historyBuilder
|
||||||
.setType(HistoryEntry.Type.CONTACT_CREATE)
|
.setType(HistoryEntry.Type.CONTACT_CREATE)
|
||||||
.setModificationTime(now)
|
|
||||||
.setXmlBytes(null) // We don't want to store contact details in the history entry.
|
.setXmlBytes(null) // We don't want to store contact details in the history entry.
|
||||||
.setContact(newContact);
|
.setContact(newContact);
|
||||||
tm().insertAll(
|
tm().insertAll(
|
||||||
|
|
|
@ -122,11 +122,7 @@ public final class ContactDeleteFlow implements TransactionalFlow {
|
||||||
resultCode = SUCCESS;
|
resultCode = SUCCESS;
|
||||||
}
|
}
|
||||||
ContactHistory contactHistory =
|
ContactHistory contactHistory =
|
||||||
historyBuilder
|
historyBuilder.setType(historyEntryType).setContact(newContact).build();
|
||||||
.setType(historyEntryType)
|
|
||||||
.setModificationTime(now)
|
|
||||||
.setContact(newContact)
|
|
||||||
.build();
|
|
||||||
if (!tm().isOfy()) {
|
if (!tm().isOfy()) {
|
||||||
handlePendingTransferOnDelete(existingContact, newContact, now, contactHistory);
|
handlePendingTransferOnDelete(existingContact, newContact, now, contactHistory);
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ import static google.registry.flows.ResourceFlowUtils.verifyResourceOwnership;
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.createGainingTransferPollMessage;
|
import static google.registry.flows.contact.ContactFlowUtils.createGainingTransferPollMessage;
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
||||||
import static google.registry.model.ResourceTransferUtils.approvePendingTransfer;
|
import static google.registry.model.ResourceTransferUtils.approvePendingTransfer;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.CONTACT_TRANSFER_APPROVE;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -39,7 +40,6 @@ import google.registry.model.eppcommon.AuthInfo;
|
||||||
import google.registry.model.eppinput.ResourceCommand;
|
import google.registry.model.eppinput.ResourceCommand;
|
||||||
import google.registry.model.eppoutput.EppResponse;
|
import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.poll.PollMessage;
|
import google.registry.model.poll.PollMessage;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
@ -88,11 +88,7 @@ public final class ContactTransferApproveFlow implements TransactionalFlow {
|
||||||
ContactResource newContact =
|
ContactResource newContact =
|
||||||
approvePendingTransfer(existingContact, TransferStatus.CLIENT_APPROVED, now);
|
approvePendingTransfer(existingContact, TransferStatus.CLIENT_APPROVED, now);
|
||||||
ContactHistory contactHistory =
|
ContactHistory contactHistory =
|
||||||
historyBuilder
|
historyBuilder.setType(CONTACT_TRANSFER_APPROVE).setContact(newContact).build();
|
||||||
.setType(HistoryEntry.Type.CONTACT_TRANSFER_APPROVE)
|
|
||||||
.setModificationTime(now)
|
|
||||||
.setContact(newContact)
|
|
||||||
.build();
|
|
||||||
// Create a poll message for the gaining client.
|
// Create a poll message for the gaining client.
|
||||||
PollMessage gainingPollMessage =
|
PollMessage gainingPollMessage =
|
||||||
createGainingTransferPollMessage(
|
createGainingTransferPollMessage(
|
||||||
|
|
|
@ -22,6 +22,7 @@ import static google.registry.flows.ResourceFlowUtils.verifyTransferInitiator;
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.createLosingTransferPollMessage;
|
import static google.registry.flows.contact.ContactFlowUtils.createLosingTransferPollMessage;
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
||||||
import static google.registry.model.ResourceTransferUtils.denyPendingTransfer;
|
import static google.registry.model.ResourceTransferUtils.denyPendingTransfer;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.CONTACT_TRANSFER_CANCEL;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -39,7 +40,6 @@ import google.registry.model.eppcommon.AuthInfo;
|
||||||
import google.registry.model.eppinput.ResourceCommand;
|
import google.registry.model.eppinput.ResourceCommand;
|
||||||
import google.registry.model.eppoutput.EppResponse;
|
import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.poll.PollMessage;
|
import google.registry.model.poll.PollMessage;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
@ -84,11 +84,7 @@ public final class ContactTransferCancelFlow implements TransactionalFlow {
|
||||||
ContactResource newContact =
|
ContactResource newContact =
|
||||||
denyPendingTransfer(existingContact, TransferStatus.CLIENT_CANCELLED, now, clientId);
|
denyPendingTransfer(existingContact, TransferStatus.CLIENT_CANCELLED, now, clientId);
|
||||||
ContactHistory contactHistory =
|
ContactHistory contactHistory =
|
||||||
historyBuilder
|
historyBuilder.setType(CONTACT_TRANSFER_CANCEL).setContact(newContact).build();
|
||||||
.setType(HistoryEntry.Type.CONTACT_TRANSFER_CANCEL)
|
|
||||||
.setModificationTime(now)
|
|
||||||
.setContact(newContact)
|
|
||||||
.build();
|
|
||||||
// Create a poll message for the losing client.
|
// Create a poll message for the losing client.
|
||||||
PollMessage losingPollMessage =
|
PollMessage losingPollMessage =
|
||||||
createLosingTransferPollMessage(
|
createLosingTransferPollMessage(
|
||||||
|
|
|
@ -22,6 +22,7 @@ import static google.registry.flows.ResourceFlowUtils.verifyResourceOwnership;
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.createGainingTransferPollMessage;
|
import static google.registry.flows.contact.ContactFlowUtils.createGainingTransferPollMessage;
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
||||||
import static google.registry.model.ResourceTransferUtils.denyPendingTransfer;
|
import static google.registry.model.ResourceTransferUtils.denyPendingTransfer;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.CONTACT_TRANSFER_REJECT;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -38,7 +39,6 @@ import google.registry.model.domain.metadata.MetadataExtension;
|
||||||
import google.registry.model.eppcommon.AuthInfo;
|
import google.registry.model.eppcommon.AuthInfo;
|
||||||
import google.registry.model.eppoutput.EppResponse;
|
import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.poll.PollMessage;
|
import google.registry.model.poll.PollMessage;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
@ -82,11 +82,7 @@ public final class ContactTransferRejectFlow implements TransactionalFlow {
|
||||||
ContactResource newContact =
|
ContactResource newContact =
|
||||||
denyPendingTransfer(existingContact, TransferStatus.CLIENT_REJECTED, now, clientId);
|
denyPendingTransfer(existingContact, TransferStatus.CLIENT_REJECTED, now, clientId);
|
||||||
ContactHistory contactHistory =
|
ContactHistory contactHistory =
|
||||||
historyBuilder
|
historyBuilder.setType(CONTACT_TRANSFER_REJECT).setContact(newContact).build();
|
||||||
.setType(HistoryEntry.Type.CONTACT_TRANSFER_REJECT)
|
|
||||||
.setModificationTime(now)
|
|
||||||
.setContact(newContact)
|
|
||||||
.build();
|
|
||||||
PollMessage gainingPollMessage =
|
PollMessage gainingPollMessage =
|
||||||
createGainingTransferPollMessage(
|
createGainingTransferPollMessage(
|
||||||
targetId, newContact.getTransferData(), now, Key.create(contactHistory));
|
targetId, newContact.getTransferData(), now, Key.create(contactHistory));
|
||||||
|
|
|
@ -24,6 +24,7 @@ import static google.registry.flows.contact.ContactFlowUtils.createGainingTransf
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.createLosingTransferPollMessage;
|
import static google.registry.flows.contact.ContactFlowUtils.createLosingTransferPollMessage;
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
||||||
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.CONTACT_TRANSFER_REQUEST;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -45,7 +46,6 @@ import google.registry.model.eppcommon.StatusValue;
|
||||||
import google.registry.model.eppcommon.Trid;
|
import google.registry.model.eppcommon.Trid;
|
||||||
import google.registry.model.eppoutput.EppResponse;
|
import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.poll.PollMessage;
|
import google.registry.model.poll.PollMessage;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.ContactTransferData;
|
import google.registry.model.transfer.ContactTransferData;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
|
@ -120,10 +120,7 @@ public final class ContactTransferRequestFlow implements TransactionalFlow {
|
||||||
.setTransferStatus(TransferStatus.SERVER_APPROVED)
|
.setTransferStatus(TransferStatus.SERVER_APPROVED)
|
||||||
.build();
|
.build();
|
||||||
Key<ContactHistory> contactHistoryKey = createHistoryKey(existingContact, ContactHistory.class);
|
Key<ContactHistory> contactHistoryKey = createHistoryKey(existingContact, ContactHistory.class);
|
||||||
historyBuilder
|
historyBuilder.setId(contactHistoryKey.getId()).setType(CONTACT_TRANSFER_REQUEST);
|
||||||
.setId(contactHistoryKey.getId())
|
|
||||||
.setType(HistoryEntry.Type.CONTACT_TRANSFER_REQUEST)
|
|
||||||
.setModificationTime(now);
|
|
||||||
// If the transfer is server approved, this message will be sent to the losing registrar. */
|
// If the transfer is server approved, this message will be sent to the losing registrar. */
|
||||||
PollMessage serverApproveLosingPollMessage =
|
PollMessage serverApproveLosingPollMessage =
|
||||||
createLosingTransferPollMessage(targetId, serverApproveTransferData, contactHistoryKey);
|
createLosingTransferPollMessage(targetId, serverApproveTransferData, contactHistoryKey);
|
||||||
|
|
|
@ -24,6 +24,7 @@ import static google.registry.flows.ResourceFlowUtils.verifyOptionalAuthInfo;
|
||||||
import static google.registry.flows.ResourceFlowUtils.verifyResourceOwnership;
|
import static google.registry.flows.ResourceFlowUtils.verifyResourceOwnership;
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.validateAsciiPostalInfo;
|
import static google.registry.flows.contact.ContactFlowUtils.validateAsciiPostalInfo;
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.validateContactAgainstPolicy;
|
import static google.registry.flows.contact.ContactFlowUtils.validateContactAgainstPolicy;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.CONTACT_UPDATE;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -45,7 +46,6 @@ import google.registry.model.eppcommon.AuthInfo;
|
||||||
import google.registry.model.eppcommon.StatusValue;
|
import google.registry.model.eppcommon.StatusValue;
|
||||||
import google.registry.model.eppinput.ResourceCommand;
|
import google.registry.model.eppinput.ResourceCommand;
|
||||||
import google.registry.model.eppoutput.EppResponse;
|
import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
@ -146,8 +146,7 @@ public final class ContactUpdateFlow implements TransactionalFlow {
|
||||||
validateAsciiPostalInfo(newContact.getInternationalizedPostalInfo());
|
validateAsciiPostalInfo(newContact.getInternationalizedPostalInfo());
|
||||||
validateContactAgainstPolicy(newContact);
|
validateContactAgainstPolicy(newContact);
|
||||||
historyBuilder
|
historyBuilder
|
||||||
.setType(HistoryEntry.Type.CONTACT_UPDATE)
|
.setType(CONTACT_UPDATE)
|
||||||
.setModificationTime(now)
|
|
||||||
.setXmlBytes(null) // We don't want to store contact details in the history entry.
|
.setXmlBytes(null) // We don't want to store contact details in the history entry.
|
||||||
.setContact(newContact);
|
.setContact(newContact);
|
||||||
tm().insert(historyBuilder.build());
|
tm().insert(historyBuilder.build());
|
||||||
|
|
|
@ -48,6 +48,7 @@ import static google.registry.model.registry.Registry.TldState.GENERAL_AVAILABIL
|
||||||
import static google.registry.model.registry.Registry.TldState.QUIET_PERIOD;
|
import static google.registry.model.registry.Registry.TldState.QUIET_PERIOD;
|
||||||
import static google.registry.model.registry.Registry.TldState.START_DATE_SUNRISE;
|
import static google.registry.model.registry.Registry.TldState.START_DATE_SUNRISE;
|
||||||
import static google.registry.model.registry.label.ReservationType.NAME_COLLISION;
|
import static google.registry.model.registry.label.ReservationType.NAME_COLLISION;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.DOMAIN_CREATE;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||||
import static google.registry.util.DateTimeUtils.leapSafeAddYears;
|
import static google.registry.util.DateTimeUtils.leapSafeAddYears;
|
||||||
|
@ -495,12 +496,7 @@ public class DomainCreateFlow implements TransactionalFlow {
|
||||||
TransactionReportField.netAddsFieldFromYears(period.getValue()),
|
TransactionReportField.netAddsFieldFromYears(period.getValue()),
|
||||||
1)));
|
1)));
|
||||||
}
|
}
|
||||||
return historyBuilder
|
return historyBuilder.setType(DOMAIN_CREATE).setPeriod(period).setDomain(domain).build();
|
||||||
.setType(HistoryEntry.Type.DOMAIN_CREATE)
|
|
||||||
.setPeriod(period)
|
|
||||||
.setModificationTime(now)
|
|
||||||
.setDomain(domain)
|
|
||||||
.build();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private BillingEvent.OneTime createOneTimeBillingEvent(
|
private BillingEvent.OneTime createOneTimeBillingEvent(
|
||||||
|
|
|
@ -34,6 +34,7 @@ import static google.registry.model.eppoutput.Result.Code.SUCCESS;
|
||||||
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
||||||
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.ADD_FIELDS;
|
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.ADD_FIELDS;
|
||||||
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.RENEW_FIELDS;
|
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.RENEW_FIELDS;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.DOMAIN_DELETE;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
import static google.registry.pricing.PricingEngineProxy.getDomainRenewCost;
|
import static google.registry.pricing.PricingEngineProxy.getDomainRenewCost;
|
||||||
import static google.registry.util.CollectionUtils.nullToEmpty;
|
import static google.registry.util.CollectionUtils.nullToEmpty;
|
||||||
|
@ -88,7 +89,6 @@ import google.registry.model.registry.Registry;
|
||||||
import google.registry.model.registry.Registry.TldType;
|
import google.registry.model.registry.Registry.TldType;
|
||||||
import google.registry.model.reporting.DomainTransactionRecord;
|
import google.registry.model.reporting.DomainTransactionRecord;
|
||||||
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
|
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -331,11 +331,7 @@ public final class DomainDeleteFlow implements TransactionalFlow {
|
||||||
: TransactionReportField.DELETED_DOMAINS_NOGRACE,
|
: TransactionReportField.DELETED_DOMAINS_NOGRACE,
|
||||||
1)));
|
1)));
|
||||||
}
|
}
|
||||||
return historyBuilder
|
return historyBuilder.setType(DOMAIN_DELETE).setDomain(domain).build();
|
||||||
.setType(HistoryEntry.Type.DOMAIN_DELETE)
|
|
||||||
.setModificationTime(now)
|
|
||||||
.setDomain(domain)
|
|
||||||
.build();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private PollMessage.OneTime createDeletePollMessage(
|
private PollMessage.OneTime createDeletePollMessage(
|
||||||
|
|
|
@ -29,6 +29,7 @@ import static google.registry.flows.domain.DomainFlowUtils.validateFeeChallenge;
|
||||||
import static google.registry.flows.domain.DomainFlowUtils.validateRegistrationPeriod;
|
import static google.registry.flows.domain.DomainFlowUtils.validateRegistrationPeriod;
|
||||||
import static google.registry.flows.domain.DomainFlowUtils.verifyRegistrarIsActive;
|
import static google.registry.flows.domain.DomainFlowUtils.verifyRegistrarIsActive;
|
||||||
import static google.registry.flows.domain.DomainFlowUtils.verifyUnitIsYears;
|
import static google.registry.flows.domain.DomainFlowUtils.verifyUnitIsYears;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.DOMAIN_RENEW;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
import static google.registry.util.DateTimeUtils.leapSafeAddYears;
|
import static google.registry.util.DateTimeUtils.leapSafeAddYears;
|
||||||
|
|
||||||
|
@ -73,7 +74,6 @@ import google.registry.model.poll.PollMessage;
|
||||||
import google.registry.model.registry.Registry;
|
import google.registry.model.registry.Registry;
|
||||||
import google.registry.model.reporting.DomainTransactionRecord;
|
import google.registry.model.reporting.DomainTransactionRecord;
|
||||||
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
|
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
@ -230,9 +230,8 @@ public final class DomainRenewFlow implements TransactionalFlow {
|
||||||
private DomainHistory buildDomainHistory(
|
private DomainHistory buildDomainHistory(
|
||||||
DomainBase newDomain, DateTime now, Period period, Duration renewGracePeriod) {
|
DomainBase newDomain, DateTime now, Period period, Duration renewGracePeriod) {
|
||||||
return historyBuilder
|
return historyBuilder
|
||||||
.setType(HistoryEntry.Type.DOMAIN_RENEW)
|
.setType(DOMAIN_RENEW)
|
||||||
.setPeriod(period)
|
.setPeriod(period)
|
||||||
.setModificationTime(now)
|
|
||||||
.setDomain(newDomain)
|
.setDomain(newDomain)
|
||||||
.setDomainTransactionRecords(
|
.setDomainTransactionRecords(
|
||||||
ImmutableSet.of(
|
ImmutableSet.of(
|
||||||
|
|
|
@ -27,6 +27,7 @@ import static google.registry.flows.domain.DomainFlowUtils.verifyNotReserved;
|
||||||
import static google.registry.flows.domain.DomainFlowUtils.verifyPremiumNameIsNotBlocked;
|
import static google.registry.flows.domain.DomainFlowUtils.verifyPremiumNameIsNotBlocked;
|
||||||
import static google.registry.flows.domain.DomainFlowUtils.verifyRegistrarIsActive;
|
import static google.registry.flows.domain.DomainFlowUtils.verifyRegistrarIsActive;
|
||||||
import static google.registry.model.ResourceTransferUtils.updateForeignKeyIndexDeletionTime;
|
import static google.registry.model.ResourceTransferUtils.updateForeignKeyIndexDeletionTime;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.DOMAIN_RESTORE;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||||
|
|
||||||
|
@ -66,7 +67,6 @@ import google.registry.model.poll.PollMessage;
|
||||||
import google.registry.model.registry.Registry;
|
import google.registry.model.registry.Registry;
|
||||||
import google.registry.model.reporting.DomainTransactionRecord;
|
import google.registry.model.reporting.DomainTransactionRecord;
|
||||||
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
|
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
@ -188,8 +188,7 @@ public final class DomainRestoreRequestFlow implements TransactionalFlow {
|
||||||
|
|
||||||
private DomainHistory buildDomainHistory(DomainBase newDomain, DateTime now) {
|
private DomainHistory buildDomainHistory(DomainBase newDomain, DateTime now) {
|
||||||
return historyBuilder
|
return historyBuilder
|
||||||
.setType(HistoryEntry.Type.DOMAIN_RESTORE)
|
.setType(DOMAIN_RESTORE)
|
||||||
.setModificationTime(now)
|
|
||||||
.setDomain(newDomain)
|
.setDomain(newDomain)
|
||||||
.setDomainTransactionRecords(
|
.setDomainTransactionRecords(
|
||||||
ImmutableSet.of(
|
ImmutableSet.of(
|
||||||
|
|
|
@ -29,6 +29,7 @@ import static google.registry.flows.domain.DomainTransferUtils.createGainingTran
|
||||||
import static google.registry.flows.domain.DomainTransferUtils.createTransferResponse;
|
import static google.registry.flows.domain.DomainTransferUtils.createTransferResponse;
|
||||||
import static google.registry.model.ResourceTransferUtils.approvePendingTransfer;
|
import static google.registry.model.ResourceTransferUtils.approvePendingTransfer;
|
||||||
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.TRANSFER_SUCCESSFUL;
|
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.TRANSFER_SUCCESSFUL;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.DOMAIN_TRANSFER_APPROVE;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
import static google.registry.pricing.PricingEngineProxy.getDomainRenewCost;
|
import static google.registry.pricing.PricingEngineProxy.getDomainRenewCost;
|
||||||
import static google.registry.util.CollectionUtils.union;
|
import static google.registry.util.CollectionUtils.union;
|
||||||
|
@ -58,7 +59,6 @@ import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.poll.PollMessage;
|
import google.registry.model.poll.PollMessage;
|
||||||
import google.registry.model.registry.Registry;
|
import google.registry.model.registry.Registry;
|
||||||
import google.registry.model.reporting.DomainTransactionRecord;
|
import google.registry.model.reporting.DomainTransactionRecord;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.DomainTransferData;
|
import google.registry.model.transfer.DomainTransferData;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
|
@ -240,8 +240,7 @@ public final class DomainTransferApproveFlow implements TransactionalFlow {
|
||||||
registry.getAutomaticTransferLength().plus(registry.getTransferGracePeriodLength()),
|
registry.getAutomaticTransferLength().plus(registry.getTransferGracePeriodLength()),
|
||||||
ImmutableSet.of(TRANSFER_SUCCESSFUL));
|
ImmutableSet.of(TRANSFER_SUCCESSFUL));
|
||||||
return historyBuilder
|
return historyBuilder
|
||||||
.setType(HistoryEntry.Type.DOMAIN_TRANSFER_APPROVE)
|
.setType(DOMAIN_TRANSFER_APPROVE)
|
||||||
.setModificationTime(now)
|
|
||||||
.setOtherClientId(gainingClientId)
|
.setOtherClientId(gainingClientId)
|
||||||
.setDomain(newDomain)
|
.setDomain(newDomain)
|
||||||
.setDomainTransactionRecords(
|
.setDomainTransactionRecords(
|
||||||
|
|
|
@ -27,6 +27,7 @@ import static google.registry.flows.domain.DomainTransferUtils.createLosingTrans
|
||||||
import static google.registry.flows.domain.DomainTransferUtils.createTransferResponse;
|
import static google.registry.flows.domain.DomainTransferUtils.createTransferResponse;
|
||||||
import static google.registry.model.ResourceTransferUtils.denyPendingTransfer;
|
import static google.registry.model.ResourceTransferUtils.denyPendingTransfer;
|
||||||
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.TRANSFER_SUCCESSFUL;
|
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.TRANSFER_SUCCESSFUL;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.DOMAIN_TRANSFER_CANCEL;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||||
|
|
||||||
|
@ -46,7 +47,6 @@ import google.registry.model.eppcommon.AuthInfo;
|
||||||
import google.registry.model.eppoutput.EppResponse;
|
import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.registry.Registry;
|
import google.registry.model.registry.Registry;
|
||||||
import google.registry.model.reporting.DomainTransactionRecord;
|
import google.registry.model.reporting.DomainTransactionRecord;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
@ -130,8 +130,7 @@ public final class DomainTransferCancelFlow implements TransactionalFlow {
|
||||||
registry.getAutomaticTransferLength().plus(registry.getTransferGracePeriodLength()),
|
registry.getAutomaticTransferLength().plus(registry.getTransferGracePeriodLength()),
|
||||||
ImmutableSet.of(TRANSFER_SUCCESSFUL));
|
ImmutableSet.of(TRANSFER_SUCCESSFUL));
|
||||||
return historyBuilder
|
return historyBuilder
|
||||||
.setType(HistoryEntry.Type.DOMAIN_TRANSFER_CANCEL)
|
.setType(DOMAIN_TRANSFER_CANCEL)
|
||||||
.setModificationTime(now)
|
|
||||||
.setDomain(newDomain)
|
.setDomain(newDomain)
|
||||||
.setDomainTransactionRecords(cancelingRecords)
|
.setDomainTransactionRecords(cancelingRecords)
|
||||||
.build();
|
.build();
|
||||||
|
|
|
@ -28,6 +28,7 @@ import static google.registry.flows.domain.DomainTransferUtils.createTransferRes
|
||||||
import static google.registry.model.ResourceTransferUtils.denyPendingTransfer;
|
import static google.registry.model.ResourceTransferUtils.denyPendingTransfer;
|
||||||
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.TRANSFER_NACKED;
|
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.TRANSFER_NACKED;
|
||||||
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.TRANSFER_SUCCESSFUL;
|
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.TRANSFER_SUCCESSFUL;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.DOMAIN_TRANSFER_REJECT;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
import static google.registry.util.CollectionUtils.union;
|
import static google.registry.util.CollectionUtils.union;
|
||||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||||
|
@ -48,7 +49,6 @@ import google.registry.model.eppcommon.AuthInfo;
|
||||||
import google.registry.model.eppoutput.EppResponse;
|
import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.registry.Registry;
|
import google.registry.model.registry.Registry;
|
||||||
import google.registry.model.reporting.DomainTransactionRecord;
|
import google.registry.model.reporting.DomainTransactionRecord;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
@ -131,8 +131,7 @@ public final class DomainTransferRejectFlow implements TransactionalFlow {
|
||||||
registry.getAutomaticTransferLength().plus(registry.getTransferGracePeriodLength()),
|
registry.getAutomaticTransferLength().plus(registry.getTransferGracePeriodLength()),
|
||||||
ImmutableSet.of(TRANSFER_SUCCESSFUL));
|
ImmutableSet.of(TRANSFER_SUCCESSFUL));
|
||||||
return historyBuilder
|
return historyBuilder
|
||||||
.setType(HistoryEntry.Type.DOMAIN_TRANSFER_REJECT)
|
.setType(DOMAIN_TRANSFER_REJECT)
|
||||||
.setModificationTime(now)
|
|
||||||
.setDomainTransactionRecords(
|
.setDomainTransactionRecords(
|
||||||
union(
|
union(
|
||||||
cancelingRecords,
|
cancelingRecords,
|
||||||
|
|
|
@ -32,6 +32,7 @@ import static google.registry.flows.domain.DomainTransferUtils.createPendingTran
|
||||||
import static google.registry.flows.domain.DomainTransferUtils.createTransferResponse;
|
import static google.registry.flows.domain.DomainTransferUtils.createTransferResponse;
|
||||||
import static google.registry.flows.domain.DomainTransferUtils.createTransferServerApproveEntities;
|
import static google.registry.flows.domain.DomainTransferUtils.createTransferServerApproveEntities;
|
||||||
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.DOMAIN_TRANSFER_REQUEST;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
|
@ -68,7 +69,6 @@ import google.registry.model.poll.PollMessage;
|
||||||
import google.registry.model.registry.Registry;
|
import google.registry.model.registry.Registry;
|
||||||
import google.registry.model.reporting.DomainTransactionRecord;
|
import google.registry.model.reporting.DomainTransactionRecord;
|
||||||
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
|
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.DomainTransferData;
|
import google.registry.model.transfer.DomainTransferData;
|
||||||
import google.registry.model.transfer.TransferData.TransferServerApproveEntity;
|
import google.registry.model.transfer.TransferData.TransferServerApproveEntity;
|
||||||
|
@ -315,9 +315,8 @@ public final class DomainTransferRequestFlow implements TransactionalFlow {
|
||||||
private DomainHistory buildDomainHistory(
|
private DomainHistory buildDomainHistory(
|
||||||
DomainBase newDomain, Registry registry, DateTime now, Period period) {
|
DomainBase newDomain, Registry registry, DateTime now, Period period) {
|
||||||
return historyBuilder
|
return historyBuilder
|
||||||
.setType(HistoryEntry.Type.DOMAIN_TRANSFER_REQUEST)
|
.setType(DOMAIN_TRANSFER_REQUEST)
|
||||||
.setPeriod(period)
|
.setPeriod(period)
|
||||||
.setModificationTime(now)
|
|
||||||
.setDomain(newDomain)
|
.setDomain(newDomain)
|
||||||
.setDomainTransactionRecords(
|
.setDomainTransactionRecords(
|
||||||
ImmutableSet.of(
|
ImmutableSet.of(
|
||||||
|
|
|
@ -39,6 +39,7 @@ import static google.registry.flows.domain.DomainFlowUtils.validateRegistrantAll
|
||||||
import static google.registry.flows.domain.DomainFlowUtils.validateRequiredContactsPresent;
|
import static google.registry.flows.domain.DomainFlowUtils.validateRequiredContactsPresent;
|
||||||
import static google.registry.flows.domain.DomainFlowUtils.verifyClientUpdateNotProhibited;
|
import static google.registry.flows.domain.DomainFlowUtils.verifyClientUpdateNotProhibited;
|
||||||
import static google.registry.flows.domain.DomainFlowUtils.verifyNotInPendingDelete;
|
import static google.registry.flows.domain.DomainFlowUtils.verifyNotInPendingDelete;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.DOMAIN_UPDATE;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -76,7 +77,6 @@ import google.registry.model.eppinput.EppInput;
|
||||||
import google.registry.model.eppinput.ResourceCommand;
|
import google.registry.model.eppinput.ResourceCommand;
|
||||||
import google.registry.model.eppoutput.EppResponse;
|
import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.registry.Registry;
|
import google.registry.model.registry.Registry;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
@ -166,7 +166,8 @@ public final class DomainUpdateFlow implements TransactionalFlow {
|
||||||
flowCustomLogic.afterValidation(
|
flowCustomLogic.afterValidation(
|
||||||
AfterValidationParameters.newBuilder().setExistingDomain(existingDomain).build());
|
AfterValidationParameters.newBuilder().setExistingDomain(existingDomain).build());
|
||||||
DomainBase newDomain = performUpdate(command, existingDomain, now);
|
DomainBase newDomain = performUpdate(command, existingDomain, now);
|
||||||
DomainHistory domainHistory = buildDomainHistory(newDomain, now);
|
DomainHistory domainHistory =
|
||||||
|
historyBuilder.setType(DOMAIN_UPDATE).setDomain(newDomain).build();
|
||||||
validateNewState(newDomain);
|
validateNewState(newDomain);
|
||||||
dnsQueue.addDomainRefreshTask(targetId);
|
dnsQueue.addDomainRefreshTask(targetId);
|
||||||
ImmutableSet.Builder<ImmutableObject> entitiesToSave = new ImmutableSet.Builder<>();
|
ImmutableSet.Builder<ImmutableObject> entitiesToSave = new ImmutableSet.Builder<>();
|
||||||
|
@ -217,14 +218,6 @@ public final class DomainUpdateFlow implements TransactionalFlow {
|
||||||
tld, add.getNameserverFullyQualifiedHostNames());
|
tld, add.getNameserverFullyQualifiedHostNames());
|
||||||
}
|
}
|
||||||
|
|
||||||
private DomainHistory buildDomainHistory(DomainBase newDomain, DateTime now) {
|
|
||||||
return historyBuilder
|
|
||||||
.setType(HistoryEntry.Type.DOMAIN_UPDATE)
|
|
||||||
.setModificationTime(now)
|
|
||||||
.setDomain(newDomain)
|
|
||||||
.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
private DomainBase performUpdate(Update command, DomainBase domain, DateTime now)
|
private DomainBase performUpdate(Update command, DomainBase domain, DateTime now)
|
||||||
throws EppException {
|
throws EppException {
|
||||||
AddRemove add = command.getInnerAdd();
|
AddRemove add = command.getInnerAdd();
|
||||||
|
|
|
@ -22,6 +22,7 @@ import static google.registry.flows.host.HostFlowUtils.verifySuperordinateDomain
|
||||||
import static google.registry.flows.host.HostFlowUtils.verifySuperordinateDomainOwnership;
|
import static google.registry.flows.host.HostFlowUtils.verifySuperordinateDomainOwnership;
|
||||||
import static google.registry.model.EppResourceUtils.createRepoId;
|
import static google.registry.model.EppResourceUtils.createRepoId;
|
||||||
import static google.registry.model.IdService.allocateId;
|
import static google.registry.model.IdService.allocateId;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.HOST_CREATE;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
import static google.registry.util.CollectionUtils.isNullOrEmpty;
|
import static google.registry.util.CollectionUtils.isNullOrEmpty;
|
||||||
|
|
||||||
|
@ -50,7 +51,6 @@ import google.registry.model.host.HostHistory;
|
||||||
import google.registry.model.host.HostResource;
|
import google.registry.model.host.HostResource;
|
||||||
import google.registry.model.index.EppResourceIndex;
|
import google.registry.model.index.EppResourceIndex;
|
||||||
import google.registry.model.index.ForeignKeyIndex;
|
import google.registry.model.index.ForeignKeyIndex;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
@ -129,7 +129,7 @@ public final class HostCreateFlow implements TransactionalFlow {
|
||||||
.setRepoId(createRepoId(allocateId(), roidSuffix))
|
.setRepoId(createRepoId(allocateId(), roidSuffix))
|
||||||
.setSuperordinateDomain(superordinateDomain.map(DomainBase::createVKey).orElse(null))
|
.setSuperordinateDomain(superordinateDomain.map(DomainBase::createVKey).orElse(null))
|
||||||
.build();
|
.build();
|
||||||
historyBuilder.setType(HistoryEntry.Type.HOST_CREATE).setModificationTime(now).setHost(newHost);
|
historyBuilder.setType(HOST_CREATE).setHost(newHost);
|
||||||
ImmutableSet<ImmutableObject> entitiesToSave =
|
ImmutableSet<ImmutableObject> entitiesToSave =
|
||||||
ImmutableSet.of(
|
ImmutableSet.of(
|
||||||
newHost,
|
newHost,
|
||||||
|
|
|
@ -130,7 +130,7 @@ public final class HostDeleteFlow implements TransactionalFlow {
|
||||||
historyEntryType = Type.HOST_DELETE;
|
historyEntryType = Type.HOST_DELETE;
|
||||||
resultCode = SUCCESS;
|
resultCode = SUCCESS;
|
||||||
}
|
}
|
||||||
historyBuilder.setType(historyEntryType).setModificationTime(now).setHost(newHost);
|
historyBuilder.setType(historyEntryType).setHost(newHost);
|
||||||
tm().insert(historyBuilder.build());
|
tm().insert(historyBuilder.build());
|
||||||
tm().update(newHost);
|
tm().update(newHost);
|
||||||
return responseBuilder.setResultFromCode(resultCode).build();
|
return responseBuilder.setResultFromCode(resultCode).build();
|
||||||
|
|
|
@ -27,6 +27,7 @@ import static google.registry.flows.host.HostFlowUtils.validateHostName;
|
||||||
import static google.registry.flows.host.HostFlowUtils.verifySuperordinateDomainNotInPendingDelete;
|
import static google.registry.flows.host.HostFlowUtils.verifySuperordinateDomainNotInPendingDelete;
|
||||||
import static google.registry.flows.host.HostFlowUtils.verifySuperordinateDomainOwnership;
|
import static google.registry.flows.host.HostFlowUtils.verifySuperordinateDomainOwnership;
|
||||||
import static google.registry.model.index.ForeignKeyIndex.loadAndGetKey;
|
import static google.registry.model.index.ForeignKeyIndex.loadAndGetKey;
|
||||||
|
import static google.registry.model.reporting.HistoryEntry.Type.HOST_UPDATE;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
import static google.registry.util.CollectionUtils.isNullOrEmpty;
|
import static google.registry.util.CollectionUtils.isNullOrEmpty;
|
||||||
|
|
||||||
|
@ -57,7 +58,6 @@ import google.registry.model.host.HostCommand.Update.Change;
|
||||||
import google.registry.model.host.HostHistory;
|
import google.registry.model.host.HostHistory;
|
||||||
import google.registry.model.host.HostResource;
|
import google.registry.model.host.HostResource;
|
||||||
import google.registry.model.index.ForeignKeyIndex;
|
import google.registry.model.index.ForeignKeyIndex;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.persistence.VKey;
|
import google.registry.persistence.VKey;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
@ -201,12 +201,7 @@ public final class HostUpdateFlow implements TransactionalFlow {
|
||||||
updateSuperordinateDomains(existingHost, newHost);
|
updateSuperordinateDomains(existingHost, newHost);
|
||||||
}
|
}
|
||||||
enqueueTasks(existingHost, newHost);
|
enqueueTasks(existingHost, newHost);
|
||||||
entitiesToInsert.add(
|
entitiesToInsert.add(historyBuilder.setType(HOST_UPDATE).setHost(newHost).build());
|
||||||
historyBuilder
|
|
||||||
.setType(HistoryEntry.Type.HOST_UPDATE)
|
|
||||||
.setModificationTime(now)
|
|
||||||
.setHost(newHost)
|
|
||||||
.build());
|
|
||||||
tm().updateAll(entitiesToUpdate.build());
|
tm().updateAll(entitiesToUpdate.build());
|
||||||
tm().insertAll(entitiesToInsert.build());
|
tm().insertAll(entitiesToInsert.build());
|
||||||
return responseBuilder.build();
|
return responseBuilder.build();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue