-- =============================================================
--  CityFix - data_load.sql
--  Внесување на примерни податоци во шемата project
--  Скриптата може да се извршува повеќепати: ги брише
--  постоечките податоци и ги внесува одново.
-- =============================================================

SET search_path TO project;

TRUNCATE TABLE assignments, comments, status_logs, photos, reports,
               categories, citizens, workers, admins
RESTART IDENTITY CASCADE;


INSERT INTO admins (admin_id, full_name, email, password) VALUES
  (1, 'Марија Стојановска', 'marija.stojanovska@skopje.gov.mk', '$2b$10$WEnFL9TWe0PewxP/n.6v//neU4NOzvT4l6gJKDGWqicnHsQTd15Vq'),
  (2, 'Александар Петровски', 'aleksandar.petrovski@skopje.gov.mk', '$2b$10$qsalQokH9YMf0.VrwBL6YQhfEIWy4Y1r0LFTH9A97i.EFeFatRn5t');

INSERT INTO workers (worker_id, full_name, email, password) VALUES
  (1, 'Горан Трајковски', 'goran.trajkovski@skopje.gov.mk', '$2b$10$vsmjcH5FbO4b7tQryMv6tdke5uQiZq8/v/HaiQXCTno3lYuCB/Vtv'),
  (2, 'Бојан Николов', 'bojan.nikolov@skopje.gov.mk', '$2b$10$5rGV3K2aIxakX2joF8/R3GCUVcp9oI14TkLiWohXlu9kj6LYawnl/'),
  (3, 'Ивана Ристеска', 'ivana.risteska@skopje.gov.mk', '$2b$10$TAEN7uSIpp4zFW3wYCZrmr80DdrI3Ony0cs4.zpwXcLSZpE8WD9YB'),
  (4, 'Дејан Јовановски', 'dejan.jovanovski@skopje.gov.mk', '$2b$10$SWsOYMrauBc6A3xx5Gm4KVwtVjZVrtmbEiwySMr0bmIjVCm1JyMti'),
  (5, 'Елена Костова', 'elena.kostova@skopje.gov.mk', '$2b$10$eSrh6eD2PVvWvu6EORSK9Gzm.AQm/e7NAOEB/vUGtlhP2oAq/W5Oz');

INSERT INTO citizens (citizen_id, full_name, email, phone, password) VALUES
  (1, 'Ана Димитриевска', 'ana.dimitrievska@gmail.com', '+38970123456', '$2b$10$MDMkiFB0pzNyzXPtQCwXKOLTh5r/yaHyAZgnNoXBlKlpjNwRDxxfX'),
  (2, 'Никола Георгиев', 'nikola.georgiev@yahoo.com', '+38971234567', '$2b$10$fljceTwp7sCoMJcLkpW6.yJpxpRgKoClRgEXC.E4DmpTUEyJqtJO6'),
  (3, 'Сара Илиевска', 'sara.ilievska@gmail.com', NULL, '$2b$10$KaECBBi4Gxyc5J2hl6ibyTb0F7xZaSHibWZNmj9QLH7LNCex2wtPR'),
  (4, 'Филип Митревски', 'filip.mitrevski@hotmail.com', '+38975345678', '$2b$10$b1FjVKTf7a9jS7W.g3O9mc6g1c3QAs9BbmStBT97XAlDNNeFGLJnz'),
  (5, 'Катерина Андоновска', 'katerina.andonovska@gmail.com', '+38978456789', '$2b$10$CAXAk8GJUMik5sDzqUsGoELH8NPbjmVflBz2swU8b8K26Gy.XyYTa'),
  (6, 'Марко Спасовски', 'marko.spasovski@outlook.com', NULL, '$2b$10$sNBeySL1UVQmZFopfaDdNbTRzawJyma5fLGQpInXFgmOeMGm/OO2g'),
  (7, 'Јована Велкова', 'jovana.velkova@gmail.com', '+38972567890', '$2b$10$mjTHLYSXV2fJ7T3gBvD.GLjDlR0fZ22Xa1eZga..MfnM08sY9oEYS'),
  (8, 'Стефан Здравковски', 'stefan.zdravkovski@gmail.com', '+38976678901', '$2b$10$oBWIjJNyhO5nR5bBtvmsmfHE6Ypy.3A4q1qer7cVVgXvQhfzzBG62');

