Skip to content

Commit 5c141cc

Browse files
committed
Merge pull request #148 from eduNEXT/and/decorate_apis
And/decorate APIs
2 parents 3f7477b + ae6ddc7 commit 5c141cc

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

eox_core/api/support/v1/views.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from eox_core.edxapp_wrapper.bearer_authentication import BearerAuthentication
2222
from eox_core.edxapp_wrapper.comments_service_users import replace_username_cs_user
2323
from eox_core.edxapp_wrapper.users import delete_edxapp_user, get_edxapp_user
24+
from eox_core.integrations.audit_wrapper import audit_api_wrapper
2425

2526
LOG = logging.getLogger(__name__)
2627

@@ -34,6 +35,7 @@ class EdxappUser(UserQueryMixin, APIView):
3435
permission_classes = (EoxCoreSupportAPIPermission,)
3536
renderer_classes = (JSONRenderer, BrowsableAPIRenderer)
3637

38+
@audit_api_wrapper(action='Remove edxapp User.')
3739
def delete(self, request, *args, **kwargs): # pylint: disable=too-many-locals
3840
"""
3941
Allows to safely remove an edxapp User.
@@ -76,6 +78,7 @@ class EdxappReplaceUsername(UserQueryMixin, APIView):
7678
permission_classes = (EoxCoreSupportAPIPermission,)
7779
renderer_classes = (JSONRenderer, BrowsableAPIRenderer)
7880

81+
@audit_api_wrapper(action="Update an Edxapp user's Username.")
7982
def patch(self, request, *args, **kwargs):
8083
"""
8184
Allows to safely update an Edxapp user's Username along with the

eox_core/api/task_dispatcher/v1/views.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from rest_framework.views import APIView
1414

1515
from eox_core.edxapp_wrapper.bearer_authentication import BearerAuthentication
16+
from eox_core.integrations.audit_wrapper import audit_api_wrapper
1617

1718
LOG = logging.getLogger(__name__)
1819

@@ -52,6 +53,7 @@ def get(self, request):
5253

5354
return Response({"result": str(result), "status": str(async_result.status)})
5455

56+
@audit_api_wrapper(action='exo-core Task dispatcher.')
5557
def post(self, request):
5658
"""
5759
Dispatches a task to a celery worker. The task must be registered in the worker

eox_core/api/v1/views.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
update_pre_enrollment,
4141
)
4242
from eox_core.edxapp_wrapper.users import create_edxapp_user, get_edxapp_user
43+
from eox_core.integrations.audit_wrapper import audit_api_wrapper
4344

4445
LOG = logging.getLogger(__name__)
4546

@@ -112,6 +113,11 @@ class EdxappUser(UserQueryMixin, APIView):
112113
permission_classes = (EoxCoreAPIPermission,)
113114
renderer_classes = (JSONRenderer, BrowsableAPIRenderer)
114115

116+
@audit_api_wrapper(action='Create edxapp user', data_filter=[
117+
'email',
118+
'username',
119+
'fullname',
120+
])
115121
def post(self, request, *args, **kwargs):
116122
"""
117123
Creates the users on edxapp
@@ -160,6 +166,10 @@ class EdxappUserUpdater(UserQueryMixin, APIView):
160166
permission_classes = (EoxCoreAPIPermission,)
161167
renderer_classes = (JSONRenderer, BrowsableAPIRenderer)
162168

169+
@audit_api_wrapper(action='Partially update a user from edxapp', data_filter=[
170+
'email',
171+
'is_active',
172+
])
163173
def patch(self, request, *args, **kwargs):
164174
"""
165175
Partially update a user from edxapp. Not all the fields can be updated, just the ones thought as `safe`.
@@ -217,6 +227,7 @@ class EdxappEnrollment(UserQueryMixin, APIView):
217227
400: "Bad request, invalid course_id or missing either email or username.",
218228
},
219229
)
230+
@audit_api_wrapper(action='Create single or bulk enrollments')
220231
def post(self, request, *args, **kwargs):
221232
"""
222233
Handle creation of single or bulk enrollments
@@ -308,6 +319,7 @@ def post(self, request, *args, **kwargs):
308319
400: "Bad request, invalid course_id or missing either email or username.",
309320
},
310321
)
322+
@audit_api_wrapper(action='Update enrollments on edxapp')
311323
def put(self, request, *args, **kwargs):
312324
"""
313325
Update enrollments on edxapp
@@ -452,6 +464,7 @@ def get(self, request, *args, **kwargs):
452464
404: "User or course not found",
453465
},
454466
)
467+
@audit_api_wrapper(action='Delete enrollment on edxapp.')
455468
def delete(self, request, *args, **kwargs):
456469
"""
457470
Delete enrollment on edxapp
@@ -576,6 +589,7 @@ class EdxappPreEnrollment(APIView):
576589
permission_classes = (EoxCoreAPIPermission,)
577590
renderer_classes = (JSONRenderer, BrowsableAPIRenderer)
578591

592+
@audit_api_wrapper(action='Create whitelistings on edxapp.')
579593
def post(self, request, *args, **kwargs):
580594
"""
581595
Create whitelistings on edxapp
@@ -590,6 +604,7 @@ def post(self, request, *args, **kwargs):
590604
).data
591605
return Response(response_data)
592606

607+
@audit_api_wrapper(action='Update whitelistings on edxapp.')
593608
def put(self, request, *args, **kwargs):
594609
"""
595610
Update whitelistings on edxapp
@@ -615,6 +630,7 @@ def put(self, request, *args, **kwargs):
615630
response = EdxappCoursePreEnrollmentSerializer(updated_pre_enrollment).data
616631
return Response(response)
617632

633+
@audit_api_wrapper(action='Delete whitelistings on edxapp.')
618634
def delete(self, request, *args, **kwargs):
619635
"""
620636
Delete whitelistings on edxapp

0 commit comments

Comments
 (0)