Commit Graph

130 Commits

Author SHA1 Message Date
Sacha Al Himdani
73d5dbb5db Replace panic calls with proper error handling in resolvers
All panic(fmt.Errorf(...)) calls in the console and trust center
GraphQL resolvers are replaced with structured error logging via
r.logger.ErrorCtx and gqlutils.Internal(ctx) returns.

Mutation resolvers for Create, Update, Upload, Import, and Assess
operations now check for validator.ValidationErrors before returning
an internal error, surfacing field-level INVALID errors to clients
via gqlutils.InvalidValidationErrors.

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-17 16:15:51 +01:00
Sacha Al Himdani
16b966b8fb Fix multiline function call style violations
Expand mixed inline/multiline function calls so each argument
is on its own line, matching the one-argument-per-line rule.

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-17 15:59:26 +01:00
Bryan Frimin
7ffb2d5e94 Add document viewer with proper 404 handling for trust center
Move document download/view to a dedicated viewer page with PDF preview,
access request flow, and a proper 404 error boundary when documents are
not found. The backend now returns NOT_FOUND instead of INTERNAL for
missing documents and reports.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-16 19:13:21 +01:00
Sacha Al Himdani
dc8e6d0817 Add validation to mailman service
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-16 17:46:32 +01:00
Bryan Frimin
807213d384 Stop tracking generated files
Run make generate in CI lint and test jobs since generated files are
now gitignored. Also include Relay codegen for frontend apps in the
generate target.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-16 16:19:47 +01:00
Sacha Al Himdani
0b7c0e0806 Add validation to mailman service
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-16 14:37:34 +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
d5c62a9383 Run go fmt/fix
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-13 14:48:13 +01:00
Émile Ré
6ad808c966 Move and rename EnsureAccess method in trust.Service
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-13 16:58:10 +04:00
Émile Ré
ea8253ea78 Add membership provisioning middleware to compliance page
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-13 16:58:10 +04:00
Sacha Al Himdani
b8ba213fcb Compliance updates should be public
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-12 13:46:19 +01:00
Sacha Al Himdani
85ec106cd6 Send mailing list emails
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-11 15:34:37 +01:00
Sacha Al Himdani
aa01c40184 Remove with tenant from mailman
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-11 15:34:36 +01:00
Sacha Al Himdani
4d2cb793b6 Add compliance page mailing list base
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-11 15:34:36 +01:00
Sacha Al Himdani
fe241fc136 Add social links
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-11 12:10:57 +01:00
Émile Ré
97e957f394 Implement guard on empty full name before NDA is signed
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-05 17:07:58 +04:00
Émile Ré
e856817d2b Remove full name input from nda page
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-05 11:19:19 +04:00
Émile Ré
323cd602a1 Update business logic
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-05 10:36:08 +04:00
Émile Ré
9e106a8875 Add fullName to magic link form
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-05 10:36:07 +04:00
Émile Ré
54e0353833 Fix typo
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-04 20:38:56 +04:00
Émile Ré
1af887e4d1 Respond with unauthenticated on compliance page missing membership
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-04 20:25:58 +04:00
Sacha Al Himdani
3bf6e67729 Fix style
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-04 16:55:36 +01:00
Sacha Al Himdani
7a48ba65a0 Add missing file
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-04 16:46:06 +01:00
Sacha Al Himdani
0483d7b343 Fix compliance graphql schema
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-04 16:44:23 +01:00
Sacha Al Himdani
c17c53e80f Add compliance frameworks
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-04 10:19:39 +01:00
Émile Ré
8dc5fffa58 Fix misc bugs
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-04 11:04:47 +04:00
Émile Ré
a160dc1f47 Fix request mutations on complete store updates
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:02 +04:00
Émile Ré
5703bccc9a Remove unused gql field
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:02 +04:00
Émile Ré
c4b06ddc7d Add compliange page base URL in context and use it to validate redirect URLs
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:01 +04:00
Émile Ré
823fc64c37 Implement nda check as a directive
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:01 +04:00
Émile Ré
23491a7976 Remove saferedirect check
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:01 +04:00
Émile Ré
9da8cc2e3d Add nda signature middleware
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:01 +04:00
Émile Ré
bb8d477495 Add request param presence callback to request accesses
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:01 +04:00
Émile Ré
316e81f938 Implement continue on verify magic link
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:00 +04:00
Émile Ré
3c70b1e3eb Generate go files after gqlgen & mcpgen upgrades
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 12:54:43 +04:00
Sacha Al Himdani
067c3c1680 Use audit name in compliance page
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-02-27 18:36:52 +01:00
Bryan Frimin
bb28cbec0b Create access at login time
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-23 09:38:33 +01:00
Bryan Frimin
537797d35b Only keep clean IP address
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-23 09:38:32 +01:00
Bryan Frimin
95d7d3c389 Fix legacy access blocked
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-23 09:38:30 +01:00
Bryan Frimin
33747c46eb Add file stamp
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-23 09:38:28 +01:00
Bryan Frimin
16503a7df4 Use electronic signature for compliage page NDA
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-23 09:38:27 +01:00
Bryan Frimin
c191d25e9a Add electronic signature
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-23 09:38:27 +01:00
Bryan Frimin
c5ef46b9b4 Fix files alwasy requested even when not
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-11 16:02:38 +01:00
Émile Ré
a388aa4999 Redirect when already authenticated
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-05 11:49:33 +04:00
Émile Ré
ad122f8b2e Rework the UI of vendor row on compliance page
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-04 18:38:48 +04:00
Émile Ré
e13ff134ed Extract email presentation configuration layer to streamline email branding
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-02 13:32:57 +04:00
Émile Ré
aa8bc15233 Use compliance page logos for favicon and org sidebar
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-02 13:32:57 +04:00
Émile Ré
65deef5d29 Use compliance page logo instead of organization one
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-02 13:32:56 +04:00
Émile Ré
68e93c4bc7 Fix trust center document access load + add granular error handling
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-29 11:48:24 +04:00
Émile Ré
34a6ed1223 Add total count to vendors connection
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-27 19:19:43 +04:00