Eric Howard
86b254bbf9
Custom types replaced with proper custom_types_category value
2026-06-06 18:48:05 -04:00
Eric
f0b0b9bf82
Added category to custom types to reorginize into desired categories
2026-06-06 18:38:35 -04:00
dextmorgn
b317e08e57
feat(api): authenticate SSE via header, drop query-param auth and dead route
2026-06-03 11:28:41 +02:00
dextmorgn
1d409d7929
fix(scan): persist results to existing details column, errors to error column
...
The Scan model exposes details (JSON) and error (Text) columns, but the
enricher/flow tasks assigned to scan.results — a non-mapped attribute.
SQLAlchemy accepted the assignment silently, so commit() never persisted
it and the data was lost. Success paths now write scan.details; failure
paths write scan.error. ScanCreate.results renamed to details to match.
Scan repository tests pass.
2026-05-30 19:02:14 +02:00
dextmorgn
c9d594a8e7
fix(api): load AUTH_SECRET from validated core.auth source
...
deps.py read AUTH_SECRET via os.getenv() before load_dotenv() ran,
yielding None when the secret was only present in .env. Import the
already-validated AUTH_SECRET from core.auth (loads dotenv first and
raises if unset) instead of re-reading it. Removes the dup + ordering bug.
2026-05-30 18:44:07 +02:00
dextmorgn
bb502379bd
feat(api): add collaborator endpoints, profile update, user search and backfill migration
...
- Add GET/POST/PUT/DELETE /investigations/{id}/collaborators endpoints
- Inject current_user_role in all investigation responses
- Add GET/PUT /auth/me for profile management
- Add GET /auth/users/search for share dialog autocomplete
- Add ProfileUpdate schema with extra=forbid
- Add email to ProfileRead
- Add backfill migration for existing investigations missing owner role entries
2026-04-11 14:44:28 +02:00
dextmorgn
972763343e
feat(api): add type detection route and service
...
Add POST /api/types/detect endpoint that detects the type of a text input
by iterating registered types and calling their detect() classmethod.
Returns detected type with fields and primary field pre-filled.
Falls back to Phrase when no type matches.
2026-03-15 12:35:46 +01:00
dextmorgn
2ea40c4eae
feat(api): add input and output type to enricher template
2026-03-09 19:38:42 +01:00
gustavorps
b2cfc67117
fix(app): removing slashes
2026-02-17 04:49:46 -03:00
dextmorgn
6494cee2d0
feat(api): update key service
2026-02-16 09:16:05 +01:00
dextmorgn
eef214bdfa
feat(api): custom types updates
2026-02-14 15:34:28 +01:00
dextmorgn
599fc8353d
feat(api): increate prompt chat length
2026-02-12 23:40:12 +01:00
dextmorgn
a764704fbe
feat(api): progress on templates
2026-02-12 22:04:28 +01:00
dextmorgn
19ee40c46d
feat(app): chat context
2026-02-12 22:04:28 +01:00
dextmorgn
07f32c983a
feat: use ai sdk useChat
2026-02-12 22:04:21 +01:00
dextmorgn
a461f9997d
feat: progress on enricher templates
2026-02-12 22:03:28 +01:00
dextmorgn
53a03575cd
feat(api): enrichers from templates
2026-02-12 22:03:04 +01:00
dextmorgn
177953b216
feat(api): use repositories in services
2026-02-07 17:23:16 +01:00
dextmorgn
2372678bda
feat(api): use dedicated services for business logic
2026-02-05 22:37:31 +01:00
dextmorgn
5977832a1a
feat(api): refactor to use nodeLabel, and proper usage of graphService
2026-01-21 17:19:24 +01:00
dextmorgn
be0880e77d
feat(api) update export json schema
2026-01-11 19:30:38 +01:00
dextmorgn
27c9e91c92
feat(api): add json import support
2026-01-10 18:07:14 +01:00
dextmorgn
1d184bae3b
feat(api): update export schema
2026-01-07 22:03:31 +01:00
dextmorgn
6cc8bf25c0
feat(api): export route
2026-01-07 21:44:02 +01:00
dextmorgn
c4408c2f3e
feat(api): update edge label
2026-01-05 21:45:53 +01:00
dextmorgn
e812f3c855
feat(app): get_current_user_sse
2025-12-17 10:17:42 +01:00
dextmorgn
a15ce33df4
fix(api): patch missing permissions on api routes
2025-12-17 10:16:54 +01:00
dextmorgn
0577080b4e
feat(api): add DNSRecord to raw_material
2025-12-15 16:07:59 +01:00
dextmorgn
6633cc5f4a
fix(api): returned parsed node after insert
2025-12-10 15:15:30 +01:00
dextmorgn
5bb7fae4bd
refactor(api): better batch import
2025-12-05 15:47:43 +01:00
dextmorgn
152a30c92a
feat(api): update flowsint_enrichers registry
2025-11-30 12:50:01 +01:00
dextmorgn
f039d92234
fix(api): typo in icon for social account
2025-11-29 14:08:58 +01:00
dextmorgn
7692fc76f6
feat(api): type registry + better import
2025-11-28 20:08:09 +01:00
dextmorgn
6412b1afe8
feat(api): dedicated sketch event route for refresh
2025-11-27 22:20:28 +01:00
dextmorgn
2123ea5b8d
feat: complete refactor
2025-11-27 17:16:41 +01:00
dextmorgn
59493c108f
feat(api): actions on nodes
2025-11-24 16:42:39 +01:00
dextmorgn
f7ef075ca9
feat(api): usage of whole node object instead of label for transforms
2025-11-21 12:54:33 +01:00
dextmorgn
e3e6effdbe
fix(api): node edit
2025-11-20 18:21:57 +01:00
dextmorgn
7b91bb2442
feat: type validation + simplified transform system
2025-11-19 22:13:38 +01:00
dextmorgn
d0a05046d1
feat(api): add Port type and ip_to_port transform to available items
2025-11-18 12:55:44 +01:00
dextmorgn
238a4087c9
feat(api): add Username to raw-material for flows
2025-11-18 11:03:52 +01:00
dextmorgn
c51205dec3
feat(api): change SocialProfile to SocialAccount
2025-11-17 16:53:45 +01:00
dextmorgn
0427c7919c
feat(api): nodes positions
2025-11-14 17:42:54 +01:00
dextmorgn
d3cf91d120
feat(app): upgrade graph to use pixi
2025-11-14 15:59:39 +01:00
dextmorgn
8e587a7340
feat(api): use of graph_repository to import nodes + add created_at on nodes
2025-11-12 22:43:12 +01:00
dextmorgn
0f4b8c247e
refactor(api): usage of graph_repository for all neo4j actions
2025-11-12 19:36:39 +01:00
dextmorgn
f348a1bcf8
fix(app): logs timestamps
...
fix #38
2025-11-12 19:11:30 +01:00
dextmorgn
951599cb8c
fix: social_profile typo
2025-11-12 00:53:49 +01:00
dextmorgn
3294065ee3
feat(api): add permission checks for analysis and sketches
2025-11-11 20:13:13 +01:00
dextmorgn
569cd431c7
fix(api): condition to check sketch validity on /{sketch_id}/nodes/{node_id}
2025-11-10 19:55:28 +01:00