Added launch phase management in cp; allocation tokens in db

This commit is contained in:
Pinga 2023-12-18 08:16:39 +02:00
parent b20a44ecb0
commit 34fe2a866f
6 changed files with 221 additions and 10 deletions

View file

@ -2,12 +2,17 @@ SET FOREIGN_KEY_CHECKS=0;
CREATE DATABASE IF NOT EXISTS `registry`;
CREATE TABLE IF NOT EXISTS `registry`.`launch_phase` (
CREATE TABLE IF NOT EXISTS `registry`.`launch_phases` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`phase_name` VARCHAR(255) NOT NULL,
`tld_id` int(10) unsigned DEFAULT NULL,
`phase_name` VARCHAR(75) NOT NULL,
`phase_type` VARCHAR(50) NOT NULL,
`phase_description` TEXT,
`start_date` DATETIME(3),
`end_date` DATETIME(3),
`start_date` DATETIME(3) NOT NULL,
`end_date` DATETIME(3) DEFAULT NULL,
`lastupdate` TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP,
KEY `tld_id` (`tld_id`),
FOREIGN KEY (`tld_id`) REFERENCES `domain_tld`(`id`),
UNIQUE(`phase_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='launch phases';
@ -57,6 +62,21 @@ CREATE TABLE IF NOT EXISTS `registry`.`domain_restore_price` (
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`.`allocation_tokens` (
token VARCHAR(255) NOT NULL,
domain_name VARCHAR(255) DEFAULT NULL,
tokenStatus VARCHAR(100) DEFAULT NULL,
tokenType VARCHAR(100) DEFAULT NULL,
createDateTime TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
lastUpdate DATETIME(3) DEFAULT NULL,
registrars JSON DEFAULT NULL,
tlds JSON DEFAULT NULL,
eppActions JSON DEFAULT NULL,
reducePremium TINYINT(1) NOT NULL,
reduceYears INT NOT NULL CHECK (reduceYears BETWEEN 0 AND 10),
PRIMARY KEY (token)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='allocation tokens';
CREATE TABLE IF NOT EXISTS `registry`.`error_log` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`registrar_id` INT(10) unsigned NOT NULL,

View file

@ -3,15 +3,29 @@ CREATE SCHEMA registryTransaction;
SET search_path TO registry, registryTransaction, public;
CREATE TABLE registry.launch_phase (
CREATE TABLE registry.launch_phases (
"id" SERIAL PRIMARY KEY,
"phase_name" VARCHAR(255) NOT NULL,
"tld_id" INT CHECK ("tld_id" >= 0),
"phase_name" VARCHAR(75) NOT NULL,
"phase_type" VARCHAR(50) NOT NULL,
"phase_description" TEXT,
"start_date" TIMESTAMP(3),
"end_date" TIMESTAMP(3),
"start_date" TIMESTAMP(3) NOT NULL,
"end_date" TIMESTAMP(3) DEFAULT NULL,
"lastupdate" timestamp(3),
FOREIGN KEY ("tld_id") REFERENCES registry.domain_tld("id"),
UNIQUE(phase_name)
);
CREATE OR REPLACE FUNCTION update_phases() RETURNS trigger AS '
BEGIN
NEW.lastupdate := CURRENT_TIMESTAMP;
RETURN NEW;
END;
' LANGUAGE 'plpgsql';
CREATE TRIGGER add_current_date_to_launch_phases BEFORE UPDATE ON registry.launch_phases FOR EACH ROW EXECUTE PROCEDURE
update_phases();
CREATE TABLE registry.domain_tld (
"id" SERIAL PRIMARY KEY,
"tld" varchar(32) NOT NULL,
@ -53,6 +67,21 @@ CREATE TABLE registry.domain_restore_price (
unique ("tldid")
);
CREATE TABLE registry.allocation_tokens (
"token" VARCHAR(255) NOT NULL,
"domain_name" VARCHAR(255),
"tokenStatus" VARCHAR(100),
"tokenType" VARCHAR(100),
"createDateTime" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"lastUpdate" TIMESTAMP(3),
"registrars" JSON,
"tlds" JSON,
"eppActions" JSON,
"reducePremium" BOOLEAN NOT NULL,
"reduceYears" INT NOT NULL CHECK (reduceYears BETWEEN 0 AND 10),
PRIMARY KEY (token)
);
CREATE TABLE registry.error_log (
"id" INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,,