service.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // package service -- главный объект сервиса
  2. package service
  3. import (
  4. "fmt"
  5. "git.p78su.freemyip.com/svi/gostore/internal/serv_http"
  6. "git.p78su.freemyip.com/svi/gostore/internal/store_user"
  7. "git.p78su.freemyip.com/svi/gostore/pkg/types"
  8. )
  9. // Service -- главный объект сервиса
  10. type Service struct {
  11. user types.IStoreUser
  12. servHttp types.IServHttp
  13. }
  14. // NewService -- возвращает новый объект сервиса
  15. func NewService() (types.IService, error) {
  16. user, err := store_user.NewStoreUser()
  17. if err != nil {
  18. return nil, fmt.Errorf("NewService(): in create IStoreUser, err=\n\t%w", err)
  19. }
  20. sf := &Service{
  21. user: user,
  22. }
  23. sf.servHttp, err = serv_http.NewServHttp(sf)
  24. if err != nil {
  25. return nil, fmt.Errorf("NewService(): in create IServHttp, err=\n\t%w", err)
  26. }
  27. return sf, nil
  28. }
  29. // Run -- запускает сервис в работу
  30. func (sf *Service) Run() error {
  31. err := sf.servHttp.Run()
  32. if err != nil {
  33. return fmt.Errorf("Service.Run(): in run IServHttp, err=\n\t%w", err)
  34. }
  35. return nil
  36. }