mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	one-way imap password setting via API, ObfuscatedPasswordField
This commit is contained in:
		| @@ -692,7 +692,21 @@ class AcknowledgeTasksViewSerializer(serializers.Serializer): | ||||
|         return tasks | ||||
|  | ||||
|  | ||||
| class ObfuscatedPasswordField(serializers.Field): | ||||
|     """ | ||||
|     Sends *** string instead of password in the clear | ||||
|     """ | ||||
|  | ||||
|     def to_representation(self, value): | ||||
|         return re.sub(".", "*", value) | ||||
|  | ||||
|     def to_internal_value(self, data): | ||||
|         return data | ||||
|  | ||||
|  | ||||
| class MailAccountSerializer(serializers.ModelSerializer): | ||||
|     password = ObfuscatedPasswordField() | ||||
|  | ||||
|     class Meta: | ||||
|         model = MailAccount | ||||
|         depth = 1 | ||||
| @@ -708,6 +722,9 @@ class MailAccountSerializer(serializers.ModelSerializer): | ||||
|         ] | ||||
|  | ||||
|     def update(self, instance, validated_data): | ||||
|         if "password" in validated_data: | ||||
|             if len(validated_data.get("password").replace("*", "")) == 0: | ||||
|                 validated_data.pop("password") | ||||
|         super().update(instance, validated_data) | ||||
|         return instance | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Michael Shamoon
					Michael Shamoon