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
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
f29047f723
Initiate events connection on all authenticated pages
2026-03-13 00:03:23 +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
6d1003dcbd
Show the actual total number of tasks pending
2026-03-12 00:30:19 +00:00
20025333fa
Make it possible to save the pool condition
2026-03-11 23:59:50 +00:00
6e9554d62d
Fix commit action on pool review page to send changes
2026-03-11 23:53:08 +00:00
d0a920b8d9
Log errors on POST, send JSON bodies back
2026-03-11 23:52:44 +00:00
ce3650bc21
Set up initial implementation of completing review tasks
...
Insufficiently tested at this point.
2026-03-11 22:51:02 +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
4ac7e29909
Sort messages by creation time
2026-03-10 15:46:17 +00:00
8bbe3d3cb3
Add simple history log to communications
2026-03-10 04:58:24 +00:00
ce6c6c1cc1
Initial render of standing water reports from the public
2026-03-09 22:59:21 +00:00
884634a2d7
Split apart comms logic into platform-lever funcs
2026-03-09 15:03:01 +00:00
cfe399e44f
Add address number to public reports
2026-03-08 03:16:58 +00:00
beb4b914a0
Add additional source information and property areas
2026-03-07 02:18:40 +00:00
1970ccb13e
Show images from public reports
2026-03-07 02:02:10 +00:00
f1f9c8f902
Add type to communications response
2026-03-07 01:37:48 +00:00
cb1229a8bd
fix sending too many images
2026-03-07 01:20:06 +00:00
462e12dd6e
Add location data to comms
2026-03-07 01:09:27 +00:00
636a0379aa
Early process converting communication page to use actual data.
2026-03-06 23:45:12 +00:00
401e6fc25f
Add fake API for proxying tile requests.
2026-03-06 22:08:08 +00:00
502a4d15df
Add organization to all authorized endpoints
...
We use it in filtering quite a bit.
2026-03-06 22:08:08 +00:00
e38465aaf3
Add beginnings of logic to create the review interface
2026-03-06 19:47:12 +00:00
de63a47c64
Add query args passing to API endpoints
2026-03-06 14:12:47 +00:00
72a4ef9fff
Actually update the pool location when we create the lead
2026-03-05 18:55:36 +00:00
dd50035a47
Create leads from signal
2026-03-05 17:24:50 +00:00
8d400e9631
Make location names in JavaScript consistent
2026-03-05 15:42:12 +00:00
13cf7a7e2d
Add fake leads listing
...
Just to get JavaScript to stop complaining.
2026-03-05 15:41:56 +00:00
0aeba98fb0
Show short address on green pool signal
2026-03-05 14:49:39 +00:00
89197df6b0
Add fake API endpoint for creating leads
2026-03-05 14:18:10 +00:00
b58199281b
Send the address with the signal
2026-03-05 13:26:10 +00:00
478abf6d1b
Start to pull green pool signal from the API
2026-03-05 03:53:26 +00:00
1a22b9233d
Get much more data about signals to send to the planning dash
2026-03-05 03:17:45 +00:00
c53ea02ff0
Create signal API first draft
2026-03-05 01:24:18 +00:00
438c946bad
Start creating struct-based JSON encoding for API endpoints
2026-03-04 18:30:21 +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
8bfad892bc
Add debug endpoint for looking at tiles via GPS coord
2026-03-01 21:14:48 +00:00
89eda187be
Get map images working
2026-03-01 20:33:16 +00:00
6fb7fc7825
Debugging parcel image generation
2026-02-28 23:40:21 +00:00
558412cfb4
Various new modules for mailer
2026-02-28 23:17:30 +00:00
5a7c9fd090
Move data out of import.district and in to organization
...
Then get the organization settings page to work again.
Tons of other stuff is broken now.
2026-02-17 05:33:12 +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
e094ed3d0d
Move Twilio-specific parsing to twilio incoming API
2026-01-29 22:36:16 +00:00
ef5d8168f0
Actually handle incoming text messages from Voip.ms
2026-01-29 22:27:51 +00:00
6a434c458d
Add API handlers for Voip.ms incoming messages
2026-01-29 22:21:31 +00:00
d2d5f003d8
Get Voip.ms working again in the text system
...
Because we need it for the conference.
2026-01-29 21:53:49 +00:00