diff options
Diffstat (limited to 'commands/cmdjson')
-rw-r--r-- | commands/cmdjson/json_common.go | 48 |
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, + } +} |