Files
GoMembership/internal/services/membership_service.go
$(pass /github/name) 6ac5491053 switched to gorm..
2024-07-10 14:22:56 +02:00

38 lines
1.1 KiB
Go

package services
import (
"GoMembership/internal/models"
"GoMembership/internal/repositories"
"time"
)
type MembershipService interface {
RegisterMembership(membership *models.Membership) (int64, error)
FindMembershipByUserID(userID int64) (*models.Membership, error)
RegisterPlan(plan *models.SubscriptionModel) (int64, error)
}
type membershipService struct {
repo repositories.MembershipRepository
planRepo repositories.SubscriptionModelsRepository
}
func NewMembershipService(repo repositories.MembershipRepository, planRepo repositories.SubscriptionModelsRepository) MembershipService {
return &membershipService{repo, planRepo}
}
func (service *membershipService) RegisterMembership(membership *models.Membership) (int64, error) {
membership.StartDate = time.Now()
return service.repo.CreateMembership(membership)
}
func (service *membershipService) FindMembershipByUserID(userID int64) (*models.Membership, error) {
return service.repo.FindMembershipByUserID(userID)
}
// Membership_Plans
func (service *membershipService) RegisterPlan(plan *models.SubscriptionModel) (int64, error) {
return service.planRepo.CreateSubscriptionModel(plan)
}