package subscribeplansvc

import (
	subscribeplanrepository "legalgo-BE-go/internal/accessor/subscribe_plan"
	subscribeplandomain "legalgo-BE-go/internal/domain/subscribe_plan"
)

type impl struct {
	subsRepo subscribeplanrepository.SubscribePlan
}

type SubscribePlan interface {
	Create(subscribeplandomain.SubscribePlanReq) error
	Update(string, subscribeplandomain.SubscribePlanUpdate) error
	GetAllPlan() ([]subscribeplandomain.SubscribePlan, error)
	Delete(string) error
}

func New(
	subsAccs subscribeplanrepository.SubscribePlan,
) SubscribePlan {
	return &impl{subsAccs}
}
