add: contactController,tests & refactored tests
This commit is contained in:
@@ -1,11 +1,15 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"slices"
|
||||
"time"
|
||||
|
||||
"github.com/go-playground/validator/v10"
|
||||
|
||||
"GoMembership/internal/models"
|
||||
"GoMembership/internal/repositories"
|
||||
"GoMembership/pkg/errors"
|
||||
"slices"
|
||||
"time"
|
||||
)
|
||||
|
||||
type MembershipServiceInterface interface {
|
||||
@@ -14,6 +18,7 @@ type MembershipServiceInterface interface {
|
||||
RegisterSubscription(subscription *models.SubscriptionModel) (int64, error)
|
||||
GetMembershipModelNames() ([]string, error)
|
||||
GetModelByName(modelname *string) (*models.SubscriptionModel, error)
|
||||
GetSubscriptions(where map[string]interface{}) (*[]models.SubscriptionModel, error)
|
||||
}
|
||||
|
||||
type MembershipService struct {
|
||||
@@ -32,6 +37,9 @@ func (service *MembershipService) FindMembershipByUserID(userID int64) (*models.
|
||||
|
||||
// Membership_Subscriptions
|
||||
func (service *MembershipService) RegisterSubscription(subscription *models.SubscriptionModel) (int64, error) {
|
||||
if err := validateSubscriptionData(subscription); err != nil {
|
||||
return http.StatusNotAcceptable, err
|
||||
}
|
||||
return service.SubscriptionRepo.CreateSubscriptionModel(subscription)
|
||||
}
|
||||
|
||||
@@ -50,3 +58,15 @@ func (service *MembershipService) GetModelByName(modelname *string) (*models.Sub
|
||||
}
|
||||
return service.SubscriptionRepo.GetModelByName(modelname)
|
||||
}
|
||||
|
||||
func (service *MembershipService) GetSubscriptions(where map[string]interface{}) (*[]models.SubscriptionModel, error) {
|
||||
return service.SubscriptionRepo.GetSubscriptions(where)
|
||||
}
|
||||
|
||||
func validateSubscriptionData(subscription *models.SubscriptionModel) error {
|
||||
validate := validator.New()
|
||||
|
||||
validate.RegisterValidation("subscriptionModel", func(fl validator.FieldLevel) bool { return true })
|
||||
validate.RegisterValidation("membershipField", func(fl validator.FieldLevel) bool { return true })
|
||||
return validate.Struct(subscription)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user