Merge remote-tracking branch 'origin/registry-660' into registry-661

# Conflicts:
#	db/structure.sql
#	doc/repp-doc.md
This commit is contained in:
Artur Beljajev 2018-01-30 00:58:49 +02:00
commit 56e3f236bc
156 changed files with 2085 additions and 1276 deletions

View file

@ -441,7 +441,6 @@
<text text-anchor="start" x="-471.5" y="-625.3" font-family="Times,serif" font-size="14.00">after_sign_out_path_for</text>
<text text-anchor="start" x="-471.5" y="-610.3" font-family="Times,serif" font-size="14.00">api_user_log_str</text>
<text text-anchor="start" x="-471.5" y="-595.3" font-family="Times,serif" font-size="14.00">current_root_url</text>
<text text-anchor="start" x="-471.5" y="-580.3" font-family="Times,serif" font-size="14.00">depp_current_user</text>
<text text-anchor="start" x="-471.5" y="-565.3" font-family="Times,serif" font-size="14.00">registrant_request?</text>
<text text-anchor="start" x="-471.5" y="-550.3" font-family="Times,serif" font-size="14.00">registrar_request?</text>
<text text-anchor="start" x="-471.5" y="-535.3" font-family="Times,serif" font-size="14.00">user_for_paper_trail</text>

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

Before After
Before After

View file

