mirror of
https://github.com/pomerium/pomerium.git
synced 2025-06-03 03:12:50 +02:00
Revert "core/grpc: add IterateAll method" (#5234)
Revert "core/grpc: add IterateAll method (#5227)"
This reverts commit 3961098681
.
This commit is contained in:
parent
99d7a73cef
commit
98cea10421
3 changed files with 18 additions and 198 deletions
|
@ -8,32 +8,43 @@ import (
|
|||
"github.com/pomerium/pomerium/internal/sets"
|
||||
"github.com/pomerium/pomerium/pkg/grpc/databroker"
|
||||
"github.com/pomerium/pomerium/pkg/grpc/session"
|
||||
"github.com/pomerium/pomerium/pkg/protoutil"
|
||||
)
|
||||
|
||||
var sessionTypeURL = protoutil.GetTypeURL(new(session.Session))
|
||||
|
||||
// CurrentUsers returns a list of users active within the current UTC day
|
||||
func CurrentUsers(
|
||||
ctx context.Context,
|
||||
client databroker.DataBrokerServiceClient,
|
||||
) ([]string, error) {
|
||||
records, _, _, err := databroker.InitialSync(ctx, client, &databroker.SyncLatestRequest{
|
||||
Type: sessionTypeURL,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("fetching sessions: %w", err)
|
||||
}
|
||||
|
||||
users := sets.NewHash[string]()
|
||||
utcNow := time.Now().UTC()
|
||||
threshold := time.Date(utcNow.Year(), utcNow.Month(), utcNow.Day(), 0, 0, 0, 0, time.UTC)
|
||||
|
||||
for s, err := range databroker.IterateAll[session.Session](ctx, client) {
|
||||
for _, record := range records {
|
||||
var s session.Session
|
||||
err := record.GetData().UnmarshalTo(&s)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error fetching sessions: %w", err)
|
||||
return nil, fmt.Errorf("unmarshaling session: %w", err)
|
||||
}
|
||||
|
||||
if s.Object.GetUserId() == "" { // session creation is in progress
|
||||
if s.UserId == "" { // session creation is in progress
|
||||
continue
|
||||
}
|
||||
if s.Object.GetAccessedAt() == nil {
|
||||
if s.AccessedAt == nil {
|
||||
continue
|
||||
}
|
||||
if s.Object.GetAccessedAt().AsTime().Before(threshold) {
|
||||
if s.AccessedAt.AsTime().Before(threshold) {
|
||||
continue
|
||||
}
|
||||
users.Add(s.Object.GetUserId())
|
||||
users.Add(s.UserId)
|
||||
}
|
||||
|
||||
return users.Items(), nil
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue