diff --git a/services/graph/pkg/identity/ldap_school.go b/services/graph/pkg/identity/ldap_school.go index 89d5602ec..ad0375353 100644 --- a/services/graph/pkg/identity/ldap_school.go +++ b/services/graph/pkg/identity/ldap_school.go @@ -211,7 +211,7 @@ func (i *LDAP) GetEducationSchoolUsers(ctx context.Context, id string) ([]*libre logger := i.logger.SubloggerWithRequestID(ctx) logger.Debug().Str("backend", "ldap").Msg("GetEducationSchoolUsers") - schoolEntry, err := i.getSchoolByID(id) + schoolEntry, err := i.getSchoolByNumberOrID(id) if err != nil { return nil, err } @@ -261,7 +261,7 @@ func (i *LDAP) AddUsersToEducationSchool(ctx context.Context, schoolID string, m logger := i.logger.SubloggerWithRequestID(ctx) logger.Debug().Str("backend", "ldap").Msg("AddUsersToEducationSchool") - schoolEntry, err := i.getSchoolByID(schoolID) + schoolEntry, err := i.getSchoolByNumberOrID(schoolID) if err != nil { return err } @@ -306,7 +306,7 @@ func (i *LDAP) RemoveUserFromEducationSchool(ctx context.Context, schoolID strin logger := i.logger.SubloggerWithRequestID(ctx) logger.Debug().Str("backend", "ldap").Msg("RemoveUserFromEducationSchool") - schoolEntry, err := i.getSchoolByID(schoolID) + schoolEntry, err := i.getSchoolByNumberOrID(schoolID) if err != nil { return err } @@ -347,12 +347,6 @@ func (i *LDAP) getSchoolByDN(dn string) (*ldap.Entry, error) { return i.getEntryByDN(dn, attrs, filter) } -func (i *LDAP) getSchoolByID(id string) (*ldap.Entry, error) { - id = ldap.EscapeFilter(id) - filter := fmt.Sprintf("(%s=%s)", i.educationConfig.schoolAttributeMap.id, id) - return i.getSchoolByFilter(filter) -} - func (i *LDAP) getSchoolByNumberOrID(numberOrId string) (*ldap.Entry, error) { numberOrId = ldap.EscapeFilter(numberOrId) filter := fmt.Sprintf( diff --git a/services/graph/pkg/identity/ldap_school_test.go b/services/graph/pkg/identity/ldap_school_test.go index 7b9202c73..953c92c1e 100644 --- a/services/graph/pkg/identity/ldap_school_test.go +++ b/services/graph/pkg/identity/ldap_school_test.go @@ -234,7 +234,7 @@ var schoolByIDSearch1 *ldap.SearchRequest = &ldap.SearchRequest{ BaseDN: "", Scope: 2, SizeLimit: 1, - Filter: "(&(objectClass=ocEducationSchool)(owncloudUUID=abcd-defg))", + Filter: "(&(objectClass=ocEducationSchool)(|(owncloudUUID=abcd-defg)(ocEducationSchoolNumber=abcd-defg)))", Attributes: []string{"ou", "owncloudUUID", "ocEducationSchoolNumber"}, Controls: []ldap.Control(nil), }