| 1 | SET search_path TO project;
|
|---|
| 2 |
|
|---|
| 3 | TRUNCATE TABLE
|
|---|
| 4 | approvals,
|
|---|
| 5 | reservation_equipment,
|
|---|
| 6 | reservations,
|
|---|
| 7 | room_equipment,
|
|---|
| 8 | equipment,
|
|---|
| 9 | rooms,
|
|---|
| 10 | users,
|
|---|
| 11 | buildings
|
|---|
| 12 | RESTART IDENTITY CASCADE;
|
|---|
| 13 |
|
|---|
| 14 | INSERT INTO buildings (building_id, name, address) VALUES
|
|---|
| 15 | (1, 'Main Faculty Building', 'Rugjer Boshkovikj 16, Skopje'),
|
|---|
| 16 | (2, 'Laboratory Building', 'Rugjer Boshkovikj 16A, Skopje'),
|
|---|
| 17 | (3, 'Administration Building', 'Rugjer Boshkovikj 18, Skopje');
|
|---|
| 18 |
|
|---|
| 19 | INSERT INTO rooms (room_id, building_id, room_code, capacity, type) VALUES
|
|---|
| 20 | (1, 1, 'B1-101', 60, 'classroom'),
|
|---|
| 21 | (2, 1, 'B1-204', 35, 'meeting_room'),
|
|---|
| 22 | (3, 2, 'LAB-1', 25, 'lab'),
|
|---|
| 23 | (4, 2, 'LAB-2', 20, 'lab'),
|
|---|
| 24 | (5, 3, 'ADM-12', 10, 'office');
|
|---|
| 25 |
|
|---|
| 26 | INSERT INTO equipment (equipment_id, name, stock_quantity) VALUES
|
|---|
| 27 | (1, 'Projector', 3),
|
|---|
| 28 | (2, 'Whiteboard', 0),
|
|---|
| 29 | (3, 'Microphone', 5),
|
|---|
| 30 | (4, 'Computer Workstation', 0),
|
|---|
| 31 | (5, 'Video Conference Camera', 2),
|
|---|
| 32 | (6, 'HDMI Cable', 12),
|
|---|
| 33 | (7, 'Extension Cable', 8);
|
|---|
| 34 |
|
|---|
| 35 | INSERT INTO room_equipment (room_id, equipment_id, quantity) VALUES
|
|---|
| 36 | (1, 1, 1),
|
|---|
| 37 | (1, 2, 1),
|
|---|
| 38 | (2, 2, 1),
|
|---|
| 39 | (2, 3, 2),
|
|---|
| 40 | (2, 5, 1),
|
|---|
| 41 | (3, 1, 1),
|
|---|
| 42 | (3, 2, 1),
|
|---|
| 43 | (3, 4, 15),
|
|---|
| 44 | (4, 2, 1),
|
|---|
| 45 | (4, 4, 12),
|
|---|
| 46 | (5, 2, 1);
|
|---|
| 47 |
|
|---|
| 48 | INSERT INTO users (user_id, username, email, full_name, role) VALUES
|
|---|
| 49 | (1, 'nikola', 'nikola.sarafimov@example.com', 'Nikola Sarafimov', 'regular'),
|
|---|
| 50 | (2, 'admin', 'admin.room@example.com', 'System Administrator', 'admin'),
|
|---|
| 51 | (3, 'approver1', 'approver1.room@example.com', 'Reservation Approver One', 'approver'),
|
|---|
| 52 | (4, 'professor1', 'professor1@example.com', 'Professor User', 'regular'),
|
|---|
| 53 | (5, 'assistant1', 'assistant1@example.com', 'Teaching Assistant User', 'regular');
|
|---|
| 54 |
|
|---|
| 55 | INSERT INTO reservations (
|
|---|
| 56 | reservation_id,
|
|---|
| 57 | room_id,
|
|---|
| 58 | user_id,
|
|---|
| 59 | reservation_date,
|
|---|
| 60 | start_time,
|
|---|
| 61 | end_time,
|
|---|
| 62 | status
|
|---|
| 63 | ) VALUES
|
|---|
| 64 | (1, 1, 1, DATE '2026-02-10', TIME '10:00', TIME '12:00', 'pending'),
|
|---|
| 65 | (2, 2, 4, DATE '2026-02-10', TIME '13:00', TIME '14:30', 'approved'),
|
|---|
| 66 | (3, 3, 5, DATE '2026-02-11', TIME '09:00', TIME '11:00', 'approved'),
|
|---|
| 67 | (4, 4, 1, DATE '2026-02-12', TIME '12:00', TIME '13:00', 'cancelled'),
|
|---|
| 68 | (5, NULL, 4, DATE '2026-02-13', TIME '15:00', TIME '16:00', 'rejected'),
|
|---|
| 69 | (6, 1, 5, DATE '2026-02-14', TIME '08:00', TIME '10:00', 'approved'),
|
|---|
| 70 | (7, NULL, 1, DATE '2026-02-14', TIME '11:00', TIME '12:00', 'pending');
|
|---|
| 71 |
|
|---|
| 72 | INSERT INTO reservation_equipment (
|
|---|
| 73 | reservation_id,
|
|---|
| 74 | equipment_id,
|
|---|
| 75 | requested_quantity
|
|---|
| 76 | ) VALUES
|
|---|
| 77 | (1, 6, 2),
|
|---|
| 78 | (1, 7, 1),
|
|---|
| 79 | (2, 5, 1),
|
|---|
| 80 | (3, 3, 1),
|
|---|
| 81 | (5, 1, 1),
|
|---|
| 82 | (5, 6, 2),
|
|---|
| 83 | (6, 3, 2),
|
|---|
| 84 | (7, 6, 3),
|
|---|
| 85 | (7, 7, 2);
|
|---|
| 86 |
|
|---|
| 87 | INSERT INTO approvals (
|
|---|
| 88 | approval_id,
|
|---|
| 89 | reservation_id,
|
|---|
| 90 | approver_id,
|
|---|
| 91 | decision,
|
|---|
| 92 | decision_time,
|
|---|
| 93 | note
|
|---|
| 94 | ) VALUES
|
|---|
| 95 | (1, 2, 3, 'approved', TIMESTAMP '2026-02-09 15:30:00', 'Approved for department meeting.'),
|
|---|
| 96 | (2, 3, 3, 'approved', TIMESTAMP '2026-02-10 12:15:00', 'Approved for laboratory exercise.'),
|
|---|
| 97 | (3, 5, 2, 'rejected', TIMESTAMP '2026-02-12 10:00:00', 'Rejected because the requested portable projector is not available.'),
|
|---|
| 98 | (4, 6, 2, 'approved', TIMESTAMP '2026-02-13 09:45:00', 'Approved for morning lecture with additional microphones.'); |
|---|