add: deletesubscription
This commit is contained in:
@@ -13,7 +13,7 @@ type MembershipServiceInterface interface {
|
||||
FindMembershipByUserID(userID uint) (*models.Membership, error)
|
||||
RegisterSubscription(subscription *models.SubscriptionModel) (uint, error)
|
||||
UpdateSubscription(subscription *models.SubscriptionModel) (*models.SubscriptionModel, error)
|
||||
DeleteSubscription(subscription *models.SubscriptionModel) error
|
||||
DeleteSubscription(id *uint, name *string) error
|
||||
GetSubscriptionModelNames() ([]string, error)
|
||||
GetSubscriptionByName(modelname *string) (*models.SubscriptionModel, error)
|
||||
GetSubscriptions(where map[string]interface{}) (*[]models.SubscriptionModel, error)
|
||||
@@ -50,17 +50,21 @@ func (service *MembershipService) UpdateSubscription(subscription *models.Subscr
|
||||
|
||||
}
|
||||
|
||||
func (service *MembershipService) DeleteSubscription(subscription *models.SubscriptionModel) error {
|
||||
exists, err := repositories.GetSubscriptionByName(&subscription.Name)
|
||||
func (service *MembershipService) DeleteSubscription(id *uint, name *string) error {
|
||||
if *name == "" {
|
||||
return errors.ErrNoData
|
||||
}
|
||||
exists, err := repositories.GetSubscriptionByName(name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if exists == nil {
|
||||
return errors.ErrNotFound
|
||||
}
|
||||
|
||||
subscription.ID = exists.ID
|
||||
usersInSubscription, err := repositories.GetUsersBySubscription(subscription.ID)
|
||||
if *id != exists.ID {
|
||||
return errors.ErrInvalidSubscriptionData
|
||||
}
|
||||
usersInSubscription, err := repositories.GetUsersBySubscription(*id)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -68,7 +72,7 @@ func (service *MembershipService) DeleteSubscription(subscription *models.Subscr
|
||||
if len(*usersInSubscription) > 0 {
|
||||
return errors.ErrSubscriptionInUse
|
||||
}
|
||||
return service.SubscriptionRepo.DeleteSubscription(subscription)
|
||||
return service.SubscriptionRepo.DeleteSubscription(id)
|
||||
}
|
||||
|
||||
func (service *MembershipService) FindMembershipByUserID(userID uint) (*models.Membership, error) {
|
||||
|
||||
Reference in New Issue
Block a user