Documentation
¶
Index ¶
- type KeycloakClientInterface
- type KeycloakService
- type Service
- func (s *Service) EnrichUserRoles(ctx context.Context, userRoles []*graph.UserRoles) error
- func (s *Service) GetUsers(ctx context.Context) ([]*graph.User, error)
- func (s *Service) GetUsersByEmails(ctx context.Context, emails []string) (map[string]*graph.User, error)
- func (s *Service) UserByMail(ctx context.Context, userID string) (*graph.User, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type KeycloakClientInterface ¶
type KeycloakClientInterface interface {
GetUsersWithResponse(ctx context.Context, realm string, params *keycloakClient.GetUsersParams, reqEditors ...keycloakClient.RequestEditorFn) (*keycloakClient.GetUsersResponse, error)
}
KeycloakClientInterface defines the subset of Keycloak client methods we use
type KeycloakService ¶
type KeycloakService interface {
// UserByMail retrieves a user by their email address
UserByMail(ctx context.Context, userID string) (*graph.User, error)
// GetUsersByEmails retrieves multiple users by their email addresses in a single batch call
// Returns a map of email -> User for efficient lookups
GetUsersByEmails(ctx context.Context, emails []string) (map[string]*graph.User, error)
// EnrichUserRoles enriches user roles with complete user information from Keycloak
// Updates the UserRoles slice in-place with FirstName, LastName, and UserID from Keycloak
EnrichUserRoles(ctx context.Context, userRoles []*graph.UserRoles) error
// GetUsers retrieves all users from Keycloak
GetUsers(ctx context.Context) ([]*graph.User, error)
}
KeycloakService defines the interface for Keycloak user management operations
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func (*Service) EnrichUserRoles ¶
EnrichUserRoles enriches user roles with complete user information from Keycloak Updates the UserRoles slice in-place with FirstName, LastName, and UserID from Keycloak
func (*Service) GetUsersByEmails ¶
Click to show internal directories.
Click to hide internal directories.