2017-11-20 06:10:04 +01:00
|
|
|
// Copyright 2017 Frédéric Guillot. All rights reserved.
|
|
|
|
// Use of this source code is governed by the Apache 2.0
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
2018-08-25 06:51:50 +02:00
|
|
|
package ui // import "miniflux.app/ui"
|
2017-11-20 06:10:04 +01:00
|
|
|
|
|
|
|
import (
|
2018-08-25 06:51:50 +02:00
|
|
|
"miniflux.app/config"
|
|
|
|
"miniflux.app/reader/feed"
|
|
|
|
"miniflux.app/scheduler"
|
|
|
|
"miniflux.app/storage"
|
|
|
|
"miniflux.app/template"
|
2018-09-03 23:26:40 +02:00
|
|
|
|
|
|
|
"github.com/gorilla/mux"
|
2017-11-20 06:10:04 +01:00
|
|
|
)
|
|
|
|
|
2017-11-22 07:36:00 +01:00
|
|
|
// Controller contains all HTTP handlers for the user interface.
|
2017-11-20 06:10:04 +01:00
|
|
|
type Controller struct {
|
2017-11-23 07:22:33 +01:00
|
|
|
cfg *config.Config
|
2017-11-20 06:10:04 +01:00
|
|
|
store *storage.Storage
|
2017-11-22 07:36:00 +01:00
|
|
|
pool *scheduler.WorkerPool
|
2017-11-20 06:10:04 +01:00
|
|
|
feedHandler *feed.Handler
|
2018-04-30 01:35:04 +02:00
|
|
|
tpl *template.Engine
|
|
|
|
router *mux.Router
|
2017-11-20 06:10:04 +01:00
|
|
|
}
|
|
|
|
|
2017-11-22 07:36:00 +01:00
|
|
|
// NewController returns a new Controller.
|
2018-09-23 00:04:55 +02:00
|
|
|
func NewController(cfg *config.Config, store *storage.Storage, pool *scheduler.WorkerPool, feedHandler *feed.Handler, tpl *template.Engine, router *mux.Router) *Controller {
|
2017-11-20 06:10:04 +01:00
|
|
|
return &Controller{
|
2017-11-23 07:22:33 +01:00
|
|
|
cfg: cfg,
|
2017-11-20 06:10:04 +01:00
|
|
|
store: store,
|
2017-11-22 07:36:00 +01:00
|
|
|
pool: pool,
|
2017-11-20 06:10:04 +01:00
|
|
|
feedHandler: feedHandler,
|
2018-04-30 01:35:04 +02:00
|
|
|
tpl: tpl,
|
|
|
|
router: router,
|
2017-11-20 06:10:04 +01:00
|
|
|
}
|
|
|
|
}
|