12345678910111213141516171819202122232425262728293031323334 |
- from typing import Optional, List
- from sqlalchemy.orm import Session, joinedload
- from ..models.permission_model import PermissionModel
- from .base_store import BaseStore
- class PermissionStore(BaseStore[PermissionModel]):
- """
- 权限存储类,继承自BaseStore
- 提供权限相关的特定操作
- """
- def __init__(self, db: Session):
- super().__init__(db, PermissionModel)
- def get_by_name(self, name: str) -> Optional[PermissionModel]:
- """根据权限名称获取权限"""
- return self.db.query(
- self.model).filter(self.model.name == name).first()
- def get_by_code(self, code: str) -> Optional[PermissionModel]:
- """根据权限代码获取权限"""
- return self.db.query(
- self.model).filter(self.model.code == code).first()
- def get_active_permissions(self) -> List[PermissionModel]:
- """获取所有激活的权限"""
- return self.db.query(
- self.model).filter(self.model.status == True).all()
- def get_permissions_with_roles(self) -> List[PermissionModel]:
- """获取包含角色信息的权限列表"""
- return self.db.query(self.model).options(joinedload(
- self.model.roles)).all()
|