summaryrefslogtreecommitdiff
path: root/internal/validate/structvalidation.go
diff options
context:
space:
mode:
authorLibravatar Daenney <daenney@users.noreply.github.com>2023-08-06 12:22:40 +0200
committerLibravatar GitHub <noreply@github.com>2023-08-06 12:22:40 +0200
commitc1375ca5c1d5a8a645151cedfced5a336f6b7467 (patch)
treec3cc68d992811de674458e646af16f4659926ec7 /internal/validate/structvalidation.go
parent[bugfix] update cache library with nil ptr fix (#2070) (diff)
downloadgotosocial-c1375ca5c1d5a8a645151cedfced5a336f6b7467.tar.xz
[chore] Remove go-playground/validator (#2069)
* [chore] Remove go-playground/validator It turns out we're not actually using the validator code. This is a remnant from when we intended to use it, but the presence of it and its struct tags creates the illusion we're validating a lot of things we're not. It resulted in some confusion when we were trying to figure out language valdiation. Remove all this code, so that only the validation functions from the validate package we actually use remain. I'm not touching the struct tags in the migrations in order to avoid things potentially thinking migrations need to be re-run. * [chore] Bring back a struct tag on api The validate on internal/api is Gin doing form validation, not the validator from go-playground/validator.
Diffstat (limited to 'internal/validate/structvalidation.go')
-rw-r--r--internal/validate/structvalidation.go67
1 files changed, 0 insertions, 67 deletions
diff --git a/internal/validate/structvalidation.go b/internal/validate/structvalidation.go
deleted file mode 100644
index 573e79fd2..000000000
--- a/internal/validate/structvalidation.go
+++ /dev/null
@@ -1,67 +0,0 @@
-// GoToSocial
-// Copyright (C) GoToSocial Authors admin@gotosocial.org
-// SPDX-License-Identifier: AGPL-3.0-or-later
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-package validate
-
-import (
- "reflect"
-
- "github.com/go-playground/validator/v10"
- "github.com/superseriousbusiness/gotosocial/internal/regexes"
-)
-
-var v *validator.Validate
-
-func ulidValidator(fl validator.FieldLevel) bool {
- field := fl.Field()
-
- switch field.Kind() {
- case reflect.String:
- return regexes.ULID.MatchString(field.String())
- default:
- return false
- }
-}
-
-func init() {
- v = validator.New()
- if err := v.RegisterValidation("ulid", ulidValidator); err != nil {
- panic(err)
- }
-}
-
-// Struct validates the passed struct, returning validator.ValidationErrors if invalid, or nil if OK.
-func Struct(s interface{}) error {
- return processValidationError(v.Struct(s))
-}
-
-func processValidationError(err error) error {
- if err == nil {
- return nil
- }
-
- if ive, ok := err.(*validator.InvalidValidationError); ok {
- panic(ive)
- }
-
- valErr, ok := err.(validator.ValidationErrors)
- if !ok {
- panic("*validator.InvalidValidationError could not be coerced to validator.ValidationErrors")
- }
-
- return valErr
-}