diff --git a/session/common.go b/session/common.go index 901a68d..745d979 100644 --- a/session/common.go +++ b/session/common.go @@ -6,7 +6,6 @@ import ( "encoding/hex" "errors" "math/rand" - "strconv" "strings" "time" @@ -18,20 +17,21 @@ type Authorization struct { invalidated string // by authorization provider - Platform string `bson:"p" json:"p"` - Uid string `bson:"u" json:"u"` - Alias string `bson:"al" json:"al"` - CreatedTime int64 `bson:"ct" json:"ct"` + Platform string `bson:"p" json:"p"` + Uid string `bson:"u" json:"u"` + Alias string `bson:"al" json:"al"` + CreatedTime primitive.DateTime `bson:"ct" json:"ct"` } func (auth *Authorization) ToStrings() []string { + ct, _ := auth.CreatedTime.MarshalJSON() return []string{ "a", auth.Account.Hex(), "p", auth.Platform, "u", auth.Uid, "al", auth.Alias, "inv", auth.invalidated, - "ct", strconv.FormatInt(auth.CreatedTime, 10), + "ct", string(ct), } } @@ -41,14 +41,15 @@ func (auth *Authorization) Valid() bool { func MakeAuthrizationFromStringMap(src map[string]string) Authorization { accid, _ := primitive.ObjectIDFromHex(src["a"]) - ct, _ := strconv.ParseInt(src["ct"], 10, 0) + var datetime primitive.DateTime + datetime.UnmarshalJSON([]byte(src["ct"])) return Authorization{ Account: accid, Platform: src["p"], Uid: src["u"], Alias: src["al"], invalidated: src["inv"], - CreatedTime: ct, + CreatedTime: datetime, } }