From 51234653bb83751be5a7dcf2483ce42af863d385 Mon Sep 17 00:00:00 2001 From: simonLeary42 <71396965+simonLeary42@users.noreply.github.com> Date: Fri, 21 Mar 2025 11:34:50 -0400 Subject: [PATCH 1/4] add user_last_logins to sql --- tools/docker-dev/sql/bootstrap.sql | 35 ++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tools/docker-dev/sql/bootstrap.sql b/tools/docker-dev/sql/bootstrap.sql index 96f8ad7..9435322 100644 --- a/tools/docker-dev/sql/bootstrap.sql +++ b/tools/docker-dev/sql/bootstrap.sql @@ -51,6 +51,17 @@ CREATE TABLE `audit_log` ( -- -------------------------------------------------------- +-- +-- Table structure for table `user_last_logins` +-- + +CREATE TABLE user_last_logins ( + `operator` varchar(768) NOT NULL, + `last_login` timestamp NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- -------------------------------------------------------- + -- -- Table structure for table `events` -- @@ -234,6 +245,12 @@ ALTER TABLE `account_deletion_requests` ALTER TABLE `audit_log` ADD PRIMARY KEY (`id`); +-- +-- Indexes for table `user_last_logins` +-- +ALTER TABLE `user_last_logins` + ADD PRIMARY KEY (`operator`); + -- -- Indexes for table `events` -- @@ -383,6 +400,24 @@ ALTER TABLE `sso_log` MODIFY `id` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8; COMMIT; +-- -------------------------------------------------------- + +-- +-- automatically update `user_last_logins` from `audit_log` +-- +DELIMITER // +CREATE TRIGGER update_last_login +AFTER INSERT ON audit_log +FOR EACH ROW +BEGIN + IF NEW.action_type = 'user_login' THEN + INSERT INTO user_last_logins (operator, last_login) + VALUES (NEW.operator, NEW.timestamp) + ON DUPLICATE KEY UPDATE last_login = NEW.timestamp; + END IF; +END;// +DELIMITER ; + /*!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 */; From f95ee3cc04f94a7f30c490aee58679f14d124026 Mon Sep 17 00:00:00 2001 From: simonLeary42 <71396965+simonLeary42@users.noreply.github.com> Date: Thu, 27 Mar 2025 20:15:06 -0400 Subject: [PATCH 2/4] Update bootstrap.sql --- tools/docker-dev/sql/bootstrap.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/docker-dev/sql/bootstrap.sql b/tools/docker-dev/sql/bootstrap.sql index 9435322..1233304 100644 --- a/tools/docker-dev/sql/bootstrap.sql +++ b/tools/docker-dev/sql/bootstrap.sql @@ -56,7 +56,7 @@ CREATE TABLE `audit_log` ( -- CREATE TABLE user_last_logins ( - `operator` varchar(768) NOT NULL, + `operator` varchar(131) NOT NULL, `last_login` timestamp NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; From f407dc3bce2ae10a666315944c420502fe3409d3 Mon Sep 17 00:00:00 2001 From: simonLeary42 <71396965+simonLeary42@users.noreply.github.com> Date: Thu, 27 Mar 2025 20:15:47 -0400 Subject: [PATCH 3/4] Update bootstrap.sql --- tools/docker-dev/sql/bootstrap.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/docker-dev/sql/bootstrap.sql b/tools/docker-dev/sql/bootstrap.sql index 1233304..7f7a0e3 100644 --- a/tools/docker-dev/sql/bootstrap.sql +++ b/tools/docker-dev/sql/bootstrap.sql @@ -56,7 +56,7 @@ CREATE TABLE `audit_log` ( -- CREATE TABLE user_last_logins ( - `operator` varchar(131) NOT NULL, + `operator` varchar(128) NOT NULL, `last_login` timestamp NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; From dbc5ba3a5afb92b3329edb716eb311034380a0f4 Mon Sep 17 00:00:00 2001 From: simonLeary42 <71396965+simonLeary42@users.noreply.github.com> Date: Thu, 27 Mar 2025 20:16:53 -0400 Subject: [PATCH 4/4] Update bootstrap.sql --- tools/docker-dev/sql/bootstrap.sql | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/tools/docker-dev/sql/bootstrap.sql b/tools/docker-dev/sql/bootstrap.sql index 8cf267b..64f3ae5 100644 --- a/tools/docker-dev/sql/bootstrap.sql +++ b/tools/docker-dev/sql/bootstrap.sql @@ -36,23 +36,11 @@ CREATE TABLE `audit_log` ( `recipient` varchar(128) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; --- -------------------------------------------------------- - --- --- Table structure for table `user_last_logins` --- - CREATE TABLE user_last_logins ( `operator` varchar(128) NOT NULL, `last_login` timestamp NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; --- -------------------------------------------------------- - --- --- Table structure for table `events` --- - CREATE TABLE `events` ( `id` int(11) NOT NULL, `operator` varchar(128) NOT NULL, @@ -155,15 +143,9 @@ ALTER TABLE `account_deletion_requests` ALTER TABLE `audit_log` ADD PRIMARY KEY (`id`); --- --- Indexes for table `user_last_logins` --- ALTER TABLE `user_last_logins` ADD PRIMARY KEY (`operator`); --- --- Indexes for table `events` --- ALTER TABLE `events` ADD PRIMARY KEY (`id`);