⚝
One Hat Cyber Team
⚝
Your IP:
216.73.217.70
Server IP:
209.74.65.82
Server:
Linux 209-74-65-82.cprapid.com 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
PHP Version:
8.1.34
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
ivsoxidh
/
system.ivsoftdesign.mk
/
Viewing : schema.sql
-- Ivsoft Leave (v2) — Schema & Seed SET NAMES utf8mb4; SET time_zone = '+00:00'; CREATE TABLE IF NOT EXISTS teams ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL UNIQUE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS users ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(190) NOT NULL UNIQUE, password_hash VARCHAR(255) NOT NULL, role ENUM('admin','employee') NOT NULL DEFAULT 'employee', team_id INT UNSIGNED DEFAULT NULL, country CHAR(2) NOT NULL DEFAULT 'MK', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, CONSTRAINT fk_user_team FOREIGN KEY (team_id) REFERENCES teams(id) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS holidays ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, country CHAR(2) NOT NULL, date DATE NOT NULL, name VARCHAR(120) NOT NULL, UNIQUE KEY uq_country_date (country, date) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS leave_days ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, user_id INT UNSIGNED NOT NULL, date DATE NOT NULL, reason VARCHAR(255) DEFAULT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, UNIQUE KEY uq_user_date (user_id, date), CONSTRAINT fk_leave_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS leave_requests ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, user_id INT UNSIGNED NOT NULL, start_date DATE NOT NULL, end_date DATE NOT NULL, reason VARCHAR(255) DEFAULT NULL, status ENUM('pending','approved','rejected') NOT NULL DEFAULT 'pending', reviewed_by INT UNSIGNED DEFAULT NULL, reviewed_at TIMESTAMP NULL DEFAULT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, CONSTRAINT fk_req_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE, CONSTRAINT fk_req_reviewer FOREIGN KEY (reviewed_by) REFERENCES users(id) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- Seed: teams INSERT INTO teams (name) VALUES ('Marketing'), ('Development') ON DUPLICATE KEY UPDATE name=name; -- Seed: users (demo) -- admin: admin@ivsoftdesign.mk / Admin123! INSERT INTO users (name, email, password_hash, role, team_id, country) VALUES ('Admin', 'admin@ivsoftdesign.mk', '$2y$10$6T5mYV5T3n6yVxAfz07HsurwGrk7o9xkjVvH3S0xgwdA7iQmgBYf2', 'admin', NULL, 'MK') ON DUPLICATE KEY UPDATE email=email; -- employee password hash '123456' INSERT INTO users (name, email, password_hash, role, team_id, country) VALUES ('Filip', 'filip@example.com', '$2y$10$0fL3z5YFf2aY3pW3w0nYEO5QAGn0g3nY2V9b4G0kZ2D8b8bV7Y3kG', 'employee', 2, 'MK'), ('Verica', 'verica@example.com', '$2y$10$0fL3z5YFf2aY3pW3w0nYEO5QAGn0g3nY2V9b4G0kZ2D8b8bV7Y3kG', 'employee', 1, 'MK'), ('Vineta', 'vineta@example.com', '$2y$10$0fL3z5YFf2aY3pW3w0nYEO5QAGn0g3nY2V9b4G0kZ2D8b8bV7Y3kG', 'employee', 1, 'MK') ON DUPLICATE KEY UPDATE email=email; -- Seed: holidays for MK (examples; extend as needed) INSERT INTO holidays (country, date, name) VALUES ('MK','2025-01-01','New Year'), ('MK','2025-01-07','Christmas'), ('MK','2025-05-01','Labour Day'), ('MK','2025-05-24','Saints Cyril & Methodius'), ('MK','2025-08-02','Ilinden'), ('MK','2025-09-08','Independence Day'), ('MK','2025-10-23','Revolution Day'), ('MK','2025-12-08','St. Clement') ON DUPLICATE KEY UPDATE name=VALUES(name);