1010from djoser import utils , signals
1111from djoser .compat import get_user_email , get_user_email_field_name
1212from djoser .conf import settings
13- from djoser . permissions import CurrentUserOrAdmin
13+
1414
1515User = get_user_model ()
1616
@@ -66,7 +66,7 @@ class UserCreateView(generics.CreateAPIView):
6666 Use this endpoint to register new user.
6767 """
6868 serializer_class = settings .SERIALIZERS .user_create
69- permission_classes = [ permissions . AllowAny ]
69+ permission_classes = settings . PERMISSIONS . user_create
7070
7171 def perform_create (self , serializer ):
7272 user = serializer .save ()
@@ -87,7 +87,7 @@ class UserDeleteView(generics.CreateAPIView):
8787 Use this endpoint to remove actually authenticated user
8888 """
8989 serializer_class = settings .SERIALIZERS .user_delete
90- permission_classes = [ permissions . IsAuthenticated ]
90+ permission_classes = settings . PERMISSIONS . user_delete
9191
9292 def get_object (self ):
9393 return self .request .user
@@ -108,7 +108,7 @@ class TokenCreateView(utils.ActionViewMixin, generics.GenericAPIView):
108108 Use this endpoint to obtain user authentication token.
109109 """
110110 serializer_class = settings .SERIALIZERS .token_create
111- permission_classes = [ permissions . AllowAny ]
111+ permission_classes = settings . PERMISSIONS . token_create
112112
113113 def _action (self , serializer ):
114114 token = utils .login_user (self .request , serializer .user )
@@ -123,7 +123,7 @@ class TokenDestroyView(views.APIView):
123123 """
124124 Use this endpoint to logout user (remove user authentication token).
125125 """
126- permission_classes = [ permissions . IsAuthenticated ]
126+ permission_classes = settings . PERMISSIONS . token_destroy
127127
128128 def post (self , request ):
129129 utils .logout_user (request )
@@ -135,7 +135,7 @@ class PasswordResetView(utils.ActionViewMixin, generics.GenericAPIView):
135135 Use this endpoint to send email to user with password reset link.
136136 """
137137 serializer_class = settings .SERIALIZERS .password_reset
138- permission_classes = [ permissions . AllowAny ]
138+ permission_classes = settings . PERMISSIONS . password_reset
139139
140140 _users = None
141141
@@ -165,7 +165,7 @@ class SetPasswordView(utils.ActionViewMixin, generics.GenericAPIView):
165165 """
166166 Use this endpoint to change user password.
167167 """
168- permission_classes = [ permissions . IsAuthenticated ]
168+ permission_classes = settings . PERMISSIONS . set_password
169169
170170 def get_serializer_class (self ):
171171 if settings .SET_PASSWORD_RETYPE :
@@ -186,7 +186,7 @@ class PasswordResetConfirmView(utils.ActionViewMixin, generics.GenericAPIView):
186186 """
187187 Use this endpoint to finish reset password process.
188188 """
189- permission_classes = [ permissions . AllowAny ]
189+ permission_classes = settings . PERMISSIONS . password_reset_confirm
190190 token_generator = default_token_generator
191191
192192 def get_serializer_class (self ):
@@ -207,7 +207,7 @@ class ActivationView(utils.ActionViewMixin, generics.GenericAPIView):
207207 Use this endpoint to activate user account.
208208 """
209209 serializer_class = settings .SERIALIZERS .activation
210- permission_classes = [ permissions . AllowAny ]
210+ permission_classes = settings . PERMISSIONS . activation
211211 token_generator = default_token_generator
212212
213213 def _action (self , serializer ):
@@ -231,7 +231,7 @@ class SetUsernameView(utils.ActionViewMixin, generics.GenericAPIView):
231231 """
232232 Use this endpoint to change user username.
233233 """
234- permission_classes = [ permissions . IsAuthenticated ]
234+ permission_classes = settings . PERMISSIONS . set_username
235235
236236 def get_serializer_class (self ):
237237 if settings .SET_USERNAME_RETYPE :
@@ -259,7 +259,7 @@ class UserView(generics.RetrieveUpdateAPIView):
259259 """
260260 queryset = User .objects .all ()
261261 serializer_class = settings .SERIALIZERS .user
262- permission_classes = [ permissions . IsAuthenticated ]
262+ permission_classes = settings . PERMISSIONS . user
263263
264264 def get_object (self , * args , ** kwargs ):
265265 return self .request .user
@@ -276,14 +276,16 @@ def perform_update(self, serializer):
276276class UserViewSet (UserCreateView , viewsets .ModelViewSet ):
277277 serializer_class = settings .SERIALIZERS .user
278278 queryset = User .objects .all ()
279- permission_classes = [ CurrentUserOrAdmin ]
279+ permission_classes = settings . PERMISSIONS . user
280280 token_generator = default_token_generator
281281
282282 def get_permissions (self ):
283- if self .action in ['create' , 'confirm' ]:
284- self .permission_classes = [permissions .AllowAny ]
283+ if self .action == 'create' :
284+ self .permission_classes = settings .PERMISSIONS .user_create
285+ elif self .action == 'confirm' :
286+ self .permission_classes = settings .PERMISSIONS .activation
285287 elif self .action == 'list' :
286- self .permission_classes = [ permissions . IsAdminUser ]
288+ self .permission_classes = settings . PERMISSIONS . user_list
287289 return super (UserViewSet , self ).get_permissions ()
288290
289291 def get_serializer_class (self ):
0 commit comments