aboutsummaryrefslogtreecommitdiffstats
path: root/bug
diff options
context:
space:
mode:
Diffstat (limited to 'bug')
-rw-r--r--bug/bug.go6
-rw-r--r--bug/comment.go6
-rw-r--r--bug/person.go31
3 files changed, 43 insertions, 0 deletions
diff --git a/bug/bug.go b/bug/bug.go
new file mode 100644
index 00000000..08743e85
--- /dev/null
+++ b/bug/bug.go
@@ -0,0 +1,6 @@
+package bug
+
+type Bug struct {
+ Title string
+ Comments []Comment
+}
diff --git a/bug/comment.go b/bug/comment.go
new file mode 100644
index 00000000..f7727709
--- /dev/null
+++ b/bug/comment.go
@@ -0,0 +1,6 @@
+package bug
+
+type Comment struct {
+ Author Person
+ Message string
+}
diff --git a/bug/person.go b/bug/person.go
new file mode 100644
index 00000000..41f37ef4
--- /dev/null
+++ b/bug/person.go
@@ -0,0 +1,31 @@
+package bug
+
+import (
+ "github.com/MichaelMure/git-bug/repository"
+ "github.com/pkg/errors"
+)
+
+type Person struct {
+ Name string
+ Email string
+}
+
+func GetUser(repo repository.Repo) (Person, error) {
+ name, err := repo.GetUserName()
+ if err != nil {
+ return Person{}, err
+ }
+ if name == "" {
+ return Person{}, errors.New("User name is not configured in git yet. Please use `git config --global user.name \"John Doe\"`")
+ }
+
+ email, err := repo.GetUserEmail()
+ if err != nil {
+ return Person{}, err
+ }
+ if email == "" {
+ return Person{}, errors.New("User name is not configured in git yet. Please use `git config --global user.email johndoe@example.com`")
+ }
+
+ return Person{Name: name, Email: email}, nil
+}