|
|
|
@ -3,6 +3,7 @@ package handler
|
|
|
|
|
import (
|
|
|
|
|
"context"
|
|
|
|
|
"fmt"
|
|
|
|
|
"github.com/go-sonic/sonic/handler/content/wp"
|
|
|
|
|
"net/http"
|
|
|
|
|
"os"
|
|
|
|
|
"strconv"
|
|
|
|
@ -25,115 +26,123 @@ import (
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type Server struct {
|
|
|
|
|
logger *zap.Logger
|
|
|
|
|
Config *config.Config
|
|
|
|
|
HTTPServer *http.Server
|
|
|
|
|
Router *gin.Engine
|
|
|
|
|
Template *template.Template
|
|
|
|
|
AuthMiddleware *middleware.AuthMiddleware
|
|
|
|
|
LogMiddleware *middleware.GinLoggerMiddleware
|
|
|
|
|
RecoveryMiddleware *middleware.RecoveryMiddleware
|
|
|
|
|
InstallRedirectMiddleware *middleware.InstallRedirectMiddleware
|
|
|
|
|
OptionService service.OptionService
|
|
|
|
|
ThemeService service.ThemeService
|
|
|
|
|
SheetService service.SheetService
|
|
|
|
|
AdminHandler *admin.AdminHandler
|
|
|
|
|
AttachmentHandler *admin.AttachmentHandler
|
|
|
|
|
BackupHandler *admin.BackupHandler
|
|
|
|
|
CategoryHandler *admin.CategoryHandler
|
|
|
|
|
InstallHandler *admin.InstallHandler
|
|
|
|
|
JournalHandler *admin.JournalHandler
|
|
|
|
|
JournalCommentHandler *admin.JournalCommentHandler
|
|
|
|
|
LinkHandler *admin.LinkHandler
|
|
|
|
|
LogHandler *admin.LogHandler
|
|
|
|
|
MenuHandler *admin.MenuHandler
|
|
|
|
|
OptionHandler *admin.OptionHandler
|
|
|
|
|
PhotoHandler *admin.PhotoHandler
|
|
|
|
|
PostHandler *admin.PostHandler
|
|
|
|
|
PostCommentHandler *admin.PostCommentHandler
|
|
|
|
|
SheetHandler *admin.SheetHandler
|
|
|
|
|
SheetCommentHandler *admin.SheetCommentHandler
|
|
|
|
|
StatisticHandler *admin.StatisticHandler
|
|
|
|
|
TagHandler *admin.TagHandler
|
|
|
|
|
ThemeHandler *admin.ThemeHandler
|
|
|
|
|
UserHandler *admin.UserHandler
|
|
|
|
|
EmailHandler *admin.EmailHandler
|
|
|
|
|
IndexHandler *content.IndexHandler
|
|
|
|
|
FeedHandler *content.FeedHandler
|
|
|
|
|
ArchiveHandler *content.ArchiveHandler
|
|
|
|
|
ViewHandler *content.ViewHandler
|
|
|
|
|
ContentCategoryHandler *content.CategoryHandler
|
|
|
|
|
ContentSheetHandler *content.SheetHandler
|
|
|
|
|
ContentTagHandler *content.TagHandler
|
|
|
|
|
ContentLinkHandler *content.LinkHandler
|
|
|
|
|
ContentPhotoHandler *content.PhotoHandler
|
|
|
|
|
ContentJournalHandler *content.JournalHandler
|
|
|
|
|
ContentSearchHandler *content.SearchHandler
|
|
|
|
|
ContentAPIArchiveHandler *api.ArchiveHandler
|
|
|
|
|
ContentAPICategoryHandler *api.CategoryHandler
|
|
|
|
|
ContentAPIJournalHandler *api.JournalHandler
|
|
|
|
|
ContentAPILinkHandler *api.LinkHandler
|
|
|
|
|
ContentAPIPostHandler *api.PostHandler
|
|
|
|
|
ContentAPISheetHandler *api.SheetHandler
|
|
|
|
|
ContentAPIOptionHandler *api.OptionHandler
|
|
|
|
|
ContentAPIPhotoHandler *api.PhotoHandler
|
|
|
|
|
ApplicationPasswordHandler *admin.ApplicationPasswordHandler
|
|
|
|
|
logger *zap.Logger
|
|
|
|
|
Config *config.Config
|
|
|
|
|
HTTPServer *http.Server
|
|
|
|
|
Router *gin.Engine
|
|
|
|
|
Template *template.Template
|
|
|
|
|
AuthMiddleware *middleware.AuthMiddleware
|
|
|
|
|
LogMiddleware *middleware.GinLoggerMiddleware
|
|
|
|
|
RecoveryMiddleware *middleware.RecoveryMiddleware
|
|
|
|
|
InstallRedirectMiddleware *middleware.InstallRedirectMiddleware
|
|
|
|
|
ApplicationPasswordMiddleware *middleware.ApplicationPasswordMiddleware
|
|
|
|
|
OptionService service.OptionService
|
|
|
|
|
ThemeService service.ThemeService
|
|
|
|
|
SheetService service.SheetService
|
|
|
|
|
AdminHandler *admin.AdminHandler
|
|
|
|
|
AttachmentHandler *admin.AttachmentHandler
|
|
|
|
|
BackupHandler *admin.BackupHandler
|
|
|
|
|
CategoryHandler *admin.CategoryHandler
|
|
|
|
|
InstallHandler *admin.InstallHandler
|
|
|
|
|
JournalHandler *admin.JournalHandler
|
|
|
|
|
JournalCommentHandler *admin.JournalCommentHandler
|
|
|
|
|
LinkHandler *admin.LinkHandler
|
|
|
|
|
LogHandler *admin.LogHandler
|
|
|
|
|
MenuHandler *admin.MenuHandler
|
|
|
|
|
OptionHandler *admin.OptionHandler
|
|
|
|
|
PhotoHandler *admin.PhotoHandler
|
|
|
|
|
PostHandler *admin.PostHandler
|
|
|
|
|
PostCommentHandler *admin.PostCommentHandler
|
|
|
|
|
SheetHandler *admin.SheetHandler
|
|
|
|
|
SheetCommentHandler *admin.SheetCommentHandler
|
|
|
|
|
StatisticHandler *admin.StatisticHandler
|
|
|
|
|
TagHandler *admin.TagHandler
|
|
|
|
|
ThemeHandler *admin.ThemeHandler
|
|
|
|
|
UserHandler *admin.UserHandler
|
|
|
|
|
EmailHandler *admin.EmailHandler
|
|
|
|
|
ApplicationPasswordHandler *admin.ApplicationPasswordHandler
|
|
|
|
|
IndexHandler *content.IndexHandler
|
|
|
|
|
FeedHandler *content.FeedHandler
|
|
|
|
|
ArchiveHandler *content.ArchiveHandler
|
|
|
|
|
ViewHandler *content.ViewHandler
|
|
|
|
|
ContentCategoryHandler *content.CategoryHandler
|
|
|
|
|
ContentSheetHandler *content.SheetHandler
|
|
|
|
|
ContentTagHandler *content.TagHandler
|
|
|
|
|
ContentLinkHandler *content.LinkHandler
|
|
|
|
|
ContentPhotoHandler *content.PhotoHandler
|
|
|
|
|
ContentJournalHandler *content.JournalHandler
|
|
|
|
|
ContentSearchHandler *content.SearchHandler
|
|
|
|
|
ContentAPIArchiveHandler *api.ArchiveHandler
|
|
|
|
|
ContentAPICategoryHandler *api.CategoryHandler
|
|
|
|
|
ContentAPIJournalHandler *api.JournalHandler
|
|
|
|
|
ContentAPILinkHandler *api.LinkHandler
|
|
|
|
|
ContentAPIPostHandler *api.PostHandler
|
|
|
|
|
ContentAPISheetHandler *api.SheetHandler
|
|
|
|
|
ContentAPIOptionHandler *api.OptionHandler
|
|
|
|
|
ContentAPIPhotoHandler *api.PhotoHandler
|
|
|
|
|
WpPostHandler *wp.PostHandler
|
|
|
|
|
WpUserHandler *wp.UserHandler
|
|
|
|
|
WpCategoryHandler *wp.CategoryHandler
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ServerParams struct {
|
|
|
|
|
dig.In
|
|
|
|
|
Config *config.Config
|
|
|
|
|
Logger *zap.Logger
|
|
|
|
|
Event event.Bus
|
|
|
|
|
Template *template.Template
|
|
|
|
|
AuthMiddleware *middleware.AuthMiddleware
|
|
|
|
|
LogMiddleware *middleware.GinLoggerMiddleware
|
|
|
|
|
RecoveryMiddleware *middleware.RecoveryMiddleware
|
|
|
|
|
InstallRedirectMiddleware *middleware.InstallRedirectMiddleware
|
|
|
|
|
OptionService service.OptionService
|
|
|
|
|
ThemeService service.ThemeService
|
|
|
|
|
SheetService service.SheetService
|
|
|
|
|
AdminHandler *admin.AdminHandler
|
|
|
|
|
AttachmentHandler *admin.AttachmentHandler
|
|
|
|
|
BackupHandler *admin.BackupHandler
|
|
|
|
|
CategoryHandler *admin.CategoryHandler
|
|
|
|
|
InstallHandler *admin.InstallHandler
|
|
|
|
|
JournalHandler *admin.JournalHandler
|
|
|
|
|
JournalCommentHandler *admin.JournalCommentHandler
|
|
|
|
|
LinkHandler *admin.LinkHandler
|
|
|
|
|
LogHandler *admin.LogHandler
|
|
|
|
|
MenuHandler *admin.MenuHandler
|
|
|
|
|
OptionHandler *admin.OptionHandler
|
|
|
|
|
PhotoHandler *admin.PhotoHandler
|
|
|
|
|
PostHandler *admin.PostHandler
|
|
|
|
|
PostCommentHandler *admin.PostCommentHandler
|
|
|
|
|
SheetHandler *admin.SheetHandler
|
|
|
|
|
SheetCommentHandler *admin.SheetCommentHandler
|
|
|
|
|
StatisticHandler *admin.StatisticHandler
|
|
|
|
|
TagHandler *admin.TagHandler
|
|
|
|
|
ThemeHandler *admin.ThemeHandler
|
|
|
|
|
UserHandler *admin.UserHandler
|
|
|
|
|
EmailHandler *admin.EmailHandler
|
|
|
|
|
ApplicationPasswordHandler *admin.ApplicationPasswordHandler
|
|
|
|
|
IndexHandler *content.IndexHandler
|
|
|
|
|
FeedHandler *content.FeedHandler
|
|
|
|
|
ArchiveHandler *content.ArchiveHandler
|
|
|
|
|
ViewHandler *content.ViewHandler
|
|
|
|
|
ContentCategoryHandler *content.CategoryHandler
|
|
|
|
|
ContentSheetHandler *content.SheetHandler
|
|
|
|
|
ContentTagHandler *content.TagHandler
|
|
|
|
|
ContentLinkHandler *content.LinkHandler
|
|
|
|
|
ContentPhotoHandler *content.PhotoHandler
|
|
|
|
|
ContentJournalHandler *content.JournalHandler
|
|
|
|
|
ContentSearchHandler *content.SearchHandler
|
|
|
|
|
ContentAPIArchiveHandler *api.ArchiveHandler
|
|
|
|
|
ContentAPICategoryHandler *api.CategoryHandler
|
|
|
|
|
ContentAPIJournalHandler *api.JournalHandler
|
|
|
|
|
ContentAPILinkHandler *api.LinkHandler
|
|
|
|
|
ContentAPIPostHandler *api.PostHandler
|
|
|
|
|
ContentAPISheetHandler *api.SheetHandler
|
|
|
|
|
ContentAPIOptionHandler *api.OptionHandler
|
|
|
|
|
ContentAPIPhotoHandler *api.PhotoHandler
|
|
|
|
|
Config *config.Config
|
|
|
|
|
Logger *zap.Logger
|
|
|
|
|
Event event.Bus
|
|
|
|
|
Template *template.Template
|
|
|
|
|
AuthMiddleware *middleware.AuthMiddleware
|
|
|
|
|
LogMiddleware *middleware.GinLoggerMiddleware
|
|
|
|
|
RecoveryMiddleware *middleware.RecoveryMiddleware
|
|
|
|
|
InstallRedirectMiddleware *middleware.InstallRedirectMiddleware
|
|
|
|
|
ApplicationPasswordMiddleware *middleware.ApplicationPasswordMiddleware
|
|
|
|
|
OptionService service.OptionService
|
|
|
|
|
ThemeService service.ThemeService
|
|
|
|
|
SheetService service.SheetService
|
|
|
|
|
AdminHandler *admin.AdminHandler
|
|
|
|
|
AttachmentHandler *admin.AttachmentHandler
|
|
|
|
|
BackupHandler *admin.BackupHandler
|
|
|
|
|
CategoryHandler *admin.CategoryHandler
|
|
|
|
|
InstallHandler *admin.InstallHandler
|
|
|
|
|
JournalHandler *admin.JournalHandler
|
|
|
|
|
JournalCommentHandler *admin.JournalCommentHandler
|
|
|
|
|
LinkHandler *admin.LinkHandler
|
|
|
|
|
LogHandler *admin.LogHandler
|
|
|
|
|
MenuHandler *admin.MenuHandler
|
|
|
|
|
OptionHandler *admin.OptionHandler
|
|
|
|
|
PhotoHandler *admin.PhotoHandler
|
|
|
|
|
PostHandler *admin.PostHandler
|
|
|
|
|
PostCommentHandler *admin.PostCommentHandler
|
|
|
|
|
SheetHandler *admin.SheetHandler
|
|
|
|
|
SheetCommentHandler *admin.SheetCommentHandler
|
|
|
|
|
StatisticHandler *admin.StatisticHandler
|
|
|
|
|
TagHandler *admin.TagHandler
|
|
|
|
|
ThemeHandler *admin.ThemeHandler
|
|
|
|
|
UserHandler *admin.UserHandler
|
|
|
|
|
EmailHandler *admin.EmailHandler
|
|
|
|
|
ApplicationPasswordHandler *admin.ApplicationPasswordHandler
|
|
|
|
|
IndexHandler *content.IndexHandler
|
|
|
|
|
FeedHandler *content.FeedHandler
|
|
|
|
|
ArchiveHandler *content.ArchiveHandler
|
|
|
|
|
ViewHandler *content.ViewHandler
|
|
|
|
|
ContentCategoryHandler *content.CategoryHandler
|
|
|
|
|
ContentSheetHandler *content.SheetHandler
|
|
|
|
|
ContentTagHandler *content.TagHandler
|
|
|
|
|
ContentLinkHandler *content.LinkHandler
|
|
|
|
|
ContentPhotoHandler *content.PhotoHandler
|
|
|
|
|
ContentJournalHandler *content.JournalHandler
|
|
|
|
|
ContentSearchHandler *content.SearchHandler
|
|
|
|
|
ContentAPIArchiveHandler *api.ArchiveHandler
|
|
|
|
|
ContentAPICategoryHandler *api.CategoryHandler
|
|
|
|
|
ContentAPIJournalHandler *api.JournalHandler
|
|
|
|
|
ContentAPILinkHandler *api.LinkHandler
|
|
|
|
|
ContentAPIPostHandler *api.PostHandler
|
|
|
|
|
ContentAPISheetHandler *api.SheetHandler
|
|
|
|
|
ContentAPIOptionHandler *api.OptionHandler
|
|
|
|
|
ContentAPIPhotoHandler *api.PhotoHandler
|
|
|
|
|
WpPostHandler *wp.PostHandler
|
|
|
|
|
WpUserHandler *wp.UserHandler
|
|
|
|
|
WpCategoryHandler *wp.CategoryHandler
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func NewServer(param ServerParams, lifecycle fx.Lifecycle) *Server {
|
|
|
|
@ -147,59 +156,63 @@ func NewServer(param ServerParams, lifecycle fx.Lifecycle) *Server {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
s := &Server{
|
|
|
|
|
logger: param.Logger,
|
|
|
|
|
Config: param.Config,
|
|
|
|
|
HTTPServer: httpServer,
|
|
|
|
|
Router: router,
|
|
|
|
|
Template: param.Template,
|
|
|
|
|
AuthMiddleware: param.AuthMiddleware,
|
|
|
|
|
LogMiddleware: param.LogMiddleware,
|
|
|
|
|
RecoveryMiddleware: param.RecoveryMiddleware,
|
|
|
|
|
InstallRedirectMiddleware: param.InstallRedirectMiddleware,
|
|
|
|
|
AdminHandler: param.AdminHandler,
|
|
|
|
|
AttachmentHandler: param.AttachmentHandler,
|
|
|
|
|
BackupHandler: param.BackupHandler,
|
|
|
|
|
CategoryHandler: param.CategoryHandler,
|
|
|
|
|
InstallHandler: param.InstallHandler,
|
|
|
|
|
JournalHandler: param.JournalHandler,
|
|
|
|
|
JournalCommentHandler: param.JournalCommentHandler,
|
|
|
|
|
LinkHandler: param.LinkHandler,
|
|
|
|
|
LogHandler: param.LogHandler,
|
|
|
|
|
MenuHandler: param.MenuHandler,
|
|
|
|
|
OptionHandler: param.OptionHandler,
|
|
|
|
|
PhotoHandler: param.PhotoHandler,
|
|
|
|
|
PostHandler: param.PostHandler,
|
|
|
|
|
PostCommentHandler: param.PostCommentHandler,
|
|
|
|
|
SheetHandler: param.SheetHandler,
|
|
|
|
|
SheetCommentHandler: param.SheetCommentHandler,
|
|
|
|
|
StatisticHandler: param.StatisticHandler,
|
|
|
|
|
TagHandler: param.TagHandler,
|
|
|
|
|
ThemeHandler: param.ThemeHandler,
|
|
|
|
|
UserHandler: param.UserHandler,
|
|
|
|
|
EmailHandler: param.EmailHandler,
|
|
|
|
|
OptionService: param.OptionService,
|
|
|
|
|
ThemeService: param.ThemeService,
|
|
|
|
|
SheetService: param.SheetService,
|
|
|
|
|
IndexHandler: param.IndexHandler,
|
|
|
|
|
FeedHandler: param.FeedHandler,
|
|
|
|
|
ArchiveHandler: param.ArchiveHandler,
|
|
|
|
|
ViewHandler: param.ViewHandler,
|
|
|
|
|
ContentCategoryHandler: param.ContentCategoryHandler,
|
|
|
|
|
ContentSheetHandler: param.ContentSheetHandler,
|
|
|
|
|
ContentTagHandler: param.ContentTagHandler,
|
|
|
|
|
ContentLinkHandler: param.ContentLinkHandler,
|
|
|
|
|
ContentPhotoHandler: param.ContentPhotoHandler,
|
|
|
|
|
ContentJournalHandler: param.ContentJournalHandler,
|
|
|
|
|
ContentAPIArchiveHandler: param.ContentAPIArchiveHandler,
|
|
|
|
|
ContentAPICategoryHandler: param.ContentAPICategoryHandler,
|
|
|
|
|
ContentAPIJournalHandler: param.ContentAPIJournalHandler,
|
|
|
|
|
ContentAPILinkHandler: param.ContentAPILinkHandler,
|
|
|
|
|
ContentAPIPostHandler: param.ContentAPIPostHandler,
|
|
|
|
|
ContentAPISheetHandler: param.ContentAPISheetHandler,
|
|
|
|
|
ContentAPIOptionHandler: param.ContentAPIOptionHandler,
|
|
|
|
|
ContentSearchHandler: param.ContentSearchHandler,
|
|
|
|
|
ContentAPIPhotoHandler: param.ContentAPIPhotoHandler,
|
|
|
|
|
ApplicationPasswordHandler: param.ApplicationPasswordHandler,
|
|
|
|
|
logger: param.Logger,
|
|
|
|
|
Config: param.Config,
|
|
|
|
|
HTTPServer: httpServer,
|
|
|
|
|
Router: router,
|
|
|
|
|
Template: param.Template,
|
|
|
|
|
AuthMiddleware: param.AuthMiddleware,
|
|
|
|
|
LogMiddleware: param.LogMiddleware,
|
|
|
|
|
RecoveryMiddleware: param.RecoveryMiddleware,
|
|
|
|
|
InstallRedirectMiddleware: param.InstallRedirectMiddleware,
|
|
|
|
|
ApplicationPasswordMiddleware: param.ApplicationPasswordMiddleware,
|
|
|
|
|
AdminHandler: param.AdminHandler,
|
|
|
|
|
AttachmentHandler: param.AttachmentHandler,
|
|
|
|
|
BackupHandler: param.BackupHandler,
|
|
|
|
|
CategoryHandler: param.CategoryHandler,
|
|
|
|
|
InstallHandler: param.InstallHandler,
|
|
|
|
|
JournalHandler: param.JournalHandler,
|
|
|
|
|
JournalCommentHandler: param.JournalCommentHandler,
|
|
|
|
|
LinkHandler: param.LinkHandler,
|
|
|
|
|
LogHandler: param.LogHandler,
|
|
|
|
|
MenuHandler: param.MenuHandler,
|
|
|
|
|
OptionHandler: param.OptionHandler,
|
|
|
|
|
PhotoHandler: param.PhotoHandler,
|
|
|
|
|
PostHandler: param.PostHandler,
|
|
|
|
|
PostCommentHandler: param.PostCommentHandler,
|
|
|
|
|
SheetHandler: param.SheetHandler,
|
|
|
|
|
SheetCommentHandler: param.SheetCommentHandler,
|
|
|
|
|
StatisticHandler: param.StatisticHandler,
|
|
|
|
|
TagHandler: param.TagHandler,
|
|
|
|
|
ThemeHandler: param.ThemeHandler,
|
|
|
|
|
UserHandler: param.UserHandler,
|
|
|
|
|
EmailHandler: param.EmailHandler,
|
|
|
|
|
OptionService: param.OptionService,
|
|
|
|
|
ThemeService: param.ThemeService,
|
|
|
|
|
SheetService: param.SheetService,
|
|
|
|
|
IndexHandler: param.IndexHandler,
|
|
|
|
|
FeedHandler: param.FeedHandler,
|
|
|
|
|
ArchiveHandler: param.ArchiveHandler,
|
|
|
|
|
ViewHandler: param.ViewHandler,
|
|
|
|
|
ContentCategoryHandler: param.ContentCategoryHandler,
|
|
|
|
|
ContentSheetHandler: param.ContentSheetHandler,
|
|
|
|
|
ContentTagHandler: param.ContentTagHandler,
|
|
|
|
|
ContentLinkHandler: param.ContentLinkHandler,
|
|
|
|
|
ContentPhotoHandler: param.ContentPhotoHandler,
|
|
|
|
|
ContentJournalHandler: param.ContentJournalHandler,
|
|
|
|
|
ContentAPIArchiveHandler: param.ContentAPIArchiveHandler,
|
|
|
|
|
ContentAPICategoryHandler: param.ContentAPICategoryHandler,
|
|
|
|
|
ContentAPIJournalHandler: param.ContentAPIJournalHandler,
|
|
|
|
|
ContentAPILinkHandler: param.ContentAPILinkHandler,
|
|
|
|
|
ContentAPIPostHandler: param.ContentAPIPostHandler,
|
|
|
|
|
ContentAPISheetHandler: param.ContentAPISheetHandler,
|
|
|
|
|
ContentAPIOptionHandler: param.ContentAPIOptionHandler,
|
|
|
|
|
ContentSearchHandler: param.ContentSearchHandler,
|
|
|
|
|
ContentAPIPhotoHandler: param.ContentAPIPhotoHandler,
|
|
|
|
|
ApplicationPasswordHandler: param.ApplicationPasswordHandler,
|
|
|
|
|
WpPostHandler: param.WpPostHandler,
|
|
|
|
|
WpUserHandler: param.WpUserHandler,
|
|
|
|
|
WpCategoryHandler: param.WpCategoryHandler,
|
|
|
|
|
}
|
|
|
|
|
lifecycle.Append(fx.Hook{
|
|
|
|
|
OnStop: httpServer.Shutdown,
|
|
|
|
|