Implement expanded diff file endpoint

We should have an endpoint to load collapsed diff file. Some diff files are collapsed by default and we offer an option to load it inline ('Show changes' button):

image

The endpoint should return a JSON with two fields:

  • diff — an object with just one field for now
    • lines_html — diff lines rendered using one of the ViewComponents
  • viewer_name — value taken from a ViewComponent's viewer_name static field

As we support more diff file types more fields could be added to the diff object.

Edited by Stanislav Lashmanov