Commit graph

31 commits

Author SHA1 Message Date
a82732a49c
Return communication database rows from communication API
This is a pretty big refactor of how communication works to start moving
us in the direction we want to go long-term. This adds the new
communication row and migrates existing reports to add rows for
communication.

There's also a bunch of automatic fixes from the new linter. I should
have added them separately, but whatever.
2026-05-01 21:00:23 +00:00
baaa3bff5b
Make request parser handle form-encoded content
This fixes a new signin bug
2026-04-21 22:48:31 +00:00
ee9a355613
Serialize nil slices as empty slices 2026-04-21 21:55:48 +00:00
b6d1bd9ee2
Create sign-in and sign-out workflow in SPA 2026-04-16 17:14:57 +00:00
fe41df3e16
Make publicreport by ID base redirect to detailed information 2026-04-14 16:07:17 +00:00
bac55774f8
Switch address to contain an embedded location, start saving compliance 2026-04-10 16:59:29 +00:00
c41154a200
Actually serialize errors on bad JSON POST response 2026-04-08 17:27:51 +00:00
43dce16fbd
Add APIs for geocoding and reverse-geocoding 2026-04-06 16:59:18 +00:00
10e368c403
Get initial nuisance and water resources working
This is a straight port of the form-encoded POST submission logic.

It is missing a bunch of data.
2026-04-03 22:04:22 +00:00
bfecae7d61
Add district resource and an API to RMO
We're going to need an API for the single-page frontend
2026-04-03 18:17:19 +00:00
4b87c74f41
Make impersonation ending work, fix frontend events 2026-04-02 21:31:31 +00:00
4145944b1b
Allow arbitrary responses from form-encoded POST
Useful for returning full objects
2026-04-01 21:34:17 +00:00
a89a4fbec5
Add avatar resource 2026-04-01 21:23:28 +00:00
6fbde6389d
Start creating user resources without ID. 2026-04-01 20:22:15 +00:00
a656d45a6d
Move QueryParams to resource module 2026-04-01 18:23:43 +00:00
5172400803
Begin switch to gorilla/mux
I'm realizing with this code that I'm going to have a problem if I want
to do HATEOAS-style APIs. chi just doesn't do resource-oriented API
design, and I'd have to build a lot of stuff myself.

I'm in the middle of swapping out the UI. Now is the time to make the
switch.
2026-04-01 15:32:27 +00:00
6f9a511874
WIP of user avatar work
Switching from laptop
2026-03-29 17:09:01 -07:00
4bbfbdb9e6
Pretty all the things I missed
My laptop didn't have lefthook running. Oops.
2026-03-27 14:06:50 -07:00
1ad3c5a5c8
On upload redirect to upload detail page 2026-03-27 11:33:21 -07:00
747544bb58
Get file upload working
Even though the UI doesn't do anything with it yet.
2026-03-27 08:39:38 -07:00
d7c07fc65f
Move all POST endpoints to the API 2026-03-27 06:08:55 -07:00
68e0da1133
Add log message when we can't marshal JSON
Been seeing this in prod
2026-03-20 05:01:52 +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
d0a920b8d9
Log errors on POST, send JSON bodies back 2026-03-11 23:52:44 +00:00
4ac7e29909
Sort messages by creation time 2026-03-10 15:46:17 +00:00
636a0379aa
Early process converting communication page to use actual data. 2026-03-06 23:45:12 +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
de63a47c64
Add query args passing to API endpoints 2026-03-06 14:12:47 +00:00
dd50035a47
Create leads from signal 2026-03-05 17:24:50 +00:00
89197df6b0
Add fake API endpoint for creating leads 2026-03-05 14:18:10 +00:00
438c946bad
Start creating struct-based JSON encoding for API endpoints 2026-03-04 18:30:21 +00:00