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
     @hapic.with_api_doc(tags=[USER_ENDPOINTS_TAG])
90
     @hapic.with_api_doc(tags=[USER_ENDPOINTS_TAG])
91
     @require_same_user_or_profile(Group.TIM_ADMIN)
91
     @require_same_user_or_profile(Group.TIM_ADMIN)
92
     @hapic.input_path(UserWorkspaceAndContentIdPathSchema())
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
     @hapic.output_body(NoContentSchema(), default_http_code=HTTPStatus.NO_CONTENT)  # nopep8
109
     @hapic.output_body(NoContentSchema(), default_http_code=HTTPStatus.NO_CONTENT)  # nopep8
94
     def set_content_as_read(self, context, request: TracimRequest, hapic_data=None):  # nopep8
110
     def set_content_as_read(self, context, request: TracimRequest, hapic_data=None):  # nopep8
95
         """
111
         """
148
         configurator.add_route('user_workspace', '/users/{user_id}/workspaces', request_method='GET')  # nopep8
164
         configurator.add_route('user_workspace', '/users/{user_id}/workspaces', request_method='GET')  # nopep8
149
         configurator.add_view(self.user_workspace, route_name='user_workspace')
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
         # last active content for user
170
         # last active content for user
152
         configurator.add_route('last_active_content', '/users/{user_id}/contents/actives', request_method='GET')  # nopep8
171
         configurator.add_route('last_active_content', '/users/{user_id}/contents/actives', request_method='GET')  # nopep8
153
         configurator.add_view(self.last_active_content, route_name='last_active_content')  # nopep8
172
         configurator.add_view(self.last_active_content, route_name='last_active_content')  # nopep8
160
 
179
 
161
         # set workspace as read
180
         # set workspace as read
162
         configurator.add_route('read_workspace', '/users/{user_id}/workspaces/{workspace_id}/read', request_method='PUT')  # nopep8
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