-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Jun 29, 2026 at 05:05 AM
-- Server version: 10.4.32-MariaDB
-- PHP Version: 8.2.12

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: `sistem_fail_mainpp`
--

-- --------------------------------------------------------

--
-- Table structure for table `activity_logs`
--

CREATE TABLE `activity_logs` (
  `id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `user_email` varchar(255) NOT NULL,
  `user_name` varchar(255) NOT NULL,
  `user_role` varchar(50) NOT NULL,
  `activity_type` varchar(100) NOT NULL,
  `activity_description` text DEFAULT NULL,
  `ip_address` varchar(50) DEFAULT NULL,
  `user_agent` text DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `activity_logs`
--

INSERT INTO `activity_logs` (`id`, `user_id`, `user_email`, `user_name`, `user_role`, `activity_type`, `activity_description`, `ip_address`, `user_agent`, `created_at`) VALUES
(2, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-20 06:55:09'),
(4, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-20 06:56:44'),
(6, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-27 09:28:17'),
(7, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-27 09:35:59'),
(8, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-28 00:27:00'),
(9, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-28 00:47:31'),
(10, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-28 02:03:11'),
(11, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-28 02:46:31'),
(12, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-28 03:05:10'),
(13, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-28 03:05:26'),
(14, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-28 03:08:15'),
(15, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-28 03:08:43'),
(16, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-28 03:09:15'),
(17, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-28 03:09:31'),
(18, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-28 06:05:30'),
(24, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-28 06:31:08'),
(25, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-30 03:55:46'),
(28, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-04-30 03:57:12'),
(29, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 04:55:28'),
(30, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'auto_logout', 'User auto logout selepas 10 minit tidak aktif', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 05:08:15'),
(31, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 07:31:33'),
(32, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 07:32:08'),
(33, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 07:32:53'),
(34, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 07:46:43'),
(35, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 07:46:47'),
(36, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 07:50:51'),
(37, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 07:52:27'),
(38, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'auto_logout', 'User auto logout selepas 10 minit tidak aktif', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 08:11:55'),
(39, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 08:25:46'),
(40, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 08:25:46'),
(41, 4, 'ucup@mainpp.gov.my', 'yusuf', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 08:26:45'),
(42, 8, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 10:41:25'),
(43, 8, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 10:41:29'),
(44, 9, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 10:51:12'),
(45, 9, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 10:51:16'),
(46, 9, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: muhammadyusufpro007@gmail.com', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 10:52:13'),
(47, 9, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 10:52:24'),
(48, 9, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 10:52:28'),
(49, 9, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: muhammadyusufpro007@gmail.com', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 11:05:58'),
(50, 3, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: syarafana@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 11:06:06'),
(51, 9, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 11:06:24'),
(52, 9, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 11:06:27'),
(53, 0, 'guest', 'Guest', 'guest', 'login_failed', 'Login failed - email not found: invalid@example.com', '::1', 'Mozilla/5.0 (Windows NT; Windows NT 10.0; en-MY) WindowsPowerShell/5.1.26100.8115', '2026-05-05 11:22:58'),
(54, 10, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: codex.qa.superadmin@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT; Windows NT 10.0; en-MY) WindowsPowerShell/5.1.26100.8115', '2026-05-05 17:12:17'),
(55, 10, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: codex.qa.superadmin@mainpp.gov.my', '::1', 'curl/8.18.0', '2026-05-05 17:12:39'),
(56, 10, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: codex.qa.superadmin@mainpp.gov.my', '::1', 'curl/8.18.0', '2026-05-05 17:13:02'),
(57, 0, 'guest', 'Guest', 'guest', 'login_failed', 'Login failed - email not found: ', '::1', '', '2026-05-05 17:14:06'),
(58, 0, 'guest', 'Guest', 'guest', 'login_failed', 'Login failed - incomplete request payload', '::1', 'Mozilla/5.0 (Windows NT; Windows NT 10.0; en-MY) WindowsPowerShell/5.1.26100.8115', '2026-05-05 17:16:40'),
(59, 0, 'guest', 'Guest', 'guest', 'login_failed', 'Login failed - incomplete request payload', '::1', 'curl/8.18.0', '2026-05-05 17:16:48'),
(60, 9, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 17:19:07'),
(61, 9, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 17:19:17'),
(62, 9, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: muhammadyusufpro007@gmail.com', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 17:20:50'),
(63, 9, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 17:21:00'),
(64, 9, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 17:23:27'),
(65, 9, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 17:23:31'),
(66, 9, 'muhammadyusufpro007@gmail.com', 'yusuf ahmad', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-05 17:23:35'),
(67, 7, 'unknown', 'Unknown User', 'user', 'login_rejected', 'Login attempt with rejected account: fikri@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-07 05:09:58'),
(68, 3, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: syarafana@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-07 05:15:09'),
(69, 0, 'guest', 'Guest', 'guest', 'login_failed', 'Login failed - incomplete request payload', '::1', 'Mozilla/5.0 (Windows NT; Windows NT 10.0; en-MY) WindowsPowerShell/5.1.26100.8115', '2026-05-10 07:11:22'),
(70, 0, 'guest', 'Guest', 'guest', 'lint_test', 'runtime test', '', '', '2026-05-10 07:11:33'),
(71, 0, 'guest', 'Guest', 'guest', 'login_failed', 'Login failed - incomplete request payload', '127.0.0.1', 'Mozilla/5.0 (Windows NT; Windows NT 10.0; en-MY) WindowsPowerShell/5.1.26100.8115', '2026-05-10 08:56:26'),
(72, 0, 'guest', 'Guest', 'guest', 'login_failed', 'Login failed - incomplete request payload', '127.0.0.1', 'Mozilla/5.0 (Windows NT; Windows NT 10.0; en-MY) WindowsPowerShell/5.1.26100.8115', '2026-05-10 08:56:57'),
(73, 3, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: syarafana@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', '2026-05-10 09:00:50'),
(74, 0, 'guest', 'Guest', 'guest', 'login_failed', 'Login failed - email not found: syarafana@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-10 01:17:27'),
(75, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-14 08:35:49'),
(76, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'approve_draft_letter', 'Approved draft letter pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER DAN PERKAKASAN (Draft ID: 3)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-14 08:48:26'),
(77, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER DAN PERKAKASAN (Draft ID: 3)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-14 08:48:42'),
(78, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-14 08:49:41'),
(79, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 00:46:25'),
(80, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 00:54:42'),
(81, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:04:37'),
(82, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:21:57'),
(83, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:23:20'),
(84, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'approve_draft_letter', 'Approved draft letter pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER DAN PERKAKASAN (Draft ID: 3)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:23:53'),
(85, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER DAN PERKAKASAN (Draft ID: 3)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:24:10'),
(86, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'auto_logout', 'User auto logout selepas 10 minit tidak aktif', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:34:56'),
(87, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:54:59'),
(88, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:58:07'),
(89, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:58:12'),
(90, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:58:23'),
(91, 3, 'mohammad@mainpp.gov.my', 'YB. Dato\' Dr. Mohammad bin Abd Hamid', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:58:52'),
(92, 3, 'mohammad@mainpp.gov.my', 'YB. Dato\' Dr. Mohammad bin Abd Hamid', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:59:09'),
(93, 1, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: syarafana@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:59:23'),
(94, 3, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: mohammad@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 01:59:32'),
(95, 6, 'abd.aziz@mainpp.gov.my', 'YBhg. Prof. Emeritus Dato\' Dr. Hj. Abd Aziz bin Tajuddin', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 02:00:27'),
(96, 6, 'abd.aziz@mainpp.gov.my', 'YBhg. Prof. Emeritus Dato\' Dr. Hj. Abd Aziz bin Tajuddin', 'user', 'support_draft_letter', 'Support decision ditolak: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER DAN PERKAKASAN (Draft ID: 3)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 02:00:56'),
(97, 6, 'abd.aziz@mainpp.gov.my', 'YBhg. Prof. Emeritus Dato\' Dr. Hj. Abd Aziz bin Tajuddin', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 02:08:07'),
(98, 6, 'abd.aziz@mainpp.gov.my', 'YBhg. Prof. Emeritus Dato\' Dr. Hj. Abd Aziz bin Tajuddin', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 02:08:10'),
(99, 6, 'abd.aziz@mainpp.gov.my', 'YBhg. Prof. Emeritus Dato\' Dr. Hj. Abd Aziz bin Tajuddin', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-15 02:08:16'),
(100, 8, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: abumansur@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 04:08:30'),
(101, 7, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: rosidi@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 04:08:47'),
(102, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 04:09:00'),
(103, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 04:11:52'),
(104, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 04:11:55'),
(105, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 04:12:06'),
(106, 0, 'guest', 'Guest', 'guest', 'login_failed', 'Login failed - email not found: muizzuddin@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 06:46:39'),
(107, 4, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: muizzudin@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 06:47:17'),
(108, 4, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: muizzudin@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 06:47:34'),
(109, 4, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: muizzudin@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 06:47:56'),
(110, 4, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: muizzudin@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 06:48:09'),
(111, 4, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: muizzudin@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 06:48:22'),
(112, 4, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: muizzudin@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 06:48:34'),
(113, 4, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: muizzudin@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 06:51:41'),
(114, 4, 'muizzudin@mainpp.gov.my', 'Muhammad Muizzuddin bin Azman', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 06:56:28'),
(115, 4, 'muizzudin@mainpp.gov.my', 'Muhammad Muizzuddin bin Azman', 'user', 'decide_draft_letter', 'Decision disokong pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - PERMOHONAN KELULUSAN PELAKSANAAN TENDER SEWAAN KOMPUTER RIBA BAGI MENGGANTIKAN KOMPUTER PERIBADI (PC) SEDIA ADA DI MAJLIS AGAMA ISLAM NEGERI PULAU PINANG (Draft ID: 5)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 07:17:44'),
(116, 4, 'muizzudin@mainpp.gov.my', 'Muhammad Muizzuddin bin Azman', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - PERMOHONAN KELULUSAN PELAKSANAAN TENDER SEWAAN KOMPUTER RIBA BAGI MENGGANTIKAN KOMPUTER PERIBADI (PC) SEDIA ADA DI MAJLIS AGAMA ISLAM NEGERI PULAU PINANG (Draft ID: 5)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 07:18:40'),
(117, 4, 'muizzudin@mainpp.gov.my', 'Muhammad Muizzuddin bin Azman', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 07:19:10'),
(118, 4, 'muizzudin@mainpp.gov.my', 'Muhammad Muizzuddin bin Azman', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 07:19:13'),
(119, 4, 'muizzudin@mainpp.gov.my', 'Muhammad Muizzuddin bin Azman', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 07:19:21'),
(120, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 07:20:35'),
(121, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'decide_draft_letter', 'Decision disokong pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - PERMOHONAN KELULUSAN PELAKSANAAN TENDER SEWAAN KOMPUTER RIBA BAGI MENGGANTIKAN KOMPUTER PERIBADI (PC) SEDIA ADA DI MAJLIS AGAMA ISLAM NEGERI PULAU PINANG (Draft ID: 5)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 07:20:48'),
(122, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - PERMOHONAN KELULUSAN PELAKSANAAN TENDER SEWAAN KOMPUTER RIBA BAGI MENGGANTIKAN KOMPUTER PERIBADI (PC) SEDIA ADA DI MAJLIS AGAMA ISLAM NEGERI PULAU PINANG (Draft ID: 5)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 07:21:23'),
(123, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'auto_logout', 'User auto logout selepas 10 minit tidak aktif', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 07:49:03'),
(124, 1, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: syarafana@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-16 08:47:34'),
(125, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:26:40'),
(126, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'decide_draft_letter', 'Decision disokong pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER DAN PERKAKASAN (Draft ID: 2)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:26:58'),
(127, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER DAN PERKAKASAN (Draft ID: 2)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:27:09'),
(128, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:35:06'),
(129, 7, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: rosidi@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:35:21'),
(130, 7, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: rosidi@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:35:34'),
(131, 7, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: rosidi@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:36:14'),
(132, 7, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: rosidi@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:36:36'),
(133, 7, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: rosidi@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:36:56'),
(134, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:37:13'),
(135, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'decide_draft_letter', 'Decision ditolak pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER DAN PERKAKASAN (Draft ID: 2)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:38:05'),
(136, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER DAN PERKAKASAN (Draft ID: 2)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:38:41'),
(137, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:39:08'),
(138, 6, 'abd.aziz@mainpp.gov.my', 'YBhg. Prof. Emeritus Dato\' Dr. Hj. Abd Aziz bin Tajuddin', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:39:48'),
(139, 6, 'abd.aziz@mainpp.gov.my', 'YBhg. Prof. Emeritus Dato\' Dr. Hj. Abd Aziz bin Tajuddin', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:40:06'),
(140, 1, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: syarafana@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:40:21'),
(141, 1, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: syarafana@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:40:36'),
(142, 1, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: syarafana@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:40:57'),
(143, 1, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: syarafana@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 01:41:17'),
(144, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 04:22:16'),
(145, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 04:25:41'),
(146, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 04:53:31'),
(147, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'decide_draft_letter', 'Decision disokong pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER DAN PERKAKASAN (Draft ID: 2)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 04:53:52'),
(148, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER DAN PERKAKASAN (Draft ID: 2)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 04:54:00'),
(149, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'create_folder', 'Create folder: MAINPP/BKA/100-19/1/1 JLD.1 - HAL-HAL KEWANGAN (Bahagian: Bahagian Kewangan Dan Akaun, Jenis: office)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 05:00:09'),
(150, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 05:00:27'),
(151, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 06:54:06'),
(152, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 06:56:16'),
(153, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'decide_draft_letter', 'Decision ditolak pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER DAN PERKAKASAN (Draft ID: 2)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 06:56:47'),
(154, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER DAN PERKAKASAN (Draft ID: 2)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 06:57:17'),
(155, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:03:06'),
(156, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'auto_logout', 'User auto logout selepas 10 minit tidak aktif', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:12:56'),
(157, 7, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: rosidi@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:18:55'),
(158, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:19:16'),
(159, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'decide_draft_letter', 'Decision disokong pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - PERMOHONAN PEMBELIAN PS5 (Draft ID: 3)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:21:41'),
(160, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - PERMOHONAN PEMBELIAN PS5 (Draft ID: 3)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:22:40'),
(161, 3, 'mohammad@mainpp.gov.my', 'YB. Dato\' Dr. Mohammad bin Abd Hamid', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:27:52'),
(162, 3, 'mohammad@mainpp.gov.my', 'YB. Dato\' Dr. Mohammad bin Abd Hamid', 'user', 'decide_draft_letter', 'Decision disokong pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - PERMOHONAN PEMBELIAN PS5 (Draft ID: 3)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:29:14'),
(163, 3, 'mohammad@mainpp.gov.my', 'YB. Dato\' Dr. Mohammad bin Abd Hamid', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:31:37'),
(164, 3, 'mohammad@mainpp.gov.my', 'YB. Dato\' Dr. Mohammad bin Abd Hamid', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:31:42'),
(165, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'auto_logout', 'User auto logout selepas 10 minit tidak aktif', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:36:39'),
(166, 3, 'mohammad@mainpp.gov.my', 'YB. Dato\' Dr. Mohammad bin Abd Hamid', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - PERMOHONAN PEMBELIAN PS5 (Draft ID: 3)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:38:16'),
(167, 3, 'mohammad@mainpp.gov.my', 'YB. Dato\' Dr. Mohammad bin Abd Hamid', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:38:34'),
(168, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 07:57:59'),
(169, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'decide_draft_letter', 'Decision disokong pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER game (Draft ID: 4)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 08:05:09'),
(170, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBAYARAN SERVER game (Draft ID: 4)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 08:05:56'),
(171, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 08:12:45'),
(172, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 08:20:19'),
(173, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-18 08:20:38'),
(174, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-22 06:36:31'),
(175, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-22 06:36:54'),
(176, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 03:09:51'),
(177, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 03:16:06'),
(178, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 03:18:55'),
(179, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 03:27:47'),
(180, 5, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: fazly@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 03:27:54'),
(181, 5, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: fazly@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 03:36:04'),
(182, 0, 'guest', 'Guest', 'guest', 'login_failed', 'Login failed - email not found: fazlyy@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 03:36:13'),
(183, 0, 'guest', 'Guest', 'guest', 'login_failed', 'Login failed - email not found: fazlyy@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 03:36:26'),
(184, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 03:36:34'),
(185, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 03:53:45'),
(186, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 07:38:52'),
(187, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'decide_draft_letter', 'Decision disokong pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBELIAN NINTENDO (Draft ID: 1)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 07:56:11'),
(188, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 07:56:38'),
(189, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 08:33:20'),
(190, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 08:34:18'),
(191, 1, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: syarafana@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 08:34:30'),
(192, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 09:10:45'),
(193, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-23 09:34:49'),
(194, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-24 08:20:21'),
(195, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'decide_draft_letter', 'Decision ditolak pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBELIAN PS3 (Draft ID: 3)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-24 09:19:45');
INSERT INTO `activity_logs` (`id`, `user_id`, `user_email`, `user_name`, `user_role`, `activity_type`, `activity_description`, `ip_address`, `user_agent`, `created_at`) VALUES
(196, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBELIAN PS3 (Draft ID: 3)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-24 09:20:01'),
(197, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBELIAN NINTENDO (Draft ID: 1)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-24 09:24:31'),
(198, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-24 09:26:49'),
(199, 7, 'rosidi@mainpp.gov.my', 'YBhg. Dato\' Haji Rosidi Bin Hussain', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-24 09:27:01'),
(200, 4, 'muizzudin@mainpp.gov.my', 'Muhammad Muizzuddin bin Azman', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-24 09:28:15'),
(201, 4, 'muizzudin@mainpp.gov.my', 'Muhammad Muizzuddin bin Azman', 'user', 'decide_draft_letter', 'Decision disokong pending signature: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBELIAN NINTENDO (Draft ID: 1)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-24 09:29:09'),
(202, 4, 'muizzudin@mainpp.gov.my', 'Muhammad Muizzuddin bin Azman', 'user', 'support_draft_letter', 'Support decision tandatangan: MAINPP/BTM/100-19/1/1 JLD.1 - YURAN PEMBELIAN NINTENDO (Draft ID: 1)', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-24 09:30:10'),
(203, 4, 'muizzudin@mainpp.gov.my', 'Muhammad Muizzuddin bin Azman', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-24 09:32:32'),
(204, 1, 'unknown', 'Unknown User', 'user', 'login_failed', 'Login failed - wrong password for email: syarafana@mainpp.gov.my', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-24 09:32:43'),
(205, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-24 09:58:21'),
(206, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-26 02:39:14'),
(207, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-26 03:05:37'),
(208, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-26 03:05:40'),
(209, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-26 03:06:02'),
(210, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-26 03:07:28'),
(211, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-26 03:14:21'),
(212, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-26 03:14:27'),
(213, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-26 03:14:33'),
(214, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'login', 'User berjaya login ke sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-26 03:15:00'),
(215, 5, 'fazly@mainpp.gov.my', 'Mohd Fazly bin Mohd Zaki', 'user', 'logout', 'User logout dari sistem', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36', '2026-06-26 03:16:23');

-- --------------------------------------------------------

--
-- Table structure for table `custom_fields`
--

CREATE TABLE `custom_fields` (
  `id` int(11) NOT NULL,
  `module` varchar(50) NOT NULL,
  `field_key` varchar(100) NOT NULL,
  `field_label` varchar(100) NOT NULL,
  `field_type` enum('text','number','date','textarea','select') DEFAULT 'text',
  `is_required` tinyint(1) DEFAULT 0,
  `sort_order` int(11) DEFAULT 0,
  `is_active` tinyint(1) DEFAULT 1,
  `field_options` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Table structure for table `department_permissions`
--

CREATE TABLE `department_permissions` (
  `id` int(11) NOT NULL,
  `department` varchar(255) NOT NULL,
  `module` varchar(50) NOT NULL,
  `action` varchar(50) NOT NULL,
  `is_allowed` tinyint(1) NOT NULL DEFAULT 0,
  `updated_by` int(11) DEFAULT NULL,
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `department_permissions`
--

INSERT INTO `department_permissions` (`id`, `department`, `module`, `action`, `is_allowed`, `updated_by`, `updated_at`) VALUES
(1, 'Pengurusan', 'folder', 'create', 1, NULL, '2026-05-11 11:00:01'),
(2, 'Pengurusan', 'folder', 'read', 1, NULL, '2026-05-11 11:00:01'),
(3, 'Pengurusan', 'folder', 'update', 0, NULL, '2026-05-11 11:00:01'),
(4, 'Pengurusan', 'folder', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(5, 'Pengurusan', 'folder', 'export', 0, NULL, '2026-05-11 11:00:01'),
(6, 'Pengurusan', 'folder', 'import', 0, NULL, '2026-05-11 11:00:01'),
(7, 'Pengurusan', 'document', 'create', 1, NULL, '2026-05-11 11:00:01'),
(8, 'Pengurusan', 'document', 'read', 1, NULL, '2026-05-11 11:00:01'),
(9, 'Pengurusan', 'document', 'update', 0, NULL, '2026-05-11 11:00:01'),
(10, 'Pengurusan', 'document', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(11, 'Pengurusan', 'document', 'export', 0, NULL, '2026-05-11 11:00:01'),
(12, 'Pengurusan', 'document', 'import', 0, NULL, '2026-05-11 11:00:01'),
(13, 'Pengurusan', 'document', 'download', 0, NULL, '2026-05-11 11:00:01'),
(14, 'Pengurusan', 'draft_letter', 'create', 1, NULL, '2026-05-11 11:00:01'),
(15, 'Pengurusan', 'draft_letter', 'read', 1, NULL, '2026-05-11 11:00:01'),
(16, 'Pengurusan', 'draft_letter', 'update', 1, NULL, '2026-05-11 11:00:01'),
(17, 'Pengurusan', 'draft_letter', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(18, 'Pengurusan', 'deleted_item', 'read', 0, NULL, '2026-05-11 11:00:01'),
(19, 'Bahagian Pentadbiran Sumber Manusia', 'folder', 'create', 1, NULL, '2026-05-11 11:00:01'),
(20, 'Bahagian Pentadbiran Sumber Manusia', 'folder', 'read', 1, NULL, '2026-05-11 11:00:01'),
(21, 'Bahagian Pentadbiran Sumber Manusia', 'folder', 'update', 0, NULL, '2026-05-11 11:00:01'),
(22, 'Bahagian Pentadbiran Sumber Manusia', 'folder', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(23, 'Bahagian Pentadbiran Sumber Manusia', 'folder', 'export', 0, NULL, '2026-05-11 11:00:01'),
(24, 'Bahagian Pentadbiran Sumber Manusia', 'folder', 'import', 0, NULL, '2026-05-11 11:00:01'),
(25, 'Bahagian Pentadbiran Sumber Manusia', 'document', 'create', 1, NULL, '2026-05-11 11:00:01'),
(26, 'Bahagian Pentadbiran Sumber Manusia', 'document', 'read', 1, NULL, '2026-05-11 11:00:01'),
(27, 'Bahagian Pentadbiran Sumber Manusia', 'document', 'update', 0, NULL, '2026-05-11 11:00:01'),
(28, 'Bahagian Pentadbiran Sumber Manusia', 'document', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(29, 'Bahagian Pentadbiran Sumber Manusia', 'document', 'export', 0, NULL, '2026-05-11 11:00:01'),
(30, 'Bahagian Pentadbiran Sumber Manusia', 'document', 'import', 0, NULL, '2026-05-11 11:00:01'),
(31, 'Bahagian Pentadbiran Sumber Manusia', 'document', 'download', 0, NULL, '2026-05-11 11:00:01'),
(32, 'Bahagian Pentadbiran Sumber Manusia', 'draft_letter', 'create', 1, NULL, '2026-05-11 11:00:01'),
(33, 'Bahagian Pentadbiran Sumber Manusia', 'draft_letter', 'read', 1, NULL, '2026-05-11 11:00:01'),
(34, 'Bahagian Pentadbiran Sumber Manusia', 'draft_letter', 'update', 1, NULL, '2026-05-11 11:00:01'),
(35, 'Bahagian Pentadbiran Sumber Manusia', 'draft_letter', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(36, 'Bahagian Pentadbiran Sumber Manusia', 'deleted_item', 'read', 0, NULL, '2026-05-11 11:00:01'),
(37, 'Bahagian Undang-Undang', 'folder', 'create', 1, NULL, '2026-05-11 11:00:01'),
(38, 'Bahagian Undang-Undang', 'folder', 'read', 1, NULL, '2026-05-11 11:00:01'),
(39, 'Bahagian Undang-Undang', 'folder', 'update', 0, NULL, '2026-05-11 11:00:01'),
(40, 'Bahagian Undang-Undang', 'folder', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(41, 'Bahagian Undang-Undang', 'folder', 'export', 0, NULL, '2026-05-11 11:00:01'),
(42, 'Bahagian Undang-Undang', 'folder', 'import', 0, NULL, '2026-05-11 11:00:01'),
(43, 'Bahagian Undang-Undang', 'document', 'create', 1, NULL, '2026-05-11 11:00:01'),
(44, 'Bahagian Undang-Undang', 'document', 'read', 1, NULL, '2026-05-11 11:00:01'),
(45, 'Bahagian Undang-Undang', 'document', 'update', 0, NULL, '2026-05-11 11:00:01'),
(46, 'Bahagian Undang-Undang', 'document', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(47, 'Bahagian Undang-Undang', 'document', 'export', 0, NULL, '2026-05-11 11:00:01'),
(48, 'Bahagian Undang-Undang', 'document', 'import', 0, NULL, '2026-05-11 11:00:01'),
(49, 'Bahagian Undang-Undang', 'document', 'download', 0, NULL, '2026-05-11 11:00:01'),
(50, 'Bahagian Undang-Undang', 'draft_letter', 'create', 1, NULL, '2026-05-11 11:00:01'),
(51, 'Bahagian Undang-Undang', 'draft_letter', 'read', 1, NULL, '2026-05-11 11:00:01'),
(52, 'Bahagian Undang-Undang', 'draft_letter', 'update', 1, NULL, '2026-05-11 11:00:01'),
(53, 'Bahagian Undang-Undang', 'draft_letter', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(54, 'Bahagian Undang-Undang', 'deleted_item', 'read', 0, NULL, '2026-05-11 11:00:01'),
(55, 'Unit Pengurusan dan Penyelenggaraan Premis', 'folder', 'create', 1, NULL, '2026-05-11 11:00:01'),
(56, 'Unit Pengurusan dan Penyelenggaraan Premis', 'folder', 'read', 1, NULL, '2026-05-11 11:00:01'),
(57, 'Unit Pengurusan dan Penyelenggaraan Premis', 'folder', 'update', 0, NULL, '2026-05-11 11:00:01'),
(58, 'Unit Pengurusan dan Penyelenggaraan Premis', 'folder', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(59, 'Unit Pengurusan dan Penyelenggaraan Premis', 'folder', 'export', 0, NULL, '2026-05-11 11:00:01'),
(60, 'Unit Pengurusan dan Penyelenggaraan Premis', 'folder', 'import', 0, NULL, '2026-05-11 11:00:01'),
(61, 'Unit Pengurusan dan Penyelenggaraan Premis', 'document', 'create', 1, NULL, '2026-05-11 11:00:01'),
(62, 'Unit Pengurusan dan Penyelenggaraan Premis', 'document', 'read', 1, NULL, '2026-05-11 11:00:01'),
(63, 'Unit Pengurusan dan Penyelenggaraan Premis', 'document', 'update', 0, NULL, '2026-05-11 11:00:01'),
(64, 'Unit Pengurusan dan Penyelenggaraan Premis', 'document', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(65, 'Unit Pengurusan dan Penyelenggaraan Premis', 'document', 'export', 0, NULL, '2026-05-11 11:00:01'),
(66, 'Unit Pengurusan dan Penyelenggaraan Premis', 'document', 'import', 0, NULL, '2026-05-11 11:00:01'),
(67, 'Unit Pengurusan dan Penyelenggaraan Premis', 'document', 'download', 0, NULL, '2026-05-11 11:00:01'),
(68, 'Unit Pengurusan dan Penyelenggaraan Premis', 'draft_letter', 'create', 1, NULL, '2026-05-11 11:00:01'),
(69, 'Unit Pengurusan dan Penyelenggaraan Premis', 'draft_letter', 'read', 1, NULL, '2026-05-11 11:00:01'),
(70, 'Unit Pengurusan dan Penyelenggaraan Premis', 'draft_letter', 'update', 1, NULL, '2026-05-11 11:00:01'),
(71, 'Unit Pengurusan dan Penyelenggaraan Premis', 'draft_letter', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(72, 'Unit Pengurusan dan Penyelenggaraan Premis', 'deleted_item', 'read', 0, NULL, '2026-05-11 11:00:01'),
(73, 'Unit Pentadbiran Tanah', 'folder', 'create', 1, NULL, '2026-05-11 11:00:01'),
(74, 'Unit Pentadbiran Tanah', 'folder', 'read', 1, NULL, '2026-05-11 11:00:01'),
(75, 'Unit Pentadbiran Tanah', 'folder', 'update', 0, NULL, '2026-05-11 11:00:01'),
(76, 'Unit Pentadbiran Tanah', 'folder', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(77, 'Unit Pentadbiran Tanah', 'folder', 'export', 0, NULL, '2026-05-11 11:00:01'),
(78, 'Unit Pentadbiran Tanah', 'folder', 'import', 0, NULL, '2026-05-11 11:00:01'),
(79, 'Unit Pentadbiran Tanah', 'document', 'create', 1, NULL, '2026-05-11 11:00:01'),
(80, 'Unit Pentadbiran Tanah', 'document', 'read', 1, NULL, '2026-05-11 11:00:01'),
(81, 'Unit Pentadbiran Tanah', 'document', 'update', 0, NULL, '2026-05-11 11:00:01'),
(82, 'Unit Pentadbiran Tanah', 'document', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(83, 'Unit Pentadbiran Tanah', 'document', 'export', 0, NULL, '2026-05-11 11:00:01'),
(84, 'Unit Pentadbiran Tanah', 'document', 'import', 0, NULL, '2026-05-11 11:00:01'),
(85, 'Unit Pentadbiran Tanah', 'document', 'download', 0, NULL, '2026-05-11 11:00:01'),
(86, 'Unit Pentadbiran Tanah', 'draft_letter', 'create', 1, NULL, '2026-05-11 11:00:01'),
(87, 'Unit Pentadbiran Tanah', 'draft_letter', 'read', 1, NULL, '2026-05-11 11:00:01'),
(88, 'Unit Pentadbiran Tanah', 'draft_letter', 'update', 1, NULL, '2026-05-11 11:00:01'),
(89, 'Unit Pentadbiran Tanah', 'draft_letter', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(90, 'Unit Pentadbiran Tanah', 'deleted_item', 'read', 0, NULL, '2026-05-11 11:00:01'),
(91, 'Bahagian Kewangan Dan Akaun', 'folder', 'create', 1, NULL, '2026-05-11 11:00:01'),
(92, 'Bahagian Kewangan Dan Akaun', 'folder', 'read', 1, NULL, '2026-05-11 11:00:01'),
(93, 'Bahagian Kewangan Dan Akaun', 'folder', 'update', 0, NULL, '2026-05-11 11:00:01'),
(94, 'Bahagian Kewangan Dan Akaun', 'folder', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(95, 'Bahagian Kewangan Dan Akaun', 'folder', 'export', 0, NULL, '2026-05-11 11:00:01'),
(96, 'Bahagian Kewangan Dan Akaun', 'folder', 'import', 0, NULL, '2026-05-11 11:00:01'),
(97, 'Bahagian Kewangan Dan Akaun', 'document', 'create', 1, NULL, '2026-05-11 11:00:01'),
(98, 'Bahagian Kewangan Dan Akaun', 'document', 'read', 1, NULL, '2026-05-11 11:00:01'),
(99, 'Bahagian Kewangan Dan Akaun', 'document', 'update', 0, NULL, '2026-05-11 11:00:01'),
(100, 'Bahagian Kewangan Dan Akaun', 'document', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(101, 'Bahagian Kewangan Dan Akaun', 'document', 'export', 0, NULL, '2026-05-11 11:00:01'),
(102, 'Bahagian Kewangan Dan Akaun', 'document', 'import', 0, NULL, '2026-05-11 11:00:01'),
(103, 'Bahagian Kewangan Dan Akaun', 'document', 'download', 0, NULL, '2026-05-11 11:00:01'),
(104, 'Bahagian Kewangan Dan Akaun', 'draft_letter', 'create', 1, NULL, '2026-05-11 11:00:01'),
(105, 'Bahagian Kewangan Dan Akaun', 'draft_letter', 'read', 1, NULL, '2026-05-11 11:00:01'),
(106, 'Bahagian Kewangan Dan Akaun', 'draft_letter', 'update', 1, NULL, '2026-05-11 11:00:01'),
(107, 'Bahagian Kewangan Dan Akaun', 'draft_letter', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(108, 'Bahagian Kewangan Dan Akaun', 'deleted_item', 'read', 0, NULL, '2026-05-11 11:00:01'),
(109, 'Unit Pengurusan Dana Wakaf', 'folder', 'create', 1, NULL, '2026-05-11 11:00:01'),
(110, 'Unit Pengurusan Dana Wakaf', 'folder', 'read', 1, NULL, '2026-05-11 11:00:01'),
(111, 'Unit Pengurusan Dana Wakaf', 'folder', 'update', 0, NULL, '2026-05-11 11:00:01'),
(112, 'Unit Pengurusan Dana Wakaf', 'folder', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(113, 'Unit Pengurusan Dana Wakaf', 'folder', 'export', 0, NULL, '2026-05-11 11:00:01'),
(114, 'Unit Pengurusan Dana Wakaf', 'folder', 'import', 0, NULL, '2026-05-11 11:00:01'),
(115, 'Unit Pengurusan Dana Wakaf', 'document', 'create', 1, NULL, '2026-05-11 11:00:01'),
(116, 'Unit Pengurusan Dana Wakaf', 'document', 'read', 1, NULL, '2026-05-11 11:00:01'),
(117, 'Unit Pengurusan Dana Wakaf', 'document', 'update', 0, NULL, '2026-05-11 11:00:01'),
(118, 'Unit Pengurusan Dana Wakaf', 'document', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(119, 'Unit Pengurusan Dana Wakaf', 'document', 'export', 0, NULL, '2026-05-11 11:00:01'),
(120, 'Unit Pengurusan Dana Wakaf', 'document', 'import', 0, NULL, '2026-05-11 11:00:01'),
(121, 'Unit Pengurusan Dana Wakaf', 'document', 'download', 0, NULL, '2026-05-11 11:00:01'),
(122, 'Unit Pengurusan Dana Wakaf', 'draft_letter', 'create', 1, NULL, '2026-05-11 11:00:01'),
(123, 'Unit Pengurusan Dana Wakaf', 'draft_letter', 'read', 1, NULL, '2026-05-11 11:00:01'),
(124, 'Unit Pengurusan Dana Wakaf', 'draft_letter', 'update', 1, NULL, '2026-05-11 11:00:01'),
(125, 'Unit Pengurusan Dana Wakaf', 'draft_letter', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(126, 'Unit Pengurusan Dana Wakaf', 'deleted_item', 'read', 0, NULL, '2026-05-11 11:00:01'),
(127, 'Pejabat Setiausaha', 'folder', 'create', 1, NULL, '2026-05-11 11:00:01'),
(128, 'Pejabat Setiausaha', 'folder', 'read', 1, NULL, '2026-05-11 11:00:01'),
(129, 'Pejabat Setiausaha', 'folder', 'update', 0, NULL, '2026-05-11 11:00:01'),
(130, 'Pejabat Setiausaha', 'folder', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(131, 'Pejabat Setiausaha', 'folder', 'export', 0, NULL, '2026-05-11 11:00:01'),
(132, 'Pejabat Setiausaha', 'folder', 'import', 0, NULL, '2026-05-11 11:00:01'),
(133, 'Pejabat Setiausaha', 'document', 'create', 1, NULL, '2026-05-11 11:00:01'),
(134, 'Pejabat Setiausaha', 'document', 'read', 1, NULL, '2026-05-11 11:00:01'),
(135, 'Pejabat Setiausaha', 'document', 'update', 0, NULL, '2026-05-11 11:00:01'),
(136, 'Pejabat Setiausaha', 'document', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(137, 'Pejabat Setiausaha', 'document', 'export', 0, NULL, '2026-05-11 11:00:01'),
(138, 'Pejabat Setiausaha', 'document', 'import', 0, NULL, '2026-05-11 11:00:01'),
(139, 'Pejabat Setiausaha', 'document', 'download', 0, NULL, '2026-05-11 11:00:01'),
(140, 'Pejabat Setiausaha', 'draft_letter', 'create', 1, NULL, '2026-05-11 11:00:01'),
(141, 'Pejabat Setiausaha', 'draft_letter', 'read', 1, NULL, '2026-05-11 11:00:01'),
(142, 'Pejabat Setiausaha', 'draft_letter', 'update', 1, NULL, '2026-05-11 11:00:01'),
(143, 'Pejabat Setiausaha', 'draft_letter', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(144, 'Pejabat Setiausaha', 'deleted_item', 'read', 0, NULL, '2026-05-11 11:00:01'),
(145, 'Bahagian Audit Dalam', 'folder', 'create', 1, NULL, '2026-05-11 11:00:01'),
(146, 'Bahagian Audit Dalam', 'folder', 'read', 1, NULL, '2026-05-11 11:00:01'),
(147, 'Bahagian Audit Dalam', 'folder', 'update', 0, NULL, '2026-05-11 11:00:01'),
(148, 'Bahagian Audit Dalam', 'folder', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(149, 'Bahagian Audit Dalam', 'folder', 'export', 0, NULL, '2026-05-11 11:00:01'),
(150, 'Bahagian Audit Dalam', 'folder', 'import', 0, NULL, '2026-05-11 11:00:01'),
(151, 'Bahagian Audit Dalam', 'document', 'create', 1, NULL, '2026-05-11 11:00:01'),
(152, 'Bahagian Audit Dalam', 'document', 'read', 1, NULL, '2026-05-11 11:00:01'),
(153, 'Bahagian Audit Dalam', 'document', 'update', 0, NULL, '2026-05-11 11:00:01'),
(154, 'Bahagian Audit Dalam', 'document', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(155, 'Bahagian Audit Dalam', 'document', 'export', 0, NULL, '2026-05-11 11:00:01'),
(156, 'Bahagian Audit Dalam', 'document', 'import', 0, NULL, '2026-05-11 11:00:01'),
(157, 'Bahagian Audit Dalam', 'document', 'download', 0, NULL, '2026-05-11 11:00:01'),
(158, 'Bahagian Audit Dalam', 'draft_letter', 'create', 1, NULL, '2026-05-11 11:00:01'),
(159, 'Bahagian Audit Dalam', 'draft_letter', 'read', 1, NULL, '2026-05-11 11:00:01'),
(160, 'Bahagian Audit Dalam', 'draft_letter', 'update', 1, NULL, '2026-05-11 11:00:01'),
(161, 'Bahagian Audit Dalam', 'draft_letter', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(162, 'Bahagian Audit Dalam', 'deleted_item', 'read', 0, NULL, '2026-05-11 11:00:01'),
(163, 'Unit Pembangunan', 'folder', 'create', 1, NULL, '2026-05-11 11:00:01'),
(164, 'Unit Pembangunan', 'folder', 'read', 1, NULL, '2026-05-11 11:00:01'),
(165, 'Unit Pembangunan', 'folder', 'update', 0, NULL, '2026-05-11 11:00:01'),
(166, 'Unit Pembangunan', 'folder', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(167, 'Unit Pembangunan', 'folder', 'export', 0, NULL, '2026-05-11 11:00:01'),
(168, 'Unit Pembangunan', 'folder', 'import', 0, NULL, '2026-05-11 11:00:01'),
(169, 'Unit Pembangunan', 'document', 'create', 1, NULL, '2026-05-11 11:00:01'),
(170, 'Unit Pembangunan', 'document', 'read', 1, NULL, '2026-05-11 11:00:01'),
(171, 'Unit Pembangunan', 'document', 'update', 0, NULL, '2026-05-11 11:00:01'),
(172, 'Unit Pembangunan', 'document', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(173, 'Unit Pembangunan', 'document', 'export', 0, NULL, '2026-05-11 11:00:01'),
(174, 'Unit Pembangunan', 'document', 'import', 0, NULL, '2026-05-11 11:00:01'),
(175, 'Unit Pembangunan', 'document', 'download', 0, NULL, '2026-05-11 11:00:01'),
(176, 'Unit Pembangunan', 'draft_letter', 'create', 1, NULL, '2026-05-11 11:00:01'),
(177, 'Unit Pembangunan', 'draft_letter', 'read', 1, NULL, '2026-05-11 11:00:01'),
(178, 'Unit Pembangunan', 'draft_letter', 'update', 1, NULL, '2026-05-11 11:00:01'),
(179, 'Unit Pembangunan', 'draft_letter', 'delete', 0, NULL, '2026-05-11 11:00:01'),
(180, 'Unit Pembangunan', 'deleted_item', 'read', 0, NULL, '2026-05-11 11:00:01'),
(181, 'Unit Latihan', 'folder', 'create', 1, NULL, '2026-05-11 11:00:01'),
(182, 'Unit Latihan', 'folder', 'read', 1, NULL, '2026-05-11 11:00:01'),
(183, 'Unit Latihan', 'folder', 'update', 0, NULL, '2026-05-11 11:00:01'),
(184, 'Unit Latihan', 'folder', 'delete', 0, NULL, '2026-05-11 11:00:02'),
(185, 'Unit Latihan', 'folder', 'export', 0, NULL, '2026-05-11 11:00:02'),
(186, 'Unit Latihan', 'folder', 'import', 0, NULL, '2026-05-11 11:00:02'),
(187, 'Unit Latihan', 'document', 'create', 1, NULL, '2026-05-11 11:00:02'),
(188, 'Unit Latihan', 'document', 'read', 1, NULL, '2026-05-11 11:00:02'),
(189, 'Unit Latihan', 'document', 'update', 0, NULL, '2026-05-11 11:00:02'),
(190, 'Unit Latihan', 'document', 'delete', 0, NULL, '2026-05-11 11:00:02'),
(191, 'Unit Latihan', 'document', 'export', 0, NULL, '2026-05-11 11:00:02'),
(192, 'Unit Latihan', 'document', 'import', 0, NULL, '2026-05-11 11:00:02'),
(193, 'Unit Latihan', 'document', 'download', 0, NULL, '2026-05-11 11:00:02'),
(194, 'Unit Latihan', 'draft_letter', 'create', 1, NULL, '2026-05-11 11:00:02'),
(195, 'Unit Latihan', 'draft_letter', 'read', 1, NULL, '2026-05-11 11:00:02'),
(196, 'Unit Latihan', 'draft_letter', 'update', 1, NULL, '2026-05-11 11:00:02'),
(197, 'Unit Latihan', 'draft_letter', 'delete', 0, NULL, '2026-05-11 11:00:02'),
(198, 'Unit Latihan', 'deleted_item', 'read', 0, NULL, '2026-05-11 11:00:02'),
(199, 'Bahagian Teknologi Maklumat', 'folder', 'create', 1, NULL, '2026-05-11 11:00:02'),
(200, 'Bahagian Teknologi Maklumat', 'folder', 'read', 1, NULL, '2026-05-11 11:00:02'),
(201, 'Bahagian Teknologi Maklumat', 'folder', 'update', 1, NULL, '2026-05-11 11:00:02'),
(202, 'Bahagian Teknologi Maklumat', 'folder', 'delete', 0, NULL, '2026-05-11 11:00:02'),
(203, 'Bahagian Teknologi Maklumat', 'folder', 'export', 0, NULL, '2026-05-11 11:00:02'),
(204, 'Bahagian Teknologi Maklumat', 'folder', 'import', 0, NULL, '2026-05-11 11:00:02'),
(205, 'Bahagian Teknologi Maklumat', 'document', 'create', 1, NULL, '2026-05-11 11:00:02'),
(206, 'Bahagian Teknologi Maklumat', 'document', 'read', 1, NULL, '2026-05-11 11:00:02'),
(207, 'Bahagian Teknologi Maklumat', 'document', 'update', 1, NULL, '2026-05-11 11:00:02'),
(208, 'Bahagian Teknologi Maklumat', 'document', 'delete', 1, NULL, '2026-05-11 11:00:02'),
(209, 'Bahagian Teknologi Maklumat', 'document', 'export', 0, NULL, '2026-05-11 11:00:02'),
(210, 'Bahagian Teknologi Maklumat', 'document', 'import', 0, NULL, '2026-05-11 11:00:02'),
(211, 'Bahagian Teknologi Maklumat', 'document', 'download', 0, NULL, '2026-05-11 11:00:02'),
(212, 'Bahagian Teknologi Maklumat', 'draft_letter', 'create', 1, NULL, '2026-05-11 11:00:02'),
(213, 'Bahagian Teknologi Maklumat', 'draft_letter', 'read', 1, NULL, '2026-05-11 11:00:02'),
(214, 'Bahagian Teknologi Maklumat', 'draft_letter', 'update', 1, NULL, '2026-05-11 11:00:02'),
(215, 'Bahagian Teknologi Maklumat', 'draft_letter', 'delete', 0, NULL, '2026-05-11 11:00:02'),
(216, 'Bahagian Teknologi Maklumat', 'deleted_item', 'read', 0, NULL, '2026-05-11 11:00:02'),
(217, 'Pengurusan', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42'),
(218, 'Bahagian Pentadbiran Sumber Manusia', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42'),
(219, 'Bahagian Undang-Undang', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42'),
(220, 'Unit Pengurusan dan Penyelenggaraan Premis', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42'),
(221, 'Unit Pentadbiran Tanah', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42'),
(222, 'Bahagian Kewangan Dan Akaun', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42'),
(223, 'Unit Pengurusan Dana Wakaf', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42'),
(224, 'Pejabat Setiausaha', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42'),
(225, 'Bahagian Audit Dalam', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42'),
(226, 'Unit Pembangunan', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42'),
(227, 'Unit Latihan', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42'),
(228, 'Bahagian Teknologi Maklumat', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42'),
(229, 'Unit Pengurusan', 'folder', 'create', 1, NULL, '2026-06-10 04:43:36'),
(230, 'Unit Pengurusan', 'folder', 'close', 0, NULL, '2026-06-10 04:43:36'),
(231, 'Unit Pengurusan', 'folder', 'read', 1, NULL, '2026-06-10 04:43:36'),
(232, 'Unit Pengurusan', 'folder', 'update', 0, NULL, '2026-06-10 04:43:36'),
(233, 'Unit Pengurusan', 'folder', 'delete', 0, NULL, '2026-06-10 04:43:36'),
(234, 'Unit Pengurusan', 'folder', 'export', 0, NULL, '2026-06-10 04:43:36'),
(235, 'Unit Pengurusan', 'folder', 'import', 0, NULL, '2026-06-10 04:43:36'),
(236, 'Unit Pengurusan', 'document', 'create', 1, NULL, '2026-06-10 04:43:36'),
(237, 'Unit Pengurusan', 'document', 'read', 1, NULL, '2026-06-10 04:43:36'),
(238, 'Unit Pengurusan', 'document', 'update', 0, NULL, '2026-06-10 04:43:36'),
(239, 'Unit Pengurusan', 'document', 'delete', 0, NULL, '2026-06-10 04:43:36'),
(240, 'Unit Pengurusan', 'document', 'export', 0, NULL, '2026-06-10 04:43:36'),
(241, 'Unit Pengurusan', 'document', 'import', 0, NULL, '2026-06-10 04:43:36'),
(242, 'Unit Pengurusan', 'document', 'download', 0, NULL, '2026-06-10 04:43:36'),
(243, 'Unit Pengurusan', 'draft_letter', 'create', 1, NULL, '2026-06-10 04:43:36'),
(244, 'Unit Pengurusan', 'draft_letter', 'read', 1, NULL, '2026-06-10 04:43:36'),
(245, 'Unit Pengurusan', 'draft_letter', 'update', 1, NULL, '2026-06-10 04:43:36'),
(246, 'Unit Pengurusan', 'draft_letter', 'delete', 0, NULL, '2026-06-10 04:43:36'),
(247, 'Unit Pengurusan', 'deleted_item', 'read', 0, NULL, '2026-06-10 04:43:36'),
(248, 'Bahagian Pengurusan', 'folder', 'create', 1, NULL, '2026-06-10 06:24:26'),
(249, 'Bahagian Pengurusan', 'folder', 'close', 0, NULL, '2026-06-10 06:24:26'),
(250, 'Bahagian Pengurusan', 'folder', 'read', 1, NULL, '2026-06-10 06:24:26'),
(251, 'Bahagian Pengurusan', 'folder', 'update', 0, NULL, '2026-06-10 06:24:26'),
(252, 'Bahagian Pengurusan', 'folder', 'delete', 0, NULL, '2026-06-10 06:24:26'),
(253, 'Bahagian Pengurusan', 'folder', 'export', 0, NULL, '2026-06-10 06:24:26'),
(254, 'Bahagian Pengurusan', 'folder', 'import', 0, NULL, '2026-06-10 06:24:26'),
(255, 'Bahagian Pengurusan', 'document', 'create', 1, NULL, '2026-06-10 06:24:26'),
(256, 'Bahagian Pengurusan', 'document', 'read', 1, NULL, '2026-06-10 06:24:26'),
(257, 'Bahagian Pengurusan', 'document', 'update', 0, NULL, '2026-06-10 06:24:26'),
(258, 'Bahagian Pengurusan', 'document', 'delete', 0, NULL, '2026-06-10 06:24:26'),
(259, 'Bahagian Pengurusan', 'document', 'export', 0, NULL, '2026-06-10 06:24:26'),
(260, 'Bahagian Pengurusan', 'document', 'import', 0, NULL, '2026-06-10 06:24:26'),
(261, 'Bahagian Pengurusan', 'document', 'download', 0, NULL, '2026-06-10 06:24:26'),
(262, 'Bahagian Pengurusan', 'draft_letter', 'create', 1, NULL, '2026-06-10 06:24:26'),
(263, 'Bahagian Pengurusan', 'draft_letter', 'read', 1, NULL, '2026-06-10 06:24:26'),
(264, 'Bahagian Pengurusan', 'draft_letter', 'update', 1, NULL, '2026-06-10 06:24:26'),
(265, 'Bahagian Pengurusan', 'draft_letter', 'delete', 0, NULL, '2026-06-10 06:24:26'),
(266, 'Bahagian Pengurusan', 'deleted_item', 'read', 0, NULL, '2026-06-10 06:24:26');

-- --------------------------------------------------------

--
-- Table structure for table `documents`
--

CREATE TABLE `documents` (
  `id` int(11) NOT NULL,
  `folder_id` int(11) NOT NULL,
  `ref_no` varchar(50) DEFAULT NULL,
  `file_numbering` varchar(100) NOT NULL DEFAULT '',
  `subject` varchar(255) DEFAULT NULL,
  `doc_date` date DEFAULT NULL,
  `from_person` varchar(100) DEFAULT NULL,
  `to_person` varchar(100) DEFAULT NULL,
  `doc_type` enum('Memo Kelulusan') DEFAULT NULL,
  `custom_data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`custom_data`)),
  `file_path` varchar(255) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `deleted_at` datetime DEFAULT NULL,
  `deleted_by` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `documents`
