The goal of this rework is to make it so I can pass around platform.User
instead of a pair of models.Organization and models.User. This is useful
for reason I kind of forget now, but it started with working on
notifications and ballooned massively from there into refactoring a
number of things that were bugging me.
This also includes a tiny amount of work on server-side events (SSE).
* background stuff lives inside the platform now, which I need for
having it push updates through SSE
* userfile now lives in the platform, under file, so other platform
functions can safely use it
* oauth is broken into pieces and inside platform because other stuff
was calling it already, but badly.
* notifications go into the platform as well
This is extremely useful for testing.
In order to do this I needed to actually deploy the migration to a bob
fork so I could start to add support for behaviors I really want.
Specifically the ability to search for ids in a slice.
I added some DB schema to track logos and to relate reports to
organizations. I reworked how GPS data comes from EXIF data on images
because it wasn't working for JPEGs. I might have broken PNGs in the
process. Also made the config options for domain names more
standardized.
This required a schema change and actually dumps all existing photo data
from the public reports page. That's probably fine since it's not
deployed to any customers so all data is currently test data.
This is several changes after the demo with Ben
* When a user adds their oauth and they get an arcgis ID for an
organization that exits they are added to that organization. The
previous org isn't removed
* All layer processing is done in a single large pool. This makes it
much faster in aggregate
* Some queries are done more directly instead of through custom sql