MCPcopy Create free account
hub / github.com/Keeper-Security/Commander / get_record_v3_response

Function get_record_v3_response

keepercommander/api.py:1015–1052  ·  view source on GitHub ↗
(params, rq, endpoint, record_rq_by_uid, silent=True)

Source from the content-addressed store, hash-verified

1013
1014
1015def get_record_v3_response(params, rq, endpoint, record_rq_by_uid, silent=True):
1016 # type: (KeeperParams, Any, str, dict[str, dict], bool) -> Optional[bool]
1017 rs = communicate_rest(params, rq, endpoint)
1018 records_modify_rs = record_pb2.RecordsModifyResponse()
1019 records_modify_rs.ParseFromString(rs)
1020
1021 for r in records_modify_rs.records:
1022 ruid = loginv3.CommonHelperMethods.bytes_to_url_safe_str(r.record_uid)
1023 record_rq = record_rq_by_uid[ruid]
1024 success = (r.status == record_pb2.RecordModifyResult.DESCRIPTOR.values_by_name['RS_SUCCESS'].number)
1025 status = record_pb2.RecordModifyResult.DESCRIPTOR.values_by_number[r.status].name
1026
1027 if not success:
1028 logging.error(bcolors.FAIL + 'Error: Record update failed with status - %s' + bcolors.ENDC, status)
1029 return False
1030
1031 new_revision = 0
1032 if success:
1033 new_revision = records_modify_rs.revision
1034
1035 if new_revision == 0:
1036 logging.error('Error: Revision not updated')
1037 return False
1038
1039 if new_revision == record_rq['revision']:
1040 logging.error('Error: Revision did not change')
1041 return False
1042
1043 if not silent:
1044 logging.info(
1045 'Update record successful for record_uid=%s, revision=%d, new_revision=%s',
1046 ruid, record_rq['revision'], new_revision
1047 )
1048
1049 record_rq['revision'] = new_revision
1050
1051 params.sync_data = True
1052 return True
1053
1054
1055def update_record_v3(params, rec, **kwargs): # type: (KeeperParams, Record, ...) -> Optional[bool]

Callers 2

update_record_v3Function · 0.85
update_records_v3Function · 0.85

Calls 4

communicate_restFunction · 0.85
bytes_to_url_safe_strMethod · 0.80
errorMethod · 0.45
infoMethod · 0.45

Tested by

no test coverage detected