untested: move landing page to it's own router

This commit is contained in:
f0x 2021-06-19 12:13:09 +02:00
parent 3fcd9233ae
commit de66eb900f
3 changed files with 65 additions and 16 deletions

View File

@ -27,6 +27,7 @@ import (
"github.com/superseriousbusiness/gotosocial/internal/api/client/timeline"
"github.com/superseriousbusiness/gotosocial/internal/api/s2s/user"
"github.com/superseriousbusiness/gotosocial/internal/api/s2s/webfinger"
"github.com/superseriousbusiness/gotosocial/internal/web/base"
"github.com/superseriousbusiness/gotosocial/internal/api/security"
"github.com/superseriousbusiness/gotosocial/internal/blob"
"github.com/superseriousbusiness/gotosocial/internal/cliactions"
@ -122,6 +123,7 @@ var Start cliactions.GTSAction = func(ctx context.Context, c *config.Config, log
appsModule := app.New(c, processor, log)
followRequestsModule := followrequest.New(c, processor, log)
webfingerModule := webfinger.New(c, processor, log)
webBaseModule := webBase.new(c, log)
usersModule := user.New(c, processor, log)
timelineModule := timeline.New(c, processor, log)
notificationModule := notification.New(c, processor, log)
@ -141,6 +143,7 @@ var Start cliactions.GTSAction = func(ctx context.Context, c *config.Config, log
authModule,
// now everything else
webBaseModule,
accountModule,
instanceModule,
appsModule,

View File

@ -151,22 +151,6 @@ func New(config *config.Config, logger *logrus.Logger) (Router, error) {
logger.Debugf("loading templates from %s", tmPath)
engine.LoadHTMLGlob(tmPath)
// serve static files from /assets
// FIXME: why doesn't this config var work??
// assetPath := filepath.Join(cwd, config.TemplateConfig.AssetBaseDir);
engine.Static("/assets", "./web/assets")
// FIXME: actual variables
engine.GET("/", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.tmpl", gin.H{
"instancename": "GoToSocial Test Instance",
"countUsers": 3,
"countStatuses": 42069,
"version": "1.0.0",
"adminUsername": "@admin",
})
})
// create the actual http server here
s := &http.Server{
Handler: engine,

62
internal/web/base.go Normal file
View File

@ -0,0 +1,62 @@
/*
GoToSocial
Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package base
import (
"net/http"
"github.com/sirupsen/logrus"
"github.com/superseriousbusiness/gotosocial/internal/config"
"github.com/superseriousbusiness/gotosocial/internal/router"
)
type Module sruct {
config *config.Config
log *logrus.Logger
}
func New(config *config.Config, log *logrus.Logger) {
return &Module{
config: config,
log: log
}
}
// Route satisfies the RESTAPIModule interface
func (m *Module) Route(s router.Router) error {
l := m.log.WithField("func", "BaseGETHandler")
// serve static files from /assets
assetPath := filepath.Join(cwd, m.config.TemplateConfig.AssetBaseDir);
s.Static("/assets", assetPath);
// serve front-page
s.GET("/", func(c *gin.Context) {
l.Trace("serving index html");
// FIXME: actual variables
c.HTML(http.StatusOK, "index.tmpl", gin.H{
"instancename": "GoToSocial Test Instance",
"countUsers": 3,
"countStatuses": 42069,
"version": "1.0.0",
"adminUsername": "@admin",
});
})
return nil
}