tariffs/internal/tools/validate.go

33 lines
744 B
Go
Raw Normal View History

2024-05-29 17:27:25 +00:00
package tools
2024-05-29 17:06:28 +00:00
import (
2024-07-26 11:38:54 +00:00
"errors"
2025-01-01 22:20:08 +00:00
"gitea.pena/PenaSide/tariffs/internal/models"
2024-05-29 17:06:28 +00:00
)
2024-07-26 11:44:37 +00:00
func ValidatePrivilege(req models.CreateUpdateReq) bool {
2024-05-29 17:06:28 +00:00
if req.Name == "" || req.PrivilegeId == "" || req.ServiceKey == "" || req.Type == "" || req.Value == "" || req.Description == "" {
return false
}
return true
}
2024-07-26 11:38:54 +00:00
func ValidateTariff(tariff models.Tariff) error {
if tariff.Name == "" {
return errors.New("name is required")
}
if tariff.Price < 0 {
return errors.New("invalid price value")
}
if len(tariff.Privileges) == 0 {
return errors.New("privileges are required")
}
for _, privilege := range tariff.Privileges {
if privilege.PrivilegeID == "" {
return errors.New("privilegeID is required in privileges")
}
}
return nil
}