fix: 俱乐部角色ORM过滤+商家订单权限002ab/003aa+legacy兜底+perm-debug
This commit is contained in:
@@ -229,6 +229,45 @@ class ClubKefuMenuAccessView(APIView):
|
||||
return Response({'code': 0, 'msg': 'ok', 'data': payload})
|
||||
|
||||
|
||||
class ClubPermDebugView(APIView):
|
||||
"""GET /jituan/auth/perm-debug — 当前俱乐部权限解析明细。"""
|
||||
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def get(self, request):
|
||||
from backend.utils import verify_kefu_permission
|
||||
from jituan.services.admin_context import get_allowed_club_ids, resolve_admin_effective_club
|
||||
from jituan.services.club_context import resolve_club_id_from_request, resolve_club_scope
|
||||
from jituan.services.club_rbac import describe_roles_in_scope
|
||||
|
||||
user = request.user
|
||||
if not is_kefu_backend_account(user):
|
||||
return Response({'code': 403, 'msg': '非后台账号'}, status=403)
|
||||
|
||||
requested_club = resolve_club_id_from_request(request)
|
||||
requested_scope = resolve_club_scope(request)
|
||||
eff_club, eff_scope, _ = resolve_admin_effective_club(user, request)
|
||||
allowed = list(get_allowed_club_ids(user))
|
||||
_, permissions = verify_kefu_permission(request, None)
|
||||
codes = list(permissions) if isinstance(permissions, list) else ['*']
|
||||
|
||||
return Response({
|
||||
'code': 0,
|
||||
'msg': 'ok',
|
||||
'data': {
|
||||
'yonghuid': user.UserUID,
|
||||
'phone': user.Phone,
|
||||
'requested_club_id': requested_club,
|
||||
'requested_scope': requested_scope,
|
||||
'effective_club_id': eff_club,
|
||||
'effective_scope': eff_scope,
|
||||
'allowed_club_ids': allowed,
|
||||
'permission_codes': codes,
|
||||
'roles_in_scope': describe_roles_in_scope(user, eff_club, eff_scope, allowed),
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
class ClubAdminAssignmentListView(APIView):
|
||||
"""POST /jituan/houtai/admin-assignments — 数据范围任职(非 gvsdsdk 功能权限)。"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user