Documentation
¶
Index ¶
- func AllowIfNotLoggedIn(jwtSecret []byte) func(*fiber.Ctx) error
- func AlwaysRequireAuthentication(jwtSecret []byte, sender Sender, translator i18n.Translator, ...) func(*fiber.Ctx) error
- func ConfigurableAuthentication(jwtSecret []byte, sender Sender, translator i18n.Translator, requireAuth bool, ...) func(*fiber.Ctx) error
- func New(cfg Config, controllers Controllers, sender Sender, idx ProgressInfo, ...) *fiber.App
- func OneTimeMessages() func(c *fiber.Ctx) error
- func RequireAdmin(c *fiber.Ctx) error
- func SetActionPreferences(sender Sender) func(*fiber.Ctx) error
- func SetAvailableLanguages(idx ProgressInfo) func(*fiber.Ctx) error
- func SetEmailSendingConfigured(sender Sender) func(*fiber.Ctx) error
- func SetFQDN(cfg Config) func(*fiber.Ctx) error
- func SetProgress(progress ProgressInfo) func(*fiber.Ctx) error
- type Config
- type Controllers
- type ProgressInfo
- type Sender
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AllowIfNotLoggedIn ¶
AllowIfNotLoggedIn only allows processing the request if there is no session
func AlwaysRequireAuthentication ¶
func AlwaysRequireAuthentication(jwtSecret []byte, sender Sender, translator i18n.Translator, usersRepository *model.UserRepository) func(*fiber.Ctx) error
AlwaysRequireAuthentication returns forbidden and renders the login page if the user trying to access has not logged in
func ConfigurableAuthentication ¶
func ConfigurableAuthentication(jwtSecret []byte, sender Sender, translator i18n.Translator, requireAuth bool, usersRepository *model.UserRepository) func(*fiber.Ctx) error
ConfigurableAuthentication allows to enable or disable authentication on routes which may or may not require it
func New ¶
func New(cfg Config, controllers Controllers, sender Sender, idx ProgressInfo, usersRepository *model.UserRepository) *fiber.App
New builds a new Fiber application and set up the required routes
func OneTimeMessages ¶ added in v4.11.0
func RequireAdmin ¶
RequireAdmin returns HTTP forbidden if the user requesting access is not an admin
func SetActionPreferences ¶ added in v4.19.0
SetActionPreferences computes and sets action-related preferences based on session and email configuration These values are used in templates to determine default actions, available options, and EPUB preferences
func SetAvailableLanguages ¶ added in v4.16.0
func SetAvailableLanguages(idx ProgressInfo) func(*fiber.Ctx) error
SetAvailableLanguages retrieves available languages from the index and sets them as a local variable for use in templates
func SetEmailSendingConfigured ¶ added in v4.19.0
SetEmailSendingConfigured sets EmailSendingConfigured in c.Locals() based on the sender type This should be run early in the middleware chain so it's available in all routes
func SetFQDN ¶
SetFQDN composes the Fully Qualified Domain Name of the host running the app and sets it as a local variable of the request
func SetProgress ¶
func SetProgress(progress ProgressInfo) func(*fiber.Ctx) error
SetProgress retrieves indexing progress information from the index and sets it as a local variable of the request
Types ¶
type Config ¶
type Config struct {
Version string
SessionTimeout time.Duration
RecoveryTimeout time.Duration
InvitationTimeout time.Duration
MinPasswordLength int
WordsPerMinute float64
JwtSecret []byte
Hostname string
FQDN string
Port int
HomeDir string
CacheDir string
LibraryPath string
AuthorImageMaxWidth int
CoverMaxWidth int
RequireAuth bool
UploadDocumentMaxSize int
ClientStaticCacheTTL int
ClientDynamicImageCacheTTL int
ServerStaticCacheTTL int
ServerDynamicImageCacheTTL int
}
type Controllers ¶
type Controllers struct {
Auth *auth.Controller
Users *user.Controller
Highlights *highlight.Controller
Documents *document.Controller
Home *home.Controller
Authors *author.Controller
Series *series.Controller
}
func SetupControllers ¶
func SetupControllers(cfg Config, db *gorm.DB, metadataReaders map[string]metadata.Reader, idx *index.BleveIndexer, sender Sender, appFs afero.Fs, dataSource author.DataSource) Controllers