Skip to content

Commit 2b8ae1d

Browse files
committed
fix compile issues
1 parent b76f5ac commit 2b8ae1d

File tree

4 files changed

+14
-18
lines changed

4 files changed

+14
-18
lines changed

coderd/idpsync/group.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import (
1313
"github.com/coder/coder/v2/coderd/database"
1414
"github.com/coder/coder/v2/coderd/database/db2sdk"
1515
"github.com/coder/coder/v2/coderd/database/dbauthz"
16-
"github.com/coder/coder/v2/coderd/runtimeconfig"
1716
"github.com/coder/coder/v2/coderd/util/slice"
1817
)
1918

@@ -44,8 +43,6 @@ func (s AGPLIDPSync) SyncGroups(ctx context.Context, db database.Store, user dat
4443
ctx = dbauthz.AsSystemRestricted(ctx)
4544

4645
db.InTx(func(tx database.Store) error {
47-
manager := runtimeconfig.NewStoreManager(tx)
48-
4946
userGroups, err := tx.GetGroups(ctx, database.GetGroupsParams{
5047
HasMemberID: user.ID,
5148
})
@@ -63,7 +60,7 @@ func (s AGPLIDPSync) SyncGroups(ctx context.Context, db database.Store, user dat
6360
// For each org, we need to fetch the sync settings
6461
orgSettings := make(map[uuid.UUID]GroupSyncSettings)
6562
for orgID := range userOrgs {
66-
orgResolver := manager.Scoped(orgID.String())
63+
orgResolver := s.Manager.OrganizationResolver(tx, orgID)
6764
settings, err := s.SyncSettings.Group.Resolve(ctx, orgResolver)
6865
if err != nil {
6966
return xerrors.Errorf("resolve group sync settings: %w", err)

coderd/idpsync/group_test.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func TestParseGroupClaims(t *testing.T) {
2828
t.Parallel()
2929

3030
s := idpsync.NewAGPLSync(slogtest.Make(t, &slogtest.Options{}),
31-
runtimeconfig.NewNoopManager(),
31+
runtimeconfig.NewStoreManager(),
3232
idpsync.DeploymentSyncSettings{})
3333

3434
ctx := testutil.Context(t, testutil.WaitMedium)
@@ -44,7 +44,7 @@ func TestParseGroupClaims(t *testing.T) {
4444
t.Parallel()
4545

4646
s := idpsync.NewAGPLSync(slogtest.Make(t, &slogtest.Options{}),
47-
runtimeconfig.NewNoopManager(),
47+
runtimeconfig.NewStoreManager(),
4848
idpsync.DeploymentSyncSettings{
4949
GroupField: "groups",
5050
GroupAllowList: map[string]struct{}{
@@ -209,7 +209,7 @@ func TestGroupSyncTable(t *testing.T) {
209209
}
210210

211211
db, _ := dbtestutil.NewDB(t)
212-
manager := runtimeconfig.NewStoreManager(db)
212+
manager := runtimeconfig.NewStoreManager()
213213
s := idpsync.NewAGPLSync(slogtest.Make(t, &slogtest.Options{}),
214214
manager,
215215
idpsync.DeploymentSyncSettings{
@@ -240,8 +240,8 @@ func SetupOrganization(t *testing.T, s *idpsync.AGPLIDPSync, db database.Store,
240240
_, err := db.InsertAllUsersGroup(context.Background(), org.ID)
241241
require.NoError(t, err, "Everyone group for an org")
242242

243-
manager := runtimeconfig.NewStoreManager(db)
244-
orgResolver := manager.Scoped(org.ID.String())
243+
manager := runtimeconfig.NewStoreManager()
244+
orgResolver := manager.OrganizationResolver(db, org.ID)
245245
err = s.Group.SetRuntimeValue(context.Background(), orgResolver, def.Settings)
246246
require.NoError(t, err)
247247

coderd/idpsync/idpsync.go

+6-7
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ type IDPSync interface {
4343
// AGPLIDPSync is the configuration for syncing user information from an external
4444
// IDP. All related code to syncing user information should be in this package.
4545
type AGPLIDPSync struct {
46-
Logger slog.Logger
46+
Logger slog.Logger
47+
Manager runtimeconfig.Manager
4748

4849
SyncSettings
4950
}
@@ -88,7 +89,7 @@ func FromDeploymentValues(dv *codersdk.DeploymentValues) DeploymentSyncSettings
8889
type SyncSettings struct {
8990
DeploymentSyncSettings
9091

91-
Group runtimeconfig.Entry[*GroupSyncSettings]
92+
Group runtimeconfig.RuntimeEntry[*GroupSyncSettings]
9293

9394
//// Group options here are set by the deployment config and only apply to
9495
//// the default organization.
@@ -100,13 +101,11 @@ type SyncSettings struct {
100101

101102
func NewAGPLSync(logger slog.Logger, manager runtimeconfig.Manager, settings DeploymentSyncSettings) *AGPLIDPSync {
102103
return &AGPLIDPSync{
103-
Logger: logger.Named("idp-sync"),
104+
Logger: logger.Named("idp-sync"),
105+
Manager: manager,
104106
SyncSettings: SyncSettings{
105107
DeploymentSyncSettings: settings,
106-
// Default to '{}' if the group sync settings are not set.
107-
// TODO: Feels strange to have to define the type as a string. I should be
108-
// able to pass in an empty struct.
109-
Group: runtimeconfig.MustNew[*GroupSyncSettings]("group-sync-settings", "{}"),
108+
Group: runtimeconfig.MustNew[*GroupSyncSettings]("group-sync-settings"),
110109
},
111110
}
112111
}

coderd/idpsync/organizations_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func TestParseOrganizationClaims(t *testing.T) {
2020
t.Parallel()
2121

2222
s := idpsync.NewAGPLSync(slogtest.Make(t, &slogtest.Options{}),
23-
runtimeconfig.NewNoopManager(),
23+
runtimeconfig.NewStoreManager(),
2424
idpsync.DeploymentSyncSettings{
2525
OrganizationField: "",
2626
OrganizationMapping: nil,
@@ -42,7 +42,7 @@ func TestParseOrganizationClaims(t *testing.T) {
4242

4343
// AGPL has limited behavior
4444
s := idpsync.NewAGPLSync(slogtest.Make(t, &slogtest.Options{}),
45-
runtimeconfig.NewNoopManager(),
45+
runtimeconfig.NewStoreManager(),
4646
idpsync.DeploymentSyncSettings{
4747
OrganizationField: "orgs",
4848
OrganizationMapping: map[string][]uuid.UUID{

0 commit comments

Comments
 (0)