From f1460556df7d34723af361353d7a8125e9b0ff8c Mon Sep 17 00:00:00 2001 From: Gianmaria Del Monte Date: Fri, 10 Mar 2023 14:02:34 +0100 Subject: [PATCH 1/2] list only valid ocm token --- pkg/ocm/invite/repository/json/json.go | 7 ++++++- pkg/ocm/invite/repository/sql/sql.go | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pkg/ocm/invite/repository/json/json.go b/pkg/ocm/invite/repository/json/json.go index cb3ac11168..2101229229 100644 --- a/pkg/ocm/invite/repository/json/json.go +++ b/pkg/ocm/invite/repository/json/json.go @@ -25,6 +25,7 @@ import ( "os" "strings" "sync" + "time" userpb "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" invitepb "github.com/cs3org/go-cs3apis/cs3/ocm/invite/v1beta1" @@ -173,13 +174,17 @@ func (m *manager) ListTokens(ctx context.Context, initiator *userpb.UserId) ([]* tokens := []*invitepb.InviteToken{} for _, token := range m.model.Invites { - if utils.UserEqual(token.UserId, initiator) { + if utils.UserEqual(token.UserId, initiator) && !tokenIsExpired(token) { tokens = append(tokens, token) } } return tokens, nil } +func tokenIsExpired(token *invitepb.InviteToken) bool { + return token.Expiration != nil && token.Expiration.Seconds > uint64(time.Now().Unix()) +} + func (m *manager) AddRemoteUser(ctx context.Context, initiator *userpb.UserId, remoteUser *userpb.User) error { m.Lock() defer m.Unlock() diff --git a/pkg/ocm/invite/repository/sql/sql.go b/pkg/ocm/invite/repository/sql/sql.go index 31181bba7d..fe27f2413a 100644 --- a/pkg/ocm/invite/repository/sql/sql.go +++ b/pkg/ocm/invite/repository/sql/sql.go @@ -139,7 +139,7 @@ func convertToInviteToken(tkn dbToken) *invitepb.InviteToken { } func (m *mgr) ListTokens(ctx context.Context, initiator *userpb.UserId) ([]*invitepb.InviteToken, error) { - query := "SELECT token, initiator, expiration, description FROM ocm_tokens WHERE initiator=?" + query := "SELECT token, initiator, expiration, description FROM ocm_tokens WHERE initiator=? AND expiration > NOW()" tokens := []*invitepb.InviteToken{} rows, err := m.db.QueryContext(ctx, query, conversions.FormatUserID(initiator)) From a960bda500301a6f675a9b76a0c18cf5485bebb2 Mon Sep 17 00:00:00 2001 From: Gianmaria Del Monte Date: Fri, 10 Mar 2023 14:03:40 +0100 Subject: [PATCH 2/2] add changelog --- changelog/unreleased/ocm-shares.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 changelog/unreleased/ocm-shares.md diff --git a/changelog/unreleased/ocm-shares.md b/changelog/unreleased/ocm-shares.md new file mode 100644 index 0000000000..4e78c8a319 --- /dev/null +++ b/changelog/unreleased/ocm-shares.md @@ -0,0 +1,3 @@ +Enhancement: List only valid OCM tokens + +https://github.com/cs3org/reva/pull/3722 \ No newline at end of file