Add enum to handle rejected status of trust center document access
Signed-off-by: Émile Ré <nemile.re@gmail.com>
This commit is contained in:
21
pkg/coredata/migrations/20251205T000000Z.sql
Normal file
21
pkg/coredata/migrations/20251205T000000Z.sql
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
CREATE TYPE trust_center_document_access_status AS ENUM ('REQUESTED', 'GRANTED', 'REJECTED', 'REVOKED');
|
||||||
|
|
||||||
|
ALTER TABLE
|
||||||
|
trust_center_document_accesses
|
||||||
|
ADD
|
||||||
|
COLUMN status trust_center_document_access_status;
|
||||||
|
|
||||||
|
UPDATE
|
||||||
|
trust_center_document_accesses
|
||||||
|
SET
|
||||||
|
status = CASE
|
||||||
|
WHEN active = 'T' THEN 'GRANTED' :: trust_center_document_access_status
|
||||||
|
ELSE 'REQUESTED' :: trust_center_document_access_status
|
||||||
|
END;
|
||||||
|
|
||||||
|
ALTER TABLE
|
||||||
|
trust_center_document_accesses
|
||||||
|
ALTER COLUMN
|
||||||
|
status
|
||||||
|
SET
|
||||||
|
NOT NULL;
|
||||||
@@ -37,6 +37,7 @@ type (
|
|||||||
ReportID *gid.GID `db:"report_id"`
|
ReportID *gid.GID `db:"report_id"`
|
||||||
TrustCenterFileID *gid.GID `db:"trust_center_file_id"`
|
TrustCenterFileID *gid.GID `db:"trust_center_file_id"`
|
||||||
Active bool `db:"active"`
|
Active bool `db:"active"`
|
||||||
|
Status TrustCenterDocumentAccessStatus `db:"status"`
|
||||||
Requested bool `db:"requested"`
|
Requested bool `db:"requested"`
|
||||||
CreatedAt time.Time `db:"created_at"`
|
CreatedAt time.Time `db:"created_at"`
|
||||||
UpdatedAt time.Time `db:"updated_at"`
|
UpdatedAt time.Time `db:"updated_at"`
|
||||||
@@ -85,6 +86,7 @@ SELECT
|
|||||||
report_id,
|
report_id,
|
||||||
trust_center_file_id,
|
trust_center_file_id,
|
||||||
active,
|
active,
|
||||||
|
status,
|
||||||
requested,
|
requested,
|
||||||
created_at,
|
created_at,
|
||||||
updated_at
|
updated_at
|
||||||
@@ -135,6 +137,7 @@ SELECT
|
|||||||
report_id,
|
report_id,
|
||||||
trust_center_file_id,
|
trust_center_file_id,
|
||||||
active,
|
active,
|
||||||
|
status,
|
||||||
requested,
|
requested,
|
||||||
created_at,
|
created_at,
|
||||||
updated_at
|
updated_at
|
||||||
@@ -186,6 +189,7 @@ SELECT
|
|||||||
report_id,
|
report_id,
|
||||||
trust_center_file_id,
|
trust_center_file_id,
|
||||||
active,
|
active,
|
||||||
|
status,
|
||||||
requested,
|
requested,
|
||||||
created_at,
|
created_at,
|
||||||
updated_at
|
updated_at
|
||||||
@@ -236,6 +240,7 @@ INSERT INTO trust_center_document_accesses (
|
|||||||
report_id,
|
report_id,
|
||||||
trust_center_file_id,
|
trust_center_file_id,
|
||||||
active,
|
active,
|
||||||
|
status,
|
||||||
requested,
|
requested,
|
||||||
created_at,
|
created_at,
|
||||||
updated_at
|
updated_at
|
||||||
@@ -248,6 +253,7 @@ INSERT INTO trust_center_document_accesses (
|
|||||||
@report_id,
|
@report_id,
|
||||||
@trust_center_file_id,
|
@trust_center_file_id,
|
||||||
@active,
|
@active,
|
||||||
|
@status::trust_center_document_access_status,
|
||||||
@requested,
|
@requested,
|
||||||
@created_at,
|
@created_at,
|
||||||
@updated_at
|
@updated_at
|
||||||
@@ -262,6 +268,7 @@ INSERT INTO trust_center_document_accesses (
|
|||||||
"document_id": tcda.DocumentID,
|
"document_id": tcda.DocumentID,
|
||||||
"report_id": tcda.ReportID,
|
"report_id": tcda.ReportID,
|
||||||
"trust_center_file_id": tcda.TrustCenterFileID,
|
"trust_center_file_id": tcda.TrustCenterFileID,
|
||||||
|
"status": tcda.Status,
|
||||||
"active": tcda.Active,
|
"active": tcda.Active,
|
||||||
"requested": tcda.Requested,
|
"requested": tcda.Requested,
|
||||||
"created_at": tcda.CreatedAt,
|
"created_at": tcda.CreatedAt,
|
||||||
@@ -302,7 +309,7 @@ func (tcda *TrustCenterDocumentAccess) Update(
|
|||||||
) error {
|
) error {
|
||||||
q := `
|
q := `
|
||||||
UPDATE trust_center_document_accesses SET
|
UPDATE trust_center_document_accesses SET
|
||||||
active = @active,
|
status = @status::trust_center_document_access_status,
|
||||||
updated_at = @updated_at
|
updated_at = @updated_at
|
||||||
WHERE
|
WHERE
|
||||||
%s
|
%s
|
||||||
@@ -313,7 +320,7 @@ WHERE
|
|||||||
|
|
||||||
args := pgx.StrictNamedArgs{
|
args := pgx.StrictNamedArgs{
|
||||||
"id": tcda.ID,
|
"id": tcda.ID,
|
||||||
"active": tcda.Active,
|
"status": tcda.Status,
|
||||||
"updated_at": tcda.UpdatedAt,
|
"updated_at": tcda.UpdatedAt,
|
||||||
}
|
}
|
||||||
maps.Copy(args, scope.SQLArguments())
|
maps.Copy(args, scope.SQLArguments())
|
||||||
@@ -401,7 +408,7 @@ WHERE
|
|||||||
%s
|
%s
|
||||||
AND trust_center_access_id = @trust_center_access_id
|
AND trust_center_access_id = @trust_center_access_id
|
||||||
AND requested = true
|
AND requested = true
|
||||||
AND active = false
|
AND status = 'REQUESTED'::trust_center_document_access_status
|
||||||
`
|
`
|
||||||
|
|
||||||
q = fmt.Sprintf(q, scope.SQLFragment())
|
q = fmt.Sprintf(q, scope.SQLFragment())
|
||||||
@@ -435,7 +442,7 @@ FROM
|
|||||||
WHERE
|
WHERE
|
||||||
%s
|
%s
|
||||||
AND trust_center_access_id = @trust_center_access_id
|
AND trust_center_access_id = @trust_center_access_id
|
||||||
AND active = true
|
AND status = 'GRANTED'::trust_center_document_access_status
|
||||||
`
|
`
|
||||||
|
|
||||||
q = fmt.Sprintf(q, scope.SQLFragment())
|
q = fmt.Sprintf(q, scope.SQLFragment())
|
||||||
@@ -525,6 +532,7 @@ final_items AS (
|
|||||||
ai.report_id,
|
ai.report_id,
|
||||||
ai.trust_center_file_id,
|
ai.trust_center_file_id,
|
||||||
COALESCE(tcda.active, false) AS active,
|
COALESCE(tcda.active, false) AS active,
|
||||||
|
COALESCE(tcda.status, 'REQUESTED'::trust_center_document_access_status) AS status,
|
||||||
COALESCE(tcda.requested, false) AS requested,
|
COALESCE(tcda.requested, false) AS requested,
|
||||||
COALESCE(tcda.created_at, ai.item_created_at) AS created_at,
|
COALESCE(tcda.created_at, ai.item_created_at) AS created_at,
|
||||||
COALESCE(tcda.updated_at, ai.item_updated_at) AS updated_at
|
COALESCE(tcda.updated_at, ai.item_updated_at) AS updated_at
|
||||||
@@ -546,6 +554,7 @@ SELECT
|
|||||||
report_id,
|
report_id,
|
||||||
trust_center_file_id,
|
trust_center_file_id,
|
||||||
active,
|
active,
|
||||||
|
status,
|
||||||
requested,
|
requested,
|
||||||
created_at,
|
created_at,
|
||||||
updated_at
|
updated_at
|
||||||
@@ -591,6 +600,7 @@ SELECT
|
|||||||
report_id,
|
report_id,
|
||||||
trust_center_file_id,
|
trust_center_file_id,
|
||||||
active,
|
active,
|
||||||
|
status,
|
||||||
requested,
|
requested,
|
||||||
created_at,
|
created_at,
|
||||||
updated_at
|
updated_at
|
||||||
@@ -623,7 +633,7 @@ WHERE
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func DeactivateByTrustCenterAccessID(
|
func DeleteByTrustCenterAccessID(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
conn pg.Conn,
|
conn pg.Conn,
|
||||||
scope Scoper,
|
scope Scoper,
|
||||||
@@ -631,8 +641,7 @@ func DeactivateByTrustCenterAccessID(
|
|||||||
updatedAt time.Time,
|
updatedAt time.Time,
|
||||||
) error {
|
) error {
|
||||||
q := `
|
q := `
|
||||||
UPDATE trust_center_document_accesses
|
DELETE FROM trust_center_document_accesses
|
||||||
SET active = false, updated_at = @updated_at
|
|
||||||
WHERE
|
WHERE
|
||||||
%s
|
%s
|
||||||
AND trust_center_access_id = @trust_center_access_id
|
AND trust_center_access_id = @trust_center_access_id
|
||||||
@@ -648,7 +657,7 @@ WHERE
|
|||||||
|
|
||||||
_, err := conn.Exec(ctx, q, args)
|
_, err := conn.Exec(ctx, q, args)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("cannot deactivate trust center document accesses: %w", err)
|
return fmt.Errorf("cannot delete trust center document accesses: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@@ -664,7 +673,7 @@ func ActivateByDocumentIDs(
|
|||||||
) error {
|
) error {
|
||||||
q := `
|
q := `
|
||||||
UPDATE trust_center_document_accesses
|
UPDATE trust_center_document_accesses
|
||||||
SET active = true, updated_at = @updated_at
|
SET status = 'GRANTED'::trust_center_document_access_status, updated_at = @updated_at
|
||||||
WHERE
|
WHERE
|
||||||
%s
|
%s
|
||||||
AND trust_center_access_id = @trust_center_access_id
|
AND trust_center_access_id = @trust_center_access_id
|
||||||
@@ -688,7 +697,7 @@ WHERE
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func DeleteByDocumentIDs(
|
func RejectByDocumentIDs(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
conn pg.Conn,
|
conn pg.Conn,
|
||||||
scope Scoper,
|
scope Scoper,
|
||||||
@@ -696,7 +705,8 @@ func DeleteByDocumentIDs(
|
|||||||
documentIDs []gid.GID,
|
documentIDs []gid.GID,
|
||||||
) error {
|
) error {
|
||||||
q := `
|
q := `
|
||||||
DELETE FROM trust_center_document_accesses
|
UPDATE trust_center_document_accesses
|
||||||
|
SET status = 'REJECTED'::trust_center_document_access_status
|
||||||
WHERE
|
WHERE
|
||||||
%s
|
%s
|
||||||
AND trust_center_access_id = @trust_center_access_id
|
AND trust_center_access_id = @trust_center_access_id
|
||||||
@@ -713,7 +723,7 @@ WHERE
|
|||||||
|
|
||||||
_, err := conn.Exec(ctx, q, args)
|
_, err := conn.Exec(ctx, q, args)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("cannot delete trust center document accesses by document IDs: %w", err)
|
return fmt.Errorf("cannot reject trust center document accesses by document IDs: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@@ -729,7 +739,7 @@ func ActivateByReportIDs(
|
|||||||
) error {
|
) error {
|
||||||
q := `
|
q := `
|
||||||
UPDATE trust_center_document_accesses
|
UPDATE trust_center_document_accesses
|
||||||
SET active = true, updated_at = @updated_at
|
SET status = 'GRANTED'::trust_center_document_access_status, updated_at = @updated_at
|
||||||
WHERE
|
WHERE
|
||||||
%s
|
%s
|
||||||
AND trust_center_access_id = @trust_center_access_id
|
AND trust_center_access_id = @trust_center_access_id
|
||||||
@@ -753,7 +763,7 @@ WHERE
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func DeleteByReportIDs(
|
func RejectByReportIDs(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
conn pg.Conn,
|
conn pg.Conn,
|
||||||
scope Scoper,
|
scope Scoper,
|
||||||
@@ -761,7 +771,8 @@ func DeleteByReportIDs(
|
|||||||
reportIDs []gid.GID,
|
reportIDs []gid.GID,
|
||||||
) error {
|
) error {
|
||||||
q := `
|
q := `
|
||||||
DELETE FROM trust_center_document_accesses
|
UPDATE trust_center_document_accesses
|
||||||
|
SET status = 'REJECTED'::trust_center_document_access_status
|
||||||
WHERE
|
WHERE
|
||||||
%s
|
%s
|
||||||
AND trust_center_access_id = @trust_center_access_id
|
AND trust_center_access_id = @trust_center_access_id
|
||||||
@@ -778,7 +789,7 @@ WHERE
|
|||||||
|
|
||||||
_, err := conn.Exec(ctx, q, args)
|
_, err := conn.Exec(ctx, q, args)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("cannot delete trust center document accesses by report IDs: %w", err)
|
return fmt.Errorf("cannot reject trust center document accesses by report IDs: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@@ -809,12 +820,24 @@ WITH document_access_data AS (
|
|||||||
null::text AS report_id,
|
null::text AS report_id,
|
||||||
null::text AS trust_center_file_id,
|
null::text AS trust_center_file_id,
|
||||||
false AS active,
|
false AS active,
|
||||||
|
'REQUESTED'::trust_center_document_access_status AS status,
|
||||||
@requested::boolean AS requested,
|
@requested::boolean AS requested,
|
||||||
@created_at::timestamptz AS created_at,
|
@created_at::timestamptz AS created_at,
|
||||||
@updated_at::timestamptz AS updated_at
|
@updated_at::timestamptz AS updated_at
|
||||||
)
|
)
|
||||||
INSERT INTO trust_center_document_accesses (
|
INSERT INTO trust_center_document_accesses (
|
||||||
id, tenant_id, organization_id, trust_center_access_id, document_id, report_id, trust_center_file_id, active, requested, created_at, updated_at
|
id,
|
||||||
|
tenant_id,
|
||||||
|
organization_id,
|
||||||
|
trust_center_access_id,
|
||||||
|
document_id,
|
||||||
|
report_id,
|
||||||
|
trust_center_file_id,
|
||||||
|
active,
|
||||||
|
status,
|
||||||
|
requested,
|
||||||
|
created_at,
|
||||||
|
updated_at
|
||||||
)
|
)
|
||||||
SELECT * FROM document_access_data
|
SELECT * FROM document_access_data
|
||||||
ON CONFLICT DO NOTHING
|
ON CONFLICT DO NOTHING
|
||||||
@@ -907,6 +930,7 @@ SELECT
|
|||||||
report_id,
|
report_id,
|
||||||
trust_center_file_id,
|
trust_center_file_id,
|
||||||
active,
|
active,
|
||||||
|
status,
|
||||||
requested,
|
requested,
|
||||||
created_at,
|
created_at,
|
||||||
updated_at
|
updated_at
|
||||||
@@ -952,7 +976,7 @@ func ActivateByTrustCenterFileIDs(
|
|||||||
) error {
|
) error {
|
||||||
q := `
|
q := `
|
||||||
UPDATE trust_center_document_accesses
|
UPDATE trust_center_document_accesses
|
||||||
SET active = true, updated_at = @updated_at
|
SET status = 'GRANTED'::trust_center_document_access_status, updated_at = @updated_at
|
||||||
WHERE
|
WHERE
|
||||||
%s
|
%s
|
||||||
AND trust_center_access_id = @trust_center_access_id
|
AND trust_center_access_id = @trust_center_access_id
|
||||||
@@ -976,7 +1000,7 @@ WHERE
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func DeleteByTrustCenterFileIDs(
|
func RejectByTrustCenterFileIDs(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
conn pg.Conn,
|
conn pg.Conn,
|
||||||
scope Scoper,
|
scope Scoper,
|
||||||
@@ -984,7 +1008,8 @@ func DeleteByTrustCenterFileIDs(
|
|||||||
trustCenterFileIDs []gid.GID,
|
trustCenterFileIDs []gid.GID,
|
||||||
) error {
|
) error {
|
||||||
q := `
|
q := `
|
||||||
DELETE FROM trust_center_document_accesses
|
UPDATE trust_center_document_accesses
|
||||||
|
SET status = 'REJECTED'::trust_center_document_access_status
|
||||||
WHERE
|
WHERE
|
||||||
%s
|
%s
|
||||||
AND trust_center_access_id = @trust_center_access_id
|
AND trust_center_access_id = @trust_center_access_id
|
||||||
@@ -1001,7 +1026,7 @@ WHERE
|
|||||||
|
|
||||||
_, err := conn.Exec(ctx, q, args)
|
_, err := conn.Exec(ctx, q, args)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("cannot delete trust center document accesses by trust center file IDs: %w", err)
|
return fmt.Errorf("cannot reject trust center document accesses by trust center file IDs: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@@ -1028,12 +1053,24 @@ WITH trust_center_file_access_data AS (
|
|||||||
null::text AS report_id,
|
null::text AS report_id,
|
||||||
unnest(@trust_center_file_ids::text[]) AS trust_center_file_id,
|
unnest(@trust_center_file_ids::text[]) AS trust_center_file_id,
|
||||||
false AS active,
|
false AS active,
|
||||||
|
'REQUESTED'::trust_center_document_access_status AS status,
|
||||||
@requested::boolean AS requested,
|
@requested::boolean AS requested,
|
||||||
@created_at::timestamptz AS created_at,
|
@created_at::timestamptz AS created_at,
|
||||||
@updated_at::timestamptz AS updated_at
|
@updated_at::timestamptz AS updated_at
|
||||||
)
|
)
|
||||||
INSERT INTO trust_center_document_accesses (
|
INSERT INTO trust_center_document_accesses (
|
||||||
id, tenant_id, organization_id, trust_center_access_id, document_id, report_id, trust_center_file_id, active, requested, created_at, updated_at
|
id,
|
||||||
|
tenant_id,
|
||||||
|
organization_id,
|
||||||
|
trust_center_access_id,
|
||||||
|
document_id,
|
||||||
|
report_id,
|
||||||
|
trust_center_file_id,
|
||||||
|
active,
|
||||||
|
status,
|
||||||
|
requested,
|
||||||
|
created_at,
|
||||||
|
updated_at
|
||||||
)
|
)
|
||||||
SELECT * FROM trust_center_file_access_data
|
SELECT * FROM trust_center_file_access_data
|
||||||
ON CONFLICT DO NOTHING
|
ON CONFLICT DO NOTHING
|
||||||
|
|||||||
49
pkg/coredata/trust_center_document_access_status.go
Normal file
49
pkg/coredata/trust_center_document_access_status.go
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
package coredata
|
||||||
|
|
||||||
|
import (
|
||||||
|
"database/sql/driver"
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
type TrustCenterDocumentAccessStatus string
|
||||||
|
|
||||||
|
const (
|
||||||
|
TrustCenterDocumentAccessStatusRequested TrustCenterDocumentAccessStatus = "REQUESTED"
|
||||||
|
TrustCenterDocumentAccessStatusGranted TrustCenterDocumentAccessStatus = "GRANTED"
|
||||||
|
TrustCenterDocumentAccessStatusRejected TrustCenterDocumentAccessStatus = "REJECTED"
|
||||||
|
TrustCenterDocumentAccessStatusRevoked TrustCenterDocumentAccessStatus = "REVOKED"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (tcdas TrustCenterDocumentAccessStatus) String() string {
|
||||||
|
return string(tcdas)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (tcdas *TrustCenterDocumentAccessStatus) Scan(value any) error {
|
||||||
|
var s string
|
||||||
|
switch v := value.(type) {
|
||||||
|
case string:
|
||||||
|
s = v
|
||||||
|
case []byte:
|
||||||
|
s = string(v)
|
||||||
|
default:
|
||||||
|
return fmt.Errorf("unsupported type for TrustCenterDocumentAccessStatus: %T", value)
|
||||||
|
}
|
||||||
|
|
||||||
|
switch s {
|
||||||
|
case "REQUESTED":
|
||||||
|
*tcdas = TrustCenterDocumentAccessStatusRequested
|
||||||
|
case "GRANTED":
|
||||||
|
*tcdas = TrustCenterDocumentAccessStatusGranted
|
||||||
|
case "REJECTED":
|
||||||
|
*tcdas = TrustCenterDocumentAccessStatusRejected
|
||||||
|
case "REVOKED":
|
||||||
|
*tcdas = TrustCenterDocumentAccessStatusRevoked
|
||||||
|
default:
|
||||||
|
return fmt.Errorf("invalid TrustCenterDocumentAccessStatus value: %q", s)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (tcdas TrustCenterDocumentAccessStatus) Value() (driver.Value, error) {
|
||||||
|
return tcdas.String(), nil
|
||||||
|
}
|
||||||
@@ -397,8 +397,8 @@ func (s TrustCenterAccessService) upsertDocumentAccesses(
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := coredata.DeactivateByTrustCenterAccessID(ctx, tx, s.svc.scope, accessID, now); err != nil {
|
if err := coredata.DeleteByTrustCenterAccessID(ctx, tx, s.svc.scope, accessID, now); err != nil {
|
||||||
return fmt.Errorf("cannot deactivate existing document accesses: %w", err)
|
return fmt.Errorf("cannot delete existing document accesses: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if documentIDs != nil {
|
if documentIDs != nil {
|
||||||
|
|||||||
@@ -91,10 +91,12 @@ enum InvitationStatus
|
|||||||
@goEnum(value: "go.probo.inc/probo/pkg/coredata.InvitationStatusExpired")
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.InvitationStatusExpired")
|
||||||
}
|
}
|
||||||
|
|
||||||
enum MembershipRole @goModel(model: "go.probo.inc/probo/pkg/coredata.MembershipRole") {
|
enum MembershipRole
|
||||||
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.MembershipRole") {
|
||||||
OWNER @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleOwner")
|
OWNER @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleOwner")
|
||||||
ADMIN @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleAdmin")
|
ADMIN @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleAdmin")
|
||||||
EMPLOYEE @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleEmployee")
|
EMPLOYEE
|
||||||
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleEmployee")
|
||||||
VIEWER @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleViewer")
|
VIEWER @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleViewer")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,7 +104,6 @@ enum APIRole @goModel(model: "go.probo.inc/probo/pkg/coredata.APIRole") {
|
|||||||
FULL @goEnum(value: "go.probo.inc/probo/pkg/coredata.APIRoleFull")
|
FULL @goEnum(value: "go.probo.inc/probo/pkg/coredata.APIRoleFull")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
enum DocumentStatus
|
enum DocumentStatus
|
||||||
@goModel(model: "go.probo.inc/probo/pkg/coredata.DocumentStatus") {
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.DocumentStatus") {
|
||||||
DRAFT @goEnum(value: "go.probo.inc/probo/pkg/coredata.DocumentStatusDraft")
|
DRAFT @goEnum(value: "go.probo.inc/probo/pkg/coredata.DocumentStatusDraft")
|
||||||
@@ -172,6 +173,28 @@ enum TrustCenterVisibility
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum TrustCenterDocumentAccessStatus
|
||||||
|
@goModel(
|
||||||
|
model: "go.probo.inc/probo/pkg/coredata.TrustCenterDocumentAccessStatus"
|
||||||
|
) {
|
||||||
|
REQUESTED
|
||||||
|
@goEnum(
|
||||||
|
value: "go.probo.inc/probo/pkg/coredata.TrustCenterDocumentAccessStatusRequested"
|
||||||
|
)
|
||||||
|
GRANTED
|
||||||
|
@goEnum(
|
||||||
|
value: "go.probo.inc/probo/pkg/coredata.TrustCenterDocumentAccessStatusGranted"
|
||||||
|
)
|
||||||
|
REJECTED
|
||||||
|
@goEnum(
|
||||||
|
value: "go.probo.inc/probo/pkg/coredata.TrustCenterDocumentAccessStatusRejected"
|
||||||
|
)
|
||||||
|
REVOKED
|
||||||
|
@goEnum(
|
||||||
|
value: "go.probo.inc/probo/pkg/coredata.TrustCenterDocumentAccessStatusRevoked"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
enum NonconformityStatus
|
enum NonconformityStatus
|
||||||
@goModel(model: "go.probo.inc/probo/pkg/coredata.NonconformityStatus") {
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.NonconformityStatus") {
|
||||||
OPEN @goEnum(value: "go.probo.inc/probo/pkg/coredata.NonconformityStatusOpen")
|
OPEN @goEnum(value: "go.probo.inc/probo/pkg/coredata.NonconformityStatusOpen")
|
||||||
@@ -1864,7 +1887,8 @@ type Framework implements Node {
|
|||||||
updatedAt: Datetime!
|
updatedAt: Datetime!
|
||||||
}
|
}
|
||||||
|
|
||||||
type Control implements Node @goModel(
|
type Control implements Node
|
||||||
|
@goModel(
|
||||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.Control"
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.Control"
|
||||||
) {
|
) {
|
||||||
id: ID!
|
id: ID!
|
||||||
@@ -2032,7 +2056,8 @@ type Document implements Node {
|
|||||||
updatedAt: Datetime!
|
updatedAt: Datetime!
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignableDocument @goModel(
|
type SignableDocument
|
||||||
|
@goModel(
|
||||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.SignableDocument"
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.SignableDocument"
|
||||||
) {
|
) {
|
||||||
id: ID!
|
id: ID!
|
||||||
@@ -2339,6 +2364,7 @@ type TrustCenterDocumentAccess
|
|||||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.TrustCenterDocumentAccess"
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.TrustCenterDocumentAccess"
|
||||||
) {
|
) {
|
||||||
active: Boolean!
|
active: Boolean!
|
||||||
|
status: TrustCenterDocumentAccessStatus!
|
||||||
requested: Boolean!
|
requested: Boolean!
|
||||||
document: Document @goField(forceResolver: true)
|
document: Document @goField(forceResolver: true)
|
||||||
report: Report @goField(forceResolver: true)
|
report: Report @goField(forceResolver: true)
|
||||||
@@ -2784,7 +2810,8 @@ type Mutation {
|
|||||||
# Organization mutations
|
# Organization mutations
|
||||||
createOrganization(
|
createOrganization(
|
||||||
input: CreateOrganizationInput!
|
input: CreateOrganizationInput!
|
||||||
): CreateOrganizationPayload! updateOrganization(
|
): CreateOrganizationPayload!
|
||||||
|
updateOrganization(
|
||||||
input: UpdateOrganizationInput!
|
input: UpdateOrganizationInput!
|
||||||
): UpdateOrganizationPayload!
|
): UpdateOrganizationPayload!
|
||||||
updateOrganizationContext(
|
updateOrganizationContext(
|
||||||
@@ -2792,7 +2819,8 @@ type Mutation {
|
|||||||
): UpdateOrganizationContextPayload!
|
): UpdateOrganizationContextPayload!
|
||||||
deleteOrganizationHorizontalLogo(
|
deleteOrganizationHorizontalLogo(
|
||||||
input: DeleteOrganizationHorizontalLogoInput!
|
input: DeleteOrganizationHorizontalLogoInput!
|
||||||
): DeleteOrganizationHorizontalLogoPayload! deleteOrganization(
|
): DeleteOrganizationHorizontalLogoPayload!
|
||||||
|
deleteOrganization(
|
||||||
input: DeleteOrganizationInput!
|
input: DeleteOrganizationInput!
|
||||||
): DeleteOrganizationPayload!
|
): DeleteOrganizationPayload!
|
||||||
updateTrustCenter(input: UpdateTrustCenterInput!): UpdateTrustCenterPayload!
|
updateTrustCenter(input: UpdateTrustCenterInput!): UpdateTrustCenterPayload!
|
||||||
@@ -2839,96 +2867,138 @@ type Mutation {
|
|||||||
confirmEmail(input: ConfirmEmailInput!): ConfirmEmailPayload!
|
confirmEmail(input: ConfirmEmailInput!): ConfirmEmailPayload!
|
||||||
inviteUser(input: InviteUserInput!): InviteUserPayload!
|
inviteUser(input: InviteUserInput!): InviteUserPayload!
|
||||||
acceptInvitation(input: AcceptInvitationInput!): AcceptInvitationPayload!
|
acceptInvitation(input: AcceptInvitationInput!): AcceptInvitationPayload!
|
||||||
deleteInvitation(input: DeleteInvitationInput!): DeleteInvitationPayload! removeMember(input: RemoveMemberInput!): RemoveMemberPayload!
|
deleteInvitation(input: DeleteInvitationInput!): DeleteInvitationPayload!
|
||||||
|
removeMember(input: RemoveMemberInput!): RemoveMemberPayload!
|
||||||
updateMembership(input: UpdateMembershipInput!): UpdateMembershipPayload!
|
updateMembership(input: UpdateMembershipInput!): UpdateMembershipPayload!
|
||||||
# People mutations
|
# People mutations
|
||||||
createPeople(input: CreatePeopleInput!): CreatePeoplePayload! updatePeople(input: UpdatePeopleInput!): UpdatePeoplePayload! deletePeople(input: DeletePeopleInput!): DeletePeoplePayload!
|
createPeople(input: CreatePeopleInput!): CreatePeoplePayload!
|
||||||
|
updatePeople(input: UpdatePeopleInput!): UpdatePeoplePayload!
|
||||||
|
deletePeople(input: DeletePeopleInput!): DeletePeoplePayload!
|
||||||
# Vendor mutations
|
# Vendor mutations
|
||||||
createVendor(input: CreateVendorInput!): CreateVendorPayload! updateVendor(input: UpdateVendorInput!): UpdateVendorPayload! deleteVendor(input: DeleteVendorInput!): DeleteVendorPayload!
|
createVendor(input: CreateVendorInput!): CreateVendorPayload!
|
||||||
|
updateVendor(input: UpdateVendorInput!): UpdateVendorPayload!
|
||||||
|
deleteVendor(input: DeleteVendorInput!): DeleteVendorPayload!
|
||||||
# Vendor Contact mutations
|
# Vendor Contact mutations
|
||||||
createVendorContact(
|
createVendorContact(
|
||||||
input: CreateVendorContactInput!
|
input: CreateVendorContactInput!
|
||||||
): CreateVendorContactPayload! updateVendorContact(
|
): CreateVendorContactPayload!
|
||||||
|
updateVendorContact(
|
||||||
input: UpdateVendorContactInput!
|
input: UpdateVendorContactInput!
|
||||||
): UpdateVendorContactPayload! deleteVendorContact(
|
): UpdateVendorContactPayload!
|
||||||
|
deleteVendorContact(
|
||||||
input: DeleteVendorContactInput!
|
input: DeleteVendorContactInput!
|
||||||
): DeleteVendorContactPayload!
|
): DeleteVendorContactPayload!
|
||||||
# Vendor Service mutations
|
# Vendor Service mutations
|
||||||
createVendorService(
|
createVendorService(
|
||||||
input: CreateVendorServiceInput!
|
input: CreateVendorServiceInput!
|
||||||
): CreateVendorServicePayload! updateVendorService(
|
): CreateVendorServicePayload!
|
||||||
|
updateVendorService(
|
||||||
input: UpdateVendorServiceInput!
|
input: UpdateVendorServiceInput!
|
||||||
): UpdateVendorServicePayload! deleteVendorService(
|
): UpdateVendorServicePayload!
|
||||||
|
deleteVendorService(
|
||||||
input: DeleteVendorServiceInput!
|
input: DeleteVendorServiceInput!
|
||||||
): DeleteVendorServicePayload!
|
): DeleteVendorServicePayload!
|
||||||
# Framework mutations
|
# Framework mutations
|
||||||
createFramework(input: CreateFrameworkInput!): CreateFrameworkPayload! updateFramework(input: UpdateFrameworkInput!): UpdateFrameworkPayload! importFramework(input: ImportFrameworkInput!): ImportFrameworkPayload! deleteFramework(input: DeleteFrameworkInput!): DeleteFrameworkPayload! generateFrameworkStateOfApplicability(
|
createFramework(input: CreateFrameworkInput!): CreateFrameworkPayload!
|
||||||
|
updateFramework(input: UpdateFrameworkInput!): UpdateFrameworkPayload!
|
||||||
|
importFramework(input: ImportFrameworkInput!): ImportFrameworkPayload!
|
||||||
|
deleteFramework(input: DeleteFrameworkInput!): DeleteFrameworkPayload!
|
||||||
|
generateFrameworkStateOfApplicability(
|
||||||
input: GenerateFrameworkStateOfApplicabilityInput!
|
input: GenerateFrameworkStateOfApplicabilityInput!
|
||||||
): GenerateFrameworkStateOfApplicabilityPayload! exportFramework(input: ExportFrameworkInput!): ExportFrameworkPayload!
|
): GenerateFrameworkStateOfApplicabilityPayload!
|
||||||
|
exportFramework(input: ExportFrameworkInput!): ExportFrameworkPayload!
|
||||||
# Control mutations
|
# Control mutations
|
||||||
createControl(input: CreateControlInput!): CreateControlPayload! updateControl(input: UpdateControlInput!): UpdateControlPayload! deleteControl(input: DeleteControlInput!): DeleteControlPayload!
|
createControl(input: CreateControlInput!): CreateControlPayload!
|
||||||
|
updateControl(input: UpdateControlInput!): UpdateControlPayload!
|
||||||
|
deleteControl(input: DeleteControlInput!): DeleteControlPayload!
|
||||||
# Measure mutations
|
# Measure mutations
|
||||||
createMeasure(input: CreateMeasureInput!): CreateMeasurePayload! updateMeasure(input: UpdateMeasureInput!): UpdateMeasurePayload! importMeasure(input: ImportMeasureInput!): ImportMeasurePayload! deleteMeasure(input: DeleteMeasureInput!): DeleteMeasurePayload!
|
createMeasure(input: CreateMeasureInput!): CreateMeasurePayload!
|
||||||
|
updateMeasure(input: UpdateMeasureInput!): UpdateMeasurePayload!
|
||||||
|
importMeasure(input: ImportMeasureInput!): ImportMeasurePayload!
|
||||||
|
deleteMeasure(input: DeleteMeasureInput!): DeleteMeasurePayload!
|
||||||
# Control mutations
|
# Control mutations
|
||||||
createControlMeasureMapping(
|
createControlMeasureMapping(
|
||||||
input: CreateControlMeasureMappingInput!
|
input: CreateControlMeasureMappingInput!
|
||||||
): CreateControlMeasureMappingPayload! createControlDocumentMapping(
|
): CreateControlMeasureMappingPayload!
|
||||||
|
createControlDocumentMapping(
|
||||||
input: CreateControlDocumentMappingInput!
|
input: CreateControlDocumentMappingInput!
|
||||||
): CreateControlDocumentMappingPayload! deleteControlMeasureMapping(
|
): CreateControlDocumentMappingPayload!
|
||||||
|
deleteControlMeasureMapping(
|
||||||
input: DeleteControlMeasureMappingInput!
|
input: DeleteControlMeasureMappingInput!
|
||||||
): DeleteControlMeasureMappingPayload! deleteControlDocumentMapping(
|
): DeleteControlMeasureMappingPayload!
|
||||||
|
deleteControlDocumentMapping(
|
||||||
input: DeleteControlDocumentMappingInput!
|
input: DeleteControlDocumentMappingInput!
|
||||||
): DeleteControlDocumentMappingPayload! createControlAuditMapping(
|
): DeleteControlDocumentMappingPayload!
|
||||||
|
createControlAuditMapping(
|
||||||
input: CreateControlAuditMappingInput!
|
input: CreateControlAuditMappingInput!
|
||||||
): CreateControlAuditMappingPayload! deleteControlAuditMapping(
|
): CreateControlAuditMappingPayload!
|
||||||
|
deleteControlAuditMapping(
|
||||||
input: DeleteControlAuditMappingInput!
|
input: DeleteControlAuditMappingInput!
|
||||||
): DeleteControlAuditMappingPayload! createControlSnapshotMapping(
|
): DeleteControlAuditMappingPayload!
|
||||||
|
createControlSnapshotMapping(
|
||||||
input: CreateControlSnapshotMappingInput!
|
input: CreateControlSnapshotMappingInput!
|
||||||
): CreateControlSnapshotMappingPayload! deleteControlSnapshotMapping(
|
): CreateControlSnapshotMappingPayload!
|
||||||
|
deleteControlSnapshotMapping(
|
||||||
input: DeleteControlSnapshotMappingInput!
|
input: DeleteControlSnapshotMappingInput!
|
||||||
): DeleteControlSnapshotMappingPayload!
|
): DeleteControlSnapshotMappingPayload!
|
||||||
# Task mutations
|
# Task mutations
|
||||||
createTask(input: CreateTaskInput!): CreateTaskPayload! updateTask(input: UpdateTaskInput!): UpdateTaskPayload! deleteTask(input: DeleteTaskInput!): DeleteTaskPayload! assignTask(input: AssignTaskInput!): AssignTaskPayload! unassignTask(input: UnassignTaskInput!): UnassignTaskPayload!
|
createTask(input: CreateTaskInput!): CreateTaskPayload!
|
||||||
|
updateTask(input: UpdateTaskInput!): UpdateTaskPayload!
|
||||||
|
deleteTask(input: DeleteTaskInput!): DeleteTaskPayload!
|
||||||
|
assignTask(input: AssignTaskInput!): AssignTaskPayload!
|
||||||
|
unassignTask(input: UnassignTaskInput!): UnassignTaskPayload!
|
||||||
# Risk mutations
|
# Risk mutations
|
||||||
createRisk(input: CreateRiskInput!): CreateRiskPayload! updateRisk(input: UpdateRiskInput!): UpdateRiskPayload! deleteRisk(input: DeleteRiskInput!): DeleteRiskPayload! createRiskMeasureMapping(
|
createRisk(input: CreateRiskInput!): CreateRiskPayload!
|
||||||
|
updateRisk(input: UpdateRiskInput!): UpdateRiskPayload!
|
||||||
|
deleteRisk(input: DeleteRiskInput!): DeleteRiskPayload!
|
||||||
|
createRiskMeasureMapping(
|
||||||
input: CreateRiskMeasureMappingInput!
|
input: CreateRiskMeasureMappingInput!
|
||||||
): CreateRiskMeasureMappingPayload! deleteRiskMeasureMapping(
|
): CreateRiskMeasureMappingPayload!
|
||||||
|
deleteRiskMeasureMapping(
|
||||||
input: DeleteRiskMeasureMappingInput!
|
input: DeleteRiskMeasureMappingInput!
|
||||||
): DeleteRiskMeasureMappingPayload!
|
): DeleteRiskMeasureMappingPayload!
|
||||||
createRiskDocumentMapping(
|
createRiskDocumentMapping(
|
||||||
input: CreateRiskDocumentMappingInput!
|
input: CreateRiskDocumentMappingInput!
|
||||||
): CreateRiskDocumentMappingPayload! deleteRiskDocumentMapping(
|
): CreateRiskDocumentMappingPayload!
|
||||||
|
deleteRiskDocumentMapping(
|
||||||
input: DeleteRiskDocumentMappingInput!
|
input: DeleteRiskDocumentMappingInput!
|
||||||
): DeleteRiskDocumentMappingPayload!
|
): DeleteRiskDocumentMappingPayload!
|
||||||
createRiskObligationMapping(
|
createRiskObligationMapping(
|
||||||
input: CreateRiskObligationMappingInput!
|
input: CreateRiskObligationMappingInput!
|
||||||
): CreateRiskObligationMappingPayload! deleteRiskObligationMapping(
|
): CreateRiskObligationMappingPayload!
|
||||||
|
deleteRiskObligationMapping(
|
||||||
input: DeleteRiskObligationMappingInput!
|
input: DeleteRiskObligationMappingInput!
|
||||||
): DeleteRiskObligationMappingPayload!
|
): DeleteRiskObligationMappingPayload!
|
||||||
# Evidence mutations
|
# Evidence mutations
|
||||||
deleteEvidence(input: DeleteEvidenceInput!): DeleteEvidencePayload! uploadMeasureEvidence(
|
deleteEvidence(input: DeleteEvidenceInput!): DeleteEvidencePayload!
|
||||||
|
uploadMeasureEvidence(
|
||||||
input: UploadMeasureEvidenceInput!
|
input: UploadMeasureEvidenceInput!
|
||||||
): UploadMeasureEvidencePayload!
|
): UploadMeasureEvidencePayload!
|
||||||
# Vendor Compliance Report mutations
|
# Vendor Compliance Report mutations
|
||||||
uploadVendorComplianceReport(
|
uploadVendorComplianceReport(
|
||||||
input: UploadVendorComplianceReportInput!
|
input: UploadVendorComplianceReportInput!
|
||||||
): UploadVendorComplianceReportPayload! deleteVendorComplianceReport(
|
): UploadVendorComplianceReportPayload!
|
||||||
|
deleteVendorComplianceReport(
|
||||||
input: DeleteVendorComplianceReportInput!
|
input: DeleteVendorComplianceReportInput!
|
||||||
): DeleteVendorComplianceReportPayload!
|
): DeleteVendorComplianceReportPayload!
|
||||||
# Vendor Business Associate Agreement mutations
|
# Vendor Business Associate Agreement mutations
|
||||||
uploadVendorBusinessAssociateAgreement(
|
uploadVendorBusinessAssociateAgreement(
|
||||||
input: UploadVendorBusinessAssociateAgreementInput!
|
input: UploadVendorBusinessAssociateAgreementInput!
|
||||||
): UploadVendorBusinessAssociateAgreementPayload! updateVendorBusinessAssociateAgreement(
|
): UploadVendorBusinessAssociateAgreementPayload!
|
||||||
|
updateVendorBusinessAssociateAgreement(
|
||||||
input: UpdateVendorBusinessAssociateAgreementInput!
|
input: UpdateVendorBusinessAssociateAgreementInput!
|
||||||
): UpdateVendorBusinessAssociateAgreementPayload! deleteVendorBusinessAssociateAgreement(
|
): UpdateVendorBusinessAssociateAgreementPayload!
|
||||||
|
deleteVendorBusinessAssociateAgreement(
|
||||||
input: DeleteVendorBusinessAssociateAgreementInput!
|
input: DeleteVendorBusinessAssociateAgreementInput!
|
||||||
): DeleteVendorBusinessAssociateAgreementPayload!
|
): DeleteVendorBusinessAssociateAgreementPayload!
|
||||||
# Vendor Data Privacy Agreement mutations
|
# Vendor Data Privacy Agreement mutations
|
||||||
uploadVendorDataPrivacyAgreement(
|
uploadVendorDataPrivacyAgreement(
|
||||||
input: UploadVendorDataPrivacyAgreementInput!
|
input: UploadVendorDataPrivacyAgreementInput!
|
||||||
): UploadVendorDataPrivacyAgreementPayload! updateVendorDataPrivacyAgreement(
|
): UploadVendorDataPrivacyAgreementPayload!
|
||||||
|
updateVendorDataPrivacyAgreement(
|
||||||
input: UpdateVendorDataPrivacyAgreementInput!
|
input: UpdateVendorDataPrivacyAgreementInput!
|
||||||
): UpdateVendorDataPrivacyAgreementPayload! deleteVendorDataPrivacyAgreement(
|
): UpdateVendorDataPrivacyAgreementPayload!
|
||||||
|
deleteVendorDataPrivacyAgreement(
|
||||||
input: DeleteVendorDataPrivacyAgreementInput!
|
input: DeleteVendorDataPrivacyAgreementInput!
|
||||||
): DeleteVendorDataPrivacyAgreementPayload!
|
): DeleteVendorDataPrivacyAgreementPayload!
|
||||||
# Document mutations
|
# Document mutations
|
||||||
@@ -2941,30 +3011,39 @@ type Mutation {
|
|||||||
deleteMeeting(input: DeleteMeetingInput!): DeleteMeetingPayload!
|
deleteMeeting(input: DeleteMeetingInput!): DeleteMeetingPayload!
|
||||||
publishDocumentVersion(
|
publishDocumentVersion(
|
||||||
input: PublishDocumentVersionInput!
|
input: PublishDocumentVersionInput!
|
||||||
): PublishDocumentVersionPayload! bulkPublishDocumentVersions(
|
): PublishDocumentVersionPayload!
|
||||||
|
bulkPublishDocumentVersions(
|
||||||
input: BulkPublishDocumentVersionsInput!
|
input: BulkPublishDocumentVersionsInput!
|
||||||
): BulkPublishDocumentVersionsPayload! bulkDeleteDocuments(
|
): BulkPublishDocumentVersionsPayload!
|
||||||
|
bulkDeleteDocuments(
|
||||||
input: BulkDeleteDocumentsInput!
|
input: BulkDeleteDocumentsInput!
|
||||||
): BulkDeleteDocumentsPayload! bulkExportDocuments(
|
): BulkDeleteDocumentsPayload!
|
||||||
|
bulkExportDocuments(
|
||||||
input: BulkExportDocumentsInput!
|
input: BulkExportDocumentsInput!
|
||||||
): BulkExportDocumentsPayload! generateDocumentChangelog(
|
): BulkExportDocumentsPayload!
|
||||||
|
generateDocumentChangelog(
|
||||||
input: GenerateDocumentChangelogInput!
|
input: GenerateDocumentChangelogInput!
|
||||||
): GenerateDocumentChangelogPayload! createDraftDocumentVersion(
|
): GenerateDocumentChangelogPayload!
|
||||||
|
createDraftDocumentVersion(
|
||||||
input: CreateDraftDocumentVersionInput!
|
input: CreateDraftDocumentVersionInput!
|
||||||
): CreateDraftDocumentVersionPayload! deleteDraftDocumentVersion(
|
): CreateDraftDocumentVersionPayload!
|
||||||
|
deleteDraftDocumentVersion(
|
||||||
input: DeleteDraftDocumentVersionInput!
|
input: DeleteDraftDocumentVersionInput!
|
||||||
): DeleteDraftDocumentVersionPayload! updateDocumentVersion(
|
): DeleteDraftDocumentVersionPayload!
|
||||||
|
updateDocumentVersion(
|
||||||
input: UpdateDocumentVersionInput!
|
input: UpdateDocumentVersionInput!
|
||||||
): UpdateDocumentVersionPayload! requestSignature(input: RequestSignatureInput!): RequestSignaturePayload! bulkRequestSignatures(
|
): UpdateDocumentVersionPayload!
|
||||||
|
requestSignature(input: RequestSignatureInput!): RequestSignaturePayload!
|
||||||
|
bulkRequestSignatures(
|
||||||
input: BulkRequestSignaturesInput!
|
input: BulkRequestSignaturesInput!
|
||||||
): BulkRequestSignaturesPayload! sendSigningNotifications(
|
): BulkRequestSignaturesPayload!
|
||||||
|
sendSigningNotifications(
|
||||||
input: SendSigningNotificationsInput!
|
input: SendSigningNotificationsInput!
|
||||||
): SendSigningNotificationsPayload! cancelSignatureRequest(
|
): SendSigningNotificationsPayload!
|
||||||
|
cancelSignatureRequest(
|
||||||
input: CancelSignatureRequestInput!
|
input: CancelSignatureRequestInput!
|
||||||
): CancelSignatureRequestPayload!
|
): CancelSignatureRequestPayload!
|
||||||
signDocument(
|
signDocument(input: SignDocumentInput!): SignDocumentPayload!
|
||||||
input: SignDocumentInput!
|
|
||||||
): SignDocumentPayload!
|
|
||||||
exportDocumentVersionPDF(
|
exportDocumentVersionPDF(
|
||||||
input: ExportDocumentVersionPDFInput!
|
input: ExportDocumentVersionPDFInput!
|
||||||
): ExportDocumentVersionPDFPayload!
|
): ExportDocumentVersionPDFPayload!
|
||||||
@@ -2975,41 +3054,59 @@ type Mutation {
|
|||||||
input: CreateVendorRiskAssessmentInput!
|
input: CreateVendorRiskAssessmentInput!
|
||||||
): CreateVendorRiskAssessmentPayload!
|
): CreateVendorRiskAssessmentPayload!
|
||||||
assessVendor(input: AssessVendorInput!): AssessVendorPayload!
|
assessVendor(input: AssessVendorInput!): AssessVendorPayload!
|
||||||
createAsset(input: CreateAssetInput!): CreateAssetPayload! updateAsset(input: UpdateAssetInput!): UpdateAssetPayload! deleteAsset(input: DeleteAssetInput!): DeleteAssetPayload!
|
createAsset(input: CreateAssetInput!): CreateAssetPayload!
|
||||||
createDatum(input: CreateDatumInput!): CreateDatumPayload! updateDatum(input: UpdateDatumInput!): UpdateDatumPayload! deleteDatum(input: DeleteDatumInput!): DeleteDatumPayload!
|
updateAsset(input: UpdateAssetInput!): UpdateAssetPayload!
|
||||||
createAudit(input: CreateAuditInput!): CreateAuditPayload! updateAudit(input: UpdateAuditInput!): UpdateAuditPayload! deleteAudit(input: DeleteAuditInput!): DeleteAuditPayload! uploadAuditReport(input: UploadAuditReportInput!): UploadAuditReportPayload! deleteAuditReport(input: DeleteAuditReportInput!): DeleteAuditReportPayload!
|
deleteAsset(input: DeleteAssetInput!): DeleteAssetPayload!
|
||||||
|
createDatum(input: CreateDatumInput!): CreateDatumPayload!
|
||||||
|
updateDatum(input: UpdateDatumInput!): UpdateDatumPayload!
|
||||||
|
deleteDatum(input: DeleteDatumInput!): DeleteDatumPayload!
|
||||||
|
createAudit(input: CreateAuditInput!): CreateAuditPayload!
|
||||||
|
updateAudit(input: UpdateAuditInput!): UpdateAuditPayload!
|
||||||
|
deleteAudit(input: DeleteAuditInput!): DeleteAuditPayload!
|
||||||
|
uploadAuditReport(input: UploadAuditReportInput!): UploadAuditReportPayload!
|
||||||
|
deleteAuditReport(input: DeleteAuditReportInput!): DeleteAuditReportPayload!
|
||||||
# Nonconformity mutations
|
# Nonconformity mutations
|
||||||
createNonconformity(
|
createNonconformity(
|
||||||
input: CreateNonconformityInput!
|
input: CreateNonconformityInput!
|
||||||
): CreateNonconformityPayload! updateNonconformity(
|
): CreateNonconformityPayload!
|
||||||
|
updateNonconformity(
|
||||||
input: UpdateNonconformityInput!
|
input: UpdateNonconformityInput!
|
||||||
): UpdateNonconformityPayload! deleteNonconformity(
|
): UpdateNonconformityPayload!
|
||||||
|
deleteNonconformity(
|
||||||
input: DeleteNonconformityInput!
|
input: DeleteNonconformityInput!
|
||||||
): DeleteNonconformityPayload!
|
): DeleteNonconformityPayload!
|
||||||
# Obligation mutations
|
# Obligation mutations
|
||||||
createObligation(input: CreateObligationInput!): CreateObligationPayload! updateObligation(input: UpdateObligationInput!): UpdateObligationPayload! deleteObligation(input: DeleteObligationInput!): DeleteObligationPayload!
|
createObligation(input: CreateObligationInput!): CreateObligationPayload!
|
||||||
|
updateObligation(input: UpdateObligationInput!): UpdateObligationPayload!
|
||||||
|
deleteObligation(input: DeleteObligationInput!): DeleteObligationPayload!
|
||||||
# Continual Improvement mutations
|
# Continual Improvement mutations
|
||||||
createContinualImprovement(
|
createContinualImprovement(
|
||||||
input: CreateContinualImprovementInput!
|
input: CreateContinualImprovementInput!
|
||||||
): CreateContinualImprovementPayload! updateContinualImprovement(
|
): CreateContinualImprovementPayload!
|
||||||
|
updateContinualImprovement(
|
||||||
input: UpdateContinualImprovementInput!
|
input: UpdateContinualImprovementInput!
|
||||||
): UpdateContinualImprovementPayload! deleteContinualImprovement(
|
): UpdateContinualImprovementPayload!
|
||||||
|
deleteContinualImprovement(
|
||||||
input: DeleteContinualImprovementInput!
|
input: DeleteContinualImprovementInput!
|
||||||
): DeleteContinualImprovementPayload!
|
): DeleteContinualImprovementPayload!
|
||||||
# Processing Activity mutations
|
# Processing Activity mutations
|
||||||
createProcessingActivity(
|
createProcessingActivity(
|
||||||
input: CreateProcessingActivityInput!
|
input: CreateProcessingActivityInput!
|
||||||
): CreateProcessingActivityPayload! updateProcessingActivity(
|
): CreateProcessingActivityPayload!
|
||||||
|
updateProcessingActivity(
|
||||||
input: UpdateProcessingActivityInput!
|
input: UpdateProcessingActivityInput!
|
||||||
): UpdateProcessingActivityPayload! deleteProcessingActivity(
|
): UpdateProcessingActivityPayload!
|
||||||
|
deleteProcessingActivity(
|
||||||
input: DeleteProcessingActivityInput!
|
input: DeleteProcessingActivityInput!
|
||||||
): DeleteProcessingActivityPayload!
|
): DeleteProcessingActivityPayload!
|
||||||
# Snapshot mutations
|
# Snapshot mutations
|
||||||
createSnapshot(input: CreateSnapshotInput!): CreateSnapshotPayload! deleteSnapshot(input: DeleteSnapshotInput!): DeleteSnapshotPayload!
|
createSnapshot(input: CreateSnapshotInput!): CreateSnapshotPayload!
|
||||||
|
deleteSnapshot(input: DeleteSnapshotInput!): DeleteSnapshotPayload!
|
||||||
# Custom Domain mutations
|
# Custom Domain mutations
|
||||||
createCustomDomain(
|
createCustomDomain(
|
||||||
input: CreateCustomDomainInput!
|
input: CreateCustomDomainInput!
|
||||||
): CreateCustomDomainPayload! deleteCustomDomain(
|
): CreateCustomDomainPayload!
|
||||||
|
deleteCustomDomain(
|
||||||
input: DeleteCustomDomainInput!
|
input: DeleteCustomDomainInput!
|
||||||
): DeleteCustomDomainPayload!
|
): DeleteCustomDomainPayload!
|
||||||
# SAML Configuration mutations (OWNER/ADMIN only)
|
# SAML Configuration mutations (OWNER/ADMIN only)
|
||||||
@@ -3022,11 +3119,16 @@ type Mutation {
|
|||||||
# Step 3: Configure SAML (only allowed after domain is verified)
|
# Step 3: Configure SAML (only allowed after domain is verified)
|
||||||
createSAMLConfiguration(
|
createSAMLConfiguration(
|
||||||
input: CreateSAMLConfigurationInput!
|
input: CreateSAMLConfigurationInput!
|
||||||
): CreateSAMLConfigurationPayload! updateSAMLConfiguration(
|
): CreateSAMLConfigurationPayload!
|
||||||
|
updateSAMLConfiguration(
|
||||||
input: UpdateSAMLConfigurationInput!
|
input: UpdateSAMLConfigurationInput!
|
||||||
): UpdateSAMLConfigurationPayload! deleteSAMLConfiguration(
|
): UpdateSAMLConfigurationPayload!
|
||||||
|
deleteSAMLConfiguration(
|
||||||
input: DeleteSAMLConfigurationInput!
|
input: DeleteSAMLConfigurationInput!
|
||||||
): DeleteSAMLConfigurationPayload! enableSAML(input: EnableSAMLInput!): EnableSAMLPayload! disableSAML(input: DisableSAMLInput!): DisableSAMLPayload!}
|
): DeleteSAMLConfigurationPayload!
|
||||||
|
enableSAML(input: EnableSAMLInput!): EnableSAMLPayload!
|
||||||
|
disableSAML(input: DisableSAMLInput!): DisableSAMLPayload!
|
||||||
|
}
|
||||||
|
|
||||||
# Input Types
|
# Input Types
|
||||||
input GenerateFrameworkStateOfApplicabilityInput {
|
input GenerateFrameworkStateOfApplicabilityInput {
|
||||||
@@ -4228,7 +4330,10 @@ type DeleteMeasurePayload {
|
|||||||
deletedMeasureId: ID!
|
deletedMeasureId: ID!
|
||||||
}
|
}
|
||||||
|
|
||||||
type DocumentVersion implements Node @goModel(model: "go.probo.inc/probo/pkg/server/api/console/v1/types.DocumentVersion") {
|
type DocumentVersion implements Node
|
||||||
|
@goModel(
|
||||||
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.DocumentVersion"
|
||||||
|
) {
|
||||||
id: ID!
|
id: ID!
|
||||||
document: Document! @goField(forceResolver: true)
|
document: Document! @goField(forceResolver: true)
|
||||||
status: DocumentStatus!
|
status: DocumentStatus!
|
||||||
@@ -4523,7 +4628,8 @@ type DeleteAssetPayload {
|
|||||||
deletedAssetId: ID!
|
deletedAssetId: ID!
|
||||||
}
|
}
|
||||||
|
|
||||||
type Datum implements Node @goModel(model: "go.probo.inc/probo/pkg/server/api/console/v1/types.Datum") {
|
type Datum implements Node
|
||||||
|
@goModel(model: "go.probo.inc/probo/pkg/server/api/console/v1/types.Datum") {
|
||||||
id: ID!
|
id: ID!
|
||||||
snapshotId: ID
|
snapshotId: ID
|
||||||
name: String!
|
name: String!
|
||||||
|
|||||||
@@ -1456,6 +1456,7 @@ type ComplexityRoot struct {
|
|||||||
Document func(childComplexity int) int
|
Document func(childComplexity int) int
|
||||||
Report func(childComplexity int) int
|
Report func(childComplexity int) int
|
||||||
Requested func(childComplexity int) int
|
Requested func(childComplexity int) int
|
||||||
|
Status func(childComplexity int) int
|
||||||
TrustCenterFile func(childComplexity int) int
|
TrustCenterFile func(childComplexity int) int
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2223,6 +2224,8 @@ type TrustCenterAccessResolver interface {
|
|||||||
AvailableDocumentAccesses(ctx context.Context, obj *types.TrustCenterAccess, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.OrderBy[coredata.TrustCenterDocumentAccessOrderField]) (*types.TrustCenterDocumentAccessConnection, error)
|
AvailableDocumentAccesses(ctx context.Context, obj *types.TrustCenterAccess, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.OrderBy[coredata.TrustCenterDocumentAccessOrderField]) (*types.TrustCenterDocumentAccessConnection, error)
|
||||||
}
|
}
|
||||||
type TrustCenterDocumentAccessResolver interface {
|
type TrustCenterDocumentAccessResolver interface {
|
||||||
|
Status(ctx context.Context, obj *types.TrustCenterDocumentAccess) (coredata.TrustCenterDocumentAccessStatus, error)
|
||||||
|
|
||||||
Document(ctx context.Context, obj *types.TrustCenterDocumentAccess) (*types.Document, error)
|
Document(ctx context.Context, obj *types.TrustCenterDocumentAccess) (*types.Document, error)
|
||||||
Report(ctx context.Context, obj *types.TrustCenterDocumentAccess) (*types.Report, error)
|
Report(ctx context.Context, obj *types.TrustCenterDocumentAccess) (*types.Report, error)
|
||||||
TrustCenterFile(ctx context.Context, obj *types.TrustCenterDocumentAccess) (*types.TrustCenterFile, error)
|
TrustCenterFile(ctx context.Context, obj *types.TrustCenterDocumentAccess) (*types.TrustCenterFile, error)
|
||||||
@@ -8033,6 +8036,12 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin
|
|||||||
}
|
}
|
||||||
|
|
||||||
return e.complexity.TrustCenterDocumentAccess.Requested(childComplexity), true
|
return e.complexity.TrustCenterDocumentAccess.Requested(childComplexity), true
|
||||||
|
case "TrustCenterDocumentAccess.status":
|
||||||
|
if e.complexity.TrustCenterDocumentAccess.Status == nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
return e.complexity.TrustCenterDocumentAccess.Status(childComplexity), true
|
||||||
case "TrustCenterDocumentAccess.trustCenterFile":
|
case "TrustCenterDocumentAccess.trustCenterFile":
|
||||||
if e.complexity.TrustCenterDocumentAccess.TrustCenterFile == nil {
|
if e.complexity.TrustCenterDocumentAccess.TrustCenterFile == nil {
|
||||||
break
|
break
|
||||||
@@ -9644,10 +9653,12 @@ enum InvitationStatus
|
|||||||
@goEnum(value: "go.probo.inc/probo/pkg/coredata.InvitationStatusExpired")
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.InvitationStatusExpired")
|
||||||
}
|
}
|
||||||
|
|
||||||
enum MembershipRole @goModel(model: "go.probo.inc/probo/pkg/coredata.MembershipRole") {
|
enum MembershipRole
|
||||||
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.MembershipRole") {
|
||||||
OWNER @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleOwner")
|
OWNER @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleOwner")
|
||||||
ADMIN @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleAdmin")
|
ADMIN @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleAdmin")
|
||||||
EMPLOYEE @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleEmployee")
|
EMPLOYEE
|
||||||
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleEmployee")
|
||||||
VIEWER @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleViewer")
|
VIEWER @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipRoleViewer")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9655,7 +9666,6 @@ enum APIRole @goModel(model: "go.probo.inc/probo/pkg/coredata.APIRole") {
|
|||||||
FULL @goEnum(value: "go.probo.inc/probo/pkg/coredata.APIRoleFull")
|
FULL @goEnum(value: "go.probo.inc/probo/pkg/coredata.APIRoleFull")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
enum DocumentStatus
|
enum DocumentStatus
|
||||||
@goModel(model: "go.probo.inc/probo/pkg/coredata.DocumentStatus") {
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.DocumentStatus") {
|
||||||
DRAFT @goEnum(value: "go.probo.inc/probo/pkg/coredata.DocumentStatusDraft")
|
DRAFT @goEnum(value: "go.probo.inc/probo/pkg/coredata.DocumentStatusDraft")
|
||||||
@@ -9725,6 +9735,28 @@ enum TrustCenterVisibility
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum TrustCenterDocumentAccessStatus
|
||||||
|
@goModel(
|
||||||
|
model: "go.probo.inc/probo/pkg/coredata.TrustCenterDocumentAccessStatus"
|
||||||
|
) {
|
||||||
|
REQUESTED
|
||||||
|
@goEnum(
|
||||||
|
value: "go.probo.inc/probo/pkg/coredata.TrustCenterDocumentAccessStatusRequested"
|
||||||
|
)
|
||||||
|
GRANTED
|
||||||
|
@goEnum(
|
||||||
|
value: "go.probo.inc/probo/pkg/coredata.TrustCenterDocumentAccessStatusGranted"
|
||||||
|
)
|
||||||
|
REJECTED
|
||||||
|
@goEnum(
|
||||||
|
value: "go.probo.inc/probo/pkg/coredata.TrustCenterDocumentAccessStatusRejected"
|
||||||
|
)
|
||||||
|
REVOKED
|
||||||
|
@goEnum(
|
||||||
|
value: "go.probo.inc/probo/pkg/coredata.TrustCenterDocumentAccessStatusRevoked"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
enum NonconformityStatus
|
enum NonconformityStatus
|
||||||
@goModel(model: "go.probo.inc/probo/pkg/coredata.NonconformityStatus") {
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.NonconformityStatus") {
|
||||||
OPEN @goEnum(value: "go.probo.inc/probo/pkg/coredata.NonconformityStatusOpen")
|
OPEN @goEnum(value: "go.probo.inc/probo/pkg/coredata.NonconformityStatusOpen")
|
||||||
@@ -11417,7 +11449,8 @@ type Framework implements Node {
|
|||||||
updatedAt: Datetime!
|
updatedAt: Datetime!
|
||||||
}
|
}
|
||||||
|
|
||||||
type Control implements Node @goModel(
|
type Control implements Node
|
||||||
|
@goModel(
|
||||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.Control"
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.Control"
|
||||||
) {
|
) {
|
||||||
id: ID!
|
id: ID!
|
||||||
@@ -11585,7 +11618,8 @@ type Document implements Node {
|
|||||||
updatedAt: Datetime!
|
updatedAt: Datetime!
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignableDocument @goModel(
|
type SignableDocument
|
||||||
|
@goModel(
|
||||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.SignableDocument"
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.SignableDocument"
|
||||||
) {
|
) {
|
||||||
id: ID!
|
id: ID!
|
||||||
@@ -11892,6 +11926,7 @@ type TrustCenterDocumentAccess
|
|||||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.TrustCenterDocumentAccess"
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.TrustCenterDocumentAccess"
|
||||||
) {
|
) {
|
||||||
active: Boolean!
|
active: Boolean!
|
||||||
|
status: TrustCenterDocumentAccessStatus!
|
||||||
requested: Boolean!
|
requested: Boolean!
|
||||||
document: Document @goField(forceResolver: true)
|
document: Document @goField(forceResolver: true)
|
||||||
report: Report @goField(forceResolver: true)
|
report: Report @goField(forceResolver: true)
|
||||||
@@ -12337,7 +12372,8 @@ type Mutation {
|
|||||||
# Organization mutations
|
# Organization mutations
|
||||||
createOrganization(
|
createOrganization(
|
||||||
input: CreateOrganizationInput!
|
input: CreateOrganizationInput!
|
||||||
): CreateOrganizationPayload! updateOrganization(
|
): CreateOrganizationPayload!
|
||||||
|
updateOrganization(
|
||||||
input: UpdateOrganizationInput!
|
input: UpdateOrganizationInput!
|
||||||
): UpdateOrganizationPayload!
|
): UpdateOrganizationPayload!
|
||||||
updateOrganizationContext(
|
updateOrganizationContext(
|
||||||
@@ -12345,7 +12381,8 @@ type Mutation {
|
|||||||
): UpdateOrganizationContextPayload!
|
): UpdateOrganizationContextPayload!
|
||||||
deleteOrganizationHorizontalLogo(
|
deleteOrganizationHorizontalLogo(
|
||||||
input: DeleteOrganizationHorizontalLogoInput!
|
input: DeleteOrganizationHorizontalLogoInput!
|
||||||
): DeleteOrganizationHorizontalLogoPayload! deleteOrganization(
|
): DeleteOrganizationHorizontalLogoPayload!
|
||||||
|
deleteOrganization(
|
||||||
input: DeleteOrganizationInput!
|
input: DeleteOrganizationInput!
|
||||||
): DeleteOrganizationPayload!
|
): DeleteOrganizationPayload!
|
||||||
updateTrustCenter(input: UpdateTrustCenterInput!): UpdateTrustCenterPayload!
|
updateTrustCenter(input: UpdateTrustCenterInput!): UpdateTrustCenterPayload!
|
||||||
@@ -12392,96 +12429,138 @@ type Mutation {
|
|||||||
confirmEmail(input: ConfirmEmailInput!): ConfirmEmailPayload!
|
confirmEmail(input: ConfirmEmailInput!): ConfirmEmailPayload!
|
||||||
inviteUser(input: InviteUserInput!): InviteUserPayload!
|
inviteUser(input: InviteUserInput!): InviteUserPayload!
|
||||||
acceptInvitation(input: AcceptInvitationInput!): AcceptInvitationPayload!
|
acceptInvitation(input: AcceptInvitationInput!): AcceptInvitationPayload!
|
||||||
deleteInvitation(input: DeleteInvitationInput!): DeleteInvitationPayload! removeMember(input: RemoveMemberInput!): RemoveMemberPayload!
|
deleteInvitation(input: DeleteInvitationInput!): DeleteInvitationPayload!
|
||||||
|
removeMember(input: RemoveMemberInput!): RemoveMemberPayload!
|
||||||
updateMembership(input: UpdateMembershipInput!): UpdateMembershipPayload!
|
updateMembership(input: UpdateMembershipInput!): UpdateMembershipPayload!
|
||||||
# People mutations
|
# People mutations
|
||||||
createPeople(input: CreatePeopleInput!): CreatePeoplePayload! updatePeople(input: UpdatePeopleInput!): UpdatePeoplePayload! deletePeople(input: DeletePeopleInput!): DeletePeoplePayload!
|
createPeople(input: CreatePeopleInput!): CreatePeoplePayload!
|
||||||
|
updatePeople(input: UpdatePeopleInput!): UpdatePeoplePayload!
|
||||||
|
deletePeople(input: DeletePeopleInput!): DeletePeoplePayload!
|
||||||
# Vendor mutations
|
# Vendor mutations
|
||||||
createVendor(input: CreateVendorInput!): CreateVendorPayload! updateVendor(input: UpdateVendorInput!): UpdateVendorPayload! deleteVendor(input: DeleteVendorInput!): DeleteVendorPayload!
|
createVendor(input: CreateVendorInput!): CreateVendorPayload!
|
||||||
|
updateVendor(input: UpdateVendorInput!): UpdateVendorPayload!
|
||||||
|
deleteVendor(input: DeleteVendorInput!): DeleteVendorPayload!
|
||||||
# Vendor Contact mutations
|
# Vendor Contact mutations
|
||||||
createVendorContact(
|
createVendorContact(
|
||||||
input: CreateVendorContactInput!
|
input: CreateVendorContactInput!
|
||||||
): CreateVendorContactPayload! updateVendorContact(
|
): CreateVendorContactPayload!
|
||||||
|
updateVendorContact(
|
||||||
input: UpdateVendorContactInput!
|
input: UpdateVendorContactInput!
|
||||||
): UpdateVendorContactPayload! deleteVendorContact(
|
): UpdateVendorContactPayload!
|
||||||
|
deleteVendorContact(
|
||||||
input: DeleteVendorContactInput!
|
input: DeleteVendorContactInput!
|
||||||
): DeleteVendorContactPayload!
|
): DeleteVendorContactPayload!
|
||||||
# Vendor Service mutations
|
# Vendor Service mutations
|
||||||
createVendorService(
|
createVendorService(
|
||||||
input: CreateVendorServiceInput!
|
input: CreateVendorServiceInput!
|
||||||
): CreateVendorServicePayload! updateVendorService(
|
): CreateVendorServicePayload!
|
||||||
|
updateVendorService(
|
||||||
input: UpdateVendorServiceInput!
|
input: UpdateVendorServiceInput!
|
||||||
): UpdateVendorServicePayload! deleteVendorService(
|
): UpdateVendorServicePayload!
|
||||||
|
deleteVendorService(
|
||||||
input: DeleteVendorServiceInput!
|
input: DeleteVendorServiceInput!
|
||||||
): DeleteVendorServicePayload!
|
): DeleteVendorServicePayload!
|
||||||
# Framework mutations
|
# Framework mutations
|
||||||
createFramework(input: CreateFrameworkInput!): CreateFrameworkPayload! updateFramework(input: UpdateFrameworkInput!): UpdateFrameworkPayload! importFramework(input: ImportFrameworkInput!): ImportFrameworkPayload! deleteFramework(input: DeleteFrameworkInput!): DeleteFrameworkPayload! generateFrameworkStateOfApplicability(
|
createFramework(input: CreateFrameworkInput!): CreateFrameworkPayload!
|
||||||
|
updateFramework(input: UpdateFrameworkInput!): UpdateFrameworkPayload!
|
||||||
|
importFramework(input: ImportFrameworkInput!): ImportFrameworkPayload!
|
||||||
|
deleteFramework(input: DeleteFrameworkInput!): DeleteFrameworkPayload!
|
||||||
|
generateFrameworkStateOfApplicability(
|
||||||
input: GenerateFrameworkStateOfApplicabilityInput!
|
input: GenerateFrameworkStateOfApplicabilityInput!
|
||||||
): GenerateFrameworkStateOfApplicabilityPayload! exportFramework(input: ExportFrameworkInput!): ExportFrameworkPayload!
|
): GenerateFrameworkStateOfApplicabilityPayload!
|
||||||
|
exportFramework(input: ExportFrameworkInput!): ExportFrameworkPayload!
|
||||||
# Control mutations
|
# Control mutations
|
||||||
createControl(input: CreateControlInput!): CreateControlPayload! updateControl(input: UpdateControlInput!): UpdateControlPayload! deleteControl(input: DeleteControlInput!): DeleteControlPayload!
|
createControl(input: CreateControlInput!): CreateControlPayload!
|
||||||
|
updateControl(input: UpdateControlInput!): UpdateControlPayload!
|
||||||
|
deleteControl(input: DeleteControlInput!): DeleteControlPayload!
|
||||||
# Measure mutations
|
# Measure mutations
|
||||||
createMeasure(input: CreateMeasureInput!): CreateMeasurePayload! updateMeasure(input: UpdateMeasureInput!): UpdateMeasurePayload! importMeasure(input: ImportMeasureInput!): ImportMeasurePayload! deleteMeasure(input: DeleteMeasureInput!): DeleteMeasurePayload!
|
createMeasure(input: CreateMeasureInput!): CreateMeasurePayload!
|
||||||
|
updateMeasure(input: UpdateMeasureInput!): UpdateMeasurePayload!
|
||||||
|
importMeasure(input: ImportMeasureInput!): ImportMeasurePayload!
|
||||||
|
deleteMeasure(input: DeleteMeasureInput!): DeleteMeasurePayload!
|
||||||
# Control mutations
|
# Control mutations
|
||||||
createControlMeasureMapping(
|
createControlMeasureMapping(
|
||||||
input: CreateControlMeasureMappingInput!
|
input: CreateControlMeasureMappingInput!
|
||||||
): CreateControlMeasureMappingPayload! createControlDocumentMapping(
|
): CreateControlMeasureMappingPayload!
|
||||||
|
createControlDocumentMapping(
|
||||||
input: CreateControlDocumentMappingInput!
|
input: CreateControlDocumentMappingInput!
|
||||||
): CreateControlDocumentMappingPayload! deleteControlMeasureMapping(
|
): CreateControlDocumentMappingPayload!
|
||||||
|
deleteControlMeasureMapping(
|
||||||
input: DeleteControlMeasureMappingInput!
|
input: DeleteControlMeasureMappingInput!
|
||||||
): DeleteControlMeasureMappingPayload! deleteControlDocumentMapping(
|
): DeleteControlMeasureMappingPayload!
|
||||||
|
deleteControlDocumentMapping(
|
||||||
input: DeleteControlDocumentMappingInput!
|
input: DeleteControlDocumentMappingInput!
|
||||||
): DeleteControlDocumentMappingPayload! createControlAuditMapping(
|
): DeleteControlDocumentMappingPayload!
|
||||||
|
createControlAuditMapping(
|
||||||
input: CreateControlAuditMappingInput!
|
input: CreateControlAuditMappingInput!
|
||||||
): CreateControlAuditMappingPayload! deleteControlAuditMapping(
|
): CreateControlAuditMappingPayload!
|
||||||
|
deleteControlAuditMapping(
|
||||||
input: DeleteControlAuditMappingInput!
|
input: DeleteControlAuditMappingInput!
|
||||||
): DeleteControlAuditMappingPayload! createControlSnapshotMapping(
|
): DeleteControlAuditMappingPayload!
|
||||||
|
createControlSnapshotMapping(
|
||||||
input: CreateControlSnapshotMappingInput!
|
input: CreateControlSnapshotMappingInput!
|
||||||
): CreateControlSnapshotMappingPayload! deleteControlSnapshotMapping(
|
): CreateControlSnapshotMappingPayload!
|
||||||
|
deleteControlSnapshotMapping(
|
||||||
input: DeleteControlSnapshotMappingInput!
|
input: DeleteControlSnapshotMappingInput!
|
||||||
): DeleteControlSnapshotMappingPayload!
|
): DeleteControlSnapshotMappingPayload!
|
||||||
# Task mutations
|
# Task mutations
|
||||||
createTask(input: CreateTaskInput!): CreateTaskPayload! updateTask(input: UpdateTaskInput!): UpdateTaskPayload! deleteTask(input: DeleteTaskInput!): DeleteTaskPayload! assignTask(input: AssignTaskInput!): AssignTaskPayload! unassignTask(input: UnassignTaskInput!): UnassignTaskPayload!
|
createTask(input: CreateTaskInput!): CreateTaskPayload!
|
||||||
|
updateTask(input: UpdateTaskInput!): UpdateTaskPayload!
|
||||||
|
deleteTask(input: DeleteTaskInput!): DeleteTaskPayload!
|
||||||
|
assignTask(input: AssignTaskInput!): AssignTaskPayload!
|
||||||
|
unassignTask(input: UnassignTaskInput!): UnassignTaskPayload!
|
||||||
# Risk mutations
|
# Risk mutations
|
||||||
createRisk(input: CreateRiskInput!): CreateRiskPayload! updateRisk(input: UpdateRiskInput!): UpdateRiskPayload! deleteRisk(input: DeleteRiskInput!): DeleteRiskPayload! createRiskMeasureMapping(
|
createRisk(input: CreateRiskInput!): CreateRiskPayload!
|
||||||
|
updateRisk(input: UpdateRiskInput!): UpdateRiskPayload!
|
||||||
|
deleteRisk(input: DeleteRiskInput!): DeleteRiskPayload!
|
||||||
|
createRiskMeasureMapping(
|
||||||
input: CreateRiskMeasureMappingInput!
|
input: CreateRiskMeasureMappingInput!
|
||||||
): CreateRiskMeasureMappingPayload! deleteRiskMeasureMapping(
|
): CreateRiskMeasureMappingPayload!
|
||||||
|
deleteRiskMeasureMapping(
|
||||||
input: DeleteRiskMeasureMappingInput!
|
input: DeleteRiskMeasureMappingInput!
|
||||||
): DeleteRiskMeasureMappingPayload!
|
): DeleteRiskMeasureMappingPayload!
|
||||||
createRiskDocumentMapping(
|
createRiskDocumentMapping(
|
||||||
input: CreateRiskDocumentMappingInput!
|
input: CreateRiskDocumentMappingInput!
|
||||||
): CreateRiskDocumentMappingPayload! deleteRiskDocumentMapping(
|
): CreateRiskDocumentMappingPayload!
|
||||||
|
deleteRiskDocumentMapping(
|
||||||
input: DeleteRiskDocumentMappingInput!
|
input: DeleteRiskDocumentMappingInput!
|
||||||
): DeleteRiskDocumentMappingPayload!
|
): DeleteRiskDocumentMappingPayload!
|
||||||
createRiskObligationMapping(
|
createRiskObligationMapping(
|
||||||
input: CreateRiskObligationMappingInput!
|
input: CreateRiskObligationMappingInput!
|
||||||
): CreateRiskObligationMappingPayload! deleteRiskObligationMapping(
|
): CreateRiskObligationMappingPayload!
|
||||||
|
deleteRiskObligationMapping(
|
||||||
input: DeleteRiskObligationMappingInput!
|
input: DeleteRiskObligationMappingInput!
|
||||||
): DeleteRiskObligationMappingPayload!
|
): DeleteRiskObligationMappingPayload!
|
||||||
# Evidence mutations
|
# Evidence mutations
|
||||||
deleteEvidence(input: DeleteEvidenceInput!): DeleteEvidencePayload! uploadMeasureEvidence(
|
deleteEvidence(input: DeleteEvidenceInput!): DeleteEvidencePayload!
|
||||||
|
uploadMeasureEvidence(
|
||||||
input: UploadMeasureEvidenceInput!
|
input: UploadMeasureEvidenceInput!
|
||||||
): UploadMeasureEvidencePayload!
|
): UploadMeasureEvidencePayload!
|
||||||
# Vendor Compliance Report mutations
|
# Vendor Compliance Report mutations
|
||||||
uploadVendorComplianceReport(
|
uploadVendorComplianceReport(
|
||||||
input: UploadVendorComplianceReportInput!
|
input: UploadVendorComplianceReportInput!
|
||||||
): UploadVendorComplianceReportPayload! deleteVendorComplianceReport(
|
): UploadVendorComplianceReportPayload!
|
||||||
|
deleteVendorComplianceReport(
|
||||||
input: DeleteVendorComplianceReportInput!
|
input: DeleteVendorComplianceReportInput!
|
||||||
): DeleteVendorComplianceReportPayload!
|
): DeleteVendorComplianceReportPayload!
|
||||||
# Vendor Business Associate Agreement mutations
|
# Vendor Business Associate Agreement mutations
|
||||||
uploadVendorBusinessAssociateAgreement(
|
uploadVendorBusinessAssociateAgreement(
|
||||||
input: UploadVendorBusinessAssociateAgreementInput!
|
input: UploadVendorBusinessAssociateAgreementInput!
|
||||||
): UploadVendorBusinessAssociateAgreementPayload! updateVendorBusinessAssociateAgreement(
|
): UploadVendorBusinessAssociateAgreementPayload!
|
||||||
|
updateVendorBusinessAssociateAgreement(
|
||||||
input: UpdateVendorBusinessAssociateAgreementInput!
|
input: UpdateVendorBusinessAssociateAgreementInput!
|
||||||
): UpdateVendorBusinessAssociateAgreementPayload! deleteVendorBusinessAssociateAgreement(
|
): UpdateVendorBusinessAssociateAgreementPayload!
|
||||||
|
deleteVendorBusinessAssociateAgreement(
|
||||||
input: DeleteVendorBusinessAssociateAgreementInput!
|
input: DeleteVendorBusinessAssociateAgreementInput!
|
||||||
): DeleteVendorBusinessAssociateAgreementPayload!
|
): DeleteVendorBusinessAssociateAgreementPayload!
|
||||||
# Vendor Data Privacy Agreement mutations
|
# Vendor Data Privacy Agreement mutations
|
||||||
uploadVendorDataPrivacyAgreement(
|
uploadVendorDataPrivacyAgreement(
|
||||||
input: UploadVendorDataPrivacyAgreementInput!
|
input: UploadVendorDataPrivacyAgreementInput!
|
||||||
): UploadVendorDataPrivacyAgreementPayload! updateVendorDataPrivacyAgreement(
|
): UploadVendorDataPrivacyAgreementPayload!
|
||||||
|
updateVendorDataPrivacyAgreement(
|
||||||
input: UpdateVendorDataPrivacyAgreementInput!
|
input: UpdateVendorDataPrivacyAgreementInput!
|
||||||
): UpdateVendorDataPrivacyAgreementPayload! deleteVendorDataPrivacyAgreement(
|
): UpdateVendorDataPrivacyAgreementPayload!
|
||||||
|
deleteVendorDataPrivacyAgreement(
|
||||||
input: DeleteVendorDataPrivacyAgreementInput!
|
input: DeleteVendorDataPrivacyAgreementInput!
|
||||||
): DeleteVendorDataPrivacyAgreementPayload!
|
): DeleteVendorDataPrivacyAgreementPayload!
|
||||||
# Document mutations
|
# Document mutations
|
||||||
@@ -12494,30 +12573,39 @@ type Mutation {
|
|||||||
deleteMeeting(input: DeleteMeetingInput!): DeleteMeetingPayload!
|
deleteMeeting(input: DeleteMeetingInput!): DeleteMeetingPayload!
|
||||||
publishDocumentVersion(
|
publishDocumentVersion(
|
||||||
input: PublishDocumentVersionInput!
|
input: PublishDocumentVersionInput!
|
||||||
): PublishDocumentVersionPayload! bulkPublishDocumentVersions(
|
): PublishDocumentVersionPayload!
|
||||||
|
bulkPublishDocumentVersions(
|
||||||
input: BulkPublishDocumentVersionsInput!
|
input: BulkPublishDocumentVersionsInput!
|
||||||
): BulkPublishDocumentVersionsPayload! bulkDeleteDocuments(
|
): BulkPublishDocumentVersionsPayload!
|
||||||
|
bulkDeleteDocuments(
|
||||||
input: BulkDeleteDocumentsInput!
|
input: BulkDeleteDocumentsInput!
|
||||||
): BulkDeleteDocumentsPayload! bulkExportDocuments(
|
): BulkDeleteDocumentsPayload!
|
||||||
|
bulkExportDocuments(
|
||||||
input: BulkExportDocumentsInput!
|
input: BulkExportDocumentsInput!
|
||||||
): BulkExportDocumentsPayload! generateDocumentChangelog(
|
): BulkExportDocumentsPayload!
|
||||||
|
generateDocumentChangelog(
|
||||||
input: GenerateDocumentChangelogInput!
|
input: GenerateDocumentChangelogInput!
|
||||||
): GenerateDocumentChangelogPayload! createDraftDocumentVersion(
|
): GenerateDocumentChangelogPayload!
|
||||||
|
createDraftDocumentVersion(
|
||||||
input: CreateDraftDocumentVersionInput!
|
input: CreateDraftDocumentVersionInput!
|
||||||
): CreateDraftDocumentVersionPayload! deleteDraftDocumentVersion(
|
): CreateDraftDocumentVersionPayload!
|
||||||
|
deleteDraftDocumentVersion(
|
||||||
input: DeleteDraftDocumentVersionInput!
|
input: DeleteDraftDocumentVersionInput!
|
||||||
): DeleteDraftDocumentVersionPayload! updateDocumentVersion(
|
): DeleteDraftDocumentVersionPayload!
|
||||||
|
updateDocumentVersion(
|
||||||
input: UpdateDocumentVersionInput!
|
input: UpdateDocumentVersionInput!
|
||||||
): UpdateDocumentVersionPayload! requestSignature(input: RequestSignatureInput!): RequestSignaturePayload! bulkRequestSignatures(
|
): UpdateDocumentVersionPayload!
|
||||||
|
requestSignature(input: RequestSignatureInput!): RequestSignaturePayload!
|
||||||
|
bulkRequestSignatures(
|
||||||
input: BulkRequestSignaturesInput!
|
input: BulkRequestSignaturesInput!
|
||||||
): BulkRequestSignaturesPayload! sendSigningNotifications(
|
): BulkRequestSignaturesPayload!
|
||||||
|
sendSigningNotifications(
|
||||||
input: SendSigningNotificationsInput!
|
input: SendSigningNotificationsInput!
|
||||||
): SendSigningNotificationsPayload! cancelSignatureRequest(
|
): SendSigningNotificationsPayload!
|
||||||
|
cancelSignatureRequest(
|
||||||
input: CancelSignatureRequestInput!
|
input: CancelSignatureRequestInput!
|
||||||
): CancelSignatureRequestPayload!
|
): CancelSignatureRequestPayload!
|
||||||
signDocument(
|
signDocument(input: SignDocumentInput!): SignDocumentPayload!
|
||||||
input: SignDocumentInput!
|
|
||||||
): SignDocumentPayload!
|
|
||||||
exportDocumentVersionPDF(
|
exportDocumentVersionPDF(
|
||||||
input: ExportDocumentVersionPDFInput!
|
input: ExportDocumentVersionPDFInput!
|
||||||
): ExportDocumentVersionPDFPayload!
|
): ExportDocumentVersionPDFPayload!
|
||||||
@@ -12528,41 +12616,59 @@ type Mutation {
|
|||||||
input: CreateVendorRiskAssessmentInput!
|
input: CreateVendorRiskAssessmentInput!
|
||||||
): CreateVendorRiskAssessmentPayload!
|
): CreateVendorRiskAssessmentPayload!
|
||||||
assessVendor(input: AssessVendorInput!): AssessVendorPayload!
|
assessVendor(input: AssessVendorInput!): AssessVendorPayload!
|
||||||
createAsset(input: CreateAssetInput!): CreateAssetPayload! updateAsset(input: UpdateAssetInput!): UpdateAssetPayload! deleteAsset(input: DeleteAssetInput!): DeleteAssetPayload!
|
createAsset(input: CreateAssetInput!): CreateAssetPayload!
|
||||||
createDatum(input: CreateDatumInput!): CreateDatumPayload! updateDatum(input: UpdateDatumInput!): UpdateDatumPayload! deleteDatum(input: DeleteDatumInput!): DeleteDatumPayload!
|
updateAsset(input: UpdateAssetInput!): UpdateAssetPayload!
|
||||||
createAudit(input: CreateAuditInput!): CreateAuditPayload! updateAudit(input: UpdateAuditInput!): UpdateAuditPayload! deleteAudit(input: DeleteAuditInput!): DeleteAuditPayload! uploadAuditReport(input: UploadAuditReportInput!): UploadAuditReportPayload! deleteAuditReport(input: DeleteAuditReportInput!): DeleteAuditReportPayload!
|
deleteAsset(input: DeleteAssetInput!): DeleteAssetPayload!
|
||||||
|
createDatum(input: CreateDatumInput!): CreateDatumPayload!
|
||||||
|
updateDatum(input: UpdateDatumInput!): UpdateDatumPayload!
|
||||||
|
deleteDatum(input: DeleteDatumInput!): DeleteDatumPayload!
|
||||||
|
createAudit(input: CreateAuditInput!): CreateAuditPayload!
|
||||||
|
updateAudit(input: UpdateAuditInput!): UpdateAuditPayload!
|
||||||
|
deleteAudit(input: DeleteAuditInput!): DeleteAuditPayload!
|
||||||
|
uploadAuditReport(input: UploadAuditReportInput!): UploadAuditReportPayload!
|
||||||
|
deleteAuditReport(input: DeleteAuditReportInput!): DeleteAuditReportPayload!
|
||||||
# Nonconformity mutations
|
# Nonconformity mutations
|
||||||
createNonconformity(
|
createNonconformity(
|
||||||
input: CreateNonconformityInput!
|
input: CreateNonconformityInput!
|
||||||
): CreateNonconformityPayload! updateNonconformity(
|
): CreateNonconformityPayload!
|
||||||
|
updateNonconformity(
|
||||||
input: UpdateNonconformityInput!
|
input: UpdateNonconformityInput!
|
||||||
): UpdateNonconformityPayload! deleteNonconformity(
|
): UpdateNonconformityPayload!
|
||||||
|
deleteNonconformity(
|
||||||
input: DeleteNonconformityInput!
|
input: DeleteNonconformityInput!
|
||||||
): DeleteNonconformityPayload!
|
): DeleteNonconformityPayload!
|
||||||
# Obligation mutations
|
# Obligation mutations
|
||||||
createObligation(input: CreateObligationInput!): CreateObligationPayload! updateObligation(input: UpdateObligationInput!): UpdateObligationPayload! deleteObligation(input: DeleteObligationInput!): DeleteObligationPayload!
|
createObligation(input: CreateObligationInput!): CreateObligationPayload!
|
||||||
|
updateObligation(input: UpdateObligationInput!): UpdateObligationPayload!
|
||||||
|
deleteObligation(input: DeleteObligationInput!): DeleteObligationPayload!
|
||||||
# Continual Improvement mutations
|
# Continual Improvement mutations
|
||||||
createContinualImprovement(
|
createContinualImprovement(
|
||||||
input: CreateContinualImprovementInput!
|
input: CreateContinualImprovementInput!
|
||||||
): CreateContinualImprovementPayload! updateContinualImprovement(
|
): CreateContinualImprovementPayload!
|
||||||
|
updateContinualImprovement(
|
||||||
input: UpdateContinualImprovementInput!
|
input: UpdateContinualImprovementInput!
|
||||||
): UpdateContinualImprovementPayload! deleteContinualImprovement(
|
): UpdateContinualImprovementPayload!
|
||||||
|
deleteContinualImprovement(
|
||||||
input: DeleteContinualImprovementInput!
|
input: DeleteContinualImprovementInput!
|
||||||
): DeleteContinualImprovementPayload!
|
): DeleteContinualImprovementPayload!
|
||||||
# Processing Activity mutations
|
# Processing Activity mutations
|
||||||
createProcessingActivity(
|
createProcessingActivity(
|
||||||
input: CreateProcessingActivityInput!
|
input: CreateProcessingActivityInput!
|
||||||
): CreateProcessingActivityPayload! updateProcessingActivity(
|
): CreateProcessingActivityPayload!
|
||||||
|
updateProcessingActivity(
|
||||||
input: UpdateProcessingActivityInput!
|
input: UpdateProcessingActivityInput!
|
||||||
): UpdateProcessingActivityPayload! deleteProcessingActivity(
|
): UpdateProcessingActivityPayload!
|
||||||
|
deleteProcessingActivity(
|
||||||
input: DeleteProcessingActivityInput!
|
input: DeleteProcessingActivityInput!
|
||||||
): DeleteProcessingActivityPayload!
|
): DeleteProcessingActivityPayload!
|
||||||
# Snapshot mutations
|
# Snapshot mutations
|
||||||
createSnapshot(input: CreateSnapshotInput!): CreateSnapshotPayload! deleteSnapshot(input: DeleteSnapshotInput!): DeleteSnapshotPayload!
|
createSnapshot(input: CreateSnapshotInput!): CreateSnapshotPayload!
|
||||||
|
deleteSnapshot(input: DeleteSnapshotInput!): DeleteSnapshotPayload!
|
||||||
# Custom Domain mutations
|
# Custom Domain mutations
|
||||||
createCustomDomain(
|
createCustomDomain(
|
||||||
input: CreateCustomDomainInput!
|
input: CreateCustomDomainInput!
|
||||||
): CreateCustomDomainPayload! deleteCustomDomain(
|
): CreateCustomDomainPayload!
|
||||||
|
deleteCustomDomain(
|
||||||
input: DeleteCustomDomainInput!
|
input: DeleteCustomDomainInput!
|
||||||
): DeleteCustomDomainPayload!
|
): DeleteCustomDomainPayload!
|
||||||
# SAML Configuration mutations (OWNER/ADMIN only)
|
# SAML Configuration mutations (OWNER/ADMIN only)
|
||||||
@@ -12575,11 +12681,16 @@ type Mutation {
|
|||||||
# Step 3: Configure SAML (only allowed after domain is verified)
|
# Step 3: Configure SAML (only allowed after domain is verified)
|
||||||
createSAMLConfiguration(
|
createSAMLConfiguration(
|
||||||
input: CreateSAMLConfigurationInput!
|
input: CreateSAMLConfigurationInput!
|
||||||
): CreateSAMLConfigurationPayload! updateSAMLConfiguration(
|
): CreateSAMLConfigurationPayload!
|
||||||
|
updateSAMLConfiguration(
|
||||||
input: UpdateSAMLConfigurationInput!
|
input: UpdateSAMLConfigurationInput!
|
||||||
): UpdateSAMLConfigurationPayload! deleteSAMLConfiguration(
|
): UpdateSAMLConfigurationPayload!
|
||||||
|
deleteSAMLConfiguration(
|
||||||
input: DeleteSAMLConfigurationInput!
|
input: DeleteSAMLConfigurationInput!
|
||||||
): DeleteSAMLConfigurationPayload! enableSAML(input: EnableSAMLInput!): EnableSAMLPayload! disableSAML(input: DisableSAMLInput!): DisableSAMLPayload!}
|
): DeleteSAMLConfigurationPayload!
|
||||||
|
enableSAML(input: EnableSAMLInput!): EnableSAMLPayload!
|
||||||
|
disableSAML(input: DisableSAMLInput!): DisableSAMLPayload!
|
||||||
|
}
|
||||||
|
|
||||||
# Input Types
|
# Input Types
|
||||||
input GenerateFrameworkStateOfApplicabilityInput {
|
input GenerateFrameworkStateOfApplicabilityInput {
|
||||||
@@ -13781,7 +13892,10 @@ type DeleteMeasurePayload {
|
|||||||
deletedMeasureId: ID!
|
deletedMeasureId: ID!
|
||||||
}
|
}
|
||||||
|
|
||||||
type DocumentVersion implements Node @goModel(model: "go.probo.inc/probo/pkg/server/api/console/v1/types.DocumentVersion") {
|
type DocumentVersion implements Node
|
||||||
|
@goModel(
|
||||||
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.DocumentVersion"
|
||||||
|
) {
|
||||||
id: ID!
|
id: ID!
|
||||||
document: Document! @goField(forceResolver: true)
|
document: Document! @goField(forceResolver: true)
|
||||||
status: DocumentStatus!
|
status: DocumentStatus!
|
||||||
@@ -14076,7 +14190,8 @@ type DeleteAssetPayload {
|
|||||||
deletedAssetId: ID!
|
deletedAssetId: ID!
|
||||||
}
|
}
|
||||||
|
|
||||||
type Datum implements Node @goModel(model: "go.probo.inc/probo/pkg/server/api/console/v1/types.Datum") {
|
type Datum implements Node
|
||||||
|
@goModel(model: "go.probo.inc/probo/pkg/server/api/console/v1/types.Datum") {
|
||||||
id: ID!
|
id: ID!
|
||||||
snapshotId: ID
|
snapshotId: ID
|
||||||
name: String!
|
name: String!
|
||||||
@@ -47039,6 +47154,35 @@ func (ec *executionContext) fieldContext_TrustCenterDocumentAccess_active(_ cont
|
|||||||
return fc, nil
|
return fc, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) _TrustCenterDocumentAccess_status(ctx context.Context, field graphql.CollectedField, obj *types.TrustCenterDocumentAccess) (ret graphql.Marshaler) {
|
||||||
|
return graphql.ResolveField(
|
||||||
|
ctx,
|
||||||
|
ec.OperationContext,
|
||||||
|
field,
|
||||||
|
ec.fieldContext_TrustCenterDocumentAccess_status,
|
||||||
|
func(ctx context.Context) (any, error) {
|
||||||
|
return ec.resolvers.TrustCenterDocumentAccess().Status(ctx, obj)
|
||||||
|
},
|
||||||
|
nil,
|
||||||
|
ec.marshalNTrustCenterDocumentAccessStatus2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐTrustCenterDocumentAccessStatus,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) fieldContext_TrustCenterDocumentAccess_status(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
||||||
|
fc = &graphql.FieldContext{
|
||||||
|
Object: "TrustCenterDocumentAccess",
|
||||||
|
Field: field,
|
||||||
|
IsMethod: true,
|
||||||
|
IsResolver: true,
|
||||||
|
Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
|
||||||
|
return nil, errors.New("field of type TrustCenterDocumentAccessStatus does not have child fields")
|
||||||
|
},
|
||||||
|
}
|
||||||
|
return fc, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) _TrustCenterDocumentAccess_requested(ctx context.Context, field graphql.CollectedField, obj *types.TrustCenterDocumentAccess) (ret graphql.Marshaler) {
|
func (ec *executionContext) _TrustCenterDocumentAccess_requested(ctx context.Context, field graphql.CollectedField, obj *types.TrustCenterDocumentAccess) (ret graphql.Marshaler) {
|
||||||
return graphql.ResolveField(
|
return graphql.ResolveField(
|
||||||
ctx,
|
ctx,
|
||||||
@@ -47379,6 +47523,8 @@ func (ec *executionContext) fieldContext_TrustCenterDocumentAccessEdge_node(_ co
|
|||||||
switch field.Name {
|
switch field.Name {
|
||||||
case "active":
|
case "active":
|
||||||
return ec.fieldContext_TrustCenterDocumentAccess_active(ctx, field)
|
return ec.fieldContext_TrustCenterDocumentAccess_active(ctx, field)
|
||||||
|
case "status":
|
||||||
|
return ec.fieldContext_TrustCenterDocumentAccess_status(ctx, field)
|
||||||
case "requested":
|
case "requested":
|
||||||
return ec.fieldContext_TrustCenterDocumentAccess_requested(ctx, field)
|
return ec.fieldContext_TrustCenterDocumentAccess_requested(ctx, field)
|
||||||
case "document":
|
case "document":
|
||||||
@@ -78680,6 +78826,42 @@ func (ec *executionContext) _TrustCenterDocumentAccess(ctx context.Context, sel
|
|||||||
if out.Values[i] == graphql.Null {
|
if out.Values[i] == graphql.Null {
|
||||||
atomic.AddUint32(&out.Invalids, 1)
|
atomic.AddUint32(&out.Invalids, 1)
|
||||||
}
|
}
|
||||||
|
case "status":
|
||||||
|
field := field
|
||||||
|
|
||||||
|
innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) {
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
ec.Error(ctx, ec.Recover(ctx, r))
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
res = ec._TrustCenterDocumentAccess_status(ctx, field, obj)
|
||||||
|
if res == graphql.Null {
|
||||||
|
atomic.AddUint32(&fs.Invalids, 1)
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
|
if field.Deferrable != nil {
|
||||||
|
dfs, ok := deferred[field.Deferrable.Label]
|
||||||
|
di := 0
|
||||||
|
if ok {
|
||||||
|
dfs.AddField(field)
|
||||||
|
di = len(dfs.Values) - 1
|
||||||
|
} else {
|
||||||
|
dfs = graphql.NewFieldSet([]graphql.CollectedField{field})
|
||||||
|
deferred[field.Deferrable.Label] = dfs
|
||||||
|
}
|
||||||
|
dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler {
|
||||||
|
return innerFunc(ctx, dfs)
|
||||||
|
})
|
||||||
|
|
||||||
|
// don't run the out.Concurrently() call below
|
||||||
|
out.Values[i] = graphql.Null
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) })
|
||||||
case "requested":
|
case "requested":
|
||||||
out.Values[i] = ec._TrustCenterDocumentAccess_requested(ctx, field, obj)
|
out.Values[i] = ec._TrustCenterDocumentAccess_requested(ctx, field, obj)
|
||||||
if out.Values[i] == graphql.Null {
|
if out.Values[i] == graphql.Null {
|
||||||
@@ -89705,6 +89887,38 @@ var (
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func (ec *executionContext) unmarshalNTrustCenterDocumentAccessStatus2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐTrustCenterDocumentAccessStatus(ctx context.Context, v any) (coredata.TrustCenterDocumentAccessStatus, error) {
|
||||||
|
tmp, err := graphql.UnmarshalString(v)
|
||||||
|
res := unmarshalNTrustCenterDocumentAccessStatus2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐTrustCenterDocumentAccessStatus[tmp]
|
||||||
|
return res, graphql.ErrorOnPath(ctx, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) marshalNTrustCenterDocumentAccessStatus2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐTrustCenterDocumentAccessStatus(ctx context.Context, sel ast.SelectionSet, v coredata.TrustCenterDocumentAccessStatus) graphql.Marshaler {
|
||||||
|
_ = sel
|
||||||
|
res := graphql.MarshalString(marshalNTrustCenterDocumentAccessStatus2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐTrustCenterDocumentAccessStatus[v])
|
||||||
|
if res == graphql.Null {
|
||||||
|
if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
|
||||||
|
ec.Errorf(ctx, "the requested element is null which the schema does not allow")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
unmarshalNTrustCenterDocumentAccessStatus2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐTrustCenterDocumentAccessStatus = map[string]coredata.TrustCenterDocumentAccessStatus{
|
||||||
|
"REQUESTED": coredata.TrustCenterDocumentAccessStatusRequested,
|
||||||
|
"GRANTED": coredata.TrustCenterDocumentAccessStatusGranted,
|
||||||
|
"REJECTED": coredata.TrustCenterDocumentAccessStatusRejected,
|
||||||
|
"REVOKED": coredata.TrustCenterDocumentAccessStatusRevoked,
|
||||||
|
}
|
||||||
|
marshalNTrustCenterDocumentAccessStatus2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐTrustCenterDocumentAccessStatus = map[coredata.TrustCenterDocumentAccessStatus]string{
|
||||||
|
coredata.TrustCenterDocumentAccessStatusRequested: "REQUESTED",
|
||||||
|
coredata.TrustCenterDocumentAccessStatusGranted: "GRANTED",
|
||||||
|
coredata.TrustCenterDocumentAccessStatusRejected: "REJECTED",
|
||||||
|
coredata.TrustCenterDocumentAccessStatusRevoked: "REVOKED",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
func (ec *executionContext) marshalNTrustCenterEdge2ᚕᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐTrustCenterEdgeᚄ(ctx context.Context, sel ast.SelectionSet, v []*types.TrustCenterEdge) graphql.Marshaler {
|
func (ec *executionContext) marshalNTrustCenterEdge2ᚕᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐTrustCenterEdgeᚄ(ctx context.Context, sel ast.SelectionSet, v []*types.TrustCenterEdge) graphql.Marshaler {
|
||||||
ret := make(graphql.Array, len(v))
|
ret := make(graphql.Array, len(v))
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
|
|||||||
@@ -6492,6 +6492,11 @@ func (r *trustCenterAccessResolver) AvailableDocumentAccesses(ctx context.Contex
|
|||||||
return types.NewTrustCenterDocumentAccessConnection(result, obj, obj.ID), nil
|
return types.NewTrustCenterDocumentAccessConnection(result, obj, obj.ID), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Status is the resolver for the status field.
|
||||||
|
func (r *trustCenterDocumentAccessResolver) Status(ctx context.Context, obj *types.TrustCenterDocumentAccess) (coredata.TrustCenterDocumentAccessStatus, error) {
|
||||||
|
panic(fmt.Errorf("not implemented: Status - status"))
|
||||||
|
}
|
||||||
|
|
||||||
// Document is the resolver for the document field.
|
// Document is the resolver for the document field.
|
||||||
func (r *trustCenterDocumentAccessResolver) Document(ctx context.Context, obj *types.TrustCenterDocumentAccess) (*types.Document, error) {
|
func (r *trustCenterDocumentAccessResolver) Document(ctx context.Context, obj *types.TrustCenterDocumentAccess) (*types.Document, error) {
|
||||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGet)
|
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGet)
|
||||||
|
|||||||
@@ -22,11 +22,11 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"go.gearno.de/kit/pg"
|
||||||
"go.probo.inc/probo/pkg/baseurl"
|
"go.probo.inc/probo/pkg/baseurl"
|
||||||
"go.probo.inc/probo/pkg/coredata"
|
"go.probo.inc/probo/pkg/coredata"
|
||||||
"go.probo.inc/probo/pkg/gid"
|
"go.probo.inc/probo/pkg/gid"
|
||||||
"go.probo.inc/probo/pkg/slack"
|
"go.probo.inc/probo/pkg/slack"
|
||||||
"go.gearno.de/kit/pg"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -42,21 +42,21 @@ type (
|
|||||||
SlackMessageDocument struct {
|
SlackMessageDocument struct {
|
||||||
ID string
|
ID string
|
||||||
Title string
|
Title string
|
||||||
Granted bool
|
Status string
|
||||||
}
|
}
|
||||||
|
|
||||||
SlackMessageReport struct {
|
SlackMessageReport struct {
|
||||||
ID string
|
ID string
|
||||||
Title string
|
Title string
|
||||||
AuditID string
|
AuditID string
|
||||||
Granted bool
|
Status string
|
||||||
}
|
}
|
||||||
|
|
||||||
SlackMessageFile struct {
|
SlackMessageFile struct {
|
||||||
ID string
|
ID string
|
||||||
Name string
|
Name string
|
||||||
Category string
|
Category string
|
||||||
Granted bool
|
Status string
|
||||||
}
|
}
|
||||||
|
|
||||||
SlackMessageMetadata struct {
|
SlackMessageMetadata struct {
|
||||||
@@ -338,7 +338,7 @@ func (s *SlackMessageService) loadDocumentsReportsAndFilesFromAccesses(
|
|||||||
documents = append(documents, SlackMessageDocument{
|
documents = append(documents, SlackMessageDocument{
|
||||||
ID: access.DocumentID.String(),
|
ID: access.DocumentID.String(),
|
||||||
Title: doc.Title,
|
Title: doc.Title,
|
||||||
Granted: access.Active,
|
Status: access.Status.String(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -366,7 +366,7 @@ func (s *SlackMessageService) loadDocumentsReportsAndFilesFromAccesses(
|
|||||||
ID: access.ReportID.String(),
|
ID: access.ReportID.String(),
|
||||||
Title: label,
|
Title: label,
|
||||||
AuditID: audit.ID.String(),
|
AuditID: audit.ID.String(),
|
||||||
Granted: access.Active,
|
Status: access.Status.String(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -379,7 +379,7 @@ func (s *SlackMessageService) loadDocumentsReportsAndFilesFromAccesses(
|
|||||||
ID: access.TrustCenterFileID.String(),
|
ID: access.TrustCenterFileID.String(),
|
||||||
Name: file.Name,
|
Name: file.Name,
|
||||||
Category: file.Category,
|
Category: file.Category,
|
||||||
Granted: access.Active,
|
Status: access.Status.String(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,14 +66,28 @@
|
|||||||
"type": "mrkdwn",
|
"type": "mrkdwn",
|
||||||
"text": "<https://{{$.Domain}}/organizations/{{$.OrganizationID}}/documents/{{.ID}}|{{jsonEscape .Title}}>"
|
"text": "<https://{{$.Domain}}/organizations/{{$.OrganizationID}}/documents/{{.ID}}|{{jsonEscape .Title}}>"
|
||||||
},
|
},
|
||||||
"accessory": {{if .Granted}}{
|
"accessory": {{if eq .Status "GRANTED"}}{
|
||||||
"type": "button",
|
"type": "button",
|
||||||
"text": {
|
"text": {
|
||||||
"type": "plain_text",
|
"type": "plain_text",
|
||||||
"text": "✓ Granted"
|
"text": "✓ Granted"
|
||||||
},
|
},
|
||||||
"url": "https://{{$.Domain}}/organizations/{{$.OrganizationID}}/trust-center/access"
|
"url": "https://{{$.Domain}}/organizations/{{$.OrganizationID}}/trust-center/access"
|
||||||
}{{else}}{
|
}{{else if eq .Status "REJECTED"}}{
|
||||||
|
"type": "button",
|
||||||
|
"text": {
|
||||||
|
"type": "plain_text",
|
||||||
|
"text": "✗ Rejected"
|
||||||
|
},
|
||||||
|
"url": "https://{{$.Domain}}/organizations/{{$.OrganizationID}}/trust-center/access"
|
||||||
|
}{{else if eq .Status "REVOKED"}}{
|
||||||
|
"type": "button",
|
||||||
|
"text": {
|
||||||
|
"type": "plain_text",
|
||||||
|
"text": "✗ Revoked"
|
||||||
|
},
|
||||||
|
"url": "https://{{$.Domain}}/organizations/{{$.OrganizationID}}/trust-center/access"
|
||||||
|
}{{else if eq .Status "REQUESTED"}}{
|
||||||
"type": "button",
|
"type": "button",
|
||||||
"text": {
|
"text": {
|
||||||
"type": "plain_text",
|
"type": "plain_text",
|
||||||
|
|||||||
@@ -572,20 +572,20 @@ func (s *TrustCenterAccessService) RejectByIDs(
|
|||||||
|
|
||||||
if len(documentIDs) > 0 {
|
if len(documentIDs) > 0 {
|
||||||
shouldSendEmail = true
|
shouldSendEmail = true
|
||||||
if err := coredata.DeleteByDocumentIDs(ctx, tx, s.svc.scope, access.ID, documentIDs); err != nil {
|
if err := coredata.RejectByDocumentIDs(ctx, tx, s.svc.scope, access.ID, documentIDs); err != nil {
|
||||||
return fmt.Errorf("cannot delete document accesses: %w", err)
|
return fmt.Errorf("cannot reject document accesses: %w", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(reportIDs) > 0 {
|
if len(reportIDs) > 0 {
|
||||||
shouldSendEmail = true
|
shouldSendEmail = true
|
||||||
if err := coredata.DeleteByReportIDs(ctx, tx, s.svc.scope, access.ID, reportIDs); err != nil {
|
if err := coredata.RejectByReportIDs(ctx, tx, s.svc.scope, access.ID, reportIDs); err != nil {
|
||||||
return fmt.Errorf("cannot delete report accesses: %w", err)
|
return fmt.Errorf("cannot reject report accesses: %w", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(fileIDs) > 0 {
|
if len(fileIDs) > 0 {
|
||||||
shouldSendEmail = true
|
shouldSendEmail = true
|
||||||
if err := coredata.DeleteByTrustCenterFileIDs(ctx, tx, s.svc.scope, access.ID, fileIDs); err != nil {
|
if err := coredata.RejectByTrustCenterFileIDs(ctx, tx, s.svc.scope, access.ID, fileIDs); err != nil {
|
||||||
return fmt.Errorf("cannot delete trust center file accesses: %w", err)
|
return fmt.Errorf("cannot reject trust center file accesses: %w", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user