|
@@ -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
|