updated scheme

This commit is contained in:
2025-11-23 20:07:17 +01:00
parent 07d194ee6a
commit baa74adcc1

View File

@@ -8,31 +8,31 @@ TRUNCATE TABLE items;
TRUNCATE TABLE users;
SET FOREIGN_KEY_CHECKS = 1;
-- Users (roles 16, plain-text passwords)
-- Users (roles 16, plain-text passwords; is_admin is BOOL)
INSERT INTO users (username, password, email, first_name, last_name, role, is_admin) VALUES
('admin', 'adminpass', 'admin@example.com', 'System', 'Admin', 6, true),
('alice', 'alice123', 'alice@example.com', 'Alice', 'Andersen',1, false),
('bob', 'bob12345', 'bob@example.com', 'Bob', 'Berg', 2, false),
('carol', 'carol123', 'carol@example.com', 'Carol', 'Christensen', 3, false),
('dave', 'dave123', 'dave@example.com', 'Dave', 'Dahl', 4, false),
('erin', 'erin123', 'erin@example.com', 'Erin', 'Enevoldsen', 5, false),
('frank', 'frank123', 'frank@example.com', 'Frank', 'Fisher', 2, false),
('grace', 'grace123', 'grace@example.com', 'Grace', 'Gundersen',1, false),
('heidi', 'heidi123', 'heidi@example.com', 'Heidi', 'Hansen', 4, false),
('tech', 'techpass', 'tech@example.com', 'Tech', 'User', 5, true);
('admin', 'adminpass', 'admin@example.com', 'System', 'Admin', 6, TRUE),
('alice', 'alice123', 'alice@example.com', 'Alice', 'Andersen',1, FALSE),
('bob', 'bob12345', 'bob@example.com', 'Bob', 'Berg', 2, FALSE),
('carol', 'carol123', 'carol@example.com', 'Carol', 'Christensen', 3, FALSE),
('dave', 'dave123', 'dave@example.com', 'Dave', 'Dahl', 4, FALSE),
('erin', 'erin123', 'erin@example.com', 'Erin', 'Enevoldsen', 5, FALSE),
('frank', 'frank123', 'frank@example.com', 'Frank', 'Fisher', 2, FALSE),
('grace', 'grace123', 'grace@example.com', 'Grace', 'Gundersen',1, FALSE),
('heidi', 'heidi123', 'heidi@example.com', 'Heidi', 'Hansen', 4, FALSE),
('tech', 'techpass', 'tech@example.com', 'Tech', 'User', 5, TRUE);
-- Items (safe_nr is two digits or NULL; currently_borrowing aligns with active loans)
-- Items (safe_nr is two digits or NULL; matches CHECK and UNIQUE constraint)
INSERT INTO items (item_name, can_borrow_role, in_safe, safe_nr, last_borrowed_person, currently_borrowing) VALUES
('Laptop A', 2, false, NULL, 'grace', 'bob'),
('Laptop B', 2, true, '01', NULL, NULL),
('Camera Canon', 3, true, '02', 'erin', NULL),
('Microphone Rode', 1, true, '03', 'grace', NULL),
('Tripod Manfrotto', 1, true, '04', 'frank', NULL),
('Oscilloscope Tek', 4, true, '05', NULL, NULL),
('VR Headset', 3, false, NULL, 'heidi', 'carol'),
('Keycard Programmer', 6, true, '06', 'admin', NULL);
('Laptop A', 2, FALSE, NULL, 'grace', 'bob'),
('Laptop B', 2, TRUE, '01', NULL, NULL),
('Camera Canon', 3, TRUE, '02', 'erin', NULL),
('Microphone Rode', 1, TRUE, '03', 'grace', NULL),
('Tripod Manfrotto', 1, TRUE, '04', 'frank', NULL),
('Oscilloscope Tek', 4, TRUE, '05', NULL, NULL),
('VR Headset', 3, FALSE, NULL, 'heidi', 'carol'),
('Keycard Programmer', 6, TRUE, '06', 'admin', NULL);
-- Loans (JSON arrays, 6-digit numeric loan_code)
-- Loans (JSON strings, 6-digit numeric loan_code per CHECK)
-- Assumes the items above have ids 1..8 in insert order
INSERT INTO loans (
username,
@@ -47,7 +47,7 @@ INSERT INTO loans (
deleted,
note
) VALUES
-- Active loan: bob has Laptop A
-- Active loan: bob has Laptop A (item id 1, locker "01")
('bob',
'["01"]',
'123456',
@@ -57,10 +57,10 @@ INSERT INTO loans (
NULL,
'[1]',
'["Laptop A"]',
false,
FALSE,
'Active loan - Laptop A'
),
-- Returned loan: frank had Tripod Manfrotto
-- Returned loan: frank had Tripod Manfrotto (item id 5, locker "04")
('frank',
'["04"]',
'234567',
@@ -70,10 +70,10 @@ INSERT INTO loans (
'2025-10-05 15:30:00',
'[5]',
'["Tripod Manfrotto"]',
false,
FALSE,
'Completed loan'
),
-- Future reservation: dave will take Oscilloscope Tek
-- Future reservation: dave will take Oscilloscope Tek (item id 6, locker "05")
('dave',
'["05"]',
'345678',
@@ -83,10 +83,10 @@ INSERT INTO loans (
NULL,
'[6]',
'["Oscilloscope Tek"]',
false,
FALSE,
'Reserved'
),
-- Active loan: carol has VR Headset
-- Active loan: carol has VR Headset (item id 7, locker "02")
('carol',
'["02"]',
'456789',
@@ -96,10 +96,10 @@ INSERT INTO loans (
NULL,
'[7]',
'["VR Headset"]',
false,
FALSE,
'Active loan - VR Headset'
),
-- Soft-deleted historic loan: grace had Microphone + Tripod
-- Soft-deleted historic loan: grace had Microphone + Tripod (item ids 4,5; lockers "03","04")
('grace',
'["03","04"]',
'567890',
@@ -109,11 +109,11 @@ INSERT INTO loans (
'2025-09-03 16:45:00',
'[4,5]',
'["Microphone Rode","Tripod Manfrotto"]',
true,
TRUE,
'Canceled/soft-deleted record'
);
-- API keys (8-digit numeric keys)
-- API keys (8-digit numeric keys per CHECK)
INSERT INTO apiKeys (api_key, entry_name, last_used_at) VALUES
('12345678', 'CI token', '2025-11-15 08:00:00'),
('87654321', 'Local dev', NULL),