Commit graph

32 commits

Author SHA1 Message Date
cadf6afb5f
Use embedded address location rather than external location on geocode 2026-04-14 01:42:53 +00:00
2538638c9d
Create generic backend process, fix background interdependencies
This refactor was born out of the inter-dependency cycles developing
between the "background" module and just about every other module which
was caused by the background module becoming a dependency of every
module that needed to background work and the fact that the background
module was also supposedly responsible for the logic for processing
those tasks.

Instead the "background" module is now very, very shallow and relies
entirely on the Postgres NOTIFY logic for triggering jobs. There's a new
table, `job` which holds just a type and single row ID.

All told, this means that jobs can be added to the queue as part of the
API-level or platform-level transaction, ensuring atomicity, and
processing coordination is handled by the platform module, which can
depend on anything.
2026-03-16 19:52:29 +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
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
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
60344e3c30
Relate compliance report requests through leads 2026-03-05 01:22:21 +00:00
9c3d2ba3df
Remove organization from fileupload.pool table, fix in district logic 2026-03-04 20:59:57 +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
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
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
6180860ac0
Fix update of file upload statistics 2026-02-24 20:07:39 +00:00
c8f5408f27
Add link from root upload page to upload pool detail page. 2026-02-24 20:02:44 +00:00
a65f1e0776
Fix up attaching errors to rows 2026-02-16 17:59:18 +00:00
da7a687499
Default all new pools to being new 2026-02-16 16:49:24 +00:00
ef569aef18
Save tags on pool rows, show errors in summary table 2026-02-16 16:38:04 +00:00
f859e372c6
Fill in correct data about the district 2026-02-16 15:26:41 +00:00
ebc329fc5e
Actually set geom and h3cell for uploaded pools 2026-02-14 16:49:54 +00:00
0659b8993d
Bulk ignore empty CSV columns 2026-02-14 15:42:59 +00:00
5d0d75ebb1
Add initial integration with stadia maps for bulk geocoding 2026-02-14 15:41:38 +00:00
2bc0e18b9e
Actually finish uploaded files 2026-02-14 05:40:27 +00:00
4d61783e18
Fix error message about condition 2026-02-14 05:05:56 +00:00
ff1cd00c96
Ensure phone numbers are in the DB before adding pool 2026-02-14 05:05:31 +00:00
d06b8f7949
Add mode data to pool upload rows, move to fileupload schema
This allows users to review the data before committing it to the
database
2026-02-09 19:03:27 +00:00
135ad2b73e
Do file upload, show list of uploads, do initial processing. 2026-02-09 18:25:44 +00:00
f9c8f37cec
Add organization to file upload
So everyone in the org can see it.
2026-02-08 05:00:14 +00:00
e3535391dd
Add a bit of per-line processing to CSV file 2026-02-08 04:55:33 +00:00
e81161ca7f
Actually start reading CSV file 2026-02-08 04:46:54 +00:00
fdd783c19c
Rework userfile yet again
I'm settling on the idea that strings should never be returned from the
userfile system. Instead, indicate which collection you want and pass
objects across.
2026-02-08 04:36:12 +00:00