feat(health): 家庭成员健康代理 — 同意追踪 + 健康摘要查看
Phase 1 Care Engine MVP 最后一项 (#8): - 迁移: patient_family_member 表新增 user_id/consent_status/access_level/consented_at/consent_revoked_at - 实体: 更新 patient_family_member Model 含新字段 - DTO: FamilyMemberResp 扩展 + 新增 GrantFamilyAccessReq/FamilyPatientSummaryResp/FamilyHealthSummaryResp - Service: 授权/撤销访问、家庭成员查看关联患者列表、查看健康摘要(按 access_level 分级) - Handler: 5 个端点(grant/revoke/list/summary/link-user) - 路由: /health/patients/{id}/family-members/{fid}/grant-access 等 - 权限: health.family-proxy.list/manage - 已有 CRUD 适配新字段(list/create/update 返回 consent 状态)
This commit is contained in:
@@ -109,6 +109,9 @@ pub enum HealthError {
|
||||
|
||||
#[error("数据库操作失败: {0}")]
|
||||
DbError(String),
|
||||
|
||||
#[error("权限不足: {0}")]
|
||||
Forbidden(String),
|
||||
}
|
||||
|
||||
impl From<HealthError> for AppError {
|
||||
@@ -149,6 +152,7 @@ impl From<HealthError> for AppError {
|
||||
HealthError::ScheduleFull => AppError::Validation(err.to_string()),
|
||||
HealthError::InvalidStatusTransition(s) => AppError::Validation(s),
|
||||
HealthError::VersionMismatch => AppError::VersionMismatch,
|
||||
HealthError::Forbidden(msg) => AppError::Forbidden(msg),
|
||||
HealthError::DbError(_) => AppError::Internal(err.to_string()),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user