Commit graph

24 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
4a214b099e
Disallow login or sessions from inactive users 2026-04-21 19:37:26 +00:00
163b0f9edc
Destroy the session on signout
Kill it with fire
2026-04-16 19:50:23 +00:00
08a1b5b81d
Don't send www-authenticate to well-behaved browsers
Had to make a special case for EventSource on the browser via the
accepts header. This prevents the browser from doing a login window so
we can show them the nice login page.
2026-04-16 16:01:45 +00:00
4b87c74f41
Make impersonation ending work, fix frontend events 2026-04-02 21:31:31 +00:00
76c395d613
Add display in sidebar for impersonation 2026-04-02 17:39:16 +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
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
884634a2d7
Split apart comms logic into platform-lever funcs 2026-03-09 15:03:01 +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
f19fb0ef2a
remove organization table's old arcgis columns 2026-02-28 23:24:19 +00:00
7ea66dc02e
Add user account roles 2026-02-18 07:03:32 +00:00
9914274d42
Wire in agent to the reporter texting system
Also rework the so the platform absorbs all the business logic that was
going in the wrong place.
2026-01-27 19:56:26 +00:00
a68b8781e7
Add ability to make LLM agent forget the conversation history
This is extremely useful for testing.

In order to do this I needed to actually deploy the migration to a bob
fork so I could start to add support for behaviors I really want.
Specifically the ability to search for ids in a slice.
2026-01-27 18:44:02 +00:00
c276cbac0b
Add command to hash password directly
Useful for resetting passwords manually.
2026-01-26 18:42:30 +00:00
ab105e16e8
Remove some user session logs that we don't need 2026-01-25 21:18:39 +00:00
82081b9609
Add API signin URL
That was we can have much more specific failure modes for API clients
2026-01-25 19:36:56 +00:00
92294e5b16
Creat signout logic, make links use it. 2026-01-15 00:20:19 +00:00
a4c0e367a8
Make organization.name not-nullable, consolidate org in dash context 2026-01-14 21:50:47 +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
4d02357671 Preload org from user
We need this to avoid a nil dereference when querying by org.
2026-01-06 16:21:59 +00:00
53ee020fe0 Always include an organization for every user 2026-01-06 15:06:16 +00:00
97ea4ad3bb Begin work on debugging user behavior in early setup 2026-01-06 14:46:31 +00:00
8e325b7c77 WIP migration of API from fieldseeker-sync 2025-12-16 16:37:53 +00:00
Renamed from auth.go (Browse further)