INSERT INTO categories (category_id, name, admin_id) VALUES
  (1, 'Патишта и тротоари', 1),
  (2, 'Улично осветлување', 1),
  (3, 'Отпад и хигиена', 2),
  (4, 'Водовод и канализација', 2),
  (5, 'Зеленило и паркови', 1),
  (6, 'Сообраќајна сигнализација', 2);

INSERT INTO reports (report_id, description, location_text, latitude, longitude, status, priority, created_at, citizen_id, category_id) VALUES
  (1, 'Длабока дупка на коловозот пред влезот на зградата, возилата ја заобиколуваат и ја користат спротивната лента.', 'бул. Партизански одреди 55, Карпош', 42.00412, 21.40153, 'resolved', 'high', '2026-08-03 08:14', 1, 1),
  (2, 'Не работат три последователни улични светилки, делот од улицата е целосно темен навечер.', 'ул. Никола Парапунов, кај бр. 12, Карпош', NULL, NULL, 'resolved', 'medium', '2026-08-10 21:05', 2, 2),
  (3, 'Преполни контејнери за отпад веќе неколку дена, отпадот е расфрлан околу нив.', 'ул. Јане Сандански 104, Аеродром', 41.98623, 21.46671, 'resolved', 'medium', '2026-08-18 17:40', 3, 3),
  (4, 'Истекува вода од шахта на тротоарот, водата се слева по улицата.', NULL, 41.99641, 21.42588, 'in_progress', 'urgent', '2026-08-25 06:55', 4, 4),
  (5, 'Скршена клупа и паднати гранки во паркот, опасно за децата што си играат.', 'Градски парк, кај детското игралиште, Центар', 42.0049, 21.4183, 'resolved', 'high', '2026-08-28 16:20', 5, 5),
  (6, 'Сообраќајниот знак STOP е паднат на крстосницата.', 'крстосница ул. Васил Главинов и ул. Даме Груев, Центар', 41.9958, 21.4289, 'resolved', 'urgent', '2026-09-01 12:30', 6, 6),
  (7, 'Уличната светилка трепка цела ноќ.', 'ул. Орце Николов 88, Карпош', NULL, NULL, 'received', 'low', '2026-09-03 22:10', 1, 2),
  (8, 'Оштетен тротоар со кревање на плочките од корени на дрвја, тешко се поминува со детска количка.', 'бул. Илинден 20, Центар', 42.00045, 21.4162, 'in_progress', 'medium', '2026-09-05 10:45', 7, 1),
  (9, 'Дива депонија со градежен шут покрај реката.', 'кеј на Вардар, под мостот Св. Кирил и Методиј', 41.9993, 21.4351, 'rejected', 'medium', '2026-09-08 09:30', 8, 3),
  (10, 'Затнат одвод на атмосферска канализација, при дожд се собира голема бара.', 'ул. Кузман Јосифовски Питу 15, Аеродром', 41.9876, 21.4702, 'submitted', 'high', '2026-09-12 19:00', 2, 4),
  (11, 'Нова ударна дупка по последните дождови.', NULL, 42.0105, 21.3932, 'submitted', 'low', '2026-09-15 08:05', 5, 1),
  (12, 'Неокосена трева и суви гранки покрај пешачката патека.', 'парк Жена борец, Аеродром', 41.9908, 21.4623, 'received', 'low', '2026-09-16 18:40', 3, 5);

