diff options
Diffstat (limited to 'pkg/service/git.go')
-rw-r--r-- | pkg/service/git.go | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/pkg/service/git.go b/pkg/service/git.go index f886785..31a1cbb 100644 --- a/pkg/service/git.go +++ b/pkg/service/git.go @@ -1,21 +1,24 @@ package service import ( + "log/slog" + "os" "path" "git.gabrielgio.me/cerrado/pkg/config" "git.gabrielgio.me/cerrado/pkg/git" + "git.gabrielgio.me/cerrado/pkg/u" "github.com/go-git/go-git/v5/plumbing" "github.com/go-git/go-git/v5/plumbing/object" ) type ( Repository struct { - Name string - Title string - LastCommitMessage string - LastCommitDate string - Ref string + Name string + Title string + Description string + LastCommitDate string + Ref string } GitService struct { @@ -46,9 +49,6 @@ func (g *GitService) ListRepositories() ([]*Repository, error) { if err != nil { return nil, err } - if err != nil { - return nil, err - } obj, err := repo.LastCommit() if err != nil { @@ -60,13 +60,23 @@ func (g *GitService) ListRepositories() ([]*Repository, error) { return nil, err } + d := path.Join(r.Path, "description") + description := "" + if u.FileExist(d) { + if b, err := os.ReadFile(d); err == nil { + description = string(b) + } else { + slog.Error("Error loading description file", "err", err) + } + } + baseName := path.Base(r.Path) repos[i] = &Repository{ - Name: baseName, - Title: baseName, - LastCommitMessage: obj.Message, - LastCommitDate: obj.Author.When.Format(timeFormat), - Ref: head.Name().Short(), + Name: baseName, + Title: baseName, + Description: description, + LastCommitDate: obj.Author.When.Format(timeFormat), + Ref: head.Name().Short(), } } |