mirror of
https://github.com/google/nomulus.git
synced 2025-05-14 00:17:20 +02:00
Flatten the contact flows
There was very little meat in the contact hierarchy and it flattened quiet easily. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=133080191
This commit is contained in:
parent
bf9a3a0fb2
commit
99af33328d
22 changed files with 682 additions and 154 deletions
|
@ -15,34 +15,46 @@
|
|||
package google.registry.flows.contact;
|
||||
|
||||
import static google.registry.model.EppResourceUtils.checkResourcesExist;
|
||||
import static google.registry.model.eppoutput.Result.Code.Success;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import google.registry.flows.ResourceCheckFlow;
|
||||
import google.registry.config.ConfigModule.Config;
|
||||
import google.registry.flows.EppException;
|
||||
import google.registry.flows.LoggedInFlow;
|
||||
import google.registry.flows.exceptions.TooManyResourceChecksException;
|
||||
import google.registry.model.contact.ContactCommand.Check;
|
||||
import google.registry.model.contact.ContactResource;
|
||||
import google.registry.model.eppoutput.CheckData;
|
||||
import google.registry.model.eppinput.ResourceCommand;
|
||||
import google.registry.model.eppoutput.CheckData.ContactCheck;
|
||||
import google.registry.model.eppoutput.CheckData.ContactCheckData;
|
||||
import google.registry.model.eppoutput.EppOutput;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import javax.inject.Inject;
|
||||
|
||||
/**
|
||||
* An EPP flow that checks whether a contact can be provisioned.
|
||||
*
|
||||
* @error {@link google.registry.flows.ResourceCheckFlow.TooManyResourceChecksException}
|
||||
* @error {@link google.registry.flows.exceptions.TooManyResourceChecksException}
|
||||
*/
|
||||
public class ContactCheckFlow extends ResourceCheckFlow<ContactResource, Check> {
|
||||
public class ContactCheckFlow extends LoggedInFlow {
|
||||
|
||||
@Inject ResourceCommand resourceCommand;
|
||||
@Inject @Config("maxChecks") int maxChecks;
|
||||
@Inject ContactCheckFlow() {}
|
||||
|
||||
@Override
|
||||
protected CheckData getCheckData() {
|
||||
Set<String> existingIds = checkResourcesExist(resourceClass, targetIds, now);
|
||||
public final EppOutput run() throws EppException {
|
||||
List<String> targetIds = ((Check) resourceCommand).getTargetIds();
|
||||
if (targetIds.size() > maxChecks) {
|
||||
throw new TooManyResourceChecksException(maxChecks);
|
||||
}
|
||||
Set<String> existingIds = checkResourcesExist(ContactResource.class, targetIds, now);
|
||||
ImmutableList.Builder<ContactCheck> checks = new ImmutableList.Builder<>();
|
||||
for (String id : targetIds) {
|
||||
boolean unused = !existingIds.contains(id);
|
||||
checks.add(ContactCheck.create(unused, id, unused ? null : "In use"));
|
||||
}
|
||||
return ContactCheckData.create(checks.build());
|
||||
return createOutput(Success, ContactCheckData.create(checks.build()), null);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue