frontend: disabled button while processing password reset
This commit is contained in:
46
go-backend/internal/validation/subscription_validation.go
Normal file
46
go-backend/internal/validation/subscription_validation.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package validation
|
||||
|
||||
import (
|
||||
"GoMembership/internal/models"
|
||||
"GoMembership/internal/repositories"
|
||||
|
||||
"github.com/go-playground/validator/v10"
|
||||
)
|
||||
|
||||
// ValidateNewSubscription validates a new subscription model being created
|
||||
func ValidateSubscription(sl validator.StructLevel) {
|
||||
subscription := sl.Current().Interface().(models.SubscriptionModel)
|
||||
|
||||
if subscription.Name == "" {
|
||||
sl.ReportError(subscription.Name, "Name", "name", "required", "")
|
||||
}
|
||||
|
||||
if sl.Parent().Type().Name() == "MembershipData" {
|
||||
// This is modifying a subscription directly
|
||||
if subscription.Details == "" {
|
||||
sl.ReportError(subscription.Details, "Details", "details", "required", "")
|
||||
}
|
||||
|
||||
if subscription.MonthlyFee < 0 {
|
||||
sl.ReportError(subscription.MonthlyFee, "MonthlyFee", "monthly_fee", "gte", "0")
|
||||
}
|
||||
|
||||
if subscription.HourlyRate < 0 {
|
||||
sl.ReportError(subscription.HourlyRate, "HourlyRate", "hourly_rate", "gte", "0")
|
||||
}
|
||||
|
||||
if subscription.IncludedPerYear < 0 {
|
||||
sl.ReportError(subscription.IncludedPerYear, "IncludedPerYear", "included_hours_per_year", "gte", "0")
|
||||
}
|
||||
|
||||
if subscription.IncludedPerMonth < 0 {
|
||||
sl.ReportError(subscription.IncludedPerMonth, "IncludedPerMonth", "included_hours_per_month", "gte", "0")
|
||||
}
|
||||
} else {
|
||||
// This is a nested probably user struct. We are only checking if the model exists
|
||||
existingSubscription, err := repositories.GetSubscriptionByName(&subscription.Name)
|
||||
if err != nil || existingSubscription == nil {
|
||||
sl.ReportError(subscription.Name, "Subscription_Name", "name", "exists", "")
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user