diff options
Diffstat (limited to 'forged/internal/server')
-rw-r--r-- | forged/internal/server/server.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/forged/internal/server/server.go b/forged/internal/server/server.go new file mode 100644 index 0000000..ec875f1 --- /dev/null +++ b/forged/internal/server/server.go @@ -0,0 +1,32 @@ +package server + +import ( + "context" + "fmt" + "html/template" + + "go.lindenii.runxiyu.org/forge/forged/internal/config" + "go.lindenii.runxiyu.org/forge/forged/internal/database" + "go.lindenii.runxiyu.org/forge/forged/internal/hooki" + "go.lindenii.runxiyu.org/forge/forged/internal/store" +) + +type Server struct { + config config.Config + + database database.Database + stores *store.Set + hookis *hooki.Pool + templates *template.Template +} + +func New(ctx context.Context, config config.Config) (*Server, error) { + database, err := database.Open(ctx, config.DB) + if err != nil { + return nil, fmt.Errorf("open database: %w", err) + } + + return &Server{ + database: database, + }, nil +} |