-- 植物养护后台管理系统 - 角色初始化数据
-- 执行前请确保 roles 表已存在

-- ============================================
-- 角色数据
-- ============================================

-- 超级管理员
INSERT INTO roles (id, name, code, sort, created_at, updated_at) VALUES
('role_admin', '超级管理员', 'admin', 1, NOW(), NOW());

-- 运营管理员
INSERT INTO roles (id, name, code, sort, created_at, updated_at) VALUES
('role_operator', '运营管理员', 'operator', 2, NOW(), NOW());

-- 内容编辑
INSERT INTO roles (id, name, code, sort, created_at, updated_at) VALUES
('role_editor', '内容编辑', 'editor', 3, NOW(), NOW());

-- 普通用户
INSERT INTO roles (id, name, code, sort, created_at, updated_at) VALUES
('role_user', '普通用户', 'user', 4, NOW(), NOW());

-- ============================================
-- 角色菜单关联（根据实际表结构调整）
-- 假设关联表是 role_menus，字段是 role_id 和 menu_id
-- ============================================

-- 超级管理员 - 拥有所有菜单权限
INSERT INTO role_menus (role_id, menu_id) 
SELECT 'role_admin', id FROM menus;

-- 运营管理员 - 拥有社区和百科管理权限
INSERT INTO role_menus (role_id, menu_id) VALUES
('role_operator', 'menu_dashboard'),
('role_operator', 'menu_community'),
('role_operator', 'menu_community_topic'),
('role_operator', 'menu_community_post'),
('role_operator', 'btn_topic_add'),
('role_operator', 'btn_topic_edit'),
('role_operator', 'btn_topic_delete'),
('role_operator', 'btn_post_review'),
('role_operator', 'btn_post_delete'),
('role_operator', 'menu_wiki'),
('role_operator', 'menu_wiki_class'),
('role_operator', 'menu_wiki_plant'),
('role_operator', 'btn_class_add'),
('role_operator', 'btn_class_edit'),
('role_operator', 'btn_class_delete'),
('role_operator', 'btn_wiki_add'),
('role_operator', 'btn_wiki_edit'),
('role_operator', 'btn_wiki_delete');

-- 内容编辑 - 只有百科管理权限
INSERT INTO role_menus (role_id, menu_id) VALUES
('role_editor', 'menu_dashboard'),
('role_editor', 'menu_wiki'),
('role_editor', 'menu_wiki_class'),
('role_editor', 'menu_wiki_plant'),
('role_editor', 'btn_class_add'),
('role_editor', 'btn_class_edit'),
('role_editor', 'btn_wiki_add'),
('role_editor', 'btn_wiki_edit');

-- 普通用户 - 只有仪表盘查看权限
INSERT INTO role_menus (role_id, menu_id) VALUES
('role_user', 'menu_dashboard');

-- ============================================
-- 查询验证
-- ============================================
-- SELECT r.name, m.title FROM role_menus rm
-- JOIN roles r ON rm.role_id = r.id
-- JOIN menus m ON rm.menu_id = m.id
-- ORDER BY r.sort, m.sort;
