graph: Skip default role assignment for education/users
For the education/users endpoints the role assignment does not need to happen when creating a new user.
This commit is contained in:
committed by
Ralf Haferkamp
parent
58026b0a0e
commit
b4b0f7abe7
@@ -17,9 +17,7 @@ import (
|
|||||||
"github.com/go-chi/chi/v5"
|
"github.com/go-chi/chi/v5"
|
||||||
"github.com/go-chi/render"
|
"github.com/go-chi/render"
|
||||||
libregraph "github.com/owncloud/libre-graph-api-go"
|
libregraph "github.com/owncloud/libre-graph-api-go"
|
||||||
settings "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0"
|
|
||||||
"github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode"
|
"github.com/owncloud/ocis/v2/services/graph/pkg/service/v0/errorcode"
|
||||||
settingssvc "github.com/owncloud/ocis/v2/services/settings/pkg/service/v0"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetEducationUsers implements the Service interface.
|
// GetEducationUsers implements the Service interface.
|
||||||
@@ -156,21 +154,6 @@ func (g Graph) PostEducationUser(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// assign roles if possible
|
|
||||||
if g.roleService != nil {
|
|
||||||
// All users get the user role by default currently.
|
|
||||||
// to all new users for now, as create Account request does not have any role field
|
|
||||||
if _, err = g.roleService.AssignRoleToUser(r.Context(), &settings.AssignRoleToUserRequest{
|
|
||||||
AccountUuid: *u.Id,
|
|
||||||
RoleId: settingssvc.BundleUUIDRoleUser,
|
|
||||||
}); err != nil {
|
|
||||||
// log as error, admin eventually needs to do something
|
|
||||||
logger.Error().Err(err).Str("id", *u.Id).Str("role", settingssvc.BundleUUIDRoleUser).Msg("could not create education user: role assignment failed")
|
|
||||||
errorcode.GeneralException.Render(w, r, http.StatusInternalServerError, "role assignment failed")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
e := events.UserCreated{UserID: *u.Id}
|
e := events.UserCreated{UserID: *u.Id}
|
||||||
if currentUser, ok := revactx.ContextGetUser(r.Context()); ok {
|
if currentUser, ok := revactx.ContextGetUser(r.Context()); ok {
|
||||||
e.Executant = currentUser.GetId()
|
e.Executant = currentUser.GetId()
|
||||||
|
|||||||
Reference in New Issue
Block a user