data61 / Mirza

6 stars 2 forks source link

Implement Trails Service #527

Closed a-stacey closed 5 years ago

a-stacey commented 5 years ago

This largely implements the trails service.

The Signature type is still called SignaturePlaceholder and we probably should do some more work here even if we don't implement code to validate the signatures to at least clean up the types and avoid any future DB and migration issues here. Any thoughts?

A really don't like the way that I've implemented the tests. They are this way because they really should be property based tests, but given the state and time constraints of the project (more features in rather then longitudinal development) I thought it would be quicker to to just go with explicit tests rather then property based tests, but with the effort I had to put in I'm not sure that was even correct. Compounded with the fact that it really needs lenses or zippers for the current design, but again time. Would be great to have time to come back and clean this up and learn more of these concepts, but for now it is what it is and I think it largely proves things work okish.

This PR is a bit of a push and run because I wanted to get it in this week, but I haven't really looked over it thoroughly to see if there is anything glaringly obviously still wrong with it, so please just let me know.