61ad3fbe45
Remove string-based queries for public report data
...
Use the new jet hotness
2026-05-07 23:22:50 +00:00
12213fb31b
Remove string-only references to location_* generated columns
2026-05-07 17:01:54 +00:00
7a361a330d
Remove now-extraneous latitude/longitude generated columns
...
Now that we can pull out the geometry directly into a go object we don't
need these and they complicate our insertions
2026-05-07 16:38:42 +00:00
fcd95f1a25
Get back to compiling, but using new jet for publicreport
...
This was an epically long change, and a terrible idea, but it compiles.
This was essentially a cascade that came about because I can't blend jet
and bob in the same transaction. In for a penny, I guess...
2026-05-07 10:39:17 +00:00
a95e44cf42
Use transactions to set the communication status changes
...
Not doing it yet, but soon we'll do log entries for them.
2026-05-04 20:57:50 +00:00
5f3fcc2b3e
Fix a bunch of not-checking-error lints
2026-05-04 20:29:02 +00:00
60bf09e813
Avoid emitting error on transaction rollback that's complete
...
It's on purpose
2026-05-04 19:53:36 +00:00
3153e8bf13
Initial work marking communications
...
And a bunch of lint fixes
2026-05-04 19:07:29 +00:00
67c99436d1
Properly set submitted on PUT, return new status properties on comms
2026-05-02 00:41:31 +00:00
431435f8bd
Set the organization on inserted communications
2026-05-02 00:38:38 +00:00
57dc2023cd
Remove unused submit function
2026-05-02 00:38:12 +00:00
7f71ff9a2e
Send submit PUT on compliance report flow, create communication then
...
This makes it so that people don't see compliance reports as they're
being formulated in the communication workbench
2026-05-01 21:27:17 +00:00
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
bab3200b6c
Port all of the arcgis schema to using jet
...
Have not tested anything at this point, it just compiles.
2026-05-01 17:28:33 +00:00
e5a84e09a8
Initial working version of using jet for SQL building
2026-05-01 05:11:28 +00:00
00d26a684a
Handle EXIF location data set to "NaN"
...
Probably Android's new privacy thing. Jerks.
2026-04-30 15:34:08 +00:00
797067ee38
Refuse to send compliance letters to addresses without a postal code
2026-04-30 03:09:42 +00:00
89eca2ddf9
One more attempt to handle report null-ness
2026-04-29 20:58:47 +00:00
a1b2d580a8
Return nil through on by id compliance
2026-04-29 20:37:36 +00:00
c6cb645453
Don't error out on missing report
2026-04-29 20:24:41 +00:00
7e79308868
Don't return an error when report doesn't exist
2026-04-29 20:18:36 +00:00
af39a73e8f
Add address raw content to report
...
This populates the address in the compliance flow UI
2026-04-29 19:30:38 +00:00
2fbceb11e3
Don't bail on district match early, check address
...
This is the other half of doing proper district match via raw address -
we have to use the address if available for looking up a district.
2026-04-29 15:01:35 +00:00
524353bfa1
Geocode address if we only have a raw value
...
This will help with matching when the user does not select a suggested
address.
2026-04-29 13:55:10 +00:00
a101ff3cc9
Suppress errors from canceled context on DB notification goroutine
2026-04-28 22:24:15 +00:00
4a90917645
Add more detail to address creation failure
2026-04-28 22:16:22 +00:00
309f8fe2c5
Downgrade failure to get admin info to warning
...
To clear out Glitchtip a bit
2026-04-28 22:10:39 +00:00
8bdd18649d
Separate out a public and non-public halves to publicreport APIs
...
This prevents us from leaking text messaging details on public
endpoints.
2026-04-28 06:36:55 +00:00
82b313f62f
Add text message log to report display
2026-04-28 05:15:01 +00:00
4ce91d77d4
Add text message history to acitivity log
2026-04-28 01:12:18 +00:00
937953f2a2
Produce a raw address value from geocode requests
...
This makes it so that the frontend doesn't have to calculate what to
display
2026-04-27 19:44:25 +00:00
96498c01bf
Add API for getting just the closest reverse geocoded answer
...
Because we don't care about anything that is nearby when the user clicks
on the map, we just want the closest thing.
2026-04-27 19:44:25 +00:00
ffe427564b
Add email and phone display to communications workbench
2026-04-27 16:23:31 +00:00
be8d92d7ae
Add 'submitted' field to compliance reports
2026-04-27 16:23:16 +00:00
c8989237b0
Fix reference to address number. Again.
2026-04-23 21:39:13 +00:00
516dd6f429
Don't show "send compliance mailer" if org isn't configured for Lob
2026-04-23 15:50:58 +00:00
72a8ed5c16
Improve signin messaging
2026-04-23 15:24:06 +00:00
cc59ccb9b5
Fix reference to address number column
2026-04-23 00:34:51 +00:00
b0170b20d5
Update fetching address number to match new types.Address pattern
...
This matches what we get by using the models column definition directly.
2026-04-22 22:20:42 +00:00
23819961e6
Populate compliance address based on site location
2026-04-22 21:22:33 +00:00
a8819c907e
Add concern page to mailer compliance flow
2026-04-22 21:22:03 +00:00
b5923137a7
Set organization (district) for compliance reports from mailer
2026-04-22 19:54:06 +00:00
bcd51cf5cf
Fix compliance query again.
...
Blarg.
2026-04-22 00:22:51 +00:00
8d37e8fab5
Fix compliance query
...
I can't use this until I fix some bugs in bob :(
2026-04-21 23:36:29 +00:00
fe2041f22b
Add an evidence field to compliance reports
...
This allows us to show a page with information about what the district
is concerned about when asking the user to fill a report.
2026-04-21 21:35:40 +00:00
0b005c3e76
Add debug logs around exiting goroutines
...
I'm debugging our clean shutdown
2026-04-21 19:37:58 +00:00
4a214b099e
Disallow login or sessions from inactive users
2026-04-21 19:37:26 +00:00
eb27af7d90
Add mailer API and initial mailer view
2026-04-21 19:19:59 +00:00
bcea3c6bdf
Gracefully exit listenForJobs when context ends
2026-04-21 14:59:52 +00:00
f927b0a911
Split out ComplianceDistrict view for creating new compliance reports
...
The idea here is that we'll make compliance reports two different ways,
The first is if the user navigates to /district/:slug/compliance, the
second if they open a QR code from a mailer. In both cases we create the
report then feed them into a flow for updating the data on that report.
2026-04-21 14:35:13 +00:00