mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-14 17:51:44 +03:00
56 lines
1.2 KiB
Go
56 lines
1.2 KiB
Go
package commands
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/MichaelMure/git-bug/cache"
|
|
"github.com/MichaelMure/git-bug/entities/identity"
|
|
"github.com/MichaelMure/git-bug/util/lamport"
|
|
)
|
|
|
|
type JSONIdentity struct {
|
|
Id string `json:"id"`
|
|
HumanId string `json:"human_id"`
|
|
Name string `json:"name"`
|
|
Login string `json:"login"`
|
|
}
|
|
|
|
func NewJSONIdentity(i identity.Interface) JSONIdentity {
|
|
return JSONIdentity{
|
|
Id: i.Id().String(),
|
|
HumanId: i.Id().Human(),
|
|
Name: i.Name(),
|
|
Login: i.Login(),
|
|
}
|
|
}
|
|
|
|
func NewJSONIdentityFromExcerpt(excerpt *cache.IdentityExcerpt) JSONIdentity {
|
|
return JSONIdentity{
|
|
Id: excerpt.Id.String(),
|
|
HumanId: excerpt.Id.Human(),
|
|
Name: excerpt.Name,
|
|
Login: excerpt.Login,
|
|
}
|
|
}
|
|
|
|
func NewJSONIdentityFromLegacyExcerpt(excerpt *cache.LegacyAuthorExcerpt) JSONIdentity {
|
|
return JSONIdentity{
|
|
Name: excerpt.Name,
|
|
Login: excerpt.Login,
|
|
}
|
|
}
|
|
|
|
type JSONTime struct {
|
|
Timestamp int64 `json:"timestamp"`
|
|
Time time.Time `json:"time"`
|
|
Lamport lamport.Time `json:"lamport,omitempty"`
|
|
}
|
|
|
|
func NewJSONTime(t time.Time, l lamport.Time) JSONTime {
|
|
return JSONTime{
|
|
Timestamp: t.Unix(),
|
|
Time: t,
|
|
Lamport: l,
|
|
}
|
|
}
|