Limit NDA gate to document loads

Signed-in users should browse the compliance portal the
same way visitors do. Keep @nda on export and access
mutations so signatures are only required when loading a
document.

Signed-off-by: Émile Ré <emile@probo.com>
This commit is contained in:
Émile Ré
2026-07-30 09:33:18 +02:00
parent f998a35357
commit 52c3d4df60

View File

@@ -121,7 +121,7 @@ input CompliancePortalVisibilityFilter {
visibility: CompliancePortalVisibility visibility: CompliancePortalVisibility
} }
type Document implements Node @nda { type Document implements Node {
id: ID! id: ID!
title: String! title: String!
documentType: DocumentType! documentType: DocumentType!
@@ -130,24 +130,24 @@ type Document implements Node @nda {
access: DocumentAccess @goField(forceResolver: true) access: DocumentAccess @goField(forceResolver: true)
} }
type DocumentConnection @nda { type DocumentConnection {
edges: [DocumentEdge!]! edges: [DocumentEdge!]!
pageInfo: PageInfo! pageInfo: PageInfo!
} }
type DocumentEdge @nda { type DocumentEdge {
cursor: CursorKey! cursor: CursorKey!
node: Document! node: Document!
} }
type Framework implements Node @nda { type Framework implements Node {
id: ID! id: ID!
name: String! name: String!
lightLogo: File @goField(forceResolver: true) lightLogo: File @goField(forceResolver: true)
darkLogo: File @goField(forceResolver: true) darkLogo: File @goField(forceResolver: true)
} }
type AuditReport implements Node @nda { type AuditReport implements Node {
id: ID! id: ID!
fileName: String! fileName: String!
alias: String @goField(forceResolver: true) alias: String @goField(forceResolver: true)
@@ -155,19 +155,19 @@ type AuditReport implements Node @nda {
access: DocumentAccess @goField(forceResolver: true) access: DocumentAccess @goField(forceResolver: true)
} }
type Audit implements Node @nda { type Audit implements Node {
id: ID! id: ID!
name: String name: String
framework: Framework! @goField(forceResolver: true) framework: Framework! @goField(forceResolver: true)
reportFile: AuditReport @goField(forceResolver: true) reportFile: AuditReport @goField(forceResolver: true)
} }
type AuditConnection @nda { type AuditConnection {
edges: [AuditEdge!]! edges: [AuditEdge!]!
pageInfo: PageInfo! pageInfo: PageInfo!
} }
type AuditEdge @nda { type AuditEdge {
cursor: CursorKey! cursor: CursorKey!
node: Audit! node: Audit!
} }
@@ -261,7 +261,7 @@ enum SubprocessorCategory
) )
} }
type Subprocessor implements Node @nda { type Subprocessor implements Node {
id: ID! id: ID!
name: String! name: String!
description: String description: String
@@ -280,18 +280,18 @@ input SubprocessorFilter {
type SubprocessorConnection type SubprocessorConnection
@goModel( @goModel(
model: "go.probo.inc/probo/pkg/server/api/complianceportal/v1/types.SubprocessorConnection" model: "go.probo.inc/probo/pkg/server/api/complianceportal/v1/types.SubprocessorConnection"
) @nda { ) {
edges: [SubprocessorEdge!]! edges: [SubprocessorEdge!]!
pageInfo: PageInfo! pageInfo: PageInfo!
totalCount: Int! @goField(forceResolver: true) totalCount: Int! @goField(forceResolver: true)
} }
type SubprocessorEdge @nda { type SubprocessorEdge {
cursor: CursorKey! cursor: CursorKey!
node: Subprocessor! node: Subprocessor!
} }
type CompliancePortalReference implements Node @nda { type CompliancePortalReference implements Node {
id: ID! id: ID!
name: String! name: String!
description: String description: String
@@ -299,12 +299,12 @@ type CompliancePortalReference implements Node @nda {
logo: File! @goField(forceResolver: true) logo: File! @goField(forceResolver: true)
} }
type CompliancePortalReferenceConnection @nda { type CompliancePortalReferenceConnection {
edges: [CompliancePortalReferenceEdge!]! edges: [CompliancePortalReferenceEdge!]!
pageInfo: PageInfo! pageInfo: PageInfo!
} }
type CompliancePortalReferenceEdge @nda { type CompliancePortalReferenceEdge {
cursor: CursorKey! cursor: CursorKey!
node: CompliancePortalReference! node: CompliancePortalReference!
} }
@@ -394,7 +394,7 @@ type CompliancePortalCommitmentEdge {
node: CompliancePortalCommitment! node: CompliancePortalCommitment!
} }
type CompliancePortalFile implements Node @nda { type CompliancePortalFile implements Node {
id: ID! id: ID!
name: String! name: String!
category: String! category: String!
@@ -403,12 +403,12 @@ type CompliancePortalFile implements Node @nda {
access: DocumentAccess @goField(forceResolver: true) access: DocumentAccess @goField(forceResolver: true)
} }
type CompliancePortalFileConnection @nda { type CompliancePortalFileConnection {
edges: [CompliancePortalFileEdge!]! edges: [CompliancePortalFileEdge!]!
pageInfo: PageInfo! pageInfo: PageInfo!
} }
type CompliancePortalFileEdge @nda { type CompliancePortalFileEdge {
cursor: CursorKey! cursor: CursorKey!
node: CompliancePortalFile! node: CompliancePortalFile!
} }