mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-09-21 03:25:24 -04:00
graph/education: Add getSchoolByNumber helper
Sometimes we explicit need to lookup by number and not numberOrID
(cherry picked from commit e2849bf19d)
This commit is contained in:
1 parent
852b8e07ec
commit
8f91c67603
1 file changed
+11
-1
@@ -233,7 +233,7 @@ func (i *LDAP) updateSchoolProperties(ctx context.Context, dn string, currentSch
|
||||
mr := ldap.NewModifyRequest(dn, nil)
|
||||
if updatedSchoolNumber, ok := updatedSchool.GetSchoolNumberOk(); ok {
|
||||
if *updatedSchoolNumber != "" && currentSchool.GetSchoolNumber() != *updatedSchoolNumber {
|
||||
_, err := i.getSchoolByNumberOrID(*updatedSchoolNumber)
|
||||
_, err := i.getSchoolByNumber(*updatedSchoolNumber)
|
||||
if err == nil {
|
||||
return errorcode.New(errorcode.NameAlreadyExists, "A school with that number is already present")
|
||||
}
|
||||
@@ -647,6 +647,16 @@ func (i *LDAP) getSchoolByNumberOrID(numberOrID string) (*ldap.Entry, error) {
|
||||
return i.getSchoolByFilter(filter)
|
||||
}
|
||||
|
||||
func (i *LDAP) getSchoolByNumber(schoolNumber string) (*ldap.Entry, error) {
|
||||
schoolNumber = ldap.EscapeFilter(schoolNumber)
|
||||
filter := fmt.Sprintf(
|
||||
"(%s=%s)",
|
||||
i.educationConfig.schoolAttributeMap.schoolNumber,
|
||||
schoolNumber,
|
||||
)
|
||||
return i.getSchoolByFilter(filter)
|
||||
}
|
||||
|
||||
func (i *LDAP) getSchoolByFilter(filter string) (*ldap.Entry, error) {
|
||||
filter = fmt.Sprintf("(&%s(objectClass=%s)%s)",
|
||||
i.educationConfig.schoolFilter,
|
||||
|
||||
Reference in new issue
Block a user