From 3d80ec721f2bc346780898182aa080605a76587e Mon Sep 17 00:00:00 2001 From: haiwu <54203997+Chinoholo0807@users.noreply.github.com> Date: Sat, 14 Oct 2023 11:03:58 +0800 Subject: [PATCH] fix: use user.UpdatedTime as scim.Meta.Version instead of user.Id (#2406) * 111 * fix: use user.UpdatedTime as scim.Meta.Version instead of user.Id --------- Co-authored-by: hsluoyz --- scim/util.go | 5 ++++- util/time.go | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/scim/util.go b/scim/util.go index 7ff2e59d..12b4d629 100644 --- a/scim/util.go +++ b/scim/util.go @@ -96,10 +96,13 @@ func buildExternalId(user *object.User) optional.String { func buildMeta(user *object.User) scim.Meta { createdTime := util.String2Time(user.CreatedTime) updatedTime := util.String2Time(user.UpdatedTime) + if user.UpdatedTime == "" { + updatedTime = createdTime + } return scim.Meta{ Created: &createdTime, LastModified: &updatedTime, - Version: user.Id, + Version: util.Time2String(updatedTime), } } diff --git a/util/time.go b/util/time.go index c1310505..c386a3d3 100644 --- a/util/time.go +++ b/util/time.go @@ -54,6 +54,10 @@ func String2Time(timestamp string) time.Time { return parseTime } +func Time2String(timestamp time.Time) string { + return timestamp.Format(time.RFC3339) +} + func IsTokenExpired(createdTime string, expiresIn int) bool { createdTimeObj, _ := time.Parse(time.RFC3339, createdTime) expiresAtObj := createdTimeObj.Add(time.Duration(expiresIn) * time.Second)