12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- // package service -- главный тип сервиса
- package service
- import (
- "fmt"
- "log"
- "adt/pkg/types"
- )
- // Service -- главный тип приложения
- type Service struct {
- store types.IStore // Хранилище сервиса
- servHttp types.IServHttp // Веб-сервер сервиса
- }
- // NewService -- возвращает новый объект сервиса
- func NewService(store types.IStore,
- servHttp types.IServHttp) (*Service, error) {
- log.Println("NewService()")
- { // Предусловия
- if store == nil {
- return nil, fmt.Errorf("NewService(): IStore==nil")
- }
- if servHttp == nil {
- return nil, fmt.Errorf("NewService(): IServHttp==nil")
- }
- }
- sf := &Service{
- store: store,
- servHttp: servHttp,
- }
- return sf, nil
- }
- // Run -- запускает сервис в работу
- func (sf *Service) Run() error {
- log.Println("Service.Run()")
- if err := sf.servHttp.Run(); err != nil {
- return fmt.Errorf("Service.Run(): in IServHttp.Run, err=\n\t%w", err)
- }
- return nil
- }
|