| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package api
- import (
- "github.com/go-playground/locales/en"
- ut "github.com/go-playground/universal-translator"
- "github.com/go-playground/validator/v10"
- sessionstore "github.com/porter-dev/porter/internal/auth"
- lr "github.com/porter-dev/porter/internal/logger"
- "github.com/porter-dev/porter/internal/repository"
- )
- // App represents an API instance with handler methods attached, a DB connection
- // and a logger instance
- type App struct {
- logger *lr.Logger
- repo *repository.Repository
- validator *validator.Validate
- store *sessionstore.PGStore
- translator *ut.Translator
- cookieName string
- }
- // New returns a new App instance
- func New(
- logger *lr.Logger,
- repo *repository.Repository,
- validator *validator.Validate,
- store *sessionstore.PGStore,
- cookieName string,
- ) *App {
- // for now, will just support the english translator from the
- // validator/translations package
- en := en.New()
- uni := ut.New(en, en)
- trans, _ := uni.GetTranslator("en")
- return &App{
- logger: logger,
- repo: repo,
- validator: validator,
- store: store,
- translator: &trans,
- cookieName: cookieName,
- }
- }
- // Logger returns the logger instance in use by App
- func (app *App) Logger() *lr.Logger {
- return app.logger
- }
|