this repo has no description
1package state 2 3import ( 4 "log/slog" 5 6 "tangled.org/core/appview/config" 7 "tangled.org/core/appview/db" 8 "tangled.org/core/appview/indexer" 9 "tangled.org/core/appview/issues" 10 "tangled.org/core/appview/mentions" 11 "tangled.org/core/appview/middleware" 12 "tangled.org/core/appview/notify" 13 "tangled.org/core/appview/oauth" 14 "tangled.org/core/appview/pages" 15 "tangled.org/core/appview/validator" 16 "tangled.org/core/idresolver" 17 "tangled.org/core/log" 18 "tangled.org/core/rbac" 19) 20 21// Expose exposes private fields in `State`. This is used to bridge between 22// legacy web routers and new architecture 23func (s *State) Expose() ( 24 *config.Config, 25 *db.DB, 26 *rbac.Enforcer, 27 *idresolver.Resolver, 28 *mentions.Resolver, 29 *indexer.Indexer, 30 *slog.Logger, 31 notify.Notifier, 32 *oauth.OAuth, 33 *pages.Pages, 34 *validator.Validator, 35) { 36 return s.config, s.db, s.enforcer, s.idResolver, s.mentionsResolver, s.indexer, s.logger, s.notifier, s.oauth, s.pages, s.validator 37} 38 39func (s *State) ExposeIssue() *issues.Issues { 40 return issues.New( 41 s.oauth, 42 s.repoResolver, 43 s.enforcer, 44 s.pages, 45 s.idResolver, 46 s.mentionsResolver, 47 s.db, 48 s.config, 49 s.notifier, 50 s.validator, 51 s.indexer.Issues, 52 log.SubLogger(s.logger, "issues"), 53 ) 54} 55 56func (s *State) Middleware() *middleware.Middleware { 57 mw := middleware.New( 58 s.oauth, 59 s.db, 60 s.enforcer, 61 s.repoResolver, 62 s.idResolver, 63 s.pages, 64 ) 65 return &mw 66}