Skip to content

Refactor API get videos and some fixes

Peeter Normak requested to merge petslane/Shinobi:refactor-api-get-videos into dev

I was testing Shinobi and noticed that Videos List API calls got slower when there is 1000 or so videos. Looked at API endpoint and did not like what I saw.

Changes are:

  • using knex instead of generation raw sql, doing that fixed some SQL injections
  • archived query parameter commented out as it's not implemented yet
  • added new dependency express-validator for validating request query parameters
  • on invalid query parameters error is responded with HTTP code 422 and example body when used wrong dates:
    {
      "errors":[
        {"value":"20a19-07-04T21:15:39Z","msg":"Invalid start date","param":"start","location":"query"},
        {"value":"20cd19-07-06T21:15:39aa","msg":"Invalid end date","param":"end","location":"query"}
      ]
    }
  • extracted get videos api resolver into separate module
  • changed process module to be able expose s global. Needed to get knex instance.

TODO:

  • s.auth should also be refactored, looked scary right now :)
  • libs/webServerPaths.js way too long, API endpoints should be extracted to separate files
Edited by Peeter Normak

Merge request reports