Skip to content

Commit 28d2aa9

Browse files
committed
Fix audit logging changes
1 parent 6ae96c9 commit 28d2aa9

20 files changed

+58
-411
lines changed

coderd/audit/diff.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ type Auditable interface {
1818
database.AuditableGroup |
1919
database.License |
2020
database.WorkspaceProxy |
21-
database.OauthMergeState
21+
database.AuditOauthConvertState
2222
}
2323

2424
// Map is a map of changed fields in an audited resource. It maps field names to

coderd/audit/request.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ func ResourceTarget[T Auditable](tgt T) string {
8484
return strconv.Itoa(int(typed.ID))
8585
case database.WorkspaceProxy:
8686
return typed.Name
87-
case database.OauthMergeState:
87+
case database.AuditOauthConvertState:
8888
return string(typed.ToLoginType)
8989
default:
9090
panic(fmt.Sprintf("unknown resource %T", tgt))
@@ -113,7 +113,7 @@ func ResourceID[T Auditable](tgt T) uuid.UUID {
113113
return typed.UUID
114114
case database.WorkspaceProxy:
115115
return typed.ID
116-
case database.OauthMergeState:
116+
case database.AuditOauthConvertState:
117117
// The merge state is for the given user
118118
return typed.UserID
119119
default:
@@ -143,7 +143,7 @@ func ResourceType[T Auditable](tgt T) database.ResourceType {
143143
return database.ResourceTypeLicense
144144
case database.WorkspaceProxy:
145145
return database.ResourceTypeWorkspaceProxy
146-
case database.OauthMergeState:
146+
case database.AuditOauthConvertState:
147147
return database.ResourceTypeConvertLogin
148148
default:
149149
panic(fmt.Sprintf("unknown resource %T", typed))

coderd/database/dbauthz/dbauthz.go

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -818,13 +818,6 @@ func (q *querier) DeleteTailnetClient(ctx context.Context, arg database.DeleteTa
818818
return q.db.DeleteTailnetClient(ctx, arg)
819819
}
820820

821-
func (q *querier) DeleteUserOauthMergeStates(ctx context.Context, userID uuid.UUID) error {
822-
if err := q.authorizeContext(ctx, rbac.ActionDelete, rbac.ResourceSystem); err != nil {
823-
return err
824-
}
825-
return q.db.DeleteUserOauthMergeStates(ctx, userID)
826-
}
827-
828821
func (q *querier) GetAPIKeyByID(ctx context.Context, id string) (database.APIKey, error) {
829822
return fetch(q.log, q.auth, q.db.GetAPIKeyByID)(ctx, id)
830823
}
@@ -1430,13 +1423,6 @@ func (q *querier) GetUserLinkByUserIDLoginType(ctx context.Context, arg database
14301423
return q.db.GetUserLinkByUserIDLoginType(ctx, arg)
14311424
}
14321425

1433-
func (q *querier) GetUserOauthMergeState(ctx context.Context, arg database.GetUserOauthMergeStateParams) (database.OauthMergeState, error) {
1434-
if err := q.authorizeContext(ctx, rbac.ActionRead, rbac.ResourceSystem); err != nil {
1435-
return database.OauthMergeState{}, err
1436-
}
1437-
return q.db.GetUserOauthMergeState(ctx, arg)
1438-
}
1439-
14401426
func (q *querier) GetUsers(ctx context.Context, arg database.GetUsersParams) ([]database.GetUsersRow, error) {
14411427
// TODO: We should use GetUsersWithCount with a better method signature.
14421428
return fetchWithPostFilter(q.auth, q.db.GetUsers)(ctx, arg)
@@ -1959,15 +1945,6 @@ func (q *querier) InsertUserLink(ctx context.Context, arg database.InsertUserLin
19591945
return q.db.InsertUserLink(ctx, arg)
19601946
}
19611947

1962-
func (q *querier) InsertUserOauthMergeState(ctx context.Context, arg database.InsertUserOauthMergeStateParams) (database.OauthMergeState, error) {
1963-
// TODO: @emyrk this permission feels right?
1964-
if err := q.authorizeContext(ctx, rbac.ActionCreate, rbac.ResourceAPIKey.WithOwner(arg.UserID.String())); err != nil {
1965-
return database.OauthMergeState{}, err
1966-
}
1967-
1968-
return q.db.InsertUserOauthMergeState(ctx, arg)
1969-
}
1970-
19711948
func (q *querier) InsertWorkspace(ctx context.Context, arg database.InsertWorkspaceParams) (database.Workspace, error) {
19721949
obj := rbac.ResourceWorkspace.WithOwner(arg.OwnerID.String()).InOrg(arg.OrganizationID)
19731950
return insert(q.log, q.auth, obj, q.db.InsertWorkspace)(ctx, arg)

coderd/database/dbfake/dbfake.go

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,6 @@ type data struct {
139139
workspaceResources []database.WorkspaceResource
140140
workspaces []database.Workspace
141141
workspaceProxies []database.WorkspaceProxy
142-
oauthMergeStates []database.OauthMergeState
143-
144142
// Locks is a map of lock names. Any keys within the map are currently
145143
// locked.
146144
locks map[int64]struct{}
@@ -1202,27 +1200,6 @@ func (*fakeQuerier) DeleteTailnetClient(context.Context, database.DeleteTailnetC
12021200
return database.DeleteTailnetClientRow{}, ErrUnimplemented
12031201
}
12041202

1205-
func (q *fakeQuerier) DeleteUserOauthMergeStates(_ context.Context, userID uuid.UUID) error {
1206-
q.mutex.Lock()
1207-
defer q.mutex.Unlock()
1208-
1209-
i := 0
1210-
for {
1211-
if i >= len(q.oauthMergeStates) {
1212-
break
1213-
}
1214-
k := q.oauthMergeStates[i]
1215-
if k.UserID == userID {
1216-
q.oauthMergeStates[i] = q.oauthMergeStates[len(q.oauthMergeStates)-1]
1217-
q.oauthMergeStates = q.oauthMergeStates[:len(q.oauthMergeStates)-1]
1218-
// We removed an element, so decrement
1219-
i--
1220-
}
1221-
i++
1222-
}
1223-
return nil
1224-
}
1225-
12261203
func (q *fakeQuerier) GetAPIKeyByID(_ context.Context, id string) (database.APIKey, error) {
12271204
q.mutex.RLock()
12281205
defer q.mutex.RUnlock()
@@ -2658,18 +2635,6 @@ func (q *fakeQuerier) GetUserLinkByUserIDLoginType(_ context.Context, params dat
26582635
return database.UserLink{}, sql.ErrNoRows
26592636
}
26602637

2661-
func (q *fakeQuerier) GetUserOauthMergeState(_ context.Context, arg database.GetUserOauthMergeStateParams) (database.OauthMergeState, error) {
2662-
q.mutex.RLock()
2663-
defer q.mutex.RUnlock()
2664-
2665-
for _, s := range q.oauthMergeStates {
2666-
if s.State == arg.StateString && s.UserID == arg.UserID {
2667-
return s, nil
2668-
}
2669-
}
2670-
return database.OauthMergeState{}, sql.ErrNoRows
2671-
}
2672-
26732638
func (q *fakeQuerier) GetUsers(_ context.Context, params database.GetUsersParams) ([]database.GetUsersRow, error) {
26742639
if err := validateDatabaseType(params); err != nil {
26752640
return nil, err
@@ -4091,26 +4056,6 @@ func (q *fakeQuerier) InsertUserLink(_ context.Context, args database.InsertUser
40914056
return link, nil
40924057
}
40934058

4094-
func (q *fakeQuerier) InsertUserOauthMergeState(_ context.Context, arg database.InsertUserOauthMergeStateParams) (database.OauthMergeState, error) {
4095-
q.mutex.Lock()
4096-
defer q.mutex.Unlock()
4097-
4098-
if err := validateDatabaseType(arg); err != nil {
4099-
return database.OauthMergeState{}, err
4100-
}
4101-
4102-
s := database.OauthMergeState{
4103-
State: arg.State,
4104-
CreatedAt: arg.CreatedAt,
4105-
ExpiresAt: arg.ExpiresAt,
4106-
FromLoginType: arg.FromLoginType,
4107-
ToLoginType: arg.ToLoginType,
4108-
UserID: arg.UserID,
4109-
}
4110-
q.oauthMergeStates = append(q.oauthMergeStates, s)
4111-
return s, nil
4112-
}
4113-
41144059
func (q *fakeQuerier) InsertWorkspace(_ context.Context, arg database.InsertWorkspaceParams) (database.Workspace, error) {
41154060
if err := validateDatabaseType(arg); err != nil {
41164061
return database.Workspace{}, err

coderd/database/dbmetrics/dbmetrics.go

Lines changed: 0 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/dbmock/dbmock.go

Lines changed: 0 additions & 44 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/dump.sql

Lines changed: 0 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/migrations/000131_merge_oidc_account.down.sql

Lines changed: 0 additions & 5 deletions
This file was deleted.

coderd/database/migrations/000131_merge_oidc_account.up.sql

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
-- Nothing to do
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-- This has to be outside a transaction
2+
ALTER TYPE resource_type ADD VALUE IF NOT EXISTS 'convert_login';

coderd/database/migrations/testdata/fixtures/000131_oauth_merge_state.up.sql

Lines changed: 0 additions & 15 deletions
This file was deleted.

coderd/database/models.go

Lines changed: 0 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)