mirror of
https://github.com/grafana/grafana.git
synced 2025-02-14 09:33:34 -06:00
* add `IsPathValidationError` util to fs api * refactor storage.Upload method * remove unused struct * extract `RootUpload` constant * move file validation outside of the service * Make UploadErrorToStatusCode exported * validation/sanitization * refactor pathValidationError check * refactor, rename sanitize to transform * add a todo * refactor * transform -> sanitize * lint fix * #50608: fix jpg/jpeg Co-authored-by: Tania B <yalyna.ts@gmail.com> Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
29 lines
765 B
Go
29 lines
765 B
Go
package store
|
|
|
|
import (
|
|
"context"
|
|
"path/filepath"
|
|
|
|
"github.com/grafana/grafana/pkg/infra/filestorage"
|
|
"github.com/grafana/grafana/pkg/models"
|
|
)
|
|
|
|
func (s *standardStorageService) sanitizeUploadRequest(ctx context.Context, user *models.SignedInUser, req *UploadRequest, storagePath string) (*filestorage.UpsertFileCommand, error) {
|
|
if req.EntityType == EntityTypeImage {
|
|
ext := filepath.Ext(req.Path)
|
|
//nolint: staticcheck
|
|
if ext == ".svg" {
|
|
// TODO: sanitize svg
|
|
}
|
|
}
|
|
|
|
return &filestorage.UpsertFileCommand{
|
|
Path: storagePath,
|
|
Contents: req.Contents,
|
|
MimeType: req.MimeType,
|
|
CacheControl: req.CacheControl,
|
|
ContentDisposition: req.ContentDisposition,
|
|
Properties: req.Properties,
|
|
}, nil
|
|
}
|