32 lines
505 B
Go
32 lines
505 B
Go
|
package pages
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"html/template"
|
||
|
)
|
||
|
|
||
|
type Service interface {
|
||
|
Page(ctx context.Context, name string) (Page, error)
|
||
|
}
|
||
|
|
||
|
type Page struct {
|
||
|
template *template.Template
|
||
|
}
|
||
|
|
||
|
type service struct {
|
||
|
repository Repository
|
||
|
//logger log.Logger
|
||
|
}
|
||
|
|
||
|
func NewService(r Repository) Service {
|
||
|
return service{r}
|
||
|
}
|
||
|
|
||
|
func (s service) Page(ctx context.Context, name string) (Page, error) {
|
||
|
page, err := s.repository.Page(ctx, name)
|
||
|
if err != nil {
|
||
|
return Page{}, err
|
||
|
}
|
||
|
return Page{page}, nil
|
||
|
}
|