Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Apr 05, 2023
  2. Apr 03, 2023
  3. Mar 29, 2023
  4. Mar 28, 2023
  5. Mar 27, 2023
  6. Mar 25, 2023
  7. Mar 23, 2023
  8. Mar 22, 2023
  9. Mar 21, 2023
  10. Mar 20, 2023
  11. Mar 18, 2023
  12. Mar 17, 2023
  13. Mar 16, 2023
  14. Mar 15, 2023
  15. Mar 14, 2023
  16. Mar 13, 2023
  17. Mar 10, 2023
    • Aleksandr Lesnenko's avatar
    • metabase-bot[bot]'s avatar
      List actions endpoint (#29055) (#29131) · 3a003ad7
      metabase-bot[bot] authored
      
      * List all actions
      
      previously `api/action` required `?model-id=<model-id>`. This caused the
      FE to DOS the backend looping over each action. On stats I found 350 or
      so sequential requests, with app-db saturation leading to requests
      taking from 400ms near the beginning to 7seconds near the end.
      
      This makes `model-id` option and now returns actions on all models the
      user can see.
      
      ```
      ❯ http GET "localhost:3000/api/action" Cookie:$SESSION -pb
      [
          {
              "archived": false,
              "creator": {...},
              "creator_id": 1,
              "database_id": 3,
              "dataset_query": {...},
              "id": 1,
              "model_id": 1,
              "name": "source = foo",
              "parameter_mappings": null,
              "parameters": [...],
              ...
          }
          ...
      ]
      ```
      
      * update frontend for action picker to support single action list endpoint
      
      * list actions tests
      
      * update actions e2e tests
      
      * Return empty vector if no results
      
      Running tests locally might return some extra actions not asserted on in
      the tests. And there you might expect a 200. But CI runs with an empty
      database and returns no response so you get a 204. Quite annoying and
      there's no good way to expect a "2xx" status code at the moment. So just
      return the empty vector so it's always a 200 code.
      
      * update actions endpoint unit test mocks
      
      * Simplify logic a little
      
      * docstring tweak
      
      * schema with better error message
      
      * update mocks to accept optional modelId
      
      * simplify sorting and grouping
      
      * make sort case-insensitive
      
      * simplify action api test mocks
      
      ---------
      
      Co-authored-by: default avatardpsutton <dan@dpsutton.com>
      Co-authored-by: default avatarRyan Laurie <iethree@gmail.com>
      Unverified
      3a003ad7
Loading