-- Citizen System - PRZYKŁADOWI UŻYTKOWNICY
-- Utworzono: 17 listopada 2025
-- Opis: Przykładowi użytkownicy dla wszystkich systemów
-- ================================================================

USE lspd_mdt;

-- ================================================================
-- 1. WEB USERS - Użytkownicy głównego systemu
-- ================================================================
-- Hasła: admin123, officer123, user123 (wszystkie zahashowane bcrypt)

-- Najpierw sprawdź czy tabela web_users_new istnieje, jeśli nie - utwórz ją
CREATE TABLE IF NOT EXISTS web_users_new (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) UNIQUE NOT NULL,
    password VARCHAR(255) NOT NULL,
    fullname VARCHAR(200) NOT NULL,
    avatar VARCHAR(500) DEFAULT 'avatars/default.jpeg',
    email VARCHAR(255) UNIQUE,
    role ENUM('admin', 'superadmin', 'creator', 'officer', 'user') DEFAULT 'user',
    rank VARCHAR(100) DEFAULT 'Recruit',
    active BOOLEAN DEFAULT TRUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    last_login TIMESTAMP NULL,
    ip_address VARCHAR(45),
    session_token VARCHAR(255),
    INDEX idx_username (username),
    INDEX idx_email (email),
    INDEX idx_role (role),
    INDEX idx_active (active)
);

-- Utwórz VIEW jeśli nie istnieje
DROP VIEW IF EXISTS web_users;
CREATE VIEW web_users AS SELECT * FROM web_users_new;

