RDAP domain output is now fully completed

This commit is contained in:
Pinga 2023-11-07 18:20:42 +02:00
parent b467c2ea83
commit 46e27ff823
3 changed files with 813 additions and 706 deletions

View file

@ -3,40 +3,41 @@ SET FOREIGN_KEY_CHECKS=0;
CREATE DATABASE IF NOT EXISTS `registry`;
CREATE TABLE IF NOT EXISTS `registry`.`domain_tld` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`tld` varchar(32) NOT NULL,
`idn_table` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `tld` (`tld`)
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`tld` varchar(32) NOT NULL,
`idn_table` varchar(255) NOT NULL,
`secure` TINYINT UNSIGNED NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `tld` (`tld`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='domain tld';
CREATE TABLE IF NOT EXISTS `registry`.`domain_price` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`tldid` int(10) unsigned NOT NULL,
`command` enum('create','renew','transfer') NOT NULL default 'create',
`m0` decimal(10,2) NOT NULL default '0.00',
`m12` decimal(10,2) NOT NULL default '0.00',
`m24` decimal(10,2) NOT NULL default '0.00',
`m36` decimal(10,2) NOT NULL default '0.00',
`m48` decimal(10,2) NOT NULL default '0.00',
`m60` decimal(10,2) NOT NULL default '0.00',
`m72` decimal(10,2) NOT NULL default '0.00',
`m84` decimal(10,2) NOT NULL default '0.00',
`m96` decimal(10,2) NOT NULL default '0.00',
`m108` decimal(10,2) NOT NULL default '0.00',
`m120` decimal(10,2) NOT NULL default '0.00',
PRIMARY KEY (`id`),
UNIQUE KEY `unique_record` (`tldid`,`command`),
CONSTRAINT `domain_price_ibfk_1` FOREIGN KEY (`tldid`) REFERENCES `domain_tld` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`tldid` int(10) unsigned NOT NULL,
`command` enum('create','renew','transfer') NOT NULL default 'create',
`m0` decimal(10,2) NOT NULL default '0.00',
`m12` decimal(10,2) NOT NULL default '0.00',
`m24` decimal(10,2) NOT NULL default '0.00',
`m36` decimal(10,2) NOT NULL default '0.00',
`m48` decimal(10,2) NOT NULL default '0.00',
`m60` decimal(10,2) NOT NULL default '0.00',
`m72` decimal(10,2) NOT NULL default '0.00',
`m84` decimal(10,2) NOT NULL default '0.00',
`m96` decimal(10,2) NOT NULL default '0.00',
`m108` decimal(10,2) NOT NULL default '0.00',
`m120` decimal(10,2) NOT NULL default '0.00',
PRIMARY KEY (`id`),
UNIQUE KEY `unique_record` (`tldid`,`command`),
CONSTRAINT `domain_price_ibfk_1` FOREIGN KEY (`tldid`) REFERENCES `domain_tld` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='domain price';
CREATE TABLE IF NOT EXISTS `registry`.`domain_restore_price` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`tldid` int(10) unsigned NOT NULL,
`price` decimal(10,2) NOT NULL default '0.00',
PRIMARY KEY (`id`),
UNIQUE KEY `tldid` (`tldid`),
CONSTRAINT `domain_restore_price_ibfk_1` FOREIGN KEY (`tldid`) REFERENCES `domain_tld` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`tldid` int(10) unsigned NOT NULL,
`price` decimal(10,2) NOT NULL default '0.00',
PRIMARY KEY (`id`),
UNIQUE KEY `tldid` (`tldid`),
CONSTRAINT `domain_restore_price_ibfk_1` FOREIGN KEY (`tldid`) REFERENCES `domain_tld` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='domain restore price';
CREATE TABLE IF NOT EXISTS `registry`.`error_log` (
@ -47,390 +48,390 @@ CREATE TABLE IF NOT EXISTS `registry`.`error_log` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='registry error log';
CREATE TABLE IF NOT EXISTS `registry`.`reserved_domain_names` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(68) NOT NULL,
`type` enum('reserved','restricted') NOT NULL default 'reserved',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(68) NOT NULL,
`type` enum('reserved','restricted') NOT NULL default 'reserved',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='reserved domain names';
CREATE TABLE IF NOT EXISTS `registry`.`registrar` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`iana_id` int(5) DEFAULT NULL,
`clid` varchar(16) NOT NULL,
`pw` varchar(256) NOT NULL,
`prefix` char(2) NOT NULL,
`email` varchar(255) NOT NULL,
`whois_server` varchar(255) NOT NULL,
`rdap_server` varchar(255) NOT NULL,
`url` varchar(255) NOT NULL,
`abuse_email` varchar(255) NOT NULL,
`abuse_phone` varchar(255) NOT NULL,
`accountBalance` decimal(8,2) NOT NULL default '0.00',
`creditLimit` decimal(8,2) NOT NULL default '0.00',
`creditThreshold` decimal(8,2) NOT NULL default '0.00',
`thresholdType` enum('fixed','percent') NOT NULL default 'fixed',
`currency` varchar(5) NOT NULL,
`crdate` datetime NOT NULL,
`update` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `clid` (`clid`),
UNIQUE KEY `prefix` (`prefix`),
UNIQUE KEY `email` (`email`)
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`iana_id` int(5) DEFAULT NULL,
`clid` varchar(16) NOT NULL,
`pw` varchar(256) NOT NULL,
`prefix` char(2) NOT NULL,
`email` varchar(255) NOT NULL,
`whois_server` varchar(255) NOT NULL,
`rdap_server` varchar(255) NOT NULL,
`url` varchar(255) NOT NULL,
`abuse_email` varchar(255) NOT NULL,
`abuse_phone` varchar(255) NOT NULL,
`accountBalance` decimal(8,2) NOT NULL default '0.00',
`creditLimit` decimal(8,2) NOT NULL default '0.00',
`creditThreshold` decimal(8,2) NOT NULL default '0.00',
`thresholdType` enum('fixed','percent') NOT NULL default 'fixed',
`currency` varchar(5) NOT NULL,
`crdate` datetime NOT NULL,
`update` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `clid` (`clid`),
UNIQUE KEY `prefix` (`prefix`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='registrar';
CREATE TABLE IF NOT EXISTS `registry`.`registrar_whitelist` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL,
`addr` varchar(45) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`registrar_id`,`addr`),
CONSTRAINT `registrar_whitelist_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL,
`addr` varchar(45) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`registrar_id`,`addr`),
CONSTRAINT `registrar_whitelist_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='registrar whitelist';
CREATE TABLE IF NOT EXISTS `registry`.`registrar_contact` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL,
`type` enum('owner','admin','billing','tech') NOT NULL default 'admin',
`title` varchar(255) NOT NULL,
`first_name` varchar(255) NOT NULL,
`middle_name` varchar(255) NOT NULL,
`last_name` varchar(255) NOT NULL,
`org` varchar(255) default NULL,
`street1` varchar(255) default NULL,
`street2` varchar(255) default NULL,
`street3` varchar(255) default NULL,
`city` varchar(255) NOT NULL,
`sp` varchar(255) default NULL,
`pc` varchar(16) default NULL,
`cc` char(2) NOT NULL,
`voice` varchar(17) default NULL,
`fax` varchar(17) default NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`registrar_id`,`type`),
CONSTRAINT `registrar_contact_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL,
`type` enum('owner','admin','billing','tech','abuse') NOT NULL default 'admin',
`title` varchar(255) NOT NULL,
`first_name` varchar(255) NOT NULL,
`middle_name` varchar(255) NOT NULL,
`last_name` varchar(255) NOT NULL,
`org` varchar(255) default NULL,
`street1` varchar(255) default NULL,
`street2` varchar(255) default NULL,
`street3` varchar(255) default NULL,
`city` varchar(255) NOT NULL,
`sp` varchar(255) default NULL,
`pc` varchar(16) default NULL,
`cc` char(2) NOT NULL,
`voice` varchar(17) default NULL,
`fax` varchar(17) default NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`registrar_id`,`type`),
CONSTRAINT `registrar_contact_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='registrar data';
CREATE TABLE IF NOT EXISTS `registry`.`poll` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL,
`qdate` datetime NOT NULL,
`msg` text default NULL,
`msg_type` enum('lowBalance','domainTransfer','contactTransfer') default NULL,
`obj_name_or_id` varchar(68),
`obj_trStatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`obj_reID` varchar(255),
`obj_reDate` datetime,
`obj_acID` varchar(255),
`obj_acDate` datetime,
`obj_exDate` datetime default NULL,
`registrarName` varchar(255),
`creditLimit` decimal(8,2) default '0.00',
`creditThreshold` decimal(8,2) default '0.00',
`creditThresholdType` enum('FIXED','PERCENT'),
`availableCredit` decimal(8,2) default '0.00',
PRIMARY KEY (`id`),
CONSTRAINT `poll_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL,
`qdate` datetime NOT NULL,
`msg` text default NULL,
`msg_type` enum('lowBalance','domainTransfer','contactTransfer') default NULL,
`obj_name_or_id` varchar(68),
`obj_trStatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`obj_reID` varchar(255),
`obj_reDate` datetime,
`obj_acID` varchar(255),
`obj_acDate` datetime,
`obj_exDate` datetime default NULL,
`registrarName` varchar(255),
`creditLimit` decimal(8,2) default '0.00',
`creditThreshold` decimal(8,2) default '0.00',
`creditThresholdType` enum('FIXED','PERCENT'),
`availableCredit` decimal(8,2) default '0.00',
PRIMARY KEY (`id`),
CONSTRAINT `poll_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='poll';
CREATE TABLE IF NOT EXISTS `registry`.`payment_history` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL,
`date` datetime NOT NULL,
`description` text NOT NULL,
`amount` decimal(8,2) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `payment_history_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL,
`date` datetime NOT NULL,
`description` text NOT NULL,
`amount` decimal(8,2) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `payment_history_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='payment history';
CREATE TABLE IF NOT EXISTS `registry`.`statement` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL,
`date` datetime NOT NULL,
`command` enum('create','renew','transfer','restore','autoRenew') NOT NULL default 'create',
`domain_name` varchar(68) NOT NULL,
`length_in_months` tinyint(3) unsigned NOT NULL,
`from` datetime NOT NULL,
`to` datetime NOT NULL,
`amount` decimal(8,2) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `statement_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL,
`date` datetime NOT NULL,
`command` enum('create','renew','transfer','restore','autoRenew') NOT NULL default 'create',
`domain_name` varchar(68) NOT NULL,
`length_in_months` tinyint(3) unsigned NOT NULL,
`from` datetime NOT NULL,
`to` datetime NOT NULL,
`amount` decimal(8,2) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `statement_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='financial statement';
CREATE TABLE IF NOT EXISTS `registry`.`contact` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`identifier` varchar(255) NOT NULL,
`voice` varchar(17) default NULL,
`voice_x` int(10) default NULL,
`fax` varchar(17) default NULL,
`fax_x` int(10) default NULL,
`email` varchar(255) NOT NULL,
`nin` varchar(255) default NULL,
`nin_type` enum('personal','business') default NULL,
`clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL,
`crdate` datetime NOT NULL,
`upid` int(10) unsigned default NULL,
`update` datetime default NULL,
`trdate` datetime default NULL,
`trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`reid` int(10) unsigned default NULL,
`redate` datetime default NULL,
`acid` int(10) unsigned default NULL,
`acdate` datetime default NULL,
`disclose_voice` enum('0','1') NOT NULL default '1',
`disclose_fax` enum('0','1') NOT NULL default '1',
`disclose_email` enum('0','1') NOT NULL default '1',
PRIMARY KEY (`id`),
UNIQUE KEY `identifier` (`identifier`),
CONSTRAINT `contact_ibfk_1` FOREIGN KEY (`clid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `contact_ibfk_2` FOREIGN KEY (`crid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `contact_ibfk_3` FOREIGN KEY (`upid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`identifier` varchar(255) NOT NULL,
`voice` varchar(17) default NULL,
`voice_x` int(10) default NULL,
`fax` varchar(17) default NULL,
`fax_x` int(10) default NULL,
`email` varchar(255) NOT NULL,
`nin` varchar(255) default NULL,
`nin_type` enum('personal','business') default NULL,
`clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL,
`crdate` datetime NOT NULL,
`upid` int(10) unsigned default NULL,
`update` datetime default NULL,
`trdate` datetime default NULL,
`trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`reid` int(10) unsigned default NULL,
`redate` datetime default NULL,
`acid` int(10) unsigned default NULL,
`acdate` datetime default NULL,
`disclose_voice` enum('0','1') NOT NULL default '1',
`disclose_fax` enum('0','1') NOT NULL default '1',
`disclose_email` enum('0','1') NOT NULL default '1',
PRIMARY KEY (`id`),
UNIQUE KEY `identifier` (`identifier`),
CONSTRAINT `contact_ibfk_1` FOREIGN KEY (`clid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `contact_ibfk_2` FOREIGN KEY (`crid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `contact_ibfk_3` FOREIGN KEY (`upid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='contact';
CREATE TABLE IF NOT EXISTS `registry`.`contact_postalInfo` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`contact_id` int(10) unsigned NOT NULL,
`type` enum('int','loc') NOT NULL default 'int',
`name` varchar(255) NOT NULL,
`org` varchar(255) default NULL,
`street1` varchar(255) default NULL,
`street2` varchar(255) default NULL,
`street3` varchar(255) default NULL,
`city` varchar(255) NOT NULL,
`sp` varchar(255) default NULL,
`pc` varchar(16) default NULL,
`cc` char(2) NOT NULL,
`disclose_name_int` enum('0','1') NOT NULL default '1',
`disclose_name_loc` enum('0','1') NOT NULL default '1',
`disclose_org_int` enum('0','1') NOT NULL default '1',
`disclose_org_loc` enum('0','1') NOT NULL default '1',
`disclose_addr_int` enum('0','1') NOT NULL default '1',
`disclose_addr_loc` enum('0','1') NOT NULL default '1',
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`contact_id`,`type`),
CONSTRAINT `contact_postalInfo_ibfk_1` FOREIGN KEY (`contact_id`) REFERENCES `contact` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`contact_id` int(10) unsigned NOT NULL,
`type` enum('int','loc') NOT NULL default 'int',
`name` varchar(255) NOT NULL,
`org` varchar(255) default NULL,
`street1` varchar(255) default NULL,
`street2` varchar(255) default NULL,
`street3` varchar(255) default NULL,
`city` varchar(255) NOT NULL,
`sp` varchar(255) default NULL,
`pc` varchar(16) default NULL,
`cc` char(2) NOT NULL,
`disclose_name_int` enum('0','1') NOT NULL default '1',
`disclose_name_loc` enum('0','1') NOT NULL default '1',
`disclose_org_int` enum('0','1') NOT NULL default '1',
`disclose_org_loc` enum('0','1') NOT NULL default '1',
`disclose_addr_int` enum('0','1') NOT NULL default '1',
`disclose_addr_loc` enum('0','1') NOT NULL default '1',
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`contact_id`,`type`),
CONSTRAINT `contact_postalInfo_ibfk_1` FOREIGN KEY (`contact_id`) REFERENCES `contact` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='contact:postalInfo';
CREATE TABLE IF NOT EXISTS `registry`.`contact_authInfo` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`contact_id` int(10) unsigned NOT NULL,
`authtype` enum('pw','ext') NOT NULL default 'pw',
`authinfo` varchar(64) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `contact_id` (`contact_id`),
CONSTRAINT `contact_authInfo_ibfk_1` FOREIGN KEY (`contact_id`) REFERENCES `contact` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`contact_id` int(10) unsigned NOT NULL,
`authtype` enum('pw','ext') NOT NULL default 'pw',
`authinfo` varchar(64) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `contact_id` (`contact_id`),
CONSTRAINT `contact_authInfo_ibfk_1` FOREIGN KEY (`contact_id`) REFERENCES `contact` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='contact:authInfo';
CREATE TABLE IF NOT EXISTS `registry`.`contact_status` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`contact_id` int(10) unsigned NOT NULL,
`status` enum('clientDeleteProhibited','clientTransferProhibited','clientUpdateProhibited','linked','ok','pendingCreate','pendingDelete','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverTransferProhibited','serverUpdateProhibited') NOT NULL default 'ok',
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`contact_id`,`status`),
CONSTRAINT `contact_status_ibfk_1` FOREIGN KEY (`contact_id`) REFERENCES `contact` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`contact_id` int(10) unsigned NOT NULL,
`status` enum('clientDeleteProhibited','clientTransferProhibited','clientUpdateProhibited','linked','ok','pendingCreate','pendingDelete','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverTransferProhibited','serverUpdateProhibited') NOT NULL default 'ok',
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`contact_id`,`status`),
CONSTRAINT `contact_status_ibfk_1` FOREIGN KEY (`contact_id`) REFERENCES `contact` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='contact:status';
CREATE TABLE IF NOT EXISTS `registry`.`domain` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(68) NOT NULL,
`tldid` int(10) unsigned NOT NULL,
`registrant` int(10) unsigned default NULL,
`crdate` datetime NOT NULL,
`exdate` datetime NOT NULL,
`update` datetime default NULL,
`clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL,
`upid` int(10) unsigned default NULL,
`trdate` datetime default NULL,
`trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`reid` int(10) unsigned default NULL,
`redate` datetime default NULL,
`acid` int(10) unsigned default NULL,
`acdate` datetime default NULL,
`transfer_exdate` datetime default NULL,
`idnlang` varchar(16) default NULL,
`delTime` datetime default NULL,
`resTime` datetime default NULL,
`rgpstatus` enum('addPeriod','autoRenewPeriod','renewPeriod','transferPeriod','pendingDelete','pendingRestore','redemptionPeriod') default NULL,
`rgppostData` text default NULL,
`rgpdelTime` datetime default NULL,
`rgpresTime` datetime default NULL,
`rgpresReason` text default NULL,
`rgpstatement1` text default NULL,
`rgpstatement2` text default NULL,
`rgpother` text default NULL,
`addPeriod` tinyint(3) unsigned default NULL,
`autoRenewPeriod` tinyint(3) unsigned default NULL,
`renewPeriod` tinyint(3) unsigned default NULL,
`transferPeriod` tinyint(3) unsigned default NULL,
`renewedDate` datetime default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
CONSTRAINT `domain_ibfk_1` FOREIGN KEY (`clid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_ibfk_2` FOREIGN KEY (`crid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_ibfk_3` FOREIGN KEY (`upid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_ibfk_4` FOREIGN KEY (`registrant`) REFERENCES `contact` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_ibfk_5` FOREIGN KEY (`reid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_ibfk_6` FOREIGN KEY (`acid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_ibfk_7` FOREIGN KEY (`tldid`) REFERENCES `domain_tld` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(68) NOT NULL,
`tldid` int(10) unsigned NOT NULL,
`registrant` int(10) unsigned default NULL,
`crdate` datetime NOT NULL,
`exdate` datetime NOT NULL,
`update` datetime default NULL,
`clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL,
`upid` int(10) unsigned default NULL,
`trdate` datetime default NULL,
`trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`reid` int(10) unsigned default NULL,
`redate` datetime default NULL,
`acid` int(10) unsigned default NULL,
`acdate` datetime default NULL,
`transfer_exdate` datetime default NULL,
`idnlang` varchar(16) default NULL,
`delTime` datetime default NULL,
`resTime` datetime default NULL,
`rgpstatus` enum('addPeriod','autoRenewPeriod','renewPeriod','transferPeriod','pendingDelete','pendingRestore','redemptionPeriod') default NULL,
`rgppostData` text default NULL,
`rgpdelTime` datetime default NULL,
`rgpresTime` datetime default NULL,
`rgpresReason` text default NULL,
`rgpstatement1` text default NULL,
`rgpstatement2` text default NULL,
`rgpother` text default NULL,
`addPeriod` tinyint(3) unsigned default NULL,
`autoRenewPeriod` tinyint(3) unsigned default NULL,
`renewPeriod` tinyint(3) unsigned default NULL,
`transferPeriod` tinyint(3) unsigned default NULL,
`renewedDate` datetime default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
CONSTRAINT `domain_ibfk_1` FOREIGN KEY (`clid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_ibfk_2` FOREIGN KEY (`crid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_ibfk_3` FOREIGN KEY (`upid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_ibfk_4` FOREIGN KEY (`registrant`) REFERENCES `contact` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_ibfk_5` FOREIGN KEY (`reid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_ibfk_6` FOREIGN KEY (`acid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_ibfk_7` FOREIGN KEY (`tldid`) REFERENCES `domain_tld` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='domain';
CREATE TABLE IF NOT EXISTS `registry`.`domain_contact_map` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`domain_id` int(10) unsigned NOT NULL,
`contact_id` int(10) unsigned NOT NULL,
`type` enum('admin','billing','tech') NOT NULL default 'admin',
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`domain_id`,`contact_id`,`type`),
CONSTRAINT `domain_contact_map_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_contact_map_ibfk_2` FOREIGN KEY (`contact_id`) REFERENCES `contact` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`domain_id` int(10) unsigned NOT NULL,
`contact_id` int(10) unsigned NOT NULL,
`type` enum('admin','billing','tech') NOT NULL default 'admin',
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`domain_id`,`contact_id`,`type`),
CONSTRAINT `domain_contact_map_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_contact_map_ibfk_2` FOREIGN KEY (`contact_id`) REFERENCES `contact` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='contact map';
CREATE TABLE IF NOT EXISTS `registry`.`domain_authInfo` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`domain_id` int(10) unsigned NOT NULL,
`authtype` enum('pw','ext') NOT NULL default 'pw',
`authinfo` varchar(64) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `domain_id` (`domain_id`),
CONSTRAINT `domain_authInfo_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`domain_id` int(10) unsigned NOT NULL,
`authtype` enum('pw','ext') NOT NULL default 'pw',
`authinfo` varchar(64) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `domain_id` (`domain_id`),
CONSTRAINT `domain_authInfo_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='domain:authInfo';
CREATE TABLE IF NOT EXISTS `registry`.`domain_status` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`domain_id` int(10) unsigned NOT NULL,
`status` enum('clientDeleteProhibited','clientHold','clientRenewProhibited','clientTransferProhibited','clientUpdateProhibited','inactive','ok','pendingCreate','pendingDelete','pendingRenew','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverHold','serverRenewProhibited','serverTransferProhibited','serverUpdateProhibited') NOT NULL default 'ok',
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`domain_id`,`status`),
CONSTRAINT `domain_status_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`domain_id` int(10) unsigned NOT NULL,
`status` enum('clientDeleteProhibited','clientHold','clientRenewProhibited','clientTransferProhibited','clientUpdateProhibited','inactive','ok','pendingCreate','pendingDelete','pendingRenew','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverHold','serverRenewProhibited','serverTransferProhibited','serverUpdateProhibited') NOT NULL default 'ok',
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`domain_id`,`status`),
CONSTRAINT `domain_status_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='domain:status';
CREATE TABLE IF NOT EXISTS `registry`.`secdns` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`domain_id` int(10) unsigned NOT NULL,
`maxsiglife` int(10) unsigned default '604800',
`interface` enum('dsData','keyData') NOT NULL default 'dsData',
`keytag` smallint(5) unsigned NOT NULL,
`alg` tinyint(3) unsigned NOT NULL default '5',
`digesttype` tinyint(3) unsigned NOT NULL default '1',
`digest` varchar(64) NOT NULL,
`flags` smallint(5) unsigned default NULL,
`protocol` smallint(5) unsigned default NULL,
`keydata_alg` tinyint(3) unsigned default NULL,
`pubkey` varchar(255) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`domain_id`,`digest`),
CONSTRAINT `secdns_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`domain_id` int(10) unsigned NOT NULL,
`maxsiglife` int(10) unsigned default '604800',
`interface` enum('dsData','keyData') NOT NULL default 'dsData',
`keytag` smallint(5) unsigned NOT NULL,
`alg` tinyint(3) unsigned NOT NULL default '5',
`digesttype` tinyint(3) unsigned NOT NULL default '1',
`digest` varchar(64) NOT NULL,
`flags` smallint(5) unsigned default NULL,
`protocol` smallint(5) unsigned default NULL,
`keydata_alg` tinyint(3) unsigned default NULL,
`pubkey` varchar(255) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`domain_id`,`digest`),
CONSTRAINT `secdns_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='secDNS';
CREATE TABLE IF NOT EXISTS `registry`.`host` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`domain_id` int(10) unsigned default NULL,
`clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL,
`crdate` datetime NOT NULL,
`upid` int(10) unsigned default NULL,
`update` datetime default NULL,
`trdate` datetime default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
CONSTRAINT `host_ibfk_1` FOREIGN KEY (`clid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `host_ibfk_2` FOREIGN KEY (`crid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `host_ibfk_3` FOREIGN KEY (`upid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `host_ibfk_4` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`domain_id` int(10) unsigned default NULL,
`clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL,
`crdate` datetime NOT NULL,
`upid` int(10) unsigned default NULL,
`update` datetime default NULL,
`trdate` datetime default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
CONSTRAINT `host_ibfk_1` FOREIGN KEY (`clid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `host_ibfk_2` FOREIGN KEY (`crid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `host_ibfk_3` FOREIGN KEY (`upid`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT,
CONSTRAINT `host_ibfk_4` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='host';
CREATE TABLE IF NOT EXISTS `registry`.`domain_host_map` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`domain_id` int(10) unsigned NOT NULL,
`host_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `domain_host_map_id` (`domain_id`,`host_id`),
CONSTRAINT `domain_host_map_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_host_map_ibfk_2` FOREIGN KEY (`host_id`) REFERENCES `host` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`domain_id` int(10) unsigned NOT NULL,
`host_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `domain_host_map_id` (`domain_id`,`host_id`),
CONSTRAINT `domain_host_map_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`) ON DELETE RESTRICT,
CONSTRAINT `domain_host_map_ibfk_2` FOREIGN KEY (`host_id`) REFERENCES `host` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='contact map';
CREATE TABLE IF NOT EXISTS `registry`.`host_addr` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`host_id` int(10) unsigned NOT NULL,
`addr` varchar(45) NOT NULL,
`ip` enum('v4','v6') NOT NULL default 'v4',
PRIMARY KEY (`id`),
UNIQUE KEY `unique` (`host_id`,`addr`,`ip`),
CONSTRAINT `host_addr_ibfk_1` FOREIGN KEY (`host_id`) REFERENCES `host` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`host_id` int(10) unsigned NOT NULL,
`addr` varchar(45) NOT NULL,
`ip` enum('v4','v6') NOT NULL default 'v4',
PRIMARY KEY (`id`),
UNIQUE KEY `unique` (`host_id`,`addr`,`ip`),
CONSTRAINT `host_addr_ibfk_1` FOREIGN KEY (`host_id`) REFERENCES `host` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='host_addr';
CREATE TABLE IF NOT EXISTS `registry`.`host_status` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`host_id` int(10) unsigned NOT NULL,
`status` enum('clientDeleteProhibited','clientUpdateProhibited','linked','ok','pendingCreate','pendingDelete','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverUpdateProhibited') NOT NULL default 'ok',
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`host_id`,`status`),
CONSTRAINT `host_status_ibfk_1` FOREIGN KEY (`host_id`) REFERENCES `host` (`id`) ON DELETE RESTRICT
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`host_id` int(10) unsigned NOT NULL,
`status` enum('clientDeleteProhibited','clientUpdateProhibited','linked','ok','pendingCreate','pendingDelete','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverUpdateProhibited') NOT NULL default 'ok',
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`host_id`,`status`),
CONSTRAINT `host_status_ibfk_1` FOREIGN KEY (`host_id`) REFERENCES `host` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='host:status';
CREATE TABLE IF NOT EXISTS `registry`.`domain_auto_approve_transfer` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(68) NOT NULL,
`registrant` int(10) unsigned default NULL,
`crdate` datetime NOT NULL,
`exdate` datetime NOT NULL,
`update` datetime default NULL,
`clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL,
`upid` int(10) unsigned default NULL,
`trdate` datetime default NULL,
`trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`reid` int(10) unsigned default NULL,
`redate` datetime default NULL,
`acid` int(10) unsigned default NULL,
`acdate` datetime default NULL,
`transfer_exdate` datetime default NULL,
PRIMARY KEY (`id`)
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(68) NOT NULL,
`registrant` int(10) unsigned default NULL,
`crdate` datetime NOT NULL,
`exdate` datetime NOT NULL,
`update` datetime default NULL,
`clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL,
`upid` int(10) unsigned default NULL,
`trdate` datetime default NULL,
`trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`reid` int(10) unsigned default NULL,
`redate` datetime default NULL,
`acid` int(10) unsigned default NULL,
`acdate` datetime default NULL,
`transfer_exdate` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='domain_auto_approve_transfer';
CREATE TABLE IF NOT EXISTS `registry`.`contact_auto_approve_transfer` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`identifier` varchar(255) NOT NULL,
`voice` varchar(17) default NULL,
`voice_x` int(10) default NULL,
`fax` varchar(17) default NULL,
`fax_x` int(10) default NULL,
`email` varchar(255) NOT NULL,
`nin` varchar(255) default NULL,
`nin_type` enum('personal','business') default NULL,
`clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL,
`crdate` datetime NOT NULL,
`upid` int(10) unsigned default NULL,
`update` datetime default NULL,
`trdate` datetime default NULL,
`trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`reid` int(10) unsigned default NULL,
`redate` datetime default NULL,
`acid` int(10) unsigned default NULL,
`acdate` datetime default NULL,
`disclose_voice` enum('0','1') NOT NULL default '1',
`disclose_fax` enum('0','1') NOT NULL default '1',
`disclose_email` enum('0','1') NOT NULL default '1',
PRIMARY KEY (`id`)
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`identifier` varchar(255) NOT NULL,
`voice` varchar(17) default NULL,
`voice_x` int(10) default NULL,
`fax` varchar(17) default NULL,
`fax_x` int(10) default NULL,
`email` varchar(255) NOT NULL,
`nin` varchar(255) default NULL,
`nin_type` enum('personal','business') default NULL,
`clid` int(10) unsigned NOT NULL,
`crid` int(10) unsigned NOT NULL,
`crdate` datetime NOT NULL,
`upid` int(10) unsigned default NULL,
`update` datetime default NULL,
`trdate` datetime default NULL,
`trstatus` enum('clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled') default NULL,
`reid` int(10) unsigned default NULL,
`redate` datetime default NULL,
`acid` int(10) unsigned default NULL,
`acdate` datetime default NULL,
`disclose_voice` enum('0','1') NOT NULL default '1',
`disclose_fax` enum('0','1') NOT NULL default '1',
`disclose_email` enum('0','1') NOT NULL default '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='contact_auto_approve_transfer';
CREATE TABLE IF NOT EXISTS `registry`.`statistics` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`date` date NOT NULL,
`total_domains` int(10) unsigned NOT NULL DEFAULT '0',
`created_domains` int(10) unsigned NOT NULL DEFAULT '0',
`renewed_domains` int(10) unsigned NOT NULL DEFAULT '0',
`transfered_domains` int(10) unsigned NOT NULL DEFAULT '0',
`deleted_domains` int(10) unsigned NOT NULL DEFAULT '0',
`restored_domains` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `date` (`date`)
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`date` date NOT NULL,
`total_domains` int(10) unsigned NOT NULL DEFAULT '0',
`created_domains` int(10) unsigned NOT NULL DEFAULT '0',
`renewed_domains` int(10) unsigned NOT NULL DEFAULT '0',
`transfered_domains` int(10) unsigned NOT NULL DEFAULT '0',
`deleted_domains` int(10) unsigned NOT NULL DEFAULT '0',
`restored_domains` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `date` (`date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Statistics';
CREATE TABLE IF NOT EXISTS `registry`.`users` (
@ -655,25 +656,25 @@ GRANT UPDATE ON `registry`.`payment_history` TO 'registry-update'@'localhost';
CREATE DATABASE IF NOT EXISTS `registryTransaction`;
CREATE TABLE IF NOT EXISTS `registryTransaction`.`transaction_identifier` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL,
`clTRID` varchar(64),
`clTRIDframe` text,
`cldate` datetime,
`clmicrosecond` int(6),
`cmd` enum('login','logout','check','info','poll','transfer','create','delete','renew','update') default NULL,
`obj_type` enum('domain','host','contact') default NULL,
`obj_id` text default NULL,
`code` smallint(4) unsigned default NULL,
`msg` varchar(255) default NULL,
`svTRID` varchar(64),
`svTRIDframe` text,
`svdate` datetime,
`svmicrosecond` int(6),
PRIMARY KEY (`id`),
UNIQUE KEY `clTRID` (`clTRID`),
UNIQUE KEY `svTRID` (`svTRID`),
CONSTRAINT `transaction_identifier_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registry`.`registrar` (`id`) ON DELETE RESTRICT
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`registrar_id` int(10) unsigned NOT NULL,
`clTRID` varchar(64),
`clTRIDframe` text,
`cldate` datetime,
`clmicrosecond` int(6),
`cmd` enum('login','logout','check','info','poll','transfer','create','delete','renew','update') default NULL,
`obj_type` enum('domain','host','contact') default NULL,
`obj_id` text default NULL,
`code` smallint(4) unsigned default NULL,
`msg` varchar(255) default NULL,
`svTRID` varchar(64),
`svTRIDframe` text,
`svdate` datetime,
`svmicrosecond` int(6),
PRIMARY KEY (`id`),
UNIQUE KEY `clTRID` (`clTRID`),
UNIQUE KEY `svTRID` (`svTRID`),
CONSTRAINT `transaction_identifier_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registry`.`registrar` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='transaction identifier';
GRANT ALL ON `registryTransaction`.* TO 'registry'@'localhost';

View file

@ -4,38 +4,39 @@ CREATE SCHEMA registryTransaction;
SET search_path TO registry, registryTransaction, public;
CREATE TABLE registry.domain_tld (
"id" serial8,
"tld" varchar(32) NOT NULL,
"idn_table" varchar(255) NOT NULL,
primary key ("id"),
unique ("tld")
"id" serial8,
"tld" varchar(32) NOT NULL,
"idn_table" varchar(255) NOT NULL,
"secure" SMALLINT NOT NULL,
primary key ("id"),
unique ("tld")
);
CREATE TABLE registry.domain_price (
"id" serial8,
"tldid" int CHECK ("tldid" >= 0) NOT NULL,
"command" varchar CHECK ("command" IN ( 'create','renew','transfer' )) NOT NULL default 'create',
"m0" decimal(10,2) NOT NULL default '0.00',
"m12" decimal(10,2) NOT NULL default '0.00',
"m24" decimal(10,2) NOT NULL default '0.00',
"m36" decimal(10,2) NOT NULL default '0.00',
"m48" decimal(10,2) NOT NULL default '0.00',
"m60" decimal(10,2) NOT NULL default '0.00',
"m72" decimal(10,2) NOT NULL default '0.00',
"m84" decimal(10,2) NOT NULL default '0.00',
"m96" decimal(10,2) NOT NULL default '0.00',
"m108" decimal(10,2) NOT NULL default '0.00',
"m120" decimal(10,2) NOT NULL default '0.00',
primary key ("id"),
"id" serial8,
"tldid" int CHECK ("tldid" >= 0) NOT NULL,
"command" varchar CHECK ("command" IN ( 'create','renew','transfer' )) NOT NULL default 'create',
"m0" decimal(10,2) NOT NULL default '0.00',
"m12" decimal(10,2) NOT NULL default '0.00',
"m24" decimal(10,2) NOT NULL default '0.00',
"m36" decimal(10,2) NOT NULL default '0.00',
"m48" decimal(10,2) NOT NULL default '0.00',
"m60" decimal(10,2) NOT NULL default '0.00',
"m72" decimal(10,2) NOT NULL default '0.00',
"m84" decimal(10,2) NOT NULL default '0.00',
"m96" decimal(10,2) NOT NULL default '0.00',
"m108" decimal(10,2) NOT NULL default '0.00',
"m120" decimal(10,2) NOT NULL default '0.00',
primary key ("id"),
unique ("tldid", "command")
);
CREATE TABLE registry.domain_restore_price (
"id" serial8 ,
"tldid" int CHECK ("tldid" >= 0) NOT NULL,
"price" decimal(10,2) NOT NULL default '0.00',
primary key ("id"),
unique ("tldid")
"id" serial8 ,
"tldid" int CHECK ("tldid" >= 0) NOT NULL,
"price" decimal(10,2) NOT NULL default '0.00',
primary key ("id"),
unique ("tldid")
);
CREATE TABLE registry.error_log (
@ -46,37 +47,37 @@ CREATE TABLE registry.error_log (
);
CREATE TABLE registry.reserved_domain_names (
"id" serial8 ,
"name" varchar(68) NOT NULL,
"id" serial8 ,
"name" varchar(68) NOT NULL,
"type" varchar CHECK ("type" IN ( 'reserved','restricted' )) NOT NULL default 'reserved',
primary key ("id"),
primary key ("id"),
unique ("name")
);
CREATE TABLE registry.registrar (
"id" serial8,
"name" varchar(255) NOT NULL,
"iana_id" int DEFAULT NULL,
"clid" varchar(16) NOT NULL,
"pw" varchar(256) NOT NULL,
"prefix" char(2) NOT NULL,
"email" varchar(255) NOT NULL,
"whois_server" varchar(255) NOT NULL,
"rdap_server" varchar(255) NOT NULL,
"url" varchar(255) NOT NULL,
"abuse_email" varchar(255) NOT NULL,
"abuse_phone" varchar(255) NOT NULL,
"accountbalance" decimal(8,2) NOT NULL default '0.00',
"creditlimit" decimal(8,2) NOT NULL default '0.00',
"creditthreshold" decimal(8,2) NOT NULL default '0.00',
"id" serial8,
"name" varchar(255) NOT NULL,
"iana_id" int DEFAULT NULL,
"clid" varchar(16) NOT NULL,
"pw" varchar(256) NOT NULL,
"prefix" char(2) NOT NULL,
"email" varchar(255) NOT NULL,
"whois_server" varchar(255) NOT NULL,
"rdap_server" varchar(255) NOT NULL,
"url" varchar(255) NOT NULL,
"abuse_email" varchar(255) NOT NULL,
"abuse_phone" varchar(255) NOT NULL,
"accountbalance" decimal(8,2) NOT NULL default '0.00',
"creditlimit" decimal(8,2) NOT NULL default '0.00',
"creditthreshold" decimal(8,2) NOT NULL default '0.00',
"thresholdtype" varchar CHECK ("thresholdtype" IN ( 'fixed','percent' )) NOT NULL default 'fixed',
"currency" varchar(5) NOT NULL,
"crdate" timestamp without time zone NOT NULL,
"update" TIMESTAMP ,
primary key ("id"),
unique ("clid") ,
unique ("prefix") ,
unique ("email")
"currency" varchar(5) NOT NULL,
"crdate" timestamp without time zone NOT NULL,
"update" TIMESTAMP ,
primary key ("id"),
unique ("clid") ,
unique ("prefix") ,
unique ("email")
);
CREATE OR REPLACE FUNCTION update_registrar() RETURNS trigger AS '
@ -91,375 +92,375 @@ CREATE TRIGGER add_current_date_to_registrar BEFORE UPDATE ON registry.registrar
update_registrar();
CREATE TABLE registry.registrar_whitelist (
"id" serial8,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
"addr" varchar(45) NOT NULL,
primary key ("id"),
"id" serial8,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
"addr" varchar(45) NOT NULL,
primary key ("id"),
unique ("registrar_id", "addr")
);
CREATE TABLE registry.registrar_contact (
"id" serial8,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
"type" varchar CHECK ("type" IN ( 'owner','admin','billing','tech' )) NOT NULL default 'admin',
"title" varchar(255) NOT NULL,
"first_name" varchar(255) NOT NULL,
"middle_name" varchar(255) NOT NULL,
"last_name" varchar(255) NOT NULL,
"org" varchar(255) default NULL,
"street1" varchar(255) default NULL,
"street2" varchar(255) default NULL,
"street3" varchar(255) default NULL,
"city" varchar(255) NOT NULL,
"sp" varchar(255) default NULL,
"pc" varchar(16) default NULL,
"cc" char(2) NOT NULL,
"voice" varchar(17) default NULL,
"fax" varchar(17) default NULL,
"email" varchar(255) NOT NULL,
primary key ("id"),
unique ("registrar_id", "type")
"id" serial8,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
"type" varchar CHECK ("type" IN ( 'owner','admin','billing','tech','abuse' )) NOT NULL default 'admin',
"title" varchar(255) NOT NULL,
"first_name" varchar(255) NOT NULL,
"middle_name" varchar(255) NOT NULL,
"last_name" varchar(255) NOT NULL,
"org" varchar(255) default NULL,
"street1" varchar(255) default NULL,
"street2" varchar(255) default NULL,
"street3" varchar(255) default NULL,
"city" varchar(255) NOT NULL,
"sp" varchar(255) default NULL,
"pc" varchar(16) default NULL,
"cc" char(2) NOT NULL,
"voice" varchar(17) default NULL,
"fax" varchar(17) default NULL,
"email" varchar(255) NOT NULL,
primary key ("id"),
unique ("registrar_id", "type")
);
CREATE TABLE registry.poll (
"id" serial8,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
"qdate" timestamp without time zone NOT NULL,
"msg" text default NULL,
"msg_type" varchar CHECK ("msg_type" IN ( 'lowBalance','domainTransfer','contactTransfer' )) default NULL,
"obj_name_or_id" varchar(68),
"obj_trstatus" varchar CHECK ("obj_trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"obj_reid" varchar(255),
"obj_redate" timestamp without time zone,
"obj_acid" varchar(255),
"obj_acdate" timestamp without time zone,
"obj_exdate" timestamp without time zone default NULL,
"registrarname" varchar(255),
"creditlimit" decimal(8,2) default '0.00',
"creditthreshold" decimal(8,2) default '0.00',
"creditthresholdtype" varchar CHECK ("creditthresholdtype" IN ( 'FIXED','PERCENT' )),
"availablecredit" decimal(8,2) default '0.00',
primary key ("id")
"id" serial8,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
"qdate" timestamp without time zone NOT NULL,
"msg" text default NULL,
"msg_type" varchar CHECK ("msg_type" IN ( 'lowBalance','domainTransfer','contactTransfer' )) default NULL,
"obj_name_or_id" varchar(68),
"obj_trstatus" varchar CHECK ("obj_trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"obj_reid" varchar(255),
"obj_redate" timestamp without time zone,
"obj_acid" varchar(255),
"obj_acdate" timestamp without time zone,
"obj_exdate" timestamp without time zone default NULL,
"registrarname" varchar(255),
"creditlimit" decimal(8,2) default '0.00',
"creditthreshold" decimal(8,2) default '0.00',
"creditthresholdtype" varchar CHECK ("creditthresholdtype" IN ( 'FIXED','PERCENT' )),
"availablecredit" decimal(8,2) default '0.00',
primary key ("id")
);
CREATE TABLE registry.payment_history (
"id" serial8,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
"date" timestamp without time zone NOT NULL,
"description" text NOT NULL,
"amount" decimal(8,2) NOT NULL,
primary key ("id")
"id" serial8,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
"date" timestamp without time zone NOT NULL,
"description" text NOT NULL,
"amount" decimal(8,2) NOT NULL,
primary key ("id")
);
CREATE TABLE registry.statement (
"id" serial8,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
"date" timestamp without time zone NOT NULL,
"command" varchar CHECK ("command" IN ( 'create','renew','transfer','restore','autoRenew' )) NOT NULL default 'create',
"domain_name" varchar(68) NOT NULL,
"length_in_months" smallint CHECK ("length_in_months" >= 0) NOT NULL,
"from" timestamp without time zone NOT NULL,
"to" timestamp without time zone NOT NULL,
"amount" decimal(8,2) NOT NULL,
primary key ("id")
"id" serial8,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
"date" timestamp without time zone NOT NULL,
"command" varchar CHECK ("command" IN ( 'create','renew','transfer','restore','autoRenew' )) NOT NULL default 'create',
"domain_name" varchar(68) NOT NULL,
"length_in_months" smallint CHECK ("length_in_months" >= 0) NOT NULL,
"from" timestamp without time zone NOT NULL,
"to" timestamp without time zone NOT NULL,
"amount" decimal(8,2) NOT NULL,
primary key ("id")
);
CREATE TABLE registry.contact (
"id" serial8,
"identifier" varchar(255) NOT NULL,
"voice" varchar(17) default NULL,
"voice_x" int default NULL,
"fax" varchar(17) default NULL,
"fax_x" int default NULL,
"email" varchar(255) NOT NULL,
"nin" varchar(255) default NULL,
"nin_type" varchar CHECK ("nin_type" IN ( 'personal','business' )) default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL,
"crdate" timestamp without time zone NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL,
"update" timestamp without time zone default NULL,
"trdate" timestamp without time zone default NULL,
"trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"reid" int CHECK ("reid" >= 0) default NULL,
"redate" timestamp without time zone default NULL,
"acid" int CHECK ("acid" >= 0) default NULL,
"acdate" timestamp without time zone default NULL,
"disclose_voice" varchar CHECK ("disclose_voice" IN ( '0','1' )) NOT NULL default '1',
"disclose_fax" varchar CHECK ("disclose_fax" IN ( '0','1' )) NOT NULL default '1',
"disclose_email" varchar CHECK ("disclose_email" IN ( '0','1' )) NOT NULL default '1',
primary key ("id"),
unique ("identifier")
"id" serial8,
"identifier" varchar(255) NOT NULL,
"voice" varchar(17) default NULL,
"voice_x" int default NULL,
"fax" varchar(17) default NULL,
"fax_x" int default NULL,
"email" varchar(255) NOT NULL,
"nin" varchar(255) default NULL,
"nin_type" varchar CHECK ("nin_type" IN ( 'personal','business' )) default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL,
"crdate" timestamp without time zone NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL,
"update" timestamp without time zone default NULL,
"trdate" timestamp without time zone default NULL,
"trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"reid" int CHECK ("reid" >= 0) default NULL,
"redate" timestamp without time zone default NULL,
"acid" int CHECK ("acid" >= 0) default NULL,
"acdate" timestamp without time zone default NULL,
"disclose_voice" varchar CHECK ("disclose_voice" IN ( '0','1' )) NOT NULL default '1',
"disclose_fax" varchar CHECK ("disclose_fax" IN ( '0','1' )) NOT NULL default '1',
"disclose_email" varchar CHECK ("disclose_email" IN ( '0','1' )) NOT NULL default '1',
primary key ("id"),
unique ("identifier")
);
CREATE TABLE registry.contact_postalinfo (
"id" serial8,
"contact_id" int CHECK ("contact_id" >= 0) NOT NULL,
"type" varchar CHECK ("type" IN ( 'int','loc' )) NOT NULL default 'int',
"name" varchar(255) NOT NULL,
"org" varchar(255) default NULL,
"street1" varchar(255) default NULL,
"street2" varchar(255) default NULL,
"street3" varchar(255) default NULL,
"city" varchar(255) NOT NULL,
"sp" varchar(255) default NULL,
"pc" varchar(16) default NULL,
"cc" char(2) NOT NULL,
"disclose_name_int" varchar CHECK ("disclose_name_int" IN ( '0','1' )) NOT NULL default '1',
"disclose_name_loc" varchar CHECK ("disclose_name_loc" IN ( '0','1' )) NOT NULL default '1',
"disclose_org_int" varchar CHECK ("disclose_org_int" IN ( '0','1' )) NOT NULL default '1',
"disclose_org_loc" varchar CHECK ("disclose_org_loc" IN ( '0','1' )) NOT NULL default '1',
"disclose_addr_int" varchar CHECK ("disclose_addr_int" IN ( '0','1' )) NOT NULL default '1',
"disclose_addr_loc" varchar CHECK ("disclose_addr_loc" IN ( '0','1' )) NOT NULL default '1',
primary key ("id"),
unique ("contact_id", "type")
"id" serial8,
"contact_id" int CHECK ("contact_id" >= 0) NOT NULL,
"type" varchar CHECK ("type" IN ( 'int','loc' )) NOT NULL default 'int',
"name" varchar(255) NOT NULL,
"org" varchar(255) default NULL,
"street1" varchar(255) default NULL,
"street2" varchar(255) default NULL,
"street3" varchar(255) default NULL,
"city" varchar(255) NOT NULL,
"sp" varchar(255) default NULL,
"pc" varchar(16) default NULL,
"cc" char(2) NOT NULL,
"disclose_name_int" varchar CHECK ("disclose_name_int" IN ( '0','1' )) NOT NULL default '1',
"disclose_name_loc" varchar CHECK ("disclose_name_loc" IN ( '0','1' )) NOT NULL default '1',
"disclose_org_int" varchar CHECK ("disclose_org_int" IN ( '0','1' )) NOT NULL default '1',
"disclose_org_loc" varchar CHECK ("disclose_org_loc" IN ( '0','1' )) NOT NULL default '1',
"disclose_addr_int" varchar CHECK ("disclose_addr_int" IN ( '0','1' )) NOT NULL default '1',
"disclose_addr_loc" varchar CHECK ("disclose_addr_loc" IN ( '0','1' )) NOT NULL default '1',
primary key ("id"),
unique ("contact_id", "type")
);
CREATE TABLE registry.contact_authinfo (
"id" serial8,
"contact_id" int CHECK ("contact_id" >= 0) NOT NULL,
"authtype" varchar CHECK ("authtype" IN ( 'pw','ext' )) NOT NULL default 'pw',
"authinfo" varchar(64) NOT NULL,
primary key ("id"),
unique ("contact_id")
"id" serial8,
"contact_id" int CHECK ("contact_id" >= 0) NOT NULL,
"authtype" varchar CHECK ("authtype" IN ( 'pw','ext' )) NOT NULL default 'pw',
"authinfo" varchar(64) NOT NULL,
primary key ("id"),
unique ("contact_id")
);
CREATE TABLE registry.contact_status (
"id" serial8,
"contact_id" int CHECK ("contact_id" >= 0) NOT NULL,
"status" varchar CHECK ("status" IN ( 'clientDeleteProhibited','clientTransferProhibited','clientUpdateProhibited','linked','ok','pendingCreate','pendingDelete','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverTransferProhibited','serverUpdateProhibited' )) NOT NULL default 'ok',
primary key ("id"),
unique ("contact_id", "status")
"id" serial8,
"contact_id" int CHECK ("contact_id" >= 0) NOT NULL,
"status" varchar CHECK ("status" IN ( 'clientDeleteProhibited','clientTransferProhibited','clientUpdateProhibited','linked','ok','pendingCreate','pendingDelete','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverTransferProhibited','serverUpdateProhibited' )) NOT NULL default 'ok',
primary key ("id"),
unique ("contact_id", "status")
);
CREATE TABLE registry.domain (
"id" serial8,
"name" varchar(68) NOT NULL,
"tldid" int CHECK ("tldid" >= 0) NOT NULL,
"registrant" int CHECK ("registrant" >= 0) default NULL,
"crdate" timestamp without time zone NOT NULL,
"exdate" timestamp without time zone NOT NULL,
"update" timestamp without time zone default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL,
"trdate" timestamp without time zone default NULL,
"trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"reid" int CHECK ("reid" >= 0) default NULL,
"redate" timestamp without time zone default NULL,
"acid" int CHECK ("acid" >= 0) default NULL,
"acdate" timestamp without time zone default NULL,
"transfer_exdate" timestamp without time zone default NULL,
"idnlang" varchar(16) default NULL,
"deltime" timestamp without time zone default NULL,
"restime" timestamp without time zone default NULL,
"rgpstatus" varchar CHECK ("rgpstatus" IN ( 'addPeriod','autoRenewPeriod','renewPeriod','transferPeriod','pendingDelete','pendingRestore','redemptionPeriod' )) default NULL,
"rgppostdata" text default NULL,
"rgpdeltime" timestamp without time zone default NULL,
"rgprestime" timestamp without time zone default NULL,
"rgpresreason" text default NULL,
"rgpstatement1" text default NULL,
"rgpstatement2" text default NULL,
"rgpother" text default NULL,
"addperiod" smallint CHECK ("addperiod" >= 0) default NULL,
"autorenewperiod" smallint CHECK ("autorenewperiod" >= 0) default NULL,
"renewperiod" smallint CHECK ("renewperiod" >= 0) default NULL,
"transferperiod" smallint CHECK ("transferperiod" >= 0) default NULL,
"reneweddate" timestamp without time zone default NULL,
primary key ("id"),
unique ("name")
"id" serial8,
"name" varchar(68) NOT NULL,
"tldid" int CHECK ("tldid" >= 0) NOT NULL,
"registrant" int CHECK ("registrant" >= 0) default NULL,
"crdate" timestamp without time zone NOT NULL,
"exdate" timestamp without time zone NOT NULL,
"update" timestamp without time zone default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL,
"trdate" timestamp without time zone default NULL,
"trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"reid" int CHECK ("reid" >= 0) default NULL,
"redate" timestamp without time zone default NULL,
"acid" int CHECK ("acid" >= 0) default NULL,
"acdate" timestamp without time zone default NULL,
"transfer_exdate" timestamp without time zone default NULL,
"idnlang" varchar(16) default NULL,
"deltime" timestamp without time zone default NULL,
"restime" timestamp without time zone default NULL,
"rgpstatus" varchar CHECK ("rgpstatus" IN ( 'addPeriod','autoRenewPeriod','renewPeriod','transferPeriod','pendingDelete','pendingRestore','redemptionPeriod' )) default NULL,
"rgppostdata" text default NULL,
"rgpdeltime" timestamp without time zone default NULL,
"rgprestime" timestamp without time zone default NULL,
"rgpresreason" text default NULL,
"rgpstatement1" text default NULL,
"rgpstatement2" text default NULL,
"rgpother" text default NULL,
"addperiod" smallint CHECK ("addperiod" >= 0) default NULL,
"autorenewperiod" smallint CHECK ("autorenewperiod" >= 0) default NULL,
"renewperiod" smallint CHECK ("renewperiod" >= 0) default NULL,
"transferperiod" smallint CHECK ("transferperiod" >= 0) default NULL,
"reneweddate" timestamp without time zone default NULL,
primary key ("id"),
unique ("name")
);
CREATE TABLE registry.domain_contact_map (
"id" serial8,
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
"contact_id" int CHECK ("contact_id" >= 0) NOT NULL,
"type" varchar CHECK ("type" IN ( 'admin','billing','tech' )) NOT NULL default 'admin',
primary key ("id"),
unique ("domain_id", "contact_id", "type")
"id" serial8,
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
"contact_id" int CHECK ("contact_id" >= 0) NOT NULL,
"type" varchar CHECK ("type" IN ( 'admin','billing','tech' )) NOT NULL default 'admin',
primary key ("id"),
unique ("domain_id", "contact_id", "type")
);
CREATE TABLE registry.domain_authinfo (
"id" serial8,
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
"authtype" varchar CHECK ("authtype" IN ( 'pw','ext' )) NOT NULL default 'pw',
"authinfo" varchar(64) NOT NULL,
primary key ("id"),
unique ("domain_id")
"id" serial8,
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
"authtype" varchar CHECK ("authtype" IN ( 'pw','ext' )) NOT NULL default 'pw',
"authinfo" varchar(64) NOT NULL,
primary key ("id"),
unique ("domain_id")
);
CREATE TABLE registry.domain_status (
"id" serial8,
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
"status" varchar CHECK ("status" IN ( 'clientDeleteProhibited','clientHold','clientRenewProhibited','clientTransferProhibited','clientUpdateProhibited','inactive','ok','pendingCreate','pendingDelete','pendingRenew','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverHold','serverRenewProhibited','serverTransferProhibited','serverUpdateProhibited' )) NOT NULL default 'ok',
primary key ("id"),
unique ("domain_id", "status")
"id" serial8,
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
"status" varchar CHECK ("status" IN ( 'clientDeleteProhibited','clientHold','clientRenewProhibited','clientTransferProhibited','clientUpdateProhibited','inactive','ok','pendingCreate','pendingDelete','pendingRenew','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverHold','serverRenewProhibited','serverTransferProhibited','serverUpdateProhibited' )) NOT NULL default 'ok',
primary key ("id"),
unique ("domain_id", "status")
);
CREATE TABLE registry.secdns (
"id" serial8,
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
"maxsiglife" int CHECK ("maxsiglife" >= 0) default '604800',
"interface" varchar CHECK ("interface" IN ( 'dsData','keyData' )) NOT NULL default 'dsData',
"keytag" smallint CHECK ("keytag" >= 0) NOT NULL,
"alg" smallint CHECK ("alg" >= 0) NOT NULL default '5',
"digesttype" smallint CHECK ("digesttype" >= 0) NOT NULL default '1',
"digest" varchar(64) NOT NULL,
"flags" smallint CHECK ("flags" >= 0) default NULL,
"protocol" smallint CHECK ("protocol" >= 0) default NULL,
"keydata_alg" smallint CHECK ("keydata_alg" >= 0) default NULL,
"pubkey" varchar(255) default NULL,
primary key ("id"),
unique ("domain_id", "digest")
"id" serial8,
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
"maxsiglife" int CHECK ("maxsiglife" >= 0) default '604800',
"interface" varchar CHECK ("interface" IN ( 'dsData','keyData' )) NOT NULL default 'dsData',
"keytag" smallint CHECK ("keytag" >= 0) NOT NULL,
"alg" smallint CHECK ("alg" >= 0) NOT NULL default '5',
"digesttype" smallint CHECK ("digesttype" >= 0) NOT NULL default '1',
"digest" varchar(64) NOT NULL,
"flags" smallint CHECK ("flags" >= 0) default NULL,
"protocol" smallint CHECK ("protocol" >= 0) default NULL,
"keydata_alg" smallint CHECK ("keydata_alg" >= 0) default NULL,
"pubkey" varchar(255) default NULL,
primary key ("id"),
unique ("domain_id", "digest")
);
CREATE TABLE registry.host (
"id" serial8,
"name" varchar(255) NOT NULL,
"domain_id" int CHECK ("domain_id" >= 0) default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL,
"crdate" timestamp without time zone NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL,
"update" timestamp without time zone default NULL,
"trdate" timestamp without time zone default NULL,
primary key ("id"),
unique ("name")
"id" serial8,
"name" varchar(255) NOT NULL,
"domain_id" int CHECK ("domain_id" >= 0) default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL,
"crdate" timestamp without time zone NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL,
"update" timestamp without time zone default NULL,
"trdate" timestamp without time zone default NULL,
primary key ("id"),
unique ("name")
);
CREATE TABLE registry.domain_host_map (
"id" serial8,
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
"host_id" int CHECK ("host_id" >= 0) NOT NULL,
primary key ("id"),
unique ("domain_id", "host_id")
"id" serial8,
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
"host_id" int CHECK ("host_id" >= 0) NOT NULL,
primary key ("id"),
unique ("domain_id", "host_id")
);
CREATE TABLE registry.host_addr (
"id" serial8,
"host_id" int CHECK ("host_id" >= 0) NOT NULL,
"addr" varchar(45) NOT NULL,
"ip" varchar CHECK ("ip" IN ( 'v4','v6' )) NOT NULL default 'v4',
primary key ("id"),
unique ("host_id", "addr", "ip")
"id" serial8,
"host_id" int CHECK ("host_id" >= 0) NOT NULL,
"addr" varchar(45) NOT NULL,
"ip" varchar CHECK ("ip" IN ( 'v4','v6' )) NOT NULL default 'v4',
primary key ("id"),
unique ("host_id", "addr", "ip")
);
CREATE TABLE registry.host_status (
"id" serial8,
"host_id" int CHECK ("host_id" >= 0) NOT NULL,
"status" varchar CHECK ("status" IN ( 'clientDeleteProhibited','clientUpdateProhibited','linked','ok','pendingCreate','pendingDelete','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverUpdateProhibited' )) NOT NULL default 'ok',
primary key ("id"),
unique ("host_id", "status")
"id" serial8,
"host_id" int CHECK ("host_id" >= 0) NOT NULL,
"status" varchar CHECK ("status" IN ( 'clientDeleteProhibited','clientUpdateProhibited','linked','ok','pendingCreate','pendingDelete','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverUpdateProhibited' )) NOT NULL default 'ok',
primary key ("id"),
unique ("host_id", "status")
);
CREATE TABLE registry.domain_auto_approve_transfer (
"id" serial8,
"name" varchar(68) NOT NULL,
"registrant" int CHECK ("registrant" >= 0) default NULL,
"crdate" timestamp without time zone NOT NULL,
"exdate" timestamp without time zone NOT NULL,
"update" timestamp without time zone default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL,
"trdate" timestamp without time zone default NULL,
"trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"reid" int CHECK ("reid" >= 0) default NULL,
"redate" timestamp without time zone default NULL,
"acid" int CHECK ("acid" >= 0) default NULL,
"acdate" timestamp without time zone default NULL,
"transfer_exdate" timestamp without time zone default NULL,
primary key ("id")
"id" serial8,
"name" varchar(68) NOT NULL,
"registrant" int CHECK ("registrant" >= 0) default NULL,
"crdate" timestamp without time zone NOT NULL,
"exdate" timestamp without time zone NOT NULL,
"update" timestamp without time zone default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL,
"trdate" timestamp without time zone default NULL,
"trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"reid" int CHECK ("reid" >= 0) default NULL,
"redate" timestamp without time zone default NULL,
"acid" int CHECK ("acid" >= 0) default NULL,
"acdate" timestamp without time zone default NULL,
"transfer_exdate" timestamp without time zone default NULL,
primary key ("id")
);
CREATE TABLE registry.contact_auto_approve_transfer (
"id" serial8,
"identifier" varchar(255) NOT NULL,
"voice" varchar(17) default NULL,
"voice_x" int default NULL,
"fax" varchar(17) default NULL,
"fax_x" int default NULL,
"email" varchar(255) NOT NULL,
"nin" varchar(255) default NULL,
"nin_type" varchar CHECK ("nin_type" IN ( 'personal','business' )) default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL,
"crdate" timestamp without time zone NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL,
"update" timestamp without time zone default NULL,
"trdate" timestamp without time zone default NULL,
"trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"reid" int CHECK ("reid" >= 0) default NULL,
"redate" timestamp without time zone default NULL,
"acid" int CHECK ("acid" >= 0) default NULL,
"acdate" timestamp without time zone default NULL,
"disclose_voice" varchar CHECK ("disclose_voice" IN ( '0','1' )) NOT NULL default '1',
"disclose_fax" varchar CHECK ("disclose_fax" IN ( '0','1' )) NOT NULL default '1',
"disclose_email" varchar CHECK ("disclose_email" IN ( '0','1' )) NOT NULL default '1',
primary key ("id")
"id" serial8,
"identifier" varchar(255) NOT NULL,
"voice" varchar(17) default NULL,
"voice_x" int default NULL,
"fax" varchar(17) default NULL,
"fax_x" int default NULL,
"email" varchar(255) NOT NULL,
"nin" varchar(255) default NULL,
"nin_type" varchar CHECK ("nin_type" IN ( 'personal','business' )) default NULL,
"clid" int CHECK ("clid" >= 0) NOT NULL,
"crid" int CHECK ("crid" >= 0) NOT NULL,
"crdate" timestamp without time zone NOT NULL,
"upid" int CHECK ("upid" >= 0) default NULL,
"update" timestamp without time zone default NULL,
"trdate" timestamp without time zone default NULL,
"trstatus" varchar CHECK ("trstatus" IN ( 'clientApproved','clientCancelled','clientRejected','pending','serverApproved','serverCancelled' )) default NULL,
"reid" int CHECK ("reid" >= 0) default NULL,
"redate" timestamp without time zone default NULL,
"acid" int CHECK ("acid" >= 0) default NULL,
"acdate" timestamp without time zone default NULL,
"disclose_voice" varchar CHECK ("disclose_voice" IN ( '0','1' )) NOT NULL default '1',
"disclose_fax" varchar CHECK ("disclose_fax" IN ( '0','1' )) NOT NULL default '1',
"disclose_email" varchar CHECK ("disclose_email" IN ( '0','1' )) NOT NULL default '1',
primary key ("id")
);
CREATE TABLE registry.statistics (
"id" serial8,
"date" date NOT NULL,
"total_domains" int CHECK ("total_domains" >= 0) NOT NULL DEFAULT '0',
"created_domains" int CHECK ("created_domains" >= 0) NOT NULL DEFAULT '0',
"renewed_domains" int CHECK ("renewed_domains" >= 0) NOT NULL DEFAULT '0',
"transfered_domains" int CHECK ("transfered_domains" >= 0) NOT NULL DEFAULT '0',
"deleted_domains" int CHECK ("deleted_domains" >= 0) NOT NULL DEFAULT '0',
"restored_domains" int CHECK ("restored_domains" >= 0) NOT NULL DEFAULT '0',
primary key ("id"),
"id" serial8,
"date" date NOT NULL,
"total_domains" int CHECK ("total_domains" >= 0) NOT NULL DEFAULT '0',
"created_domains" int CHECK ("created_domains" >= 0) NOT NULL DEFAULT '0',
"renewed_domains" int CHECK ("renewed_domains" >= 0) NOT NULL DEFAULT '0',
"transfered_domains" int CHECK ("transfered_domains" >= 0) NOT NULL DEFAULT '0',
"deleted_domains" int CHECK ("deleted_domains" >= 0) NOT NULL DEFAULT '0',
"restored_domains" int CHECK ("restored_domains" >= 0) NOT NULL DEFAULT '0',
primary key ("id"),
unique ("date")
);
CREATE TABLE IF NOT EXISTS registry.users (
"id" SERIAL PRIMARY KEY CHECK ("id" >= 0),
"email" VARCHAR(249) UNIQUE NOT NULL,
"password" VARCHAR(255) NOT NULL,
"username" VARCHAR(100) DEFAULT NULL,
"status" SMALLINT NOT NULL DEFAULT '0' CHECK ("status" >= 0),
"verified" SMALLINT NOT NULL DEFAULT '0' CHECK ("verified" >= 0),
"resettable" SMALLINT NOT NULL DEFAULT '1' CHECK ("resettable" >= 0),
"roles_mask" INTEGER NOT NULL DEFAULT '0' CHECK ("roles_mask" >= 0),
"registered" INTEGER NOT NULL CHECK ("registered" >= 0),
"last_login" INTEGER DEFAULT NULL CHECK ("last_login" >= 0),
"force_logout" INTEGER NOT NULL DEFAULT '0' CHECK ("force_logout" >= 0)
"id" SERIAL PRIMARY KEY CHECK ("id" >= 0),
"email" VARCHAR(249) UNIQUE NOT NULL,
"password" VARCHAR(255) NOT NULL,
"username" VARCHAR(100) DEFAULT NULL,
"status" SMALLINT NOT NULL DEFAULT '0' CHECK ("status" >= 0),
"verified" SMALLINT NOT NULL DEFAULT '0' CHECK ("verified" >= 0),
"resettable" SMALLINT NOT NULL DEFAULT '1' CHECK ("resettable" >= 0),
"roles_mask" INTEGER NOT NULL DEFAULT '0' CHECK ("roles_mask" >= 0),
"registered" INTEGER NOT NULL CHECK ("registered" >= 0),
"last_login" INTEGER DEFAULT NULL CHECK ("last_login" >= 0),
"force_logout" INTEGER NOT NULL DEFAULT '0' CHECK ("force_logout" >= 0)
);
CREATE TABLE IF NOT EXISTS registry.users_confirmations (
"id" SERIAL PRIMARY KEY CHECK ("id" >= 0),
"user_id" INTEGER NOT NULL CHECK ("user_id" >= 0),
"email" VARCHAR(249) NOT NULL,
"selector" VARCHAR(16) UNIQUE NOT NULL,
"token" VARCHAR(255) NOT NULL,
"expires" INTEGER NOT NULL CHECK ("expires" >= 0)
"id" SERIAL PRIMARY KEY CHECK ("id" >= 0),
"user_id" INTEGER NOT NULL CHECK ("user_id" >= 0),
"email" VARCHAR(249) NOT NULL,
"selector" VARCHAR(16) UNIQUE NOT NULL,
"token" VARCHAR(255) NOT NULL,
"expires" INTEGER NOT NULL CHECK ("expires" >= 0)
);
CREATE INDEX IF NOT EXISTS "email_expires" ON registry.users_confirmations ("email", "expires");
CREATE INDEX IF NOT EXISTS "user_id" ON registry.users_confirmations ("user_id");
CREATE TABLE IF NOT EXISTS registry.users_remembered (
"id" BIGSERIAL PRIMARY KEY CHECK ("id" >= 0),
"user" INTEGER NOT NULL CHECK ("user" >= 0),
"selector" VARCHAR(24) UNIQUE NOT NULL,
"token" VARCHAR(255) NOT NULL,
"expires" INTEGER NOT NULL CHECK ("expires" >= 0)
"id" BIGSERIAL PRIMARY KEY CHECK ("id" >= 0),
"user" INTEGER NOT NULL CHECK ("user" >= 0),
"selector" VARCHAR(24) UNIQUE NOT NULL,
"token" VARCHAR(255) NOT NULL,
"expires" INTEGER NOT NULL CHECK ("expires" >= 0)
);
CREATE INDEX IF NOT EXISTS "user" ON registry.users_remembered ("user");
CREATE TABLE IF NOT EXISTS registry.users_resets (
"id" BIGSERIAL PRIMARY KEY CHECK ("id" >= 0),
"user" INTEGER NOT NULL CHECK ("user" >= 0),
"selector" VARCHAR(20) UNIQUE NOT NULL,
"token" VARCHAR(255) NOT NULL,
"expires" INTEGER NOT NULL CHECK ("expires" >= 0)
"id" BIGSERIAL PRIMARY KEY CHECK ("id" >= 0),
"user" INTEGER NOT NULL CHECK ("user" >= 0),
"selector" VARCHAR(20) UNIQUE NOT NULL,
"token" VARCHAR(255) NOT NULL,
"expires" INTEGER NOT NULL CHECK ("expires" >= 0)
);
CREATE INDEX IF NOT EXISTS "user_expires" ON registry.users_resets ("user", "expires");
CREATE TABLE IF NOT EXISTS registry.users_throttling (
"bucket" VARCHAR(44) PRIMARY KEY,
"tokens" REAL NOT NULL CHECK ("tokens" >= 0),
"replenished_at" INTEGER NOT NULL CHECK ("replenished_at" >= 0),
"expires_at" INTEGER NOT NULL CHECK ("expires_at" >= 0)
"bucket" VARCHAR(44) PRIMARY KEY,
"tokens" REAL NOT NULL CHECK ("tokens" >= 0),
"replenished_at" INTEGER NOT NULL CHECK ("replenished_at" >= 0),
"expires_at" INTEGER NOT NULL CHECK ("expires_at" >= 0)
);
CREATE INDEX IF NOT EXISTS "expires_at" ON registry.users_throttling ("expires_at");
@ -489,7 +490,7 @@ CREATE TABLE registry.rde_escrow_deposits (
"id" serial8 PRIMARY KEY,
"deposit_id" VARCHAR(255) UNIQUE, -- Unique deposit identifier
"deposit_date" DATE NOT NULL,
"revision" INTEGER NOT NULL DEFAULT 1,
"revision" INTEGER NOT NULL DEFAULT 1,
"file_name" VARCHAR(255) NOT NULL,
"file_format" file_format_enum NOT NULL, -- Format of the data file
"file_size" BIGINT CHECK ("file_size" >= 0),

View file

@ -7,7 +7,32 @@ if (!extension_loaded('swoole')) {
function mapContactToVCard($contactDetails, $role) {
return [
'objectClassName' => 'entity',
'handle' => [$contactDetails['identifier']],
'roles' => [$role],
'remarks' => [
[
"description" => [
"This object's data has been partially omitted for privacy.",
"Only the registrar managing the record can view personal contact data."
],
"links" => [
[
"href" => "https://namingo.org",
"rel" => "alternate",
"type" => "text/html"
]
],
"title" => "REDACTED FOR PRIVACY",
"type" => "Details are withheld due to privacy restrictions."
],
[
"description" => [
"To obtain contact information for the domain registrant, please refer to the Registrar of Record's RDDS service as indicated in this report."
],
"title" => "EMAIL REDACTED FOR PRIVACY",
"type" => "Details are withheld due to privacy restrictions."
],
],
'vcardArray' => [
"vcard",
[
@ -200,12 +225,29 @@ function handleDomainQuery($request, $response, $pdo, $domainName) {
$stmt2->execute();
$statuses = $stmt2->fetchAll(PDO::FETCH_COLUMN, 0);
// Query: Get DNSSEC details
$stmt2a = $pdo->prepare("SELECT `interface` FROM `secdns` WHERE `domain_id` = :domain_id");
$stmt2a->bindParam(':domain_id', $domainDetails['id'], PDO::PARAM_INT);
$stmt2a->execute();
$isDelegationSigned = $stmt2a->fetchColumn() > 0;
$stmt2b = $pdo->prepare("SELECT `secure` FROM `domain_tld` WHERE `tld` = :tld");
$stmt2b->bindParam(':tld', $tld, PDO::PARAM_STR);
$stmt2b->execute();
$isZoneSigned = ($stmt2b->fetchColumn() == 1);
// Query 3: Get registrar details
$stmt3 = $pdo->prepare("SELECT `name`,`whois_server`,`url`,`abuse_email`,`abuse_phone` FROM `registrar` WHERE `id` = :clid");
$stmt3 = $pdo->prepare("SELECT `name`,`iana_id`,`whois_server`,`rdap_server`,`url`,`abuse_email`,`abuse_phone` FROM `registrar` WHERE `id` = :clid");
$stmt3->bindParam(':clid', $domainDetails['clid'], PDO::PARAM_INT);
$stmt3->execute();
$registrarDetails = $stmt3->fetch(PDO::FETCH_ASSOC);
// Query: Get registrar abuse details
$stmt3a = $pdo->prepare("SELECT `first_name`,`last_name` FROM `registrar_contact` WHERE `registrar_id` = :clid");
$stmt3a->bindParam(':clid', $domainDetails['clid'], PDO::PARAM_INT);
$stmt3a->execute();
$registrarAbuseDetails = $stmt3a->fetch(PDO::FETCH_ASSOC);
// Query 4: Get registrant details
$stmt4 = $pdo->prepare("SELECT contact.identifier,contact_postalInfo.name,contact_postalInfo.org,contact_postalInfo.street1,contact_postalInfo.street2,contact_postalInfo.street3,contact_postalInfo.city,contact_postalInfo.sp,contact_postalInfo.pc,contact_postalInfo.cc,contact.voice,contact.voice_x,contact.fax,contact.fax_x,contact.email FROM contact,contact_postalInfo WHERE contact.id=:registrant AND contact_postalInfo.contact_id=contact.id");
$stmt4->bindParam(':registrant', $domainDetails['registrant'], PDO::PARAM_INT);
@ -270,6 +312,8 @@ function handleDomainQuery($request, $response, $pdo, $domainName) {
$events[] = ['eventAction' => 'domain transfer', 'eventDate' => date('Y-m-d', strtotime($domainDetails['trdate']))];
}
$abuseContactName = ($registrarAbuseDetails) ? $registrarAbuseDetails['first_name'] . ' ' . $registrarAbuseDetails['last_name'] : '';
// Construct the RDAP response in JSON format
$rdapResponse = [
'rdapConformance' => [
@ -279,6 +323,54 @@ function handleDomainQuery($request, $response, $pdo, $domainName) {
],
'objectClassName' => 'domain',
'entities' => array_merge(
[
[
'objectClassName' => 'entity',
'entities' => [
'objectClassName' => 'entity',
'roles' => ["abuse"],
"status" => ["active"],
"vcardArray" => [
"vcard",
[
["version", [], "text", "4.0"],
["fn", [], "text", $abuseContactName],
["tel", ["type" => "voice"], "uri", "tel:" . $registrarDetails['abuse_phone']],
["email", [], "text", $registrarDetails['abuse_email']]
]
],
],
"handle" => $registrarDetails['iana_id'],
"links" => [
[
"href" => "https://rdap.example.com/entity/" . $registrarDetails['iana_id'],
"rel" => "self",
"type" => "application/rdap+json"
]
],
"publicIds" => [
[
"identifier" => $registrarDetails['iana_id'],
"type" => "IANA Registrar ID"
]
],
"remarks" => [
[
"description" => ["This record contains only a summary. For detailed information, please submit a query specifically for this object."],
"title" => "Incomplete Data",
"type" => "object truncated"
]
],
"roles" => ["registrar"],
"vcardArray" => [
"vcard",
[
["version", [], "text", "4.0"],
["fn", [], "text", $registrarDetails['name']]
]
],
],
],
[
mapContactToVCard($registrantDetails, 'registrant')
],
@ -295,7 +387,6 @@ function handleDomainQuery($request, $response, $pdo, $domainName) {
'events' => $events,
'handle' => $domainDetails['id'] . '',
'ldhName' => $domain,
'status' => $statuses,
'links' => [
[
'href' => 'https://rdap.example.com/domain/' . $domain,
@ -320,8 +411,22 @@ function handleDomainQuery($request, $response, $pdo, $domainName) {
'type' => 'application/rdap+json',
],
],
'remarks' => [
[
"description" => [
"This record contains only a brief summary. To access the full details, please initiate a specific query targeting this entity."
],
"title" => "Incomplete Data",
"type" => "The object's information is incomplete due to reasons not currently understood."
],
],
];
}, $nameservers),
"secureDNS" => [
"delegationSigned" => $isDelegationSigned,
"zoneSigned" => $isZoneSigned
],
'status' => $statuses,
"notices" => [
[
"description" => [