|
|
|
@ -64,9 +64,20 @@ func (s *Server) registerMemoRoutes(g *echo.Group) {
|
|
|
|
|
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to unmarshal system setting").SetInternal(err)
|
|
|
|
|
}
|
|
|
|
|
if disablePublicMemos {
|
|
|
|
|
// Allow if the user is an admin.
|
|
|
|
|
user, err := s.Store.FindUser(ctx, &api.UserFind{
|
|
|
|
|
ID: &userID,
|
|
|
|
|
})
|
|
|
|
|
if err != nil {
|
|
|
|
|
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to find user").SetInternal(err)
|
|
|
|
|
}
|
|
|
|
|
// Only enforce private if you're a regular user.
|
|
|
|
|
// Admins should know what they're doing.
|
|
|
|
|
if user.Role == "USER" {
|
|
|
|
|
memoCreate.Visibility = api.Private
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if len(memoCreate.Content) > api.MaxContentLength {
|
|
|
|
|
return echo.NewHTTPError(http.StatusBadRequest, "Content size overflow, up to 1MB").SetInternal(err)
|
|
|
|
|