logan
|
be2d6f3894
|
feat: LDAP 账号管理 — OU管理/添加用户/删除用户/批量导入
后端新增 4 个 LDAP 管理端点:
- POST /ldap-config/create-ou: 创建组织单元
- POST /ldap-config/create-user: 创建单个用户 (SSHA加密)
- POST /ldap-config/delete-user: 删除用户
- POST /ldap-config/batch-import-ldap: 批量导入用户
- POST /ldap-config/user-list: 查询用户列表(恢复)
前端 LdapConfigPage 增强:
- LDAP 账号管理折叠区(配置存在即显示)
- OU 下拉选择 + 根节点选项 + 数量统计
- 用户列表表格(全选/单选/DN显示)
- 新建 OU 弹框(名称+父级DN+描述)
- 添加用户弹框(用户名+密码+显示名+邮箱+目标OU)
- 删除选中用户按钮(确认后批量删除)
前端 UsersPage BatchImportModal 三 Tab:
- 本地导入 / 导入到 LDAP / 从 LDAP 导入
测试修复:
- test_user_endpoint.py: 分页格式兼容
- test_users.py: 分页格式兼容
- test_system_settings.py: 精简后配置项匹配
|
2026-05-25 17:34:53 +08:00 |
|
logan
|
00db0e5bca
|
feat: 日志自动清理 — 系统设置+定时任务+手动操作
1. 系统设置新增 cleanup 分组(6项配置):
- 启用自动清理(开关)
- 清理执行时间(默认凌晨3点)
- 工单保留天数(默认90天)
- 审计日志保留天数(默认180天)
- 查询历史保留天数(默认30天)
- 定时任务日志保留天数(默认30天)
2. log_cleanup.py: 自动清理服务
- 只清理已完成/已拒绝的工单
- 按保留天数过滤
- 0天=不清理
3. APScheduler cron job: 每天03:00自动清理
4. API endpoints:
- POST /settings/cleanup/run — 手动触发清理
- GET /settings/cleanup/preview — 预览待清理数量
5. 前端 PlatformConfigPage:
- GROUP_META 新增 cleanup 分组
- CleanupActions 子组件: 预览+手动清理按钮
6. 清空所有历史工单数据(tickets/ticket_approvals/audit_logs/query_histories)
|
2026-05-25 00:19:38 +08:00 |
|
logan
|
a8c92fe7ae
|
feat: APScheduler持久化定时任务 + SQL检测按钮 + 定时时间醒目红色
1. ticket_scheduler.py: 纯asyncio→APScheduler+SQLite持久化
- 服务重启后定时任务不丢失
- 启动时自动恢复scheduled状态工单
- shutdown时优雅关闭scheduler
2. TicketCreatePage.tsx:
- 提交按钮旁新增SQL检测按钮(Shield图标)
- 验证通过前提交按钮置灰+提示'请先通过SQL检测'
- SQL内容变化自动重置验证状态
- 定时时间改为醒目红色字体(text-red-500 font-semibold)
3. main.py: lifespan中启动APScheduler+恢复定时工单
|
2026-05-25 00:08:48 +08:00 |
|
logan
|
ffb3d24e2a
|
feat: 定时执行工单 — 新建工单+自动任务管理全面重构
后端:
- Ticket 模型新增 scheduled_at 字段 (DateTime, nullable)
- TicketStatus 新增 SCHEDULED 状态
- 状态转换图: approved→scheduled, scheduled→executing/approved
- execute_ticket: scheduled_at 在未来时进入 scheduled 状态
- ticket_scheduler.py: asyncio 后台定时执行器
- GET /tickets/scheduled/list: 列出定时执行中工单
- POST /tickets/{id}/cancel-schedule: 取消定时执行
前端:
- TicketCreatePage: 新增定时执行 checkbox + datetime-local picker (秒级精度)
- AutoTaskPage: 全面重写为真实定时任务管理页
- 实时倒计时显示 (Xh Xm 后执行)
- DB 类型图标 (MySQL/PG/Redis/MongoDB)
- SQL 预览 + 取消定时执行
- 每 30 秒自动刷新
|
2026-05-25 00:02:21 +08:00 |
|