mirror of
https://github.com/internetee/registry.git
synced 2025-05-18 18:29:40 +02:00
Merge branch 'master' of github.com:domify/registry
This commit is contained in:
commit
ee150e73ec
27 changed files with 2122 additions and 1182 deletions
|
@ -1,3 +1,8 @@
|
|||
08.06.2015
|
||||
|
||||
* Add sk service name to application.yml
|
||||
* Renew zonefile procedure
|
||||
|
||||
02.06.2015
|
||||
|
||||
* Added possibility to overwrite legal document types at application.yml level.
|
||||
|
|
4
Gemfile
4
Gemfile
|
@ -55,7 +55,7 @@ gem 'money-rails', '~> 1.3.0' # Money helpers
|
|||
|
||||
# deploy
|
||||
gem 'whenever', '~> 0.9.4', require: false
|
||||
gem 'data_migrate',
|
||||
gem 'data_migrate',
|
||||
github: 'gitlabeu/data_migrate',
|
||||
ref: '35d22b09ff37a4e9d61ab326ad5d8eb0edf1fc81'
|
||||
|
||||
|
@ -73,7 +73,7 @@ gem 'digidoc_client', '~> 0.2.1'
|
|||
|
||||
# epp
|
||||
gem 'epp', '~> 1.4.2', github: 'gitlabeu/epp'
|
||||
gem 'epp-xml', '~> 1.0.1' # EPP XMLs
|
||||
gem 'epp-xml', '~> 1.0.2' # EPP XMLs
|
||||
gem 'uuidtools', '~> 2.1.4' # For unique IDs (used by the epp gem)
|
||||
|
||||
# for importing legacy db
|
||||
|
|
|
@ -171,7 +171,7 @@ GEM
|
|||
nokogiri (>= 1.4.0)
|
||||
savon (>= 2.4.0)
|
||||
docile (1.1.5)
|
||||
epp-xml (1.0.1)
|
||||
epp-xml (1.0.2)
|
||||
activesupport (~> 4.1)
|
||||
builder (~> 3.2)
|
||||
equalizer (0.0.11)
|
||||
|
@ -529,7 +529,7 @@ DEPENDENCIES
|
|||
devise (~> 3.4.1)
|
||||
digidoc_client (~> 0.2.1)
|
||||
epp (~> 1.4.2)!
|
||||
epp-xml (~> 1.0.1)
|
||||
epp-xml (~> 1.0.2)
|
||||
fabrication (~> 2.12.2)
|
||||
faker (~> 1.3.0)
|
||||
figaro (~> 1.1.0)
|
||||
|
|
|
@ -55,7 +55,7 @@ xml.epp_head do
|
|||
end
|
||||
if can? :view_full_info, @contact, @password
|
||||
xml.tag!('extension') do
|
||||
xml.tag!('eis:extdata', 'xmlns:eis' => 'urn:ee:eis:xml:epp:eis-1.0') do
|
||||
xml.tag!('eis:extdata', 'xmlns:eis' => 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd') do
|
||||
xml.tag!('eis:ident', @contact.ident,
|
||||
type: @contact.ident_type, cc: @contact.ident_country_code)
|
||||
end
|
||||
|
|
|
@ -11,7 +11,7 @@ xml.epp_head do
|
|||
xml.objURI 'urn:ietf:params:xml:ns:keyrelay-1.0'
|
||||
xml.svcExtension do
|
||||
xml.extURI 'urn:ietf:params:xml:ns:secDNS-1.1'
|
||||
xml.extURI 'urn:ee:eis:xml:epp:eis-1.0'
|
||||
xml.extURI 'https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd'
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
</contact:create>
|
||||
</create>
|
||||
<extension>
|
||||
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||
<eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
|
||||
<eis:ident type="bic" cc="EE">123</eis:ident>
|
||||
<eis:legalDocument type="pdf">
|
||||
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
</contact:delete>
|
||||
</delete>
|
||||
<extension>
|
||||
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||
<eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
|
||||
<eis:legalDocument type="pdf">
|
||||
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||
</eis:legalDocument>
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
</contact:update>
|
||||
</update>
|
||||
<extension>
|
||||
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||
<eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
|
||||
<eis:legalDocument type="pdf">
|
||||
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||
</eis:legalDocument>
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
</secDNS:create>
|
||||
</extension>
|
||||
<extension>
|
||||
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||
<eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
|
||||
<eis:legalDocument type="pdf">
|
||||
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||
</eis:legalDocument>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
</domain:delete>
|
||||
</delete>
|
||||
<extension>
|
||||
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||
<eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
|
||||
<eis:legalDocument type="pdf">
|
||||
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||
</eis:legalDocument>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
</domain:transfer>
|
||||
</transfer>
|
||||
<extension>
|
||||
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||
<eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
|
||||
<eis:legalDocument type="pdf">
|
||||
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||
</eis:legalDocument>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</secDNS:update>
|
||||
</extension>
|
||||
<extension>
|
||||
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||
<eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
|
||||
<eis:legalDocument type="pdf">
|
||||
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==
|
||||
</eis:legalDocument>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<ext:relative>P1D</ext:relative>
|
||||
</ext:expiry>
|
||||
</ext:keyrelay>
|
||||
<eis:extdata xmlns:eis="urn:ee:eis:xml:epp:eis-1.0">
|
||||
<eis:extdata xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd">
|
||||
<eis:legalDocument type="pdf">JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==</eis:legalDocument>
|
||||
</eis:extdata>
|
||||
<ext:clTRID>1422542244</ext:clTRID>
|
||||
|
|
34
db/schema.rb
34
db/schema.rb
|
@ -19,7 +19,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
|
|||
create_table "account_activities", force: :cascade do |t|
|
||||
t.integer "account_id"
|
||||
t.integer "invoice_id"
|
||||
t.decimal "sum", precision: 10, scale: 2
|
||||
t.decimal "sum", precision: 8, scale: 2
|
||||
t.string "currency"
|
||||
t.integer "bank_transaction_id"
|
||||
t.datetime "created_at"
|
||||
|
@ -36,7 +36,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
|
|||
create_table "accounts", force: :cascade do |t|
|
||||
t.integer "registrar_id"
|
||||
t.string "account_type"
|
||||
t.decimal "balance", precision: 10, scale: 2, default: 0.0, null: false
|
||||
t.decimal "balance", precision: 8, scale: 2, default: 0.0, null: false
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
t.string "currency"
|
||||
|
@ -98,7 +98,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
|
|||
t.string "buyer_name"
|
||||
t.string "document_no"
|
||||
t.string "description"
|
||||
t.decimal "sum", precision: 10, scale: 2
|
||||
t.decimal "sum", precision: 8, scale: 2
|
||||
t.string "reference_no"
|
||||
t.datetime "paid_at"
|
||||
t.datetime "created_at"
|
||||
|
@ -114,7 +114,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
|
|||
t.string "vk_rec_id"
|
||||
t.string "vk_stamp"
|
||||
t.string "vk_t_no"
|
||||
t.decimal "vk_amount", precision: 10, scale: 2
|
||||
t.decimal "vk_amount", precision: 8, scale: 2
|
||||
t.string "vk_curr"
|
||||
t.string "vk_rec_acc"
|
||||
t.string "vk_rec_name"
|
||||
|
@ -328,10 +328,10 @@ ActiveRecord::Schema.define(version: 20150603212659) do
|
|||
|
||||
create_table "invoice_items", force: :cascade do |t|
|
||||
t.integer "invoice_id"
|
||||
t.string "description", null: false
|
||||
t.string "description", null: false
|
||||
t.string "unit"
|
||||
t.integer "amount"
|
||||
t.decimal "price", precision: 10, scale: 2
|
||||
t.decimal "price", precision: 8, scale: 2
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
t.string "creator_str"
|
||||
|
@ -341,20 +341,20 @@ ActiveRecord::Schema.define(version: 20150603212659) do
|
|||
add_index "invoice_items", ["invoice_id"], name: "index_invoice_items_on_invoice_id", using: :btree
|
||||
|
||||
create_table "invoices", force: :cascade do |t|
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.string "invoice_type", null: false
|
||||
t.datetime "due_date", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.string "invoice_type", null: false
|
||||
t.datetime "due_date", null: false
|
||||
t.string "payment_term"
|
||||
t.string "currency", null: false
|
||||
t.string "currency", null: false
|
||||
t.string "description"
|
||||
t.string "reference_no"
|
||||
t.decimal "vat_prc", precision: 10, scale: 2, null: false
|
||||
t.decimal "vat_prc", precision: 8, scale: 2, null: false
|
||||
t.datetime "paid_at"
|
||||
t.integer "seller_id"
|
||||
t.string "seller_name", null: false
|
||||
t.string "seller_name", null: false
|
||||
t.string "seller_reg_no"
|
||||
t.string "seller_iban", null: false
|
||||
t.string "seller_iban", null: false
|
||||
t.string "seller_bank"
|
||||
t.string "seller_swift"
|
||||
t.string "seller_vat_no"
|
||||
|
@ -368,7 +368,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
|
|||
t.string "seller_email"
|
||||
t.string "seller_contact_name"
|
||||
t.integer "buyer_id"
|
||||
t.string "buyer_name", null: false
|
||||
t.string "buyer_name", null: false
|
||||
t.string "buyer_reg_no"
|
||||
t.string "buyer_country_code"
|
||||
t.string "buyer_state"
|
||||
|
@ -382,7 +382,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
|
|||
t.string "updator_str"
|
||||
t.integer "number"
|
||||
t.datetime "cancelled_at"
|
||||
t.decimal "sum_cache", precision: 10, scale: 2
|
||||
t.decimal "sum_cache", precision: 8, scale: 2
|
||||
end
|
||||
|
||||
add_index "invoices", ["buyer_id"], name: "index_invoices_on_buyer_id", using: :btree
|
||||
|
@ -982,7 +982,7 @@ ActiveRecord::Schema.define(version: 20150603212659) do
|
|||
t.text "crt"
|
||||
t.string "type"
|
||||
t.string "registrant_ident"
|
||||
t.string "encrypted_password", default: ""
|
||||
t.string "encrypted_password", default: "", null: false
|
||||
t.datetime "remember_created_at"
|
||||
t.integer "failed_attempts", default: 0, null: false
|
||||
t.datetime "locked_at"
|
||||
|
|
|
@ -16,5 +16,15 @@ Our implementation supports following protocols:
|
|||
[RFC5910 - DNSSEC Mapping](http://tools.ietf.org/html/rfc5910)
|
||||
[RFC3735 - Guidelines for Extending the EPP](http://tools.ietf.org/html/rfc3735)
|
||||
|
||||
Related XML Schema Definitions (may differ from policies applied to registry):
|
||||
|
||||
[contact-1.0.xsd](schemas/contact-1.0.xsd)
|
||||
[domain-1.0.xsd](schemas/domain-1.0.xsd)
|
||||
[eis-1.0.xsd](schemas/eis-1.0.xsd)
|
||||
[epp-1.0.xsd](schemas/epp-1.0.xsd)
|
||||
[eppcom-1.0.xsd](schemas/eppcom-1.0.xsd)
|
||||
[host-1.0.xsd](schemas/host-1.0.xsd)
|
||||
[secDNS-1.1.xsd](schemas/secDNS-1.1.xsd)
|
||||
|
||||
More info about The Extensible Provisioning Protocol (EPP):<br>
|
||||
http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol
|
||||
|
|
2297
doc/epp-examples.md
2297
doc/epp-examples.md
File diff suppressed because it is too large
Load diff
|
@ -26,7 +26,7 @@ Contact Mapping protocol short version:
|
|||
<contact:voice> 1 Phone number in format \+ddd.d+
|
||||
<contact:email> 1 E-mail
|
||||
<extension> 1
|
||||
<eis:extdata> 1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"
|
||||
<eis:extdata> 1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
|
||||
<eis:ident> 1 Contact identificator
|
||||
Attribute: "type"
|
||||
"bic" # Business registry code
|
||||
|
@ -62,7 +62,7 @@ Contact Mapping protocol short version:
|
|||
<contact:authInfo> 0-1 Required if registrar is not the owner of the contact.
|
||||
<contact:pw> 1 Contact password. Attribute: roid="String"
|
||||
<extension> 0-1
|
||||
<eis:extdata> 0-1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"
|
||||
<eis:extdata> 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
|
||||
<eis:ident> 0-1 Contact identificator
|
||||
Attribute: "type"
|
||||
"bic" # Business registry code
|
||||
|
@ -87,7 +87,7 @@ Contact Mapping protocol short version:
|
|||
<contact:authInfo> 0-1 Required if registrar is not the owner of the contact.
|
||||
<contact:pw> 1 Contact password. Attribute: roid="String"
|
||||
<extension> 0-1
|
||||
<eis:extdata> 0-1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"
|
||||
<eis:extdata> 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
|
||||
<eis:legalDocument> 0-1 Base64 encoded document.
|
||||
Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z"
|
||||
<clTRID> 0-1 Client transaction id
|
||||
|
|
|
@ -35,7 +35,7 @@ Domain name mapping protocol short version:
|
|||
<secDNS:protocol> 1 Allowed values: 3
|
||||
<secDNS:alg> 1 Allowed values: 3, 5, 6, 7, 8, 252, 253, 254, 255
|
||||
<secDNS:pubKey> 1 Public key
|
||||
<eis:extdata> 1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"
|
||||
<eis:extdata> 1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
|
||||
<eis:legalDocument> 1 Base64 encoded document.
|
||||
Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z"
|
||||
<clTRID> 0-1 Client transaction id
|
||||
|
@ -82,7 +82,7 @@ Domain name mapping protocol short version:
|
|||
<secDNS:rem> 0-1
|
||||
<secDNS:keyData> 1-n
|
||||
<secDNS:pubKey> 1 Public key
|
||||
<eis:extdata> 0-1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"
|
||||
<eis:extdata> 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
|
||||
<eis:legalDocument> 0-1 Base64 encoded document. Required if registrant is changing.
|
||||
Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z"
|
||||
<clTRID> 0-1 Client transaction id
|
||||
|
@ -98,7 +98,7 @@ Domain name mapping protocol short version:
|
|||
Optional attribute: verified="yes/no"
|
||||
<domain:name> 1 Domain name. Can contain unicode characters.
|
||||
<extension> 1
|
||||
<eis:extdata> 1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"
|
||||
<eis:extdata> 1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
|
||||
<eis:legalDocument> 1 Base64 encoded document.
|
||||
Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z"
|
||||
<clTRID> 0-1 Client transaction id
|
||||
|
@ -130,7 +130,7 @@ Domain name mapping protocol short version:
|
|||
<domain:period> 1 Registration period for domain.
|
||||
Must add up to 1 / 2 / 3 years. Attribute: unit="y/m/d"
|
||||
<extension> 0-1
|
||||
<eis:extdata> 0-1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"
|
||||
<eis:extdata> 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
|
||||
<eis:legalDocument> 0-1 Base64 encoded document.
|
||||
Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z"
|
||||
<clTRID> 0-1 Client transaction id
|
||||
|
@ -147,7 +147,7 @@ Domain name mapping protocol short version:
|
|||
<domain:authInfo> 1
|
||||
<domain:pw> 1 Domain password. Attribute: roid="String"
|
||||
<extension> 0-1
|
||||
<eis:extdata> 0-1 Attribute: xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"
|
||||
<eis:extdata> 0-1 Attribute: xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
|
||||
<eis:legalDocument> 0-1 Base64 encoded document.
|
||||
Attribute: type="pdf/bdoc/ddoc/zip/rar/gz/tar/7z"
|
||||
<clTRID> 0-1 Client transaction id
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
-->
|
||||
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="doc/schemas/eppcom-1.0.xsd"/>
|
||||
<import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="doc/schemas/epp-1.0.xsd"/>
|
||||
<import namespace="urn:ietf:params:xml:ns:eis-1.0" schemaLocation="doc/schemas/eis-1.0.xsd"/>
|
||||
|
||||
<annotation>
|
||||
<documentation>
|
||||
|
@ -73,23 +72,6 @@
|
|||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<complexType name="identType">
|
||||
<simpleContent>
|
||||
<extension base="eppcom:clIDType">
|
||||
<attribute name="type" type="contact:identAttrType"/>
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
|
||||
<simpleType name="identAttrType">
|
||||
<restriction base="token">
|
||||
<enumeration value="ico"/>
|
||||
<enumeration value="op"/>
|
||||
<enumeration value="passport"/>
|
||||
<enumeration value="birthday"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<!--
|
||||
Child elements of the <create> command.
|
||||
-->
|
||||
|
@ -103,8 +85,6 @@
|
|||
<element name="fax" type="contact:e164Type"
|
||||
minOccurs="0"/>
|
||||
<element name="email" type="eppcom:minTokenType"/>
|
||||
<element name="ident" type="contact:identType"
|
||||
minOccurs="0"/>
|
||||
<element name="authInfo" type="contact:authInfoType" minOccurs="0"/>
|
||||
|
||||
</sequence>
|
||||
|
@ -220,8 +200,6 @@
|
|||
minOccurs="0"/>
|
||||
<element name="email" type="eppcom:minTokenType"
|
||||
minOccurs="0"/>
|
||||
<element name="ident" type="contact:identType"
|
||||
minOccurs="0"/>
|
||||
<element name="authInfo" type="contact:authInfoType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
|
|
366
doc/schemas/contact-eis-1.0.xsd
Normal file
366
doc/schemas/contact-eis-1.0.xsd
Normal file
|
@ -0,0 +1,366 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<schema targetNamespace="urn:ietf:params:xml:ns:contact-1.0"
|
||||
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"
|
||||
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
||||
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
||||
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||
elementFormDefault="qualified">
|
||||
|
||||
<!--
|
||||
Import common element types.
|
||||
-->
|
||||
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="doc/schemas/eppcom-1.0.xsd"/>
|
||||
<import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="doc/schemas/epp-1.0.xsd"/>
|
||||
<import namespace="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd" schemaLocation="doc/schemas/eis-1.0.xsd"/>
|
||||
|
||||
<annotation>
|
||||
<documentation>
|
||||
Extensible Provisioning Protocol v1.0
|
||||
contact provisioning schema.
|
||||
</documentation>
|
||||
</annotation>
|
||||
|
||||
<!--
|
||||
Child elements found in EPP commands.
|
||||
-->
|
||||
<element name="check" type="contact:mIDType"/>
|
||||
<element name="create" type="contact:createType"/>
|
||||
<element name="delete" type="contact:authIDType"/>
|
||||
<element name="info" type="contact:authIDType"/>
|
||||
<element name="transfer" type="contact:authIDType"/>
|
||||
<element name="update" type="contact:updateType"/>
|
||||
|
||||
<!--
|
||||
Utility types.
|
||||
-->
|
||||
<simpleType name="ccType">
|
||||
<restriction base="token">
|
||||
<length value="2"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
<complexType name="e164Type">
|
||||
<simpleContent>
|
||||
<extension base="contact:e164StringType">
|
||||
<attribute name="x" type="token"/>
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
|
||||
<simpleType name="e164StringType">
|
||||
<restriction base="token">
|
||||
<!--<pattern value="(\+[0-9]{1,3}\.[0-9]{1,14})?"/> -->
|
||||
<maxLength value="17"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<simpleType name="pcType">
|
||||
<restriction base="token">
|
||||
<maxLength value="16"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<simpleType name="postalLineType">
|
||||
<restriction base="normalizedString">
|
||||
<minLength value="1"/>
|
||||
<maxLength value="255"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<simpleType name="optPostalLineType">
|
||||
<restriction base="normalizedString">
|
||||
<maxLength value="255"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<!--
|
||||
Child elements of the <create> command.
|
||||
-->
|
||||
<complexType name="createType">
|
||||
<sequence>
|
||||
<element name="id" type="eppcom:clIDType" minOccurs="0"/>
|
||||
<element name="postalInfo" type="contact:postalInfoType"
|
||||
maxOccurs="2"/>
|
||||
<element name="voice" type="contact:e164Type"
|
||||
minOccurs="0"/>
|
||||
<element name="fax" type="contact:e164Type"
|
||||
minOccurs="0"/>
|
||||
<element name="email" type="eppcom:minTokenType"/>
|
||||
<element name="authInfo" type="contact:authInfoType" minOccurs="0"/>
|
||||
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<complexType name="postalInfoType">
|
||||
<sequence>
|
||||
<element name="name" type="contact:postalLineType"/>
|
||||
<element name="org" type="contact:optPostalLineType"
|
||||
minOccurs="0"/>
|
||||
<element name="addr" type="contact:addrType"/>
|
||||
</sequence>
|
||||
<attribute name="type" type="contact:postalInfoEnumType"/>
|
||||
</complexType>
|
||||
|
||||
<simpleType name="postalInfoEnumType">
|
||||
<restriction base="token">
|
||||
<enumeration value="loc"/>
|
||||
<enumeration value="int"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<complexType name="addrType">
|
||||
<sequence>
|
||||
<element name="street" type="contact:optPostalLineType"
|
||||
minOccurs="0" maxOccurs="3"/>
|
||||
<element name="city" type="contact:postalLineType"/>
|
||||
<element name="sp" type="contact:optPostalLineType"
|
||||
minOccurs="0"/>
|
||||
<element name="pc" type="contact:pcType"
|
||||
minOccurs="0"/>
|
||||
<element name="cc" type="contact:ccType"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<complexType name="authInfoType">
|
||||
<choice>
|
||||
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
||||
<element name="ext" type="eppcom:extAuthInfoType"/>
|
||||
</choice>
|
||||
</complexType>
|
||||
|
||||
<complexType name="intLocType">
|
||||
<attribute name="type" type="contact:postalInfoEnumType"
|
||||
use="required"/>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Child element of commands that require only an identifier.
|
||||
-->
|
||||
<complexType name="sIDType">
|
||||
<sequence>
|
||||
<element name="id" type="eppcom:clIDType"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Child element of commands that accept multiple identifiers.
|
||||
-->
|
||||
<complexType name="mIDType">
|
||||
<sequence>
|
||||
<element name="id" type="eppcom:clIDType"
|
||||
maxOccurs="unbounded"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Child elements of the <info> and <transfer> commands.
|
||||
-->
|
||||
<complexType name="authIDType">
|
||||
<sequence>
|
||||
<element name="id" type="eppcom:clIDType"/>
|
||||
<element name="authInfo" type="contact:authInfoType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Child elements of the <update> command.
|
||||
-->
|
||||
<complexType name="updateType">
|
||||
<sequence>
|
||||
<element name="id" type="eppcom:clIDType"/>
|
||||
<element name="add" type="contact:addRemType"
|
||||
minOccurs="0"/>
|
||||
<element name="rem" type="contact:addRemType"
|
||||
minOccurs="0"/>
|
||||
<element name="chg" type="contact:chgType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Data elements that can be added or removed.
|
||||
-->
|
||||
<complexType name="addRemType">
|
||||
<sequence>
|
||||
<element name="status" type="contact:statusType"
|
||||
maxOccurs="7"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Data elements that can be changed.
|
||||
-->
|
||||
<complexType name="chgType">
|
||||
<sequence>
|
||||
<element name="postalInfo" type="contact:chgPostalInfoType"
|
||||
minOccurs="0" maxOccurs="2"/>
|
||||
<element name="voice" type="contact:e164Type"
|
||||
minOccurs="0"/>
|
||||
<element name="fax" type="contact:e164Type"
|
||||
minOccurs="0"/>
|
||||
<element name="email" type="eppcom:minTokenType"
|
||||
minOccurs="0"/>
|
||||
<element name="authInfo" type="contact:authInfoType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<complexType name="chgPostalInfoType">
|
||||
<sequence>
|
||||
<element name="name" type="contact:postalLineType"
|
||||
minOccurs="0"/>
|
||||
<element name="org" type="contact:optPostalLineType"
|
||||
minOccurs="0"/>
|
||||
<element name="addr" type="contact:addrType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
<attribute name="type" type="contact:postalInfoEnumType"/>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Child response elements.
|
||||
-->
|
||||
<element name="chkData" type="contact:chkDataType"/>
|
||||
<element name="creData" type="contact:creDataType"/>
|
||||
<element name="infData" type="contact:infDataType"/>
|
||||
<element name="panData" type="contact:panDataType"/>
|
||||
<element name="trnData" type="contact:trnDataType"/>
|
||||
|
||||
<!--
|
||||
<check> response elements.
|
||||
-->
|
||||
<complexType name="chkDataType">
|
||||
<sequence>
|
||||
<element name="cd" type="contact:checkType"
|
||||
maxOccurs="unbounded"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<complexType name="checkType">
|
||||
<sequence>
|
||||
<element name="id" type="contact:checkIDType"/>
|
||||
<element name="reason" type="eppcom:reasonType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<complexType name="checkIDType">
|
||||
<simpleContent>
|
||||
<extension base="eppcom:clIDType">
|
||||
<attribute name="avail" type="boolean"
|
||||
use="required"/>
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
<create> response elements.
|
||||
-->
|
||||
<complexType name="creDataType">
|
||||
<sequence>
|
||||
<element name="id" type="eppcom:clIDType"/>
|
||||
<element name="crDate" type="dateTime"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
<info> response elements.
|
||||
-->
|
||||
<complexType name="infDataType">
|
||||
<sequence>
|
||||
<element name="id" type="eppcom:clIDType"/>
|
||||
<element name="roid" type="eppcom:roidType"/>
|
||||
<element name="status" type="contact:statusType"
|
||||
maxOccurs="7"/>
|
||||
<element name="postalInfo" type="contact:postalInfoType"
|
||||
maxOccurs="2"/>
|
||||
<element name="voice" type="contact:e164Type"
|
||||
minOccurs="0"/>
|
||||
<element name="fax" type="contact:e164Type"
|
||||
minOccurs="0"/>
|
||||
<element name="email" type="eppcom:minTokenType"/>
|
||||
<element name="clID" type="eppcom:clIDType"/>
|
||||
<element name="crID" type="eppcom:clIDType"/>
|
||||
<element name="crDate" type="dateTime"/>
|
||||
<element name="upID" type="eppcom:clIDType"
|
||||
minOccurs="0"/>
|
||||
<element name="upDate" type="dateTime"
|
||||
minOccurs="0"/>
|
||||
<element name="trDate" type="dateTime"
|
||||
minOccurs="0"/>
|
||||
<element name="authInfo" type="contact:authInfoType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Status is a combination of attributes and an optional human-readable
|
||||
message that may be expressed in languages other than English.
|
||||
-->
|
||||
<complexType name="statusType">
|
||||
<simpleContent>
|
||||
<extension base="normalizedString">
|
||||
<attribute name="s" type="contact:statusValueType"
|
||||
use="required"/>
|
||||
<attribute name="lang" type="language"
|
||||
default="en"/>
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
|
||||
<simpleType name="statusValueType">
|
||||
<restriction base="token">
|
||||
<enumeration value="clientDeleteProhibited"/>
|
||||
<enumeration value="clientTransferProhibited"/>
|
||||
<enumeration value="clientUpdateProhibited"/>
|
||||
<enumeration value="linked"/>
|
||||
<enumeration value="ok"/>
|
||||
<enumeration value="pendingCreate"/>
|
||||
<enumeration value="pendingDelete"/>
|
||||
<enumeration value="pendingTransfer"/>
|
||||
<enumeration value="pendingUpdate"/>
|
||||
<enumeration value="serverDeleteProhibited"/>
|
||||
<enumeration value="serverTransferProhibited"/>
|
||||
<enumeration value="serverUpdateProhibited"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<!--
|
||||
Pending action notification response elements.
|
||||
-->
|
||||
<complexType name="panDataType">
|
||||
<sequence>
|
||||
<element name="id" type="contact:paCLIDType"/>
|
||||
<element name="paTRID" type="epp:trIDType"/>
|
||||
<element name="paDate" type="dateTime"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<complexType name="paCLIDType">
|
||||
<simpleContent>
|
||||
<extension base="eppcom:clIDType">
|
||||
<attribute name="paResult" type="boolean"
|
||||
use="required"/>
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
<transfer> response elements.
|
||||
-->
|
||||
<complexType name="trnDataType">
|
||||
<sequence>
|
||||
<element name="id" type="eppcom:clIDType"/>
|
||||
<element name="trStatus" type="eppcom:trStatusType"/>
|
||||
<element name="reID" type="eppcom:clIDType"/>
|
||||
<element name="reDate" type="dateTime"/>
|
||||
<element name="acID" type="eppcom:clIDType"/>
|
||||
<element name="acDate" type="dateTime"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
End of schema.
|
||||
-->
|
||||
</schema>
|
|
@ -15,7 +15,6 @@
|
|||
<import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="doc/schemas/epp-1.0.xsd"/>
|
||||
<import namespace="urn:ietf:params:xml:ns:host-1.0" schemaLocation="doc/schemas/host-1.0.xsd"/>
|
||||
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1" schemaLocation="doc/schemas/secDNS-1.1.xsd"/>
|
||||
<import namespace="urn:ietf:params:xml:ns:eis-1.0" schemaLocation="doc/schemas/eis-1.0.xsd"/>
|
||||
|
||||
<annotation>
|
||||
<documentation>
|
||||
|
|
451
doc/schemas/domain-eis-1.0.xsd
Normal file
451
doc/schemas/domain-eis-1.0.xsd
Normal file
|
@ -0,0 +1,451 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<schema targetNamespace="urn:ietf:params:xml:ns:domain-1.0"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
|
||||
xmlns:host="urn:ietf:params:xml:ns:host-1.0"
|
||||
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
||||
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
||||
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||
elementFormDefault="qualified">
|
||||
|
||||
<!--
|
||||
Import common element types.
|
||||
-->
|
||||
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="doc/schemas/eppcom-1.0.xsd"/>
|
||||
<import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="doc/schemas/epp-1.0.xsd"/>
|
||||
<import namespace="urn:ietf:params:xml:ns:host-1.0" schemaLocation="doc/schemas/host-1.0.xsd"/>
|
||||
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1" schemaLocation="doc/schemas/secDNS-1.1.xsd"/>
|
||||
<import namespace="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd" schemaLocation="doc/schemas/eis-1.0.xsd"/>
|
||||
|
||||
<annotation>
|
||||
<documentation>
|
||||
Extensible Provisioning Protocol v1.0
|
||||
domain provisioning schema.
|
||||
</documentation>
|
||||
</annotation>
|
||||
|
||||
<!--
|
||||
Child elements found in EPP commands.
|
||||
-->
|
||||
<element name="check" type="domain:mNameType"/>
|
||||
<element name="create" type="domain:createType"/>
|
||||
<element name="delete" type="domain:sNameType"/>
|
||||
<element name="info" type="domain:infoType"/>
|
||||
<element name="renew" type="domain:renewType"/>
|
||||
<element name="transfer" type="domain:transferType"/>
|
||||
<element name="update" type="domain:updateType"/>
|
||||
<!--
|
||||
Child elements of the <create> command.
|
||||
-->
|
||||
<complexType name="createType">
|
||||
<sequence>
|
||||
<element name="name" type="eppcom:labelType"/>
|
||||
<element name="period" type="domain:periodType"
|
||||
minOccurs="0"/>
|
||||
<element name="ns" type="domain:nsType"
|
||||
minOccurs="0"/>
|
||||
<element name="registrant" type="eppcom:clIDType"
|
||||
minOccurs="0"/>
|
||||
<element name="contact" type="domain:contactType"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
<element name="authInfo" type="domain:authInfoType" minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<complexType name="periodType">
|
||||
<simpleContent>
|
||||
<extension base="domain:pLimitType">
|
||||
<attribute name="unit" type="domain:pUnitType"
|
||||
use="required"/>
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
|
||||
<simpleType name="pLimitType">
|
||||
<restriction base="unsignedShort">
|
||||
<minInclusive value="1"/>
|
||||
<maxInclusive value="1095"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<simpleType name="pUnitType">
|
||||
<restriction base="token">
|
||||
<enumeration value="y"/>
|
||||
<enumeration value="m"/>
|
||||
<enumeration value="d"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<complexType name="nsType">
|
||||
<choice>
|
||||
<element name="hostObj" type="eppcom:labelType"
|
||||
maxOccurs="unbounded"/>
|
||||
<element name="hostAttr" type="domain:hostAttrType"
|
||||
maxOccurs="unbounded"/>
|
||||
</choice>
|
||||
</complexType>
|
||||
<!--
|
||||
Name servers are either host objects or attributes.
|
||||
-->
|
||||
|
||||
<complexType name="hostAttrType">
|
||||
<sequence>
|
||||
<element name="hostName" type="eppcom:labelType"/>
|
||||
<element name="hostAddr" type="host:addrType"
|
||||
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
<!--
|
||||
If attributes, addresses are optional and follow the
|
||||
structure defined in the host mapping.
|
||||
-->
|
||||
|
||||
<complexType name="contactType">
|
||||
<simpleContent>
|
||||
<extension base="eppcom:clIDType">
|
||||
<attribute name="type" type="domain:contactAttrType"/>
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
|
||||
<simpleType name="contactAttrType">
|
||||
<restriction base="token">
|
||||
<enumeration value="admin"/>
|
||||
<enumeration value="billing"/>
|
||||
<enumeration value="tech"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<complexType name="authInfoType">
|
||||
<choice>
|
||||
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
||||
<element name="ext" type="eppcom:extAuthInfoType"/>
|
||||
</choice>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Child element of commands that require a single name.
|
||||
-->
|
||||
<complexType name="sNameType">
|
||||
<sequence>
|
||||
<element name="name" type="eppcom:labelType"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
<!--
|
||||
Child element of commands that accept multiple names.
|
||||
-->
|
||||
<complexType name="mNameType">
|
||||
<sequence>
|
||||
<element name="name" type="eppcom:labelType"
|
||||
maxOccurs="unbounded"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Child elements of the <info> command.
|
||||
-->
|
||||
<complexType name="infoType">
|
||||
<sequence>
|
||||
<element name="name" type="domain:infoNameType"/>
|
||||
<element name="authInfo" type="domain:authInfoType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<complexType name="infoNameType">
|
||||
<simpleContent>
|
||||
<extension base = "eppcom:labelType">
|
||||
<attribute name="hosts" type="domain:hostsType"
|
||||
default="all"/>
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
|
||||
<simpleType name="hostsType">
|
||||
<restriction base="token">
|
||||
<enumeration value="all"/>
|
||||
<enumeration value="del"/>
|
||||
<enumeration value="none"/>
|
||||
<enumeration value="sub"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<!--
|
||||
Child elements of the <renew> command.
|
||||
-->
|
||||
<complexType name="renewType">
|
||||
<sequence>
|
||||
<element name="name" type="eppcom:labelType"/>
|
||||
<element name="curExpDate" type="date"/>
|
||||
<element name="period" type="domain:periodType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Child elements of the <transfer> command.
|
||||
-->
|
||||
<complexType name="transferType">
|
||||
<sequence>
|
||||
<element name="name" type="eppcom:labelType"/>
|
||||
<element name="period" type="domain:periodType"
|
||||
minOccurs="0"/>
|
||||
<element name="authInfo" type="domain:authInfoType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Child elements of the <update> command.
|
||||
-->
|
||||
<complexType name="updateType">
|
||||
<sequence>
|
||||
<element name="name" type="eppcom:labelType"/>
|
||||
<element name="add" type="domain:addRemType"
|
||||
minOccurs="0"/>
|
||||
<element name="rem" type="domain:addRemType"
|
||||
minOccurs="0"/>
|
||||
<element name="chg" type="domain:chgType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Data elements that can be added or removed.
|
||||
-->
|
||||
<complexType name="addRemType">
|
||||
<sequence>
|
||||
<element name="ns" type="domain:nsType"
|
||||
minOccurs="0"/>
|
||||
<element name="contact" type="domain:contactType"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
<element name="status" type="domain:statusType"
|
||||
minOccurs="0" maxOccurs="11"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Data elements that can be changed.
|
||||
-->
|
||||
<complexType name="chgType">
|
||||
<sequence>
|
||||
<element name="registrant" type="domain:clIDChgType"
|
||||
minOccurs="0"/>
|
||||
<element name="authInfo" type="domain:authInfoChgType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Allow the registrant value to be nullified by changing the
|
||||
minLength restriction to "0".
|
||||
-->
|
||||
|
||||
<complexType name="clIDChgType">
|
||||
<simpleContent>
|
||||
<extension base="domain:clIDChgSimpleType">
|
||||
<attribute name="verified" type="domain:verifiedType"/>
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
|
||||
<simpleType name="clIDChgSimpleType">
|
||||
<restriction base="token">
|
||||
<minLength value="0"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<simpleType name="verifiedType">
|
||||
<restriction base="token">
|
||||
<enumeration value="yes"/>
|
||||
<enumeration value="no"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
|
||||
<!--
|
||||
Allow the authInfo value to be nullified by including an
|
||||
empty element within the choice.
|
||||
-->
|
||||
<complexType name="authInfoChgType">
|
||||
<choice>
|
||||
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
||||
<element name="ext" type="eppcom:extAuthInfoType"/>
|
||||
<element name="null"/>
|
||||
</choice>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Child response elements.
|
||||
-->
|
||||
<element name="chkData" type="domain:chkDataType"/>
|
||||
<element name="creData" type="domain:creDataType"/>
|
||||
<element name="infData" type="domain:infDataType"/>
|
||||
<element name="panData" type="domain:panDataType"/>
|
||||
<element name="renData" type="domain:renDataType"/>
|
||||
<element name="trnData" type="domain:trnDataType"/>
|
||||
|
||||
<!--
|
||||
<check> response elements.
|
||||
-->
|
||||
<complexType name="chkDataType">
|
||||
<sequence>
|
||||
<element name="cd" type="domain:checkType"
|
||||
maxOccurs="unbounded"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<complexType name="checkType">
|
||||
<sequence>
|
||||
<element name="name" type="domain:checkNameType"/>
|
||||
<element name="reason" type="eppcom:reasonType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<complexType name="checkNameType">
|
||||
<simpleContent>
|
||||
<extension base="eppcom:labelType">
|
||||
<attribute name="avail" type="boolean"
|
||||
use="required"/>
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
<create> response elements.
|
||||
-->
|
||||
<complexType name="creDataType">
|
||||
<sequence>
|
||||
<element name="name" type="eppcom:labelType"/>
|
||||
<element name="crDate" type="dateTime"/>
|
||||
<element name="exDate" type="dateTime"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
<info> response elements.
|
||||
-->
|
||||
|
||||
<complexType name="infDataType">
|
||||
<sequence>
|
||||
<element name="name" type="eppcom:labelType"/>
|
||||
<element name="roid" type="eppcom:roidType"/>
|
||||
<element name="status" type="domain:statusType"
|
||||
minOccurs="0" maxOccurs="11"/>
|
||||
<element name="registrant" type="eppcom:clIDType"
|
||||
minOccurs="0"/>
|
||||
<element name="contact" type="domain:contactType"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
<element name="ns" type="domain:nsType"
|
||||
minOccurs="0"/>
|
||||
<element name="host" type="eppcom:labelType"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
<element name="clID" type="eppcom:clIDType"/>
|
||||
<element name="crID" type="eppcom:clIDType"
|
||||
minOccurs="0"/>
|
||||
<element name="crDate" type="dateTime"
|
||||
minOccurs="0"/>
|
||||
<element name="upID" type="eppcom:clIDType"
|
||||
minOccurs="0"/>
|
||||
<element name="upDate" type="dateTime"
|
||||
minOccurs="0"/>
|
||||
<element name="exDate" type="dateTime"
|
||||
minOccurs="0"/>
|
||||
<element name="trDate" type="dateTime"
|
||||
minOccurs="0"/>
|
||||
<element name="authInfo" type="domain:authInfoType"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Status is a combination of attributes and an optional
|
||||
human-readable message that may be expressed in languages other
|
||||
than English.
|
||||
-->
|
||||
<complexType name="statusType">
|
||||
<simpleContent>
|
||||
<extension base="normalizedString">
|
||||
<attribute name="s" type="domain:statusValueType"
|
||||
use="required"/>
|
||||
<attribute name="lang" type="language"
|
||||
default="en"/>
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
|
||||
<simpleType name="statusValueType">
|
||||
<restriction base="token">
|
||||
<enumeration value="clientDeleteProhibited"/>
|
||||
<enumeration value="clientHold"/>
|
||||
<enumeration value="clientRenewProhibited"/>
|
||||
<enumeration value="clientTransferProhibited"/>
|
||||
<enumeration value="clientUpdateProhibited"/>
|
||||
<enumeration value="inactive"/>
|
||||
<enumeration value="ok"/>
|
||||
<enumeration value="pendingCreate"/>
|
||||
<enumeration value="pendingDelete"/>
|
||||
<enumeration value="pendingRenew"/>
|
||||
<enumeration value="pendingTransfer"/>
|
||||
<enumeration value="pendingUpdate"/>
|
||||
<enumeration value="serverDeleteProhibited"/>
|
||||
<enumeration value="serverHold"/>
|
||||
<enumeration value="serverRenewProhibited"/>
|
||||
<enumeration value="serverTransferProhibited"/>
|
||||
<enumeration value="serverUpdateProhibited"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<!--
|
||||
Pending action notification response elements.
|
||||
-->
|
||||
<complexType name="panDataType">
|
||||
<sequence>
|
||||
<element name="name" type="domain:paNameType"/>
|
||||
<element name="paTRID" type="epp:trIDType"/>
|
||||
<element name="paDate" type="dateTime"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<complexType name="paNameType">
|
||||
<simpleContent>
|
||||
<extension base="eppcom:labelType">
|
||||
<attribute name="paResult" type="boolean"
|
||||
use="required"/>
|
||||
</extension>
|
||||
</simpleContent>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
<renew> response elements.
|
||||
-->
|
||||
<complexType name="renDataType">
|
||||
<sequence>
|
||||
<element name="name" type="eppcom:labelType"/>
|
||||
<element name="exDate" type="dateTime"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
<transfer> response elements.
|
||||
-->
|
||||
<complexType name="trnDataType">
|
||||
<sequence>
|
||||
<element name="name" type="eppcom:labelType"/>
|
||||
<element name="trStatus" type="eppcom:trStatusType"/>
|
||||
<element name="reID" type="eppcom:clIDType"/>
|
||||
<element name="reDate" type="dateTime"/>
|
||||
<element name="acID" type="eppcom:clIDType"/>
|
||||
<element name="acDate" type="dateTime"/>
|
||||
<element name="exDate" type="dateTime"
|
||||
minOccurs="0"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
<!--
|
||||
End of schema.
|
||||
-->
|
||||
</schema>
|
|
@ -1,39 +1,39 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schema
|
||||
targetNamespace="urn:ee:eis:xml:epp:eis-1.0"
|
||||
xmlns:eis="urn:ee:eis:xml:epp:eis-1.0"
|
||||
targetNamespace="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
|
||||
xmlns:eis="https://raw.githubusercontent.com/internetee/registry/alpha/doc/schemas/eis-1.0.xsd"
|
||||
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||
elementFormDefault="qualified">
|
||||
|
||||
<annotation>
|
||||
<documentation>
|
||||
EIS Extensible Provisioning Protocol v1.0
|
||||
extension schema.
|
||||
EIS Extensible Provisioning Protocol v1.0 extension schema.
|
||||
</documentation>
|
||||
</annotation>
|
||||
|
||||
<!--
|
||||
Child elements found in EPP commands.
|
||||
-->
|
||||
<!--
|
||||
Child elements found in EPP commands.
|
||||
-->
|
||||
|
||||
<element name="extdata" type="eis:legalDocAndIdentType"/>
|
||||
|
||||
<!--
|
||||
Child elements supporting either the
|
||||
dsData or the keyData interface.
|
||||
-->
|
||||
<!--
|
||||
Child elements supporting ident and legal documents.
|
||||
-->
|
||||
<complexType name="legalDocAndIdentType">
|
||||
<sequence>
|
||||
<element name="legalDocument" type="eis:legalDocType"
|
||||
minOccurs="0" maxOccurs="1"/>
|
||||
<element name="ident" type="eis:identType"
|
||||
minOccurs="0" maxOccurs="1"/>
|
||||
<element name="ident" type="eis:identType" minOccurs="0" maxOccurs="1"/>
|
||||
<element name="legalDocument" type="eis:legalDocType" minOccurs="0" maxOccurs="1"/>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<!--
|
||||
Child elements of extdata
|
||||
-->
|
||||
<!--
|
||||
Child elements of extdata
|
||||
-->
|
||||
|
||||
<!--
|
||||
Legal document, encoded in base64
|
||||
-->
|
||||
<complexType name="legalDocType">
|
||||
<simpleContent>
|
||||
<extension base="base64Binary">
|
||||
|
@ -55,6 +55,9 @@
|
|||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
<!--
|
||||
Ident with type and country code
|
||||
-->
|
||||
<complexType name="identType">
|
||||
<simpleContent>
|
||||
<extension base="normalizedString">
|
||||
|
@ -66,10 +69,9 @@
|
|||
|
||||
<simpleType name="identEnumType">
|
||||
<restriction base="token">
|
||||
<enumeration value="pic"/>
|
||||
<enumeration value="bic"/>
|
||||
<enumeration value="priv"/>
|
||||
<enumeration value="birthday"/>
|
||||
<enumeration value="passport"/>
|
||||
</restriction>
|
||||
</simpleType>
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace :zonefile do
|
|||
ret text;
|
||||
BEGIN
|
||||
-- define filters
|
||||
include_filter = '%' || i_origin;
|
||||
include_filter = '%.' || i_origin;
|
||||
|
||||
-- for %.%.%
|
||||
IF i_origin ~ '\\.' THEN
|
||||
|
|
|
@ -2,7 +2,7 @@ require 'rails_helper'
|
|||
|
||||
describe 'EPP Contact', epp: true do
|
||||
before :all do
|
||||
@xsd = Nokogiri::XML::Schema(File.read('doc/schemas/contact-1.0.xsd'))
|
||||
@xsd = Nokogiri::XML::Schema(File.read('doc/schemas/contact-eis-1.0.xsd'))
|
||||
@registrar1 = Fabricate(:registrar1)
|
||||
@registrar2 = Fabricate(:registrar2)
|
||||
@epp_xml = EppXml::Contact.new(cl_trid: 'ABC-12345')
|
||||
|
@ -15,13 +15,13 @@ describe 'EPP Contact', epp: true do
|
|||
@contact = Fabricate(:contact, registrar: @registrar1)
|
||||
|
||||
@extension = {
|
||||
legalDocument: {
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
},
|
||||
ident: {
|
||||
value: '37605030299',
|
||||
attrs: { type: 'priv', cc: 'EE' }
|
||||
},
|
||||
legalDocument: {
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
}
|
||||
@update_extension = {
|
||||
|
@ -112,13 +112,13 @@ describe 'EPP Contact', epp: true do
|
|||
|
||||
it 'successfully saves ident type with legal document' do
|
||||
extension = {
|
||||
legalDocument: {
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
},
|
||||
ident: {
|
||||
value: '1990-22-12',
|
||||
attrs: { type: 'birthday', cc: 'US' }
|
||||
},
|
||||
legalDocument: {
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
}
|
||||
response = create_request({}, extension)
|
||||
|
@ -402,13 +402,13 @@ describe 'EPP Contact', epp: true do
|
|||
|
||||
it 'should not be able to update ident' do
|
||||
extension = {
|
||||
legalDocument: {
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
},
|
||||
ident: {
|
||||
value: '1990-22-12',
|
||||
attrs: { type: 'birthday', cc: 'US' }
|
||||
},
|
||||
legalDocument: {
|
||||
value: 'dGVzdCBmYWlsCg==',
|
||||
attrs: { type: 'pdf' }
|
||||
}
|
||||
}
|
||||
response = update_request({ id: { value: 'FIRST0:SH8013' } }, extension)
|
||||
|
|
|
@ -2,7 +2,7 @@ require 'rails_helper'
|
|||
|
||||
describe 'EPP Domain', epp: true do
|
||||
before(:all) do
|
||||
@xsd = Nokogiri::XML::Schema(File.read('doc/schemas/domain-1.0.xsd'))
|
||||
@xsd = Nokogiri::XML::Schema(File.read('doc/schemas/domain-eis-1.0.xsd'))
|
||||
@epp_xml = EppXml.new(cl_trid: 'ABC-12345')
|
||||
@registrar1 = Fabricate(:registrar1, code: 'REGDOMAIN1')
|
||||
@registrar2 = Fabricate(:registrar2, code: 'REGDOMAIN2')
|
||||
|
|
|
@ -24,7 +24,7 @@ describe ZonefileSetting do
|
|||
master_nameserver: 'ns.tld.ee'
|
||||
}).first_or_create!
|
||||
|
||||
d = Fabricate(:domain_with_dnskeys)
|
||||
d = Fabricate(:domain_with_dnskeys, name: 'testpri.ee')
|
||||
d.nameservers << Nameserver.new({
|
||||
hostname: "ns.#{d.name}",
|
||||
ipv4: '123.123.123.123',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue