(params, rq, endpoint, record_rq_by_uid, silent=True)
| 1013 | |
| 1014 | |
| 1015 | def 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 | |
| 1055 | def update_record_v3(params, rec, **kwargs): # type: (KeeperParams, Record, ...) -> Optional[bool] |
no test coverage detected