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

Function convertOrganizationMembersWithUserData

coderd/members.go:567–602  ·  view source on GitHub ↗
(ctx context.Context, db database.Store, rows []database.OrganizationMembersRow, aiSeatSet map[uuid.UUID]struct{})

Source from the content-addressed store, hash-verified

565}
566
567func convertOrganizationMembersWithUserData(ctx context.Context, db database.Store, rows []database.OrganizationMembersRow, aiSeatSet map[uuid.UUID]struct{}) ([]codersdk.OrganizationMemberWithUserData, error) {
568 members := make([]database.OrganizationMember, 0)
569 for _, row := range rows {
570 members = append(members, row.OrganizationMember)
571 }
572
573 convertedMembers, err := convertOrganizationMembers(ctx, db, members)
574 if err != nil {
575 return nil, err
576 }
577 if len(convertedMembers) != len(rows) {
578 return nil, xerrors.Errorf("conversion failed, mismatch slice lengths")
579 }
580
581 converted := make([]codersdk.OrganizationMemberWithUserData, 0)
582 for i := range convertedMembers {
583 _, hasAISeat := aiSeatSet[rows[i].OrganizationMember.UserID]
584 converted = append(converted, codersdk.OrganizationMemberWithUserData{
585 Username: rows[i].Username,
586 AvatarURL: rows[i].AvatarURL,
587 Name: rows[i].Name,
588 Email: rows[i].Email,
589 GlobalRoles: db2sdk.SlimRolesFromNames(rows[i].GlobalRoles),
590 HasAISeat: hasAISeat,
591 LastSeenAt: rows[i].LastSeenAt,
592 Status: codersdk.UserStatus(rows[i].Status),
593 IsServiceAccount: rows[i].IsServiceAccount,
594 LoginType: codersdk.LoginType(rows[i].LoginType),
595 UserCreatedAt: rows[i].UserCreatedAt,
596 UserUpdatedAt: rows[i].UserUpdatedAt,
597 OrganizationMember: convertedMembers[i],
598 })
599 }
600
601 return converted, nil
602}
603
604// manualOrganizationMembership checks if the user is an OIDC user and if organization sync is enabled.
605// If organization sync is enabled, manual organization assignment is not allowed,

Callers 3

organizationMemberMethod · 0.85
listMembersMethod · 0.85
paginatedMembersMethod · 0.85

Calls 5

SlimRolesFromNamesFunction · 0.92
UserStatusTypeAlias · 0.92
LoginTypeTypeAlias · 0.92
ErrorfMethod · 0.45

Tested by

no test coverage detected