--

INSERT INTO `documents` (`id`, `folder_id`, `ref_no`, `file_numbering`, `subject`, `doc_date`, `from_person`, `to_person`, `doc_type`, `custom_data`, `file_path`, `created_at`, `deleted_at`, `deleted_by`) VALUES
(1, 1, 'MAINPP/BTM/100-19/1/1 JLD.1', '1', 'YURAN PEMBELIAN NINTENDO', '2026-06-23', 'Bahagian Teknologi Maklumat', 'Timbalan YDP | Perhatian: Setiausaha MAINPP', 'Memo Kelulusan', NULL, 'uploads/documents/doc_1_1_1782198923_6a3a328b85d27.pdf', '2026-06-23 07:15:23', '2026-06-26 09:32:47', 1),
(2, 1, 'MAINPP/BTM/100-19/1/1 JLD.1', '2', 'YURAN PEMBELIAN PS3', '2026-06-24', 'Bahagian Teknologi Maklumat', 'Timbalan YDP | Perhatian: Setiausaha MAINPP', 'Memo Kelulusan', NULL, NULL, '2026-06-24 07:44:21', '2026-06-24 15:56:17', 1),
(3, 1, 'MAINPP/BTM/100-19/1/1 JLD.1', '2', 'YURAN PEMBELIAN PS3', '2026-06-24', 'Bahagian Teknologi Maklumat', 'Timbalan YDP | Perhatian: Setiausaha MAINPP', 'Memo Kelulusan', NULL, NULL, '2026-06-24 09:19:00', '2026-06-26 09:30:44', 1),
(4, 1, 'MAINPP/BTM/100-19/1/1 JLD.1', '1', 'YURAN PEMBAYARAN SERVER DAN PERKAKASAN SEMASA', '2026-06-26', 'Bahagian Teknologi Maklumat', 'Timbalan YDP', 'Memo Kelulusan', NULL, NULL, '2026-06-26 02:38:47', NULL, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `document_attachments`
--

CREATE TABLE `document_attachments` (
  `id` int(11) NOT NULL,
  `document_id` int(11) NOT NULL,
  `file_path` varchar(255) NOT NULL,
  `original_name` varchar(255) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `document_attachments`
--

INSERT INTO `document_attachments` (`id`, `document_id`, `file_path`, `original_name`, `created_at`) VALUES
(1, 1, 'uploads/documents/doc_1_1_1782198923_6a3a328b85d27.pdf', 'PBT2_wanyusuf.pdf', '2026-06-23 07:15:23');

-- --------------------------------------------------------

--
-- Table structure for table `document_delete_log`
--

CREATE TABLE `document_delete_log` (
  `id` int(11) NOT NULL,
  `document_id` int(11) DEFAULT NULL,
  `document_subject` varchar(255) DEFAULT NULL,
  `deleted_by` int(11) DEFAULT NULL,
  `deleted_at` datetime DEFAULT NULL,
  `reason` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `document_delete_log`
--

INSERT INTO `document_delete_log` (`id`, `document_id`, `document_subject`, `deleted_by`, `deleted_at`, `reason`) VALUES
(1, 2, 'YURAN PEMBELIAN PS3', 1, '2026-06-24 15:56:17', 'Dipadam dari Pengurusan Fail'),
(2, 3, 'YURAN PEMBELIAN PS3', 1, '2026-06-26 09:30:44', 'Dipadam bersama surat'),
(3, 1, 'YURAN PEMBELIAN NINTENDO', 1, '2026-06-26 09:32:47', 'Dipadam dari Pengurusan Fail');

-- --------------------------------------------------------

--
-- Table structure for table `folders`
--

CREATE TABLE `folders` (
  `id` int(11) NOT NULL,
  `folder_code` varchar(100) NOT NULL,
  `folder_name` varchar(255) NOT NULL,
  `department` varchar(255) NOT NULL,
  `folder_type` enum('office','sendirian') DEFAULT NULL,
  `custom_data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`custom_data`)),
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `deleted_at` datetime DEFAULT NULL,
  `deleted_by` int(11) DEFAULT NULL,
  `closed_at` datetime DEFAULT NULL,
  `closed_by` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `folders`
--

INSERT INTO `folders` (`id`, `folder_code`, `folder_name`, `department`, `folder_type`, `custom_data`, `created_at`, `deleted_at`, `deleted_by`, `closed_at`, `closed_by`) VALUES
(1, 'MAINPP/BTM/100-19/1/1 JLD.1', 'HAL-HAL PENTADBIRAN', 'Bahagian Teknologi Maklumat', 'office', NULL, '2026-05-14 03:00:48', NULL, NULL, NULL, NULL),
(2, 'MAINPP/BKA/100-19/1/1 JLD.1', 'HAL-HAL KEWANGAN', 'Bahagian Kewangan Dan Akaun', 'office', NULL, '2026-06-18 05:00:09', NULL, NULL, NULL, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `folder_delete_log`
--

CREATE TABLE `folder_delete_log` (
  `id` int(11) NOT NULL,
  `folder_id` int(11) DEFAULT NULL,
  `folder_name` varchar(255) DEFAULT NULL,
  `deleted_by` int(11) DEFAULT NULL,
  `deleted_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Table structure for table `letter_approval_recipients`
--

CREATE TABLE `letter_approval_recipients` (
  `id` int(11) NOT NULL,
  `draft_id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `position_label` varchar(255) NOT NULL,
  `source_type` enum('kepada','melalui','tambahan') NOT NULL DEFAULT 'tambahan',
  `status` enum('belum_mula','menunggu','menunggu_tandatangan','lulus','ditolak') NOT NULL DEFAULT 'belum_mula',
  `signature_path` varchar(255) DEFAULT NULL,
  `note` text DEFAULT NULL,
  `requested_at` datetime DEFAULT NULL,
  `responded_at` datetime DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `route_order` int(11) NOT NULL DEFAULT 1,
  `approved_at` datetime DEFAULT NULL,
  `decision` enum('belum_diputuskan','lulus','ditolak') NOT NULL DEFAULT 'belum_diputuskan'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `letter_approval_recipients`
--

INSERT INTO `letter_approval_recipients` (`id`, `draft_id`, `user_id`, `position_label`, `source_type`, `status`, `signature_path`, `note`, `requested_at`, `responded_at`, `created_at`, `updated_at`, `route_order`, `approved_at`, `decision`) VALUES
(5, 2, 5, 'Ketua Bahagian Kewangan dan Akaun', 'tambahan', 'belum_mula', NULL, NULL, NULL, NULL, '2026-06-24 07:44:21', '2026-06-24 07:44:21', 1, NULL, 'belum_diputuskan'),
(6, 2, 7, 'Setiausaha MAINPP', 'melalui', 'belum_mula', NULL, NULL, NULL, NULL, '2026-06-24 07:44:21', '2026-06-24 07:44:21', 2, NULL, 'belum_diputuskan'),
(7, 2, 6, 'Timbalan YDP', 'kepada', 'belum_mula', NULL, NULL, NULL, NULL, '2026-06-24 07:44:21', '2026-06-24 07:44:21', 3, NULL, 'belum_diputuskan'),
(8, 3, 5, 'Ketua Bahagian Kewangan dan Akaun', 'tambahan', 'ditolak', 'uploads/signatures/signature_5_fazly_clean_20260623_170401.png', 'tidak relevant', '2026-06-24 17:19:00', '2026-06-24 17:20:01', '2026-06-24 09:19:00', '2026-06-24 09:20:01', 1, '2026-06-24 17:19:45', 'ditolak'),
(9, 3, 7, 'Setiausaha MAINPP', 'melalui', 'belum_mula', NULL, NULL, NULL, NULL, '2026-06-24 09:19:00', '2026-06-24 09:19:00', 2, NULL, 'belum_diputuskan'),
(10, 3, 6, 'Timbalan YDP', 'kepada', 'belum_mula', NULL, NULL, NULL, NULL, '2026-06-24 09:19:00', '2026-06-24 09:19:00', 3, NULL, 'belum_diputuskan'),
(11, 1, 5, 'Ketua Bahagian Kewangan dan Akaun', 'tambahan', 'menunggu', NULL, NULL, '2026-06-26 10:38:47', NULL, '2026-06-26 02:38:47', '2026-06-26 02:38:47', 1, NULL, 'belum_diputuskan'),
(12, 1, 6, 'Timbalan YDP', 'kepada', 'belum_mula', NULL, NULL, NULL, NULL, '2026-06-26 02:38:47', '2026-06-26 02:38:47', 2, NULL, 'belum_diputuskan');

-- --------------------------------------------------------

--
-- Table structure for table `letter_drafts`
--

CREATE TABLE `letter_drafts` (
  `id` int(11) NOT NULL,
  `document_id` int(11) NOT NULL,
  `folder_id` int(11) NOT NULL,
  `template_id` int(11) DEFAULT NULL,
  `department` varchar(255) NOT NULL,
  `ref_no` varchar(100) NOT NULL,
  `letter_date` date NOT NULL,
  `subject` varchar(255) NOT NULL,
  `doc_type` varchar(100) NOT NULL DEFAULT 'Memo Kelulusan',
  `recipient_name` varchar(255) DEFAULT NULL,
  `recipient_organization` varchar(255) DEFAULT NULL,
  `recipient_address` text DEFAULT NULL,
  `attention_to` varchar(255) DEFAULT NULL,
  `greeting` varchar(255) DEFAULT NULL,
  `letter_body` longtext DEFAULT NULL,
  `closing_text` varchar(255) DEFAULT NULL,
  `signatory_name` varchar(255) DEFAULT NULL,
  `signatory_position` varchar(255) DEFAULT NULL,
  `signatory_department` varchar(255) DEFAULT NULL,
  `status` enum('draf','siap') NOT NULL DEFAULT 'draf',
  `created_by` int(11) DEFAULT NULL,
  `updated_by` int(11) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `deleted_at` datetime DEFAULT NULL,
  `deleted_by` int(11) DEFAULT NULL,
  `signatory_signature_path` varchar(255) DEFAULT NULL,
  `letter_pages` longtext DEFAULT NULL,
  `support_required` tinyint(1) NOT NULL DEFAULT 0,
  `support_user_id` int(11) DEFAULT NULL,
  `support_name` varchar(255) DEFAULT NULL,
  `support_email` varchar(191) DEFAULT NULL,
  `support_status` enum('tidak_perlu','menunggu','disokong','ditolak') NOT NULL DEFAULT 'tidak_perlu',
  `support_requested_at` datetime DEFAULT NULL,
  `support_responded_at` datetime DEFAULT NULL,
  `support_note` text DEFAULT NULL,
  `approval_flow` enum('single','two_level') NOT NULL DEFAULT 'single',
  `approval_status` enum('draft','menunggu_pegawai_bahagian','menunggu_pelulus','menunggu_pelulus_akhir','lulus','ditolak') NOT NULL DEFAULT 'draft',
  `approval_stage` tinyint(1) NOT NULL DEFAULT 0,
  `department_officer_user_id` int(11) DEFAULT NULL,
  `department_officer_name` varchar(255) DEFAULT NULL,
  `department_officer_email` varchar(191) DEFAULT NULL,
  `department_officer_status` enum('tidak_perlu','menunggu','menunggu_tandatangan','lulus','ditolak') NOT NULL DEFAULT 'tidak_perlu',
  `department_officer_signature_path` varchar(255) DEFAULT NULL,
  `department_officer_note` text DEFAULT NULL,
  `department_officer_requested_at` datetime DEFAULT NULL,
  `department_officer_responded_at` datetime DEFAULT NULL,
  `letter_page_signers` longtext DEFAULT NULL,
  `routing_positions` longtext DEFAULT NULL,
  `page_number_position` enum('none','bottom_center','bottom_right') NOT NULL DEFAULT 'bottom_center',
  `page_header_text` text DEFAULT NULL,
  `page_footer_text` text DEFAULT NULL,
  `approval_page_body` longtext DEFAULT NULL,
  `approval_page_subject` text DEFAULT NULL,
  `approval_route_bodies` longtext DEFAULT NULL,
  `department_officer_approved_at` datetime DEFAULT NULL,
  `department_officer_decision` enum('belum_diputuskan','lulus','ditolak') NOT NULL DEFAULT 'belum_diputuskan',
  `preparer_signed_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `letter_drafts`
--

INSERT INTO `letter_drafts` (`id`, `document_id`, `folder_id`, `template_id`, `department`, `ref_no`, `letter_date`, `subject`, `doc_type`, `recipient_name`, `recipient_organization`, `recipient_address`, `attention_to`, `greeting`, `letter_body`, `closing_text`, `signatory_name`, `signatory_position`, `signatory_department`, `status`, `created_by`, `updated_by`, `created_at`, `updated_at`, `deleted_at`, `deleted_by`, `signatory_signature_path`, `letter_pages`, `support_required`, `support_user_id`, `support_name`, `support_email`, `support_status`, `support_requested_at`, `support_responded_at`, `support_note`, `approval_flow`, `approval_status`, `approval_stage`, `department_officer_user_id`, `department_officer_name`, `department_officer_email`, `department_officer_status`, `department_officer_signature_path`, `department_officer_note`, `department_officer_requested_at`, `department_officer_responded_at`, `letter_page_signers`, `routing_positions`, `page_number_position`, `page_header_text`, `page_footer_text`, `approval_page_body`, `approval_page_subject`, `approval_route_bodies`, `department_officer_approved_at`, `department_officer_decision`, `preparer_signed_at`) VALUES
(1, 4, 1, NULL, 'Bahagian Teknologi Maklumat', 'MAINPP/BTM/100-19/1/1 JLD.1', '2026-06-26', 'YURAN PEMBAYARAN SERVER DAN PERKAKASAN SEMASA', 'Memo Kelulusan', '', 'Timbalan YDP', '', '', '', '<p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">YBhg. Dato’,</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\"><br></p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">Dengan hormatnya saya diarah merujuk perkara di atas.</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">2.&nbsp; &nbsp; &nbsp;test</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">test</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">etstt\\sy9d</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">adada</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">d</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">sdsad</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">sadasdsad</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">asdsadasdsad</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">asd</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">asd</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">asd</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">sadas</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">das</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">da</p><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\">3. &nbsp;&nbsp;&nbsp;&nbsp;</p>', 'Sekian, terima kasih.', 'Nur Syarafana Binti Mihsin', 'Ketua Bahagian Teknologi Maklumat', 'Bahagian Teknologi Maklumat', 'siap', 1, 1, '2026-06-26 02:38:47', '2026-06-26 02:38:47', NULL, NULL, 'uploads/signatures/signature_1_syarafana_clean_20260623_170401.png', '[\"<p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">YBhg. Dato’,<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\"><br><\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">Dengan hormatnya saya diarah merujuk perkara di atas.<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">2.&nbsp; &nbsp; &nbsp;test<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">test<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">etstt\\\\sy9d<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">adada<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">d<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">sdsad<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">sadasdsad<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">asdsadasdsad<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">asd<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">asd<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">asd<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">sadas<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">das<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">da<\\/p><p style=\\\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.15\\\">3. &nbsp;&nbsp;&nbsp;&nbsp;<\\/p>\"]', 1, 5, 'Mohd Fazly bin Mohd Zaki', 'fazly@mainpp.gov.my', 'menunggu', '2026-06-26 10:38:47', NULL, NULL, 'two_level', 'menunggu_pelulus', 2, 0, NULL, NULL, 'tidak_perlu', NULL, NULL, NULL, NULL, '[\"preparer\"]', '[\"Ketua Bahagian Kewangan dan Akaun\",\"Timbalan YDP\"]', 'bottom_center', '', '', '', '', '{\"user:5\":\"ASDASDSADSADASD\",\"user:6\":\"ASDASDASDASDSDD\"}', NULL, 'belum_diputuskan', '2026-06-26 10:38:47');

-- --------------------------------------------------------

--
-- Table structure for table `letter_templates`
--

CREATE TABLE `letter_templates` (
  `template_id` int(11) NOT NULL,
  `template_name` varchar(150) NOT NULL,
  `template_content` longtext NOT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_date` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `letter_templates`
--

INSERT INTO `letter_templates` (`template_id`, `template_name`, `template_content`, `is_active`, `created_date`, `updated_at`) VALUES
(1, 'Memo Kelulusan', '<p>YBhg. Dato&rsquo;,</p><p><br></p><p><strong><u>{{subject}}</u></strong></p><p>Dengan hormatnya saya diarah merujuk perkara di atas.</p><p>2. &nbsp;&nbsp;&nbsp;&nbsp;{{letter_content}}</p><p>3. &nbsp;&nbsp;&nbsp;&nbsp;</p>', 1, '2026-06-28 21:14:10', '2026-06-28 13:14:10');

-- --------------------------------------------------------

--
-- Table structure for table `password_resets`
--

CREATE TABLE `password_resets` (
  `id` int(11) NOT NULL,
  `email` varchar(191) NOT NULL,
  `token` varchar(20) NOT NULL,
  `expires_at` datetime NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Table structure for table `role_permissions`
--

CREATE TABLE `role_permissions` (
  `id` int(11) NOT NULL,
  `role_name` varchar(50) NOT NULL,
  `module` varchar(50) NOT NULL,
  `action` varchar(50) NOT NULL,
  `is_allowed` tinyint(1) DEFAULT 0,
  `updated_by` int(11) DEFAULT NULL,
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `role_permissions`
--

INSERT INTO `role_permissions` (`id`, `role_name`, `module`, `action`, `is_allowed`, `updated_by`, `updated_at`) VALUES
(1, 'user', 'folder', 'create', 1, 3, '2026-05-05 08:28:47'),
(2, 'user', 'folder', 'read', 1, 3, '2026-05-05 08:28:47'),
(3, 'user', 'folder', 'update', 0, 3, '2026-05-05 08:28:47'),
(4, 'user', 'folder', 'delete', 0, 3, '2026-05-05 08:28:47'),
(5, 'user', 'document', 'create', 1, 3, '2026-05-05 08:28:47'),
(6, 'user', 'document', 'read', 1, 3, '2026-05-05 08:28:47'),
(7, 'user', 'document', 'update', 0, 3, '2026-05-05 08:28:47'),
(8, 'user', 'document', 'delete', 0, 3, '2026-05-05 08:28:47'),
(9, 'admin', 'folder', 'create', 1, 3, '2026-05-05 08:28:47'),
(10, 'admin', 'folder', 'read', 1, 3, '2026-05-05 08:28:47'),
(11, 'admin', 'folder', 'update', 1, 3, '2026-05-05 08:28:47'),
(12, 'admin', 'folder', 'delete', 0, 3, '2026-05-05 08:28:47'),
(13, 'admin', 'document', 'create', 1, 3, '2026-05-05 08:28:47'),
(14, 'admin', 'document', 'read', 1, 3, '2026-05-05 08:28:47'),
(15, 'admin', 'document', 'update', 1, 3, '2026-05-05 08:28:47'),
(16, 'admin', 'document', 'delete', 1, 3, '2026-05-05 08:28:47'),
(17, 'superadmin', 'folder', 'create', 1, NULL, '2026-05-05 01:11:05'),
(18, 'superadmin', 'folder', 'read', 1, NULL, '2026-05-05 01:11:05'),
(19, 'superadmin', 'folder', 'update', 1, NULL, '2026-05-05 01:11:05'),
(20, 'superadmin', 'folder', 'delete', 1, NULL, '2026-05-05 01:11:05'),
(21, 'superadmin', 'document', 'create', 1, NULL, '2026-05-05 01:11:05'),
(22, 'superadmin', 'document', 'read', 1, NULL, '2026-05-05 01:11:05'),
(23, 'superadmin', 'document', 'update', 1, NULL, '2026-05-05 01:11:05'),
(24, 'superadmin', 'document', 'delete', 1, NULL, '2026-05-05 01:11:05'),
(58, 'admin', 'folder', 'export', 0, 3, '2026-05-05 08:28:47'),
(59, 'admin', 'folder', 'import', 0, 3, '2026-05-05 08:28:47'),
(64, 'admin', 'document', 'export', 0, 3, '2026-05-05 08:28:47'),
(65, 'admin', 'document', 'import', 0, 3, '2026-05-05 08:28:47'),
(66, 'admin', 'document', 'download', 0, 3, '2026-05-05 08:28:47'),
(67, 'admin', 'deleted_item', 'read', 0, 3, '2026-05-05 08:28:47'),
(72, 'user', 'folder', 'export', 0, 3, '2026-05-05 08:28:47'),
(73, 'user', 'folder', 'import', 0, 3, '2026-05-05 08:28:47'),
(78, 'user', 'document', 'export', 0, 3, '2026-05-05 08:28:47'),
(79, 'user', 'document', 'import', 0, 3, '2026-05-05 08:28:47'),
(80, 'user', 'document', 'download', 0, 3, '2026-05-05 08:28:47'),
(81, 'user', 'deleted_item', 'read', 0, 3, '2026-05-05 08:28:47'),
(82, 'admin', 'draft_letter', 'create', 1, NULL, '2026-05-08 03:55:39'),
(83, 'admin', 'draft_letter', 'read', 1, NULL, '2026-05-08 03:55:39'),
(84, 'admin', 'draft_letter', 'update', 1, NULL, '2026-05-08 03:55:39'),
(85, 'admin', 'draft_letter', 'delete', 0, NULL, '2026-05-08 03:55:39'),
(86, 'user', 'draft_letter', 'create', 1, NULL, '2026-05-08 03:55:39'),
(87, 'user', 'draft_letter', 'read', 1, NULL, '2026-05-08 03:55:39'),
(88, 'user', 'draft_letter', 'update', 1, NULL, '2026-05-08 03:55:39'),
(89, 'user', 'draft_letter', 'delete', 0, NULL, '2026-05-08 03:55:39'),
(90, 'admin', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42'),
(91, 'user', 'folder', 'close', 0, NULL, '2026-05-14 02:31:42');

-- --------------------------------------------------------

--
-- Table structure for table `users`
--

CREATE TABLE `users` (
  `id` int(11) NOT NULL,
  `fullname` varchar(100) NOT NULL,
  `short_name` varchar(100) DEFAULT NULL,
  `ic_number` varchar(20) NOT NULL,
  `email` varchar(191) NOT NULL,
  `department` varchar(255) NOT NULL,
  `profile_photo` varchar(255) DEFAULT NULL,
  `password` varchar(255) NOT NULL,
  `status` enum('pending','approved','rejected') DEFAULT 'pending',
  `role` enum('superadmin','admin','user') DEFAULT 'user',
  `registered_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `last_login` timestamp NULL DEFAULT NULL,
  `position` varchar(255) DEFAULT NULL,
  `signature_path` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `users`
--

INSERT INTO `users` (`id`, `fullname`, `short_name`, `ic_number`, `email`, `department`, `profile_photo`, `password`, `status`, `role`, `registered_at`, `last_login`, `position`, `signature_path`) VALUES
(1, 'Nur Syarafana Binti Mihsin', 'syarafana', '970431-07-5422', 'syarafana@mainpp.gov.my', 'Bahagian Teknologi Maklumat', NULL, '$2y$10$jEHOUNtBPn79fVDQGry8rOfkG8uLnqdCBr0n68dWfuUKvVW95OixG', 'approved', 'superadmin', '2026-06-10 01:25:32', '2026-06-29 00:36:27', 'Pegawai Teknologi Maklumat F9', 'uploads/signatures/signature_1_syarafana_clean_20260623_170401.png'),
(2, 'Muhammad Fikri Haziq Bin Ayub', NULL, '971117-070-4455', 'fikri@mainpp.gov.my', 'Bahagian Teknologi Maklumat', NULL, '$2y$10$2juk.nPVxKwmYYIrPD6sFukoyLf4YolcJbdHYvxfvAGvHua8kUv.m', 'approved', 'superadmin', '2026-06-10 01:25:32', '2026-06-25 08:30:26', 'Penolong Pegawai Teknologi Maklumat FA5', NULL),
(3, 'YB. Dato\' Dr. Mohammad bin Abd Hamid', NULL, '971117-070-3322', 'mohammad@mainpp.gov.my', 'Pengurusan', NULL, '$2y$10$HUGcDTMfsyZmCeW2JEiQX.5lKE8w3bxWQFpYUFYII61nbuC0Jks1y', 'approved', 'user', '2026-06-10 07:35:13', '2026-06-18 07:31:42', 'YDP MAINPP', 'uploads/signatures/signature_3_mohammad_clean_20260623_170401.png'),
(4, 'Muhammad Muizzuddin bin Azman', NULL, '970431-07-4566', 'muizzudin@mainpp.gov.my', 'Bahagian Pentadbiran Sumber Manusia', 'uploads/profile_4_1781594301.png', '$2y$10$eJP6is.jUZKqiPJoOAYEoOp1BZzQN/KUUPuc4ufCEJgX.IXLPfdVC', 'approved', 'user', '2026-06-10 07:37:12', '2026-06-24 09:28:15', 'Pegawai Tadbir N9', 'uploads/signatures/signature_4_muizzuddin_clean_20260623_170401.png'),
(5, 'Mohd Fazly bin Mohd Zaki', 'Fazly', '971117-07-5333', 'fazly@mainpp.gov.my', 'Bahagian Kewangan Dan Akaun', NULL, '$2y$10$e1beJgpsLUbVasbiUDHa5u6LiB3SgpkmQakOugW5LSs3iqhHsVuV6', 'approved', 'user', '2026-06-10 07:38:20', '2026-06-26 03:15:00', 'Ketua Bahagian Kewangan dan Akaun', 'uploads/signatures/signature_5_fazly_clean_20260623_170401.png'),
(6, 'YBhg. Prof. Emeritus Dato\' Dr. Hj. Abd Aziz bin Tajuddin', NULL, '971031-07-2344', 'abd.aziz@mainpp.gov.my', 'Pengurusan', NULL, '$2y$10$hjuBRgYEb/IRXRGtfTxjXOywSL0qYNoNWRiy.IEXlluIiofRHOrpK', 'approved', 'user', '2026-06-10 08:38:06', '2026-06-18 01:39:48', 'Timbalan YDP', 'uploads/signatures/signature_6_abd_aziz_clean_20260623_170401.png'),
(7, 'YBhg. Dato\' Haji Rosidi Bin Hussain', NULL, '970217-07-5611', 'rosidi@mainpp.gov.my', 'Pengurusan', NULL, '$2y$10$rBfX9KroNyFCdKqHzxd6CuIY3RTaJVkcGDgrXSYq3uP.35d4902YG', 'approved', 'user', '2026-06-10 08:39:59', '2026-06-24 09:26:49', 'Setiausaha MAINPP', 'uploads/signatures/signature_7_rosidi_clean_20260623_170401.png'),
(8, 'Abu Mansur Maturidi bin Mohd Romli', NULL, '950431-07-3321', 'abumansur@mainpp.gov.my', 'Pengurusan', NULL, '$2y$10$1z/ZqgC0Y4Dyvtp9MWxuh.m6Hd.KrksSGQxC09RGt1MIBZ2aqml2.', 'approved', 'user', '2026-06-10 08:41:30', '2026-05-05 10:41:25', 'Pengurus Baitulmal', NULL),
(9, 'Nur Hafizah Binti Zakaria', NULL, '961117-07-3333', 'hafizah@mainpp.gov.my', 'Pengurusan', NULL, '$2y$10$kGB.9aAIxViLQ6oFpsbOH.Pe.xrWDDzsClw/jIO.54L9ETY07UhCa', 'approved', 'user', '2026-06-10 08:43:14', '2026-05-05 17:23:31', 'Setiausaha Pejabat N6 (TBK 1)', NULL),
(10, 'Kamaluddin bin Darus', NULL, '970931-07-2211', 'kamaluddin@mainpp.gov.my', 'Pengurusan', NULL, '$2y$10$DxIpspdmOI/vWQP1VNx8y.hG2YE48ZAJ4yJxcyJgFrySzQrXpoIRm', 'approved', 'user', '2026-06-10 08:44:14', NULL, 'Pegawai Khas', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `user_notification_reads`
--

CREATE TABLE `user_notification_reads` (
  `id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `notification_key` varchar(100) NOT NULL,
  `read_at` datetime NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `user_notification_reads`
--

INSERT INTO `user_notification_reads` (`id`, `user_id`, `notification_key`, `read_at`) VALUES
(10, 5, 'recipient-1-menunggu', '2026-06-23 15:39:10'),
(11, 5, 'recipient-1-menunggu_tandatangan', '2026-06-23 17:20:56'),
(12, 5, 'recipient-8-menunggu', '2026-06-24 17:19:28'),
(13, 1, 'creator-rejected-3-20260624172001', '2026-06-24 17:20:36'),
(14, 4, 'recipient-2-menunggu', '2026-06-24 17:28:34'),
(15, 5, 'recipient-11-menunggu', '2026-06-26 10:39:20');

-- --------------------------------------------------------

--
-- Table structure for table `user_permissions`
--

CREATE TABLE `user_permissions` (
  `id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `module` varchar(50) NOT NULL,
  `action` varchar(50) NOT NULL,
  `is_allowed` tinyint(1) NOT NULL DEFAULT 0,
  `updated_by` int(11) DEFAULT NULL,
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `activity_logs`
--
ALTER TABLE `activity_logs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_user_id` (`user_id`),
  ADD KEY `idx_created_at` (`created_at`),
  ADD KEY `idx_activity_type` (`activity_type`),
  ADD KEY `idx_user_role` (`user_role`);

--
-- Indexes for table `custom_fields`
--
ALTER TABLE `custom_fields`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_field` (`module`,`field_key`);

--
-- Indexes for table `department_permissions`
--
ALTER TABLE `department_permissions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_department_module_action` (`department`,`module`,`action`),
  ADD KEY `idx_department_permissions_department` (`department`);

--
-- Indexes for table `documents`
--
ALTER TABLE `documents`
  ADD PRIMARY KEY (`id`),
  ADD KEY `folder_id` (`folder_id`),
  ADD KEY `idx_file_numbering` (`file_numbering`);

--
-- Indexes for table `document_attachments`
--
ALTER TABLE `document_attachments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_document_attachments_document_id` (`document_id`);

--
-- Indexes for table `document_delete_log`
--
ALTER TABLE `document_delete_log`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_document_delete_log_deleted_at` (`deleted_at`);

--
-- Indexes for table `folders`
--
ALTER TABLE `folders`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `folder_code` (`folder_code`),
  ADD KEY `idx_department` (`department`);

--
-- Indexes for table `folder_delete_log`
--
ALTER TABLE `folder_delete_log`
  ADD PRIMARY KEY (`id`),
  ADD KEY `deleted_by` (`deleted_by`),
  ADD KEY `idx_folder_delete_log_deleted_at` (`deleted_at`);

--
-- Indexes for table `letter_approval_recipients`
--
ALTER TABLE `letter_approval_recipients`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_letter_approval_draft_user` (`draft_id`,`user_id`),
  ADD KEY `idx_letter_approval_draft` (`draft_id`),
  ADD KEY `idx_letter_approval_user_status` (`user_id`,`status`),
  ADD KEY `idx_letter_approval_draft_order` (`draft_id`,`route_order`);

--
-- Indexes for table `letter_drafts`
--
ALTER TABLE `letter_drafts`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_letter_drafts_document_id` (`document_id`),
  ADD KEY `idx_letter_drafts_folder_id` (`folder_id`),
  ADD KEY `idx_letter_drafts_department` (`department`),
  ADD KEY `idx_letter_drafts_ref_no` (`ref_no`),
  ADD KEY `idx_letter_drafts_deleted_at` (`deleted_at`);

--
-- Indexes for table `letter_templates`
--
ALTER TABLE `letter_templates`
  ADD PRIMARY KEY (`template_id`),
  ADD UNIQUE KEY `uniq_letter_templates_name` (`template_name`);

--
-- Indexes for table `password_resets`
--
ALTER TABLE `password_resets`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_password_resets_email` (`email`),
  ADD KEY `idx_password_resets_expires_at` (`expires_at`);

--
-- Indexes for table `role_permissions`
--
ALTER TABLE `role_permissions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_perm` (`role_name`,`module`,`action`);

--
-- Indexes for table `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `ic_number` (`ic_number`),
  ADD UNIQUE KEY `email` (`email`);

--
-- Indexes for table `user_notification_reads`
--
ALTER TABLE `user_notification_reads`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_user_notification_read` (`user_id`,`notification_key`),
  ADD KEY `idx_user_notification_reads_user` (`user_id`);

--
-- Indexes for table `user_permissions`
--
ALTER TABLE `user_permissions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_user_module_action` (`user_id`,`module`,`action`),
  ADD KEY `idx_user_permissions_user_id` (`user_id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `activity_logs`
--
ALTER TABLE `activity_logs`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=216;

--
-- AUTO_INCREMENT for table `custom_fields`
--
ALTER TABLE `custom_fields`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `department_permissions`
--
ALTER TABLE `department_permissions`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=267;

--
-- AUTO_INCREMENT for table `documents`
--
ALTER TABLE `documents`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT for table `document_attachments`
--
ALTER TABLE `document_attachments`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT for table `document_delete_log`
--
ALTER TABLE `document_delete_log`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT for table `folders`
--
ALTER TABLE `folders`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT for table `folder_delete_log`
--
ALTER TABLE `folder_delete_log`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `letter_approval_recipients`
--
ALTER TABLE `letter_approval_recipients`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

--
-- AUTO_INCREMENT for table `letter_drafts`
--
ALTER TABLE `letter_drafts`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT for table `letter_templates`
--
ALTER TABLE `letter_templates`
  MODIFY `template_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=41;

--
-- AUTO_INCREMENT for table `password_resets`
--
ALTER TABLE `password_resets`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=21;

--
-- AUTO_INCREMENT for table `role_permissions`
--
ALTER TABLE `role_permissions`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=92;

--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;

--
-- AUTO_INCREMENT for table `user_notification_reads`
--
ALTER TABLE `user_notification_reads`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=16;

--
-- AUTO_INCREMENT for table `user_permissions`
--
ALTER TABLE `user_permissions`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- Constraints for dumped tables
--

--
-- Constraints for table `documents`
--
ALTER TABLE `documents`
  ADD CONSTRAINT `documents_ibfk_1` FOREIGN KEY (`folder_id`) REFERENCES `folders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `document_attachments`
--
ALTER TABLE `document_attachments`
  ADD CONSTRAINT `fk_document_attachments_document` FOREIGN KEY (`document_id`) REFERENCES `documents` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `folder_delete_log`
--
ALTER TABLE `folder_delete_log`
  ADD CONSTRAINT `folder_delete_log_ibfk_1` FOREIGN KEY (`deleted_by`) REFERENCES `users` (`id`);
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 */;
