Commit Graph

23 Commits

Author SHA1 Message Date
Émile Ré
f5703d390b Enforce Go style rules across codebase
Apply five style rules: convert iota string enums to typed
string constants, replace errors.As with errors.AsType,
merge three-group imports into two groups, fix multiline
parameter/argument formatting, and replace fmt.Sprintf URL
construction with net/url.

Signed-off-by: Émile Ré <emile@probo.com>
2026-05-20 11:46:39 +04:00
Émile Ré
9156d6a16a Add wsl linter and fix
Signed-off-by: Émile Ré <emile@probo.com>
2026-05-20 09:27:28 +04:00
Bryan Frimin
f17fb7bf49 Upgrade to kit v0.3.0
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-04-03 11:56:06 +02:00
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
Bryan Frimin
2b08dea600 Fix measure count queries missing category column
CountByRiskID and CountByControlID CTEs did not include m.category in their SELECT
lists, causing "column category does not exist" errors when MeasureFilter applied
category constraints. Added m.category to both CTEs.

Also add comprehensive e2e tests for measure filtering by category at organization,
risk, and control levels.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-19 12:25:34 +01:00
Bryan Frimin
82f241628c Refactor MeasuresPage to use Relay fragments
Replace the client-side grouped-by-category view (fetching 500 items)
with a flat table using server-side filtering and cursor-based
pagination. Colocate GraphQL queries, fragments, and mutations in the
component file per console CLAUDE.md conventions.

Backend changes add a category filter to the measure list endpoints
(GraphQL, MCP) and a new measureCategories field on Organization.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-19 09:54:33 +01: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
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
Bryan Frimin
afc5107cf2 Fix 5xx on risk measures resolver
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-10-20 12:45:35 +02:00
Bryan Frimin
b222bc245d Fix SQL measure queries
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-10-14 12:17:35 +02:00
Sacha Al Himdani
9844d85a3e Add measure name order
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-10-03 10:44:34 +02:00
Bryan Frimin
9a3c4d3965 Plug framework export
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-09-04 13:35:34 +02:00
Bryan Frimin
d47cac911d Initial export
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-09-04 12:44:41 +02:00
Bryan Frimin
31a5c3779d Fix missing tenant_id
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-06-13 16:47:16 -07:00
Sacha Al Himdani
069ff4aa9a Fix search queries
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-06-10 10:45:16 -07:00
Bryan Frimin
6c96590332 Add measures totalCount support
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-06-09 20:31:14 -07:00
Sacha Al Himdani
a9a5f9cf49 Add fulltext search on risks, documents, and measures
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-06-09 15:11:36 -07:00
Bryan Frimin
9959786f26 Improve measure data isolation
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-05-23 11:01:02 -07:00
Bryan Frimin
046c42eb48 Add tasks page
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-05-05 22:34:04 -07:00