fix: OPTIC-1785: Validate S3 bucket name on storage connection form #7183
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a mixin class to handle common functionality for S3 storage serializers and refactors existing serializers to use this mixin. The most important changes include the creation of the
S3StorageSerializerMixin
, the addition of a bucket name validation method, and the refactoring ofS3ImportStorageSerializer
andS3ExportStorageSerializer
to use the new mixin.Refactoring and code reuse:
S3StorageSerializerMixin
to encapsulate common functionality for S3 storage serializers, including secure field handling and bucket name validation.S3ImportStorageSerializer
to inherit fromS3StorageSerializerMixin
andImportStorageSerializer
, consolidating common code and adding thepresign
field.S3ExportStorageSerializer
to inherit fromS3StorageSerializerMixin
andExportStorageSerializer
, consolidating common code.Validation improvements:
validate_bucket
method toS3StorageSerializerMixin
to validate the bucket name usingvalidate_bucket_name
frombotocore.handlers
.Code simplification:
S3ImportStorageSerializer.secure_fields
withself.secure_fields
to simplify code and improve maintainability.Screen.Recording.2025-03-07.at.14.34.33.mov