authorize: performance improvements (#3723)

This commit is contained in:
Caleb Doxsey 2022-11-04 17:09:52 -06:00 committed by GitHub
parent a3cfe8fa42
commit 02df20f10a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 20 deletions

View file

@ -87,12 +87,23 @@ func (a *Authorize) getDataBrokerSessionOrServiceAccount(
return s, nil
}
func (a *Authorize) getDataBrokerUser(ctx context.Context, userID string) (u *user.User, err error) {
func (a *Authorize) getDataBrokerUser(
ctx context.Context,
userID string,
dataBrokerRecordVersion uint64,
) (*user.User, error) {
ctx, span := trace.StartSpan(ctx, "authorize.getDataBrokerUser")
defer span.End()
client := a.state.Load().dataBrokerClient
record, err := getDataBrokerRecord(ctx, grpcutil.GetTypeURL(new(user.User)), userID, dataBrokerRecordVersion)
if err != nil {
return nil, err
}
u, err = user.Get(ctx, client, userID)
return u, err
var u user.User
err = record.GetData().UnmarshalTo(&u)
if err != nil {
return nil, err
}
return &u, nil
}