✨ Feat: [#88] get요청 아닐 때, is_published=False 확인
This commit is contained in:
@@ -3,8 +3,26 @@ from rest_framework.permissions import BasePermission
|
|||||||
from projects.models import Project, ProjectTeamList
|
from projects.models import Project, ProjectTeamList
|
||||||
from portfolios.models import Portfolio
|
from portfolios.models import Portfolio
|
||||||
|
|
||||||
|
from .services import NocodetoolObjectMapService
|
||||||
|
|
||||||
UNSAFE_REQUEST = ["POST", "PUT", "PATCH", "DELETE"]
|
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):
|
class IsOwnerOrMemberInCreateAndUpdateAndDelete(BasePermission):
|
||||||
def has_permission(self, request, view):
|
def has_permission(self, request, view):
|
||||||
if request.method not in UNSAFE_REQUEST:
|
if request.method not in UNSAFE_REQUEST:
|
||||||
|
|||||||
Reference in New Issue
Block a user