ultisuite-backend/internal/api/drive/validate.go

53 lines
1.3 KiB
Go

package drive
import (
"strings"
"github.com/ultisuite/ulti-backend/internal/api/apivalidate"
)
const maxJSONRequestBody = 32 << 10
type moveRequest struct {
Source string `json:"source"`
Destination string `json:"destination"`
}
func validateMoveRequest(req *moveRequest) *apivalidate.ValidationError {
var details []apivalidate.FieldDetail
if strings.TrimSpace(req.Source) == "" {
details = append(details, apivalidate.FieldDetail{Field: "source", Message: "required"})
}
if strings.TrimSpace(req.Destination) == "" {
details = append(details, apivalidate.FieldDetail{Field: "destination", Message: "required"})
}
if len(details) == 0 {
return nil
}
return apivalidate.NewValidationError(details...)
}
type createShareRequest struct {
Path string `json:"path"`
ShareType int `json:"share_type"`
Permissions int `json:"permissions"`
}
func validateCreateShareRequest(req *createShareRequest) *apivalidate.ValidationError {
if strings.TrimSpace(req.Path) == "" {
return apivalidate.NewValidationError(apivalidate.FieldDetail{
Field: "path", Message: "required",
})
}
return nil
}
func validatePath(path string) *apivalidate.ValidationError {
if strings.TrimSpace(path) == "" {
return apivalidate.NewValidationError(apivalidate.FieldDetail{
Field: "path", Message: "required",
})
}
return nil
}