@@ -24,12 +24,13 @@ func New() database.Store {
24
24
return & fakeQuerier {
25
25
mutex : & sync.RWMutex {},
26
26
data : & data {
27
- apiKeys : make ([]database.APIKey , 0 ),
28
- agentStats : make ([]database.AgentStat , 0 ),
29
- organizationMembers : make ([]database.OrganizationMember , 0 ),
30
- organizations : make ([]database.Organization , 0 ),
31
- users : make ([]database.User , 0 ),
32
-
27
+ apiKeys : make ([]database.APIKey , 0 ),
28
+ agentStats : make ([]database.AgentStat , 0 ),
29
+ organizationMembers : make ([]database.OrganizationMember , 0 ),
30
+ organizations : make ([]database.Organization , 0 ),
31
+ users : make ([]database.User , 0 ),
32
+ groups : make ([]database.Group , 0 ),
33
+ groupMembers : make ([]database.GroupMember , 0 ),
33
34
auditLogs : make ([]database.AuditLog , 0 ),
34
35
files : make ([]database.File , 0 ),
35
36
gitSSHKey : make ([]database.GitSSHKey , 0 ),
@@ -86,6 +87,7 @@ type data struct {
86
87
files []database.File
87
88
gitSSHKey []database.GitSSHKey
88
89
groups []database.Group
90
+ groupMembers []database.GroupMember
89
91
parameterSchemas []database.ParameterSchema
90
92
parameterValues []database.ParameterValue
91
93
provisionerDaemons []database.ProvisionerDaemon
@@ -2419,19 +2421,42 @@ func (q *fakeQuerier) UpdateGitSSHKey(_ context.Context, arg database.UpdateGitS
2419
2421
return sql .ErrNoRows
2420
2422
}
2421
2423
2422
- func (q * fakeQuerier ) InsertGroupMember (ctx context.Context , arg database.InsertGroupMemberParams ) error {
2423
- panic ("not implemented" )
2424
+ func (q * fakeQuerier ) InsertGroupMember (_ context.Context , arg database.InsertGroupMemberParams ) error {
2425
+ q .mutex .Lock ()
2426
+ defer q .mutex .Unlock ()
2427
+
2428
+ q .groupMembers = append (q .groupMembers , database.GroupMember {
2429
+ GroupID : arg .GroupID ,
2430
+ UserID : arg .UserID ,
2431
+ })
2432
+
2424
2433
return nil
2425
2434
}
2426
2435
2427
- func (q * fakeQuerier ) DeleteGroupMember (ctx context.Context , userID uuid.UUID ) error {
2428
- panic ("not implemented" )
2436
+ func (q * fakeQuerier ) DeleteGroupMember (_ context.Context , userID uuid.UUID ) error {
2437
+ q .mutex .Lock ()
2438
+ defer q .mutex .Unlock ()
2439
+
2440
+ for i , member := range q .groupMembers {
2441
+ if member .UserID == userID {
2442
+ q .groupMembers = append (q .groupMembers [:i ], q .groupMembers [i + 1 :]... )
2443
+ }
2444
+ }
2429
2445
return nil
2430
2446
}
2431
2447
2432
- func (q * fakeQuerier ) UpdateGroupByID (ctx context.Context , arg database.UpdateGroupByIDParams ) (database.Group , error ) {
2433
- panic ("not implemented" )
2434
- return database.Group {}, nil
2448
+ func (q * fakeQuerier ) UpdateGroupByID (_ context.Context , arg database.UpdateGroupByIDParams ) (database.Group , error ) {
2449
+ q .mutex .Lock ()
2450
+ defer q .mutex .Unlock ()
2451
+
2452
+ for i , group := range q .groups {
2453
+ if group .ID == arg .ID {
2454
+ group .Name = arg .Name
2455
+ q .groups [i ] = group
2456
+ return group , nil
2457
+ }
2458
+ }
2459
+ return database.Group {}, sql .ErrNoRows
2435
2460
}
2436
2461
2437
2462
func (q * fakeQuerier ) DeleteGitSSHKey (_ context.Context , userID uuid.UUID ) error {
@@ -2741,7 +2766,28 @@ func (q *fakeQuerier) GetUserGroups(_ context.Context, userID uuid.UUID) ([]data
2741
2766
}
2742
2767
2743
2768
func (q * fakeQuerier ) GetGroupMembers (_ context.Context , groupID uuid.UUID ) ([]database.User , error ) {
2744
- panic ("not implemented" )
2769
+ q .mutex .RLock ()
2770
+ defer q .mutex .RUnlock ()
2771
+
2772
+ var members []database.GroupMember
2773
+ for _ , member := range q .groupMembers {
2774
+ if member .GroupID == groupID {
2775
+ members = append (members , member )
2776
+ }
2777
+ }
2778
+
2779
+ users := make ([]database.User , 0 , len (members ))
2780
+
2781
+ for _ , member := range members {
2782
+ for _ , user := range q .users {
2783
+ if user .ID == member .UserID {
2784
+ users = append (users , user )
2785
+ break
2786
+ }
2787
+ }
2788
+ }
2789
+
2790
+ return users , nil
2745
2791
}
2746
2792
2747
2793
func (q * fakeQuerier ) GetGroupsByOrganizationID (ctx context.Context , organizationID uuid.UUID ) ([]database.Group , error ) {
0 commit comments