diff --git a/java/google/registry/tools/DeleteDomainCommand.java b/java/google/registry/tools/DeleteDomainCommand.java index 8ab855d12..35ee93b0d 100644 --- a/java/google/registry/tools/DeleteDomainCommand.java +++ b/java/google/registry/tools/DeleteDomainCommand.java @@ -35,6 +35,11 @@ final class DeleteDomainCommand extends MutatingEppToolCommand { required = true) private String domainName; + @Parameter( + names = {"--immediately"}, + description = "Whether to bypass grace periods and delete the domain immediately.") + private boolean immediately = false; + @Parameter( names = {"--reason"}, description = "Reason for the change.", @@ -43,15 +48,19 @@ final class DeleteDomainCommand extends MutatingEppToolCommand { @Parameter( names = {"--registrar_request"}, - description = "Whether the change was requested by a registrar.", - arity = 1) + description = "Whether the change was requested by a registrar.") private boolean requestedByRegistrar = false; @Override protected void initMutatingEppToolCommand() { + if (immediately) { + // Immediate deletion is accomplished using the superuser extension. + superuser = true; + } setSoyTemplate(DeleteDomainSoyInfo.getInstance(), DeleteDomainSoyInfo.DELETEDOMAIN); addSoyRecord(clientId, new SoyMapData( "domainName", domainName, + "immediately", immediately, "reason", reason, "requestedByRegistrar", requestedByRegistrar)); } diff --git a/java/google/registry/tools/soy/DeleteDomain.soy b/java/google/registry/tools/soy/DeleteDomain.soy index 0355ceb54..ceb66c11c 100644 --- a/java/google/registry/tools/soy/DeleteDomain.soy +++ b/java/google/registry/tools/soy/DeleteDomain.soy @@ -19,6 +19,7 @@ */ {template .deletedomain stricthtml="false"} {@param domainName: string} +{@param immediately: bool} {@param reason: string} {@param requestedByRegistrar: any} @@ -35,6 +36,12 @@ Deleted by registry administrator: {$reason} {$requestedByRegistrar} + {if $immediately} + + 0 + 0 + + {/if} RegistryTool diff --git a/javatests/google/registry/tools/DeleteDomainCommandTest.java b/javatests/google/registry/tools/DeleteDomainCommandTest.java index 7d56a2b39..60ed0f2e5 100644 --- a/javatests/google/registry/tools/DeleteDomainCommandTest.java +++ b/javatests/google/registry/tools/DeleteDomainCommandTest.java @@ -30,30 +30,31 @@ public class DeleteDomainCommandTest extends EppToolCommandTestCase + + + + example.tld + + + + + Deleted by registry administrator: Test + false + + + 0 + 0 + + + RegistryTool + +