MCPcopy Index your code
hub / github.com/coder/coder / GroupMember

Function GroupMember

coderd/database/dbgen/dbgen.go:1102–1147  ·  view source on GitHub ↗

GroupMember requires a user + group to already exist. Example for creating a group member for a random group + user. GroupMember(t, db, database.GroupMemberTable{ UserID: User(t, db, database.User{}).ID, GroupID: Group(t, db, database.Group{ OrganizationID: must(db.GetDefaultOrganizati

(t testing.TB, db database.Store, member database.GroupMemberTable)

Source from the content-addressed store, hash-verified

1100// }).ID,
1101// })
1102func GroupMember(t testing.TB, db database.Store, member database.GroupMemberTable) database.GroupMember {
1103 require.NotEqual(t, member.UserID, uuid.Nil, "A user id is required to use 'dbgen.GroupMember', use 'dbgen.User'.")
1104 require.NotEqual(t, member.GroupID, uuid.Nil, "A group id is required to use 'dbgen.GroupMember', use 'dbgen.Group'.")
1105
1106 //nolint:gosimple
1107 err := db.InsertGroupMember(genCtx, database.InsertGroupMemberParams{
1108 UserID: member.UserID,
1109 GroupID: member.GroupID,
1110 })
1111 require.NoError(t, err, "insert group member")
1112
1113 user, err := db.GetUserByID(genCtx, member.UserID)
1114 if errors.Is(err, sql.ErrNoRows) {
1115 require.NoErrorf(t, err, "'dbgen.GroupMember' failed as the user with id %s does not exist. A user is required to use this function, use 'dbgen.User'.", member.UserID)
1116 }
1117 require.NoError(t, err, "get user by id")
1118
1119 group, err := db.GetGroupByID(genCtx, member.GroupID)
1120 if errors.Is(err, sql.ErrNoRows) {
1121 require.NoErrorf(t, err, "'dbgen.GroupMember' failed as the group with id %s does not exist. A group is required to use this function, use 'dbgen.Group'.", member.GroupID)
1122 }
1123 require.NoError(t, err, "get group by id")
1124
1125 groupMember := database.GroupMember{
1126 UserID: user.ID,
1127 UserEmail: user.Email,
1128 UserUsername: user.Username,
1129 UserHashedPassword: user.HashedPassword,
1130 UserCreatedAt: user.CreatedAt,
1131 UserUpdatedAt: user.UpdatedAt,
1132 UserStatus: user.Status,
1133 UserRbacRoles: user.RBACRoles,
1134 UserLoginType: user.LoginType,
1135 UserAvatarUrl: user.AvatarURL,
1136 UserDeleted: user.Deleted,
1137 UserLastSeenAt: user.LastSeenAt,
1138 UserQuietHoursSchedule: user.QuietHoursSchedule,
1139 UserName: user.Name,
1140 UserGithubComUserID: user.GithubComUserID,
1141 OrganizationID: group.OrganizationID,
1142 GroupName: group.Name,
1143 GroupID: group.ID,
1144 }
1145
1146 return groupMember
1147}
1148
1149// ProvisionerDaemon creates a provisioner daemon as far as the database is concerned. It does not run a provisioner daemon.
1150// If no key is provided, it will create one.

Callers 13

TestTelemetryFunction · 0.92
TestApplyGroupDifferenceFunction · 0.92
SetupOrganizationFunction · 0.92
TestGroupRemovalTriggerFunction · 0.92
DoMethod · 0.92
TestGeneratorFunction · 0.92

Calls 4

InsertGroupMemberMethod · 0.65
GetUserByIDMethod · 0.65
GetGroupByIDMethod · 0.65
IsMethod · 0.45

Tested by 12

TestTelemetryFunction · 0.74
TestApplyGroupDifferenceFunction · 0.74
SetupOrganizationFunction · 0.74
TestGroupRemovalTriggerFunction · 0.74
TestGeneratorFunction · 0.74
TestReconcileAllFunction · 0.74