aboutsummaryrefslogtreecommitdiff
path: root/internal/admin/service.go
diff options
context:
space:
mode:
authorMax Resnick <max@ofmax.li>2024-04-09 20:53:27 -0700
committerMax Resnick <max@ofmax.li>2024-04-15 21:50:00 -0700
commitcf7f32e12ca118e51723a87afee05770ea12c066 (patch)
tree6933a2b72e704d1d043014907dacdb7d7ff6ba9d /internal/admin/service.go
parent888cf9db02396c2bf093752ec76b4b9654110dd6 (diff)
downloadgo-git-server-cf7f32e12ca118e51723a87afee05770ea12c066.tar.gz
chore: logging/err cleanup
Diffstat (limited to '')
-rw-r--r--internal/admin/service.go46
1 files changed, 25 insertions, 21 deletions
diff --git a/internal/admin/service.go b/internal/admin/service.go
index 267a243..182c153 100644
--- a/internal/admin/service.go
+++ b/internal/admin/service.go
@@ -2,7 +2,8 @@ package admin
import (
"errors"
- "log"
+ "fmt"
+ "log/slog"
casbin "github.com/casbin/casbin/v2"
)
@@ -21,57 +22,58 @@ func (s *Servicer) Reload() {
tmpConfig, err := loadServerConfig(s.mgmtRepo, s.reposDir, s.serverConfigPath)
if err != nil {
// log.error
- log.Printf("failed to load config %s", err)
- log.Print("refusing to reload config")
+ slog.Error("failed to load config", "error", err)
+ slog.Error("refusing to reload config")
return
}
s.Conf = tmpConfig
- s.InitServer()
+ _ = s.InitServer()
}
// InitServer initialize a git server and configure
-func (s *Servicer) InitServer() {
+func (s *Servicer) InitServer() error {
policies := s.Conf.ServerPolicies()
- log.Print("policies generated")
numAdded := 0
for _, policy := range policies {
added, err := s.AddPolicy(policy[0], policy[1], policy[2])
if err != nil {
// log.error
- log.Printf("error adding policy %s %s %s error %s", policy[0], policy[1], policy[2], err)
+ slog.Error("error adding policy", "role", policy[0], "slug", policy[1], "action", policy[2], "err", err)
continue
}
if added {
numAdded++
}
}
- log.Printf("policies added %d", numAdded)
+ slog.Info("policy generated", "added", numAdded)
if err := s.SavePolicy(); err != nil {
- log.Print("couldn't save policy")
+ return fmt.Errorf("policy couldn't be saved %w", err)
}
- log.Printf("policies saved")
+ slog.Info("policy saved")
if err := s.LoadPolicy(); err != nil {
- log.Print("cloudn't load policy")
+ return fmt.Errorf("cloudn't load policy %w", err)
}
- log.Print("policies loaded")
- s.Conf.ConfigureRepos()
- log.Print("configured repos")
+ slog.Info("policy loaded")
+ if err := s.Conf.ConfigureRepos(); err != nil {
+ return fmt.Errorf("couldn't configure repos %w", err)
+ }
+ slog.Info("configured repos")
+ return nil
}
// NewService create a new admin service, load config, and generate policies
-func NewService(modelPath, policyPath, serverConfigPath, reposDir string, mgmtRepo bool) *Servicer {
+func NewService(modelPath, policyPath, serverConfigPath, reposDir string, mgmtRepo bool) (*Servicer, error) {
enf, err := casbin.NewSyncedEnforcer(modelPath, policyPath)
if err != nil {
- log.Fatalf("Couldn't load the enforcer encountered the following error: %s", err)
+ return &Servicer{}, fmt.Errorf("Couldn't load the enforcer encountered the following error: %w", err)
}
conf, err := loadServerConfig(mgmtRepo, reposDir, serverConfigPath)
if errors.Is(err, ErrMgmtRepoNotFound) {
- log.Print("no server config found, using default")
+ slog.Info("no server config found, using default")
conf = defaultServerConfig
} else if err != nil {
- // log.error
- log.Fatalf("Coudln't load server config %s", err)
+ return &Servicer{}, fmt.Errorf("Coudln't load server config. %w", err)
}
conf.basePath = reposDir
svc := &Servicer{
@@ -81,6 +83,8 @@ func NewService(modelPath, policyPath, serverConfigPath, reposDir string, mgmtRe
reposDir,
mgmtRepo,
}
- svc.InitServer()
- return svc
+ if err := svc.InitServer(); err != nil {
+ return nil, err
+ }
+ return svc, nil
}