Sindbad~EG File Manager
-- User Level and Role Management Tables
-- This allows admins to enable/disable specific user levels and roles
CREATE TABLE IF NOT EXISTS user_level_settings (
id INT AUTO_INCREMENT PRIMARY KEY,
level_name VARCHAR(50) UNIQUE NOT NULL,
display_name VARCHAR(100) NOT NULL,
is_enabled BOOLEAN DEFAULT TRUE,
description TEXT,
updated_by INT NOT NULL,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (updated_by) REFERENCES users(id)
);
CREATE TABLE IF NOT EXISTS user_role_settings (
id INT AUTO_INCREMENT PRIMARY KEY,
role_name VARCHAR(50) UNIQUE NOT NULL,
display_name VARCHAR(100) NOT NULL,
is_enabled BOOLEAN DEFAULT TRUE,
description TEXT,
updated_by INT NOT NULL,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (updated_by) REFERENCES users(id)
);
-- Insert default user levels
INSERT INTO user_level_settings (level_name, display_name, description, updated_by) VALUES
('superuser', 'Superuser', 'Full system access, manages all areas/districts/assemblies', 1),
('area', 'Area Level', 'Access to districts and assemblies within their area', 1),
('district', 'District Level', 'Access to assemblies within their district', 1),
('assembly', 'Assembly Level', 'Access only to their specific assembly', 1);
-- Insert default user roles
INSERT INTO user_role_settings (role_name, display_name, description, updated_by) VALUES
('admin', 'Administrator', 'Create, Read, Update, Delete permissions', 1),
('dataentry', 'Data Entry', 'Create, Read, Update permissions', 1),
('viewer', 'Viewer', 'Read-only permissions', 1);
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists