Big work on domain applications in panel

This commit is contained in:
Pinga 2023-12-19 02:35:07 +02:00
parent 58c8f8f01a
commit e9ed61cfa9
11 changed files with 2059 additions and 76 deletions

View file

@ -373,25 +373,11 @@ CREATE TABLE IF NOT EXISTS `registry`.`application` (
`transfer_exdate` datetime(3) default NULL,
`idnlang` varchar(16) default NULL,
`delTime` datetime(3) default NULL,
`resTime` datetime(3) default NULL,
`rgpstatus` enum('addPeriod','autoRenewPeriod','renewPeriod','transferPeriod','pendingDelete','pendingRestore','redemptionPeriod') default NULL,
`rgppostData` text default NULL,
`rgpdelTime` datetime(3) default NULL,
`rgpresTime` datetime(3) 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(3) default NULL,
`agp_exempted` tinyint(1) DEFAULT 0,
`agp_request` datetime(3) default NULL,
`agp_grant` datetime(3) default NULL,
`agp_reason` text default NULL,
`agp_status` varchar(30) default NULL,
`authtype` enum('pw','ext') NOT NULL default 'pw',
`authinfo` varchar(64) NOT NULL,
`phase_name` VARCHAR(75) DEFAULT NULL,
`phase_type` VARCHAR(50) NOT NULL,
`smd` text default NULL,
`tm_notice_accepted` datetime(3) default NULL,
`tm_notice_expires` datetime(3) default NULL,
`tm_notice_id` varchar(150) default NULL,
@ -417,7 +403,18 @@ CREATE TABLE IF NOT EXISTS `registry`.`domain_contact_map` (
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';
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='contact map for domains';
CREATE TABLE IF NOT EXISTS `registry`.`application_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 `application_contact_map_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `application` (`id`) ON DELETE RESTRICT,
CONSTRAINT `application_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 for applications';
CREATE TABLE IF NOT EXISTS `registry`.`domain_authInfo` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@ -438,6 +435,15 @@ CREATE TABLE IF NOT EXISTS `registry`.`domain_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`.`application_status` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`domain_id` int(10) unsigned NOT NULL,
`status` enum('pendingValidation','validated','invalid','pendingAllocation','allocated','rejected','custom') NOT NULL default 'pendingValidation',
PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`domain_id`,`status`),
CONSTRAINT `application_status_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `application` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='application:status';
CREATE TABLE IF NOT EXISTS `registry`.`secdns` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`domain_id` int(10) unsigned NOT NULL,
@ -482,7 +488,17 @@ CREATE TABLE IF NOT EXISTS `registry`.`domain_host_map` (
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';
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='host map for domains';
CREATE TABLE IF NOT EXISTS `registry`.`application_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 `application_host_map_id` (`domain_id`,`host_id`),
CONSTRAINT `application_host_map_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `application` (`id`) ON DELETE RESTRICT,
CONSTRAINT `application_host_map_ibfk_2` FOREIGN KEY (`host_id`) REFERENCES `host` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='host map for applications';
CREATE TABLE IF NOT EXISTS `registry`.`host_addr` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

View file

@ -371,25 +371,11 @@ CREATE TABLE registry.application (
"transfer_exdate" timestamp(3) without time zone default NULL,
"idnlang" varchar(16) default NULL,
"deltime" timestamp(3) without time zone default NULL,
"restime" timestamp(3) 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(3) without time zone default NULL,
"rgprestime" timestamp(3) 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(3) without time zone default NULL,
"agp_exempted" BOOLEAN DEFAULT FALSE,
"agp_request" TIMESTAMP(3) DEFAULT NULL,
"agp_grant" TIMESTAMP(3) DEFAULT NULL,
"agp_reason" TEXT DEFAULT NULL,
"agp_status" VARCHAR(30) DEFAULT NULL,
"authtype" varchar CHECK ("authtype" IN ( 'pw','ext' )) NOT NULL default 'pw',
"authinfo" varchar(64) NOT NULL,
"phase_name" VARCHAR(75) DEFAULT NULL,
"phase_type" VARCHAR(50) NOT NULL,
"smd" TEXT DEFAULT NULL,
"tm_notice_accepted" TIMESTAMP(3) DEFAULT NULL,
"tm_notice_expires" TIMESTAMP(3) DEFAULT NULL,
"tm_notice_id" VARCHAR(150) DEFAULT NULL,
@ -408,6 +394,15 @@ CREATE TABLE registry.domain_contact_map (
unique ("domain_id", "contact_id", "type")
);
CREATE TABLE registry.application_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")
);
CREATE TABLE registry.domain_authinfo (
"id" serial8,
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
@ -425,6 +420,14 @@ CREATE TABLE registry.domain_status (
unique ("domain_id", "status")
);
CREATE TABLE registry.application_status (
"id" serial8,
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
"status" varchar CHECK ("status" IN ( 'pendingValidation','validated','invalid','pendingAllocation','allocated','rejected','custom' )) NOT NULL default 'pendingValidation',
primary key ("id"),
unique ("domain_id", "status")
);
CREATE TABLE registry.secdns (
"id" serial8,
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
@ -464,6 +467,14 @@ CREATE TABLE registry.domain_host_map (
unique ("domain_id", "host_id")
);
CREATE TABLE registry.application_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")
);
CREATE TABLE registry.host_addr (
"id" serial8,
"host_id" int CHECK ("host_id" >= 0) NOT NULL,
@ -836,8 +847,11 @@ ALTER TABLE registry.domain ADD FOREIGN KEY ("acid") REFERENCES registry.registr
ALTER TABLE registry.domain ADD FOREIGN KEY ("tldid") REFERENCES registry.domain_tld ("id");
ALTER TABLE registry.domain_contact_map ADD FOREIGN KEY ("domain_id") REFERENCES registry.domain ("id");
ALTER TABLE registry.domain_contact_map ADD FOREIGN KEY ("contact_id") REFERENCES registry.contact ("id");
ALTER TABLE registry.application_contact_map ADD FOREIGN KEY ("domain_id") REFERENCES registry.application ("id");
ALTER TABLE registry.application_contact_map ADD FOREIGN KEY ("contact_id") REFERENCES registry.contact ("id");
ALTER TABLE registry.domain_authinfo ADD FOREIGN KEY ("domain_id") REFERENCES registry.domain ("id");
ALTER TABLE registry.domain_status ADD FOREIGN KEY ("domain_id") REFERENCES registry.domain ("id");
ALTER TABLE registry.application_status ADD FOREIGN KEY ("domain_id") REFERENCES registry.application ("id");
ALTER TABLE registry.secdns ADD FOREIGN KEY ("domain_id") REFERENCES registry.domain ("id");
ALTER TABLE registry.host ADD FOREIGN KEY ("clid") REFERENCES registry.registrar ("id");
ALTER TABLE registry.host ADD FOREIGN KEY ("crid") REFERENCES registry.registrar ("id");
@ -845,6 +859,8 @@ ALTER TABLE registry.host ADD FOREIGN KEY ("upid") REFERENCES registry.registrar
ALTER TABLE registry.host ADD FOREIGN KEY ("domain_id") REFERENCES registry.domain ("id");
ALTER TABLE registry.domain_host_map ADD FOREIGN KEY ("domain_id") REFERENCES registry.domain ("id");
ALTER TABLE registry.domain_host_map ADD FOREIGN KEY ("host_id") REFERENCES registry.host ("id");
ALTER TABLE registry.application_host_map ADD FOREIGN KEY ("domain_id") REFERENCES registry.application ("id");
ALTER TABLE registry.application_host_map ADD FOREIGN KEY ("host_id") REFERENCES registry.host ("id");
ALTER TABLE registry.host_addr ADD FOREIGN KEY ("host_id") REFERENCES registry.host ("id");
ALTER TABLE registry.host_status ADD FOREIGN KEY ("host_id") REFERENCES registry.host ("id");