github.com/devgek/webskeleton@v0.1.12-0.20231108100924-b903f5172d69/services/services.go (about)

     1  package services
     2  
     3  import (
     4  	"errors"
     5  	"github.com/devgek/webskeleton/data"
     6  	entitymodel "github.com/devgek/webskeleton/entity/model"
     7  )
     8  
     9  //Services the business services
    10  type Services struct {
    11  	DS data.Datastore
    12  	EF entitymodel.EntityFactory
    13  }
    14  
    15  //NewServices ...
    16  func NewServices(ef entitymodel.EntityFactory, ds data.Datastore) *Services {
    17  	return &Services{DS: ds, EF: ef}
    18  }
    19  
    20  //Do ... just for test mocking
    21  func (s Services) Do(par1 int, par2 int) (int, error) {
    22  	sum := par1 + par2
    23  	//useless, but for testing errors
    24  	if sum < 5 {
    25  		return -1, nil
    26  	}
    27  
    28  	if sum > 5 {
    29  		return sum, errors.New("invalid: sum > 5")
    30  	}
    31  	return sum, nil
    32  }
    33  
    34  //ServiceError ...
    35  type ServiceError struct {
    36  	key string
    37  }
    38  
    39  //ServiceError implements error
    40  func (se *ServiceError) Error() string {
    41  	return se.key
    42  }