package expense import ( "nos-comptes/internal/storage/dao" "nos-comptes/internal/storage/model" ) type Service struct { db *Database } func (s Service) GetAllExpensesOfAnAccount(accountId string) (interface{}, interface{}) { expenses, err := s.db.GetAllExpensesOfAnAccount(accountId) if e, ok := err.(*dao.Error); ok { switch { case e.Type == dao.ErrTypeNotFound: return nil, &model.ErrNotFound default: return nil, &model.ErrInternalServer } } else if err != nil { return nil, &model.ErrInternalServer } if expenses == nil { return nil, &model.ErrNotFound } return expenses, nil } func NewService(database *Database) *Service { return &Service{db: database} }