@ -27,6 +27,9 @@ Domain name mapping protocol short version:
<domain:registrant> 1 Contact reference to the registrant
<domain:contact> 0-n Contact reference. Admin contact is required if registrant is
a juridical person. Attribute: type="admin / tech"
<domain:authInfo> 0-1
<domain:pw> 1 Transfer code. Attribute: roid="String"
</domain:authInfo>
<extension> 1
<secDNS:create> 0-1 Attribute: xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"
<secDNS:keyData> 1-n
@ -72,6 +75,9 @@ Domain name mapping protocol short version:
<domain:chg> 0-1 Attributes to change
<domain:registrant> 0-1 Contact reference to the registrant
Optional attribute: verified="yes/no"
<domain:authInfo> 0-1
<domain:pw> 1 Transfer code. Attribute: roid="String"
</domain:authInfo>
<extension> 0-1 Required if registrant is changing
<secDNS:update> 0-1 Attribute: xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"
<secDNS:rem> 0-1
@ -115,7 +121,7 @@ Domain name mapping protocol short version:
<domain:name> 1 Domain name. Can contain unicode characters.
Attribute: hosts="all / del / sub / none"
<domain:authInfo> 0-1 Required if registrar is not the owner of the domain.
<domain:pw> 1 Domain password. Attribute: roid="String"
<domain:pw> 1 Domain transfer code. Attribute: roid="String"
<clTRID> 0-1 Client transaction id
[EXAMPLE REQUEST AND RESPONSE](/doc/epp-examples.md#epp-domain-with-valid-domain-returns-domain-info)
@ -148,7 +154,7 @@ Domain name mapping protocol short version:
<domain:transfer> 1 Attribute: xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"
<domain:name> 1 Domain name. Can contain unicode characters.
<domain:authInfo> 1
<domain:pw> 1 Domain password. Attribute: roid="String"
<domain:pw> 1 Domain transfer code. Attribute: roid="String"
<extension> 0-1
<eis:extdata> 0-1 Attribute: xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd"
<eis:legalDocument> 0-1 Base64 encoded document.

View file

@ -14,7 +14,7 @@ NB! Keyrelay not implemented.
<secDNS:alg> 1 Allowed values: 3, 5, 6, 7, 8, 10, 13, 14
<secDNS:pubKey> 1 Public key
<ext:authInfo> 1
<domain:pw> 1 Domain password. Attribute: roid="String"
<domain:pw> 1 Domain transfer code. Attribute: roid="String"
<ext:expiry> 1
<ext:relative> 0-1 Relative expiry duration (ISO8601).
Required if ext:absolute is not specified

View file

@ -249,17 +249,6 @@
<ellipse fill="none" stroke="#b69a48" cx="3362.88" cy="-77.2265" rx="4.00001" ry="4.00001"/>
<polygon fill="#b69a48" stroke="#b69a48" points="1658.02,-21.3879 1648.14,-16.6196 1653.02,-21.2529 1648.02,-21.1179 1648.02,-21.1179 1648.02,-21.1179 1653.02,-21.2529 1647.9,-25.6163 1658.02,-21.3879 1658.02,-21.3879"/>
</g>
<!-- DomainTransferVersion -->
<g id="node25" class="node"><title>DomainTransferVersion</title>
<ellipse fill="none" stroke="black" cx="1568.99" cy="-145" rx="96.6831" ry="18"/>
<text text-anchor="middle" x="1568.99" y="-141.3" font-family="Times,serif" font-size="14.00">DomainTransferVersion</text>
</g>
<!-- DomainTransferVersion&#45;&gt;VersionAssociation -->
<g id="edge23" class="edge"><title>DomainTransferVersion&#45;&gt;VersionAssociation</title>
<path fill="none" stroke="#1ab0b8" d="M1568.99,-118.759C1568.99,-97.7907 1568.99,-68.0121 1568.99,-46.4538"/>
<ellipse fill="none" stroke="#1ab0b8" cx="1568.99" cy="-122.881" rx="4" ry="4"/>
<polygon fill="#1ab0b8" stroke="#1ab0b8" points="1568.99,-46.313 1573.49,-36.313 1568.99,-41.313 1568.99,-36.313 1568.99,-36.313 1568.99,-36.313 1568.99,-41.313 1564.49,-36.313 1568.99,-46.313 1568.99,-46.313"/>
</g>
<!-- BankTransactionVersion -->
<g id="node26" class="node"><title>BankTransactionVersion</title>
<ellipse fill="none" stroke="black" cx="590.994" cy="-145" rx="98.5829" ry="18"/>
@ -1142,13 +1131,6 @@
<polygon fill="#21f8a2" stroke="#21f8a2" points="795.532,-330.958 805.846,-327.236 799.124,-327.481 802.717,-324.003 802.717,-324.003 802.717,-324.003 799.124,-327.481 799.587,-320.77 795.532,-330.958 795.532,-330.958"/>
<text text-anchor="middle" x="807.994" y="-357.3" font-family="Times,serif" font-size="14.00">versions</text>
</g>
<!-- DomainTransfer&#45;&gt;DomainTransferVersion -->
<g id="edge72" class="edge"><title>DomainTransfer&#45;&gt;DomainTransferVersion</title>
<path fill="none" stroke="#a8b212" d="M1537.76,-281.077C1544.55,-251.693 1555.8,-203.046 1562.79,-172.849"/>
<ellipse fill="none" stroke="#a8b212" cx="1536.86" cy="-284.98" rx="4.00001" ry="4.00001"/>
<polygon fill="#a8b212" stroke="#a8b212" points="1562.81,-172.743 1569.45,-164.014 1563.94,-167.871 1565.06,-163 1565.06,-163 1565.06,-163 1563.94,-167.871 1560.68,-161.986 1562.81,-172.743 1562.81,-172.743"/>
<text text-anchor="middle" x="1570.99" y="-249.3" font-family="Times,serif" font-size="14.00">versions</text>
</g>
<!-- ContactStatus&#45;&gt;ContactStatusVersion -->
<g id="edge73" class="edge"><title>ContactStatus&#45;&gt;ContactStatusVersion</title>
<path fill="none" stroke="#32889b" d="M2845.18,-184.569C2839.41,-183.259 2833.59,-182.035 2827.99,-181 2762.84,-168.941 2745.31,-174.168 2679.99,-163 2589.61,-147.545 2486.25,-123.526 2421.79,-107.778"/>

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 126 KiB

Before After
Before After

View file

@ -490,28 +490,6 @@
<ellipse fill="none" stroke="#766dfb" cx="3438.54" cy="-76.1046" rx="4.00002" ry="4.00002"/>
<polygon fill="#766dfb" stroke="#766dfb" points="1846.03,-21.437 1836.16,-16.6626 1841.03,-21.299 1836.03,-21.1609 1836.03,-21.1609 1836.03,-21.1609 1841.03,-21.299 1835.91,-25.6592 1846.03,-21.437 1846.03,-21.437"/>
</g>
<!-- DomainTransferVersion -->
<g id="node25" class="node"><title>DomainTransferVersion</title>
<path fill="none" stroke="black" d="M1694.5,-273.5C1694.5,-273.5 1819.5,-273.5 1819.5,-273.5 1825.5,-273.5 1831.5,-279.5 1831.5,-285.5 1831.5,-285.5 1831.5,-442.5 1831.5,-442.5 1831.5,-448.5 1825.5,-454.5 1819.5,-454.5 1819.5,-454.5 1694.5,-454.5 1694.5,-454.5 1688.5,-454.5 1682.5,-448.5 1682.5,-442.5 1682.5,-442.5 1682.5,-285.5 1682.5,-285.5 1682.5,-279.5 1688.5,-273.5 1694.5,-273.5"/>
<text text-anchor="middle" x="1757" y="-439.3" font-family="Times,serif" font-size="14.00">DomainTransferVersion</text>
<polyline fill="none" stroke="black" points="1682.5,-431.5 1831.5,-431.5 "/>
<text text-anchor="start" x="1690.5" y="-416.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1690.5" y="-401.3" font-family="Times,serif" font-size="14.00">item_type :string</text>
<text text-anchor="start" x="1690.5" y="-386.3" font-family="Times,serif" font-size="14.00">item_id :integer</text>
<text text-anchor="start" x="1690.5" y="-371.3" font-family="Times,serif" font-size="14.00">event :string</text>
<text text-anchor="start" x="1690.5" y="-356.3" font-family="Times,serif" font-size="14.00">whodunnit :string</text>
<text text-anchor="start" x="1690.5" y="-341.3" font-family="Times,serif" font-size="14.00">object :json</text>
<text text-anchor="start" x="1690.5" y="-326.3" font-family="Times,serif" font-size="14.00">object_changes :json</text>
<text text-anchor="start" x="1690.5" y="-311.3" font-family="Times,serif" font-size="14.00">created_at :datetime</text>
<text text-anchor="start" x="1690.5" y="-296.3" font-family="Times,serif" font-size="14.00">session :string</text>
<text text-anchor="start" x="1690.5" y="-281.3" font-family="Times,serif" font-size="14.00">children :json</text>
</g>
<!-- DomainTransferVersion&#45;&gt;VersionAssociation -->
<g id="edge23" class="edge"><title>DomainTransferVersion&#45;&gt;VersionAssociation</title>
<path fill="none" stroke="#a3d90c" d="M1757,-264.875C1757,-190.385 1757,-93.0714 1757,-46.3577"/>
<ellipse fill="none" stroke="#a3d90c" cx="1757" cy="-269.067" rx="4" ry="4"/>
<polygon fill="#a3d90c" stroke="#a3d90c" points="1757,-46.1362 1761.5,-36.1362 1757,-41.1362 1757,-36.1362 1757,-36.1362 1757,-36.1362 1757,-41.1362 1752.5,-36.1363 1757,-46.1362 1757,-46.1362"/>
</g>
<!-- BankTransactionVersion -->
<g id="node26" class="node"><title>BankTransactionVersion</title>
<path fill="none" stroke="black" d="M614,-273.5C614,-273.5 742,-273.5 742,-273.5 748,-273.5 754,-279.5 754,-285.5 754,-285.5 754,-442.5 754,-442.5 754,-448.5 748,-454.5 742,-454.5 742,-454.5 614,-454.5 614,-454.5 608,-454.5 602,-448.5 602,-442.5 602,-442.5 602,-285.5 602,-285.5 602,-279.5 608,-273.5 614,-273.5"/>
@ -812,7 +790,6 @@
<text text-anchor="start" x="1969" y="-1338.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1969" y="-1323.8" font-family="Times,serif" font-size="14.00">contact_id :integer</text>
<text text-anchor="start" x="1969" y="-1308.8" font-family="Times,serif" font-size="14.00">domain_id :integer</text>
<text text-anchor="start" x="1969" y="-1293.8" font-family="Times,serif" font-size="14.00">contact_type :string</text>
<text text-anchor="start" x="1969" y="-1278.8" font-family="Times,serif" font-size="14.00">created_at :datetime</text>
<text text-anchor="start" x="1969" y="-1263.8" font-family="Times,serif" font-size="14.00">updated_at :datetime</text>
<text text-anchor="start" x="1969" y="-1248.8" font-family="Times,serif" font-size="14.00">contact_code_cache :string</text>
@ -944,7 +921,7 @@
<text text-anchor="start" x="1958.5" y="-2136.3" font-family="Times,serif" font-size="14.00">valid_from :datetime</text>
<text text-anchor="start" x="1958.5" y="-2121.3" font-family="Times,serif" font-size="14.00">valid_to :datetime</text>
<text text-anchor="start" x="1958.5" y="-2106.3" font-family="Times,serif" font-size="14.00">registrant_id :integer</text>
<text text-anchor="start" x="1958.5" y="-2091.3" font-family="Times,serif" font-size="14.00">auth_info :string</text>
<text text-anchor="start" x="1958.5" y="-2091.3" font-family="Times,serif" font-size="14.00">transfer_code :string</text>
<text text-anchor="start" x="1958.5" y="-2076.3" font-family="Times,serif" font-size="14.00">created_at :datetime</text>
<text text-anchor="start" x="1958.5" y="-2061.3" font-family="Times,serif" font-size="14.00">updated_at :datetime</text>
<text text-anchor="start" x="1958.5" y="-2046.3" font-family="Times,serif" font-size="14.00">name_dirty :string</text>
@ -1066,7 +1043,6 @@
<text text-anchor="start" x="1832" y="-661.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1832" y="-646.3" font-family="Times,serif" font-size="14.00">contact_id :integer</text>
<text text-anchor="start" x="1832" y="-631.3" font-family="Times,serif" font-size="14.00">domain_id :integer</text>
<text text-anchor="start" x="1832" y="-616.3" font-family="Times,serif" font-size="14.00">contact_type :string</text>
<text text-anchor="start" x="1832" y="-601.3" font-family="Times,serif" font-size="14.00">created_at :datetime</text>
<text text-anchor="start" x="1832" y="-586.3" font-family="Times,serif" font-size="14.00">updated_at :datetime</text>
<text text-anchor="start" x="1832" y="-571.3" font-family="Times,serif" font-size="14.00">contact_code_cache :string</text>
@ -1305,8 +1281,8 @@
<text text-anchor="start" x="1671" y="-1308.8" font-family="Times,serif" font-size="14.00">status :string</text>
<text text-anchor="start" x="1671" y="-1293.8" font-family="Times,serif" font-size="14.00">transfer_requested_at :datetime</text>
<text text-anchor="start" x="1671" y="-1278.8" font-family="Times,serif" font-size="14.00">transferred_at :datetime</text>
<text text-anchor="start" x="1671" y="-1263.8" font-family="Times,serif" font-size="14.00">transfer_from_id :integer</text>
<text text-anchor="start" x="1671" y="-1248.8" font-family="Times,serif" font-size="14.00">transfer_to_id :integer</text>
<text text-anchor="start" x="1671" y="-1263.8" font-family="Times,serif" font-size="14.00">old_registrar_id :integer</text>
<text text-anchor="start" x="1671" y="-1248.8" font-family="Times,serif" font-size="14.00">new_registrar_id :integer</text>
<text text-anchor="start" x="1671" y="-1233.8" font-family="Times,serif" font-size="14.00">created_at :datetime</text>
<text text-anchor="start" x="1671" y="-1218.8" font-family="Times,serif" font-size="14.00">updated_at :datetime</text>
<text text-anchor="start" x="1671" y="-1203.8" font-family="Times,serif" font-size="14.00">wait_until :datetime</text>
@ -1345,7 +1321,6 @@
<text text-anchor="start" x="2151" y="-1338.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2151" y="-1323.8" font-family="Times,serif" font-size="14.00">contact_id :integer</text>
<text text-anchor="start" x="2151" y="-1308.8" font-family="Times,serif" font-size="14.00">domain_id :integer</text>
<text text-anchor="start" x="2151" y="-1293.8" font-family="Times,serif" font-size="14.00">contact_type :string</text>
<text text-anchor="start" x="2151" y="-1278.8" font-family="Times,serif" font-size="14.00">created_at :datetime</text>
<text text-anchor="start" x="2151" y="-1263.8" font-family="Times,serif" font-size="14.00">updated_at :datetime</text>
<text text-anchor="start" x="2151" y="-1248.8" font-family="Times,serif" font-size="14.00">contact_code_cache :string</text>
@ -1851,13 +1826,6 @@
<polygon fill="#1a881f" stroke="#1a881f" points="919.662,-1372.29 924.748,-1362.58 919.959,-1367.3 920.256,-1362.31 920.256,-1362.31 920.256,-1362.31 919.959,-1367.3 915.764,-1362.04 919.662,-1372.29 919.662,-1372.29"/>
<text text-anchor="middle" x="931" y="-1707.8" font-family="Times,serif" font-size="14.00">versions</text>
</g>
<!-- DomainTransfer&#45;&gt;DomainTransferVersion -->
<g id="edge72" class="edge"><title>DomainTransfer&#45;&gt;DomainTransferVersion</title>
<path fill="none" stroke="#97da6d" d="M1757,-1157.74C1757,-979.325 1757,-634.796 1757,-464.817"/>
<ellipse fill="none" stroke="#97da6d" cx="1757" cy="-1161.74" rx="4" ry="4"/>
<polygon fill="#97da6d" stroke="#97da6d" points="1757,-464.622 1761.5,-454.622 1757,-459.622 1757,-454.622 1757,-454.622 1757,-454.622 1757,-459.622 1752.5,-454.622 1757,-464.622 1757,-464.622"/>
<text text-anchor="middle" x="1780" y="-820.3" font-family="Times,serif" font-size="14.00">versions</text>
</g>
<!-- ContactStatus&#45;&gt;ContactStatusVersion -->
<g id="edge73" class="edge"><title>ContactStatus&#45;&gt;ContactStatusVersion</title>
<path fill="none" stroke="#381ba0" d="M3180.66,-511.338C3170.31,-496.263 3157.51,-482.349 3142,-473 3094.87,-444.588 2946.14,-475.346 2895,-455 2794.71,-415.096 2705.7,-328.835 2646.82,-260.709"/>

Before

Width:  |  Height:  |  Size: 232 KiB

After

Width:  |  Height:  |  Size: 228 KiB

Before After
Before After

View file

@ -17,5 +17,6 @@ Main communication specification through Restful EPP (REPP):
[Contact related functions](repp/v1/contact.md)
[Domain related functions](repp/v1/domain.md)
[Domain transfers](repp/v1/domain_transfers.md)
[Account related functions](repp/v1/account.md)
[Nameservers](repp/v1/nameservers.md)
[Nameservers](repp/v1/nameservers.md)

View file

@ -39,7 +39,7 @@ Content-Type: application/json
"valid_from": "2015-09-09T09:11:14.861Z",
"valid_to": "2016-09-09T09:11:14.861Z",
"registrant_id": 1,
"auth_info": "98oiewslkfkd",
"transfer_code": "98oiewslkfkd",
"created_at": "2015-09-09T09:11:14.861Z",
"updated_at": "2015-09-09T09:11:14.860Z",
"name_dirty": "domain0.ee",

View file

@ -0,0 +1,48 @@
# Domain transfers
## POST /repp/v1/domain_transfers
Transfers domains.
#### Request
```
POST /repp/v1/domain_transfers
Accept: application/json
Content-Type: application/json
Authorization: Basic dGVzdDp0ZXN0dGVzdA==
{
"data":{
"domainTransfers":[
{
"domainName":"example.com",
"transferCode":"63e7"
},
{
"domainName":"example.org",
"transferCode":"15f9"
}
]
}
}
```
#### Response on success
```
HTTP/1.1 204
```
#### Response on failure
```
HTTP/1.1 400
Content-Type: application/json
{
"errors":[
{
"title":"example.com transfer code is wrong"
},
{
"title":"example.org does not exist"
}
]
}
```