Versions in this module Expand all Collapse all v0 v0.10.0 Sep 6, 2026 Changes in this version + var ErrInvalidPrincipalType = errors.New("principal must be of type human for SCIM User mapping") + func ParseGroupID(id string) (uuid.UUID, error) + func ParsePrincipalID(id string) (uuid.UUID, error) + func ParseUserID(id string) (uuid.UUID, error) + type Config struct + BaseURL string + IncludeGroups bool + IncludeMembers bool + func DefaultConfig() *Config + type EnterpriseExtension struct + CostCenter string + Department string + Division string + EmployeeNumber string + ManagerID string + Organization string + func (ext *EnterpriseExtension) IsEmpty() bool + type ExtensionMapper struct + func NewExtensionMapper(config *Config) *ExtensionMapper + func (m *ExtensionMapper) FromMetadata(metadata map[string]any) *EnterpriseExtension + func (m *ExtensionMapper) FromSCIM(ctx context.Context, enterprise *scim.EnterpriseUser) *EnterpriseExtension + func (m *ExtensionMapper) ToMetadata(ext *EnterpriseExtension) map[string]any + func (m *ExtensionMapper) ToSCIM(ctx context.Context, ext *EnterpriseExtension) *scim.EnterpriseUser + type GroupMapper struct + func NewGroupMapper(config *Config) *GroupMapper + func (m *GroupMapper) ApplyPatch(ctx context.Context, org *identity.OrganizationInfo, ops []patch.Operation) (*identity.UpdateOrganizationInput, []MemberOperation, error) + func (m *GroupMapper) FromSCIM(ctx context.Context, scimGroup *scim.Group) (*identity.CreateOrganizationInput, error) + func (m *GroupMapper) ToSCIM(ctx context.Context, org *identity.OrganizationInfo) (*scim.Group, error) + func (m *GroupMapper) ToSCIMWithMembers(ctx context.Context, org *identity.OrganizationInfo, ...) (*scim.Group, error) + func (m *GroupMapper) ToSCIMWithMeta(ctx context.Context, org *identity.OrganizationInfo, ...) (*scim.Group, error) + func (m *GroupMapper) ToUpdateInput(ctx context.Context, scimGroup *scim.Group) (*identity.UpdateOrganizationInput, error) + type Mapper interface + ApplyPatch func(ctx context.Context, entity E, ops []patch.Operation) (E, error) + FromSCIM func(ctx context.Context, resource S) (any, error) + ToSCIM func(ctx context.Context, entity E) (S, error) + type MemberOperation struct + Op patch.OperationType + UserID uuid.UUID + type PrincipalUserMapper struct + func NewPrincipalUserMapper(config *Config) *PrincipalUserMapper + func (m *PrincipalUserMapper) ApplyPatch(ctx context.Context, p *principal.Principal, ops []patch.Operation) (*principal.UpdateHumanInput, error) + func (m *PrincipalUserMapper) FromSCIM(ctx context.Context, scimUser *scim.User) (*principal.CreateHumanInput, error) + func (m *PrincipalUserMapper) ToSCIM(ctx context.Context, p *principal.Principal) (*scim.User, error) + func (m *PrincipalUserMapper) ToSCIMWithMeta(ctx context.Context, p *principal.Principal, createdAt, updatedAt time.Time) (*scim.User, error) + func (m *PrincipalUserMapper) ToUpdateInput(ctx context.Context, scimUser *scim.User) (*principal.UpdateHumanInput, error) + type UserMapper struct + func NewUserMapper(config *Config) *UserMapper + func (m *UserMapper) ApplyPatch(ctx context.Context, user *identity.UserInfo, ops []patch.Operation) (*identity.UpdateUserInput, error) + func (m *UserMapper) FromSCIM(ctx context.Context, scimUser *scim.User) (*identity.CreateUserInput, error) + func (m *UserMapper) ToSCIM(ctx context.Context, user *identity.UserInfo) (*scim.User, error) + func (m *UserMapper) ToSCIMWithMeta(ctx context.Context, user *identity.UserInfo, createdAt, updatedAt time.Time) (*scim.User, error) + func (m *UserMapper) ToUpdateInput(ctx context.Context, scimUser *scim.User) (*identity.UpdateUserInput, error)