@@ -275,37 +275,41 @@ def get_received_share(
275275 return res .share
276276
277277 def update_received_share (
278- self , auth_token : tuple , received_share : cs3scr . ReceivedShare , state : str = "SHARE_STATE_ACCEPTED"
278+ self , auth_token : tuple , opaque_id : str , state : str = "SHARE_STATE_ACCEPTED"
279279 ) -> cs3scr .ReceivedShare :
280280 """
281281 Update the state of a received share (SHARE_STATE_ACCEPTED, SHARE_STATE_ACCEPTED, SHARE_STATE_REJECTED).
282282
283283 :param auth_token: tuple in the form ('x-access-token', <token>) (see auth.get_token/auth.check_token)
284- :param recieved_share: ReceivedShare object .
284+ :param opaque_id: Opaque share id. (REQUIRED) .
285285 :param state: Share state to update to, defaults to SHARE_STATE_ACCEPTED, (REQUIRED).
286286 :return: Updated ReceivedShare object.
287287 :raises: NotFoundException (Share not found)
288288 :raises: AuthenticationException (Operation not permitted)
289289 :raises: UnknownException (Unknown error)
290290 """
291- resource = Resource (
292- opaque_id = received_share .share .resource_id .opaque_id ,
293- storage_id = received_share .share .resource_id .storage_id ,
294- )
295291 req = cs3scapi .UpdateReceivedShareRequest (
296292 share = cs3scr .ReceivedShare (
297- share = received_share . share ,
298- state = cs3scr .ShareState . Value ( state ),
299- mount_point = resource . ref ,
293+ share = cs3scr . Share (
294+ id = cs3scr .ShareId ( opaque_id = opaque_id ),
295+ ) ,
300296 ),
301297 update_mask = field_masks .FieldMask (paths = ["state" ]),
302298 )
299+
300+ if state == "SHARE_STATE_ACCEPTED" :
301+ req .share .state = cs3scr .SHARE_STATE_ACCEPTED
302+ elif state == "SHARE_STATE_PENDING" :
303+ req .share .state = cs3scr .SHARE_STATE_PENDING
304+ elif state == "SHARE_STATE_REJECTED" :
305+ req .share .state = cs3scr .SHARE_STATE_REJECTED
306+
303307 res = self ._gateway .UpdateReceivedShare (request = req , metadata = [auth_token ])
304308 self ._status_code_handler .handle_errors (
305- res .status , "update received share" , f'opaque_id="{ received_share . share . id . opaque_id } "'
309+ res .status , "update received share" , f'opaque_id="{ opaque_id } "'
306310 )
307311 self ._log .debug (
308- f'msg="Invoked UpdateReceivedShare" opaque_id="{ received_share . share . id . opaque_id } " new_state="{ state } " '
312+ f'msg="Invoked UpdateReceivedShare" opaque_id="{ opaque_id } " new_state="{ state } " '
309313 f'trace="{ res .status .trace } "'
310314 )
311315 return res .share
0 commit comments