Commit graph

20 commits

Author SHA1 Message Date
87961bac58
Move audio API to its own file
More consistent organization
2026-03-19 21:07:00 +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
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
1970ccb13e
Show images from public reports 2026-03-07 02:02:10 +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
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
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
61d8d14fc2
Bunch of work around assigning reports to districts
I added some DB schema to track logos and to relate reports to
organizations. I reworked how GPS data comes from EXIF data on images
because it wasn't working for JPEGs. I might have broken PNGs in the
process. Also made the config options for domain names more
standardized.
2026-01-22 03:27:32 +00:00
f4a88623af
Overhaul system for handling text messaging
Move away from "SMS" as the operative word - we're going RCS.
Move all comms processing to a separate goroutine
Rename the DB tables
2026-01-21 03:30:03 +00:00
842e6cff43
Move comms work to background goroutine
This is a sort of random checkpoint of work
 * add schema for tracking messages sent to DB
 * add terms of service and privacy policy for RCS compliance
 * standardize some things about background workers
 * update some missing stuff from generated DB code
2026-01-20 17:10:22 +00:00
9b5140f0c2
Show full district details on location search 2026-01-15 23:19:31 +00:00
f6b5a1e580
Add API to query district by GPS location 2026-01-15 22:56:32 +00:00
39d9f6d258 Properly save audio and image notes when uploaded
Also fix the audio processing pipeline.
2026-01-06 22:23:59 +00:00
7c794d0de7 Stitch together more data types from the platform
Untested, checkpoint
2026-01-06 03:06:38 +00:00
53e08d840e Get nidus-sync building again
This fleshes out more of the basic platform patterns, though there's
still plenty that isn't working yet.
2026-01-05 02:06:34 +00:00
5dd0b8c162 Checkpoin on initial idea for passing through models 2026-01-02 08:58:57 -07:00
fc8281dd18 Get rid of geo query stub
I'm not using it, and I wasn't using it in fieldseeker-sync in any
meaningful way either.
2025-12-28 16:47:24 -07:00
e071aa4adc Move logic for dealing with image file uploads to userfile 2025-12-18 03:36:52 -07:00
3f2d1eeb42 Create debugSaveRequest from common debug code. 2025-12-18 03:35:18 -07:00
8e325b7c77 WIP migration of API from fieldseeker-sync 2025-12-16 16:37:53 +00:00