Skip to content

Commit 0c01b36

Browse files
committed
fixup! add queries to support rotating dbcrypt keys
1 parent 75e4014 commit 0c01b36

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

enterprise/dbcrypt/dbcrypt.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
"database/sql"
2828
"encoding/base64"
2929
"errors"
30+
"github.com/google/uuid"
3031
"strings"
3132
"sync/atomic"
3233

@@ -142,6 +143,19 @@ func (db *dbCrypt) GetUserLinkByLinkedID(ctx context.Context, linkedID string) (
142143
return link, db.decryptFields(&link.OAuthAccessToken, &link.OAuthRefreshToken)
143144
}
144145

146+
func (db *dbCrypt) GetUserLinksByUserID(ctx context.Context, userID uuid.UUID) ([]database.UserLink, error) {
147+
links, err := db.Store.GetUserLinksByUserID(ctx, userID)
148+
if err != nil {
149+
return nil, err
150+
}
151+
for _, link := range links {
152+
if err := db.decryptFields(&link.OAuthAccessToken, &link.OAuthRefreshToken); err != nil {
153+
return nil, err
154+
}
155+
}
156+
return links, nil
157+
}
158+
145159
func (db *dbCrypt) GetUserLinkByUserIDLoginType(ctx context.Context, params database.GetUserLinkByUserIDLoginTypeParams) (database.UserLink, error) {
146160
link, err := db.Store.GetUserLinkByUserIDLoginType(ctx, params)
147161
if err != nil {
@@ -182,6 +196,19 @@ func (db *dbCrypt) GetGitAuthLink(ctx context.Context, params database.GetGitAut
182196
return link, db.decryptFields(&link.OAuthAccessToken, &link.OAuthRefreshToken)
183197
}
184198

199+
func (db *dbCrypt) GetGitAuthLinksByUserID(ctx context.Context, userID uuid.UUID) ([]database.GitAuthLink, error) {
200+
links, err := db.Store.GetGitAuthLinksByUserID(ctx, userID)
201+
if err != nil {
202+
return nil, err
203+
}
204+
for _, link := range links {
205+
if err := db.decryptFields(&link.OAuthAccessToken, &link.OAuthRefreshToken); err != nil {
206+
return nil, err
207+
}
208+
}
209+
return links, nil
210+
}
211+
185212
func (db *dbCrypt) UpdateGitAuthLink(ctx context.Context, params database.UpdateGitAuthLinkParams) (database.GitAuthLink, error) {
186213
err := db.encryptFields(&params.OAuthAccessToken, &params.OAuthRefreshToken)
187214
if err != nil {

0 commit comments

Comments
 (0)