INSERT INTO photos (photo_id, image_url, report_id) VALUES
  (1, '/uploads/reports/1/photo_1.jpg', 1),
  (2, '/uploads/reports/1/photo_2.jpg', 1),
  (3, '/uploads/reports/2/photo_1.jpg', 2),
  (4, '/uploads/reports/3/photo_1.jpg', 3),
  (5, '/uploads/reports/3/photo_2.jpg', 3),
  (6, '/uploads/reports/4/photo_1.jpg', 4),
  (7, '/uploads/reports/5/photo_1.jpg', 5),
  (8, '/uploads/reports/5/photo_2.jpg', 5),
  (9, '/uploads/reports/5/photo_3.jpg', 5),
  (10, '/uploads/reports/6/photo_1.jpg', 6),
  (11, '/uploads/reports/8/photo_1.jpg', 8),
  (12, '/uploads/reports/8/photo_2.jpg', 8),
  (13, '/uploads/reports/9/photo_1.jpg', 9),
  (14, '/uploads/reports/10/photo_1.jpg', 10);

INSERT INTO status_logs (log_id, status, changed_at, note, report_id, worker_id) VALUES
  (1, 'submitted', '2026-08-03 08:14', NULL, 1, NULL),
  (2, 'received', '2026-08-03 10:02', 'Пријавата е проверена на терен.', 1, 1),
  (3, 'in_progress', '2026-08-05 07:30', 'Екипата започна со санација.', 1, 1),
  (4, 'resolved', '2026-08-06 15:45', 'Дупката е пополнета со асфалт.', 1, 1),
  (5, 'submitted', '2026-08-10 21:05', NULL, 2, NULL),
  (6, 'received', '2026-08-11 08:20', NULL, 2, 2),
  (7, 'in_progress', '2026-08-12 09:00', 'Потребна е замена на кабел.', 2, 2),
  (8, 'resolved', '2026-08-14 13:30', 'Светилките се заменети со ЛЕД.', 2, 2),
  (9, 'submitted', '2026-08-18 17:40', NULL, 3, NULL),
  (10, 'received', '2026-08-19 07:50', NULL, 3, 3),
  (11, 'resolved', '2026-08-19 14:10', 'Контејнерите се испразнети и просторот е исчистен.', 3, 3),
  (12, 'submitted', '2026-08-25 06:55', NULL, 4, NULL),
  (13, 'received', '2026-08-25 07:10', 'Итно известен Водовод.', 4, 4),
  (14, 'in_progress', '2026-08-25 08:30', NULL, 4, 4),
  (15, 'submitted', '2026-08-28 16:20', NULL, 5, NULL),
  (16, 'received', '2026-08-29 08:15', NULL, 5, 5),
  (17, 'in_progress', '2026-08-30 08:00', 'Отстранети гранките.', 5, 5),
  (18, 'resolved', '2026-09-02 12:00', 'Клупата е заменета.', 5, 5),
  (19, 'submitted', '2026-09-01 12:30', NULL, 6, NULL),
  (20, 'received', '2026-09-01 12:55', NULL, 6, 1),
  (21, 'resolved', '2026-09-01 17:20', 'Знакот е вратен и зацврстен.', 6, 1),
  (22, 'submitted', '2026-09-03 22:10', NULL, 7, NULL),
  (23, 'received', '2026-09-04 08:30', NULL, 7, 2),
  (24, 'submitted', '2026-09-05 10:45', NULL, 8, NULL),
  (25, 'received', '2026-09-07 09:00', NULL, 8, 1),
  (26, 'in_progress', '2026-09-10 07:45', NULL, 8, 1),
  (27, 'submitted', '2026-09-08 09:30', NULL, 9, NULL),
  (28, 'received', '2026-09-08 13:00', NULL, 9, 3),
  (29, 'rejected', '2026-09-09 10:15', 'Локацијата е во надлежност на друга институција, пријавата е препратена.', 9, 3),
  (30, 'submitted', '2026-09-12 19:00', NULL, 10, NULL),
  (31, 'submitted', '2026-09-15 08:05', NULL, 11, NULL),
  (32, 'submitted', '2026-09-16 18:40', NULL, 12, NULL),
  (33, 'received', '2026-09-17 08:10', NULL, 12, 5);

