diff --git a/server/workspace_user.go b/server/workspace_user.go index ecad4ee..059f40f 100644 --- a/server/workspace_user.go +++ b/server/workspace_user.go @@ -117,7 +117,7 @@ func (s *Server) registerWorkspaceUserRoutes(g *echo.Group) { g.DELETE("/workspace/:workspaceId/user/:userId", func(c echo.Context) error { ctx := c.Request().Context() - userID, ok := c.Get(getUserIDContextKey()).(int) + currentUserID, ok := c.Get(getUserIDContextKey()).(int) if !ok { return echo.NewHTTPError(http.StatusUnauthorized, "Missing auth session") } @@ -127,22 +127,22 @@ func (s *Server) registerWorkspaceUserRoutes(g *echo.Group) { return echo.NewHTTPError(http.StatusBadRequest, "Malformatted workspace id").SetInternal(err) } + userID, err := strconv.Atoi(c.Param("userId")) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, "Malformatted user id").SetInternal(err) + } + currentWorkspaceUser, err := s.Store.FindWordspaceUser(ctx, &api.WorkspaceUserFind{ WorkspaceID: &workspaceID, - UserID: &userID, + UserID: ¤tUserID, }) if err != nil { return echo.NewHTTPError(http.StatusInternalServerError, "Failed to find workspace user").SetInternal(err) } - if currentWorkspaceUser.UserID != userID && currentWorkspaceUser.Role != api.RoleAdmin { + if currentUserID != userID && currentWorkspaceUser.Role != api.RoleAdmin { return echo.NewHTTPError(http.StatusForbidden, "Access forbidden to delete workspace user").SetInternal(err) } - userID, err = strconv.Atoi(c.Param("userId")) - if err != nil { - return echo.NewHTTPError(http.StatusBadRequest, "Malformatted user id").SetInternal(err) - } - workspaceUserDelete := &api.WorkspaceUserDelete{ WorkspaceID: workspaceID, UserID: userID, diff --git a/store/shortcut.go b/store/shortcut.go index 4fd060f..ce11341 100644 --- a/store/shortcut.go +++ b/store/shortcut.go @@ -182,7 +182,9 @@ func (s *Store) DeleteShortcut(ctx context.Context, delete *api.ShortcutDelete) return FormatError(err) } - s.cache.DeleteCache(api.ShortcutCache, *delete.ID) + if delete.ID != nil { + s.cache.DeleteCache(api.ShortcutCache, *delete.ID) + } return nil }