aboutsummaryrefslogtreecommitdiffstats
path: root/commands/cmdjson
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2022-09-10 11:09:19 +0200
committerMichael Muré <batolettre@gmail.com>2022-11-20 17:18:09 +0100
commitacc9a6f3a6df2961c3ae44352216d915cb9b5315 (patch)
treee159372673104ade1f15ddc1a84aa9da93e93552 /commands/cmdjson
parenta3fa445a9c76631c4cd16f93e1c1c68a954adef7 (diff)
downloadgit-bug-acc9a6f3a6df2961c3ae44352216d915cb9b5315.tar.gz
commands: reorg into different packages
Diffstat (limited to 'commands/cmdjson')
-rw-r--r--commands/cmdjson/json_common.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/commands/cmdjson/json_common.go b/commands/cmdjson/json_common.go
new file mode 100644
index 00000000..60e6e751
--- /dev/null
+++ b/commands/cmdjson/json_common.go
@@ -0,0 +1,48 @@
+package cmdjson
+
+import (
+ "time"
+
+ "github.com/MichaelMure/git-bug/cache"
+ "github.com/MichaelMure/git-bug/entities/identity"
+ "github.com/MichaelMure/git-bug/util/lamport"
+)
+
+type Identity struct {
+ Id string `json:"id"`
+ HumanId string `json:"human_id"`
+ Name string `json:"name"`
+ Login string `json:"login"`
+}
+
+func NewIdentity(i identity.Interface) Identity {
+ return Identity{
+ Id: i.Id().String(),
+ HumanId: i.Id().Human(),
+ Name: i.Name(),
+ Login: i.Login(),
+ }
+}
+
+func NewIdentityFromExcerpt(excerpt *cache.IdentityExcerpt) Identity {
+ return Identity{
+ Id: excerpt.Id.String(),
+ HumanId: excerpt.Id.Human(),
+ Name: excerpt.Name,
+ Login: excerpt.Login,
+ }
+}
+
+type Time struct {
+ Timestamp int64 `json:"timestamp"`
+ Time time.Time `json:"time"`
+ Lamport lamport.Time `json:"lamport,omitempty"`
+}
+
+func NewTime(t time.Time, l lamport.Time) Time {
+ return Time{
+ Timestamp: t.Unix(),
+ Time: t,
+ Lamport: l,
+ }
+}