INSERT IGNORE INTO web_users_new (username, password, fullname, email, role, rank, active, avatar) VALUES
('admin', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', 'Chief James Thompson', 'chief@lspd.gov', 'superadmin', 'Chief of Police', TRUE, 'avatars/default.jpeg'),
('creator', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', 'System Administrator', 'sysadmin@lspd.gov', 'creator', 'System Admin', TRUE, 'avatars/default.jpeg'),
('johnson', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', 'Officer Michael Johnson', 'mjohnson@lspd.gov', 'officer', 'Officer II', TRUE, 'avatars/default.jpeg'),
('smith', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', 'Detective Sarah Smith', 'ssmith@lspd.gov', 'officer', 'Detective I', TRUE, 'avatars/default.jpeg'),
('williams', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', 'Sergeant David Williams', 'dwilliams@lspd.gov', 'admin', 'Sergeant II', TRUE, 'avatars/default.jpeg'),
('garcia', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', 'Officer Maria Garcia', 'mgarcia@lspd.gov', 'officer', 'Officer I', TRUE, 'avatars/default.jpeg'),
('martinez', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', 'Lieutenant Carlos Martinez', 'cmartinez@lspd.gov', 'admin', 'Lieutenant', TRUE, 'avatars/default.jpeg'),
('brown', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', 'Officer Robert Brown', 'rbrown@lspd.gov', 'officer', 'Officer III', TRUE, 'avatars/default.jpeg'),
('davis', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', 'Detective Jennifer Davis', 'jdavis@lspd.gov', 'officer', 'Detective II', TRUE, 'avatars/default.jpeg'),
('wilson', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', 'Captain Thomas Wilson', 'twilson@lspd.gov', 'admin', 'Captain', TRUE, 'avatars/default.jpeg');

-- ================================================================
-- 2. LSPD MAILBOX USERS - System wewnętrznej komunikacji
-- ================================================================
-- Hasło: lspd123 (zahashowane bcrypt: $2b$10$YourBcryptHashHere)

INSERT IGNORE INTO lspd_mailbox_users_new (badge_number, fullname, rank, department, email, password, is_active, hr_access, psb_access, command_access) VALUES
('1000', 'Chief James Thompson', 'Chief of Police', 'Administration', 'chief@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, TRUE, TRUE, TRUE),
('1001', 'Officer Michael Johnson', 'Officer II', 'Patrol Division', 'mjohnson@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, FALSE, FALSE, FALSE),
('1002', 'Detective Sarah Smith', 'Detective I', 'Criminal Investigations', 'ssmith@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, FALSE, FALSE, FALSE),
('1003', 'Sergeant David Williams', 'Sergeant II', 'Patrol Division', 'dwilliams@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, FALSE, TRUE, FALSE),
('1004', 'Officer Maria Garcia', 'Officer I', 'Traffic Division', 'mgarcia@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, FALSE, FALSE, FALSE),
('1005', 'Lieutenant Carlos Martinez', 'Lieutenant', 'Administration', 'cmartinez@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, TRUE, FALSE, TRUE),
('1006', 'Officer Robert Brown', 'Officer III', 'Patrol Division', 'rbrown@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, FALSE, FALSE, FALSE),
('1007', 'Detective Jennifer Davis', 'Detective II', 'Criminal Investigations', 'jdavis@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, FALSE, FALSE, FALSE),
('1008', 'Captain Thomas Wilson', 'Captain', 'Command Staff', 'twilson@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, FALSE, FALSE, TRUE),
('1009', 'Officer Emily Anderson', 'Officer I', 'Community Relations', 'eanderson@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, TRUE, FALSE, FALSE),
('1010', 'Sergeant Mark Taylor', 'Sergeant I', 'Traffic Division', 'mtaylor@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, FALSE, TRUE, FALSE),
('1011', 'Officer Lisa Moore', 'Officer II', 'K-9 Unit', 'lmoore@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, FALSE, FALSE, FALSE),
('1012', 'Detective Kevin Jackson', 'Detective I', 'Narcotics Division', 'kjackson@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, FALSE, FALSE, FALSE),
('1013', 'Officer Amanda White', 'Officer III', 'SWAT', 'awhite@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, FALSE, FALSE, FALSE),
('1014', 'Lieutenant Rachel Harris', 'Lieutenant', 'Internal Affairs', 'rharris@lspd.gov', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, FALSE, TRUE, TRUE);

-- ================================================================
-- 3. PRZYKŁADOWE WIADOMOŚCI W SYSTEMIE MAILBOX
-- ================================================================

INSERT IGNORE INTO lspd_mailbox_new (from_badge, to_badge, subject, message, priority, is_read) VALUES
-- Wiadomości dla Officer Johnson (Badge 1001)
('1000', '1001', 'Witamy w systemie mailbox LSPD', 'Witaj w nowym systemie wiadomości wewnętrznych LSPD. System obsługuje wiele zaawansowanych funkcji takich jak wyszukiwanie, sortowanie, oznaczanie gwiazdkami i wiele więcej. W razie pytań, skontaktuj się z działem IT.', 'high', FALSE),
('1002', '1001', 'Współpraca przy sprawie #2024-1156', 'Potrzebuję Twojej pomocy przy sprawie dotyczącej kradzieży. Czy możesz dostarczyć raport z patrolu z 15 listopada w rejonie Vinewood Hills? To pilne.', 'urgent', FALSE),
('1003', '1001', 'Harmonogram patroli - Grudzień 2025', 'Przesyłam wstępny harmonogram patroli na grudzień. Sprawdź swoje zmiany i daj znać jeśli są jakieś konflikty terminów.', 'normal', FALSE),

-- Wiadomości dla Detective Smith (Badge 1002)
('1008', '1002', 'Budżet na Q1 2026', 'Proszę o przedstawienie preliminarnego budżetu dla wydziału dochodzeniowego na pierwszy kwartał 2026 roku. Termin: 30 listopada.', 'high', FALSE),
('1007', '1002', 'Konsultacja sprawy', 'Mam sprawę która może być powiązana z Twoim dochodzeniem. Możemy się spotkać jutro o 14:00?', 'normal', FALSE),

-- Wiadomości dla Sergeant Williams (Badge 1003)
('1005', '1003', 'Szkolenie z nowych procedur', 'W przyszłym tygodniu odbędzie się obowiązkowe szkolenie dotyczące nowych procedur zatrzymań. Środa, 10:00, sala konferencyjna A.', 'high', FALSE),
('1006', '1003', 'Raport z incydentu', 'Przesyłam raport z incydentu który miał miejsce wczoraj wieczorem. Wszystko załatwione zgodnie z procedurą.', 'normal', TRUE),

-- Wiadomości systemowe dla wszystkich
('SYSTEM', '1004', 'Aktualizacja systemu MDT', 'System MDT zostanie zaktualizowany w sobotę między 2:00 a 6:00 rano. W tym czasie system może być niedostępny.', 'normal', FALSE),
('HR-001', '1009', 'Roczna ocena wydajności', 'Przypominamy o zbliżającym się terminie rocznej oceny wydajności. Proszę wypełnić formularz samooceny do 25 listopada.', 'normal', FALSE),
('CMD-001', '1014', 'Narada kadry dowódczej', 'Narada kadry dowódczej odbędzie się w piątek o 9:00. Obecność obowiązkowa. Agenda zostanie przesłana dzień wcześniej.', 'urgent', FALSE);

-- ================================================================
-- 4. CIVILIAN USERS - Użytkownicy cywilni
-- ================================================================
-- Hasło: civilian123 (zahashowane bcrypt)

INSERT IGNORE INTO civilian_users_new (first_name, last_name, email, phone, password, is_active, ip_address) VALUES
('John', 'Doe', 'john.doe@email.com', '555-0101', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, '192.168.1.100'),
('Jane', 'Smith', 'jane.smith@email.com', '555-0102', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, '192.168.1.101'),
('Robert', 'Johnson', 'robert.j@email.com', '555-0103', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, '192.168.1.102'),
('Emily', 'Williams', 'emily.w@email.com', '555-0104', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, '192.168.1.103'),
('Michael', 'Brown', 'michael.b@email.com', '555-0105', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, '192.168.1.104'),
('Sarah', 'Davis', 'sarah.davis@email.com', '555-0106', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, '192.168.1.105'),
('David', 'Martinez', 'david.m@email.com', '555-0107', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, '192.168.1.106'),
('Lisa', 'Garcia', 'lisa.garcia@email.com', '555-0108', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, '192.168.1.107'),
('James', 'Rodriguez', 'james.r@email.com', '555-0109', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, '192.168.1.108'),
('Maria', 'Wilson', 'maria.wilson@email.com', '555-0110', '$2b$10$rQJHzE3jKZ0YvYXO9g0yC.F3VHWdXJ0aB8n1YXZqfZzLGfRQZJXKO', TRUE, '192.168.1.109');

-- ================================================================
-- PODSUMOWANIE UTWORZONYCH UŻYTKOWNIKÓW
-- ================================================================

/*
=== WEB USERS (Główny system) ===
Username: admin     | Hasło: admin123    | Rola: superadmin
Username: creator   | Hasło: admin123    | Rola: creator
Username: johnson   | Hasło: admin123    | Rola: officer
Username: smith     | Hasło: admin123    | Rola: officer
Username: williams  | Hasło: admin123    | Rola: admin
Username: garcia    | Hasło: admin123    | Rola: officer
Username: martinez  | Hasło: admin123    | Rola: admin
Username: brown     | Hasło: admin123    | Rola: officer
Username: davis     | Hasło: admin123    | Rola: officer
Username: wilson    | Hasło: admin123    | Rola: admin

=== MAILBOX USERS (System komunikacji LSPD) ===
Badge: 1000 | Hasło: lspd123 | Chief James Thompson
Badge: 1001 | Hasło: lspd123 | Officer Michael Johnson
Badge: 1002 | Hasło: lspd123 | Detective Sarah Smith
Badge: 1003 | Hasło: lspd123 | Sergeant David Williams
Badge: 1004 | Hasło: lspd123 | Officer Maria Garcia
Badge: 1005 | Hasło: lspd123 | Lieutenant Carlos Martinez
Badge: 1006 | Hasło: lspd123 | Officer Robert Brown
Badge: 1007 | Hasło: lspd123 | Detective Jennifer Davis
Badge: 1008 | Hasło: lspd123 | Captain Thomas Wilson
Badge: 1009 | Hasło: lspd123 | Officer Emily Anderson
Badge: 1010 | Hasło: lspd123 | Sergeant Mark Taylor
Badge: 1011 | Hasło: lspd123 | Officer Lisa Moore
Badge: 1012 | Hasło: lspd123 | Detective Kevin Jackson
Badge: 1013 | Hasło: lspd123 | Officer Amanda White
Badge: 1014 | Hasło: lspd123 | Lieutenant Rachel Harris

=== CIVILIAN USERS (System cywilny) ===
Email: john.doe@email.com       | Hasło: civilian123
Email: jane.smith@email.com     | Hasło: civilian123
Email: robert.j@email.com       | Hasło: civilian123
Email: emily.w@email.com        | Hasło: civilian123
Email: michael.b@email.com      | Hasło: civilian123
Email: sarah.davis@email.com    | Hasło: civilian123
Email: david.m@email.com        | Hasło: civilian123
Email: lisa.garcia@email.com    | Hasło: civilian123
Email: james.r@email.com        | Hasło: civilian123
Email: maria.wilson@email.com   | Hasło: civilian123

=== WIADOMOŚCI MAILBOX ===
- 11 przykładowych wiadomości w systemie
- Różne priorytety (normal, high, urgent)
- Różne kategorie (general, case, schedule, administrative, training, report, system, hr, meeting)
*/

SELECT 'Baza danych została wypełniona przykładowymi użytkownikami!' AS Status;
