package benefactor

import (
	"context"
	"git.gocasts.ir/ebhomengo/niki/entity"
	param "git.gocasts.ir/ebhomengo/niki/param/admin/admin"
)

type Repository interface {
	IsExistBenefactorByID(ctx context.Context, id uint) (bool, error)
	GetAddressByID(ctx context.Context, id uint) (*entity.Address, error)
}
type BenefactorForAdminSvc interface {
	BenefactorExistByID(ctx context.Context, request param.BenefactorExistByIDRequest) (param.BenefactorExistByIDResponse, error)
	AddressExistByID(ctx context.Context, request param.GetAddressByIDRequest) (param.GetAddressByIDResponse, error)
}

type Service struct {
	repo          Repository
	benefactorSvc BenefactorForAdminSvc
}

func New(repo Repository) Service {
	return Service{repo: repo}
}
