Merge branch 'develop-mark' into develop
This commit is contained in:
@@ -9,8 +9,9 @@
|
||||
"""
|
||||
import datetime
|
||||
import uuid
|
||||
from typing import Optional, List, Dict, Any, Tuple, Type
|
||||
from typing import Optional, List, Dict, Any, Tuple, Annotated
|
||||
|
||||
from fastapi import Depends
|
||||
from sqlalchemy import select, func, or_, and_
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
@@ -20,6 +21,7 @@ from app.core.exceptions import (
|
||||
BusinessException,
|
||||
)
|
||||
from app.core.logging_config import get_business_logger
|
||||
from app.db import get_db
|
||||
from app.models import App, AgentConfig, AppRelease, MultiAgentConfig, WorkflowConfig
|
||||
from app.models.app_model import AppStatus, AppType
|
||||
from app.repositories.app_repository import get_apps_by_id
|
||||
@@ -27,6 +29,7 @@ from app.repositories.workflow_repository import WorkflowConfigRepository
|
||||
from app.schemas import app_schema
|
||||
from app.schemas.workflow_schema import WorkflowConfigUpdate
|
||||
from app.services.agent_config_converter import AgentConfigConverter
|
||||
from app.models import AppShare, Workspace
|
||||
|
||||
# 获取业务日志器
|
||||
logger = get_business_logger()
|
||||
@@ -1390,7 +1393,7 @@ class AppService:
|
||||
target_workspace_ids: List[uuid.UUID],
|
||||
user_id: uuid.UUID,
|
||||
workspace_id: Optional[uuid.UUID] = None
|
||||
) -> List["AppShare"]:
|
||||
) -> AppShare:
|
||||
"""分享应用到其他工作空间
|
||||
|
||||
Args:
|
||||
@@ -1406,7 +1409,7 @@ class AppService:
|
||||
ResourceNotFoundException: 当应用不存在时
|
||||
BusinessException: 当应用不在指定工作空间或目标工作空间无效时
|
||||
"""
|
||||
from app.models import AppShare, Workspace
|
||||
|
||||
|
||||
logger.info(
|
||||
"分享应用",
|
||||
@@ -1548,7 +1551,7 @@ class AppService:
|
||||
*,
|
||||
app_id: uuid.UUID,
|
||||
workspace_id: Optional[uuid.UUID] = None
|
||||
) -> List["AppShare"]:
|
||||
) -> List[AppShare]:
|
||||
"""列出应用的所有分享记录
|
||||
|
||||
Args:
|
||||
@@ -2094,3 +2097,14 @@ async def draft_run_stream(
|
||||
workspace_id=workspace_id
|
||||
):
|
||||
yield event
|
||||
|
||||
|
||||
|
||||
|
||||
# ==================== 依赖注入函数 ====================
|
||||
|
||||
def get_app_service(
|
||||
db: Annotated[Session, Depends(get_db)]
|
||||
) -> AppService:
|
||||
"""获取工作流服务(依赖注入)"""
|
||||
return AppService(db)
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
"""会话服务"""
|
||||
import uuid
|
||||
from typing import Optional, List, Tuple, Annotated
|
||||
from typing import Annotated
|
||||
from typing import Optional, List, Tuple
|
||||
|
||||
from fastapi import Depends
|
||||
from sqlalchemy.orm import Session
|
||||
from sqlalchemy import select, desc
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.core.error_codes import BizCode
|
||||
from app.core.exceptions import BusinessException
|
||||
from app.core.exceptions import ResourceNotFoundException
|
||||
from app.core.logging_config import get_business_logger
|
||||
from app.db import get_db
|
||||
from app.models import Conversation, Message
|
||||
from app.core.exceptions import ResourceNotFoundException, BusinessException
|
||||
from app.core.error_codes import BizCode
|
||||
from app.core.logging_config import get_business_logger
|
||||
|
||||
logger = get_business_logger()
|
||||
|
||||
|
||||
@@ -11,31 +11,26 @@ from app.core.exceptions import BusinessException, PermissionDeniedException
|
||||
from app.core.logging_config import get_business_logger
|
||||
from app.models.user_model import User
|
||||
|
||||
# 获取业务逻辑专用日志器
|
||||
business_logger = get_business_logger()
|
||||
from app.models.workspace_model import (
|
||||
InviteStatus,
|
||||
Workspace,
|
||||
WorkspaceMember,
|
||||
WorkspaceRole,
|
||||
from app.schemas.workspace_schema import (
|
||||
WorkspaceModelsUpdate,
|
||||
)
|
||||
from sqlalchemy.orm import Session
|
||||
from app.models.workspace_model import Workspace, WorkspaceRole, InviteStatus, WorkspaceMember
|
||||
from app.repositories import workspace_repository
|
||||
from app.repositories.workspace_invite_repository import WorkspaceInviteRepository
|
||||
from app.schemas.workspace_schema import (
|
||||
InviteAcceptRequest,
|
||||
InviteValidateResponse,
|
||||
WorkspaceCreate,
|
||||
WorkspaceUpdate,
|
||||
WorkspaceInviteCreate,
|
||||
WorkspaceInviteResponse,
|
||||
WorkspaceMemberUpdate,
|
||||
WorkspaceModelsUpdate,
|
||||
WorkspaceUpdate,
|
||||
InviteValidateResponse,
|
||||
InviteAcceptRequest,
|
||||
WorkspaceMemberUpdate
|
||||
)
|
||||
from dotenv import load_dotenv
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
# 获取业务逻辑专用日志器
|
||||
business_logger = get_business_logger()
|
||||
from dotenv import load_dotenv
|
||||
load_dotenv()
|
||||
def switch_workspace(
|
||||
db: Session,
|
||||
@@ -329,7 +324,7 @@ def _check_workspace_admin_permission(db: Session, workspace_id: uuid.UUID, user
|
||||
)
|
||||
|
||||
# 使用统一权限服务检查管理权限
|
||||
from app.core.permissions import Action, Resource, Subject, permission_service
|
||||
from app.core.permissions import permission_service, Subject, Resource, Action
|
||||
|
||||
# 获取用户的工作空间成员关系
|
||||
member = workspace_repository.get_member_in_workspace(
|
||||
|
||||
Reference in New Issue
Block a user