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 }