Commit graph

113 commits

Author SHA1 Message Date
b29d172030
Add better support for extracting address from reverse geocode results
Stadia's API sucks. They don't really tell you what their response will
be in detail, just claim they are all the same, but they're not. Not
even a little.
2026-03-14 01:51:02 +00:00
e2af49a323
Make lead creation and invalidation for public reports work
The only thing wrong at this point that I can tell is that address
aren't being correctly populated when I reverse geocode.
2026-03-14 01:14:30 +00:00
3e1b56a266
Add notification count to user, populate sidebar via alpine 2026-03-13 21:22:34 +00:00
6fb964852f
Allow sudo to send structured SSEs 2026-03-13 18:31:43 +00:00
4925fe4857
Close old SSE connections, push down type strings 2026-03-13 18:21:20 +00:00
e8d865d0ab
Wire up events for creating new public reports
This involved moving a lot of stuff to the platform layer since I don't
want event interfaces leaking out.

Also this includes a fix to the user authentication which I had
previously broken by making a platform-layer user object independent of
the database layer.
2026-03-13 17:56:24 +00:00
44c4f17f32
Massive rework of platform layer user/organization
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
2026-03-12 23:49:16 +00:00
e09c412139
Make it possible to handle null reporter_contact_consent 2026-03-11 23:00:06 +00:00
182fd7d229
Fix quoting in insertFlyover
I didn't know I could do this when I wrote it.
2026-03-11 22:54:22 +00:00
3ccc05d4c5
Save tiles to the database to make empty tile load faster 2026-03-11 17:01:47 +00:00
3743d63692
Add proxy for managing tiles 2026-03-11 14:28:59 +00:00
741b60485c
Add some files I missed in earlier commits 2026-03-09 23:26:44 +00:00
ce6c6c1cc1
Initial render of standing water reports from the public 2026-03-09 22:59:21 +00:00
f6ce5f91a2
Match up distance from reporter in UI and API 2026-03-09 22:18:24 +00:00
93d767c9d6
Reference new distance from report for photos 2026-03-09 22:10:15 +00:00
4cd0e05996
Add distance from report to image data 2026-03-09 22:09:35 +00:00
1be8c24235
Serialize EXIF data for images 2026-03-09 19:24:02 +00:00
7c98a52133
Provide time-of-day as fully expanded in JSON 2026-03-09 19:23:34 +00:00
d1f542efe9
Fix image entities getting passed to frontend 2026-03-09 19:09:59 +00:00
d2eecdef90
Create address records from nuisance report data if provided 2026-03-09 19:09:42 +00:00
66beb30d93
Properly encode lat/lng on location 2026-03-09 18:29:03 +00:00
e932c2c473
Rework publicreport addressing
This adds the ability to link a proper address in the database to the
report and harmonizes the field names with the address table. It also
migrates away from mapbox entirely.

And I fixed the "pool" naming for the publicreports, which are supposed
to be the more generic 'water'.
2026-03-09 18:02:22 +00:00
884634a2d7
Split apart comms logic into platform-lever funcs 2026-03-09 15:03:01 +00:00
e1bcbf79b1
Add tile cache and relationship to organization map layer 2026-03-06 21:13:32 +00:00
4494bd97cf
Rename address.geom to address.location
It's a better name.
2026-03-06 19:46:41 +00:00
3bc5b1c945
Add missing organization links in pool commit logic 2026-03-06 19:00:47 +00:00
527e82031e
Remove a bunch of generated bob, add feature and review tasks 2026-03-06 18:56:30 +00:00
1a22b9233d
Get much more data about signals to send to the planning dash 2026-03-05 03:17:45 +00:00
78a35e5d1f
Make parcels attached to addresses optional 2026-03-05 02:30:12 +00:00
5fa4be483b
Move uploads to 'committing' when we start comitting them 2026-03-05 02:24:51 +00:00
9345412f73
Make it possible to fail to find parcels for an address 2026-03-05 02:24:10 +00:00
dcafb14238
Fix reference to number column in address 2026-03-05 02:21:13 +00:00
31c6bf3a64
Make sure to commit the transaction when committing the CSV 2026-03-05 02:20:45 +00:00
eb03cb5857
Initialize stadia maps client on startup 2026-03-05 02:14:24 +00:00
60344e3c30
Relate compliance report requests through leads 2026-03-05 01:22:21 +00:00
a28377d8f8
Fix outside district count 2026-03-04 22:04:22 +00:00
9c3d2ba3df
Remove organization from fileupload.pool table, fix in district logic 2026-03-04 20:59:57 +00:00
8e00d3e04b
Fix setting the file to "parsed" when starting parse job 2026-03-04 19:27:33 +00:00
daa8cb1748
Push geocoding down a layer
This makes it possible to always save address information from our
geocoder.
2026-03-04 18:29:52 +00:00
6a5a59f8b8
Merge aerial flyover and pool CSV row datatypes
They are extremely similar, having both was just extra work.
2026-03-04 14:52:34 +00:00
ff2ec0ad14
Split out ability to upload flyover data from pool uploads
Tons of changes here, all in the name of quickly getting to where I can
create test compliance letters.
2026-03-02 18:49:02 +00:00
89eda187be
Get map images working 2026-03-01 20:33:16 +00:00
7def74d2c3
Fix parsing envelope out of the database 2026-02-28 23:27:13 +00:00
985a2ab186
Add new platform functions for image tile and parcel 2026-02-28 23:16:43 +00:00
2bb4a134b2
Add centroid information when geocoding
I would use the boundary rect, but I'm getting a 500-level error from
stadia maps
2026-02-25 16:08:32 +00:00
8feabbc489
Add bulk geocoding by goroutine worker
This is nearly as fast, and doesn't require the corp-only license from
stadia map which is 10x the cost.
2026-02-25 14:57:28 +00:00
d375105de4
Remove chatty debug log line 2026-02-24 20:34:56 +00:00
4e8cb0568e
Translate "empty" as "dry" in pool conditions 2026-02-24 20:34:46 +00:00
efbef12080
Only show CSV as parse after geocoding. 2026-02-24 20:34:32 +00:00
1a98039264
Add missing upload platform source file 2026-02-24 20:08:57 +00:00