(params, record, new_password, plugin)
| 127 | |
| 128 | |
| 129 | def update_password(params, record, new_password, plugin): |
| 130 | if hasattr(plugin, 'update_password'): |
| 131 | plugin.update_password(record, new_password) |
| 132 | elif isinstance(record, PasswordRecord): |
| 133 | record.password = new_password |
| 134 | elif isinstance(record, TypedRecord): |
| 135 | password_field = record.get_typed_field('password') |
| 136 | if password_field is None: |
| 137 | logging.warning('Creating new password for record because existing password is not found.') |
| 138 | record.custom.append(TypedField({'type': 'password', 'value': [new_password]})) |
| 139 | else: |
| 140 | password_field.value = [new_password] |
| 141 | else: |
| 142 | logging.error(f'Record {record.title} is an invalid type of record for rotation update') |
| 143 | return False |
| 144 | |
| 145 | try: |
| 146 | record_management.update_record(params, record) |
| 147 | except Exception as e: |
| 148 | logging.error(e) |
| 149 | return False |
| 150 | else: |
| 151 | return True |
| 152 | |
| 153 | |
| 154 | def get_new_password(plugin, rules=None, length=None): |
no test coverage detected