Feat: [#88] get요청 아닐 때, is_published=False 확인

This commit is contained in:
sm4640
2025-08-21 00:30:21 +09:00
parent 50424b7e22
commit b5476d9cb0

View File

@@ -3,8 +3,26 @@ from rest_framework.permissions import BasePermission
from projects.models import Project, ProjectTeamList
from portfolios.models import Portfolio
from .services import NocodetoolObjectMapService
UNSAFE_REQUEST = ["POST", "PUT", "PATCH", "DELETE"]
class IsNotPublished(BasePermission):
def has_permission(self, request, view):
if request.method not in UNSAFE_REQUEST:
return True
related_type = request.query_params.get("type")
related_id = request.query_params.get("id")
if not related_type or not related_id:
return False
if obj := NocodetoolObjectMapService.mapping_model_instance(related_type, related_id):
if not obj.is_published:
return True
return False
class IsOwnerOrMemberInCreateAndUpdateAndDelete(BasePermission):
def has_permission(self, request, view):
if request.method not in UNSAFE_REQUEST: