aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
Diffstat (limited to 'backend')
-rw-r--r--backend/database/dev/beepzone-full-dump.sql131
-rwxr-xr-xbackend/database/dev/export-full-dump.sh4
-rw-r--r--backend/database/dev/update_001_add_tag_generation_string.sql1
-rw-r--r--backend/database/dev/update_002_add_asset_relationships.sql11
-rw-r--r--backend/database/schema/beepzone-schema-dump.sql9
-rw-r--r--backend/seckelapi/Containerfile2
-rw-r--r--backend/seckelapi/config/security.toml19
7 files changed, 111 insertions, 66 deletions
diff --git a/backend/database/dev/beepzone-full-dump.sql b/backend/database/dev/beepzone-full-dump.sql
index dd5f22e..b307cd6 100644
--- a/backend/database/dev/beepzone-full-dump.sql
+++ b/backend/database/dev/beepzone-full-dump.sql
@@ -27,12 +27,12 @@ CREATE TABLE `asset_change_log` (
KEY `idx_record` (`record_id`),
KEY `idx_user` (`changed_by_id`),
CONSTRAINT `asset_change_log_ibfk_1` FOREIGN KEY (`changed_by_id`) REFERENCES `users` (`id`) ON DELETE SET NULL
-) ENGINE=InnoDB AUTO_INCREMENT=221 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+) ENGINE=InnoDB AUTO_INCREMENT=241 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `asset_change_log` WRITE;
/*!40000 ALTER TABLE `asset_change_log` DISABLE KEYS */;
-INSERT INTO `asset_change_log` VALUES (1,'assets','INSERT',1,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"DESK-1\", \"asset_numeric_id\": 75650012, \"asset_type\": \"N\", \"name\": \"Desktop Computer 1\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-1\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:46',1,'admin'),(2,'assets','INSERT',2,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"DESK-2\", \"asset_numeric_id\": 34081098, \"asset_type\": \"N\", \"name\": \"Desktop Computer 2\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-2\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:46',1,'admin'),(3,'assets','INSERT',3,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"DESK-3\", \"asset_numeric_id\": 64139289, \"asset_type\": \"N\", \"name\": \"Desktop Computer 3\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-3\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:46',1,'admin'),(4,'assets','INSERT',4,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"DESK-4\", \"asset_numeric_id\": 40933134, \"asset_type\": \"N\", \"name\": \"Desktop Computer 4\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-4\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:46',1,'admin'),(5,'assets','INSERT',5,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"DESK-5\", \"asset_numeric_id\": 80850219, \"asset_type\": \"N\", \"name\": \"Desktop Computer 5\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-5\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:47',1,'admin'),(6,'assets','INSERT',6,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"LAPTOP-1\", \"asset_numeric_id\": 65938365, \"asset_type\": \"B\", \"name\": \"Laptop 1\", \"category_id\": 2, \"manufacturer\": \"HP\", \"model\": \"EliteBook 840\", \"serial_number\": \"SN-LAPTOP-1\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 1299.99, \"purchase_date\": \"2024-02-01\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:47',1,'admin'),(7,'assets','INSERT',7,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"LAPTOP-2\", \"asset_numeric_id\": 90756157, \"asset_type\": \"B\", \"name\": \"Laptop 2\", \"category_id\": 2, \"manufacturer\": \"HP\", \"model\": \"EliteBook 840\", \"serial_number\": \"SN-LAPTOP-2\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 1299.99, \"purchase_date\": \"2024-02-01\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:47',1,'admin'),(8,'assets','INSERT',8,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"LAPTOP-3\", \"asset_numeric_id\": 97073776, \"asset_type\": \"B\", \"name\": \"Laptop 3\", \"category_id\": 2, \"manufacturer\": \"HP\", \"model\": \"EliteBook 840\", \"serial_number\": \"SN-LAPTOP-3\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 1299.99, \"purchase_date\": \"2024-02-01\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:47',1,'admin'),(9,'assets','INSERT',9,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"OSC-001\", \"asset_numeric_id\": 40246871, \"asset_type\": \"L\", \"name\": \"Digital Oscilloscope\", \"category_id\": 3, \"manufacturer\": \"Tektronix\", \"model\": \"TBS2104B\", \"serial_number\": \"SN-OSC-001\", \"zone_id\": 7, \"status\": \"Good\", \"price\": 1899.99, \"purchase_date\": \"2024-01-10\", \"quantity_used\": 0, \"supplier_id\": 2, \"lendable\": 1, \"minimum_role_for_lending\": 50, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:48',1,'admin'),(10,'assets','INSERT',10,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"DMM-001\", \"asset_numeric_id\": 96642470, \"asset_type\": \"L\", \"name\": \"Digital Multimeter\", \"category_id\": 3, \"manufacturer\": \"Fluke\", \"model\": \"117\", \"serial_number\": \"SN-DMM-001\", \"zone_id\": 7, \"status\": \"Good\", \"price\": 199.99, \"purchase_date\": \"2024-01-10\", \"quantity_used\": 0, \"supplier_id\": 2, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:48',1,'admin'),(11,'assets','INSERT',11,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_available\", \"quantity_total\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"CABLE-ETH-001\", \"asset_numeric_id\": 57348031, \"asset_type\": \"C\", \"name\": \"Ethernet Cables (Box of 50)\", \"category_id\": 4, \"manufacturer\": \"Generic\", \"model\": \"Cat6 5ft\", \"serial_number\": \"BATCH-001\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 149.99, \"purchase_date\": \"2024-03-01\", \"quantity_available\": 50, \"quantity_total\": 50, \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:48',1,'admin'),(12,'assets','UPDATE',6,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 1, \"due_date\": \"2025-10-20\"}','2025-10-20 11:43:51',3,'staff1'),(13,'assets','UPDATE',9,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-10-15\"}','2025-10-20 11:43:51',2,'manager1'),(14,'assets','UPDATE',3,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Missing\"}','2025-10-20 11:43:52',1,'admin'),(15,'assets','UPDATE',6,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 1, \"due_date\": \"2025-10-20\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 1}','2025-10-20 11:43:54',3,'staff1'),(16,'assets','UPDATE',10,'[\"status\", \"lending_status\"]','{\"status\": \"Good\", \"lending_status\": \"Available\"}','{\"status\": \"Faulty\", \"lending_status\": null}','2025-10-20 11:43:54',3,'staff1'),(17,'assets','UPDATE',10,'[\"status\", \"lending_status\"]','{\"status\": \"Faulty\", \"lending_status\": null}','{\"status\": \"Good\", \"lending_status\": \"Available\"}','2025-10-20 11:43:55',2,'manager1'),(18,'assets','INSERT',12,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"MOUSE-1\", \"asset_numeric_id\": 12309104, \"asset_type\": \"N\", \"name\": \"Wireless Mouse 1\", \"category_id\": 2, \"manufacturer\": \"Logitech\", \"model\": \"MX Master 3\", \"serial_number\": \"SN-MOUSE-1\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 99.99, \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 2}','2025-10-20 11:43:57',2,'manager1'),(19,'assets','INSERT',13,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"MOUSE-2\", \"asset_numeric_id\": 56755484, \"asset_type\": \"N\", \"name\": \"Wireless Mouse 2\", \"category_id\": 2, \"manufacturer\": \"Logitech\", \"model\": \"MX Master 3\", \"serial_number\": \"SN-MOUSE-2\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 99.99, \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 2}','2025-10-20 11:43:57',2,'manager1'),(20,'assets','INSERT',14,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"MOUSE-3\", \"asset_numeric_id\": 85179628, \"asset_type\": \"N\", \"name\": \"Wireless Mouse 3\", \"category_id\": 2, \"manufacturer\": \"Logitech\", \"model\": \"MX Master 3\", \"serial_number\": \"SN-MOUSE-3\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 99.99, \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 2}','2025-10-20 11:43:57',2,'manager1'),(21,'assets','INSERT',15,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"zone_plus\", \"zone_note\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"CLARIFY-1\", \"asset_numeric_id\": 26824546, \"asset_type\": \"N\", \"name\": \"Valid Clarify Test\", \"category_id\": 2, \"zone_id\": 5, \"zone_plus\": \"Clarify\", \"zone_note\": \"Needs verification of exact location in lab\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 2}','2025-10-20 11:43:59',2,'manager1'),(22,'assets','UPDATE',6,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-13\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:00',2,'manager1'),(23,'assets','UPDATE',7,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-13\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:00',2,'manager1'),(24,'assets','UPDATE',6,'[\"last_audit\"]','{\"last_audit\": \"2025-10-13\"}','{\"last_audit\": \"2025-10-20\"}','2025-10-20 11:44:03',2,'manager1'),(25,'assets','UPDATE',7,'[\"last_audit\"]','{\"last_audit\": \"2025-10-13\"}','{\"last_audit\": \"2025-10-20\"}','2025-10-20 11:44:04',2,'manager1'),(26,'assets','UPDATE',8,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:04',2,'manager1'),(27,'assets','UPDATE',11,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:04',2,'manager1'),(28,'assets','UPDATE',12,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:05',2,'manager1'),(29,'assets','UPDATE',13,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:05',2,'manager1'),(30,'assets','UPDATE',14,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:05',2,'manager1'),(31,'assets','UPDATE',10,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Attention\"}','2025-10-20 11:44:07',2,'manager1'),(32,'assets','UPDATE',10,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Attention\"}','2025-10-20 11:44:07',2,'manager1'),(33,'assets','UPDATE',2,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Missing\"}','2025-10-20 11:44:09',2,'manager1'),(34,'assets','UPDATE',2,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Missing\"}','2025-10-20 11:44:09',2,'manager1'),(35,'assets','UPDATE',12,'[\"last_audit_status\"]','{\"last_audit_status\": \"Good\"}','{\"last_audit_status\": \"Faulty\"}','2025-10-20 11:44:10',2,'manager1'),(36,'assets','UPDATE',12,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Faulty\"}','2025-10-20 11:44:10',2,'manager1'),(37,'assets','INSERT',16,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ROUTER-1\", \"asset_numeric_id\": 49096117, \"asset_type\": \"N\", \"name\": \"Network Router\", \"category_id\": 6, \"zone_id\": 4, \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:44:15',1,'admin'),(38,'assets','INSERT',17,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"zone_id\", \"status\", \"expiry_date\", \"quantity_total\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"notes\", \"created_by\"]',NULL,'{\"asset_tag\": \"LIC-OFFICE-365\", \"asset_numeric_id\": 38735916, \"asset_type\": \"L\", \"name\": \"Office 365 Business Premium License\", \"zone_id\": 4, \"status\": \"Good\", \"expiry_date\": \"2026-03-15\", \"quantity_total\": 10, \"quantity_used\": 3, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"notes\": \"Annual subscription - 10 user licenses\", \"created_by\": 1}','2025-10-20 11:44:16',1,'admin'),(39,'assets','INSERT',18,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"zone_id\", \"status\", \"quantity_total\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"notes\", \"created_by\"]',NULL,'{\"asset_tag\": \"CONS-MARKERS\", \"asset_numeric_id\": 79433402, \"asset_type\": \"C\", \"name\": \"Whiteboard Markers Pack\", \"zone_id\": 5, \"status\": \"Good\", \"quantity_total\": 50, \"quantity_used\": 10, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"notes\": \"Box of 50 markers, track deployment to classrooms\", \"created_by\": 1}','2025-10-20 11:44:16',1,'admin'),(40,'assets','UPDATE',18,'[\"quantity_used\"]','{\"quantity_used\": 10}','{\"quantity_used\": 45}','2025-10-20 11:44:17',1,'admin'),(41,'assets','INSERT',19,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"zone_id\", \"zone_plus\", \"zone_note\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"FLOAT-PROJECTOR\", \"asset_numeric_id\": 80464972, \"asset_type\": \"N\", \"name\": \"Mobile Projector\", \"zone_id\": 1, \"zone_plus\": \"Floating Global\", \"zone_note\": \"Can be moved between any locations\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:44:18',1,'admin'),(42,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 11:44:36',NULL,NULL),(43,'assets','UPDATE',7,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 11:44:36',NULL,NULL),(44,'assets','UPDATE',8,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 11:44:36',NULL,NULL),(45,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 11:46:36',1,'admin'),(46,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 11:48:36',1,'admin'),(47,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 11:50:36',1,'admin'),(48,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 11:52:36',1,'admin'),(49,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 11:54:36',1,'admin'),(50,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 11:56:36',1,'admin'),(51,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 11:58:36',1,'admin'),(52,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:00:36',1,'admin'),(53,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:02:36',1,'admin'),(54,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:04:36',1,'admin'),(55,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:06:54',NULL,NULL),(56,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:08:54',NULL,NULL),(57,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:10:09',NULL,NULL),(58,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:11:33',NULL,NULL),(59,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:13:33',NULL,NULL),(60,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:15:33',1,'admin'),(61,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:17:33',1,'admin'),(62,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:19:33',1,'admin'),(63,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:21:33',1,'admin'),(64,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:23:33',1,'admin'),(65,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:25:33',1,'admin'),(66,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:27:33',1,'admin'),(67,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:29:33',1,'admin'),(68,'assets','INSERT',20,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"test\", \"asset_numeric_id\": 15540884, \"asset_type\": \"N\", \"name\": \"test\", \"category_id\": 1, \"manufacturer\": \"test\", \"model\": \"test\", \"zone_id\": 7, \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-22 10:36:03',1,'admin'),(69,'assets','UPDATE',20,'[\"name\"]','{\"name\": \"test\"}','{\"name\": \"asdasd\"}','2025-10-22 11:59:03',1,'admin'),(70,'assets','UPDATE',9,'[\"zone_id\"]','{\"zone_id\": 7}','{\"zone_id\": 4}','2025-10-22 12:04:21',1,'admin'),(71,'assets','UPDATE',20,'[\"name\"]','{\"name\": \"asdasd\"}','{\"name\": \"asdasdasd\"}','2025-10-22 12:09:18',1,'admin'),(72,'assets','UPDATE',20,'[\"model\"]','{\"model\": \"test\"}','{\"model\": \"test222\"}','2025-10-22 12:45:46',1,'admin'),(73,'assets','UPDATE',20,'[\"name\"]','{\"name\": \"asdasdasd\"}','{\"name\": \"asdasdasd2222\"}','2025-10-22 12:46:02',1,'admin'),(74,'assets','UPDATE',20,'[\"asset_tag\"]','{\"asset_tag\": \"test\"}','{\"asset_tag\": \"test2\"}','2025-10-22 12:57:24',1,'admin'),(75,'assets','UPDATE',20,'[\"asset_tag\"]','{\"asset_tag\": \"test2\"}','{\"asset_tag\": \"test\"}','2025-10-22 13:01:08',1,'admin'),(76,'assets','UPDATE',20,'[\"asset_tag\"]','{\"asset_tag\": \"test\"}','{\"asset_tag\": \"test1\"}','2025-10-22 13:01:14',1,'admin'),(77,'assets','UPDATE',20,'[\"asset_tag\"]','{\"asset_tag\": \"test1\"}','{\"asset_tag\": \"test2\"}','2025-10-22 13:01:21',1,'admin'),(78,'assets','UPDATE',20,'[\"asset_tag\"]','{\"asset_tag\": \"test2\"}','{\"asset_tag\": \"test3\"}','2025-10-22 13:01:28',1,'admin'),(79,'assets','UPDATE',1,'[\"asset_tag\"]','{\"asset_tag\": \"DESK-1\"}','{\"asset_tag\": \"DESK-12\"}','2025-10-22 13:41:25',1,'admin'),(80,'assets','UPDATE',5,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Retired\"}','2025-10-22 14:34:17',1,'admin'),(81,'assets','UPDATE',5,'[\"category_id\"]','{\"category_id\": 2}','{\"category_id\": 3}','2025-10-22 14:59:45',1,'admin'),(82,'assets','UPDATE',19,'[\"category_id\"]','{\"category_id\": null}','{\"category_id\": 1}','2025-10-22 14:59:52',1,'admin'),(83,'assets','UPDATE',18,'[\"category_id\"]','{\"category_id\": null}','{\"category_id\": 4}','2025-10-22 14:59:59',1,'admin'),(84,'assets','UPDATE',17,'[\"category_id\"]','{\"category_id\": null}','{\"category_id\": 6}','2025-10-22 15:00:05',1,'admin'),(85,'assets','UPDATE',20,'[\"lendable\"]','{\"lendable\": 0}','{\"lendable\": 1}','2025-10-23 08:43:07',1,'admin'),(86,'assets','UPDATE',16,'[\"lendable\"]','{\"lendable\": 0}','{\"lendable\": 1}','2025-10-23 12:38:36',1,'admin'),(87,'assets','UPDATE',6,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-10-23 14:10:33',1,'admin'),(88,'assets','UPDATE',12,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-10-24 06:51:21',1,'admin'),(89,'assets','UPDATE',13,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-10-24 11:59:06',1,'admin'),(92,'assets','UPDATE',6,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Overdue\"}','2025-10-27 09:56:24',NULL,NULL),(93,'assets','UPDATE',12,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Overdue\"}','2025-10-27 09:56:24',NULL,NULL),(94,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Available\"}','2025-10-27 10:09:28',1,'admin'),(95,'assets','UPDATE',8,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Available\"}','2025-10-27 10:10:04',1,'admin'),(96,'assets','UPDATE',7,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Available\"}','2025-10-27 10:15:09',1,'admin'),(97,'assets','UPDATE',1,'[\"lending_status\"]','{\"lending_status\": null}','{\"lending_status\": \"Available\"}','2025-10-27 10:17:22',1,'admin'),(98,'assets','UPDATE',6,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Available\"}','2025-10-27 10:46:10',1,'admin'),(99,'assets','UPDATE',13,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Overdue\"}','2025-11-03 14:40:22',NULL,NULL),(100,'assets','UPDATE',8,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-11-03 14:44:10',1,'admin'),(101,'assets','UPDATE',12,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-11-09 00:00:06',NULL,NULL),(102,'assets','UPDATE',8,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Overdue\"}','2025-11-11 08:55:56',NULL,NULL),(103,'assets','UPDATE',14,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-11-11 09:00:13',1,'admin'),(104,'assets','UPDATE',6,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-11-12 10:32:00',1,'admin'),(105,'assets','UPDATE',14,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Overdue\"}','2025-11-13 00:01:11',NULL,NULL),(106,'assets','INSERT',21,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"TECH-sb-GFLAB-101-01\", \"asset_numeric_id\": 91584504, \"asset_type\": \"N\", \"name\": \"CTouch Smartboard Riva R2\", \"category_id\": 7, \"manufacturer\": \"Cunt Touch\", \"model\": \"Riva R2\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 123123.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 13:03:55',1,'admin'),(107,'assets','INSERT',22,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"PS39-sb-108-01\", \"asset_numeric_id\": 31979434, \"asset_type\": \"N\", \"name\": \"CTouch Smartboard Riva R2\", \"category_id\": 7, \"manufacturer\": \"Cunt Touch\", \"model\": \"Riva R2\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 123123.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 13:30:16',1,'admin'),(108,'assets','INSERT',24,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"PS39-sb-108-02\", \"asset_numeric_id\": 72311629, \"asset_type\": \"N\", \"name\": \"CTouch Smartboard Riva R2\", \"category_id\": 7, \"manufacturer\": \"Cunt Touch\", \"model\": \"Riva R2\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 123123.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 13:39:32',1,'admin'),(109,'assets','UPDATE',6,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Retired\"}','2025-11-13 15:18:06',1,'admin'),(110,'assets','UPDATE',6,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Available\"}','2025-11-13 15:21:47',1,'admin'),(111,'assets','DELETE',6,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"previous_borrower_id\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"LAPTOP-1\", \"asset_numeric_id\": 65938365, \"asset_type\": \"B\", \"name\": \"Laptop 1\", \"category_id\": 2, \"manufacturer\": \"HP\", \"model\": \"EliteBook 840\", \"serial_number\": \"SN-LAPTOP-1\", \"zone_id\": 6, \"status\": \"Retired\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\", \"price\": 1299.99, \"purchase_date\": \"2024-02-01\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"previous_borrower_id\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:47\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 15:21:47\", \"last_modified_by\": 1}',NULL,'2025-11-13 15:21:58',1,'admin'),(112,'assets','DELETE',20,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"test3\", \"asset_numeric_id\": 15540884, \"asset_type\": \"N\", \"name\": \"asdasdasd2222\", \"category_id\": 1, \"manufacturer\": \"test\", \"model\": \"test222\", \"zone_id\": 7, \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-22 10:36:03\", \"created_by\": 1, \"last_modified_date\": \"2025-10-23 08:43:07\", \"last_modified_by\": 1}',NULL,'2025-11-13 15:24:16',1,'admin'),(113,'assets','DELETE',4,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"DESK-4\", \"asset_numeric_id\": 40933134, \"asset_type\": \"N\", \"name\": \"Desktop Computer 4\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-4\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:46\", \"created_by\": 1, \"last_modified_date\": \"2025-10-20 11:43:46\"}',NULL,'2025-11-13 15:24:25',1,'admin'),(114,'assets','DELETE',3,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"DESK-3\", \"asset_numeric_id\": 64139289, \"asset_type\": \"N\", \"name\": \"Desktop Computer 3\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-3\", \"zone_id\": 5, \"status\": \"Missing\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:46\", \"created_by\": 1, \"last_modified_date\": \"2025-10-20 11:43:52\", \"last_modified_by\": 1}',NULL,'2025-11-13 15:24:42',1,'admin'),(115,'assets','DELETE',5,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"DESK-5\", \"asset_numeric_id\": 80850219, \"asset_type\": \"N\", \"name\": \"Desktop Computer 5\", \"category_id\": 3, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-5\", \"zone_id\": 5, \"status\": \"Retired\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:47\", \"created_by\": 1, \"last_modified_date\": \"2025-10-22 14:59:45\", \"last_modified_by\": 1}',NULL,'2025-11-13 15:24:49',1,'admin'),(116,'assets','DELETE',10,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"DMM-001\", \"asset_numeric_id\": 96642470, \"asset_type\": \"L\", \"name\": \"Digital Multimeter\", \"category_id\": 3, \"manufacturer\": \"Fluke\", \"model\": \"117\", \"serial_number\": \"SN-DMM-001\", \"zone_id\": 7, \"status\": \"Attention\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Attention\", \"price\": 199.99, \"purchase_date\": \"2024-01-10\", \"quantity_used\": 0, \"supplier_id\": 2, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:48\", \"created_by\": 1, \"last_modified_date\": \"2025-10-20 11:44:07\", \"last_modified_by\": 2}',NULL,'2025-11-13 15:25:01',1,'admin'),(117,'assets','DELETE',2,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"DESK-2\", \"asset_numeric_id\": 34081098, \"asset_type\": \"N\", \"name\": \"Desktop Computer 2\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-2\", \"zone_id\": 5, \"status\": \"Missing\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Missing\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:46\", \"created_by\": 1, \"last_modified_date\": \"2025-10-20 11:44:09\", \"last_modified_by\": 2}',NULL,'2025-11-13 15:25:04',1,'admin'),(118,'assets','DELETE',11,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"purchase_date\", \"quantity_available\", \"quantity_total\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"CABLE-ETH-001\", \"asset_numeric_id\": 57348031, \"asset_type\": \"C\", \"name\": \"Ethernet Cables (Box of 50)\", \"category_id\": 4, \"manufacturer\": \"Generic\", \"model\": \"Cat6 5ft\", \"serial_number\": \"BATCH-001\", \"zone_id\": 6, \"status\": \"Good\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\", \"price\": 149.99, \"purchase_date\": \"2024-03-01\", \"quantity_available\": 50, \"quantity_total\": 50, \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:48\", \"created_by\": 1, \"last_modified_date\": \"2025-10-20 11:44:04\", \"last_modified_by\": 2}',NULL,'2025-11-13 15:25:08',1,'admin'),(119,'assets','DELETE',15,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"zone_plus\", \"zone_note\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"CLARIFY-1\", \"asset_numeric_id\": 26824546, \"asset_type\": \"N\", \"name\": \"Valid Clarify Test\", \"category_id\": 2, \"zone_id\": 5, \"zone_plus\": \"Clarify\", \"zone_note\": \"Needs verification of exact location in lab\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:59\", \"created_by\": 2, \"last_modified_date\": \"2025-10-20 11:43:59\"}',NULL,'2025-11-13 15:25:12',1,'admin'),(120,'assets','DELETE',21,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"TECH-sb-GFLAB-101-01\", \"asset_numeric_id\": 91584504, \"asset_type\": \"N\", \"name\": \"CTouch Smartboard Riva R2\", \"category_id\": 7, \"manufacturer\": \"Cunt Touch\", \"model\": \"Riva R2\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 123123.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-11-13 13:03:55\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 13:03:55\"}',NULL,'2025-11-13 15:25:16',1,'admin'),(121,'assets','DELETE',24,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"PS39-sb-108-02\", \"asset_numeric_id\": 72311629, \"asset_type\": \"N\", \"name\": \"CTouch Smartboard Riva R2\", \"category_id\": 7, \"manufacturer\": \"Cunt Touch\", \"model\": \"Riva R2\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 123123.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-11-13 13:39:32\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 13:39:32\"}',NULL,'2025-11-13 15:26:36',1,'admin'),(122,'assets','DELETE',22,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"PS39-sb-108-01\", \"asset_numeric_id\": 31979434, \"asset_type\": \"N\", \"name\": \"CTouch Smartboard Riva R2\", \"category_id\": 7, \"manufacturer\": \"Cunt Touch\", \"model\": \"Riva R2\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 123123.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-11-13 13:30:16\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 13:30:16\"}',NULL,'2025-11-13 15:26:38',1,'admin'),(123,'assets','INSERT',25,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"lendable\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"cbl-hdmi-001\", \"asset_numeric_id\": 32094651, \"asset_type\": \"N\", \"name\": \"Floating HDMI Cables\", \"category_id\": 9, \"zone_id\": 11, \"status\": \"Good\", \"price\": 20.00, \"purchase_date\": \"2025-11-13\", \"lendable\": 1, \"lending_status\": \"Available\", \"no_scan\": \"Yes\", \"created_by\": 1}','2025-11-13 15:30:09',1,'admin'),(124,'assets','UPDATE',13,'[\"lending_status\", \"previous_borrower_id\"]','{\"lending_status\": \"Overdue\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"previous_borrower_id\": 5}','2025-11-13 15:53:36',1,'admin'),(125,'assets','UPDATE',8,'[\"lending_status\", \"previous_borrower_id\"]','{\"lending_status\": \"Overdue\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"previous_borrower_id\": 3}','2025-11-13 15:54:12',1,'admin'),(126,'assets','UPDATE',12,'[\"lending_status\", \"previous_borrower_id\"]','{\"lending_status\": \"Stolen\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"previous_borrower_id\": 1}','2025-11-13 16:09:31',1,'admin'),(127,'assets','UPDATE',7,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-19\"}','2025-11-13 16:13:07',1,'admin'),(128,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-11-13 16:15:33',NULL,NULL),(129,'assets','UPDATE',7,'[\"lending_status\", \"current_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3}','{\"lending_status\": \"Available\", \"current_borrower_id\": null}','2025-11-13 16:19:51',NULL,NULL),(130,'assets','UPDATE',7,'[\"due_date\", \"previous_borrower_id\"]','{\"due_date\": \"2025-11-19\", \"previous_borrower_id\": null}','{\"due_date\": null, \"previous_borrower_id\": 3}','2025-11-13 16:20:17',1,'admin'),(131,'assets','UPDATE',9,'[\"lending_status\", \"current_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3}','{\"lending_status\": \"Available\", \"current_borrower_id\": null}','2025-11-13 16:21:02',NULL,NULL),(132,'assets','UPDATE',9,'[\"due_date\"]','{\"due_date\": \"2025-10-15\"}','{\"due_date\": null}','2025-11-13 16:21:10',NULL,NULL),(133,'assets','UPDATE',9,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-27\"}','2025-11-13 16:21:33',1,'admin'),(134,'assets','UPDATE',9,'[\"asset_type\"]','{\"asset_type\": \"L\"}','{\"asset_type\": \"N\"}','2025-11-13 16:23:28',1,'admin'),(135,'assets','UPDATE',12,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 4, \"due_date\": \"2025-11-27\"}','2025-11-13 16:27:31',1,'admin'),(136,'assets','UPDATE',14,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Available\"}','2025-11-13 16:32:16',1,'admin'),(137,'assets','INSERT',26,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"lendable\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"cbl-hdmi-002\", \"asset_numeric_id\": 18368995, \"asset_type\": \"N\", \"name\": \"Floating HDMI Cables\", \"category_id\": 9, \"zone_id\": 11, \"status\": \"Good\", \"price\": 20.00, \"purchase_date\": \"2025-11-13\", \"lendable\": 1, \"lending_status\": \"Available\", \"no_scan\": \"Yes\", \"created_by\": 1}','2025-11-13 18:26:54',1,'admin'),(138,'assets','INSERT',27,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-01\", \"asset_numeric_id\": 66843174, \"asset_type\": \"N\", \"name\": \"Generic Monitor\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 18:51:25',1,'admin'),(139,'assets','INSERT',28,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-02\", \"asset_numeric_id\": 75155874, \"asset_type\": \"N\", \"name\": \"Generic Monitor\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:09:42',1,'admin'),(140,'assets','INSERT',29,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-03\", \"asset_numeric_id\": 95324750, \"asset_type\": \"N\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:17:12',1,'admin'),(141,'assets','DELETE',29,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-03\", \"asset_numeric_id\": 95324750, \"asset_type\": \"N\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:17:12\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:17:12\"}',NULL,'2025-11-13 19:19:42',1,'admin'),(142,'assets','INSERT',30,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-03\", \"asset_numeric_id\": 79796373, \"asset_type\": \"N\", \"name\": \"Generic Monitor (Copy)\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:25:07',1,'admin'),(143,'assets','DELETE',30,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-03\", \"asset_numeric_id\": 79796373, \"asset_type\": \"N\", \"name\": \"Generic Monitor (Copy)\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:25:07\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:25:07\"}',NULL,'2025-11-13 19:25:15',1,'admin'),(144,'assets','INSERT',31,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-03\", \"asset_numeric_id\": 66329180, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:26:38',1,'admin'),(145,'assets','INSERT',32,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-04\", \"asset_numeric_id\": 69590527, \"asset_type\": \"N\", \"name\": \"Dell Monitor (Copy)\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:27:38',1,'admin'),(146,'assets','DELETE',32,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-04\", \"asset_numeric_id\": 69590527, \"asset_type\": \"N\", \"name\": \"Dell Monitor (Copy)\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:27:38\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:27:38\"}',NULL,'2025-11-13 19:36:33',1,'admin'),(147,'assets','INSERT',33,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-04\", \"asset_numeric_id\": 82402163, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:36:52',1,'admin'),(148,'assets','INSERT',34,'[\"asset_numeric_id\", \"asset_type\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_numeric_id\": 29878524, \"asset_type\": \"N\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:39:23',1,'admin'),(149,'assets','DELETE',34,'[\"asset_numeric_id\", \"asset_type\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_numeric_id\": 29878524, \"asset_type\": \"N\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:39:23\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:39:23\"}',NULL,'2025-11-13 19:39:30',1,'admin'),(150,'assets','INSERT',35,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-05\", \"asset_numeric_id\": 62556220, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:39:42',1,'admin'),(151,'assets','INSERT',36,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-06\", \"asset_numeric_id\": 47928367, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:41:10',1,'admin'),(152,'assets','INSERT',37,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-07\", \"asset_numeric_id\": 94709833, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:45:14',1,'admin'),(153,'assets','DELETE',37,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-07\", \"asset_numeric_id\": 94709833, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:45:14\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:45:14\"}',NULL,'2025-11-13 19:45:33',1,'admin'),(154,'assets','DELETE',36,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-06\", \"asset_numeric_id\": 47928367, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:41:10\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:41:10\"}',NULL,'2025-11-13 19:45:36',1,'admin'),(155,'assets','DELETE',35,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-05\", \"asset_numeric_id\": 62556220, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:39:42\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:39:42\"}',NULL,'2025-11-13 19:45:38',1,'admin'),(156,'assets','DELETE',33,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-04\", \"asset_numeric_id\": 82402163, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:36:52\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:36:52\"}',NULL,'2025-11-13 19:45:41',1,'admin'),(157,'assets','DELETE',31,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-03\", \"asset_numeric_id\": 66329180, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:26:38\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:26:38\"}',NULL,'2025-11-13 19:45:43',1,'admin'),(158,'assets','DELETE',28,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-02\", \"asset_numeric_id\": 75155874, \"asset_type\": \"N\", \"name\": \"Generic Monitor\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:09:42\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:09:42\"}',NULL,'2025-11-13 19:45:45',1,'admin'),(159,'assets','DELETE',27,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-01\", \"asset_numeric_id\": 66843174, \"asset_type\": \"N\", \"name\": \"Generic Monitor\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 18:51:25\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 18:51:25\"}',NULL,'2025-11-13 19:45:47',1,'admin'),(160,'assets','INSERT',38,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-01\", \"asset_numeric_id\": 51229246, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:46:33',1,'admin'),(161,'assets','INSERT',39,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-02\", \"asset_numeric_id\": 97355732, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"model\": \"jyiuyiu\", \"serial_number\": \"7657865756\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 21423.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:48:05',1,'admin'),(162,'assets','DELETE',14,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"MOUSE-3\", \"asset_numeric_id\": 85179628, \"asset_type\": \"N\", \"name\": \"Wireless Mouse 3\", \"category_id\": 2, \"manufacturer\": \"Logitech\", \"model\": \"MX Master 3\", \"serial_number\": \"SN-MOUSE-3\", \"zone_id\": 6, \"status\": \"Good\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\", \"price\": 99.99, \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:57\", \"created_by\": 2, \"last_modified_date\": \"2025-11-13 16:32:16\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:20:55',1,'admin'),(163,'assets','DELETE',7,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"previous_borrower_id\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"LAPTOP-2\", \"asset_numeric_id\": 90756157, \"asset_type\": \"B\", \"name\": \"Laptop 2\", \"category_id\": 2, \"manufacturer\": \"HP\", \"model\": \"EliteBook 840\", \"serial_number\": \"SN-LAPTOP-2\", \"zone_id\": 6, \"status\": \"Good\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\", \"price\": 1299.99, \"purchase_date\": \"2024-02-01\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"previous_borrower_id\": 3, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:47\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 16:20:17\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:20:59',1,'admin'),(164,'assets','DELETE',8,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"previous_borrower_id\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"LAPTOP-3\", \"asset_numeric_id\": 97073776, \"asset_type\": \"B\", \"name\": \"Laptop 3\", \"category_id\": 2, \"manufacturer\": \"HP\", \"model\": \"EliteBook 840\", \"serial_number\": \"SN-LAPTOP-3\", \"zone_id\": 6, \"status\": \"Good\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\", \"price\": 1299.99, \"purchase_date\": \"2024-02-01\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"previous_borrower_id\": 3, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:47\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 15:54:12\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:02',1,'admin'),(165,'assets','DELETE',13,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"previous_borrower_id\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"MOUSE-2\", \"asset_numeric_id\": 56755484, \"asset_type\": \"N\", \"name\": \"Wireless Mouse 2\", \"category_id\": 2, \"manufacturer\": \"Logitech\", \"model\": \"MX Master 3\", \"serial_number\": \"SN-MOUSE-2\", \"zone_id\": 6, \"status\": \"Good\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\", \"price\": 99.99, \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"previous_borrower_id\": 5, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:57\", \"created_by\": 2, \"last_modified_date\": \"2025-11-13 15:53:36\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:05',1,'admin'),(166,'assets','UPDATE',12,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 4, \"due_date\": \"2025-11-27\", \"previous_borrower_id\": 1}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 4}','2025-11-14 15:21:13',1,'admin'),(167,'assets','UPDATE',9,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-27\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 3}','2025-11-14 15:21:16',1,'admin'),(168,'assets','DELETE',12,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"previous_borrower_id\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"MOUSE-1\", \"asset_numeric_id\": 12309104, \"asset_type\": \"N\", \"name\": \"Wireless Mouse 1\", \"category_id\": 2, \"manufacturer\": \"Logitech\", \"model\": \"MX Master 3\", \"serial_number\": \"SN-MOUSE-1\", \"zone_id\": 6, \"status\": \"Faulty\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Faulty\", \"price\": 99.99, \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"previous_borrower_id\": 4, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:57\", \"created_by\": 2, \"last_modified_date\": \"2025-11-14 15:21:13\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:37',1,'admin'),(169,'assets','DELETE',9,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"previous_borrower_id\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"OSC-001\", \"asset_numeric_id\": 40246871, \"asset_type\": \"N\", \"name\": \"Digital Oscilloscope\", \"category_id\": 3, \"manufacturer\": \"Tektronix\", \"model\": \"TBS2104B\", \"serial_number\": \"SN-OSC-001\", \"zone_id\": 4, \"status\": \"Good\", \"price\": 1899.99, \"purchase_date\": \"2024-01-10\", \"quantity_used\": 0, \"supplier_id\": 2, \"lendable\": 1, \"minimum_role_for_lending\": 50, \"lending_status\": \"Available\", \"previous_borrower_id\": 3, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:48\", \"created_by\": 1, \"last_modified_date\": \"2025-11-14 15:21:16\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:37',1,'admin'),(170,'assets','DELETE',1,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"DESK-12\", \"asset_numeric_id\": 75650012, \"asset_type\": \"N\", \"name\": \"Desktop Computer 1\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-1\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:46\", \"created_by\": 1, \"last_modified_date\": \"2025-10-27 10:17:22\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:53',1,'admin'),(171,'assets','DELETE',19,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"zone_plus\", \"zone_note\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"FLOAT-PROJECTOR\", \"asset_numeric_id\": 80464972, \"asset_type\": \"N\", \"name\": \"Mobile Projector\", \"category_id\": 1, \"zone_id\": 1, \"zone_plus\": \"Floating Global\", \"zone_note\": \"Can be moved between any locations\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:44:18\", \"created_by\": 1, \"last_modified_date\": \"2025-10-22 14:59:52\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:53',1,'admin'),(172,'assets','DELETE',18,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"quantity_total\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"notes\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"CONS-MARKERS\", \"asset_numeric_id\": 79433402, \"asset_type\": \"C\", \"name\": \"Whiteboard Markers Pack\", \"category_id\": 4, \"zone_id\": 5, \"status\": \"Good\", \"quantity_total\": 50, \"quantity_used\": 45, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"notes\": \"Box of 50 markers, track deployment to classrooms\", \"created_date\": \"2025-10-20 11:44:16\", \"created_by\": 1, \"last_modified_date\": \"2025-10-27 10:11:39\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:53',1,'admin'),(173,'assets','DELETE',17,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"expiry_date\", \"quantity_total\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"notes\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"LIC-OFFICE-365\", \"asset_numeric_id\": 38735916, \"asset_type\": \"L\", \"name\": \"Office 365 Business Premium License\", \"category_id\": 6, \"zone_id\": 4, \"status\": \"Good\", \"expiry_date\": \"2026-03-15\", \"quantity_total\": 10, \"quantity_used\": 3, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"notes\": \"Annual subscription - 10 user licenses\", \"created_date\": \"2025-10-20 11:44:16\", \"created_by\": 1, \"last_modified_date\": \"2025-10-22 15:00:05\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:53',1,'admin'),(174,'assets','DELETE',16,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"ROUTER-1\", \"asset_numeric_id\": 49096117, \"asset_type\": \"N\", \"name\": \"Network Router\", \"category_id\": 6, \"zone_id\": 4, \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:44:15\", \"created_by\": 1, \"last_modified_date\": \"2025-10-23 12:38:36\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:53',1,'admin'),(175,'assets','UPDATE',25,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-21\"}','2025-11-14 19:28:38',1,'admin'),(176,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-21\"}','2025-11-14 21:47:39',1,'admin'),(177,'assets','UPDATE',25,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-21\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 3}','2025-11-14 21:48:14',1,'admin'),(178,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-21\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 3}','2025-11-14 21:49:25',1,'admin'),(179,'assets','UPDATE',25,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 4, \"due_date\": \"2025-11-21\"}','2025-11-14 21:51:07',1,'admin'),(180,'assets','UPDATE',25,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 4, \"due_date\": \"2025-11-21\", \"previous_borrower_id\": 3}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 4}','2025-11-14 21:51:11',1,'admin'),(181,'assets','UPDATE',38,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-11-14\", \"last_audit_status\": \"Good\"}','2025-11-14 22:42:57',1,'admin'),(182,'assets','UPDATE',39,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-11-14\", \"last_audit_status\": \"Good\"}','2025-11-14 22:42:57',1,'admin'),(183,'assets','UPDATE',25,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-11-14\", \"last_audit_status\": \"Good\"}','2025-11-14 22:42:57',1,'admin'),(184,'assets','UPDATE',26,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-11-14\", \"last_audit_status\": \"Good\"}','2025-11-14 22:42:57',1,'admin'),(185,'assets','UPDATE',26,'[\"no_scan\"]','{\"no_scan\": \"Yes\"}','{\"no_scan\": \"Ask\"}','2025-11-14 23:06:14',1,'admin'),(186,'assets','UPDATE',26,'[\"last_audit_status\"]','{\"last_audit_status\": \"Good\"}','{\"last_audit_status\": \"Missing\"}','2025-11-14 23:10:15',1,'admin'),(187,'assets','UPDATE',26,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Missing\"}','2025-11-14 23:10:15',1,'admin'),(188,'assets','UPDATE',26,'[\"status\"]','{\"status\": \"Missing\"}','{\"status\": \"Good\"}','2025-11-14 23:21:14',1,'admin'),(189,'assets','UPDATE',26,'[\"last_audit_status\"]','{\"last_audit_status\": \"Missing\"}','{\"last_audit_status\": \"Good\"}','2025-11-14 23:25:16',1,'admin'),(190,'assets','UPDATE',38,'[\"audit_task_id\"]','{\"audit_task_id\": null}','{\"audit_task_id\": 1}','2025-11-15 01:18:32',1,'admin'),(191,'assets','UPDATE',25,'[\"last_audit\"]','{\"last_audit\": \"2025-11-14\"}','{\"last_audit\": \"2025-11-15\"}','2025-11-15 01:19:04',1,'admin'),(192,'assets','UPDATE',38,'[\"last_audit\"]','{\"last_audit\": \"2025-11-14\"}','{\"last_audit\": \"2025-11-15\"}','2025-11-15 01:29:14',1,'admin'),(193,'assets','UPDATE',39,'[\"last_audit\"]','{\"last_audit\": \"2025-11-14\"}','{\"last_audit\": \"2025-11-15\"}','2025-11-15 01:29:14',1,'admin'),(194,'assets','UPDATE',26,'[\"last_audit\"]','{\"last_audit\": \"2025-11-14\"}','{\"last_audit\": \"2025-11-15\"}','2025-11-15 01:29:14',1,'admin'),(195,'assets','UPDATE',25,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 5, \"due_date\": \"2026-01-01\"}','2025-12-03 15:44:27',1,'admin'),(196,'assets','UPDATE',38,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": \"2025-11-15\", \"last_audit_status\": \"Good\"}','{\"last_audit\": \"2025-12-03\", \"last_audit_status\": \"Faulty\"}','2025-12-03 15:55:10',1,'admin'),(197,'assets','UPDATE',38,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Faulty\"}','2025-12-03 15:55:10',1,'admin'),(198,'assets','UPDATE',39,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": \"2025-11-15\", \"last_audit_status\": \"Good\"}','{\"last_audit\": \"2025-12-03\", \"last_audit_status\": \"Missing\"}','2025-12-03 15:55:10',1,'admin'),(199,'assets','UPDATE',39,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Missing\"}','2025-12-03 15:55:10',1,'admin'),(200,'assets','UPDATE',25,'[\"last_audit\"]','{\"last_audit\": \"2025-11-15\"}','{\"last_audit\": \"2025-12-03\"}','2025-12-03 15:55:10',1,'admin'),(201,'assets','UPDATE',26,'[\"last_audit\"]','{\"last_audit\": \"2025-11-15\"}','{\"last_audit\": \"2025-12-03\"}','2025-12-03 15:55:10',1,'admin'),(202,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 5, \"due_date\": \"2025-12-11\"}','2025-12-08 10:58:17',1,'admin'),(203,'assets','UPDATE',38,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": \"2025-12-03\", \"last_audit_status\": \"Faulty\"}','{\"last_audit\": \"2025-12-08\", \"last_audit_status\": \"Missing\"}','2025-12-08 11:00:50',1,'admin'),(204,'assets','UPDATE',38,'[\"status\"]','{\"status\": \"Faulty\"}','{\"status\": \"Missing\"}','2025-12-08 11:00:50',1,'admin'),(205,'assets','UPDATE',39,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": \"2025-12-03\", \"last_audit_status\": \"Missing\"}','{\"last_audit\": \"2025-12-08\", \"last_audit_status\": \"Good\"}','2025-12-08 11:00:50',1,'admin'),(206,'assets','UPDATE',39,'[\"status\"]','{\"status\": \"Missing\"}','{\"status\": \"Good\"}','2025-12-08 11:00:50',1,'admin'),(207,'assets','UPDATE',25,'[\"last_audit\"]','{\"last_audit\": \"2025-12-03\"}','{\"last_audit\": \"2025-12-08\"}','2025-12-08 11:00:50',1,'admin'),(208,'assets','UPDATE',26,'[\"last_audit\"]','{\"last_audit\": \"2025-12-03\"}','{\"last_audit\": \"2025-12-08\"}','2025-12-08 11:00:50',1,'admin'),(209,'assets','UPDATE',38,'[\"last_audit_status\"]','{\"last_audit_status\": \"Missing\"}','{\"last_audit_status\": \"Attention\"}','2025-12-08 11:08:13',1,'admin'),(210,'assets','UPDATE',38,'[\"status\"]','{\"status\": \"Missing\"}','{\"status\": \"Attention\"}','2025-12-08 11:08:13',1,'admin'),(211,'assets','UPDATE',39,'[\"last_audit_status\"]','{\"last_audit_status\": \"Good\"}','{\"last_audit_status\": \"Missing\"}','2025-12-08 11:08:13',1,'admin'),(212,'assets','UPDATE',39,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Missing\"}','2025-12-08 11:08:13',1,'admin'),(213,'assets','UPDATE',26,'[\"last_audit_status\"]','{\"last_audit_status\": \"Good\"}','{\"last_audit_status\": \"Missing\"}','2025-12-08 11:08:13',1,'admin'),(214,'assets','UPDATE',26,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Missing\"}','2025-12-08 11:08:13',1,'admin'),(215,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 5, \"due_date\": \"2025-12-11\", \"previous_borrower_id\": 3}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 5}','2025-12-10 14:29:13',1,'admin'),(216,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3}','2025-12-10 16:37:29',1,'admin'),(217,'assets','UPDATE',26,'[\"status\"]','{\"status\": \"Missing\"}','{\"status\": \"Good\"}','2025-12-10 16:40:16',1,'admin'),(218,'assets','UPDATE',26,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Deployed\"}','2025-12-10 16:42:23',1,'admin'),(219,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\", \"previous_borrower_id\"]','{\"lending_status\": \"Deployed\", \"current_borrower_id\": 3, \"previous_borrower_id\": 5}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"previous_borrower_id\": 3}','2025-12-10 16:55:09',1,'admin'),(220,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 5, \"due_date\": \"2025-12-14\"}','2025-12-11 17:01:32',1,'admin');
+INSERT INTO `asset_change_log` VALUES (1,'assets','INSERT',1,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"DESK-1\", \"asset_numeric_id\": 75650012, \"asset_type\": \"N\", \"name\": \"Desktop Computer 1\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-1\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:46',1,'admin'),(2,'assets','INSERT',2,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"DESK-2\", \"asset_numeric_id\": 34081098, \"asset_type\": \"N\", \"name\": \"Desktop Computer 2\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-2\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:46',1,'admin'),(3,'assets','INSERT',3,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"DESK-3\", \"asset_numeric_id\": 64139289, \"asset_type\": \"N\", \"name\": \"Desktop Computer 3\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-3\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:46',1,'admin'),(4,'assets','INSERT',4,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"DESK-4\", \"asset_numeric_id\": 40933134, \"asset_type\": \"N\", \"name\": \"Desktop Computer 4\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-4\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:46',1,'admin'),(5,'assets','INSERT',5,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"DESK-5\", \"asset_numeric_id\": 80850219, \"asset_type\": \"N\", \"name\": \"Desktop Computer 5\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-5\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:47',1,'admin'),(6,'assets','INSERT',6,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"LAPTOP-1\", \"asset_numeric_id\": 65938365, \"asset_type\": \"B\", \"name\": \"Laptop 1\", \"category_id\": 2, \"manufacturer\": \"HP\", \"model\": \"EliteBook 840\", \"serial_number\": \"SN-LAPTOP-1\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 1299.99, \"purchase_date\": \"2024-02-01\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:47',1,'admin'),(7,'assets','INSERT',7,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"LAPTOP-2\", \"asset_numeric_id\": 90756157, \"asset_type\": \"B\", \"name\": \"Laptop 2\", \"category_id\": 2, \"manufacturer\": \"HP\", \"model\": \"EliteBook 840\", \"serial_number\": \"SN-LAPTOP-2\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 1299.99, \"purchase_date\": \"2024-02-01\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:47',1,'admin'),(8,'assets','INSERT',8,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"LAPTOP-3\", \"asset_numeric_id\": 97073776, \"asset_type\": \"B\", \"name\": \"Laptop 3\", \"category_id\": 2, \"manufacturer\": \"HP\", \"model\": \"EliteBook 840\", \"serial_number\": \"SN-LAPTOP-3\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 1299.99, \"purchase_date\": \"2024-02-01\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:47',1,'admin'),(9,'assets','INSERT',9,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"OSC-001\", \"asset_numeric_id\": 40246871, \"asset_type\": \"L\", \"name\": \"Digital Oscilloscope\", \"category_id\": 3, \"manufacturer\": \"Tektronix\", \"model\": \"TBS2104B\", \"serial_number\": \"SN-OSC-001\", \"zone_id\": 7, \"status\": \"Good\", \"price\": 1899.99, \"purchase_date\": \"2024-01-10\", \"quantity_used\": 0, \"supplier_id\": 2, \"lendable\": 1, \"minimum_role_for_lending\": 50, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:48',1,'admin'),(10,'assets','INSERT',10,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"DMM-001\", \"asset_numeric_id\": 96642470, \"asset_type\": \"L\", \"name\": \"Digital Multimeter\", \"category_id\": 3, \"manufacturer\": \"Fluke\", \"model\": \"117\", \"serial_number\": \"SN-DMM-001\", \"zone_id\": 7, \"status\": \"Good\", \"price\": 199.99, \"purchase_date\": \"2024-01-10\", \"quantity_used\": 0, \"supplier_id\": 2, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:48',1,'admin'),(11,'assets','INSERT',11,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_available\", \"quantity_total\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"CABLE-ETH-001\", \"asset_numeric_id\": 57348031, \"asset_type\": \"C\", \"name\": \"Ethernet Cables (Box of 50)\", \"category_id\": 4, \"manufacturer\": \"Generic\", \"model\": \"Cat6 5ft\", \"serial_number\": \"BATCH-001\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 149.99, \"purchase_date\": \"2024-03-01\", \"quantity_available\": 50, \"quantity_total\": 50, \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:43:48',1,'admin'),(12,'assets','UPDATE',6,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 1, \"due_date\": \"2025-10-20\"}','2025-10-20 11:43:51',3,'staff1'),(13,'assets','UPDATE',9,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-10-15\"}','2025-10-20 11:43:51',2,'manager1'),(14,'assets','UPDATE',3,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Missing\"}','2025-10-20 11:43:52',1,'admin'),(15,'assets','UPDATE',6,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 1, \"due_date\": \"2025-10-20\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 1}','2025-10-20 11:43:54',3,'staff1'),(16,'assets','UPDATE',10,'[\"status\", \"lending_status\"]','{\"status\": \"Good\", \"lending_status\": \"Available\"}','{\"status\": \"Faulty\", \"lending_status\": null}','2025-10-20 11:43:54',3,'staff1'),(17,'assets','UPDATE',10,'[\"status\", \"lending_status\"]','{\"status\": \"Faulty\", \"lending_status\": null}','{\"status\": \"Good\", \"lending_status\": \"Available\"}','2025-10-20 11:43:55',2,'manager1'),(18,'assets','INSERT',12,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"MOUSE-1\", \"asset_numeric_id\": 12309104, \"asset_type\": \"N\", \"name\": \"Wireless Mouse 1\", \"category_id\": 2, \"manufacturer\": \"Logitech\", \"model\": \"MX Master 3\", \"serial_number\": \"SN-MOUSE-1\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 99.99, \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 2}','2025-10-20 11:43:57',2,'manager1'),(19,'assets','INSERT',13,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"MOUSE-2\", \"asset_numeric_id\": 56755484, \"asset_type\": \"N\", \"name\": \"Wireless Mouse 2\", \"category_id\": 2, \"manufacturer\": \"Logitech\", \"model\": \"MX Master 3\", \"serial_number\": \"SN-MOUSE-2\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 99.99, \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 2}','2025-10-20 11:43:57',2,'manager1'),(20,'assets','INSERT',14,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"MOUSE-3\", \"asset_numeric_id\": 85179628, \"asset_type\": \"N\", \"name\": \"Wireless Mouse 3\", \"category_id\": 2, \"manufacturer\": \"Logitech\", \"model\": \"MX Master 3\", \"serial_number\": \"SN-MOUSE-3\", \"zone_id\": 6, \"status\": \"Good\", \"price\": 99.99, \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 2}','2025-10-20 11:43:57',2,'manager1'),(21,'assets','INSERT',15,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"zone_plus\", \"zone_note\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"CLARIFY-1\", \"asset_numeric_id\": 26824546, \"asset_type\": \"N\", \"name\": \"Valid Clarify Test\", \"category_id\": 2, \"zone_id\": 5, \"zone_plus\": \"Clarify\", \"zone_note\": \"Needs verification of exact location in lab\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 2}','2025-10-20 11:43:59',2,'manager1'),(22,'assets','UPDATE',6,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-13\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:00',2,'manager1'),(23,'assets','UPDATE',7,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-13\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:00',2,'manager1'),(24,'assets','UPDATE',6,'[\"last_audit\"]','{\"last_audit\": \"2025-10-13\"}','{\"last_audit\": \"2025-10-20\"}','2025-10-20 11:44:03',2,'manager1'),(25,'assets','UPDATE',7,'[\"last_audit\"]','{\"last_audit\": \"2025-10-13\"}','{\"last_audit\": \"2025-10-20\"}','2025-10-20 11:44:04',2,'manager1'),(26,'assets','UPDATE',8,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:04',2,'manager1'),(27,'assets','UPDATE',11,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:04',2,'manager1'),(28,'assets','UPDATE',12,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:05',2,'manager1'),(29,'assets','UPDATE',13,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:05',2,'manager1'),(30,'assets','UPDATE',14,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\"}','2025-10-20 11:44:05',2,'manager1'),(31,'assets','UPDATE',10,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Attention\"}','2025-10-20 11:44:07',2,'manager1'),(32,'assets','UPDATE',10,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Attention\"}','2025-10-20 11:44:07',2,'manager1'),(33,'assets','UPDATE',2,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Missing\"}','2025-10-20 11:44:09',2,'manager1'),(34,'assets','UPDATE',2,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Missing\"}','2025-10-20 11:44:09',2,'manager1'),(35,'assets','UPDATE',12,'[\"last_audit_status\"]','{\"last_audit_status\": \"Good\"}','{\"last_audit_status\": \"Faulty\"}','2025-10-20 11:44:10',2,'manager1'),(36,'assets','UPDATE',12,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Faulty\"}','2025-10-20 11:44:10',2,'manager1'),(37,'assets','INSERT',16,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ROUTER-1\", \"asset_numeric_id\": 49096117, \"asset_type\": \"N\", \"name\": \"Network Router\", \"category_id\": 6, \"zone_id\": 4, \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:44:15',1,'admin'),(38,'assets','INSERT',17,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"zone_id\", \"status\", \"expiry_date\", \"quantity_total\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"notes\", \"created_by\"]',NULL,'{\"asset_tag\": \"LIC-OFFICE-365\", \"asset_numeric_id\": 38735916, \"asset_type\": \"L\", \"name\": \"Office 365 Business Premium License\", \"zone_id\": 4, \"status\": \"Good\", \"expiry_date\": \"2026-03-15\", \"quantity_total\": 10, \"quantity_used\": 3, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"notes\": \"Annual subscription - 10 user licenses\", \"created_by\": 1}','2025-10-20 11:44:16',1,'admin'),(39,'assets','INSERT',18,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"zone_id\", \"status\", \"quantity_total\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"notes\", \"created_by\"]',NULL,'{\"asset_tag\": \"CONS-MARKERS\", \"asset_numeric_id\": 79433402, \"asset_type\": \"C\", \"name\": \"Whiteboard Markers Pack\", \"zone_id\": 5, \"status\": \"Good\", \"quantity_total\": 50, \"quantity_used\": 10, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"notes\": \"Box of 50 markers, track deployment to classrooms\", \"created_by\": 1}','2025-10-20 11:44:16',1,'admin'),(40,'assets','UPDATE',18,'[\"quantity_used\"]','{\"quantity_used\": 10}','{\"quantity_used\": 45}','2025-10-20 11:44:17',1,'admin'),(41,'assets','INSERT',19,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"zone_id\", \"zone_plus\", \"zone_note\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"FLOAT-PROJECTOR\", \"asset_numeric_id\": 80464972, \"asset_type\": \"N\", \"name\": \"Mobile Projector\", \"zone_id\": 1, \"zone_plus\": \"Floating Global\", \"zone_note\": \"Can be moved between any locations\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-20 11:44:18',1,'admin'),(42,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 11:44:36',NULL,NULL),(43,'assets','UPDATE',7,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 11:44:36',NULL,NULL),(44,'assets','UPDATE',8,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 11:44:36',NULL,NULL),(45,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 11:46:36',1,'admin'),(46,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 11:48:36',1,'admin'),(47,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 11:50:36',1,'admin'),(48,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 11:52:36',1,'admin'),(49,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 11:54:36',1,'admin'),(50,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 11:56:36',1,'admin'),(51,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 11:58:36',1,'admin'),(52,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:00:36',1,'admin'),(53,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:02:36',1,'admin'),(54,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:04:36',1,'admin'),(55,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:06:54',NULL,NULL),(56,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:08:54',NULL,NULL),(57,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:10:09',NULL,NULL),(58,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:11:33',NULL,NULL),(59,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:13:33',NULL,NULL),(60,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:15:33',1,'admin'),(61,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:17:33',1,'admin'),(62,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:19:33',1,'admin'),(63,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:21:33',1,'admin'),(64,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:23:33',1,'admin'),(65,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:25:33',1,'admin'),(66,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Overdue\"}','2025-10-20 12:27:33',1,'admin'),(67,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-10-20 12:29:33',1,'admin'),(68,'assets','INSERT',20,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"test\", \"asset_numeric_id\": 15540884, \"asset_type\": \"N\", \"name\": \"test\", \"category_id\": 1, \"manufacturer\": \"test\", \"model\": \"test\", \"zone_id\": 7, \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-10-22 10:36:03',1,'admin'),(69,'assets','UPDATE',20,'[\"name\"]','{\"name\": \"test\"}','{\"name\": \"asdasd\"}','2025-10-22 11:59:03',1,'admin'),(70,'assets','UPDATE',9,'[\"zone_id\"]','{\"zone_id\": 7}','{\"zone_id\": 4}','2025-10-22 12:04:21',1,'admin'),(71,'assets','UPDATE',20,'[\"name\"]','{\"name\": \"asdasd\"}','{\"name\": \"asdasdasd\"}','2025-10-22 12:09:18',1,'admin'),(72,'assets','UPDATE',20,'[\"model\"]','{\"model\": \"test\"}','{\"model\": \"test222\"}','2025-10-22 12:45:46',1,'admin'),(73,'assets','UPDATE',20,'[\"name\"]','{\"name\": \"asdasdasd\"}','{\"name\": \"asdasdasd2222\"}','2025-10-22 12:46:02',1,'admin'),(74,'assets','UPDATE',20,'[\"asset_tag\"]','{\"asset_tag\": \"test\"}','{\"asset_tag\": \"test2\"}','2025-10-22 12:57:24',1,'admin'),(75,'assets','UPDATE',20,'[\"asset_tag\"]','{\"asset_tag\": \"test2\"}','{\"asset_tag\": \"test\"}','2025-10-22 13:01:08',1,'admin'),(76,'assets','UPDATE',20,'[\"asset_tag\"]','{\"asset_tag\": \"test\"}','{\"asset_tag\": \"test1\"}','2025-10-22 13:01:14',1,'admin'),(77,'assets','UPDATE',20,'[\"asset_tag\"]','{\"asset_tag\": \"test1\"}','{\"asset_tag\": \"test2\"}','2025-10-22 13:01:21',1,'admin'),(78,'assets','UPDATE',20,'[\"asset_tag\"]','{\"asset_tag\": \"test2\"}','{\"asset_tag\": \"test3\"}','2025-10-22 13:01:28',1,'admin'),(79,'assets','UPDATE',1,'[\"asset_tag\"]','{\"asset_tag\": \"DESK-1\"}','{\"asset_tag\": \"DESK-12\"}','2025-10-22 13:41:25',1,'admin'),(80,'assets','UPDATE',5,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Retired\"}','2025-10-22 14:34:17',1,'admin'),(81,'assets','UPDATE',5,'[\"category_id\"]','{\"category_id\": 2}','{\"category_id\": 3}','2025-10-22 14:59:45',1,'admin'),(82,'assets','UPDATE',19,'[\"category_id\"]','{\"category_id\": null}','{\"category_id\": 1}','2025-10-22 14:59:52',1,'admin'),(83,'assets','UPDATE',18,'[\"category_id\"]','{\"category_id\": null}','{\"category_id\": 4}','2025-10-22 14:59:59',1,'admin'),(84,'assets','UPDATE',17,'[\"category_id\"]','{\"category_id\": null}','{\"category_id\": 6}','2025-10-22 15:00:05',1,'admin'),(85,'assets','UPDATE',20,'[\"lendable\"]','{\"lendable\": 0}','{\"lendable\": 1}','2025-10-23 08:43:07',1,'admin'),(86,'assets','UPDATE',16,'[\"lendable\"]','{\"lendable\": 0}','{\"lendable\": 1}','2025-10-23 12:38:36',1,'admin'),(87,'assets','UPDATE',6,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-10-23 14:10:33',1,'admin'),(88,'assets','UPDATE',12,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-10-24 06:51:21',1,'admin'),(89,'assets','UPDATE',13,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-10-24 11:59:06',1,'admin'),(92,'assets','UPDATE',6,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Overdue\"}','2025-10-27 09:56:24',NULL,NULL),(93,'assets','UPDATE',12,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Overdue\"}','2025-10-27 09:56:24',NULL,NULL),(94,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Available\"}','2025-10-27 10:09:28',1,'admin'),(95,'assets','UPDATE',8,'[\"lending_status\"]','{\"lending_status\": \"Stolen\"}','{\"lending_status\": \"Available\"}','2025-10-27 10:10:04',1,'admin'),(96,'assets','UPDATE',7,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Available\"}','2025-10-27 10:15:09',1,'admin'),(97,'assets','UPDATE',1,'[\"lending_status\"]','{\"lending_status\": null}','{\"lending_status\": \"Available\"}','2025-10-27 10:17:22',1,'admin'),(98,'assets','UPDATE',6,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Available\"}','2025-10-27 10:46:10',1,'admin'),(99,'assets','UPDATE',13,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Overdue\"}','2025-11-03 14:40:22',NULL,NULL),(100,'assets','UPDATE',8,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-11-03 14:44:10',1,'admin'),(101,'assets','UPDATE',12,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Stolen\"}','2025-11-09 00:00:06',NULL,NULL),(102,'assets','UPDATE',8,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Overdue\"}','2025-11-11 08:55:56',NULL,NULL),(103,'assets','UPDATE',14,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-11-11 09:00:13',1,'admin'),(104,'assets','UPDATE',6,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-11-12 10:32:00',1,'admin'),(105,'assets','UPDATE',14,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Overdue\"}','2025-11-13 00:01:11',NULL,NULL),(106,'assets','INSERT',21,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"TECH-sb-GFLAB-101-01\", \"asset_numeric_id\": 91584504, \"asset_type\": \"N\", \"name\": \"CTouch Smartboard Riva R2\", \"category_id\": 7, \"manufacturer\": \"Cunt Touch\", \"model\": \"Riva R2\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 123123.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 13:03:55',1,'admin'),(107,'assets','INSERT',22,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"PS39-sb-108-01\", \"asset_numeric_id\": 31979434, \"asset_type\": \"N\", \"name\": \"CTouch Smartboard Riva R2\", \"category_id\": 7, \"manufacturer\": \"Cunt Touch\", \"model\": \"Riva R2\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 123123.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 13:30:16',1,'admin'),(108,'assets','INSERT',24,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"PS39-sb-108-02\", \"asset_numeric_id\": 72311629, \"asset_type\": \"N\", \"name\": \"CTouch Smartboard Riva R2\", \"category_id\": 7, \"manufacturer\": \"Cunt Touch\", \"model\": \"Riva R2\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 123123.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 13:39:32',1,'admin'),(109,'assets','UPDATE',6,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Retired\"}','2025-11-13 15:18:06',1,'admin'),(110,'assets','UPDATE',6,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Available\"}','2025-11-13 15:21:47',1,'admin'),(111,'assets','DELETE',6,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"previous_borrower_id\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"LAPTOP-1\", \"asset_numeric_id\": 65938365, \"asset_type\": \"B\", \"name\": \"Laptop 1\", \"category_id\": 2, \"manufacturer\": \"HP\", \"model\": \"EliteBook 840\", \"serial_number\": \"SN-LAPTOP-1\", \"zone_id\": 6, \"status\": \"Retired\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\", \"price\": 1299.99, \"purchase_date\": \"2024-02-01\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"previous_borrower_id\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:47\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 15:21:47\", \"last_modified_by\": 1}',NULL,'2025-11-13 15:21:58',1,'admin'),(112,'assets','DELETE',20,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"test3\", \"asset_numeric_id\": 15540884, \"asset_type\": \"N\", \"name\": \"asdasdasd2222\", \"category_id\": 1, \"manufacturer\": \"test\", \"model\": \"test222\", \"zone_id\": 7, \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-22 10:36:03\", \"created_by\": 1, \"last_modified_date\": \"2025-10-23 08:43:07\", \"last_modified_by\": 1}',NULL,'2025-11-13 15:24:16',1,'admin'),(113,'assets','DELETE',4,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"DESK-4\", \"asset_numeric_id\": 40933134, \"asset_type\": \"N\", \"name\": \"Desktop Computer 4\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-4\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:46\", \"created_by\": 1, \"last_modified_date\": \"2025-10-20 11:43:46\"}',NULL,'2025-11-13 15:24:25',1,'admin'),(114,'assets','DELETE',3,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"DESK-3\", \"asset_numeric_id\": 64139289, \"asset_type\": \"N\", \"name\": \"Desktop Computer 3\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-3\", \"zone_id\": 5, \"status\": \"Missing\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:46\", \"created_by\": 1, \"last_modified_date\": \"2025-10-20 11:43:52\", \"last_modified_by\": 1}',NULL,'2025-11-13 15:24:42',1,'admin'),(115,'assets','DELETE',5,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"DESK-5\", \"asset_numeric_id\": 80850219, \"asset_type\": \"N\", \"name\": \"Desktop Computer 5\", \"category_id\": 3, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-5\", \"zone_id\": 5, \"status\": \"Retired\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:47\", \"created_by\": 1, \"last_modified_date\": \"2025-10-22 14:59:45\", \"last_modified_by\": 1}',NULL,'2025-11-13 15:24:49',1,'admin'),(116,'assets','DELETE',10,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"DMM-001\", \"asset_numeric_id\": 96642470, \"asset_type\": \"L\", \"name\": \"Digital Multimeter\", \"category_id\": 3, \"manufacturer\": \"Fluke\", \"model\": \"117\", \"serial_number\": \"SN-DMM-001\", \"zone_id\": 7, \"status\": \"Attention\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Attention\", \"price\": 199.99, \"purchase_date\": \"2024-01-10\", \"quantity_used\": 0, \"supplier_id\": 2, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:48\", \"created_by\": 1, \"last_modified_date\": \"2025-10-20 11:44:07\", \"last_modified_by\": 2}',NULL,'2025-11-13 15:25:01',1,'admin'),(117,'assets','DELETE',2,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"DESK-2\", \"asset_numeric_id\": 34081098, \"asset_type\": \"N\", \"name\": \"Desktop Computer 2\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-2\", \"zone_id\": 5, \"status\": \"Missing\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Missing\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:46\", \"created_by\": 1, \"last_modified_date\": \"2025-10-20 11:44:09\", \"last_modified_by\": 2}',NULL,'2025-11-13 15:25:04',1,'admin'),(118,'assets','DELETE',11,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"purchase_date\", \"quantity_available\", \"quantity_total\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"CABLE-ETH-001\", \"asset_numeric_id\": 57348031, \"asset_type\": \"C\", \"name\": \"Ethernet Cables (Box of 50)\", \"category_id\": 4, \"manufacturer\": \"Generic\", \"model\": \"Cat6 5ft\", \"serial_number\": \"BATCH-001\", \"zone_id\": 6, \"status\": \"Good\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\", \"price\": 149.99, \"purchase_date\": \"2024-03-01\", \"quantity_available\": 50, \"quantity_total\": 50, \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:48\", \"created_by\": 1, \"last_modified_date\": \"2025-10-20 11:44:04\", \"last_modified_by\": 2}',NULL,'2025-11-13 15:25:08',1,'admin'),(119,'assets','DELETE',15,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"zone_plus\", \"zone_note\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"CLARIFY-1\", \"asset_numeric_id\": 26824546, \"asset_type\": \"N\", \"name\": \"Valid Clarify Test\", \"category_id\": 2, \"zone_id\": 5, \"zone_plus\": \"Clarify\", \"zone_note\": \"Needs verification of exact location in lab\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:59\", \"created_by\": 2, \"last_modified_date\": \"2025-10-20 11:43:59\"}',NULL,'2025-11-13 15:25:12',1,'admin'),(120,'assets','DELETE',21,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"TECH-sb-GFLAB-101-01\", \"asset_numeric_id\": 91584504, \"asset_type\": \"N\", \"name\": \"CTouch Smartboard Riva R2\", \"category_id\": 7, \"manufacturer\": \"Cunt Touch\", \"model\": \"Riva R2\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 123123.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-11-13 13:03:55\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 13:03:55\"}',NULL,'2025-11-13 15:25:16',1,'admin'),(121,'assets','DELETE',24,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"PS39-sb-108-02\", \"asset_numeric_id\": 72311629, \"asset_type\": \"N\", \"name\": \"CTouch Smartboard Riva R2\", \"category_id\": 7, \"manufacturer\": \"Cunt Touch\", \"model\": \"Riva R2\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 123123.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-11-13 13:39:32\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 13:39:32\"}',NULL,'2025-11-13 15:26:36',1,'admin'),(122,'assets','DELETE',22,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"PS39-sb-108-01\", \"asset_numeric_id\": 31979434, \"asset_type\": \"N\", \"name\": \"CTouch Smartboard Riva R2\", \"category_id\": 7, \"manufacturer\": \"Cunt Touch\", \"model\": \"Riva R2\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 123123.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-11-13 13:30:16\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 13:30:16\"}',NULL,'2025-11-13 15:26:38',1,'admin'),(123,'assets','INSERT',25,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"lendable\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"cbl-hdmi-001\", \"asset_numeric_id\": 32094651, \"asset_type\": \"N\", \"name\": \"Floating HDMI Cables\", \"category_id\": 9, \"zone_id\": 11, \"status\": \"Good\", \"price\": 20.00, \"purchase_date\": \"2025-11-13\", \"lendable\": 1, \"lending_status\": \"Available\", \"no_scan\": \"Yes\", \"created_by\": 1}','2025-11-13 15:30:09',1,'admin'),(124,'assets','UPDATE',13,'[\"lending_status\", \"previous_borrower_id\"]','{\"lending_status\": \"Overdue\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"previous_borrower_id\": 5}','2025-11-13 15:53:36',1,'admin'),(125,'assets','UPDATE',8,'[\"lending_status\", \"previous_borrower_id\"]','{\"lending_status\": \"Overdue\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"previous_borrower_id\": 3}','2025-11-13 15:54:12',1,'admin'),(126,'assets','UPDATE',12,'[\"lending_status\", \"previous_borrower_id\"]','{\"lending_status\": \"Stolen\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"previous_borrower_id\": 1}','2025-11-13 16:09:31',1,'admin'),(127,'assets','UPDATE',7,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-19\"}','2025-11-13 16:13:07',1,'admin'),(128,'assets','UPDATE',9,'[\"lending_status\"]','{\"lending_status\": \"Available\"}','{\"lending_status\": \"Borrowed\"}','2025-11-13 16:15:33',NULL,NULL),(129,'assets','UPDATE',7,'[\"lending_status\", \"current_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3}','{\"lending_status\": \"Available\", \"current_borrower_id\": null}','2025-11-13 16:19:51',NULL,NULL),(130,'assets','UPDATE',7,'[\"due_date\", \"previous_borrower_id\"]','{\"due_date\": \"2025-11-19\", \"previous_borrower_id\": null}','{\"due_date\": null, \"previous_borrower_id\": 3}','2025-11-13 16:20:17',1,'admin'),(131,'assets','UPDATE',9,'[\"lending_status\", \"current_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3}','{\"lending_status\": \"Available\", \"current_borrower_id\": null}','2025-11-13 16:21:02',NULL,NULL),(132,'assets','UPDATE',9,'[\"due_date\"]','{\"due_date\": \"2025-10-15\"}','{\"due_date\": null}','2025-11-13 16:21:10',NULL,NULL),(133,'assets','UPDATE',9,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-27\"}','2025-11-13 16:21:33',1,'admin'),(134,'assets','UPDATE',9,'[\"asset_type\"]','{\"asset_type\": \"L\"}','{\"asset_type\": \"N\"}','2025-11-13 16:23:28',1,'admin'),(135,'assets','UPDATE',12,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 4, \"due_date\": \"2025-11-27\"}','2025-11-13 16:27:31',1,'admin'),(136,'assets','UPDATE',14,'[\"lending_status\"]','{\"lending_status\": \"Overdue\"}','{\"lending_status\": \"Available\"}','2025-11-13 16:32:16',1,'admin'),(137,'assets','INSERT',26,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"lendable\", \"lending_status\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"cbl-hdmi-002\", \"asset_numeric_id\": 18368995, \"asset_type\": \"N\", \"name\": \"Floating HDMI Cables\", \"category_id\": 9, \"zone_id\": 11, \"status\": \"Good\", \"price\": 20.00, \"purchase_date\": \"2025-11-13\", \"lendable\": 1, \"lending_status\": \"Available\", \"no_scan\": \"Yes\", \"created_by\": 1}','2025-11-13 18:26:54',1,'admin'),(138,'assets','INSERT',27,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-01\", \"asset_numeric_id\": 66843174, \"asset_type\": \"N\", \"name\": \"Generic Monitor\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 18:51:25',1,'admin'),(139,'assets','INSERT',28,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-02\", \"asset_numeric_id\": 75155874, \"asset_type\": \"N\", \"name\": \"Generic Monitor\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:09:42',1,'admin'),(140,'assets','INSERT',29,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-03\", \"asset_numeric_id\": 95324750, \"asset_type\": \"N\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:17:12',1,'admin'),(141,'assets','DELETE',29,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-03\", \"asset_numeric_id\": 95324750, \"asset_type\": \"N\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:17:12\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:17:12\"}',NULL,'2025-11-13 19:19:42',1,'admin'),(142,'assets','INSERT',30,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-03\", \"asset_numeric_id\": 79796373, \"asset_type\": \"N\", \"name\": \"Generic Monitor (Copy)\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:25:07',1,'admin'),(143,'assets','DELETE',30,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-03\", \"asset_numeric_id\": 79796373, \"asset_type\": \"N\", \"name\": \"Generic Monitor (Copy)\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:25:07\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:25:07\"}',NULL,'2025-11-13 19:25:15',1,'admin'),(144,'assets','INSERT',31,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-03\", \"asset_numeric_id\": 66329180, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:26:38',1,'admin'),(145,'assets','INSERT',32,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-04\", \"asset_numeric_id\": 69590527, \"asset_type\": \"N\", \"name\": \"Dell Monitor (Copy)\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:27:38',1,'admin'),(146,'assets','DELETE',32,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-04\", \"asset_numeric_id\": 69590527, \"asset_type\": \"N\", \"name\": \"Dell Monitor (Copy)\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:27:38\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:27:38\"}',NULL,'2025-11-13 19:36:33',1,'admin'),(147,'assets','INSERT',33,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-04\", \"asset_numeric_id\": 82402163, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:36:52',1,'admin'),(148,'assets','INSERT',34,'[\"asset_numeric_id\", \"asset_type\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_numeric_id\": 29878524, \"asset_type\": \"N\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:39:23',1,'admin'),(149,'assets','DELETE',34,'[\"asset_numeric_id\", \"asset_type\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_numeric_id\": 29878524, \"asset_type\": \"N\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:39:23\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:39:23\"}',NULL,'2025-11-13 19:39:30',1,'admin'),(150,'assets','INSERT',35,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-05\", \"asset_numeric_id\": 62556220, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:39:42',1,'admin'),(151,'assets','INSERT',36,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-06\", \"asset_numeric_id\": 47928367, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:41:10',1,'admin'),(152,'assets','INSERT',37,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-07\", \"asset_numeric_id\": 94709833, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:45:14',1,'admin'),(153,'assets','DELETE',37,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-07\", \"asset_numeric_id\": 94709833, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:45:14\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:45:14\"}',NULL,'2025-11-13 19:45:33',1,'admin'),(154,'assets','DELETE',36,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-06\", \"asset_numeric_id\": 47928367, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:41:10\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:41:10\"}',NULL,'2025-11-13 19:45:36',1,'admin'),(155,'assets','DELETE',35,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-05\", \"asset_numeric_id\": 62556220, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:39:42\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:39:42\"}',NULL,'2025-11-13 19:45:38',1,'admin'),(156,'assets','DELETE',33,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-04\", \"asset_numeric_id\": 82402163, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:36:52\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:36:52\"}',NULL,'2025-11-13 19:45:41',1,'admin'),(157,'assets','DELETE',31,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-03\", \"asset_numeric_id\": 66329180, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"manufacturer\": \"Dell\", \"model\": \"P2723D\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 199.90, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:26:38\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:26:38\"}',NULL,'2025-11-13 19:45:43',1,'admin'),(158,'assets','DELETE',28,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-02\", \"asset_numeric_id\": 75155874, \"asset_type\": \"N\", \"name\": \"Generic Monitor\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 19:09:42\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 19:09:42\"}',NULL,'2025-11-13 19:45:45',1,'admin'),(159,'assets','DELETE',27,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\"]','{\"asset_tag\": \"ps39-mon-108-01\", \"asset_numeric_id\": 66843174, \"asset_type\": \"N\", \"name\": \"Generic Monitor\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_date\": \"2025-11-13 18:51:25\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 18:51:25\"}',NULL,'2025-11-13 19:45:47',1,'admin'),(160,'assets','INSERT',38,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-01\", \"asset_numeric_id\": 51229246, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"zone_id\": 11, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:46:33',1,'admin'),(161,'assets','INSERT',39,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"warranty_until\", \"supplier_id\", \"lendable\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-108-02\", \"asset_numeric_id\": 97355732, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"model\": \"jyiuyiu\", \"serial_number\": \"7657865756\", \"zone_id\": 11, \"status\": \"Good\", \"price\": 21423.00, \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"supplier_id\": 1, \"lendable\": 0, \"no_scan\": \"No\", \"created_by\": 1}','2025-11-13 19:48:05',1,'admin'),(162,'assets','DELETE',14,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"MOUSE-3\", \"asset_numeric_id\": 85179628, \"asset_type\": \"N\", \"name\": \"Wireless Mouse 3\", \"category_id\": 2, \"manufacturer\": \"Logitech\", \"model\": \"MX Master 3\", \"serial_number\": \"SN-MOUSE-3\", \"zone_id\": 6, \"status\": \"Good\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\", \"price\": 99.99, \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:57\", \"created_by\": 2, \"last_modified_date\": \"2025-11-13 16:32:16\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:20:55',1,'admin'),(163,'assets','DELETE',7,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"previous_borrower_id\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"LAPTOP-2\", \"asset_numeric_id\": 90756157, \"asset_type\": \"B\", \"name\": \"Laptop 2\", \"category_id\": 2, \"manufacturer\": \"HP\", \"model\": \"EliteBook 840\", \"serial_number\": \"SN-LAPTOP-2\", \"zone_id\": 6, \"status\": \"Good\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\", \"price\": 1299.99, \"purchase_date\": \"2024-02-01\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"previous_borrower_id\": 3, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:47\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 16:20:17\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:20:59',1,'admin'),(164,'assets','DELETE',8,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"previous_borrower_id\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"LAPTOP-3\", \"asset_numeric_id\": 97073776, \"asset_type\": \"B\", \"name\": \"Laptop 3\", \"category_id\": 2, \"manufacturer\": \"HP\", \"model\": \"EliteBook 840\", \"serial_number\": \"SN-LAPTOP-3\", \"zone_id\": 6, \"status\": \"Good\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\", \"price\": 1299.99, \"purchase_date\": \"2024-02-01\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 1, \"minimum_role_for_lending\": 25, \"lending_status\": \"Available\", \"previous_borrower_id\": 3, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:47\", \"created_by\": 1, \"last_modified_date\": \"2025-11-13 15:54:12\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:02',1,'admin'),(165,'assets','DELETE',13,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"previous_borrower_id\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"MOUSE-2\", \"asset_numeric_id\": 56755484, \"asset_type\": \"N\", \"name\": \"Wireless Mouse 2\", \"category_id\": 2, \"manufacturer\": \"Logitech\", \"model\": \"MX Master 3\", \"serial_number\": \"SN-MOUSE-2\", \"zone_id\": 6, \"status\": \"Good\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Good\", \"price\": 99.99, \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"previous_borrower_id\": 5, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:57\", \"created_by\": 2, \"last_modified_date\": \"2025-11-13 15:53:36\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:05',1,'admin'),(166,'assets','UPDATE',12,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 4, \"due_date\": \"2025-11-27\", \"previous_borrower_id\": 1}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 4}','2025-11-14 15:21:13',1,'admin'),(167,'assets','UPDATE',9,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-27\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 3}','2025-11-14 15:21:16',1,'admin'),(168,'assets','DELETE',12,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"last_audit\", \"last_audit_status\", \"price\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"previous_borrower_id\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"MOUSE-1\", \"asset_numeric_id\": 12309104, \"asset_type\": \"N\", \"name\": \"Wireless Mouse 1\", \"category_id\": 2, \"manufacturer\": \"Logitech\", \"model\": \"MX Master 3\", \"serial_number\": \"SN-MOUSE-1\", \"zone_id\": 6, \"status\": \"Faulty\", \"last_audit\": \"2025-10-20\", \"last_audit_status\": \"Faulty\", \"price\": 99.99, \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"previous_borrower_id\": 4, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:57\", \"created_by\": 2, \"last_modified_date\": \"2025-11-14 15:21:13\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:37',1,'admin'),(169,'assets','DELETE',9,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"previous_borrower_id\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"OSC-001\", \"asset_numeric_id\": 40246871, \"asset_type\": \"N\", \"name\": \"Digital Oscilloscope\", \"category_id\": 3, \"manufacturer\": \"Tektronix\", \"model\": \"TBS2104B\", \"serial_number\": \"SN-OSC-001\", \"zone_id\": 4, \"status\": \"Good\", \"price\": 1899.99, \"purchase_date\": \"2024-01-10\", \"quantity_used\": 0, \"supplier_id\": 2, \"lendable\": 1, \"minimum_role_for_lending\": 50, \"lending_status\": \"Available\", \"previous_borrower_id\": 3, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:48\", \"created_by\": 1, \"last_modified_date\": \"2025-11-14 15:21:16\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:37',1,'admin'),(170,'assets','DELETE',1,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"manufacturer\", \"model\", \"serial_number\", \"zone_id\", \"status\", \"price\", \"purchase_date\", \"quantity_used\", \"supplier_id\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"DESK-12\", \"asset_numeric_id\": 75650012, \"asset_type\": \"N\", \"name\": \"Desktop Computer 1\", \"category_id\": 2, \"manufacturer\": \"Dell\", \"model\": \"OptiPlex 7090\", \"serial_number\": \"SN-DESK-1\", \"zone_id\": 5, \"status\": \"Good\", \"price\": 899.99, \"purchase_date\": \"2024-01-15\", \"quantity_used\": 0, \"supplier_id\": 1, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:43:46\", \"created_by\": 1, \"last_modified_date\": \"2025-10-27 10:17:22\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:53',1,'admin'),(171,'assets','DELETE',19,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"zone_plus\", \"zone_note\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"FLOAT-PROJECTOR\", \"asset_numeric_id\": 80464972, \"asset_type\": \"N\", \"name\": \"Mobile Projector\", \"category_id\": 1, \"zone_id\": 1, \"zone_plus\": \"Floating Global\", \"zone_note\": \"Can be moved between any locations\", \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:44:18\", \"created_by\": 1, \"last_modified_date\": \"2025-10-22 14:59:52\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:53',1,'admin'),(172,'assets','DELETE',18,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"quantity_total\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"lending_status\", \"no_scan\", \"notes\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"CONS-MARKERS\", \"asset_numeric_id\": 79433402, \"asset_type\": \"C\", \"name\": \"Whiteboard Markers Pack\", \"category_id\": 4, \"zone_id\": 5, \"status\": \"Good\", \"quantity_total\": 50, \"quantity_used\": 45, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"lending_status\": \"Available\", \"no_scan\": \"No\", \"notes\": \"Box of 50 markers, track deployment to classrooms\", \"created_date\": \"2025-10-20 11:44:16\", \"created_by\": 1, \"last_modified_date\": \"2025-10-27 10:11:39\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:53',1,'admin'),(173,'assets','DELETE',17,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"expiry_date\", \"quantity_total\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"notes\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"LIC-OFFICE-365\", \"asset_numeric_id\": 38735916, \"asset_type\": \"L\", \"name\": \"Office 365 Business Premium License\", \"category_id\": 6, \"zone_id\": 4, \"status\": \"Good\", \"expiry_date\": \"2026-03-15\", \"quantity_total\": 10, \"quantity_used\": 3, \"lendable\": 0, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"notes\": \"Annual subscription - 10 user licenses\", \"created_date\": \"2025-10-20 11:44:16\", \"created_by\": 1, \"last_modified_date\": \"2025-10-22 15:00:05\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:53',1,'admin'),(174,'assets','DELETE',16,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"quantity_used\", \"lendable\", \"minimum_role_for_lending\", \"no_scan\", \"created_date\", \"created_by\", \"last_modified_date\", \"last_modified_by\"]','{\"asset_tag\": \"ROUTER-1\", \"asset_numeric_id\": 49096117, \"asset_type\": \"N\", \"name\": \"Network Router\", \"category_id\": 6, \"zone_id\": 4, \"status\": \"Good\", \"quantity_used\": 0, \"lendable\": 1, \"minimum_role_for_lending\": 1, \"no_scan\": \"No\", \"created_date\": \"2025-10-20 11:44:15\", \"created_by\": 1, \"last_modified_date\": \"2025-10-23 12:38:36\", \"last_modified_by\": 1}',NULL,'2025-11-14 15:21:53',1,'admin'),(175,'assets','UPDATE',25,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-21\"}','2025-11-14 19:28:38',1,'admin'),(176,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-21\"}','2025-11-14 21:47:39',1,'admin'),(177,'assets','UPDATE',25,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-21\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 3}','2025-11-14 21:48:14',1,'admin'),(178,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2025-11-21\", \"previous_borrower_id\": null}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 3}','2025-11-14 21:49:25',1,'admin'),(179,'assets','UPDATE',25,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 4, \"due_date\": \"2025-11-21\"}','2025-11-14 21:51:07',1,'admin'),(180,'assets','UPDATE',25,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 4, \"due_date\": \"2025-11-21\", \"previous_borrower_id\": 3}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 4}','2025-11-14 21:51:11',1,'admin'),(181,'assets','UPDATE',38,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-11-14\", \"last_audit_status\": \"Good\"}','2025-11-14 22:42:57',1,'admin'),(182,'assets','UPDATE',39,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-11-14\", \"last_audit_status\": \"Good\"}','2025-11-14 22:42:57',1,'admin'),(183,'assets','UPDATE',25,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-11-14\", \"last_audit_status\": \"Good\"}','2025-11-14 22:42:57',1,'admin'),(184,'assets','UPDATE',26,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-11-14\", \"last_audit_status\": \"Good\"}','2025-11-14 22:42:57',1,'admin'),(185,'assets','UPDATE',26,'[\"no_scan\"]','{\"no_scan\": \"Yes\"}','{\"no_scan\": \"Ask\"}','2025-11-14 23:06:14',1,'admin'),(186,'assets','UPDATE',26,'[\"last_audit_status\"]','{\"last_audit_status\": \"Good\"}','{\"last_audit_status\": \"Missing\"}','2025-11-14 23:10:15',1,'admin'),(187,'assets','UPDATE',26,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Missing\"}','2025-11-14 23:10:15',1,'admin'),(188,'assets','UPDATE',26,'[\"status\"]','{\"status\": \"Missing\"}','{\"status\": \"Good\"}','2025-11-14 23:21:14',1,'admin'),(189,'assets','UPDATE',26,'[\"last_audit_status\"]','{\"last_audit_status\": \"Missing\"}','{\"last_audit_status\": \"Good\"}','2025-11-14 23:25:16',1,'admin'),(190,'assets','UPDATE',38,'[\"audit_task_id\"]','{\"audit_task_id\": null}','{\"audit_task_id\": 1}','2025-11-15 01:18:32',1,'admin'),(191,'assets','UPDATE',25,'[\"last_audit\"]','{\"last_audit\": \"2025-11-14\"}','{\"last_audit\": \"2025-11-15\"}','2025-11-15 01:19:04',1,'admin'),(192,'assets','UPDATE',38,'[\"last_audit\"]','{\"last_audit\": \"2025-11-14\"}','{\"last_audit\": \"2025-11-15\"}','2025-11-15 01:29:14',1,'admin'),(193,'assets','UPDATE',39,'[\"last_audit\"]','{\"last_audit\": \"2025-11-14\"}','{\"last_audit\": \"2025-11-15\"}','2025-11-15 01:29:14',1,'admin'),(194,'assets','UPDATE',26,'[\"last_audit\"]','{\"last_audit\": \"2025-11-14\"}','{\"last_audit\": \"2025-11-15\"}','2025-11-15 01:29:14',1,'admin'),(195,'assets','UPDATE',25,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 5, \"due_date\": \"2026-01-01\"}','2025-12-03 15:44:27',1,'admin'),(196,'assets','UPDATE',38,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": \"2025-11-15\", \"last_audit_status\": \"Good\"}','{\"last_audit\": \"2025-12-03\", \"last_audit_status\": \"Faulty\"}','2025-12-03 15:55:10',1,'admin'),(197,'assets','UPDATE',38,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Faulty\"}','2025-12-03 15:55:10',1,'admin'),(198,'assets','UPDATE',39,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": \"2025-11-15\", \"last_audit_status\": \"Good\"}','{\"last_audit\": \"2025-12-03\", \"last_audit_status\": \"Missing\"}','2025-12-03 15:55:10',1,'admin'),(199,'assets','UPDATE',39,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Missing\"}','2025-12-03 15:55:10',1,'admin'),(200,'assets','UPDATE',25,'[\"last_audit\"]','{\"last_audit\": \"2025-11-15\"}','{\"last_audit\": \"2025-12-03\"}','2025-12-03 15:55:10',1,'admin'),(201,'assets','UPDATE',26,'[\"last_audit\"]','{\"last_audit\": \"2025-11-15\"}','{\"last_audit\": \"2025-12-03\"}','2025-12-03 15:55:10',1,'admin'),(202,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 5, \"due_date\": \"2025-12-11\"}','2025-12-08 10:58:17',1,'admin'),(203,'assets','UPDATE',38,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": \"2025-12-03\", \"last_audit_status\": \"Faulty\"}','{\"last_audit\": \"2025-12-08\", \"last_audit_status\": \"Missing\"}','2025-12-08 11:00:50',1,'admin'),(204,'assets','UPDATE',38,'[\"status\"]','{\"status\": \"Faulty\"}','{\"status\": \"Missing\"}','2025-12-08 11:00:50',1,'admin'),(205,'assets','UPDATE',39,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": \"2025-12-03\", \"last_audit_status\": \"Missing\"}','{\"last_audit\": \"2025-12-08\", \"last_audit_status\": \"Good\"}','2025-12-08 11:00:50',1,'admin'),(206,'assets','UPDATE',39,'[\"status\"]','{\"status\": \"Missing\"}','{\"status\": \"Good\"}','2025-12-08 11:00:50',1,'admin'),(207,'assets','UPDATE',25,'[\"last_audit\"]','{\"last_audit\": \"2025-12-03\"}','{\"last_audit\": \"2025-12-08\"}','2025-12-08 11:00:50',1,'admin'),(208,'assets','UPDATE',26,'[\"last_audit\"]','{\"last_audit\": \"2025-12-03\"}','{\"last_audit\": \"2025-12-08\"}','2025-12-08 11:00:50',1,'admin'),(209,'assets','UPDATE',38,'[\"last_audit_status\"]','{\"last_audit_status\": \"Missing\"}','{\"last_audit_status\": \"Attention\"}','2025-12-08 11:08:13',1,'admin'),(210,'assets','UPDATE',38,'[\"status\"]','{\"status\": \"Missing\"}','{\"status\": \"Attention\"}','2025-12-08 11:08:13',1,'admin'),(211,'assets','UPDATE',39,'[\"last_audit_status\"]','{\"last_audit_status\": \"Good\"}','{\"last_audit_status\": \"Missing\"}','2025-12-08 11:08:13',1,'admin'),(212,'assets','UPDATE',39,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Missing\"}','2025-12-08 11:08:13',1,'admin'),(213,'assets','UPDATE',26,'[\"last_audit_status\"]','{\"last_audit_status\": \"Good\"}','{\"last_audit_status\": \"Missing\"}','2025-12-08 11:08:13',1,'admin'),(214,'assets','UPDATE',26,'[\"status\"]','{\"status\": \"Good\"}','{\"status\": \"Missing\"}','2025-12-08 11:08:13',1,'admin'),(215,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 5, \"due_date\": \"2025-12-11\", \"previous_borrower_id\": 3}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 5}','2025-12-10 14:29:13',1,'admin'),(216,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3}','2025-12-10 16:37:29',1,'admin'),(217,'assets','UPDATE',26,'[\"status\"]','{\"status\": \"Missing\"}','{\"status\": \"Good\"}','2025-12-10 16:40:16',1,'admin'),(218,'assets','UPDATE',26,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Deployed\"}','2025-12-10 16:42:23',1,'admin'),(219,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\", \"previous_borrower_id\"]','{\"lending_status\": \"Deployed\", \"current_borrower_id\": 3, \"previous_borrower_id\": 5}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"previous_borrower_id\": 3}','2025-12-10 16:55:09',1,'admin'),(220,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 5, \"due_date\": \"2025-12-14\"}','2025-12-11 17:01:32',1,'admin'),(221,'assets','UPDATE',26,'[\"lending_status\"]','{\"lending_status\": \"Borrowed\"}','{\"lending_status\": \"Overdue\"}','2025-12-21 22:43:22',NULL,NULL),(222,'assets','UPDATE',25,'[\"last_audit\"]','{\"last_audit\": \"2025-12-08\"}','{\"last_audit\": \"2025-12-21\"}','2025-12-21 23:41:41',1,'admin'),(223,'assets','UPDATE',25,'[\"last_audit\"]','{\"last_audit\": \"2025-12-21\"}','{\"last_audit\": \"2025-12-22\"}','2025-12-22 00:45:37',1,'admin'),(224,'assets','UPDATE',39,'[\"status\"]','{\"status\": \"Missing\"}','{\"status\": \"Good\"}','2025-12-22 00:47:32',1,'admin'),(225,'assets','UPDATE',38,'[\"status\"]','{\"status\": \"Attention\"}','{\"status\": \"Good\"}','2025-12-22 00:47:44',1,'admin'),(226,'assets','UPDATE',26,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Overdue\", \"current_borrower_id\": 5, \"due_date\": \"2025-12-14\", \"previous_borrower_id\": 3}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 5}','2025-12-22 00:47:55',1,'admin'),(227,'assets','UPDATE',25,'[\"lending_status\", \"current_borrower_id\", \"due_date\", \"previous_borrower_id\"]','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 5, \"due_date\": \"2026-01-01\", \"previous_borrower_id\": 4}','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null, \"previous_borrower_id\": 5}','2025-12-22 00:48:00',1,'admin'),(228,'assets','INSERT',40,'[\"asset_tag\", \"asset_numeric_id\", \"asset_type\", \"name\", \"category_id\", \"zone_id\", \"status\", \"purchase_date\", \"warranty_until\", \"lendable\", \"audit_task_id\", \"no_scan\", \"created_by\"]',NULL,'{\"asset_tag\": \"ps39-mon-109-01\", \"asset_numeric_id\": 41112353, \"asset_type\": \"N\", \"name\": \"Dell Monitor\", \"category_id\": 10, \"zone_id\": 13, \"status\": \"Good\", \"purchase_date\": \"2025-11-13\", \"warranty_until\": \"2027-11-13\", \"lendable\": 0, \"audit_task_id\": 1, \"no_scan\": \"No\", \"created_by\": 1}','2025-12-22 00:48:39',1,'admin'),(229,'assets','UPDATE',40,'[\"zone_id\"]','{\"zone_id\": 13}','{\"zone_id\": 11}','2025-12-22 00:50:24',1,'admin'),(230,'assets','UPDATE',40,'[\"zone_id\"]','{\"zone_id\": 11}','{\"zone_id\": 13}','2025-12-22 00:58:22',1,'admin'),(231,'assets','UPDATE',40,'[\"asset_tag\", \"zone_id\"]','{\"asset_tag\": \"ps39-mon-109-01\", \"zone_id\": 13}','{\"asset_tag\": \"ps39-mon-108-03\", \"zone_id\": 11}','2025-12-22 00:59:38',1,'admin'),(232,'assets','UPDATE',38,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": \"2025-12-08\", \"last_audit_status\": \"Attention\"}','{\"last_audit\": \"2025-12-22\", \"last_audit_status\": \"Good\"}','2025-12-22 01:00:29',1,'admin'),(233,'assets','UPDATE',39,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": \"2025-12-08\", \"last_audit_status\": \"Missing\"}','{\"last_audit\": \"2025-12-22\", \"last_audit_status\": \"Good\"}','2025-12-22 01:00:29',1,'admin'),(234,'assets','UPDATE',26,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": \"2025-12-08\", \"last_audit_status\": \"Missing\"}','{\"last_audit\": \"2025-12-22\", \"last_audit_status\": \"Good\"}','2025-12-22 01:00:29',1,'admin'),(235,'assets','UPDATE',40,'[\"last_audit\", \"last_audit_status\"]','{\"last_audit\": null, \"last_audit_status\": null}','{\"last_audit\": \"2025-12-22\", \"last_audit_status\": \"Good\"}','2025-12-22 01:00:29',1,'admin'),(236,'assets','UPDATE',40,'[\"asset_tag\", \"zone_id\"]','{\"asset_tag\": \"ps39-mon-108-03\", \"zone_id\": 11}','{\"asset_tag\": \"ps39-mon-109-01\", \"zone_id\": 13}','2025-12-22 01:09:27',1,'admin'),(237,'assets','UPDATE',40,'[\"asset_tag\"]','{\"asset_tag\": \"ps39-mon-109-01\"}','{\"asset_tag\": \"ps39-mon-109-01_TEMP_1766370124\"}','2025-12-22 02:22:04',1,'admin'),(238,'assets','UPDATE',38,'[\"asset_tag\", \"zone_id\"]','{\"asset_tag\": \"ps39-mon-108-01\", \"zone_id\": 11}','{\"asset_tag\": \"ps39-mon-109-01\", \"zone_id\": 13}','2025-12-22 02:22:04',1,'admin'),(239,'assets','UPDATE',40,'[\"asset_tag\", \"status\"]','{\"asset_tag\": \"ps39-mon-109-01_TEMP_1766370124\", \"status\": \"Good\"}','{\"asset_tag\": \"ps39-mon-108-01\", \"status\": \"Faulty\"}','2025-12-22 02:22:04',1,'admin'),(240,'assets','UPDATE',25,'[\"lending_status\", \"current_borrower_id\", \"due_date\"]','{\"lending_status\": \"Available\", \"current_borrower_id\": null, \"due_date\": null}','{\"lending_status\": \"Borrowed\", \"current_borrower_id\": 3, \"due_date\": \"2026-01-05\"}','2025-12-22 04:07:23',3,'staff1');
/*!40000 ALTER TABLE `asset_change_log` ENABLE KEYS */;
UNLOCK TABLES;
DROP TABLE IF EXISTS `assets`;
@@ -41,7 +41,10 @@ DROP TABLE IF EXISTS `assets`;
CREATE TABLE `assets` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`asset_tag` varchar(200) DEFAULT NULL,
+ `tag_generation_string` varchar(255) DEFAULT NULL,
`asset_numeric_id` int(11) NOT NULL CHECK (`asset_numeric_id` between 10000000 and 99999999),
+ `belongs_to_item` int(11) DEFAULT NULL COMMENT 'References asset_numeric_id of parent asset',
+ `previously_was` int(11) DEFAULT NULL COMMENT 'References asset_numeric_id of the asset this replaced',
`asset_type` enum('N','B','L','C') NOT NULL,
`name` varchar(255) DEFAULT NULL,
`category_id` int(11) DEFAULT NULL,
@@ -96,6 +99,8 @@ CREATE TABLE `assets` (
KEY `idx_lendable` (`lendable`),
KEY `idx_lending_status` (`lending_status`),
KEY `idx_label_template` (`label_template_id`),
+ KEY `idx_belongs_to` (`belongs_to_item`),
+ KEY `idx_previously_was` (`previously_was`),
CONSTRAINT `assets_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`),
CONSTRAINT `assets_ibfk_2` FOREIGN KEY (`zone_id`) REFERENCES `zones` (`id`),
CONSTRAINT `assets_ibfk_3` FOREIGN KEY (`supplier_id`) REFERENCES `suppliers` (`id`) ON DELETE SET NULL,
@@ -104,13 +109,15 @@ CREATE TABLE `assets` (
CONSTRAINT `assets_ibfk_6` FOREIGN KEY (`audit_task_id`) REFERENCES `audit_tasks` (`id`) ON DELETE SET NULL,
CONSTRAINT `assets_ibfk_7` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
CONSTRAINT `assets_ibfk_8` FOREIGN KEY (`last_modified_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
- CONSTRAINT `fk_asset_label_template` FOREIGN KEY (`label_template_id`) REFERENCES `label_templates` (`id`) ON DELETE SET NULL
-) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+ CONSTRAINT `fk_asset_label_template` FOREIGN KEY (`label_template_id`) REFERENCES `label_templates` (`id`) ON DELETE SET NULL,
+ CONSTRAINT `fk_assets_belongs_to` FOREIGN KEY (`belongs_to_item`) REFERENCES `assets` (`asset_numeric_id`) ON DELETE SET NULL,
+ CONSTRAINT `fk_assets_previously_was` FOREIGN KEY (`previously_was`) REFERENCES `assets` (`asset_numeric_id`) ON DELETE SET NULL
+) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `assets` WRITE;
/*!40000 ALTER TABLE `assets` DISABLE KEYS */;
-INSERT INTO `assets` VALUES (25,'cbl-hdmi-001',32094651,'N','Floating HDMI Cables',9,NULL,NULL,NULL,11,NULL,NULL,'Good','2025-12-08','Good',20.00,'2025-11-13',NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Borrowed',5,'2026-01-01',4,NULL,NULL,'Yes',NULL,NULL,NULL,'2025-11-13 15:30:09',1,'2025-12-08 11:08:13',1),(26,'cbl-hdmi-002',18368995,'N','Floating HDMI Cables',9,NULL,NULL,NULL,11,NULL,NULL,'Good','2025-12-08','Missing',20.00,'2025-11-13',NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Borrowed',5,'2025-12-14',3,NULL,7,'Ask',NULL,NULL,NULL,'2025-11-13 18:26:54',1,'2025-12-11 17:01:32',1),(38,'ps39-mon-108-01',51229246,'N','Dell Monitor',10,NULL,NULL,NULL,11,NULL,NULL,'Attention','2025-12-08','Attention',NULL,'2025-11-13','2027-11-13',NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,1,7,'No',NULL,NULL,NULL,'2025-11-13 19:46:33',1,'2025-12-08 11:08:13',1),(39,'ps39-mon-108-02',97355732,'N','Dell Monitor',10,NULL,'jyiuyiu','7657865756',11,NULL,NULL,'Missing','2025-12-08','Missing',21423.00,'2025-11-13','2027-11-13',NULL,NULL,NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,NULL,7,'No',NULL,NULL,NULL,'2025-11-13 19:48:05',1,'2025-12-08 11:08:13',1);
+INSERT INTO `assets` VALUES (25,'cbl-hdmi-001',NULL,32094651,NULL,NULL,'N','Floating HDMI Cables',9,NULL,NULL,NULL,11,NULL,NULL,'Good','2025-12-22','Good',20.00,'2025-11-13',NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Borrowed',3,'2026-01-05',5,NULL,NULL,'Yes',NULL,NULL,NULL,'2025-11-13 15:30:09',1,'2025-12-22 04:07:23',3),(26,'cbl-hdmi-002',NULL,18368995,NULL,NULL,'N','Floating HDMI Cables',9,NULL,NULL,NULL,11,NULL,NULL,'Good','2025-12-22','Good',20.00,'2025-11-13',NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Available',NULL,NULL,5,NULL,7,'Ask',NULL,NULL,NULL,'2025-11-13 18:26:54',1,'2025-12-22 01:00:29',1),(38,'ps39-mon-109-01',NULL,51229246,NULL,41112353,'N','Dell Monitor',10,NULL,NULL,NULL,13,NULL,NULL,'Good','2025-12-22','Good',NULL,'2025-11-13','2027-11-13',NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,1,7,'No',NULL,NULL,NULL,'2025-11-13 19:46:33',1,'2025-12-22 02:22:04',1),(39,'ps39-mon-108-02',NULL,97355732,NULL,NULL,'N','Dell Monitor',10,NULL,'jyiuyiu','7657865756',11,NULL,NULL,'Good','2025-12-22','Good',21423.00,'2025-11-13','2027-11-13',NULL,NULL,NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,NULL,7,'No',NULL,NULL,NULL,'2025-11-13 19:48:05',1,'2025-12-22 01:00:29',1),(40,'ps39-mon-108-01',NULL,41112353,NULL,NULL,'N','Dell Monitor',10,NULL,NULL,NULL,13,NULL,NULL,'Faulty','2025-12-22','Good',NULL,'2025-11-13','2027-11-13',NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,1,7,'No',NULL,NULL,NULL,'2025-12-22 00:48:39',1,'2025-12-22 02:22:04',1);
/*!40000 ALTER TABLE `assets` ENABLE KEYS */;
UNLOCK TABLES;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
@@ -179,11 +186,11 @@ BEGIN
SELECT users.username INTO username FROM users WHERE id = @current_user_id;
END IF;
- -- Build JSON objects only with non-NULL fields
+
SET set_fields_array = JSON_ARRAY();
SET new_vals = JSON_OBJECT();
- -- Always log these core fields
+
IF NEW.asset_tag IS NOT NULL THEN
SET set_fields_array = JSON_ARRAY_APPEND(set_fields_array, '$', 'asset_tag');
SET new_vals = JSON_SET(new_vals, '$.asset_tag', NEW.asset_tag);
@@ -349,7 +356,7 @@ BEGIN
SET new_vals = JSON_SET(new_vals, '$.created_by', NEW.created_by);
END IF;
- -- Log the INSERT with only the fields that were set
+
INSERT INTO asset_change_log (
table_name, action, record_id, changed_fields, new_values,
changed_by_id, changed_by_username
@@ -405,7 +412,7 @@ DELIMITER ;;
BEFORE UPDATE ON assets
FOR EACH ROW
BEGIN
- -- Check if trying to set lending_status to any borrowed state on a non-lendable asset
+
IF (NEW.lendable = FALSE OR NEW.lendable IS NULL) AND
NEW.lending_status IN ('Borrowed', 'Deployed', 'Overdue') AND
(OLD.lending_status NOT IN ('Borrowed', 'Deployed', 'Overdue') OR OLD.lending_status IS NULL) THEN
@@ -463,7 +470,7 @@ BEGIN
SELECT users.username INTO username FROM users WHERE id = @current_user_id;
END IF;
- -- Build JSON objects only with changed fields
+
SET changed_fields_array = JSON_ARRAY();
SET old_vals = JSON_OBJECT();
SET new_vals = JSON_OBJECT();
@@ -660,7 +667,7 @@ BEGIN
SET new_vals = JSON_SET(new_vals, '$.additional_fields', NEW.additional_fields);
END IF;
- -- Only log if there were actual changes (excluding auto-updated fields)
+
IF JSON_LENGTH(changed_fields_array) > 0 THEN
INSERT INTO asset_change_log (
table_name, action, record_id, changed_fields, old_values, new_values,
@@ -701,11 +708,11 @@ BEGIN
DECLARE issue_severity ENUM('Critical', 'High', 'Medium', 'Low');
DECLARE detection_trigger_name VARCHAR(100);
- -- Check for lending_status changes to problematic states
+
IF (OLD.lending_status IS NULL OR OLD.lending_status != NEW.lending_status)
AND NEW.lending_status IN ('Overdue', 'Illegally Handed Out', 'Stolen') THEN
- -- Determine issue details based on lending_status
+
CASE NEW.lending_status
WHEN 'Overdue' THEN
SET issue_title = CONCAT('Asset Overdue: ', COALESCE(NEW.name, NEW.asset_tag, CAST(NEW.asset_numeric_id AS CHAR)));
@@ -729,7 +736,7 @@ BEGIN
SET detection_trigger_name = 'LENDING_STOLEN';
END CASE;
- -- Insert the auto-detected issue
+
INSERT INTO issue_tracker (
issue_type, asset_id, title, description, severity, priority, status,
reported_by, auto_detected, detection_trigger, created_date
@@ -740,10 +747,10 @@ BEGIN
);
END IF;
- -- Check for status changes to problematic states
+
IF OLD.status != NEW.status AND NEW.status IN ('Attention', 'Faulty', 'Missing', 'Retired', 'In Repair', 'Expired') THEN
- -- Determine issue details based on status
+
CASE NEW.status
WHEN 'Attention' THEN
SET issue_title = CONCAT('Asset Needs Attention: ', COALESCE(NEW.name, NEW.asset_tag, NEW.asset_numeric_id));
@@ -782,7 +789,7 @@ BEGIN
SET detection_trigger_name = 'STATUS_EXPIRED';
END CASE;
- -- Insert the auto-detected issue
+
INSERT INTO issue_tracker (
issue_type, asset_id, title, description, severity, priority, status,
reported_by, auto_detected, detection_trigger, created_date
@@ -793,7 +800,7 @@ BEGIN
);
END IF;
- -- Auto-resolve issues when status becomes Good again
+
IF OLD.status != NEW.status AND NEW.status = 'Good' AND OLD.status IN ('Faulty', 'Missing', 'In Repair', 'Expired') THEN
UPDATE issue_tracker
SET status = 'Resolved',
@@ -807,7 +814,7 @@ BEGIN
AND detection_trigger IN ('STATUS_FAULTY', 'STATUS_MISSING', 'STATUS_IN_REPAIR', 'STATUS_EXPIRED');
END IF;
- -- Auto-resolve overdue/stolen/illegal issues when item is returned (lending_status becomes Available)
+
IF (OLD.lending_status IS NULL OR OLD.lending_status != NEW.lending_status)
AND NEW.lending_status = 'Available'
AND OLD.lending_status IN ('Overdue', 'Illegally Handed Out', 'Stolen') THEN
@@ -872,7 +879,7 @@ BEGIN
SELECT users.username INTO username FROM users WHERE id = @current_user_id;
END IF;
- -- Build JSON objects only with non-NULL fields (for restore capability)
+
SET deleted_fields_array = JSON_ARRAY();
SET old_vals = JSON_OBJECT();
@@ -1036,7 +1043,7 @@ BEGIN
SET old_vals = JSON_SET(old_vals, '$.additional_fields', OLD.additional_fields);
END IF;
- -- Always capture metadata fields for restore
+
IF OLD.created_date IS NOT NULL THEN
SET deleted_fields_array = JSON_ARRAY_APPEND(deleted_fields_array, '$', 'created_date');
SET old_vals = JSON_SET(old_vals, '$.created_date', OLD.created_date);
@@ -1057,7 +1064,7 @@ BEGIN
SET old_vals = JSON_SET(old_vals, '$.last_modified_by', OLD.last_modified_by);
END IF;
- -- Log the DELETE with only non-NULL fields
+
INSERT INTO asset_change_log (
table_name, action, record_id, changed_fields, old_values,
changed_by_id, changed_by_username
@@ -1192,7 +1199,7 @@ BEGIN
DECLARE issue_title VARCHAR(255);
DECLARE issue_description TEXT;
- -- Auto-detect when borrower gets banned
+
IF OLD.banned = FALSE AND NEW.banned = TRUE THEN
SET issue_title = CONCAT('Borrower Banned: ', NEW.name);
SET issue_description = CONCAT('Borrower has been banned. Name: ', NEW.name, CASE WHEN NEW.unban_fine > 0 THEN CONCAT(', Unban Fine: $', NEW.unban_fine) ELSE '' END);
@@ -1207,7 +1214,7 @@ BEGIN
);
END IF;
- -- Auto-resolve when borrower gets unbanned
+
IF OLD.banned = TRUE AND NEW.banned = FALSE THEN
UPDATE issue_tracker
SET status = 'Resolved',
@@ -1291,12 +1298,12 @@ CREATE TABLE `issue_tracker` (
CONSTRAINT `issue_tracker_ibfk_4` FOREIGN KEY (`reported_by`) REFERENCES `users` (`id`),
CONSTRAINT `issue_tracker_ibfk_5` FOREIGN KEY (`assigned_to`) REFERENCES `users` (`id`) ON DELETE SET NULL,
CONSTRAINT `issue_tracker_ibfk_6` FOREIGN KEY (`resolved_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
-) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `issue_tracker` WRITE;
/*!40000 ALTER TABLE `issue_tracker` DISABLE KEYS */;
-INSERT INTO `issue_tracker` VALUES (4,'Borrower Issue',NULL,2,'Borrower Banned: Bob Smith','Borrower has been banned. Name: Bob Smith, Unban Fine: $25.00','High','Normal','Open',NULL,NULL,NULL,2,NULL,NULL,NULL,'2025-10-20 11:43:55','2025-10-20 11:43:55',NULL,NULL,1,'BORROWER_BANNED'),(5,'System Issue',NULL,NULL,'Audit: Missing Assets in Unknown Zone','Full zone audit completed with 3 missing assets. Expected: 5, Found: 2. Audit ID: 1','High','High','Open',NULL,NULL,NULL,2,NULL,NULL,NULL,'2025-10-20 11:44:01','2025-10-20 11:44:01',NULL,'Physical Audit ID: 1 in zone: 5',1,'AUDIT_MISSING_ASSETS'),(43,'Borrower Issue',NULL,1,'Borrower Banned: Alice Johnson','Borrower has been banned. Name: Alice Johnson, Unban Fine: $1000.00','High','Normal','Resolved','Items Returned','Borrower unbanned on 2025-11-13 by user ID 1',NULL,1,NULL,1,NULL,'2025-11-11 09:19:22','2025-11-13 16:01:00','2025-11-13 16:01:00',NULL,1,'BORROWER_BANNED'),(44,'Borrower Issue',NULL,5,'Borrower Banned: Missgeburt Fredie','Borrower has been banned. Name: Missgeburt Fredie, Unban Fine: $4293847.00','High','Normal','Resolved','Items Returned','Borrower unbanned on 2025-12-03 by user ID 1',NULL,1,NULL,1,NULL,'2025-11-12 10:32:36','2025-12-03 15:41:20','2025-12-03 15:41:20',NULL,1,'BORROWER_BANNED'),(47,'Borrower Issue',NULL,1,'Borrower Banned: Alice Johnson','Borrower has been banned. Name: Alice Johnson, Unban Fine: $69.00','High','Normal','Open',NULL,NULL,NULL,1,NULL,NULL,NULL,'2025-11-13 16:09:28','2025-11-13 16:09:28',NULL,NULL,1,'BORROWER_BANNED'),(48,'Asset Issue',26,NULL,'Asset Missing: Floating HDMI Cables','Asset status changed to Missing. Asset: 18368995 (Floating HDMI Cables)','Critical','Normal','Resolved','Automatically Fixed','Asset status automatically changed from Missing to Good',NULL,1,NULL,1,NULL,'2025-11-14 23:10:15','2025-11-14 23:21:14','2025-11-14 23:21:14',NULL,1,'STATUS_MISSING'),(49,'Asset Issue',38,NULL,'Asset Faulty: Dell Monitor','Asset status changed to Faulty. Asset: 51229246 (Dell Monitor)','High','Normal','Open',NULL,NULL,NULL,1,NULL,NULL,NULL,'2025-12-03 15:55:10','2025-12-03 15:55:10',NULL,NULL,1,'STATUS_FAULTY'),(50,'Asset Issue',39,NULL,'Asset Missing: Dell Monitor','Asset status changed to Missing. Asset: 97355732 (Dell Monitor)','Critical','Normal','Resolved','Automatically Fixed','Asset status automatically changed from Missing to Good',NULL,1,NULL,1,NULL,'2025-12-03 15:55:10','2025-12-08 11:00:50','2025-12-08 11:00:50',NULL,1,'STATUS_MISSING'),(51,'Asset Issue',38,NULL,'Asset Missing: Dell Monitor','Asset status changed to Missing. Asset: 51229246 (Dell Monitor)','Critical','Normal','Open',NULL,NULL,NULL,1,NULL,NULL,NULL,'2025-12-08 11:00:50','2025-12-08 11:00:50',NULL,NULL,1,'STATUS_MISSING'),(52,'Asset Issue',38,NULL,'Asset Needs Attention: Dell Monitor','Asset status changed to Attention. Asset: 51229246 (Dell Monitor)','Medium','Normal','Open',NULL,NULL,NULL,1,NULL,NULL,NULL,'2025-12-08 11:08:13','2025-12-08 11:08:13',NULL,NULL,1,'STATUS_ATTENTION'),(53,'Asset Issue',39,NULL,'Asset Missing: Dell Monitor','Asset status changed to Missing. Asset: 97355732 (Dell Monitor)','Critical','Normal','Open',NULL,NULL,NULL,1,NULL,NULL,NULL,'2025-12-08 11:08:13','2025-12-08 11:08:13',NULL,NULL,1,'STATUS_MISSING'),(54,'Asset Issue',26,NULL,'Asset Missing: Floating HDMI Cables','Asset status changed to Missing. Asset: 18368995 (Floating HDMI Cables)','Critical','Normal','Resolved','Automatically Fixed','Asset status automatically changed from Missing to Good',NULL,1,NULL,1,NULL,'2025-12-08 11:08:13','2025-12-10 16:40:16','2025-12-10 16:40:16',NULL,1,'STATUS_MISSING');
+INSERT INTO `issue_tracker` VALUES (4,'Borrower Issue',NULL,2,'Borrower Banned: Bob Smith','Borrower has been banned. Name: Bob Smith, Unban Fine: $25.00','High','Normal','Open',NULL,NULL,NULL,2,NULL,NULL,NULL,'2025-10-20 11:43:55','2025-10-20 11:43:55',NULL,NULL,1,'BORROWER_BANNED'),(5,'System Issue',NULL,NULL,'Audit: Missing Assets in Unknown Zone','Full zone audit completed with 3 missing assets. Expected: 5, Found: 2. Audit ID: 1','High','High','Open',NULL,NULL,NULL,2,NULL,NULL,NULL,'2025-10-20 11:44:01','2025-10-20 11:44:01',NULL,'Physical Audit ID: 1 in zone: 5',1,'AUDIT_MISSING_ASSETS'),(43,'Borrower Issue',NULL,1,'Borrower Banned: Alice Johnson','Borrower has been banned. Name: Alice Johnson, Unban Fine: $1000.00','High','Normal','Resolved','Items Returned','Borrower unbanned on 2025-11-13 by user ID 1',NULL,1,NULL,1,NULL,'2025-11-11 09:19:22','2025-11-13 16:01:00','2025-11-13 16:01:00',NULL,1,'BORROWER_BANNED'),(44,'Borrower Issue',NULL,5,'Borrower Banned: Missgeburt Fredie','Borrower has been banned. Name: Missgeburt Fredie, Unban Fine: $4293847.00','High','Normal','Resolved','Items Returned','Borrower unbanned on 2025-12-03 by user ID 1',NULL,1,NULL,1,NULL,'2025-11-12 10:32:36','2025-12-03 15:41:20','2025-12-03 15:41:20',NULL,1,'BORROWER_BANNED'),(47,'Borrower Issue',NULL,1,'Borrower Banned: Alice Johnson','Borrower has been banned. Name: Alice Johnson, Unban Fine: $69.00','High','Normal','Open',NULL,NULL,NULL,1,NULL,NULL,NULL,'2025-11-13 16:09:28','2025-11-13 16:09:28',NULL,NULL,1,'BORROWER_BANNED'),(48,'Asset Issue',26,NULL,'Asset Missing: Floating HDMI Cables','Asset status changed to Missing. Asset: 18368995 (Floating HDMI Cables)','Critical','Normal','Resolved','Automatically Fixed','Asset status automatically changed from Missing to Good',NULL,1,NULL,1,NULL,'2025-11-14 23:10:15','2025-11-14 23:21:14','2025-11-14 23:21:14',NULL,1,'STATUS_MISSING'),(49,'Asset Issue',38,NULL,'Asset Faulty: Dell Monitor','Asset status changed to Faulty. Asset: 51229246 (Dell Monitor)','High','Normal','Open',NULL,NULL,NULL,1,NULL,NULL,NULL,'2025-12-03 15:55:10','2025-12-03 15:55:10',NULL,NULL,1,'STATUS_FAULTY'),(50,'Asset Issue',39,NULL,'Asset Missing: Dell Monitor','Asset status changed to Missing. Asset: 97355732 (Dell Monitor)','Critical','Normal','Resolved','Automatically Fixed','Asset status automatically changed from Missing to Good',NULL,1,NULL,1,NULL,'2025-12-03 15:55:10','2025-12-08 11:00:50','2025-12-08 11:00:50',NULL,1,'STATUS_MISSING'),(51,'Asset Issue',38,NULL,'Asset Missing: Dell Monitor','Asset status changed to Missing. Asset: 51229246 (Dell Monitor)','Critical','Normal','Open',NULL,NULL,NULL,1,NULL,NULL,NULL,'2025-12-08 11:00:50','2025-12-08 11:00:50',NULL,NULL,1,'STATUS_MISSING'),(52,'Asset Issue',38,NULL,'Asset Needs Attention: Dell Monitor','Asset status changed to Attention. Asset: 51229246 (Dell Monitor)','Medium','Normal','Open',NULL,NULL,NULL,1,NULL,NULL,NULL,'2025-12-08 11:08:13','2025-12-08 11:08:13',NULL,NULL,1,'STATUS_ATTENTION'),(53,'Asset Issue',39,NULL,'Asset Missing: Dell Monitor','Asset status changed to Missing. Asset: 97355732 (Dell Monitor)','Critical','Normal','Resolved','Automatically Fixed','Asset status automatically changed from Missing to Good',NULL,1,NULL,1,NULL,'2025-12-08 11:08:13','2025-12-22 00:47:32','2025-12-22 00:47:32',NULL,1,'STATUS_MISSING'),(54,'Asset Issue',26,NULL,'Asset Missing: Floating HDMI Cables','Asset status changed to Missing. Asset: 18368995 (Floating HDMI Cables)','Critical','Normal','Resolved','Automatically Fixed','Asset status automatically changed from Missing to Good',NULL,1,NULL,1,NULL,'2025-12-08 11:08:13','2025-12-10 16:40:16','2025-12-10 16:40:16',NULL,1,'STATUS_MISSING'),(55,'Asset Issue',26,NULL,'Asset Overdue: Floating HDMI Cables','Asset lending status changed to Overdue. Asset: cbl-hdmi-002 (Floating HDMI Cables)','High','Urgent','Resolved','Items Returned','Asset was returned - lending status changed from Overdue to Available',NULL,1,NULL,1,NULL,'2025-12-21 22:43:22','2025-12-22 00:47:55','2025-12-22 00:47:55',NULL,1,'LENDING_OVERDUE'),(56,'Asset Issue',40,NULL,'Asset Faulty: Dell Monitor','Asset status changed to Faulty. Asset: 41112353 (Dell Monitor)','High','Normal','Open',NULL,NULL,NULL,1,NULL,NULL,NULL,'2025-12-22 02:22:04','2025-12-22 02:22:04',NULL,NULL,1,'STATUS_FAULTY');
/*!40000 ALTER TABLE `issue_tracker` ENABLE KEYS */;
UNLOCK TABLES;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
@@ -1334,32 +1341,32 @@ DELIMITER ;;
BEFORE INSERT ON issue_tracker
FOR EACH ROW
BEGIN
- -- Clarify solution requires solution_plus
+
IF NEW.solution = 'Clarify' AND (NEW.solution_plus IS NULL OR NEW.solution_plus = '') THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'solution_plus is required when solution is set to Clarify';
END IF;
- -- Replacement solution requires replacement_asset_id
+
IF NEW.solution = 'Replaced' AND NEW.replacement_asset_id IS NULL THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'replacement_asset_id is required when solution is set to Replaced';
END IF;
- -- Asset Issue requires asset_id
+
IF NEW.issue_type = 'Asset Issue' AND NEW.asset_id IS NULL THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'asset_id is required for Asset Issue type';
END IF;
- -- Borrower Issue requires borrower_id
+
IF NEW.issue_type = 'Borrower Issue' AND NEW.borrower_id IS NULL THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'borrower_id is required for Borrower Issue type';
END IF;
- -- Auto-set resolved_date when status becomes Resolved or Closed
+
IF NEW.status IN ('Resolved', 'Closed') AND NEW.resolved_date IS NULL THEN
SET NEW.resolved_date = NOW();
END IF;
- -- Auto-set resolved_by when status becomes Resolved or Closed
+
IF NEW.status IN ('Resolved', 'Closed') AND NEW.resolved_by IS NULL AND @current_user_id IS NOT NULL THEN
SET NEW.resolved_by = @current_user_id;
END IF;
@@ -1385,7 +1392,7 @@ BEGIN
DECLARE set_fields JSON DEFAULT JSON_ARRAY();
DECLARE new_vals JSON DEFAULT JSON_OBJECT();
- -- Build JSON of non-NULL inserted fields
+
IF NEW.issue_type IS NOT NULL THEN
SET set_fields = JSON_ARRAY_APPEND(set_fields, '$', 'issue_type');
SET new_vals = JSON_SET(new_vals, '$.issue_type', NEW.issue_type);
@@ -1432,17 +1439,17 @@ DELIMITER ;;
BEFORE UPDATE ON issue_tracker
FOR EACH ROW
BEGIN
- -- Clarify solution requires solution_plus
+
IF NEW.solution = 'Clarify' AND (NEW.solution_plus IS NULL OR NEW.solution_plus = '') THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'solution_plus is required when solution is set to Clarify';
END IF;
- -- Replacement solution requires replacement_asset_id
+
IF NEW.solution = 'Replaced' AND NEW.replacement_asset_id IS NULL THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'replacement_asset_id is required when solution is set to Replaced';
END IF;
- -- Auto-set resolved_date when status changes to Resolved or Closed
+
IF OLD.status NOT IN ('Resolved', 'Closed') AND NEW.status IN ('Resolved', 'Closed') THEN
SET NEW.resolved_date = NOW();
IF @current_user_id IS NOT NULL THEN
@@ -1450,7 +1457,7 @@ BEGIN
END IF;
END IF;
- -- Clear resolved_date when status changes away from Resolved/Closed
+
IF OLD.status IN ('Resolved', 'Closed') AND NEW.status NOT IN ('Resolved', 'Closed') THEN
SET NEW.resolved_date = NULL;
SET NEW.resolved_by = NULL;
@@ -1478,7 +1485,7 @@ BEGIN
DECLARE old_vals JSON DEFAULT JSON_OBJECT();
DECLARE new_vals JSON DEFAULT JSON_OBJECT();
- -- Track all changed fields
+
IF OLD.status <=> NEW.status IS FALSE THEN
SET changed_fields = JSON_ARRAY_APPEND(changed_fields, '$', 'status');
SET old_vals = JSON_SET(old_vals, '$.status', OLD.status);
@@ -1510,7 +1517,7 @@ BEGIN
SET new_vals = JSON_SET(new_vals, '$.resolved_by', NEW.resolved_by);
END IF;
- -- Only log if something actually changed
+
IF JSON_LENGTH(changed_fields) > 0 THEN
INSERT INTO issue_tracker_change_log (issue_id, change_type, changed_fields, old_values, new_values, changed_by)
VALUES (NEW.id, 'UPDATE', changed_fields, old_vals, new_vals, COALESCE(@current_user_id, OLD.reported_by));
@@ -1534,10 +1541,10 @@ DELIMITER ;;
BEFORE DELETE ON issue_tracker
FOR EACH ROW
BEGIN
- -- If issue is not already resolved/closed, update it before deletion
+
IF OLD.status NOT IN ('Resolved', 'Closed') THEN
- -- Can't UPDATE in a BEFORE DELETE trigger, so we just ensure it was marked resolved
- -- This will prevent accidental deletion of open issues
+
+
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Cannot delete open issues. Please close or resolve the issue first.';
END IF;
END */;;
@@ -1562,7 +1569,7 @@ BEGIN
DECLARE deleted_fields JSON DEFAULT JSON_ARRAY();
DECLARE old_vals JSON DEFAULT JSON_OBJECT();
- -- Log all fields from deleted issue
+
IF OLD.issue_type IS NOT NULL THEN
SET deleted_fields = JSON_ARRAY_APPEND(deleted_fields, '$', 'issue_type');
SET old_vals = JSON_SET(old_vals, '$.issue_type', OLD.issue_type);
@@ -1611,12 +1618,12 @@ CREATE TABLE `issue_tracker_change_log` (
KEY `idx_change_date` (`change_date`),
CONSTRAINT `issue_tracker_change_log_ibfk_1` FOREIGN KEY (`issue_id`) REFERENCES `issue_tracker` (`id`) ON DELETE CASCADE,
CONSTRAINT `issue_tracker_change_log_ibfk_2` FOREIGN KEY (`changed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
-) ENGINE=InnoDB AUTO_INCREMENT=94 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+) ENGINE=InnoDB AUTO_INCREMENT=98 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `issue_tracker_change_log` WRITE;
/*!40000 ALTER TABLE `issue_tracker_change_log` DISABLE KEYS */;
-INSERT INTO `issue_tracker_change_log` VALUES (6,4,'INSERT','[\"issue_type\", \"borrower_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Borrower Issue\", \"borrower_id\": 2, \"title\": \"Borrower Banned: Bob Smith\", \"severity\": \"High\", \"status\": \"Open\"}',2,'2025-10-20 11:43:55'),(7,5,'INSERT','[\"issue_type\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"System Issue\", \"title\": \"Audit: Missing Assets in Unknown Zone\", \"severity\": \"High\", \"status\": \"Open\"}',2,'2025-10-20 11:44:01'),(72,43,'INSERT','[\"issue_type\", \"borrower_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Borrower Issue\", \"borrower_id\": 1, \"title\": \"Borrower Banned: Alice Johnson\", \"severity\": \"High\", \"status\": \"Open\"}',1,'2025-11-11 09:19:22'),(73,44,'INSERT','[\"issue_type\", \"borrower_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Borrower Issue\", \"borrower_id\": 5, \"title\": \"Borrower Banned: Missgeburt Fredie\", \"severity\": \"High\", \"status\": \"Open\"}',1,'2025-11-12 10:32:36'),(78,43,'UPDATE','[\"status\", \"solution\", \"resolved_by\"]','{\"status\": \"Open\", \"solution\": null, \"resolved_by\": null}','{\"status\": \"Resolved\", \"solution\": \"Items Returned\", \"resolved_by\": 1}',1,'2025-11-13 16:01:00'),(79,47,'INSERT','[\"issue_type\", \"borrower_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Borrower Issue\", \"borrower_id\": 1, \"title\": \"Borrower Banned: Alice Johnson\", \"severity\": \"High\", \"status\": \"Open\"}',1,'2025-11-13 16:09:28'),(83,48,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 26, \"title\": \"Asset Missing: Floating HDMI Cables\", \"severity\": \"Critical\", \"status\": \"Open\"}',1,'2025-11-14 23:10:15'),(84,48,'UPDATE','[\"status\", \"solution\", \"resolved_by\"]','{\"status\": \"Open\", \"solution\": null, \"resolved_by\": null}','{\"status\": \"Resolved\", \"solution\": \"Automatically Fixed\", \"resolved_by\": 1}',1,'2025-11-14 23:21:14'),(85,44,'UPDATE','[\"status\", \"solution\", \"resolved_by\"]','{\"status\": \"Open\", \"solution\": null, \"resolved_by\": null}','{\"status\": \"Resolved\", \"solution\": \"Items Returned\", \"resolved_by\": 1}',1,'2025-12-03 15:41:20'),(86,49,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 38, \"title\": \"Asset Faulty: Dell Monitor\", \"severity\": \"High\", \"status\": \"Open\"}',1,'2025-12-03 15:55:10'),(87,50,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 39, \"title\": \"Asset Missing: Dell Monitor\", \"severity\": \"Critical\", \"status\": \"Open\"}',1,'2025-12-03 15:55:10'),(88,51,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 38, \"title\": \"Asset Missing: Dell Monitor\", \"severity\": \"Critical\", \"status\": \"Open\"}',1,'2025-12-08 11:00:50'),(89,50,'UPDATE','[\"status\", \"solution\", \"resolved_by\"]','{\"status\": \"Open\", \"solution\": null, \"resolved_by\": null}','{\"status\": \"Resolved\", \"solution\": \"Automatically Fixed\", \"resolved_by\": 1}',1,'2025-12-08 11:00:50'),(90,52,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 38, \"title\": \"Asset Needs Attention: Dell Monitor\", \"severity\": \"Medium\", \"status\": \"Open\"}',1,'2025-12-08 11:08:13'),(91,53,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 39, \"title\": \"Asset Missing: Dell Monitor\", \"severity\": \"Critical\", \"status\": \"Open\"}',1,'2025-12-08 11:08:13'),(92,54,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 26, \"title\": \"Asset Missing: Floating HDMI Cables\", \"severity\": \"Critical\", \"status\": \"Open\"}',1,'2025-12-08 11:08:13'),(93,54,'UPDATE','[\"status\", \"solution\", \"resolved_by\"]','{\"status\": \"Open\", \"solution\": null, \"resolved_by\": null}','{\"status\": \"Resolved\", \"solution\": \"Automatically Fixed\", \"resolved_by\": 1}',1,'2025-12-10 16:40:16');
+INSERT INTO `issue_tracker_change_log` VALUES (6,4,'INSERT','[\"issue_type\", \"borrower_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Borrower Issue\", \"borrower_id\": 2, \"title\": \"Borrower Banned: Bob Smith\", \"severity\": \"High\", \"status\": \"Open\"}',2,'2025-10-20 11:43:55'),(7,5,'INSERT','[\"issue_type\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"System Issue\", \"title\": \"Audit: Missing Assets in Unknown Zone\", \"severity\": \"High\", \"status\": \"Open\"}',2,'2025-10-20 11:44:01'),(72,43,'INSERT','[\"issue_type\", \"borrower_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Borrower Issue\", \"borrower_id\": 1, \"title\": \"Borrower Banned: Alice Johnson\", \"severity\": \"High\", \"status\": \"Open\"}',1,'2025-11-11 09:19:22'),(73,44,'INSERT','[\"issue_type\", \"borrower_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Borrower Issue\", \"borrower_id\": 5, \"title\": \"Borrower Banned: Missgeburt Fredie\", \"severity\": \"High\", \"status\": \"Open\"}',1,'2025-11-12 10:32:36'),(78,43,'UPDATE','[\"status\", \"solution\", \"resolved_by\"]','{\"status\": \"Open\", \"solution\": null, \"resolved_by\": null}','{\"status\": \"Resolved\", \"solution\": \"Items Returned\", \"resolved_by\": 1}',1,'2025-11-13 16:01:00'),(79,47,'INSERT','[\"issue_type\", \"borrower_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Borrower Issue\", \"borrower_id\": 1, \"title\": \"Borrower Banned: Alice Johnson\", \"severity\": \"High\", \"status\": \"Open\"}',1,'2025-11-13 16:09:28'),(83,48,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 26, \"title\": \"Asset Missing: Floating HDMI Cables\", \"severity\": \"Critical\", \"status\": \"Open\"}',1,'2025-11-14 23:10:15'),(84,48,'UPDATE','[\"status\", \"solution\", \"resolved_by\"]','{\"status\": \"Open\", \"solution\": null, \"resolved_by\": null}','{\"status\": \"Resolved\", \"solution\": \"Automatically Fixed\", \"resolved_by\": 1}',1,'2025-11-14 23:21:14'),(85,44,'UPDATE','[\"status\", \"solution\", \"resolved_by\"]','{\"status\": \"Open\", \"solution\": null, \"resolved_by\": null}','{\"status\": \"Resolved\", \"solution\": \"Items Returned\", \"resolved_by\": 1}',1,'2025-12-03 15:41:20'),(86,49,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 38, \"title\": \"Asset Faulty: Dell Monitor\", \"severity\": \"High\", \"status\": \"Open\"}',1,'2025-12-03 15:55:10'),(87,50,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 39, \"title\": \"Asset Missing: Dell Monitor\", \"severity\": \"Critical\", \"status\": \"Open\"}',1,'2025-12-03 15:55:10'),(88,51,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 38, \"title\": \"Asset Missing: Dell Monitor\", \"severity\": \"Critical\", \"status\": \"Open\"}',1,'2025-12-08 11:00:50'),(89,50,'UPDATE','[\"status\", \"solution\", \"resolved_by\"]','{\"status\": \"Open\", \"solution\": null, \"resolved_by\": null}','{\"status\": \"Resolved\", \"solution\": \"Automatically Fixed\", \"resolved_by\": 1}',1,'2025-12-08 11:00:50'),(90,52,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 38, \"title\": \"Asset Needs Attention: Dell Monitor\", \"severity\": \"Medium\", \"status\": \"Open\"}',1,'2025-12-08 11:08:13'),(91,53,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 39, \"title\": \"Asset Missing: Dell Monitor\", \"severity\": \"Critical\", \"status\": \"Open\"}',1,'2025-12-08 11:08:13'),(92,54,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 26, \"title\": \"Asset Missing: Floating HDMI Cables\", \"severity\": \"Critical\", \"status\": \"Open\"}',1,'2025-12-08 11:08:13'),(93,54,'UPDATE','[\"status\", \"solution\", \"resolved_by\"]','{\"status\": \"Open\", \"solution\": null, \"resolved_by\": null}','{\"status\": \"Resolved\", \"solution\": \"Automatically Fixed\", \"resolved_by\": 1}',1,'2025-12-10 16:40:16'),(94,55,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 26, \"title\": \"Asset Overdue: Floating HDMI Cables\", \"severity\": \"High\", \"status\": \"Open\"}',1,'2025-12-21 22:43:22'),(95,53,'UPDATE','[\"status\", \"solution\", \"resolved_by\"]','{\"status\": \"Open\", \"solution\": null, \"resolved_by\": null}','{\"status\": \"Resolved\", \"solution\": \"Automatically Fixed\", \"resolved_by\": 1}',1,'2025-12-22 00:47:32'),(96,55,'UPDATE','[\"status\", \"solution\", \"resolved_by\"]','{\"status\": \"Open\", \"solution\": null, \"resolved_by\": null}','{\"status\": \"Resolved\", \"solution\": \"Items Returned\", \"resolved_by\": 1}',1,'2025-12-22 00:47:55'),(97,56,'INSERT','[\"issue_type\", \"asset_id\", \"title\", \"severity\", \"status\"]',NULL,'{\"issue_type\": \"Asset Issue\", \"asset_id\": 40, \"title\": \"Asset Faulty: Dell Monitor\", \"severity\": \"High\", \"status\": \"Open\"}',1,'2025-12-22 02:22:04');
/*!40000 ALTER TABLE `issue_tracker_change_log` ENABLE KEYS */;
UNLOCK TABLES;
DROP TABLE IF EXISTS `label_templates`;
@@ -1671,12 +1678,12 @@ CREATE TABLE `lending_history` (
CONSTRAINT `lending_history_ibfk_2` FOREIGN KEY (`borrower_id`) REFERENCES `borrowers` (`id`),
CONSTRAINT `lending_history_ibfk_3` FOREIGN KEY (`checked_out_by`) REFERENCES `users` (`id`),
CONSTRAINT `lending_history_ibfk_4` FOREIGN KEY (`checked_in_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
-) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `lending_history` WRITE;
/*!40000 ALTER TABLE `lending_history` DISABLE KEYS */;
-INSERT INTO `lending_history` VALUES (17,25,3,'2025-11-14 20:28:38','2025-11-21','2025-11-14 22:48:14',1,1,NULL),(18,26,3,'2025-11-14 22:47:39','2025-11-21','2025-11-14 22:49:25',1,1,NULL),(19,25,4,'2025-11-14 22:51:07','2025-11-21','2025-11-14 22:51:11',1,1,NULL),(20,25,5,'2025-12-03 16:44:27','2026-01-01',NULL,1,NULL,'Permanent Lending for Work usage'),(21,26,5,'2025-12-08 11:58:17','2025-12-11','2025-12-10 15:29:13',1,1,'Penis Fotze'),(22,26,3,'2025-12-10 17:37:29',NULL,'2025-12-10 17:55:09',1,1,NULL),(23,26,5,'2025-12-11 19:55:25','2025-12-14',NULL,1,NULL,NULL);
+INSERT INTO `lending_history` VALUES (17,25,3,'2025-11-14 20:28:38','2025-11-21','2025-11-14 22:48:14',1,1,NULL),(18,26,3,'2025-11-14 22:47:39','2025-11-21','2025-11-14 22:49:25',1,1,NULL),(19,25,4,'2025-11-14 22:51:07','2025-11-21','2025-11-14 22:51:11',1,1,NULL),(20,25,5,'2025-12-03 16:44:27','2026-01-01','2025-12-22 01:48:00',1,1,'Permanent Lending for Work usage'),(21,26,5,'2025-12-08 11:58:17','2025-12-11','2025-12-10 15:29:13',1,1,'Penis Fotze'),(22,26,3,'2025-12-10 17:37:29',NULL,'2025-12-10 17:55:09',1,1,NULL),(23,26,5,'2025-12-11 19:55:25','2025-12-14','2025-12-22 01:47:55',1,1,NULL),(24,25,3,'2025-12-22 05:07:23','2026-01-05',NULL,3,NULL,NULL);
/*!40000 ALTER TABLE `lending_history` ENABLE KEYS */;
UNLOCK TABLES;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
@@ -1756,12 +1763,12 @@ CREATE TABLE `physical_audit_logs` (
CONSTRAINT `physical_audit_logs_ibfk_3` FOREIGN KEY (`audited_by`) REFERENCES `users` (`id`),
CONSTRAINT `physical_audit_logs_ibfk_4` FOREIGN KEY (`audit_task_id`) REFERENCES `audit_tasks` (`id`) ON DELETE SET NULL,
CONSTRAINT `physical_audit_logs_ibfk_5` FOREIGN KEY (`found_in_zone_id`) REFERENCES `zones` (`id`) ON DELETE SET NULL
-) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+) ENGINE=InnoDB AUTO_INCREMENT=74 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `physical_audit_logs` WRITE;
/*!40000 ALTER TABLE `physical_audit_logs` DISABLE KEYS */;
-INSERT INTO `physical_audit_logs` VALUES (14,7,38,'2025-11-14 22:42:57',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(15,7,39,'2025-11-14 22:42:57',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(16,7,25,'2025-11-14 22:42:57',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(17,7,26,'2025-11-14 22:42:57',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(18,9,38,'2025-11-14 22:57:48',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(19,9,25,'2025-11-14 22:57:48',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(20,9,26,'2025-11-14 22:57:48',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(21,10,38,'2025-11-14 23:08:21',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(22,10,39,'2025-11-14 23:08:21',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(23,10,25,'2025-11-14 23:08:21',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(24,10,26,'2025-11-14 23:08:21',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(25,12,38,'2025-11-14 23:10:15',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(26,12,39,'2025-11-14 23:10:15',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(27,12,25,'2025-11-14 23:10:15',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(28,12,26,'2025-11-14 23:10:15',1,'Missing',NULL,NULL,'other','Marked missing during audit',11,NULL,NULL),(29,13,38,'2025-11-14 23:19:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(30,13,39,'2025-11-14 23:19:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(31,13,25,'2025-11-14 23:19:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(32,13,26,'2025-11-14 23:19:06',1,'Missing',NULL,NULL,NULL,NULL,11,NULL,NULL),(33,14,38,'2025-11-14 23:25:16',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(34,14,39,'2025-11-14 23:25:16',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(35,14,25,'2025-11-14 23:25:16',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(36,14,26,'2025-11-14 23:25:16',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(37,15,38,'2025-11-14 23:29:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(38,15,39,'2025-11-14 23:29:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(39,15,25,'2025-11-14 23:29:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(40,15,26,'2025-11-14 23:29:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(41,16,38,'2025-11-14 23:31:01',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(42,16,39,'2025-11-14 23:31:01',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(43,16,25,'2025-11-14 23:31:01',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(44,16,26,'2025-11-14 23:31:01',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(45,17,25,'2025-11-15 01:19:04',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(46,18,38,'2025-11-15 01:29:14',1,'Good',1,'{\"responses\":[{\"answer\":\"Yes\",\"question\":\"Does the device power on?\",\"step\":1},{\"answer\":\"Good\",\"question\":\"Physical condition?\",\"step\":2}]}',NULL,NULL,11,NULL,NULL),(47,18,39,'2025-11-15 01:29:14',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(48,18,25,'2025-11-15 01:29:14',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(49,18,26,'2025-11-15 01:29:14',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(50,19,25,'2025-11-15 04:03:42',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(51,20,25,'2025-11-15 04:04:23',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(52,21,25,'2025-11-15 04:05:11',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(53,22,25,'2025-11-15 04:07:13',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(54,23,38,'2025-12-03 15:55:10',1,'Faulty',1,'{\"responses\":[{\"answer\":\"No\",\"question\":\"Does the device power on?\",\"step\":1}]}',NULL,NULL,11,NULL,NULL),(55,23,39,'2025-12-03 15:55:10',1,'Missing',NULL,NULL,'other','Marked missing during audit',11,NULL,NULL),(56,23,25,'2025-12-03 15:55:10',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(57,23,26,'2025-12-03 15:55:10',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(58,24,38,'2025-12-08 11:00:50',1,'Missing',1,NULL,'other','Marked missing during audit',11,NULL,NULL),(59,24,39,'2025-12-08 11:00:50',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(60,24,25,'2025-12-08 11:00:50',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(61,24,26,'2025-12-08 11:00:50',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(62,25,38,'2025-12-08 11:08:13',1,'Attention',1,'{\"additional_fields\":{\"damage_notes\":\"penis\"},\"responses\":[{\"answer\":\"Yes\",\"question\":\"Does the device power on?\",\"step\":1},{\"answer\":\"Damaged\",\"question\":\"Physical condition?\",\"step\":2},{\"answer\":\"penis\",\"question\":\"Describe the damage\",\"step\":3}]}',NULL,NULL,11,NULL,NULL),(63,25,39,'2025-12-08 11:08:13',1,'Missing',NULL,NULL,'other','Marked missing during audit',11,NULL,NULL),(64,25,25,'2025-12-08 11:08:13',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(65,25,26,'2025-12-08 11:08:13',1,'Missing',NULL,NULL,'other','Marked missing during audit',11,NULL,NULL);
+INSERT INTO `physical_audit_logs` VALUES (14,7,38,'2025-11-14 22:42:57',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(15,7,39,'2025-11-14 22:42:57',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(16,7,25,'2025-11-14 22:42:57',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(17,7,26,'2025-11-14 22:42:57',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(18,9,38,'2025-11-14 22:57:48',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(19,9,25,'2025-11-14 22:57:48',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(20,9,26,'2025-11-14 22:57:48',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(21,10,38,'2025-11-14 23:08:21',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(22,10,39,'2025-11-14 23:08:21',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(23,10,25,'2025-11-14 23:08:21',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(24,10,26,'2025-11-14 23:08:21',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(25,12,38,'2025-11-14 23:10:15',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(26,12,39,'2025-11-14 23:10:15',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(27,12,25,'2025-11-14 23:10:15',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(28,12,26,'2025-11-14 23:10:15',1,'Missing',NULL,NULL,'other','Marked missing during audit',11,NULL,NULL),(29,13,38,'2025-11-14 23:19:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(30,13,39,'2025-11-14 23:19:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(31,13,25,'2025-11-14 23:19:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(32,13,26,'2025-11-14 23:19:06',1,'Missing',NULL,NULL,NULL,NULL,11,NULL,NULL),(33,14,38,'2025-11-14 23:25:16',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(34,14,39,'2025-11-14 23:25:16',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(35,14,25,'2025-11-14 23:25:16',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(36,14,26,'2025-11-14 23:25:16',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(37,15,38,'2025-11-14 23:29:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(38,15,39,'2025-11-14 23:29:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(39,15,25,'2025-11-14 23:29:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(40,15,26,'2025-11-14 23:29:06',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(41,16,38,'2025-11-14 23:31:01',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(42,16,39,'2025-11-14 23:31:01',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(43,16,25,'2025-11-14 23:31:01',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(44,16,26,'2025-11-14 23:31:01',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(45,17,25,'2025-11-15 01:19:04',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(46,18,38,'2025-11-15 01:29:14',1,'Good',1,'{\"responses\":[{\"answer\":\"Yes\",\"question\":\"Does the device power on?\",\"step\":1},{\"answer\":\"Good\",\"question\":\"Physical condition?\",\"step\":2}]}',NULL,NULL,11,NULL,NULL),(47,18,39,'2025-11-15 01:29:14',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(48,18,25,'2025-11-15 01:29:14',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(49,18,26,'2025-11-15 01:29:14',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(50,19,25,'2025-11-15 04:03:42',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(51,20,25,'2025-11-15 04:04:23',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(52,21,25,'2025-11-15 04:05:11',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(53,22,25,'2025-11-15 04:07:13',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(54,23,38,'2025-12-03 15:55:10',1,'Faulty',1,'{\"responses\":[{\"answer\":\"No\",\"question\":\"Does the device power on?\",\"step\":1}]}',NULL,NULL,11,NULL,NULL),(55,23,39,'2025-12-03 15:55:10',1,'Missing',NULL,NULL,'other','Marked missing during audit',11,NULL,NULL),(56,23,25,'2025-12-03 15:55:10',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(57,23,26,'2025-12-03 15:55:10',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(58,24,38,'2025-12-08 11:00:50',1,'Missing',1,NULL,'other','Marked missing during audit',11,NULL,NULL),(59,24,39,'2025-12-08 11:00:50',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(60,24,25,'2025-12-08 11:00:50',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(61,24,26,'2025-12-08 11:00:50',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(62,25,38,'2025-12-08 11:08:13',1,'Attention',1,'{\"additional_fields\":{\"damage_notes\":\"penis\"},\"responses\":[{\"answer\":\"Yes\",\"question\":\"Does the device power on?\",\"step\":1},{\"answer\":\"Damaged\",\"question\":\"Physical condition?\",\"step\":2},{\"answer\":\"penis\",\"question\":\"Describe the damage\",\"step\":3}]}',NULL,NULL,11,NULL,NULL),(63,25,39,'2025-12-08 11:08:13',1,'Missing',NULL,NULL,'other','Marked missing during audit',11,NULL,NULL),(64,25,25,'2025-12-08 11:08:13',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(65,25,26,'2025-12-08 11:08:13',1,'Missing',NULL,NULL,'other','Marked missing during audit',11,NULL,NULL),(66,27,25,'2025-12-21 23:41:41',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(67,29,25,'2025-12-22 00:45:37',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(68,30,38,'2025-12-22 01:00:29',1,'Good',1,NULL,NULL,NULL,11,NULL,NULL),(69,30,39,'2025-12-22 01:00:29',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(70,30,25,'2025-12-22 01:00:29',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(71,30,26,'2025-12-22 01:00:29',1,'Good',NULL,NULL,NULL,NULL,11,NULL,NULL),(72,30,40,'2025-12-22 01:00:29',1,'Good',1,NULL,NULL,NULL,11,NULL,NULL),(73,31,40,'2025-12-22 01:09:30',1,'Good',1,NULL,NULL,NULL,13,NULL,NULL);
/*!40000 ALTER TABLE `physical_audit_logs` ENABLE KEYS */;
UNLOCK TABLES;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
@@ -1777,7 +1784,7 @@ DELIMITER ;;
BEFORE INSERT ON physical_audit_logs
FOR EACH ROW
BEGIN
- -- Auto-populate audited_by from session variable if not provided
+
IF NEW.audited_by IS NULL OR NEW.audited_by = 0 THEN
SET NEW.audited_by = COALESCE(@current_user_id, 1);
END IF;
@@ -1824,13 +1831,13 @@ FOR EACH ROW
BEGIN
DECLARE current_status VARCHAR(100);
- -- Update asset's last_audit date
+
UPDATE assets
SET last_audit = DATE(NEW.audit_date),
last_audit_status = NEW.status_found
WHERE id = NEW.asset_id;
- -- Compare found status with current asset status
+
SELECT status INTO current_status FROM assets WHERE id = NEW.asset_id LIMIT 1;
IF NEW.status_found != current_status THEN
@@ -1870,12 +1877,12 @@ CREATE TABLE `physical_audits` (
KEY `idx_started_by` (`started_by`),
CONSTRAINT `physical_audits_ibfk_1` FOREIGN KEY (`zone_id`) REFERENCES `zones` (`id`),
CONSTRAINT `physical_audits_ibfk_2` FOREIGN KEY (`started_by`) REFERENCES `users` (`id`)
-) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
+) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `physical_audits` WRITE;
/*!40000 ALTER TABLE `physical_audits` DISABLE KEYS */;
-INSERT INTO `physical_audits` VALUES (3,'spot-check',NULL,NULL,2,'2025-10-20 11:44:07','2025-10-13 18:35:00','attention',NULL,NULL,NULL,1,NULL,NULL),(4,'spot-check',NULL,NULL,2,'2025-10-20 11:44:09','2025-10-13 18:40:00','attention',NULL,NULL,NULL,1,NULL,NULL),(5,'spot-check',NULL,NULL,2,'2025-10-20 11:44:10','2025-10-13 19:00:00','attention',NULL,NULL,NULL,1,NULL,NULL),(6,'spot-check',NULL,NULL,2,'2025-10-20 11:44:11','2025-10-13 19:05:00','all-good',NULL,NULL,NULL,1,NULL,NULL),(7,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 22:42:27','2025-11-14 22:42:56','all-good',60,NULL,4,6,NULL,NULL),(8,'spot-check',NULL,'Spot Check 2025-11-14 22:44',1,'2025-11-14 22:44:13','2025-11-14 22:44:39','attention',NULL,'{\"exceptions\":[{\"asset_id\":38,\"asset_tag\":\"ps39-mon-108-01\",\"details\":null,\"name\":\"Dell Monitor\",\"type\":\"spot-check\"}],\"unexpected_assets\":[{\"asset_id\":38,\"asset_tag\":\"ps39-mon-108-01\",\"name\":\"Dell Monitor\",\"status\":\"Good\"}]}',0,0,NULL,NULL),(9,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 22:57:14','2025-11-14 22:57:47','cancelled',60,NULL,4,4,NULL,'Audit cancelled for zone Buero IT und so at 2025-11-14 22:57:47'),(10,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 23:06:24','2025-11-14 23:08:21','all-good',60,NULL,4,7,NULL,NULL),(11,'spot-check',NULL,'Spot Check 2025-11-14 23:08',1,'2025-11-14 23:08:59','2025-11-14 23:09:04','cancelled',NULL,NULL,0,0,NULL,'Spot check cancelled at 2025-11-14 23:09:04'),(12,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 23:09:25','2025-11-14 23:10:15','attention',60,'{\"exceptions\":[{\"asset_id\":26,\"asset_tag\":\"cbl-hdmi-002\",\"details\":\"Marked missing during audit\",\"name\":\"Floating HDMI Cables\",\"type\":\"other\"}],\"missing_assets\":[{\"asset_id\":26,\"asset_tag\":\"cbl-hdmi-002\",\"name\":\"Floating HDMI Cables\"}]}',4,6,NULL,NULL),(13,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 23:18:39','2025-11-14 23:19:06','all-good',60,NULL,3,6,NULL,NULL),(14,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 23:24:56','2025-11-14 23:25:16','all-good',60,NULL,4,6,NULL,NULL),(15,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 23:28:48','2025-11-14 23:29:06','all-good',60,NULL,4,6,NULL,NULL),(16,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 23:30:47','2025-11-14 23:31:01','all-good',60,NULL,4,6,NULL,NULL),(17,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-15 01:18:44','2025-11-15 01:19:04','cancelled',60,NULL,4,1,NULL,'Audit cancelled for zone Buero IT und so at 2025-11-15 01:19:04'),(18,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-15 01:28:49','2025-11-15 01:29:14','all-good',60,NULL,4,6,NULL,NULL),(19,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-15 12:23:36','2025-11-15 12:24:35','cancelled',60,NULL,4,1,NULL,'Audit cancelled for zone Buero IT und so at 2025-11-15 12:24:35'),(20,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-15 12:25:00','2025-11-15 12:25:16','cancelled',60,NULL,4,1,NULL,'Audit cancelled for zone Buero IT und so at 2025-11-15 12:25:16'),(21,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-15 12:25:49','2025-11-15 12:26:04','cancelled',60,NULL,4,1,NULL,'Audit cancelled for zone Buero IT und so at 2025-11-15 12:26:04'),(22,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-15 12:27:57','2025-11-15 12:28:06','cancelled',60,NULL,4,1,NULL,'Audit cancelled for zone Buero IT und so at 2025-11-15 12:28:06'),(23,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-12-03 15:54:18','2025-12-03 15:55:10','attention',60,'{\"attention_assets\":[{\"asset_id\":38,\"asset_tag\":\"ps39-mon-108-01\",\"name\":\"Dell Monitor\",\"status\":\"Faulty\"}],\"exceptions\":[{\"asset_id\":39,\"asset_tag\":\"ps39-mon-108-02\",\"details\":\"Marked missing during audit\",\"name\":\"Dell Monitor\",\"type\":\"other\"}],\"missing_assets\":[{\"asset_id\":39,\"asset_tag\":\"ps39-mon-108-02\",\"name\":\"Dell Monitor\"}]}',4,5,NULL,NULL),(24,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-12-08 10:58:41','2025-12-08 11:00:50','attention',60,'{\"exceptions\":[{\"asset_id\":38,\"asset_tag\":\"ps39-mon-108-01\",\"details\":\"Marked missing during audit\",\"name\":\"Dell Monitor\",\"type\":\"other\"}],\"missing_assets\":[{\"asset_id\":38,\"asset_tag\":\"ps39-mon-108-01\",\"name\":\"Dell Monitor\"}]}',3,5,NULL,NULL),(25,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-12-08 11:07:50','2025-12-08 11:08:13','attention',60,'{\"attention_assets\":[{\"asset_id\":38,\"asset_tag\":\"ps39-mon-108-01\",\"name\":\"Dell Monitor\",\"status\":\"Attention\"}],\"exceptions\":[{\"asset_id\":39,\"asset_tag\":\"ps39-mon-108-02\",\"details\":\"Marked missing during audit\",\"name\":\"Dell Monitor\",\"type\":\"other\"},{\"asset_id\":26,\"asset_tag\":\"cbl-hdmi-002\",\"details\":\"Marked missing during audit\",\"name\":\"Floating HDMI Cables\",\"type\":\"other\"}],\"missing_assets\":[{\"asset_id\":39,\"asset_tag\":\"ps39-mon-108-02\",\"name\":\"Dell Monitor\"}]}',3,5,NULL,NULL);
+INSERT INTO `physical_audits` VALUES (3,'spot-check',NULL,NULL,2,'2025-10-20 11:44:07','2025-10-13 18:35:00','attention',NULL,NULL,NULL,1,NULL,NULL),(4,'spot-check',NULL,NULL,2,'2025-10-20 11:44:09','2025-10-13 18:40:00','attention',NULL,NULL,NULL,1,NULL,NULL),(5,'spot-check',NULL,NULL,2,'2025-10-20 11:44:10','2025-10-13 19:00:00','attention',NULL,NULL,NULL,1,NULL,NULL),(6,'spot-check',NULL,NULL,2,'2025-10-20 11:44:11','2025-10-13 19:05:00','all-good',NULL,NULL,NULL,1,NULL,NULL),(7,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 22:42:27','2025-11-14 22:42:56','all-good',60,NULL,4,6,NULL,NULL),(8,'spot-check',NULL,'Spot Check 2025-11-14 22:44',1,'2025-11-14 22:44:13','2025-11-14 22:44:39','attention',NULL,'{\"exceptions\":[{\"asset_id\":38,\"asset_tag\":\"ps39-mon-108-01\",\"details\":null,\"name\":\"Dell Monitor\",\"type\":\"spot-check\"}],\"unexpected_assets\":[{\"asset_id\":38,\"asset_tag\":\"ps39-mon-108-01\",\"name\":\"Dell Monitor\",\"status\":\"Good\"}]}',0,0,NULL,NULL),(9,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 22:57:14','2025-11-14 22:57:47','cancelled',60,NULL,4,4,NULL,'Audit cancelled for zone Buero IT und so at 2025-11-14 22:57:47'),(10,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 23:06:24','2025-11-14 23:08:21','all-good',60,NULL,4,7,NULL,NULL),(11,'spot-check',NULL,'Spot Check 2025-11-14 23:08',1,'2025-11-14 23:08:59','2025-11-14 23:09:04','cancelled',NULL,NULL,0,0,NULL,'Spot check cancelled at 2025-11-14 23:09:04'),(12,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 23:09:25','2025-11-14 23:10:15','attention',60,'{\"exceptions\":[{\"asset_id\":26,\"asset_tag\":\"cbl-hdmi-002\",\"details\":\"Marked missing during audit\",\"name\":\"Floating HDMI Cables\",\"type\":\"other\"}],\"missing_assets\":[{\"asset_id\":26,\"asset_tag\":\"cbl-hdmi-002\",\"name\":\"Floating HDMI Cables\"}]}',4,6,NULL,NULL),(13,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 23:18:39','2025-11-14 23:19:06','all-good',60,NULL,3,6,NULL,NULL),(14,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 23:24:56','2025-11-14 23:25:16','all-good',60,NULL,4,6,NULL,NULL),(15,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 23:28:48','2025-11-14 23:29:06','all-good',60,NULL,4,6,NULL,NULL),(16,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-14 23:30:47','2025-11-14 23:31:01','all-good',60,NULL,4,6,NULL,NULL),(17,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-15 01:18:44','2025-11-15 01:19:04','cancelled',60,NULL,4,1,NULL,'Audit cancelled for zone Buero IT und so at 2025-11-15 01:19:04'),(18,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-15 01:28:49','2025-11-15 01:29:14','all-good',60,NULL,4,6,NULL,NULL),(19,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-15 12:23:36','2025-11-15 12:24:35','cancelled',60,NULL,4,1,NULL,'Audit cancelled for zone Buero IT und so at 2025-11-15 12:24:35'),(20,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-15 12:25:00','2025-11-15 12:25:16','cancelled',60,NULL,4,1,NULL,'Audit cancelled for zone Buero IT und so at 2025-11-15 12:25:16'),(21,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-15 12:25:49','2025-11-15 12:26:04','cancelled',60,NULL,4,1,NULL,'Audit cancelled for zone Buero IT und so at 2025-11-15 12:26:04'),(22,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-11-15 12:27:57','2025-11-15 12:28:06','cancelled',60,NULL,4,1,NULL,'Audit cancelled for zone Buero IT und so at 2025-11-15 12:28:06'),(23,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-12-03 15:54:18','2025-12-03 15:55:10','attention',60,'{\"attention_assets\":[{\"asset_id\":38,\"asset_tag\":\"ps39-mon-108-01\",\"name\":\"Dell Monitor\",\"status\":\"Faulty\"}],\"exceptions\":[{\"asset_id\":39,\"asset_tag\":\"ps39-mon-108-02\",\"details\":\"Marked missing during audit\",\"name\":\"Dell Monitor\",\"type\":\"other\"}],\"missing_assets\":[{\"asset_id\":39,\"asset_tag\":\"ps39-mon-108-02\",\"name\":\"Dell Monitor\"}]}',4,5,NULL,NULL),(24,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-12-08 10:58:41','2025-12-08 11:00:50','attention',60,'{\"exceptions\":[{\"asset_id\":38,\"asset_tag\":\"ps39-mon-108-01\",\"details\":\"Marked missing during audit\",\"name\":\"Dell Monitor\",\"type\":\"other\"}],\"missing_assets\":[{\"asset_id\":38,\"asset_tag\":\"ps39-mon-108-01\",\"name\":\"Dell Monitor\"}]}',3,5,NULL,NULL),(25,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-12-08 11:07:50','2025-12-08 11:08:13','attention',60,'{\"attention_assets\":[{\"asset_id\":38,\"asset_tag\":\"ps39-mon-108-01\",\"name\":\"Dell Monitor\",\"status\":\"Attention\"}],\"exceptions\":[{\"asset_id\":39,\"asset_tag\":\"ps39-mon-108-02\",\"details\":\"Marked missing during audit\",\"name\":\"Dell Monitor\",\"type\":\"other\"},{\"asset_id\":26,\"asset_tag\":\"cbl-hdmi-002\",\"details\":\"Marked missing during audit\",\"name\":\"Floating HDMI Cables\",\"type\":\"other\"}],\"missing_assets\":[{\"asset_id\":39,\"asset_tag\":\"ps39-mon-108-02\",\"name\":\"Dell Monitor\"}]}',3,5,NULL,NULL),(26,'spot-check',NULL,'Spot Check 2025-12-21 23:39',1,'2025-12-21 23:39:49','2025-12-21 23:39:52','cancelled',NULL,NULL,0,0,NULL,'Spot check cancelled at 2025-12-21 23:39:52'),(27,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-12-21 23:41:04','2025-12-21 23:41:41','cancelled',60,NULL,3,1,NULL,'Audit cancelled for zone Buero IT und so at 2025-12-21 23:41:41'),(28,'full-zone',9,'Zone Plattenstrasse 39 Audit',1,'2025-12-22 00:31:39','2025-12-22 00:31:43','cancelled',120,NULL,0,0,NULL,'Audit cancelled for zone Plattenstrasse 39 at 2025-12-22 00:31:43'),(29,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-12-22 00:45:34','2025-12-22 00:45:37','cancelled',60,NULL,3,1,NULL,'Audit cancelled for zone Buero IT und so at 2025-12-22 00:45:37'),(30,'full-zone',11,'Zone Buero IT und so Audit',1,'2025-12-22 00:58:32','2025-12-22 01:00:29','all-good',60,NULL,5,8,NULL,NULL),(31,'full-zone',13,'Zone Server Raum Audit',1,'2025-12-22 01:09:02','2025-12-22 01:09:30','all-good',60,NULL,1,2,NULL,NULL),(32,'full-zone',12,'Zone Ausleihschrank Audit',1,'2025-12-22 01:25:26','2025-12-22 01:25:33','cancelled',60,NULL,0,0,NULL,'Audit cancelled for zone Ausleihschrank at 2025-12-22 01:25:33');
/*!40000 ALTER TABLE `physical_audits` ENABLE KEYS */;
UNLOCK TABLES;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
@@ -1894,7 +1901,7 @@ BEGIN
DECLARE expected_count INT DEFAULT 0;
DECLARE v_timeout INT;
- -- For full-zone audits, calculate expected assets in the zone
+
IF NEW.audit_type = 'full-zone' AND NEW.zone_id IS NOT NULL THEN
SELECT COUNT(*) INTO expected_count
FROM assets
@@ -1904,7 +1911,7 @@ BEGIN
SET NEW.assets_expected = expected_count;
END IF;
- -- Set timeout from zone settings if not specified
+
IF NEW.timeout_minutes IS NULL AND NEW.zone_id IS NOT NULL THEN
SELECT audit_timeout_minutes INTO v_timeout
FROM zones
@@ -1937,20 +1944,20 @@ BEGIN
DECLARE missing_count INT DEFAULT 0;
DECLARE zone_name VARCHAR(200);
- -- Only process when audit status changes to completed states
+
IF OLD.status = 'in-progress' AND NEW.status IN ('all-good', 'attention', 'timeout') THEN
- -- Get zone name for reporting
+
IF NEW.zone_id IS NOT NULL THEN
SELECT zone_name INTO zone_name FROM zones WHERE id = NEW.zone_id;
END IF;
- -- For full-zone audits, check for missing assets
+
IF NEW.audit_type = 'full-zone' AND NEW.assets_expected IS NOT NULL THEN
SET missing_count = GREATEST(0, NEW.assets_expected - NEW.assets_found);
END IF;
- -- Create issue for missing assets
+
IF missing_count > 0 THEN
INSERT INTO issue_tracker (
issue_type, title, description, severity, priority, status,
@@ -2172,7 +2179,7 @@ CREATE TABLE `users` (
LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
-INSERT INTO `users` VALUES (1,'Adminier','admin','$2a$12$gZiN2xX8ZdkmlInWIw/CM.OC76XnepAQLCHghCx9hKYSgdZdkxDjW',NULL,NULL,1,'admin@beepzone.local',NULL,NULL,1,'2025-12-12 20:46:53','2025-10-20 11:43:38',NULL,NULL,NULL),(2,'Sarah Manager','manager1','$2a$12$1IZfvE1ocoxSp4z6N1qy4.lbGquGx9mecBtVWmmUa01wBgrAfCWf.','1234','RFID_MGR_001',2,'manager@test.local',NULL,NULL,1,'2025-10-20 11:44:12','2025-10-20 11:43:39',NULL,NULL,NULL),(3,'John Staff','staff1','$2a$12$1IZfvE1ocoxSp4z6N1qy4.lbGquGx9mecBtVWmmUa01wBgrAfCWf.','5678','RFID_STAFF_001',3,'staff@test.local',NULL,NULL,1,'2025-10-20 11:44:14','2025-10-20 11:43:40',NULL,NULL,'{\"common\":{\"language\":\"fr\"},\"web\":{\"theme\":\"light\"}}'),(4,'Emily Student','student1','$2a$12$1IZfvE1ocoxSp4z6N1qy4.lbGquGx9mecBtVWmmUa01wBgrAfCWf.','9999','RFID_STUDENT_001',4,'student@test.local',NULL,NULL,1,'2025-10-20 11:43:42','2025-10-20 11:43:41',NULL,NULL,NULL);
+INSERT INTO `users` VALUES (1,'Adminier','admin','$2a$12$gZiN2xX8ZdkmlInWIw/CM.OC76XnepAQLCHghCx9hKYSgdZdkxDjW',NULL,NULL,1,'admin@beepzone.local',NULL,NULL,1,'2025-12-22 03:41:42','2025-10-20 11:43:38',NULL,NULL,NULL),(2,'Sarah Manager','manager1','$2a$12$gZiN2xX8ZdkmlInWIw/CM.OC76XnepAQLCHghCx9hKYSgdZdkxDjW','1234','RFID_MGR_001',2,'manager@test.local',NULL,NULL,1,'2025-10-20 11:44:12','2025-10-20 11:43:39',NULL,NULL,NULL),(3,'John Staff','staff1','$2a$12$gZiN2xX8ZdkmlInWIw/CM.OC76XnepAQLCHghCx9hKYSgdZdkxDjW','5678','RFID_STAFF_001',3,'staff@test.local',NULL,NULL,1,'2025-12-22 04:02:57','2025-10-20 11:43:40',NULL,NULL,'{\"common\":{\"language\":\"fr\"},\"web\":{\"theme\":\"light\"}}'),(4,'Emily Student','student1','$2a$12$gZiN2xX8ZdkmlInWIw/CM.OC76XnepAQLCHghCx9hKYSgdZdkxDjW','9999','RFID_STUDENT_001',4,'student@test.local',NULL,NULL,1,'2025-12-22 03:42:33','2025-10-20 11:43:41',NULL,NULL,NULL);
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;
DROP TABLE IF EXISTS `zones`;
@@ -2201,7 +2208,7 @@ INSERT INTO `zones` VALUES (9,'Plattenstrasse 39',NULL,'Building','ps39','ps39',
/*!40000 ALTER TABLE `zones` ENABLE KEYS */;
UNLOCK TABLES;
--
--- WARNING: can't read the INFORMATION_SCHEMA.libraries table. It's most probably an old server 12.0.2-MariaDB-ubu2404.
+-- WARNING: can't read the INFORMATION_SCHEMA.libraries table. It's most probably an old server 12.1.2-MariaDB-ubu2404.
--
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
diff --git a/backend/database/dev/export-full-dump.sh b/backend/database/dev/export-full-dump.sh
index 782e4be..1a534b2 100755
--- a/backend/database/dev/export-full-dump.sh
+++ b/backend/database/dev/export-full-dump.sh
@@ -9,8 +9,8 @@ export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"
DB_HOST="127.0.0.1"
DB_PORT="3306"
-DB_USER="beepzone_user"
-DB_PASS="BeepZONE77"
+DB_USER="beepzone"
+DB_PASS="beepzone"
DB_NAME="beepzone"
echo "Exporting full database dump (schema + data + triggers)..."
diff --git a/backend/database/dev/update_001_add_tag_generation_string.sql b/backend/database/dev/update_001_add_tag_generation_string.sql
new file mode 100644
index 0000000..61308fd
--- /dev/null
+++ b/backend/database/dev/update_001_add_tag_generation_string.sql
@@ -0,0 +1 @@
+ALTER TABLE `assets` ADD COLUMN `tag_generation_string` VARCHAR(255) DEFAULT NULL AFTER `asset_tag`;
diff --git a/backend/database/dev/update_002_add_asset_relationships.sql b/backend/database/dev/update_002_add_asset_relationships.sql
new file mode 100644
index 0000000..0d74b89
--- /dev/null
+++ b/backend/database/dev/update_002_add_asset_relationships.sql
@@ -0,0 +1,11 @@
+ALTER TABLE `assets`
+ADD COLUMN `belongs_to_item` INT(11) DEFAULT NULL COMMENT 'References asset_numeric_id of parent asset' AFTER `asset_numeric_id`,
+ADD COLUMN `previously_was` INT(11) DEFAULT NULL COMMENT 'References asset_numeric_id of the asset this replaced' AFTER `belongs_to_item`;
+
+ALTER TABLE `assets`
+ADD KEY `idx_belongs_to` (`belongs_to_item`),
+ADD KEY `idx_previously_was` (`previously_was`);
+
+ALTER TABLE `assets`
+ADD CONSTRAINT `fk_assets_belongs_to` FOREIGN KEY (`belongs_to_item`) REFERENCES `assets` (`asset_numeric_id`) ON DELETE SET NULL,
+ADD CONSTRAINT `fk_assets_previously_was` FOREIGN KEY (`previously_was`) REFERENCES `assets` (`asset_numeric_id`) ON DELETE SET NULL;
diff --git a/backend/database/schema/beepzone-schema-dump.sql b/backend/database/schema/beepzone-schema-dump.sql
index 3acb5e5..05d738a 100644
--- a/backend/database/schema/beepzone-schema-dump.sql
+++ b/backend/database/schema/beepzone-schema-dump.sql
@@ -28,7 +28,10 @@ CREATE TABLE `asset_change_log` (
CREATE TABLE `assets` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`asset_tag` varchar(200) DEFAULT NULL,
+ `tag_generation_string` varchar(255) DEFAULT NULL,
`asset_numeric_id` int(11) NOT NULL CHECK (`asset_numeric_id` between 10000000 and 99999999),
+ `belongs_to_item` int(11) DEFAULT NULL COMMENT 'References asset_numeric_id of parent asset',
+ `previously_was` int(11) DEFAULT NULL COMMENT 'References asset_numeric_id of the asset this replaced',
`asset_type` enum('N','B','L','C') NOT NULL,
`name` varchar(255) DEFAULT NULL,
`category_id` int(11) DEFAULT NULL,
@@ -76,6 +79,8 @@ CREATE TABLE `assets` (
KEY `last_modified_by` (`last_modified_by`),
KEY `idx_asset_tag` (`asset_tag`),
KEY `idx_asset_numeric` (`asset_numeric_id`),
+ KEY `idx_belongs_to` (`belongs_to_item`),
+ KEY `idx_previously_was` (`previously_was`),
KEY `idx_type` (`asset_type`),
KEY `idx_status` (`status`),
KEY `idx_zone` (`zone_id`),
@@ -91,7 +96,9 @@ CREATE TABLE `assets` (
CONSTRAINT `assets_ibfk_6` FOREIGN KEY (`audit_task_id`) REFERENCES `audit_tasks` (`id`) ON DELETE SET NULL,
CONSTRAINT `assets_ibfk_7` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
CONSTRAINT `assets_ibfk_8` FOREIGN KEY (`last_modified_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
- CONSTRAINT `fk_asset_label_template` FOREIGN KEY (`label_template_id`) REFERENCES `label_templates` (`id`) ON DELETE SET NULL
+ CONSTRAINT `fk_asset_label_template` FOREIGN KEY (`label_template_id`) REFERENCES `label_templates` (`id`) ON DELETE SET NULL,
+ CONSTRAINT `fk_assets_belongs_to` FOREIGN KEY (`belongs_to_item`) REFERENCES `assets` (`asset_numeric_id`) ON DELETE SET NULL,
+ CONSTRAINT `fk_assets_previously_was` FOREIGN KEY (`previously_was`) REFERENCES `assets` (`asset_numeric_id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
diff --git a/backend/seckelapi/Containerfile b/backend/seckelapi/Containerfile
index d36a165..ccdab84 100644
--- a/backend/seckelapi/Containerfile
+++ b/backend/seckelapi/Containerfile
@@ -21,7 +21,7 @@ WORKDIR /app
# Install runtime dependencies
RUN apt-get update && \
- apt-get install -y ca-certificates libssl3 && \
+ apt-get install -y ca-certificates libssl3 nano && \
rm -rf /var/lib/apt/lists/*
# Copy binary and config from builder
diff --git a/backend/seckelapi/config/security.toml b/backend/seckelapi/config/security.toml
index f72b765..4bf05b3 100644
--- a/backend/seckelapi/config/security.toml
+++ b/backend/seckelapi/config/security.toml
@@ -207,4 +207,23 @@ max_limit = 50
max_where_conditions = 5
user_settings_access = "read-own-only" # Students can only read their own preferences, not modify
+[permissions."10"]
+# Kiosk - public terminal, can only list users for login
+rollback_on_error = true
+allow_batch_operations = false
+basic_rules = [
+ "users:r",
+ "roles:r"
+]
+advanced_rules = [
+ "users.*:block",
+ "users.id:r",
+ "users.username:r",
+ "users.name:r",
+ "users.role_id:r"
+]
+max_limit = 100
+max_where_conditions = 5
+user_settings_access = "read-own-only"
+