google-nomulus/java/google/registry/ui/soy/registrar/DomainEpp.soy
shikhman f76bc70f91 Preserve test logs and test summary output for Kokoro CI runs
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135494972
2016-10-14 16:57:43 -04:00

245 lines
7.2 KiB
Text

// Copyright 2016 The Nomulus Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
{namespace registry.soy.registrar.domainepp autoescape="strict"}
/* General Availability. Sunrush down below. */
/**
* Domain create request.
* @param item
* @param clTrid
*/
{template .create}
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>{$item['domain:name']}</domain:name>
{if isNonnull($item['domain:period'])}
<domain:period unit="y">{$item['domain:period']}</domain:period>
{/if}
{if isNonnull($item['domain:ns'])}
<domain:ns>
{foreach $hostObj in $item['domain:ns']['domain:hostObj']}
<domain:hostObj>{$hostObj.value}</domain:hostObj>
{/foreach}
</domain:ns>
{/if}
{if isNonnull($item['domain:registrant'])}
<domain:registrant>{$item['domain:registrant']}</domain:registrant>
{/if}
{if isNonnull($item['domain:contact'])}
{foreach $contact in $item['domain:contact']}
<domain:contact type="{$contact['@type']}">{$contact.value}</domain:contact>
{/foreach}
{/if}
<domain:authInfo>
<domain:pw>{$item['domain:authInfo']['domain:pw']}</domain:pw>
</domain:authInfo>
</domain:create>
</create>
<clTRID>{$clTrid}</clTRID>
</command>
</epp>
{/template}
/**
* Domain info request.
* @param id
* @param clTrid
*/
{template .info}
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">{$id}</domain:name>
</domain:info>
</info>
<clTRID>{$clTrid}</clTRID>
</command>
</epp>
{/template}
/**
* Domain update request.
* @param item
* @param clTrid
* @param? addHosts list of hostObj to add.
* @param? remHosts list of hostObj to remove.
* @param? addContacts list of contact to add.
* @param? remContacts list of contact to remove.
*/
{template .update}
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>{$item['domain:name']}</domain:name>
{if isNonnull($addHosts) or isNonnull($addContacts)}
{call .addRem}
{param isAdd: true /}
{param hosts: $addHosts /}
{param contacts: $addContacts /}
{/call}
{/if}
{if isNonnull($remHosts) or isNonnull($remContacts)}
{call .addRem}
{param isAdd: false /}
{param hosts: $remHosts /}
{param contacts: $remContacts /}
{/call}
{/if}
<domain:chg>
<domain:registrant>{$item['domain:registrant']}</domain:registrant>
<domain:authInfo>
<domain:pw>{$item['domain:authInfo']['domain:pw']}</domain:pw>
</domain:authInfo>
</domain:chg>
</domain:update>
</update>
<clTRID>{$clTrid}</clTRID>
</command>
</epp>
{/template}
/**
* @param isAdd
* @param? hosts
* @param? contacts
*/
{template .addRem}
{let $tagName: $isAdd ? 'domain:add' : 'domain:rem' /}
<{$tagName}>
{if isNonnull($hosts)}
<domain:ns>
{foreach $host in $hosts}
<domain:hostObj>{$host.value}</domain:hostObj>
{/foreach}
</domain:ns>
{/if}
{if isNonnull($contacts)}
{foreach $contact in $contacts}
<domain:contact type="{$contact['@type']}">{$contact.value}</domain:contact>
{/foreach}
{/if}
</{$tagName}>
{/template}
/* Sunrush. */
/**
* Domain create request for sunrush.
* @param item
* @param clTrid
*/
{template .createSunrush}
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>{$item['domain:name']}</domain:name>
<domain:period unit="y">{$item['domain:period']}</domain:period>
{if isNonnull($item['domain:ns']['domain:hostObj'][0])}
<domain:ns>
<domain:hostObj>{$item['domain:ns']['domain:hostObj'][0]}</domain:hostObj>
{if isNonnull($item['domain:ns']['domain:hostObj'][1])}
<domain:hostObj>{$item['domain:ns']['domain:hostObj'][1]}</domain:hostObj>
{/if}
</domain:ns>
{/if}
<domain:registrant>{$item['domain:registrant']}</domain:registrant>
<domain:contact type="admin">{$item['domain:contact'][0]}</domain:contact>
<domain:contact type="tech">{$item['domain:contact'][1]}</domain:contact>
<domain:authInfo>
<domain:pw>{$item['domain:pw']}</domain:pw>
</domain:authInfo>
</domain:create>
</create>
<extension>
<launch:create xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
<launch:phase name="landrush">sunrise</launch:phase>
{if isNonnull($item['smd:encodedSignedMark'])}
<smd:encodedSignedMark xmlns:smd="urn:ietf:params:xml:ns:signedMark-1.0"
encoding="base64">{$item['smd:encodedSignedMark']}</smd:encodedSignedMark>
{/if}
</launch:create>
</extension>
<clTRID>{$clTrid}</clTRID>
</command>
</epp>
{/template}
/**
* Domain info request during sunrush.
* @param name
* @param applicationID
* @param clTrid
*/
{template .infoSunrush}
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">{$name}</domain:name>
</domain:info>
</info>
<extension>
<launch:info
xmlns:launch="urn:ietf:params:xml:ns:launch-1.0"
includeMark="true">
<launch:phase name="landrush">sunrise</launch:phase>
<launch:applicationID>{$applicationID}</launch:applicationID>
</launch:info>
</extension>
<clTRID>{$clTrid}</clTRID>
</command>
</epp>
{/template}
/**
* Domain update request.
* @param item
* @param clTrid
*/
{template .updateSunrush}
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>{$item['domain:name']}</domain:name>
<domain:chg>
<domain:registrant>{$item['domain:registrant']}</domain:registrant>
<domain:authInfo>
<domain:pw>{$item['domain:authInfo']['domain:pw']}</domain:pw>
</domain:authInfo>
</domain:chg>
</domain:update>
</update>
<extension>
<launch:update xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
<launch:phase>sunrise</launch:phase>
<launch:applicationID>{$item['launch:applicationID']}</launch:applicationID>
</launch:update>
</extension>
<clTRID>{$clTrid}</clTRID>
</command>
</epp>
{/template}