feat: add global search pagination saved filters mobile ux and email settings
This commit is contained in:
@@ -32,6 +32,37 @@ CREATE TABLE IF NOT EXISTS users (
|
||||
FOREIGN KEY (role_id) REFERENCES roles(id)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS email_settings (
|
||||
id TINYINT UNSIGNED PRIMARY KEY,
|
||||
smtp_host VARCHAR(190) NULL,
|
||||
smtp_port SMALLINT UNSIGNED NULL,
|
||||
smtp_encryption ENUM('none','tls','ssl') NOT NULL DEFAULT 'tls',
|
||||
smtp_username VARCHAR(190) NULL,
|
||||
smtp_password_ciphertext TEXT NULL,
|
||||
from_email VARCHAR(190) NULL,
|
||||
from_name VARCHAR(190) NULL,
|
||||
notification_recipients TEXT NULL,
|
||||
assignment_enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
status_enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
sla_enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
overdue_enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
updated_by BIGINT UNSIGNED NULL,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (updated_by) REFERENCES users(id) ON DELETE SET NULL
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS saved_filters (
|
||||
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
user_id BIGINT UNSIGNED NOT NULL,
|
||||
name VARCHAR(120) NOT NULL,
|
||||
route VARCHAR(60) NOT NULL,
|
||||
filter_json JSON NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
|
||||
UNIQUE KEY saved_filter_user_name (user_id, name),
|
||||
INDEX saved_filter_route_idx (user_id, route)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS app_settings (
|
||||
setting_key VARCHAR(80) PRIMARY KEY,
|
||||
setting_value TEXT NULL,
|
||||
|
||||
+32
-1
@@ -7,7 +7,38 @@ CREATE TABLE IF NOT EXISTS app_settings (
|
||||
FOREIGN KEY (updated_by) REFERENCES users(id) ON DELETE SET NULL
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
-- Take a database backup first. Run with the target database selected:
|
||||
CREATE TABLE IF NOT EXISTS email_settings (
|
||||
id TINYINT UNSIGNED PRIMARY KEY,
|
||||
smtp_host VARCHAR(190) NULL,
|
||||
smtp_port SMALLINT UNSIGNED NULL,
|
||||
smtp_encryption ENUM('none','tls','ssl') NOT NULL DEFAULT 'tls',
|
||||
smtp_username VARCHAR(190) NULL,
|
||||
smtp_password_ciphertext TEXT NULL,
|
||||
from_email VARCHAR(190) NULL,
|
||||
from_name VARCHAR(190) NULL,
|
||||
notification_recipients TEXT NULL,
|
||||
assignment_enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
status_enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
sla_enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
overdue_enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
updated_by BIGINT UNSIGNED NULL,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (updated_by) REFERENCES users(id) ON DELETE SET NULL
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS saved_filters (
|
||||
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
user_id BIGINT UNSIGNED NOT NULL,
|
||||
name VARCHAR(120) NOT NULL,
|
||||
route VARCHAR(60) NOT NULL,
|
||||
filter_json JSON NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
|
||||
UNIQUE KEY saved_filter_user_name (user_id, name),
|
||||
INDEX saved_filter_route_idx (user_id, route)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
|
||||
-- mysql --default-character-set=utf8mb4 -u USER -p DATABASE < database/upgrade.sql
|
||||
-- Resolve duplicate SLA rows before adding the unique client constraint.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user