Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Saved search server side api #170580

Closed
Tracked by #170754
mattkime opened this issue Nov 3, 2023 · 3 comments
Closed
Tracked by #170754

Saved search server side api #170580

mattkime opened this issue Nov 3, 2023 · 3 comments
Labels
Icebox impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. loe:needs-research This issue requires some research before it can be worked on or estimated Team:DataDiscovery Discover, search (e.g. data plugin and KQL), data views, saved searches. For ES|QL, use Team:ES|QL.

Comments

@mattkime
Copy link
Contributor

mattkime commented Nov 3, 2023

Currently, the saved search api only provides a get method, omitting getAll, getNew, save, and byValue methods.

We should provide the same api on server and client.

@mattkime mattkime added the Team:DataDiscovery Discover, search (e.g. data plugin and KQL), data views, saved searches. For ES|QL, use Team:ES|QL. label Nov 3, 2023
@mattkime mattkime self-assigned this Nov 3, 2023
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-data-discovery (Team:DataDiscovery)

@mattkime mattkime added loe:needs-research This issue requires some research before it can be worked on or estimated estimate:medium Medium Estimated Level of Effort labels Nov 3, 2023
@janmonschke
Copy link
Contributor

@mattkime Wdyt about adding the ability to delete a saved search as well?

@kertal kertal added impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. and removed estimate:medium Medium Estimated Level of Effort labels Nov 30, 2023
janmonschke added a commit that referenced this issue Nov 30, 2023
## Summary

This is the second part of the work for fixing timeline saving issues as
described in #165053. The first
part, replacing auto-save with a dedicated save button was done in this
PR: #169239.

In this PR we're adding the `Save as new` option to the timeline save
modal. This allows users to create a copy of the timeline without
changing the current timeline. This is especially helpful in a
multi-user environment where there are higher chances for users causing
conflicting changes.

This is how the feature works:


https://github.com/elastic/kibana/assets/68591/dcec9938-fb28-4c3e-b916-8589c6e28441

Notice how the changes to the date range are only applied to the second
timeline. The initial timeline remains unchanged.

### Changes

- Added a new route `/api/timeline/_copy` that expects a timeline id and
a timeline object. It will take the timeline object from the body and
create a new timeline from it. Then it will fetch all related saved
objects (notes, pinned events) for the timeline id in the body and
create copies of those. These will be associated to the copied timeline.
- Creating a copy of the associated saved search of a timeline is not
done on the server because there is currently no server-side API to do
that (there is an issue in the backlog for adding that though:
#170580).
- This means that the copy is happening in the frontend before making
the copy request. While this feels inconsistent, it's the only way we
can do this at the moment.
- The `Save as new` switch is only shown for timelines that have been
saved before.
- A lot of work was done to make the change-tracking of the embedded
saved search work correctly. This required to split up setting and
initializing the saved search. On top, we're now storing the saved
search object in the local timeline store in order to pass it to the
copy request.
- Various stability and type fixes in the timeline epic
- There's no API documentation for the copy route because OpenAPI
doesn't allow to specify private endpoints. We really don't want users
to use this endpoint yet until the saved search copy can be performed on
the backend.

### Checklist

Delete any items that are not applicable to this PR.

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
@kertal
Copy link
Member

kertal commented Sep 20, 2024

Closing this because it's not planned to be resolved in the foreseeable future. It will be tracked in our Icebox and will be re-opened if our priorities change. Feel free to re-open if you think it should be melted sooner.

@kertal kertal closed this as not planned Won't fix, can't repro, duplicate, stale Sep 20, 2024
@kertal kertal added the Icebox label Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Icebox impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. loe:needs-research This issue requires some research before it can be worked on or estimated Team:DataDiscovery Discover, search (e.g. data plugin and KQL), data views, saved searches. For ES|QL, use Team:ES|QL.
Projects
None yet
Development

No branches or pull requests

4 participants