Files
resume/internal/service/portfolio/portfolio_service.go
T

52 lines
1.7 KiB
Go

package portfolio
import (
"resume-platform/internal/model"
"resume-platform/internal/repository"
)
type PortfolioService interface {
GetPortfolioItems() ([]*model.PortfolioItem, error)
GetPortfolioItemsWithPagination(page, pageSize int) ([]*model.PortfolioItem, int, error)
GetPortfolioItemsByUserID(userID string) ([]*model.PortfolioItem, error)
GetPortfolioItem(id uint) (*model.PortfolioItem, error)
CreatePortfolioItem(item *model.PortfolioItem) error
UpdatePortfolioItem(id uint, item *model.PortfolioItem) error
DeletePortfolioItem(id uint) error
}
type portfolioService struct {
repo repository.ResumeRepository
}
func NewPortfolioService(repo repository.ResumeRepository) PortfolioService {
return &portfolioService{repo: repo}
}
func (s *portfolioService) GetPortfolioItems() ([]*model.PortfolioItem, error) {
return s.repo.GetPortfolioItems()
}
func (s *portfolioService) GetPortfolioItemsWithPagination(page, pageSize int) ([]*model.PortfolioItem, int, error) {
return s.repo.GetPortfolioItemsWithPagination(page, pageSize)
}
func (s *portfolioService) GetPortfolioItemsByUserID(userID string) ([]*model.PortfolioItem, error) {
return s.repo.GetPortfolioItemsByUserID(userID)
}
func (s *portfolioService) GetPortfolioItem(id uint) (*model.PortfolioItem, error) {
return s.repo.GetPortfolioItem(id)
}
func (s *portfolioService) CreatePortfolioItem(item *model.PortfolioItem) error {
return s.repo.CreatePortfolioItem(item)
}
func (s *portfolioService) UpdatePortfolioItem(id uint, item *model.PortfolioItem) error {
return s.repo.UpdatePortfolioItem(id, item)
}
func (s *portfolioService) DeletePortfolioItem(id uint) error {
return s.repo.DeletePortfolioItem(id)
}