From 904dbd7b1c1e3e6c8c631a861121bcf9649ef922 Mon Sep 17 00:00:00 2001 From: Kristjan Komlosi Date: Thu, 5 Feb 2026 18:11:00 +0100 Subject: [PATCH] misc: Add authentication init --- ai-improved.sql | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/ai-improved.sql b/ai-improved.sql index fd0bfb7..0b509e6 100644 --- a/ai-improved.sql +++ b/ai-improved.sql @@ -60,16 +60,25 @@ CREATE TABLE actors ( FOREIGN KEY (data_type_id) REFERENCES data_types(id) ); --- Insert test device -INSERT INTO devices (id, name, description, location, status_id) -VALUES (UUID_TO_BIN(UUID()), 'TestDevice', 'Test device for development', 'Lab', 1); +-- Users table for authentication +CREATE TABLE users ( + id BINARY(16) NOT NULL PRIMARY KEY, + username VARCHAR(50) NOT NULL UNIQUE, + password_hash VARCHAR(255) NOT NULL, + email VARCHAR(255), + created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), + updated_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -SET @device_id = (SELECT id FROM devices WHERE name = 'TestDevice' LIMIT 1); +-- Create index on username for faster lookups +CREATE INDEX idx_username ON users(username); --- Insert bool sensor -INSERT INTO sensors (id, device_id, name, type, data_type_id) -VALUES (UUID_TO_BIN(UUID()), @device_id, 'TestSensor', 'bool_sensor', 1); - --- Insert bool actor -INSERT INTO actors (id, device_id, name, type, data_type_id) -VALUES (UUID_TO_BIN(UUID()), @device_id, 'TestActor', 'bool_actor', 1); \ No newline at end of file +-- Insert default admin user (password: password) +-- bcrypt hash of "password" +INSERT INTO users (id, username, password_hash, email) +VALUES ( + UUID_TO_BIN(UUID()), + 'admin', + '$2a$10$y5R/aLl7Ah9GbdcR57f4ze0lX12suTJQvPyJwLE0RJXqWpg7lStAC', + 'admin@example.com' +); \ No newline at end of file