Commit Graph

140 Commits

Author SHA1 Message Date
Jörn Friedrich Dreyer 52b7f41624 Populate expanded properties (#5421)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-01-18 15:51:53 +01:00
Daniel Swärd 96239af982 graph: Allow provisioning users with legacy names (#5255)
Via configuration you can now configure to skip the validation of username and
instead decide to trust the upstream system that is adding users.
2023-01-18 12:25:53 +01:00
Jörn Friedrich Dreyer 3aa864aecc Remove Staticcheck warnings (#5394)
* remove deprecated ioutil imports

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* remove duplicate imports

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* remove unused values

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* remove some unused types

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* remove deprecated ioutil import

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-01-13 15:29:14 +01:00
Jörn Friedrich Dreyer 544189b039 drop superflous /me in test urls (#5396)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-01-13 15:29:00 +01:00
Ralf Haferkamp 60ac8fcfbe graph education/classes: Add LDAP backend support for Create,Get,Delete 2023-01-12 17:37:10 +01:00
Ralf Haferkamp 6d5637ad79 graph: Move LDAP groups related code to a separate file 2023-01-12 17:37:10 +01:00
Daniël Franke b0cd8779a7 Consistently add user attributes to AddRequest (#5392)
To make the `CreateUser` flow easier to test, the attributes of the
LDAP add request need to be added consistently. This way we can
expect that argument with the mock.

This PR does the following:

* Add a method `getUserAttrTypes` that returns a static list of attr names.
* Alter `userToAddRequest` to iterate over the static list, and add the attr
  if it exists in the `attrMap`.

Closes #5390
2023-01-12 17:25:43 +01:00
Jörn Friedrich Dreyer 078698fdf4 graph: add appRoleAssignments and minimal application resource (#5318)
* bump libregraph-go lib

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* add appRoleAssignment stubs

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* add get application stub

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* fetch appRoles for application from settings service

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* initial list appRoleAssignments implementation

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* initial create appRoleAssignment implementation, extract assignmentToAppRoleAssignment, configurable app id and displayname

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* initial delete appRoleAssignment implementation, changed error handling and logging

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* initial expand appRoleAssignment on users

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* test user expand appRoleAssignment

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* test appRoleAssignment

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* fix education test by actually using the mocked roleManager

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* test getapplication

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* list assignments

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* use common not exists error handling

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* default to just 'ownCloud Infinite Scale' as application name

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* fix store_test

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* roll application uuid on init

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* fix tests

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* extract method

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* Apply suggestions from code review

Co-authored-by: Michael Barz <mbarz@owncloud.com>

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Co-authored-by: Michael Barz <mbarz@owncloud.com>
2023-01-12 16:09:34 +01:00
Daniël Franke ddb0933033 Display surname and givenName attributes.
This PR makes it so that givenName and surname attributes are returned for users.

Fixes #5386
2023-01-12 15:01:14 +01:00
Daniël Franke 8055996874 Test CreateUser (#5382)
This tests the CreateUser functions.

Fixes #5375
2023-01-12 09:42:05 +01:00
Ralf Haferkamp 709ef1ffca graph:Add stubs for education/classes endpoints (#5360)
* Renamed files for consistency reasons

err_school.go implements the full education interface not just schools.
ldap_school.go renamed to ldap_education_school.go for making it
consistent with ldap_education_user.go

* graph: Add stubs for education/classes endpoints

The acutal backend implementations are still empty.
2023-01-11 20:38:18 +01:00
Daniël Franke f7aff26636 Merge pull request #5370 from owncloud/ainmosni/issue/5210
Support givenName graph attribute.
2023-01-11 14:32:13 +01:00
Daniel Swärd e1ad437d9e Fix problem with non-public error type because of forgotten rebase. 2023-01-11 12:14:54 +01:00
Daniel Swärd e15b3cd8cc Adding so education PATCH updates school name or number. 2023-01-11 12:14:54 +01:00
Jörn Friedrich Dreyer b9a4d0c8f7 Update services/graph/pkg/identity/ldap.go 2023-01-11 10:15:26 +01:00
Florian Schade 95023f2adc mute newService err in tests (#5372) 2023-01-10 17:11:30 +01:00
Florian Schade bb1540fc45 [full-ci] add identitySet displayName property to the group and user sets (#5347)
* add identitySet displayName property to the group and user sets
2023-01-10 15:42:13 +01:00
Daniël Franke 5409a38549 Support givenName graph attribute.
This sets the LDAP `givenname` attribute when the libe-graph `givenName`
attribute exists.

Fixes #5210
2023-01-10 12:48:26 +01:00
Daniël Franke 43a98c0485 Add test for new configurable patch limit.
Also make test for old default match on the actual error message.
2023-01-10 11:45:24 +01:00
Daniël Franke 425ebb8084 Change naming 2023-01-10 11:45:24 +01:00
Daniël Franke 49d71ea111 Make amount of users in patch configurable.
This PR changes the following:

* Create an API config section for API configurables.
* Add a setting `UserPatchLimit` that controls how many users can be changed in a PATCH request.
* Use this setting in the API to limit the amount of users that can be changed.
2023-01-10 11:45:24 +01:00
Ralf Haferkamp 4717248959 Simplify sort code a bit
Switch to sort.Slice() instead of sort.Sort(), which requires less
boilerplate.
2023-01-10 09:31:40 +01:00
Daniël Franke f3924ca8c2 Disassociate users from schools on school delete. (#5343)
* Disassociate users from schools on school delete.

This PR alters the `DeleteEducationSchool` to also disassociate the
users that were associated with the to-be-deleted school.

* Add changelog.

* Remove punctuation from changelog.

* Remove redundant return statement.

* Skip when user not find.
2023-01-06 12:58:32 +01:00
Daniël Franke aff568d0b8 Make identity errors public. (#5353)
This makes the identity errors public so other packages can match on them.

It also moves them to the same file as the interface, as that makes them more discoverable.
2023-01-06 12:04:38 +01:00
Daniel Swärd a0e85386a4 Fixing linting error. 2023-01-05 11:42:39 +01:00
Daniel Swärd 80b8ce42f6 Update GetEducationSchoolUsers, AddUsersToEducationSchool, RemoveUserFromEducationSchool with schoolNumber. 2023-01-05 11:42:39 +01:00
Daniel Swärd e0c6aa5c34 Modify DeleteEducationSchool for schoolNumber/id and remove old test 2023-01-05 11:42:39 +01:00
Daniel Swärd 3daf2c50b8 Modify GetEducationSchool to accept schoolNumber as well as id 2023-01-05 11:42:39 +01:00
Florian Schade 21797fb22d [full-ci] Bump libre-graph-api-go and drive group permissions (#5312)
* Bump libre-graph-api-go
Expose drive group permissions

Co-authored-by: kobergj <jkoberg@owncloud.com>
2022-12-30 17:23:56 +01:00
jkoberg 482e4a26c9 fix graph unit tests
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2022-12-29 11:06:53 +01:00
Florian Schade 8db120c39a bump libre-graph-go 2022-12-29 10:30:22 +01:00
jkoberg 837eff9017 adjust for tags pkg
Signed-off-by: jkoberg <jkoberg@owncloud.com>

tmp

Signed-off-by: jkoberg <jkoberg@owncloud.com>
2022-12-23 10:55:57 +01:00
Ralf Haferkamp f1e0230664 Fix linter issue 2022-12-22 17:03:37 +01:00
Ralf Haferkamp 255d42eb05 Add support for listing users assigned to a school 2022-12-22 17:03:37 +01:00
Ralf Haferkamp 77ea95535e Add support for removing users from schools 2022-12-22 17:03:37 +01:00
Ralf Haferkamp 5095b35822 Fix naming of school membership endpoints
It's /education/school/{id}/users not members
2022-12-22 17:03:37 +01:00
Ralf Haferkamp 336f128e71 Add support for assigning education users to schools 2022-12-22 17:03:37 +01:00
Ralf Haferkamp 80a2c72491 graph: Initial LDAP support for /education/users
This implements GetEducationUser, GetEducationUsers, DeleteEducationUser and
CreateEducationUser methods for the LDAP backend. It's still very basic and
no fancy filtering or expanding is there yet.
2022-12-22 17:03:37 +01:00
Ralf Haferkamp b42bf80d0e graph: Rename noop backend to ErrEducationBackend 2022-12-21 15:38:14 +01:00
Jörn Friedrich Dreyer c3c851286f fix comment
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2022-12-21 15:38:14 +01:00
Jörn Friedrich Dreyer 3637149eeb fix gateway client mock
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2022-12-21 15:38:14 +01:00
Jörn Friedrich Dreyer cd23d010a4 correct naming of education backend methods
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2022-12-21 15:38:14 +01:00
Jörn Friedrich Dreyer 8967556b9d correct EducationSchool naming
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2022-12-21 15:38:14 +01:00
Jörn Friedrich Dreyer 5a1d3ebe82 config and logging fixes
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2022-12-21 15:38:14 +01:00
Jörn Friedrich Dreyer 8babace4b6 add comments for linter
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2022-12-21 15:38:14 +01:00
Jörn Friedrich Dreyer 57fd00d238 handle /education/user
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2022-12-21 15:38:14 +01:00
Ralf Haferkamp 962ae09bf1 LDAP support for GetSchools 2022-12-21 15:38:14 +01:00
Ralf Haferkamp 644d96e7ad LDAP support for GetSchool 2022-12-21 15:38:14 +01:00
Ralf Haferkamp bc9f81cc23 LDAP Support for Delete School 2022-12-21 15:38:14 +01:00
Ralf Haferkamp ad1355d032 Implement LDAP backend for CreateSchool 2022-12-21 15:38:14 +01:00