Bryan Frimin
e74c0a11c6
Update copyright headers to 2025-2026 for modified files
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-25 15:19:47 +01:00
Bryan Frimin
d24712344e
Add GraphQL dataloaders for batched record lookups
...
Introduce dataloadgen-based dataloaders to batch individual
record-by-ID fetches in GraphQL resolvers into single SQL
queries. Each entity type (organization, framework, control,
vendor, document, risk, measure, task, file, report, profile)
gets a LoadByIDs method in coredata and a GetByIDs service
method with variadic arguments and dedicated collection return
types. Resolvers now use dataloader.FromContext instead of
direct service calls for single-record lookups.
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-25 15:19:46 +01:00
Sacha Al Himdani
cf1dadc0b5
Add implemented state and justification to controls
...
Introduce `implemented` enum (IMPLEMENTED/NOT_IMPLEMENTED) and
`not_implemented_justification` (nullable text) fields on the Control
entity across all API surfaces (GraphQL, MCP, CLI), database, frontend,
and SOA export.
The database stores implementation state as a PostgreSQL enum
`control_implementation_state`. Controls default to IMPLEMENTED during
migration. The SOA list and PDF export show implementation status
alongside applicability, with "-" for non-applicable controls.
Justification columns are renamed for clarity: "Justification for
non-applicability" and "Justification for non-implementation".
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-03-17 11:01:04 +01:00
Bryan Frimin
ef76a8d2e1
Remove deadcode
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-13 17:18:02 +01:00
Sacha Al Himdani
40e4db9278
Remove deprecated SOA code
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-02-17 15:06:49 +01:00
Bryan Frimin
4bdf941d3a
Refactor SOA
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-01-22 10:20:50 -08:00
Bryan Frimin
4013b00841
Refactor policies document
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-01-17 11:37:39 -08:00
Bryan Frimin
74fc3b8cd1
Rewrite identity and access management
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-01-17 10:07:34 -08:00
Sacha Al Himdani
4ed3f5a067
Change state of applicability
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-01-16 22:56:00 +01:00
Sacha Al Himdani
21c4b7cd9d
Add role management
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2025-11-13 17:11:22 +01:00
Sacha Al Himdani
288c59a5f2
Make descriptions nullable
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2025-11-05 17:58:50 +01:00
Bryan Frimin
59aa332ab5
Move to vanity import url
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2025-10-31 17:01:52 +01:00
Sacha Al Himdani
9a33f7b771
Manage errors
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2025-10-31 15:14:56 +01:00
Sacha Al Himdani
05b9672a03
Add controls snapshots
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2025-08-27 11:47:26 +02:00
Sacha Al Himdani
55d488edac
Add contols audits
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2025-08-14 15:59:58 +02:00
Sacha Al Himdani
85bd140599
Exclude controls
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2025-07-21 11:05:04 +02:00
Bryan Frimin
1f94ddba95
Fix totalCount 5xx
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2025-06-13 13:23:46 -07:00
Bryan Frimin
c2dc89a8b1
Fix control SQL query
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2025-06-13 13:23:44 -07:00
Bryan Frimin
3b320c7177
Fix missing search vector column
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2025-06-10 09:52:05 -07:00
Bryan Frimin
35dcad829b
Add controls totalCount support
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2025-06-09 20:02:46 -07:00
Sacha Al Himdani
67cc9d9ddc
Add control fulltext search
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2025-06-07 13:01:06 -07:00
Sacha Al Himdani
0126666fd2
Add controls on organization
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2025-06-06 15:03:20 -07:00
Sacha Al Himdani
4b34157ba3
Add controls crud
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2025-06-06 13:50:58 -07:00
Sacha Al Himdani
e1b4079e1f
Rename policy to document
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2025-05-30 13:53:14 -07:00
Bryan Frimin
1cac29f8ef
Fix typo on measure
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2025-04-30 14:07:14 -07:00
gearnode
3711bb4bbb
Rename mitigation into mesure
...
Signed-off-by: gearnode <bryan@frimin.fr >
2025-04-12 21:09:49 -07:00
gearnode
16efab774a
Refactor risk management
...
Signed-off-by: gearnode <bryan@frimin.fr >
2025-04-12 00:18:31 -07:00
gearnode
4ce72c03f7
Add control-policy mappings and rename control APIs
...
This introduces the ability to map controls to policies alongside the
existing control-mitigation mappings. The feature adds bidirectional
relationships with new GraphQL fields on Control and Policy types.
Signed-off-by: gearnode <bryan@frimin.fr >
2025-04-08 21:14:11 -07:00
gearnode
e8dc868edf
Add mitigation with task and mapping import
...
Signed-off-by: gearnode <bryan@frimin.fr >
2025-04-01 18:02:43 +02:00
gearnode
d0fc5cd439
Add mapping between control and mitigation
...
Signed-off-by: gearnode <bryan@frimin.fr >
2025-03-31 22:01:09 +02:00
gearnode
7321862ba9
First step of mitigation migration
...
Signed-off-by: gearnode <bryan@frimin.fr >
2025-03-27 23:34:35 +01:00
gearnode
449bd620da
Style
...
Signed-off-by: gearnode <bryan@frimin.fr >
2025-03-27 13:19:47 +01:00
gearnode
483a620fe7
Rename control to mitigation
...
Signed-off-by: gearnode <bryan@frimin.fr >
2025-03-27 13:07:27 +01:00
gearnode
5a1f873d58
Use dedicated type for each order field
...
Signed-off-by: gearnode <bryan@frimin.fr >
2025-03-19 00:20:05 +01:00
gearnode
c73e417e5c
Refactor model cursor to use orderBy
...
Signed-off-by: gearnode <bryan@frimin.fr >
2025-03-18 18:16:14 +01:00
gearnode
03f621ec8d
Add framework import
...
Signed-off-by: gearnode <bryan@frimin.fr >
2025-03-13 16:32:30 +01:00
gearnode
d4280b1111
Add control importance
...
Signed-off-by: gearnode <bryan@frimin.fr >
2025-03-13 08:46:51 +01:00
gearnode
5bdc474aef
Move coredata outside probo service
...
Signed-off-by: gearnode <bryan@frimin.fr >
2025-03-11 09:38:36 +01:00