Commit graph

3 commits

Author SHA1 Message Date
Jeramy Soucy
ab7b2f7f79
Fixes documentation of response codes for copy saved objects (#158416)
## Summary

Moves the response codes documented for the copy saved object API to the
correct document file.

Documentation was incorrectly located in
https://github.com/elastic/kibana/pull/158036
2023-05-24 16:33:29 -04:00
Jeramy Soucy
1589547b6f
Handles non-existing objects in _copy_saved_objects API call (#158036)
Closes #156791

## Summary

This PR implements catching the error thrown by the
saved_objects_exporter when an object is not found, and responding with
a detailed 404 ("Not Found") rather than a generic 500 ("Internal Server
Error") response message.

### Example Response:
```
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Saved objects not found",
  "attributes": {
    "objects": [
      {
        "id": "7adfa750-4c81-11e8-b3d7-01146121b73d",
        "type": "dashboard"
      },
      {
        "id": "571aaf70-4c88-11e8-b3d7-01146121b73d",
        "type": "search"
      },
      {
        "id": "d3d7af60-4c81-11e8-b3d7-01146121b73d",
        "type": "index-pattern"
      }
    ]
  }
}
```

### Testing

1. Install sample flight data, find the id of the flights dashboard SO
2. Create an additional space 'b'
3. Issue a request to copy saved objects to space b
```
POST kbn:/api/spaces/_copy_saved_objects
{
  "spaces": [
    "b"
  ],
  "objects": [
    {
      "type": "dashboard",
      "id": "7adfa750-4c81-11e8-b3d7-01146121b73e"
    },
    {
      "type": "dashboard",
      "id": "7adfa750-4c81-11e8-b3d7-01146121b73f"
    },
    {
      "type": "dashboard",
      "id": "7adfa750-4c81-11e8-b3d7-01146121b73g"
    }
  ]
}
```
4. Verify response
```
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Saved objects not found",
  "attributes": {
    "objects": [
      {
        "type": "dashboard",
        "id": "7adfa750-4c81-11e8-b3d7-01146121b73e"
      },
      {
        "type": "dashboard",
        "id": "7adfa750-4c81-11e8-b3d7-01146121b73f"
      },
      {
        "type": "dashboard",
        "id": "7adfa750-4c81-11e8-b3d7-01146121b73g"
      }
    ]
  }
}
```
5. Issue a request to copy the flights dashboard SO
6. Verify the usual response (200, missing references)
7. Issue a malformed request to copy an SO
8. Verify status 400 response with details
2023-05-24 12:20:46 -04:00
Thom Heymann
2e7b789a30
Document update objects spaces API (#145109)
Resolves #133149

## Summary

Document update objects spaces API

Co-authored-by: Jeramy Soucy <jeramy.soucy@elastic.co>
2022-11-15 16:55:58 +00:00