aboutsummaryrefslogtreecommitdiff
path: root/forged/internal/server
diff options
context:
space:
mode:
Diffstat (limited to 'forged/internal/server')
-rw-r--r--forged/internal/server/server.go21
1 files changed, 12 insertions, 9 deletions
diff --git a/forged/internal/server/server.go b/forged/internal/server/server.go
index 86332a7..ecd5fe1 100644
--- a/forged/internal/server/server.go
+++ b/forged/internal/server/server.go
@@ -6,6 +6,8 @@ import (
"go.lindenii.runxiyu.org/forge/forged/internal/config"
"go.lindenii.runxiyu.org/forge/forged/internal/database"
+ "go.lindenii.runxiyu.org/forge/forged/internal/database/queries"
+ "go.lindenii.runxiyu.org/forge/forged/internal/global"
"go.lindenii.runxiyu.org/forge/forged/internal/incoming/hooks"
"go.lindenii.runxiyu.org/forge/forged/internal/incoming/lmtp"
"go.lindenii.runxiyu.org/forge/forged/internal/incoming/ssh"
@@ -22,11 +24,7 @@ type Server struct {
webServer *web.Server
sshServer *ssh.Server
- globalData struct {
- SSHPubkey string
- SSHFingerprint string
- Version string
- }
+ globalData global.GlobalData
}
func New(configPath string) (server *Server, err error) {
@@ -37,10 +35,15 @@ func New(configPath string) (server *Server, err error) {
return server, fmt.Errorf("open config: %w", err)
}
- server.hookServer = hooks.New(server.config.Hooks)
- server.lmtpServer = lmtp.New(server.config.LMTP)
- server.webServer = web.New(server.config.Web)
- server.sshServer, err = ssh.New(server.config.SSH)
+ queries := queries.New(&server.database)
+
+ server.globalData.ForgeVersion = "unknown" // TODO
+ server.globalData.ForgeTitle = server.config.General.Title
+
+ server.hookServer = hooks.New(server.config.Hooks, &server.globalData)
+ server.lmtpServer = lmtp.New(server.config.LMTP, &server.globalData)
+ server.webServer = web.New(server.config.Web, &server.globalData, queries)
+ server.sshServer, err = ssh.New(server.config.SSH, &server.globalData)
if err != nil {
return server, fmt.Errorf("create SSH server: %w", err)
}