Added more documentation. Improved CRUD V3 endpoints and better responses.
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 06, 2026 at 06:25 PM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `account`
|
||||
--
|
||||
|
||||
CREATE TABLE `account` (
|
||||
`id` int(11) NOT NULL,
|
||||
`id_random` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
||||
`code` varchar(50) DEFAULT NULL,
|
||||
`name` varchar(200) DEFAULT NULL,
|
||||
`short_name` varchar(20) DEFAULT NULL,
|
||||
`description` text DEFAULT NULL,
|
||||
`hide` tinyint(1) DEFAULT 0,
|
||||
`enable` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_from` datetime DEFAULT NULL,
|
||||
`enable_to` datetime DEFAULT NULL,
|
||||
`notes` text DEFAULT NULL,
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Triggers `account`
|
||||
--
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_account` BEFORE INSERT ON `account` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_account` BEFORE UPDATE ON `account` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `account`
|
||||
--
|
||||
ALTER TABLE `account`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `id_random` (`id_random`),
|
||||
ADD UNIQUE KEY `code` (`code`),
|
||||
ADD KEY `enable` (`enable`),
|
||||
ADD KEY `name` (`name`),
|
||||
ADD KEY `created_on` (`created_on`),
|
||||
ADD KEY `updated_on` (`updated_on`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `account`
|
||||
--
|
||||
ALTER TABLE `account`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,124 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 06, 2026 at 06:25 PM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `data_store`
|
||||
--
|
||||
|
||||
CREATE TABLE `data_store` (
|
||||
`id` int(11) NOT NULL,
|
||||
`id_random` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
||||
`account_id` int(11) DEFAULT NULL,
|
||||
`for_type` varchar(50) DEFAULT NULL,
|
||||
`for_id` int(11) DEFAULT NULL,
|
||||
`person_id` int(11) DEFAULT NULL COMMENT 'the creator or owner',
|
||||
`user_id` int(11) DEFAULT NULL COMMENT 'the creator or owner',
|
||||
`code` varchar(75) NOT NULL COMMENT 'adding a record that matches an existing code should always have an account_id',
|
||||
`name` varchar(150) DEFAULT NULL,
|
||||
`description` text DEFAULT NULL,
|
||||
`type` varchar(10) NOT NULL DEFAULT 'html' COMMENT 'html, json, md, text',
|
||||
`json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'case sensitive',
|
||||
`text` longtext DEFAULT NULL COMMENT 'case insensitive',
|
||||
`meta_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta_json`)),
|
||||
`meta_text` longtext DEFAULT NULL,
|
||||
`access_read` varchar(20) DEFAULT NULL COMMENT '''super'', ''administrator'', ''trusted'', ''anonymous''',
|
||||
`access_write` varchar(20) DEFAULT NULL COMMENT '''super'', ''administrator'', ''trusted'', ''anonymous''',
|
||||
`access_delete` varchar(20) DEFAULT NULL COMMENT '''super'', ''administrator'', ''trusted'', ''anonymous''',
|
||||
`enable` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`hide` tinyint(1) DEFAULT NULL,
|
||||
`priority` tinyint(1) DEFAULT NULL,
|
||||
`sort` int(11) DEFAULT NULL,
|
||||
`group` varchar(100) DEFAULT NULL,
|
||||
`notes` text DEFAULT NULL,
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Triggers `data_store`
|
||||
--
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_data_store` BEFORE INSERT ON `data_store` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_data_store` BEFORE UPDATE ON `data_store` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `data_store`
|
||||
--
|
||||
ALTER TABLE `data_store`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `id_random` (`id_random`),
|
||||
ADD KEY `created_on` (`created_on`),
|
||||
ADD KEY `updated_on` (`updated_on`),
|
||||
ADD KEY `code` (`code`),
|
||||
ADD KEY `account_id` (`account_id`),
|
||||
ADD KEY `for_type` (`for_type`,`for_id`),
|
||||
ADD KEY `enable` (`enable`),
|
||||
ADD KEY `priority` (`priority`),
|
||||
ADD KEY `sort` (`sort`),
|
||||
ADD KEY `group` (`group`),
|
||||
ADD KEY `hide` (`hide`),
|
||||
ADD KEY `account_id_2` (`account_id`,`for_type`,`for_id`,`code`,`enable`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `data_store`
|
||||
--
|
||||
ALTER TABLE `data_store`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,259 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 06, 2026 at 06:24 PM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `event`
|
||||
--
|
||||
|
||||
CREATE TABLE `event` (
|
||||
`id` int(11) NOT NULL,
|
||||
`id_random` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
||||
`code` varchar(100) DEFAULT NULL,
|
||||
`account_id` int(11) DEFAULT NULL,
|
||||
`poc_event_person_id` int(11) DEFAULT NULL COMMENT 'use this when possible',
|
||||
`poc_person_id` int(11) DEFAULT NULL COMMENT 'use this only if needed',
|
||||
`external_person_id` varchar(75) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'person ID generated by external system',
|
||||
`user_id` int(11) DEFAULT NULL COMMENT 'user that owns the event',
|
||||
`lu_event_type_id` int(11) DEFAULT NULL,
|
||||
`conference` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'yes allows for abstracts, sessions, presentations, presenters, badges, etc',
|
||||
`type` varchar(50) DEFAULT NULL,
|
||||
`name` varchar(200) NOT NULL,
|
||||
`summary` text DEFAULT NULL,
|
||||
`description` text DEFAULT NULL,
|
||||
`format` text DEFAULT NULL COMMENT 'format of the event',
|
||||
`lu_time_zone_id` int(11) DEFAULT NULL,
|
||||
`timezone` varchar(100) DEFAULT NULL,
|
||||
`start_datetime` datetime DEFAULT NULL,
|
||||
`end_datetime` datetime DEFAULT NULL,
|
||||
`recurring` tinyint(1) DEFAULT NULL COMMENT 'recurring event',
|
||||
`recurring_pattern` varchar(50) DEFAULT NULL,
|
||||
`recurring_start_time` time DEFAULT NULL COMMENT 'recurring event start time',
|
||||
`recurring_end_time` time DEFAULT NULL COMMENT 'recurring event end time',
|
||||
`recurring_text` text DEFAULT NULL COMMENT 'text describing how and when the event recurs',
|
||||
`weekday_sunday` tinyint(1) DEFAULT NULL,
|
||||
`weekday_monday` tinyint(1) DEFAULT NULL,
|
||||
`weekday_tuesday` tinyint(1) DEFAULT NULL,
|
||||
`weekday_wednesday` tinyint(1) DEFAULT NULL,
|
||||
`weekday_thursday` tinyint(1) DEFAULT NULL,
|
||||
`weekday_friday` tinyint(1) DEFAULT NULL,
|
||||
`weekday_saturday` tinyint(1) DEFAULT NULL,
|
||||
`address_location_id` int(11) DEFAULT NULL,
|
||||
`location_address_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
||||
`location_address_json_ext` longtext GENERATED ALWAYS AS (json_unquote(json_extract(`location_address_json`,'$'))) STORED,
|
||||
`location_text` text DEFAULT NULL COMMENT 'text information about the location',
|
||||
`online_start` datetime DEFAULT NULL,
|
||||
`online_end` datetime DEFAULT NULL,
|
||||
`reg_deadline_1` datetime DEFAULT NULL,
|
||||
`reg_deadline_2` datetime DEFAULT NULL,
|
||||
`reg_deadline_3` datetime DEFAULT NULL,
|
||||
`reg_deadline_4` datetime DEFAULT NULL,
|
||||
`max_registrants` int(11) DEFAULT NULL,
|
||||
`private` tinyint(1) DEFAULT 0 COMMENT 'invite only event',
|
||||
`physical` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'physical in person event',
|
||||
`virtual` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'virtual remote access event',
|
||||
`image_path` varchar(500) DEFAULT NULL,
|
||||
`logo_path` varchar(500) DEFAULT NULL,
|
||||
`logo_bg_color` varchar(25) DEFAULT NULL,
|
||||
`banner_path` varchar(500) DEFAULT NULL,
|
||||
`banner_bg_color` varchar(25) DEFAULT NULL,
|
||||
`logo_filename` varchar(200) DEFAULT NULL,
|
||||
`banner_image_filename` varchar(200) DEFAULT NULL,
|
||||
`banner_html` text DEFAULT NULL,
|
||||
`site_h1` varchar(500) DEFAULT NULL,
|
||||
`site_h2` varchar(500) DEFAULT NULL,
|
||||
`external_url` varchar(500) DEFAULT NULL,
|
||||
`external_url_text` varchar(500) DEFAULT NULL,
|
||||
`attend_url` varchar(500) DEFAULT NULL,
|
||||
`attend_url_text` varchar(500) DEFAULT NULL,
|
||||
`attend_url_code` varchar(50) DEFAULT NULL COMMENT 'id, code, nickname, alias',
|
||||
`attend_url_passcode` varchar(50) DEFAULT NULL,
|
||||
`attend_phone` varchar(50) DEFAULT NULL,
|
||||
`attend_phone_passcode` varchar(50) DEFAULT NULL,
|
||||
`attend_text` text DEFAULT NULL,
|
||||
`attend_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`attend_json`)),
|
||||
`contact_1_id` int(11) DEFAULT NULL,
|
||||
`contact_2_id` int(11) DEFAULT NULL,
|
||||
`contact_3_id` int(11) DEFAULT NULL,
|
||||
`contact_li_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`contact_li_json`)),
|
||||
`contact_li_json_ext` longtext GENERATED ALWAYS AS (json_unquote(json_extract(`contact_li_json`,'$'))) STORED,
|
||||
`contact_name` varchar(200) DEFAULT NULL,
|
||||
`contact_email` varchar(254) DEFAULT NULL,
|
||||
`contact_phone` varchar(50) DEFAULT NULL,
|
||||
`contact_other` text DEFAULT NULL,
|
||||
`contact_text` text DEFAULT NULL,
|
||||
`event_file_upload_information` text DEFAULT NULL,
|
||||
`enable` tinyint(1) NOT NULL DEFAULT 1,
|
||||
`enable_from` datetime DEFAULT NULL,
|
||||
`enable_to` datetime DEFAULT NULL,
|
||||
`enable_for_administrator` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_for_support` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_for_assistant` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_for_trusted` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_for_authenticated` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_for_anonymous` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_comments` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`send_moderator_email` tinyint(1) DEFAULT NULL,
|
||||
`moderator_email` varchar(254) DEFAULT NULL,
|
||||
`disable_navigation` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_event_file_upload_for_event` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_upload_for_location` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_upload_for_session` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_upload_for_presentation` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_upload_for_presenter` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_upload_review_question` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_upload_email_question` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_upload_comments_question` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_approval_option` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_public_use_option` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_member_use_option` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_attendee_use_option` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_publish_option` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_purpose_option` tinyint(1) DEFAULT NULL,
|
||||
`enable_event_file_os_selection_option` tinyint(1) DEFAULT NULL COMMENT 'allow selection between macOS and Windows',
|
||||
`enable_event_file_os_change_option` tinyint(1) DEFAULT NULL,
|
||||
`custom_event_file_upload_description` text DEFAULT NULL,
|
||||
`custom_event_file_agreement_1_text` text DEFAULT NULL,
|
||||
`custom_event_file_agreement_1_description` text DEFAULT NULL,
|
||||
`ask_speaker_ready_room` tinyint(1) DEFAULT NULL,
|
||||
`ask_presentation_publish_optout` tinyint(1) DEFAULT NULL,
|
||||
`default_event_file_to_public_use` tinyint(1) DEFAULT NULL,
|
||||
`ask_for_public_version` tinyint(1) DEFAULT NULL,
|
||||
`hide_file_upload_presentation_name` tinyint(1) DEFAULT NULL,
|
||||
`hide_session_codes` tinyint(1) DEFAULT NULL,
|
||||
`custom_agreement_1_text` text DEFAULT NULL,
|
||||
`custom_agreement_1_description` text DEFAULT NULL,
|
||||
`unauthenticated_access` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`unauthenticated_access_public_endpoint` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`mod_abstracts_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`mod_abstracts_json`)),
|
||||
`mod_badges_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'badges config options' CHECK (json_valid(`mod_badges_json`)),
|
||||
`mod_exhibits_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'exhibits config options' CHECK (json_valid(`mod_exhibits_json`)),
|
||||
`mod_meetings_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`mod_meetings_json`)),
|
||||
`mod_pres_mgmt_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`mod_pres_mgmt_json`)),
|
||||
`cfg_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'config in JSON format' CHECK (json_valid(`cfg_json`)),
|
||||
`hide` tinyint(1) DEFAULT NULL,
|
||||
`status` varchar(25) DEFAULT NULL,
|
||||
`review` tinyint(1) DEFAULT NULL,
|
||||
`approve` tinyint(1) DEFAULT NULL,
|
||||
`ready` tinyint(1) DEFAULT NULL,
|
||||
`ready_on` datetime DEFAULT NULL,
|
||||
`archive` tinyint(1) DEFAULT NULL,
|
||||
`archive_on` datetime DEFAULT NULL,
|
||||
`priority` tinyint(1) DEFAULT NULL,
|
||||
`sort` int(11) DEFAULT NULL,
|
||||
`group` varchar(100) DEFAULT NULL,
|
||||
`default_qry_str` text DEFAULT NULL COMMENT 'for FULLTEXT indexed searches',
|
||||
`notes` text DEFAULT NULL,
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Triggers `event`
|
||||
--
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_event` BEFORE INSERT ON `event` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_pattern('3CN-2CN-2CN-2CN');
|
||||
/* SET NEW.id_random = gen_rand_str(11, 'URL'); */
|
||||
END IF;
|
||||
|
||||
SET NEW.default_qry_str = event_default_qry_str(NEW.id_random, NEW.type, NEW.name, NEW.description, NEW.timezone, NEW.recurring_pattern, NEW.recurring_text, NEW.location_text, NEW.attend_text, NEW.contact_text);
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_event` BEFORE UPDATE ON `event` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
SET NEW.id_random = gen_rand_pattern('3CN-2CN-2CN-2CN');
|
||||
END IF;
|
||||
|
||||
SET NEW.default_qry_str = event_default_qry_str(NEW.id_random, NEW.type, NEW.name, NEW.description, NEW.timezone, NEW.recurring_pattern, NEW.recurring_text, NEW.location_text, NEW.attend_text, NEW.contact_text);
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `event_after_delete` AFTER DELETE ON `event` FOR EACH ROW BEGIN
|
||||
DELETE FROM event_person WHERE event_person.id = old.poc_event_person_id;
|
||||
DELETE FROM address WHERE address.for_id = old.id AND address.for_type = 'event';
|
||||
DELETE FROM address WHERE address.id = old.address_location_id;
|
||||
DELETE FROM contact WHERE contact.for_id = old.id AND contact.for_type = 'event';
|
||||
DELETE FROM contact WHERE contact.id = old.contact_1_id;
|
||||
DELETE FROM contact WHERE contact.id = old.contact_2_id;
|
||||
DELETE FROM contact WHERE contact.id = old.contact_3_id;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `event`
|
||||
--
|
||||
ALTER TABLE `event`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `id_random` (`id_random`),
|
||||
ADD KEY `account_id` (`account_id`),
|
||||
ADD KEY `created_on` (`created_on`),
|
||||
ADD KEY `updated_on` (`updated_on`),
|
||||
ADD KEY `sort` (`sort`),
|
||||
ADD KEY `conference` (`conference`),
|
||||
ADD KEY `enable` (`enable`),
|
||||
ADD KEY `archive` (`archive`),
|
||||
ADD KEY `address_location_id` (`address_location_id`) USING HASH,
|
||||
ADD KEY `poc_event_person_id` (`poc_event_person_id`) USING HASH,
|
||||
ADD KEY `contact_id_1` (`contact_1_id`) USING HASH,
|
||||
ADD KEY `contact_id_2` (`contact_2_id`) USING HASH,
|
||||
ADD KEY `priority` (`priority`),
|
||||
ADD KEY `hide` (`hide`);
|
||||
ALTER TABLE `event` ADD FULLTEXT KEY `tbl_fulltext_default_qry_str` (`default_qry_str`);
|
||||
ALTER TABLE `event` ADD FULLTEXT KEY `fulltext_location_address_json` (`location_address_json`);
|
||||
ALTER TABLE `event` ADD FULLTEXT KEY `fulltext_contact_li_json` (`contact_li_json`);
|
||||
ALTER TABLE `event` ADD FULLTEXT KEY `fulltext_location_address_json_ext` (`location_address_json_ext`);
|
||||
ALTER TABLE `event` ADD FULLTEXT KEY `fulltext_contact_li_json_ext` (`contact_li_json_ext`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `event`
|
||||
--
|
||||
ALTER TABLE `event`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,235 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 06, 2026 at 06:24 PM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `event_badge`
|
||||
--
|
||||
|
||||
CREATE TABLE `event_badge` (
|
||||
`id` int(11) NOT NULL,
|
||||
`id_random` varchar(22) NOT NULL,
|
||||
`external_id` varchar(100) DEFAULT NULL,
|
||||
`external_event_id` varchar(75) DEFAULT NULL COMMENT 'externally generated event ID',
|
||||
`external_registration_id` varchar(75) DEFAULT NULL COMMENT 'registration ID generated by external system (was external_reg_id)',
|
||||
`external_person_id` varchar(75) DEFAULT NULL COMMENT 'person ID generated by external system (was external_sys_id)',
|
||||
`event_id_only` int(11) DEFAULT NULL COMMENT 'This should only be used when the event_person record can not be created.',
|
||||
`event_person_id` int(11) DEFAULT NULL,
|
||||
`event_badge_template_id` int(11) DEFAULT NULL COMMENT 'if null then use the "default" template for the event',
|
||||
`pronouns` varchar(50) DEFAULT NULL COMMENT 'preferred pronouns',
|
||||
`pronouns_override` varchar(50) DEFAULT NULL COMMENT 'override for pronouns',
|
||||
`informal_name` varchar(50) DEFAULT NULL COMMENT 'nickname',
|
||||
`title_names` varchar(100) DEFAULT NULL COMMENT 'prefix',
|
||||
`given_name` varchar(50) DEFAULT NULL COMMENT 'first name',
|
||||
`middle_name` varchar(50) DEFAULT NULL,
|
||||
`family_name` varchar(100) DEFAULT NULL COMMENT 'last name',
|
||||
`designations` varchar(100) DEFAULT NULL COMMENT 'designations and suffix',
|
||||
`professional_title` varchar(150) DEFAULT NULL COMMENT 'includes degrees and credentials',
|
||||
`professional_title_override` varchar(200) DEFAULT NULL COMMENT 'override for professional title',
|
||||
`full_name` varchar(200) DEFAULT NULL,
|
||||
`full_name_override` varchar(150) DEFAULT NULL COMMENT 'was display_name',
|
||||
`affiliations` text DEFAULT NULL,
|
||||
`affiliations_override` varchar(200) DEFAULT NULL COMMENT 'override for affiliations',
|
||||
`email` varchar(254) DEFAULT NULL,
|
||||
`email_override` varchar(254) DEFAULT NULL COMMENT 'override for email',
|
||||
`phone` varchar(25) DEFAULT NULL,
|
||||
`phone_override` varchar(25) DEFAULT NULL COMMENT 'override for phone',
|
||||
`address_line_1` varchar(200) DEFAULT NULL,
|
||||
`address_line_2` varchar(200) DEFAULT NULL,
|
||||
`address_line_3` varchar(200) DEFAULT NULL,
|
||||
`city` varchar(100) DEFAULT NULL,
|
||||
`country_subdivision_code` varchar(8) DEFAULT NULL,
|
||||
`state_province` varchar(100) DEFAULT NULL,
|
||||
`state_province_abb` varchar(10) DEFAULT NULL COMMENT 'state/province abbreviation',
|
||||
`postal_code` varchar(25) DEFAULT NULL,
|
||||
`country_alpha_2_code` varchar(2) DEFAULT NULL,
|
||||
`country` varchar(100) DEFAULT NULL,
|
||||
`full_address` varchar(200) DEFAULT NULL,
|
||||
`location` varchar(200) DEFAULT NULL,
|
||||
`location_override` varchar(200) DEFAULT NULL COMMENT 'override for location',
|
||||
`location_short` varchar(100) DEFAULT NULL COMMENT 'auto gen with trigger',
|
||||
`location_long` varchar(200) DEFAULT NULL COMMENT 'auto gen with trigger',
|
||||
`query_str` varchar(150) DEFAULT NULL,
|
||||
`badge_type_code` varchar(50) DEFAULT NULL,
|
||||
`badge_type_code_override` varchar(50) DEFAULT NULL,
|
||||
`badge_type` varchar(100) DEFAULT NULL,
|
||||
`badge_type_override` varchar(100) DEFAULT NULL,
|
||||
`member_type_code` varchar(50) DEFAULT NULL,
|
||||
`member_type` varchar(100) DEFAULT NULL,
|
||||
`member_status` varchar(50) DEFAULT NULL,
|
||||
`registration_type_code` varchar(50) DEFAULT NULL,
|
||||
`registration_type` varchar(100) DEFAULT NULL,
|
||||
`other_1` varchar(100) DEFAULT NULL,
|
||||
`other_2` varchar(100) DEFAULT NULL,
|
||||
`ticket_1_code` varchar(100) DEFAULT NULL,
|
||||
`ticket_2_code` varchar(100) DEFAULT NULL,
|
||||
`ticket_3_code` varchar(100) DEFAULT NULL,
|
||||
`ticket_4_code` varchar(100) DEFAULT NULL,
|
||||
`ticket_5_code` varchar(100) DEFAULT NULL,
|
||||
`ticket_6_code` varchar(100) DEFAULT NULL,
|
||||
`ticket_7_code` varchar(100) DEFAULT NULL,
|
||||
`ticket_8_code` varchar(100) DEFAULT NULL,
|
||||
`allow_tracking` tinyint(1) DEFAULT NULL,
|
||||
`allow_tracking_field_li` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '[''given_name'', ''family_name'', ''email'']' CHECK (json_valid(`allow_tracking_field_li`)),
|
||||
`agree_to_tc` tinyint(1) DEFAULT NULL COMMENT 'agree to terms and conditions',
|
||||
`print_first_datetime` datetime DEFAULT NULL,
|
||||
`print_last_datetime` datetime DEFAULT NULL,
|
||||
`print_count` int(11) DEFAULT NULL,
|
||||
`data_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`data_json`)),
|
||||
`cfg_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`cfg_json`)),
|
||||
`hide` tinyint(1) DEFAULT 0,
|
||||
`priority` tinyint(1) DEFAULT NULL,
|
||||
`sort` int(11) DEFAULT NULL,
|
||||
`group` varchar(100) DEFAULT NULL,
|
||||
`enable` tinyint(1) DEFAULT 1,
|
||||
`default_qry_str` text DEFAULT NULL COMMENT 'for FULLTEXT indexed searches',
|
||||
`notes` text DEFAULT NULL,
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Triggers `event_badge`
|
||||
--
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_event_badge` BEFORE INSERT ON `event_badge` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N');
|
||||
/* SET NEW.id_random = gen_rand_str(11, 'URL'); */
|
||||
END IF;
|
||||
|
||||
SET NEW.full_name = name_for_full_name(NEW.informal_name, NEW.title_names, NEW.given_name, NEW.middle_name, NEW.family_name, NEW.designations);
|
||||
|
||||
IF (NEW.location IS NULL OR NEW.location = '')
|
||||
THEN
|
||||
SET NEW.location = make_location_str(NEW.city, NEW.state_province, NEW.country);
|
||||
END IF;
|
||||
|
||||
IF (NEW.full_address IS NULL OR NEW.full_address = '')
|
||||
THEN
|
||||
SET NEW.full_address = make_full_address_str(NEW.address_line_1, NEW.address_line_2, NEW.address_line_3, NEW.city, NEW.state_province, NEW.postal_code, NEW.country);
|
||||
/*SET NEW.notes = CONCAT(COALESCE(`NEW`.`notes`,''), ';;sys::overide empty full_address');*/
|
||||
END IF;
|
||||
|
||||
IF (NEW.city IS NOT NULL OR NEW.state_province IS NOT NULL OR NEW.country IS NOT NULL)
|
||||
THEN
|
||||
SET NEW.location_long = badge_full_address(NEW.city, NEW.state_province, NEW.country);
|
||||
/*SET NEW.notes = CONCAT(COALESCE(`NEW`.`notes`,''), ';;sys::overide empty location');*/
|
||||
END IF;
|
||||
|
||||
IF (NEW.city IS NOT NULL OR NEW.state_province_abb IS NOT NULL OR NEW.country_alpha_2_code IS NOT NULL)
|
||||
THEN
|
||||
SET NEW.location_short = badge_location_short(NEW.city, NEW.state_province_abb, NEW.country_alpha_2_code);
|
||||
/*SET NEW.notes = CONCAT(COALESCE(`NEW`.`notes`,''), ';;sys::overide empty location');*/
|
||||
END IF;
|
||||
|
||||
SET NEW.default_qry_str = event_badge_default_qry_str(NEW.id_random, NEW.full_name, NEW.full_name_override, NEW.affiliations, NEW.affiliations_override, NEW.email, NEW.email_override, NEW.location, NEW.location_override);
|
||||
SET NEW.query_str = badge_query_str(NEW.id_random, NEW.informal_name, NEW.given_name, NEW.middle_name, NEW.family_name, NEW.email);
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_event_badge` BEFORE UPDATE ON `event_badge` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N');
|
||||
END IF;
|
||||
|
||||
SET NEW.full_name = name_for_full_name(NEW.informal_name, NEW.title_names, NEW.given_name, NEW.middle_name, NEW.family_name, NEW.designations);
|
||||
|
||||
IF (NEW.location IS NULL OR NEW.location = '')
|
||||
THEN
|
||||
SET NEW.location = make_location_str(NEW.city, NEW.state_province, NEW.country);
|
||||
END IF;
|
||||
|
||||
IF (NEW.full_address IS NULL OR NEW.full_address = '')
|
||||
THEN
|
||||
SET NEW.full_address = make_full_address_str(NEW.address_line_1, NEW.address_line_2, NEW.address_line_3, NEW.city, NEW.state_province, NEW.postal_code, NEW.country);
|
||||
/*SET NEW.notes = CONCAT(COALESCE(`NEW`.`notes`,''), ';;sys::overide empty full_address');*/
|
||||
END IF;
|
||||
|
||||
IF (NEW.city IS NOT NULL OR NEW.state_province IS NOT NULL OR NEW.country IS NOT NULL)
|
||||
THEN
|
||||
SET NEW.location_long = badge_full_address(NEW.city, NEW.state_province, NEW.country);
|
||||
/*SET NEW.notes = CONCAT(COALESCE(`NEW`.`notes`,''), ';;sys::overide empty location');*/
|
||||
END IF;
|
||||
|
||||
IF (NEW.city IS NOT NULL OR NEW.state_province_abb IS NOT NULL OR NEW.country_alpha_2_code IS NOT NULL)
|
||||
THEN
|
||||
SET NEW.location_short = badge_location_short(NEW.city, NEW.state_province_abb, NEW.country_alpha_2_code);
|
||||
/*SET NEW.notes = CONCAT(COALESCE(`NEW`.`notes`,''), ';;sys::overide empty location');*/
|
||||
END IF;
|
||||
|
||||
SET NEW.default_qry_str = event_badge_default_qry_str(NEW.id_random, NEW.full_name, NEW.full_name_override, NEW.affiliations, NEW.affiliations_override, NEW.email, NEW.email_override, NEW.location, NEW.location_override);
|
||||
SET NEW.query_str = badge_query_str(NEW.id_random, NEW.informal_name, NEW.given_name, NEW.middle_name, NEW.family_name, NEW.email);
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `event_badge`
|
||||
--
|
||||
ALTER TABLE `event_badge`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `id_random` (`id_random`),
|
||||
ADD KEY `external_id` (`external_id`),
|
||||
ADD KEY `event_person_id` (`event_person_id`),
|
||||
ADD KEY `given_name` (`given_name`),
|
||||
ADD KEY `family_name` (`family_name`),
|
||||
ADD KEY `display_name` (`full_name_override`),
|
||||
ADD KEY `email` (`email`),
|
||||
ADD KEY `badge_type_code` (`badge_type_code`),
|
||||
ADD KEY `member_type_code` (`member_type_code`),
|
||||
ADD KEY `registration_type_code` (`registration_type_code`),
|
||||
ADD KEY `enable` (`enable`),
|
||||
ADD KEY `created_on` (`created_on`),
|
||||
ADD KEY `updated_on` (`updated_on`),
|
||||
ADD KEY `external_event_id` (`external_event_id`),
|
||||
ADD KEY `event_badge_template_id` (`event_badge_template_id`);
|
||||
ALTER TABLE `event_badge` ADD FULLTEXT KEY `query_str` (`query_str`);
|
||||
ALTER TABLE `event_badge` ADD FULLTEXT KEY `tbl_fulltext_default_qry_str` (`default_qry_str`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `event_badge`
|
||||
--
|
||||
ALTER TABLE `event_badge`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,242 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 06, 2026 at 06:25 PM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `event_file`
|
||||
--
|
||||
|
||||
CREATE TABLE `event_file` (
|
||||
`id` int(11) NOT NULL,
|
||||
`id_random` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
||||
`hosted_file_id` int(11) DEFAULT NULL,
|
||||
`for_type` varchar(50) DEFAULT NULL,
|
||||
`for_id` int(11) DEFAULT NULL,
|
||||
`event_id` int(11) DEFAULT NULL COMMENT 'is this needed?',
|
||||
`event_session_id` int(11) DEFAULT NULL COMMENT 'is this needed?',
|
||||
`event_presentation_id` int(11) DEFAULT NULL COMMENT 'is this needed?',
|
||||
`event_presenter_id` int(11) DEFAULT NULL COMMENT 'is this needed?',
|
||||
`event_location_id` int(11) DEFAULT NULL COMMENT 'is this needed?',
|
||||
`event_track_id` int(11) DEFAULT NULL COMMENT 'is this needed?',
|
||||
`event_exhibit_id` int(11) DEFAULT NULL COMMENT 'is this needed?',
|
||||
`filename` varchar(255) DEFAULT NULL,
|
||||
`extension` varchar(10) DEFAULT NULL,
|
||||
`title` varchar(500) DEFAULT NULL,
|
||||
`description` text DEFAULT NULL,
|
||||
`internal_use` tinyint(1) DEFAULT NULL COMMENT 'hide from non-support people',
|
||||
`internal_start_datetime` datetime DEFAULT NULL,
|
||||
`internal_end_datetime` datetime DEFAULT NULL,
|
||||
`internal_filename` varchar(255) DEFAULT NULL,
|
||||
`internal_extension` varchar(10) DEFAULT NULL,
|
||||
`open_in_os` varchar(50) DEFAULT NULL COMMENT 'change to open_in: [mac,win,local browser/client,remote browser/client,api,websocket,download]',
|
||||
`internal_hide` tinyint(1) DEFAULT NULL,
|
||||
`private_use` tinyint(1) DEFAULT NULL,
|
||||
`private_start_datetime` datetime DEFAULT NULL,
|
||||
`private_end_datetime` datetime DEFAULT NULL,
|
||||
`private_filename` varchar(255) DEFAULT NULL,
|
||||
`private_extension` varchar(10) DEFAULT NULL,
|
||||
`private_hide` tinyint(1) DEFAULT NULL,
|
||||
`public_use` tinyint(1) DEFAULT NULL,
|
||||
`public_start_datetime` datetime DEFAULT NULL,
|
||||
`public_end_datetime` datetime DEFAULT NULL,
|
||||
`public_filename` varchar(255) DEFAULT NULL,
|
||||
`public_extension` varchar(10) DEFAULT NULL,
|
||||
`public_hide` tinyint(1) DEFAULT NULL,
|
||||
`lu_file_purpose_id` int(11) DEFAULT NULL,
|
||||
`file_purpose` varchar(100) DEFAULT NULL,
|
||||
`publish_optout` tinyint(1) DEFAULT NULL,
|
||||
`download_start_datetime` datetime DEFAULT NULL,
|
||||
`download_end_datetime` datetime DEFAULT NULL,
|
||||
`approved` int(11) DEFAULT NULL,
|
||||
`approved_on` timestamp NULL DEFAULT NULL,
|
||||
`public` tinyint(1) DEFAULT NULL,
|
||||
`hide` tinyint(1) DEFAULT NULL,
|
||||
`priority` tinyint(1) DEFAULT NULL,
|
||||
`sort` int(11) DEFAULT NULL,
|
||||
`group` varchar(100) DEFAULT NULL,
|
||||
`enable` tinyint(1) NOT NULL DEFAULT 1,
|
||||
`enable_after_datetime` datetime DEFAULT NULL,
|
||||
`enable_before_datetime` datetime DEFAULT NULL,
|
||||
`enable_for_administrator` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_for_support` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_for_assistant` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_for_trusted` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_for_authenticated` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`status` int(11) DEFAULT NULL,
|
||||
`review` tinyint(1) DEFAULT NULL,
|
||||
`approve` tinyint(1) DEFAULT NULL,
|
||||
`ready` tinyint(1) DEFAULT NULL,
|
||||
`ready_datetime` datetime DEFAULT NULL,
|
||||
`archive` tinyint(1) DEFAULT NULL,
|
||||
`archive_datetime` datetime DEFAULT NULL,
|
||||
`enable_for_anonymous` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Triggers `event_file`
|
||||
--
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_event_file` BEFORE INSERT ON `event_file` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_event_file_fix_ids` BEFORE INSERT ON `event_file` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.for_type = 'event_location' AND NEW.for_id IS NOT NULL)
|
||||
THEN
|
||||
SET NEW.event_location_id = NEW.for_id;
|
||||
SET NEW.event_id = (SELECT event_id FROM event_location WHERE event_location.id = NEW.for_id);
|
||||
END IF;
|
||||
|
||||
IF (NEW.for_type = 'event_presenter' AND NEW.for_id IS NOT NULL)
|
||||
THEN
|
||||
SET NEW.event_presenter_id = NEW.for_id;
|
||||
SET NEW.event_presentation_id = (SELECT event_presentation_id FROM event_presenter WHERE event_presenter.id = NEW.for_id);
|
||||
SET NEW.event_session_id = (SELECT event_session_id FROM event_presentation WHERE event_presentation.id = NEW.event_presentation_id);
|
||||
SET NEW.event_location_id = (SELECT event_location_id FROM event_session WHERE event_session.id = NEW.event_session_id);
|
||||
SET NEW.event_id = (SELECT event_id FROM event_session WHERE event_session.id = NEW.event_session_id);
|
||||
END IF;
|
||||
|
||||
IF (NEW.for_type = 'event_session' AND NEW.for_id IS NOT NULL)
|
||||
THEN
|
||||
SET NEW.event_session_id = NEW.for_id;
|
||||
SET NEW.event_location_id = (SELECT event_location_id FROM event_session WHERE event_session.id = NEW.for_id);
|
||||
SET NEW.event_id = (SELECT event_id FROM event_session WHERE event_session.id = NEW.for_id);
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_event_file` BEFORE UPDATE ON `event_file` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_event_file_fix_ids` BEFORE UPDATE ON `event_file` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.for_type = 'event_location' AND NEW.for_id IS NOT NULL)
|
||||
THEN
|
||||
SET NEW.event_location_id = NEW.for_id;
|
||||
SET NEW.event_id = (SELECT event_id FROM event_location WHERE event_location.id = NEW.for_id);
|
||||
END IF;
|
||||
|
||||
IF (NEW.for_type = 'event_presenter' AND NEW.for_id IS NOT NULL)
|
||||
THEN
|
||||
SET NEW.event_presenter_id = NEW.for_id;
|
||||
SET NEW.event_presentation_id = (SELECT event_presentation_id FROM event_presenter WHERE event_presenter.id = NEW.for_id);
|
||||
SET NEW.event_session_id = (SELECT event_session_id FROM event_presentation WHERE event_presentation.id = NEW.event_presentation_id);
|
||||
SET NEW.event_location_id = (SELECT event_location_id FROM event_session WHERE event_session.id = NEW.event_session_id);
|
||||
SET NEW.event_id = (SELECT event_id FROM event_session WHERE event_session.id = NEW.event_session_id);
|
||||
END IF;
|
||||
|
||||
IF (NEW.for_type = 'event_session' AND NEW.for_id IS NOT NULL)
|
||||
THEN
|
||||
SET NEW.event_session_id = NEW.for_id;
|
||||
SET NEW.event_location_id = (SELECT event_location_id FROM event_session WHERE event_session.id = NEW.for_id);
|
||||
SET NEW.event_id = (SELECT event_id FROM event_session WHERE event_session.id = NEW.for_id);
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `event_file_after_delete` AFTER DELETE ON `event_file` FOR EACH ROW BEGIN
|
||||
DELETE FROM hosted_file_link WHERE hosted_file_link.hosted_file_id = OLD.hosted_file_id AND hosted_file_link.link_to_type = OLD.for_type AND hosted_file_link.link_to_id = OLD.for_id;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `event_file_after_insert` AFTER INSERT ON `event_file` FOR EACH ROW BEGIN
|
||||
INSERT IGNORE INTO hosted_file_link (hosted_file_id, link_to_type, link_to_id) VALUES (NEW.hosted_file_id, NEW.for_type, NEW.for_id);
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `update approved_on` BEFORE UPDATE ON `event_file` FOR EACH ROW IF NEW.approved = 1 THEN SET NEW.approved_on = CURRENT_TIMESTAMP; END IF
|
||||
$$
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `event_file`
|
||||
--
|
||||
ALTER TABLE `event_file`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `id_random` (`id_random`),
|
||||
ADD UNIQUE KEY `hosted_file_id_for` (`hosted_file_id`,`for_type`,`for_id`),
|
||||
ADD KEY `event_session_id` (`event_session_id`),
|
||||
ADD KEY `event_id` (`event_id`),
|
||||
ADD KEY `hosted_file_id` (`hosted_file_id`),
|
||||
ADD KEY `event_presentation_id` (`event_presentation_id`),
|
||||
ADD KEY `event_presenter_id` (`event_presenter_id`),
|
||||
ADD KEY `event_location_id` (`event_location_id`),
|
||||
ADD KEY `created_on` (`created_on`),
|
||||
ADD KEY `updated_on` (`updated_on`),
|
||||
ADD KEY `event_track_id` (`event_track_id`),
|
||||
ADD KEY `event_exhibit_id` (`event_exhibit_id`),
|
||||
ADD KEY `hide` (`hide`),
|
||||
ADD KEY `enable` (`enable`),
|
||||
ADD KEY `sort` (`sort`),
|
||||
ADD KEY `priority` (`priority`),
|
||||
ADD KEY `for_type` (`for_type`,`for_id`),
|
||||
ADD KEY `filename` (`filename`),
|
||||
ADD KEY `extension` (`extension`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `event_file`
|
||||
--
|
||||
ALTER TABLE `event_file`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,201 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 06, 2026 at 06:26 PM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `event_session`
|
||||
--
|
||||
|
||||
CREATE TABLE `event_session` (
|
||||
`id` int(11) NOT NULL,
|
||||
`id_random` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
||||
`external_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
||||
`code` varchar(100) DEFAULT NULL,
|
||||
`number` int(11) DEFAULT NULL,
|
||||
`for_type` varchar(50) DEFAULT NULL COMMENT 'avoid using',
|
||||
`for_id` int(11) DEFAULT NULL COMMENT 'avoid using',
|
||||
`event_id` int(11) DEFAULT NULL,
|
||||
`event_type_id` int(11) DEFAULT NULL,
|
||||
`type_id` int(11) DEFAULT NULL COMMENT 'not used',
|
||||
`type_code` varchar(25) DEFAULT NULL COMMENT 'from client',
|
||||
`event_location_id` int(11) DEFAULT NULL,
|
||||
`event_track_id` int(11) DEFAULT NULL,
|
||||
`poc_event_person_id` int(11) DEFAULT NULL COMMENT 'still needed?',
|
||||
`poc_person_id` int(11) DEFAULT NULL,
|
||||
`poc_agree` tinyint(1) DEFAULT NULL COMMENT 'catchall for agreement or consent',
|
||||
`poc_kv_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'advocate, chair, champion, moderator, organizer',
|
||||
`passcode` varchar(25) DEFAULT NULL COMMENT 'for basic access',
|
||||
`name` varchar(300) DEFAULT NULL,
|
||||
`description` text DEFAULT NULL,
|
||||
`proposal_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'responses to proposal questions in JSON format' CHECK (json_valid(`proposal_json`)),
|
||||
`start_datetime` datetime DEFAULT NULL,
|
||||
`end_datetime` datetime DEFAULT NULL,
|
||||
`attend_url` text DEFAULT NULL,
|
||||
`attend_url_text` text DEFAULT NULL,
|
||||
`attend_url_passcode` varchar(15) DEFAULT NULL,
|
||||
`attend_phone` varchar(15) DEFAULT NULL,
|
||||
`attend_phone_passcode` varchar(15) DEFAULT NULL,
|
||||
`attend_text` text DEFAULT NULL,
|
||||
`rehearsal_start_datetime` datetime DEFAULT NULL,
|
||||
`rehearsal_end_datetime` datetime DEFAULT NULL,
|
||||
`rehearsal_url` text DEFAULT NULL,
|
||||
`rehearsal_url_passcode` varchar(15) DEFAULT NULL COMMENT 'remove field?',
|
||||
`rehearsal_phone` varchar(15) DEFAULT NULL COMMENT 'remove field?',
|
||||
`rehearsal_phone_passcode` varchar(15) DEFAULT NULL COMMENT 'remove field?',
|
||||
`rehearsal_text` text DEFAULT NULL,
|
||||
`image_path` varchar(7) DEFAULT NULL COMMENT 'remove field?',
|
||||
`download_start_datetime` datetime DEFAULT NULL,
|
||||
`download_end_datetime` datetime DEFAULT NULL,
|
||||
`internal_use` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'hide from non-support people',
|
||||
`record_audio` tinyint(1) DEFAULT 0 COMMENT 'record presentations',
|
||||
`record_video` tinyint(1) DEFAULT 0 COMMENT 'record presentations',
|
||||
`internal_notes` text DEFAULT NULL COMMENT 'general notes',
|
||||
`internal_notes_access` text DEFAULT NULL COMMENT 'accessibility and accommodations',
|
||||
`internal_notes_av` text DEFAULT NULL COMMENT 'audio video',
|
||||
`internal_notes_fb` text DEFAULT NULL COMMENT 'food and beverage',
|
||||
`internal_notes_it` text DEFAULT NULL COMMENT 'IT and networking',
|
||||
`internal_notes_staff` text DEFAULT NULL COMMENT 'staffing and labor',
|
||||
`ux_mode` varchar(50) DEFAULT NULL COMMENT 'colloquium, lecture, panel, poster, symposium, workshop; replaces type_code',
|
||||
`enable` tinyint(1) NOT NULL DEFAULT 1,
|
||||
`enable_after_datetime` datetime DEFAULT NULL,
|
||||
`enable_before_datetime` datetime DEFAULT NULL,
|
||||
`enable_event_file_approval_option` tinyint(1) DEFAULT NULL,
|
||||
`hide` tinyint(1) DEFAULT 0,
|
||||
`public` tinyint(1) DEFAULT NULL,
|
||||
`public_hide` tinyint(1) DEFAULT NULL,
|
||||
`hide_event_launcher` tinyint(1) DEFAULT NULL,
|
||||
`status` int(11) DEFAULT NULL,
|
||||
`review` tinyint(1) DEFAULT NULL COMMENT 'ready for or needs review',
|
||||
`approve` tinyint(1) DEFAULT NULL COMMENT 'approved',
|
||||
`ready` tinyint(1) DEFAULT NULL,
|
||||
`ready_on` datetime DEFAULT NULL,
|
||||
`archive` tinyint(1) DEFAULT NULL,
|
||||
`archive_on` datetime DEFAULT NULL,
|
||||
`alert` tinyint(1) DEFAULT NULL,
|
||||
`alert_msg` text DEFAULT NULL COMMENT 'a short message from user',
|
||||
`priority` tinyint(1) DEFAULT 0,
|
||||
`sort` int(11) DEFAULT 0,
|
||||
`group` varchar(100) DEFAULT NULL,
|
||||
`default_qry_str` text DEFAULT NULL COMMENT 'for FULLTEXT indexed searches',
|
||||
`notes` text DEFAULT NULL,
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Triggers `event_session`
|
||||
--
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `after_update_event_session` AFTER UPDATE ON `event_session` FOR EACH ROW BEGIN
|
||||
IF (NEW.event_location_id) THEN
|
||||
UPDATE `event_file`
|
||||
SET `event_file`.event_location_id = NEW.event_location_id
|
||||
WHERE `event_file`.event_session_id = OLD.id OR (`event_file`.for_type = 'event_session' AND `event_file`.for_id = OLD.id);
|
||||
END IF;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_event_session` BEFORE INSERT ON `event_session` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N');
|
||||
/* SET NEW.id_random = gen_rand_str(11, 'URL'); */
|
||||
END IF;
|
||||
|
||||
SET NEW.default_qry_str = event_session_default_qry_str(NEW.id_random, NEW.name, NEW.description, NEW.code, NEW.type_code, NEW.start_datetime);
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_event_session` BEFORE UPDATE ON `event_session` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N');
|
||||
/* SET NEW.id_random = gen_rand_str(11, 'URL'); */
|
||||
END IF;
|
||||
|
||||
SET NEW.default_qry_str = event_session_default_qry_str(NEW.id_random, NEW.name, NEW.description, NEW.code, NEW.type_code, NEW.start_datetime);
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `event_session_after_delete` AFTER DELETE ON `event_session` FOR EACH ROW BEGIN
|
||||
DELETE FROM event_file WHERE event_file.for_type = 'event_session' AND event_file.for_id = OLD.id;
|
||||
|
||||
DELETE FROM event_presentation WHERE event_presentation.event_session_id = OLD.id;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `event_session`
|
||||
--
|
||||
ALTER TABLE `event_session`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `id_random` (`id_random`),
|
||||
ADD KEY `event_id` (`event_id`),
|
||||
ADD KEY `start_datetime` (`start_datetime`),
|
||||
ADD KEY `event_location_id` (`event_location_id`),
|
||||
ADD KEY `poc_event_person_id` (`poc_event_person_id`),
|
||||
ADD KEY `created_on` (`created_on`),
|
||||
ADD KEY `updated_on` (`updated_on`),
|
||||
ADD KEY `sort` (`sort`),
|
||||
ADD KEY `enable` (`enable`),
|
||||
ADD KEY `hide` (`hide`),
|
||||
ADD KEY `priority` (`priority`),
|
||||
ADD KEY `name` (`name`),
|
||||
ADD KEY `external_id` (`external_id`),
|
||||
ADD KEY `code` (`code`),
|
||||
ADD KEY `event_track_id` (`event_track_id`),
|
||||
ADD KEY `hide_event_launcher` (`hide_event_launcher`),
|
||||
ADD KEY `type_code` (`type_code`),
|
||||
ADD KEY `poc_person_id` (`poc_person_id`),
|
||||
ADD KEY `poc_agree` (`poc_agree`);
|
||||
ALTER TABLE `event_session` ADD FULLTEXT KEY `tbl_fulltext_default_qry_str` (`default_qry_str`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `event_session`
|
||||
--
|
||||
ALTER TABLE `event_session`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,121 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 03, 2026 at 12:03 AM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `hosted_file`
|
||||
--
|
||||
|
||||
CREATE TABLE `hosted_file` (
|
||||
`id` int(11) NOT NULL,
|
||||
`id_random` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
||||
`hash_sha256` varchar(64) DEFAULT NULL,
|
||||
`account_id` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
||||
`title` varchar(500) DEFAULT NULL,
|
||||
`description` text DEFAULT NULL,
|
||||
`version` int(11) DEFAULT NULL,
|
||||
`directory_path` varchar(1000) DEFAULT NULL,
|
||||
`subdirectory_path` varchar(1000) DEFAULT NULL COMMENT 'new as of 2021-08-26',
|
||||
`filename` varchar(255) DEFAULT NULL,
|
||||
`extension` varchar(10) DEFAULT NULL,
|
||||
`content_type` varchar(100) DEFAULT NULL,
|
||||
`mimetype` varchar(100) DEFAULT NULL,
|
||||
`size` int(11) UNSIGNED DEFAULT NULL COMMENT 'bytes',
|
||||
`cloud_storage` text DEFAULT NULL,
|
||||
`owner_user_id` int(11) DEFAULT NULL,
|
||||
`group_user_id` int(11) DEFAULT NULL,
|
||||
`package_name` varchar(500) DEFAULT NULL,
|
||||
`hide` tinyint(1) DEFAULT 0,
|
||||
`priority` tinyint(1) DEFAULT NULL,
|
||||
`sort` int(11) DEFAULT NULL,
|
||||
`group` varchar(100) DEFAULT NULL,
|
||||
`enable` tinyint(1) DEFAULT 1,
|
||||
`notes` text DEFAULT NULL,
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Triggers `hosted_file`
|
||||
--
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_hosted_file` BEFORE INSERT ON `hosted_file` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_hosted_file` BEFORE UPDATE ON `hosted_file` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `hosted_file`
|
||||
--
|
||||
ALTER TABLE `hosted_file`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `id_random` (`id_random`),
|
||||
ADD UNIQUE KEY `hash_sha256` (`hash_sha256`),
|
||||
ADD KEY `account_id` (`account_id`),
|
||||
ADD KEY `created_on` (`created_on`),
|
||||
ADD KEY `updated_on` (`updated_on`),
|
||||
ADD KEY `filename` (`filename`),
|
||||
ADD KEY `extension` (`extension`),
|
||||
ADD KEY `hide` (`hide`),
|
||||
ADD KEY `enable` (`enable`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `hosted_file`
|
||||
--
|
||||
ALTER TABLE `hosted_file`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,52 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 03, 2026 at 12:03 AM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `hosted_file_link`
|
||||
--
|
||||
|
||||
CREATE TABLE `hosted_file_link` (
|
||||
`account_id` int(11) DEFAULT NULL COMMENT 'is this needed?',
|
||||
`hosted_file_id` int(11) NOT NULL,
|
||||
`link_to_type` varchar(50) NOT NULL COMMENT 'change to for_object_type',
|
||||
`link_to_id` int(11) NOT NULL COMMENT 'change to for_object_id',
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='All hosted files that are actively linked or in use';
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `hosted_file_link`
|
||||
--
|
||||
ALTER TABLE `hosted_file_link`
|
||||
ADD PRIMARY KEY (`hosted_file_id`,`link_to_type`,`link_to_id`) USING BTREE;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,138 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 02, 2026 at 10:18 PM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `journal`
|
||||
--
|
||||
|
||||
CREATE TABLE `journal` (
|
||||
`id` int(11) NOT NULL,
|
||||
`id_random` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
||||
`account_id` int(11) DEFAULT NULL,
|
||||
`person_id` int(11) DEFAULT NULL,
|
||||
`user_id` int(11) DEFAULT NULL,
|
||||
`type_code` varchar(25) DEFAULT NULL,
|
||||
`default_private` tinyint(1) DEFAULT NULL COMMENT 'default to private',
|
||||
`default_public` tinyint(1) DEFAULT NULL COMMENT 'default to public',
|
||||
`default_personal` tinyint(1) DEFAULT NULL COMMENT 'default to personal',
|
||||
`default_professional` tinyint(1) DEFAULT NULL COMMENT 'default to professional',
|
||||
`private_passcode` varchar(20) DEFAULT NULL COMMENT 'passcode to show private entries',
|
||||
`public_passcode` varchar(20) DEFAULT NULL COMMENT 'passcode to show only public entries',
|
||||
`name` varchar(250) NOT NULL,
|
||||
`short_name` varchar(25) DEFAULT NULL,
|
||||
`summary` text DEFAULT NULL,
|
||||
`outline` text DEFAULT NULL,
|
||||
`description` text DEFAULT NULL,
|
||||
`description_html` text DEFAULT NULL,
|
||||
`description_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`description_json`)),
|
||||
`alert` tinyint(1) DEFAULT NULL,
|
||||
`alert_msg` text DEFAULT NULL,
|
||||
`allow_auth` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`auth_key` varchar(25) DEFAULT NULL,
|
||||
`passcode` varchar(25) DEFAULT NULL,
|
||||
`passcode_timeout` int(11) NOT NULL DEFAULT 300 COMMENT 'in seconds',
|
||||
`cfg_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`cfg_json`)),
|
||||
`data_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`data_json`)),
|
||||
`enable` tinyint(1) NOT NULL DEFAULT 1,
|
||||
`hide` tinyint(1) DEFAULT NULL,
|
||||
`status` int(11) DEFAULT NULL,
|
||||
`archive_on` datetime DEFAULT NULL,
|
||||
`archive` tinyint(1) DEFAULT NULL,
|
||||
`priority` tinyint(1) DEFAULT NULL,
|
||||
`sort` int(11) DEFAULT NULL,
|
||||
`group` varchar(100) DEFAULT NULL,
|
||||
`notes` text DEFAULT NULL,
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Triggers `journal`
|
||||
--
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_journal` BEFORE INSERT ON `journal` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N');
|
||||
/* SET NEW.id_random = gen_rand_pattern('3CN-2CN-2CN-2CN'); */
|
||||
/* SET NEW.id_random = gen_rand_str(11, 'URL'); */
|
||||
END IF;
|
||||
|
||||
/* SET NEW.default_qry_str = journal_default_qry_str(NEW.id_random, NEW.name, NEW.summary, NEW.description); */
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_journal` BEFORE UPDATE ON `journal` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N');
|
||||
/* SET NEW.id_random = gen_rand_pattern('3CN-2CN-2CN-2CN'); */
|
||||
/* SET NEW.id_random = gen_rand_str(11, 'URL'); */
|
||||
END IF;
|
||||
|
||||
/* SET NEW.default_qry_str = journal_default_qry_str(NEW.id_random, NEW.name, NEW.summary, NEW.description); */
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `journal_after_delete` AFTER DELETE ON `journal` FOR EACH ROW BEGIN
|
||||
DELETE FROM journal_entry WHERE journal_entry.journal_id = OLD.id;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `journal`
|
||||
--
|
||||
ALTER TABLE `journal`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `id_random` (`id_random`),
|
||||
ADD KEY `account_id` (`account_id`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `journal`
|
||||
--
|
||||
ALTER TABLE `journal`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,166 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 02, 2026 at 10:19 PM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `journal_entry`
|
||||
--
|
||||
|
||||
CREATE TABLE `journal_entry` (
|
||||
`id` int(11) NOT NULL,
|
||||
`id_random` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
||||
`journal_id` int(11) NOT NULL,
|
||||
`code` varchar(20) DEFAULT NULL,
|
||||
`lu_type_id` int(11) DEFAULT NULL,
|
||||
`type` varchar(50) DEFAULT NULL,
|
||||
`topic_id` int(11) DEFAULT NULL,
|
||||
`topic` varchar(50) DEFAULT NULL,
|
||||
`activity_id` int(11) DEFAULT NULL,
|
||||
`activity` varchar(50) DEFAULT NULL,
|
||||
`private` tinyint(1) DEFAULT NULL COMMENT 'implies encryption if possible',
|
||||
`public` tinyint(1) DEFAULT NULL,
|
||||
`personal` tinyint(1) DEFAULT NULL,
|
||||
`professional` tinyint(1) DEFAULT NULL,
|
||||
`name` varchar(250) DEFAULT NULL,
|
||||
`short_name` varchar(25) DEFAULT NULL,
|
||||
`summary` text DEFAULT NULL,
|
||||
`content` text DEFAULT NULL,
|
||||
`content_html` text DEFAULT NULL,
|
||||
`content_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`content_json`)),
|
||||
`content_encrypted` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
||||
`history` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'content history',
|
||||
`history_encrypted` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'content history encrypted',
|
||||
`passcode_hash` varchar(64) DEFAULT NULL COMMENT 'to match with index',
|
||||
`template` tinyint(1) DEFAULT NULL COMMENT 'use as template entry',
|
||||
`type_code` varchar(25) DEFAULT NULL,
|
||||
`topic_code` varchar(25) DEFAULT NULL,
|
||||
`category_code` varchar(25) DEFAULT NULL,
|
||||
`tags` varchar(255) DEFAULT NULL COMMENT 'comma delimited list',
|
||||
`start_datetime` datetime DEFAULT NULL,
|
||||
`end_datetime` datetime DEFAULT NULL,
|
||||
`seconds` int(11) DEFAULT NULL,
|
||||
`hours` decimal(3,2) DEFAULT NULL,
|
||||
`timezone` varchar(50) DEFAULT NULL,
|
||||
`location` text DEFAULT NULL COMMENT 'probably an address',
|
||||
`latitude` float DEFAULT NULL,
|
||||
`longitude` float DEFAULT NULL,
|
||||
`billable` tinyint(1) DEFAULT 0,
|
||||
`billable_to_id` int(11) DEFAULT NULL,
|
||||
`billiable_to` varchar(100) DEFAULT NULL,
|
||||
`alert` tinyint(1) DEFAULT NULL,
|
||||
`alert_msg` text DEFAULT NULL,
|
||||
`data_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`data_json`)),
|
||||
`enable` tinyint(1) NOT NULL DEFAULT 1,
|
||||
`hide` tinyint(1) DEFAULT NULL,
|
||||
`status` int(11) DEFAULT NULL,
|
||||
`archive_on` datetime DEFAULT NULL,
|
||||
`archive` tinyint(1) DEFAULT NULL,
|
||||
`priority` tinyint(1) DEFAULT NULL,
|
||||
`sort` int(11) DEFAULT NULL,
|
||||
`group` varchar(100) DEFAULT NULL,
|
||||
`default_qry_str` text DEFAULT NULL COMMENT 'for FULLTEXT indexed searches',
|
||||
`notes` text DEFAULT NULL,
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Triggers `journal_entry`
|
||||
--
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_journal_entry` BEFORE INSERT ON `journal_entry` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_pattern('3CN-2CN-2CN-2CN');
|
||||
/* SET NEW.id_random = gen_rand_str(11, 'URL'); */
|
||||
END IF;
|
||||
|
||||
SET NEW.default_qry_str = journal_entry_default_qry_str(NEW.id_random, NEW.name, NEW.summary, NEW.content, NEW.history, NEW.category_code, NEW.tags, NEW.alert_msg, NEW.data_json);
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_journal_entry` BEFORE UPDATE ON `journal_entry` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_pattern('3CN-2CN-2CN-2CN');
|
||||
/* SET NEW.id_random = gen_rand_str(11, 'URL'); */
|
||||
END IF;
|
||||
|
||||
SET NEW.default_qry_str = journal_entry_default_qry_str(NEW.id_random, NEW.name, NEW.summary, NEW.content, NEW.history, NEW.category_code, NEW.tags, NEW.alert_msg, NEW.data_json);
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `journal_entry`
|
||||
--
|
||||
ALTER TABLE `journal_entry`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `id_random` (`id_random`),
|
||||
ADD KEY `journal_id` (`journal_id`),
|
||||
ADD KEY `tags` (`tags`),
|
||||
ADD KEY `enable` (`enable`),
|
||||
ADD KEY `hide` (`hide`),
|
||||
ADD KEY `status` (`status`),
|
||||
ADD KEY `priority` (`priority`),
|
||||
ADD KEY `archive` (`archive`),
|
||||
ADD KEY `sort` (`sort`),
|
||||
ADD KEY `group` (`group`),
|
||||
ADD KEY `created_on` (`created_on`),
|
||||
ADD KEY `updated_on` (`updated_on`),
|
||||
ADD KEY `start_datetime` (`start_datetime`),
|
||||
ADD KEY `private` (`private`),
|
||||
ADD KEY `public` (`public`),
|
||||
ADD KEY `personal` (`personal`),
|
||||
ADD KEY `professional` (`professional`),
|
||||
ADD KEY `name` (`name`);
|
||||
ALTER TABLE `journal_entry` ADD FULLTEXT KEY `tbl_fulltext_default_qry_str` (`default_qry_str`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `journal_entry`
|
||||
--
|
||||
ALTER TABLE `journal_entry`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,213 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 06, 2026 at 06:23 PM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `person`
|
||||
--
|
||||
|
||||
CREATE TABLE `person` (
|
||||
`id` int(11) NOT NULL,
|
||||
`id_random` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
||||
`source_code` varchar(25) DEFAULT NULL,
|
||||
`external_id` varchar(75) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
||||
`external_sys_id` varchar(75) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'generated by external system',
|
||||
`account_id` int(11) DEFAULT NULL,
|
||||
`user_id` int(11) DEFAULT NULL,
|
||||
`organization_id` int(11) DEFAULT NULL,
|
||||
`informal_name` varchar(50) DEFAULT NULL COMMENT 'nickname',
|
||||
`title_names` varchar(100) DEFAULT NULL COMMENT 'prefix',
|
||||
`given_name` varchar(50) NOT NULL DEFAULT '' COMMENT 'first name',
|
||||
`middle_name` varchar(50) DEFAULT NULL,
|
||||
`family_name` varchar(50) DEFAULT NULL COMMENT 'last name',
|
||||
`designations` varchar(175) DEFAULT NULL COMMENT 'designations and suffix',
|
||||
`professional_title` varchar(100) DEFAULT NULL COMMENT ' includes degrees and credentials ',
|
||||
`full_name` varchar(150) DEFAULT NULL COMMENT 'set by triggers',
|
||||
`full_name_override` varchar(150) DEFAULT NULL COMMENT 'was display_name',
|
||||
`last_first_name` varchar(50) DEFAULT NULL COMMENT 'set by triggers',
|
||||
`informal_full_name` varchar(150) DEFAULT NULL COMMENT 'set by triggers',
|
||||
`affiliations` varchar(200) DEFAULT NULL,
|
||||
`primary_email` varchar(254) DEFAULT NULL,
|
||||
`tagline` text DEFAULT NULL,
|
||||
`description` text DEFAULT NULL,
|
||||
`biography` text DEFAULT NULL,
|
||||
`birth_date` date DEFAULT NULL,
|
||||
`death_date` date DEFAULT NULL,
|
||||
`lu_gender_id` int(11) DEFAULT NULL,
|
||||
`lu_sexuality_id` int(11) DEFAULT NULL,
|
||||
`lu_race_id` int(11) DEFAULT NULL,
|
||||
`lu_ethnicity_id` int(11) DEFAULT NULL,
|
||||
`language_native` varchar(2) DEFAULT NULL,
|
||||
`language_primary` varchar(2) DEFAULT NULL,
|
||||
`language_secondary` varchar(2) DEFAULT NULL,
|
||||
`lu_education_degree_id` int(11) DEFAULT NULL,
|
||||
`lu_education_level_id` int(11) DEFAULT NULL,
|
||||
`photo_path` varchar(2500) DEFAULT NULL,
|
||||
`photo_bg_color` varchar(25) DEFAULT NULL,
|
||||
`thumbnail_path` varchar(2500) DEFAULT NULL,
|
||||
`thumbnail_bg_color` varchar(25) DEFAULT NULL,
|
||||
`email_allowed` tinyint(1) DEFAULT NULL COMMENT 'global opt in or out for person',
|
||||
`paper_mail_allowed` tinyint(1) DEFAULT NULL COMMENT 'global opt in or out for person',
|
||||
`stripe_customer_id` varchar(50) DEFAULT NULL,
|
||||
`allow_auth_key` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'defaults to true',
|
||||
`auth_key` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
||||
`passcode` varchar(25) DEFAULT NULL COMMENT 'for basic access',
|
||||
`status` varchar(25) DEFAULT NULL COMMENT 'pending, hold, approved, rejected, banned, retired, deceased',
|
||||
`status_id` int(11) DEFAULT NULL COMMENT 'not sure if using yet 2022-03-15',
|
||||
`hide` tinyint(1) DEFAULT NULL,
|
||||
`priority` tinyint(1) DEFAULT NULL,
|
||||
`sort` int(11) DEFAULT NULL,
|
||||
`group` varchar(100) DEFAULT NULL,
|
||||
`notes` text DEFAULT NULL,
|
||||
`cfg_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'config options' CHECK (json_valid(`cfg_json`)),
|
||||
`data_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`data_json`)),
|
||||
`other_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
||||
`meta_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta_json`)),
|
||||
`enable` tinyint(1) DEFAULT 1,
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Information that generally does not change often or ever.';
|
||||
|
||||
--
|
||||
-- Triggers `person`
|
||||
--
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_person` BEFORE INSERT ON `person` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_person_names` BEFORE INSERT ON `person` FOR EACH ROW BEGIN
|
||||
SET NEW.full_name = name_for_full_name(NEW.informal_name, NEW.title_names, NEW.given_name, NEW.middle_name, NEW.family_name, NEW.designations);
|
||||
|
||||
SET NEW.last_first_name = name_for_last_first_name(NEW.given_name, NEW.middle_name, NEW.family_name);
|
||||
|
||||
SET NEW.informal_full_name = name_for_informal_full_name(NEW.informal_name, NEW.title_names, NEW.given_name, NEW.middle_name, NEW.family_name, NEW.designations);
|
||||
|
||||
/*
|
||||
IF (NEW.full_name_override IS NULL OR NEW.full_name_override = '')
|
||||
THEN
|
||||
SET NEW.full_name_override = name_for_display_name(NEW.informal_name, NEW.given_name, NEW.middle_name, NEW.family_name);
|
||||
END IF;
|
||||
*/
|
||||
|
||||
/*
|
||||
IF (NEW.informal_full_name_override IS NULL OR NEW.informal_full_name_override = '')
|
||||
THEN
|
||||
SET NEW.informal_full_name_override = name_for_informal_display_name(NEW.informal_name, NEW.given_name, NEW.middle_name, NEW.family_name);
|
||||
END IF;
|
||||
*/
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_person` BEFORE UPDATE ON `person` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_person_names` BEFORE UPDATE ON `person` FOR EACH ROW BEGIN
|
||||
SET NEW.full_name = name_for_full_name(NEW.informal_name, NEW.title_names, NEW.given_name, NEW.middle_name, NEW.family_name, NEW.designations);
|
||||
|
||||
SET NEW.last_first_name = name_for_last_first_name(NEW.given_name, NEW.middle_name, NEW.family_name);
|
||||
|
||||
SET NEW.informal_full_name = name_for_informal_full_name(NEW.informal_name, NEW.title_names, NEW.given_name, NEW.middle_name, NEW.family_name, NEW.designations);
|
||||
|
||||
/*
|
||||
IF (NEW.full_name_override IS NULL OR NEW.full_name_override = '')
|
||||
THEN
|
||||
SET NEW.full_name_override = name_for_display_name(NEW.informal_name, NEW.given_name, NEW.middle_name, NEW.family_name);
|
||||
END IF;
|
||||
*/
|
||||
|
||||
/*
|
||||
IF (NEW.informal_full_name_override IS NULL OR NEW.informal_full_name_override = '')
|
||||
THEN
|
||||
SET NEW.informal_full_name_override = name_for_informal_display_name(NEW.informal_name, NEW.given_name, NEW.middle_name, NEW.family_name);
|
||||
END IF;
|
||||
*/
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `person_after_delete` AFTER DELETE ON `person` FOR EACH ROW BEGIN
|
||||
DELETE FROM user WHERE user.id = old.user_id;
|
||||
DELETE FROM contact WHERE contact.for_id = old.id AND contact.for_type = 'person';
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `person`
|
||||
--
|
||||
ALTER TABLE `person`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `id_random` (`id_random`),
|
||||
ADD KEY `account_id` (`account_id`),
|
||||
ADD KEY `user_id` (`user_id`),
|
||||
ADD KEY `organization_id` (`organization_id`),
|
||||
ADD KEY `created_on` (`created_on`),
|
||||
ADD KEY `updated_on` (`updated_on`),
|
||||
ADD KEY `external_id` (`external_sys_id`),
|
||||
ADD KEY `family_name` (`family_name`),
|
||||
ADD KEY `given_name` (`given_name`),
|
||||
ADD KEY `enable` (`enable`),
|
||||
ADD KEY `priority` (`priority`),
|
||||
ADD KEY `sort` (`sort`),
|
||||
ADD KEY `group` (`group`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `person`
|
||||
--
|
||||
ALTER TABLE `person`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,128 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 06, 2026 at 06:22 PM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `site`
|
||||
--
|
||||
|
||||
CREATE TABLE `site` (
|
||||
`id` int(11) NOT NULL,
|
||||
`id_random` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
||||
`code` varchar(100) DEFAULT NULL,
|
||||
`account_id` int(11) DEFAULT NULL,
|
||||
`name` varchar(200) NOT NULL,
|
||||
`description` text DEFAULT NULL,
|
||||
`restrict_access` tinyint(1) NOT NULL DEFAULT 1,
|
||||
`access_key` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
||||
`access_code_kv_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'for super, manager, administrator, trusted, public, authenticated' CHECK (json_valid(`access_code_kv_json`)),
|
||||
`enable` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_from` datetime DEFAULT NULL,
|
||||
`enable_to` datetime DEFAULT NULL,
|
||||
`logo_path` varchar(200) DEFAULT NULL,
|
||||
`logo_bg_color` varchar(25) DEFAULT NULL,
|
||||
`background_image_path` varchar(200) DEFAULT NULL,
|
||||
`background_bg_color` varchar(25) DEFAULT NULL,
|
||||
`site_menu_html_path` varchar(200) DEFAULT NULL COMMENT 'path to html file for site menu',
|
||||
`site_menu` text DEFAULT NULL COMMENT 'not currently used; but want to use',
|
||||
`title` varchar(200) DEFAULT NULL,
|
||||
`header_html` text DEFAULT NULL,
|
||||
`header_css` text DEFAULT NULL,
|
||||
`header_image_path` varchar(200) DEFAULT NULL,
|
||||
`header_image_bg_color` varchar(25) DEFAULT NULL,
|
||||
`body_html` text DEFAULT NULL,
|
||||
`tagline` text DEFAULT NULL COMMENT 'catchphrase or slogan',
|
||||
`site_header_h1` text DEFAULT NULL COMMENT 'field not currently used',
|
||||
`site_header_h2` text DEFAULT NULL COMMENT 'field not currently used',
|
||||
`style_href` varchar(200) DEFAULT NULL,
|
||||
`script_src` varchar(200) DEFAULT NULL,
|
||||
`google_tracking_id` varchar(14) DEFAULT NULL,
|
||||
`cfg_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT '{}' COMMENT 'config in JSON format' CHECK (json_valid(`cfg_json`)),
|
||||
`hide` tinyint(1) DEFAULT NULL,
|
||||
`notes` text DEFAULT NULL,
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Triggers `site`
|
||||
--
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_site` BEFORE INSERT ON `site` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_site` BEFORE UPDATE ON `site` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `site`
|
||||
--
|
||||
ALTER TABLE `site`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `id_random` (`id_random`),
|
||||
ADD KEY `account_id` (`account_id`),
|
||||
ADD KEY `enable` (`enable`),
|
||||
ADD KEY `access_key` (`access_key`),
|
||||
ADD KEY `name` (`name`),
|
||||
ADD KEY `created_on` (`created_on`),
|
||||
ADD KEY `updated_on` (`updated_on`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `site`
|
||||
--
|
||||
ALTER TABLE `site`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,104 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 06, 2026 at 06:22 PM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `site_domain`
|
||||
--
|
||||
|
||||
CREATE TABLE `site_domain` (
|
||||
`id` int(11) NOT NULL,
|
||||
`id_random` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
||||
`site_id` int(11) NOT NULL,
|
||||
`fqdn` varchar(200) NOT NULL,
|
||||
`access_key` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
||||
`required_referrer` varchar(200) DEFAULT NULL,
|
||||
`valid_for` int(11) DEFAULT NULL COMMENT 'number of hours to allow before checking again',
|
||||
`enable` tinyint(1) DEFAULT 1,
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Triggers `site_domain`
|
||||
--
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_site_domain` BEFORE INSERT ON `site_domain` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_site_domain` BEFORE UPDATE ON `site_domain` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `site_domain`
|
||||
--
|
||||
ALTER TABLE `site_domain`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `id_random` (`id_random`),
|
||||
ADD KEY `fqdn` (`fqdn`),
|
||||
ADD KEY `access_key` (`access_key`),
|
||||
ADD KEY `required_referrer` (`required_referrer`),
|
||||
ADD KEY `site_id` (`site_id`),
|
||||
ADD KEY `enable` (`enable`),
|
||||
ADD KEY `created_on` (`created_on`),
|
||||
ADD KEY `updated_on` (`updated_on`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `site_domain`
|
||||
--
|
||||
ALTER TABLE `site_domain`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,163 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.3
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Jan 06, 2026 at 06:23 PM
|
||||
-- Server version: 12.1.2-MariaDB-log
|
||||
-- PHP Version: 8.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `aether_dev`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `user`
|
||||
--
|
||||
|
||||
CREATE TABLE `user` (
|
||||
`id` int(11) NOT NULL,
|
||||
`id_random` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT 'NULL',
|
||||
`account_id` int(11) DEFAULT NULL,
|
||||
`contact_id` int(11) DEFAULT NULL COMMENT 'no longer going to be used',
|
||||
`organization_id` int(11) DEFAULT NULL COMMENT 'no longer going to be used',
|
||||
`person_id` int(11) DEFAULT NULL COMMENT 'no longer going to be used',
|
||||
`username` varchar(100) NOT NULL,
|
||||
`name` varchar(100) DEFAULT NULL,
|
||||
`email` varchar(254) NOT NULL,
|
||||
`email_verified` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`password` varchar(100) DEFAULT NULL,
|
||||
`allow_auth_key` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'allow use of auth key to sign in',
|
||||
`auth_key` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'auth key for single use log in',
|
||||
`enable` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`enable_from` datetime DEFAULT current_timestamp(),
|
||||
`enable_to` datetime DEFAULT NULL,
|
||||
`super` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Super user for the entire system. Can do everything.',
|
||||
`manager` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Manager for the entire system. Can do almost everything.',
|
||||
`administrator` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Administrator for a client account. Can do almost anything within that account.',
|
||||
`public` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'public or shared account',
|
||||
`verified` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Is this a verified user account?',
|
||||
`level` int(11) DEFAULT NULL COMMENT 'access level (1 to 5)',
|
||||
`status_id` int(11) DEFAULT NULL COMMENT 'offline, away, dnd, online',
|
||||
`password_set_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`password_reset_token` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
||||
`password_reset_expire_on` datetime DEFAULT NULL,
|
||||
`logged_in_on` timestamp NULL DEFAULT NULL,
|
||||
`last_activity_on` timestamp NULL DEFAULT NULL,
|
||||
`hide` tinyint(1) DEFAULT NULL,
|
||||
`priority` tinyint(1) DEFAULT NULL,
|
||||
`sort` int(11) DEFAULT NULL COMMENT 'used as access level',
|
||||
`group` varchar(100) DEFAULT NULL COMMENT 'used as access group',
|
||||
`notes` text DEFAULT NULL,
|
||||
`other_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`other_json`)),
|
||||
`created_on` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_on` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='The user account.';
|
||||
|
||||
--
|
||||
-- Triggers `user`
|
||||
--
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `after_insert_user_person_id` AFTER INSERT ON `user` FOR EACH ROW BEGIN
|
||||
IF (NEW.person_id IS NOT NULL)
|
||||
THEN
|
||||
UPDATE person SET person.user_id = NEW.id WHERE person.id = NEW.person_id AND person.user_id IS NULL;
|
||||
END IF;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `after_update_user_person_id` AFTER UPDATE ON `user` FOR EACH ROW BEGIN
|
||||
IF (NEW.person_id IS NOT NULL AND OLD.person_id IS NULL)
|
||||
THEN
|
||||
UPDATE person SET person.user_id = NEW.id WHERE person.id = NEW.person_id AND person.user_id IS NULL;
|
||||
END IF;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_insert_user` BEFORE INSERT ON `user` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_user` BEFORE UPDATE ON `user` FOR EACH ROW BEGIN
|
||||
BEGIN
|
||||
IF (NEW.id_random IS NULL OR NEW.id_random = '' OR LENGTH(NEW.id_random) < 6)
|
||||
THEN
|
||||
/* SET NEW.id_random = gen_rand_pattern('3C-2N-2N-2N'); */
|
||||
/* SET NEW.id_random = gen_rand_pattern('4C-2N-2N-2N'); */
|
||||
SET NEW.id_random = gen_rand_str(11, 'URL');
|
||||
END IF;
|
||||
END;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `before_update_user_email` BEFORE UPDATE ON `user` FOR EACH ROW BEGIN
|
||||
IF (NEW.username IS NULL OR NEW.username = '')
|
||||
THEN
|
||||
SET NEW.username = NEW.email;
|
||||
SET NEW.notes = CONCAT(COALESCE(`NEW`.`notes`,''), ';;sys::overide empty username');
|
||||
END IF;
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `update_password_set_on` BEFORE UPDATE ON `user` FOR EACH ROW IF NEW.password <> OLD.password THEN SET NEW.password_set_on = CURRENT_TIMESTAMP; END IF
|
||||
$$
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `user`
|
||||
--
|
||||
ALTER TABLE `user`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `id_random` (`id_random`),
|
||||
ADD KEY `username` (`username`) USING BTREE,
|
||||
ADD KEY `account_id` (`account_id`),
|
||||
ADD KEY `email` (`email`),
|
||||
ADD KEY `email_2` (`email`),
|
||||
ADD KEY `created_on` (`created_on`),
|
||||
ADD KEY `updated_on` (`updated_on`),
|
||||
ADD KEY `enable` (`enable`),
|
||||
ADD KEY `name` (`name`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `user`
|
||||
--
|
||||
ALTER TABLE `user`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
Reference in New Issue
Block a user