- Restructure handlers into file_commands/file_queries/file_handlers - Add gRPC auth client, JWT middleware, rate limiting, request ID - Add common utilities: logger, sanitizer, s3_errors - Add unit tests for config, mediator, auth, request_id, sanitize - Add proto definitions and generated code - Remove old web UI pages - Add .dockerignore and .env.example
33 lines
803 B
Go
33 lines
803 B
Go
package validators
|
|
|
|
import (
|
|
"rag/file-system/internal/api/requests"
|
|
"rag/file-system/internal/common"
|
|
)
|
|
|
|
type CreateBucketValidator struct{}
|
|
|
|
func NewCreateBucketValidator() *CreateBucketValidator {
|
|
return &CreateBucketValidator{}
|
|
}
|
|
|
|
func (v *CreateBucketValidator) Validate(req *requests.CreateBucketRequest) error {
|
|
if req.BucketName == "" {
|
|
return common.NewBusinessException("Bucket name cannot be empty")
|
|
}
|
|
if err := common.SanitizeBucketName(req.BucketName); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (v *CreateBucketValidator) ValidateDelete(req *requests.DeleteBucketRequest) error {
|
|
if req.BucketName == "" {
|
|
return common.NewBusinessException("Bucket name cannot be empty")
|
|
}
|
|
if err := common.SanitizeBucketName(req.BucketName); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|