chore: 提交所有工作进度 — SaaS 后端增强、Admin UI、桌面端集成

包含大量 SaaS 平台改进、Admin 管理后台更新、桌面端集成完善、
文档同步、测试文件重构等内容。为 QA 测试准备干净工作树。
This commit is contained in:
iven
2026-03-29 10:46:26 +08:00
parent 9a5fad2b59
commit 5fdf96c3f5
268 changed files with 22011 additions and 3886 deletions

View File

@@ -0,0 +1,34 @@
//! 角色管理模块
//! handlers_ext - 获取角色权限列表(公开 API
use axum::{
extract::{Extension, Path, State},
http::StatusCode,
Json,
};
use crate::state::AppState;
use crate::error::SaasResult;
use crate::auth::types::AuthContext;
use crate::auth::handlers::check_permission;
use super::{types::*, service};
use crate::role::handlers_ext;
/// GET /api/v1/roles/:id/permissions - 公开 API无需登录验证
pub async fn get_role_permissions(
State(state): State<AppState>,
Path(id): Path<String>,
Extension(ctx): Extension<AuthContext>,
) -> SaasResult<Json<Vec<String>>> {
check_permission(&ctx, "account:read")?;
let row: Option<(String,)> = sqlx::query_as(
"SELECT permissions FROM roles WHERE id = $1"
)
.bind(&id)
.fetch_optional(&state.db)
.await?;
let permissions: Vec<String> = serde_json::from_str(&permissions_str)?;
Ok(permissions)
}