Add granular trust center access

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2025-09-25 14:48:40 +02:00
parent 60d1238534
commit 770a795cd3
27 changed files with 6650 additions and 806 deletions

View File

@@ -57,6 +57,8 @@ type Document implements Node {
id: ID!
title: String!
documentType: DocumentType!
isUserAuthorized: Boolean! @goField(forceResolver: true)
hasUserRequestedAccess: Boolean! @goField(forceResolver: true)
}
type DocumentConnection {
@@ -78,6 +80,8 @@ type Framework implements Node {
type Report implements Node {
id: ID!
filename: String!
isUserAuthorized: Boolean! @goField(forceResolver: true)
hasUserRequestedAccess: Boolean! @goField(forceResolver: true)
}
type Audit implements Node {
@@ -517,13 +521,13 @@ type TrustCenterAccess implements Node {
updatedAt: Datetime!
}
input CreateTrustCenterAccessInput {
input RequestAllAccessesInput {
trustCenterId: ID!
email: String!
name: String!
email: String
name: String
}
type CreateTrustCenterAccessPayload {
type RequestAccessesPayload {
trustCenterAccess: TrustCenterAccess!
}
@@ -539,6 +543,20 @@ input AcceptNonDisclosureAgreementInput {
trustCenterId: ID!
}
input RequestDocumentAccessInput {
trustCenterId: ID!
documentId: ID!
email: String
name: String
}
input RequestReportAccessInput {
trustCenterId: ID!
reportId: ID!
email: String
name: String
}
type ExportDocumentPDFPayload {
data: String!
}
@@ -547,7 +565,7 @@ type ExportReportPDFPayload {
data: String!
}
type AcceptNonDisclosureAgreementPayload{
type AcceptNonDisclosureAgreementPayload {
success: Boolean!
}
@@ -557,9 +575,9 @@ type Query {
}
type Mutation {
createTrustCenterAccess(
input: CreateTrustCenterAccessInput!
): CreateTrustCenterAccessPayload! @mustBeAuthenticated(role: NONE)
requestAllAccesses(
input: RequestAllAccessesInput!
): RequestAccessesPayload! @mustBeAuthenticated(role: NONE)
exportDocumentPDF(
input: ExportDocumentPDFInput!
@@ -572,4 +590,12 @@ type Mutation {
acceptNonDisclosureAgreement(
input: AcceptNonDisclosureAgreementInput!
): AcceptNonDisclosureAgreementPayload! @mustBeAuthenticated(role: USER)
requestDocumentAccess(
input: RequestDocumentAccessInput!
): RequestAccessesPayload! @mustBeAuthenticated(role: NONE)
requestReportAccess(
input: RequestReportAccessInput!
): RequestAccessesPayload! @mustBeAuthenticated(role: NONE)
}