Browse Source

add endpoint to get user content

Guénaël Muller 6 years ago
parent
commit
1120c9f995
1 changed files with 20 additions and 1 deletions
  1. 20 1
      tracim/views/core_api/user_controller.py

+ 20 - 1
tracim/views/core_api/user_controller.py View File

@@ -90,6 +90,22 @@ class UserController(Controller):
90 90
     @hapic.with_api_doc(tags=[USER_ENDPOINTS_TAG])
91 91
     @require_same_user_or_profile(Group.TIM_ADMIN)
92 92
     @hapic.input_path(UserWorkspaceAndContentIdPathSchema())
93
+    @hapic.output_body(UserContentDigestSchema())  # nopep8
94
+    def user_content(self, context, request: TracimRequest, hapic_data=None):  # nopep8
95
+        """
96
+        set user_read status of content to unread
97
+        """
98
+        app_config = request.registry.settings['CFG']
99
+        api = ContentApi(
100
+            current_user=request.candidate_user,
101
+            session=request.dbsession,
102
+            config=app_config,
103
+        )
104
+        return api.get_content_in_context(request.current_content)
105
+
106
+    @hapic.with_api_doc(tags=[USER_ENDPOINTS_TAG])
107
+    @require_same_user_or_profile(Group.TIM_ADMIN)
108
+    @hapic.input_path(UserWorkspaceAndContentIdPathSchema())
93 109
     @hapic.output_body(NoContentSchema(), default_http_code=HTTPStatus.NO_CONTENT)  # nopep8
94 110
     def set_content_as_read(self, context, request: TracimRequest, hapic_data=None):  # nopep8
95 111
         """
@@ -148,6 +164,9 @@ class UserController(Controller):
148 164
         configurator.add_route('user_workspace', '/users/{user_id}/workspaces', request_method='GET')  # nopep8
149 165
         configurator.add_view(self.user_workspace, route_name='user_workspace')
150 166
 
167
+        # user content
168
+        configurator.add_route('user_content', '/users/{user_id}/workspaces/{workspace_id}/contents/{content_id}', request_method='GET')  # nopep8
169
+        configurator.add_view(self.user_content, route_name='user_content')
151 170
         # last active content for user
152 171
         configurator.add_route('last_active_content', '/users/{user_id}/contents/actives', request_method='GET')  # nopep8
153 172
         configurator.add_view(self.last_active_content, route_name='last_active_content')  # nopep8
@@ -160,4 +179,4 @@ class UserController(Controller):
160 179
 
161 180
         # set workspace as read
162 181
         configurator.add_route('read_workspace', '/users/{user_id}/workspaces/{workspace_id}/read', request_method='PUT')  # nopep8
163
-        configurator.add_view(self.set_workspace_as_read, route_name='read_workspace')  # nopep8
182
+        configurator.add_view(self.set_workspace_as_read, route_name='read_workspace')  # nopep8