INSERT INTO comments (comment_id, content, created_at, report_id, worker_id) VALUES
  (1, 'Отстранет оштетениот слој, утре се поставува нов асфалт.', '2026-08-05 12:10', 1, 1),
  (2, 'Санацијата е завршена.', '2026-08-06 15:40', 1, 1),
  (3, 'Утврдено е оштетување на подземниот кабел.', '2026-08-12 11:15', 2, 2),
  (4, 'Заменет кабел и три светилки.', '2026-08-14 13:25', 2, 2),
  (5, 'Предложено е поставување на дополнителен контејнер.', '2026-08-19 14:05', 3, 3),
  (6, 'Затворен вентилот, се чека делот за замена на цевката.', '2026-08-25 11:20', 4, 4),
  (7, 'Тротоарот ќе се санира по завршување на интервенцијата.', '2026-08-26 10:00', 4, 1),
  (8, 'Гранките се отстранети, клупата се нарачува.', '2026-08-30 10:30', 5, 5),
  (9, 'Корените се исечени без оштетување на дрвјата.', '2026-09-09 13:00', 8, 5),
  (10, 'Се поставуваат нови плочки.', '2026-09-10 15:30', 8, 1),
  (11, 'Пријавата е препратена до надлежниот орган.', '2026-09-09 10:10', 9, 3);

INSERT INTO assignments (assignment_id, assigned_at, note, admin_id, report_id, worker_id) VALUES
  (1, '2026-08-03 09:40', 'Итна санација, прометна улица.', 1, 1, 1),
  (2, '2026-08-11 08:05', NULL, 1, 2, 2),
  (3, '2026-08-19 07:30', 'Да се извести и Комунална хигиена.', 2, 3, 3),
  (4, '2026-08-25 07:05', 'Итно, штета на тротоарот.', 2, 4, 4),
  (5, '2026-08-25 09:00', 'Потребна поправка на тротоарот по интервенцијата.', 2, 4, 1),
  (6, '2026-08-29 08:00', NULL, 1, 5, 5),
  (7, '2026-09-01 12:50', 'Опасна крстосница, приоритет.', 2, 6, 1),
  (8, '2026-09-04 08:20', NULL, 1, 7, 2),
  (9, '2026-09-06 11:00', NULL, 1, 8, 1),
  (10, '2026-09-06 11:05', 'Проверка на корените на дрвјата.', 1, 8, 5),
  (11, '2026-09-08 12:30', NULL, 2, 9, 3),
  (12, '2026-09-17 08:00', NULL, 1, 12, 5);

-- Усогласување на секвенците по внесувањето со експлицитни идентификатори
SELECT setval(pg_get_serial_sequence('project.admins', 'admin_id'), (SELECT MAX(admin_id) FROM project.admins));
SELECT setval(pg_get_serial_sequence('project.workers', 'worker_id'), (SELECT MAX(worker_id) FROM project.workers));
SELECT setval(pg_get_serial_sequence('project.citizens', 'citizen_id'), (SELECT MAX(citizen_id) FROM project.citizens));
SELECT setval(pg_get_serial_sequence('project.categories', 'category_id'), (SELECT MAX(category_id) FROM project.categories));
SELECT setval(pg_get_serial_sequence('project.reports', 'report_id'), (SELECT MAX(report_id) FROM project.reports));
SELECT setval(pg_get_serial_sequence('project.photos', 'photo_id'), (SELECT MAX(photo_id) FROM project.photos));
SELECT setval(pg_get_serial_sequence('project.status_logs', 'log_id'), (SELECT MAX(log_id) FROM project.status_logs));
SELECT setval(pg_get_serial_sequence('project.comments', 'comment_id'), (SELECT MAX(comment_id) FROM project.comments));
SELECT setval(pg_get_serial_sequence('project.assignments', 'assignment_id'), (SELECT MAX(assignment_id) FROM project.assignments));
