Change registry names
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
@@ -366,21 +366,21 @@ enum ProcessingActivityTransferImpactAssessment
|
||||
)
|
||||
}
|
||||
|
||||
enum ProcessingActivityDPIAResidualRisk
|
||||
enum DataProtectionImpactAssessmentResidualRisk
|
||||
@goModel(
|
||||
model: "go.probo.inc/probo/pkg/coredata.ProcessingActivityDPIAResidualRisk"
|
||||
model: "go.probo.inc/probo/pkg/coredata.DataProtectionImpactAssessmentResidualRisk"
|
||||
) {
|
||||
LOW
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.ProcessingActivityDPIAResidualRiskLow"
|
||||
value: "go.probo.inc/probo/pkg/coredata.DataProtectionImpactAssessmentResidualRiskLow"
|
||||
)
|
||||
MEDIUM
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.ProcessingActivityDPIAResidualRiskMedium"
|
||||
value: "go.probo.inc/probo/pkg/coredata.DataProtectionImpactAssessmentResidualRiskMedium"
|
||||
)
|
||||
HIGH
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.ProcessingActivityDPIAResidualRiskHigh"
|
||||
value: "go.probo.inc/probo/pkg/coredata.DataProtectionImpactAssessmentResidualRiskHigh"
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1079,23 +1079,23 @@ enum ProcessingActivityOrderField
|
||||
)
|
||||
}
|
||||
|
||||
enum ProcessingActivityDPIAOrderField
|
||||
enum DataProtectionImpactAssessmentOrderField
|
||||
@goModel(
|
||||
model: "go.probo.inc/probo/pkg/coredata.ProcessingActivityDPIAOrderField"
|
||||
model: "go.probo.inc/probo/pkg/coredata.DataProtectionImpactAssessmentOrderField"
|
||||
) {
|
||||
CREATED_AT
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.ProcessingActivityDPIAOrderFieldCreatedAt"
|
||||
value: "go.probo.inc/probo/pkg/coredata.DataProtectionImpactAssessmentOrderFieldCreatedAt"
|
||||
)
|
||||
}
|
||||
|
||||
enum ProcessingActivityTIAOrderField
|
||||
enum TransferImpactAssessmentOrderField
|
||||
@goModel(
|
||||
model: "go.probo.inc/probo/pkg/coredata.ProcessingActivityTIAOrderField"
|
||||
model: "go.probo.inc/probo/pkg/coredata.TransferImpactAssessmentOrderField"
|
||||
) {
|
||||
CREATED_AT
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.ProcessingActivityTIAOrderFieldCreatedAt"
|
||||
value: "go.probo.inc/probo/pkg/coredata.TransferImpactAssessmentOrderFieldCreatedAt"
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1352,20 +1352,20 @@ input ProcessingActivityOrder
|
||||
field: ProcessingActivityOrderField!
|
||||
}
|
||||
|
||||
input ProcessingActivityDPIAOrder
|
||||
input DataProtectionImpactAssessmentOrder
|
||||
@goModel(
|
||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.ProcessingActivityDPIAOrderBy"
|
||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.DataProtectionImpactAssessmentOrderBy"
|
||||
) {
|
||||
direction: OrderDirection!
|
||||
field: ProcessingActivityDPIAOrderField!
|
||||
field: DataProtectionImpactAssessmentOrderField!
|
||||
}
|
||||
|
||||
input ProcessingActivityTIAOrder
|
||||
input TransferImpactAssessmentOrder
|
||||
@goModel(
|
||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.ProcessingActivityTIAOrderBy"
|
||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.TransferImpactAssessmentOrderBy"
|
||||
) {
|
||||
direction: OrderDirection!
|
||||
field: ProcessingActivityTIAOrderField!
|
||||
field: TransferImpactAssessmentOrderField!
|
||||
}
|
||||
|
||||
input TrustCenterAccessOrder
|
||||
@@ -1517,11 +1517,11 @@ input ProcessingActivityFilter {
|
||||
snapshotId: ID
|
||||
}
|
||||
|
||||
input ProcessingActivityDPIAFilter {
|
||||
input DataProtectionImpactAssessmentFilter {
|
||||
snapshotId: ID
|
||||
}
|
||||
|
||||
input ProcessingActivityTIAFilter {
|
||||
input TransferImpactAssessmentFilter {
|
||||
snapshotId: ID
|
||||
}
|
||||
|
||||
@@ -1741,18 +1741,18 @@ type Organization implements Node {
|
||||
after: CursorKey
|
||||
last: Int
|
||||
before: CursorKey
|
||||
orderBy: ProcessingActivityDPIAOrder
|
||||
filter: ProcessingActivityDPIAFilter = { snapshotId: null }
|
||||
): ProcessingActivityDPIAConnection! @goField(forceResolver: true)
|
||||
orderBy: DataProtectionImpactAssessmentOrder
|
||||
filter: DataProtectionImpactAssessmentFilter = { snapshotId: null }
|
||||
): DataProtectionImpactAssessmentConnection! @goField(forceResolver: true)
|
||||
|
||||
transferImpactAssessments(
|
||||
first: Int
|
||||
after: CursorKey
|
||||
last: Int
|
||||
before: CursorKey
|
||||
orderBy: ProcessingActivityTIAOrder
|
||||
filter: ProcessingActivityTIAFilter = { snapshotId: null }
|
||||
): ProcessingActivityTIAConnection! @goField(forceResolver: true)
|
||||
orderBy: TransferImpactAssessmentOrder
|
||||
filter: TransferImpactAssessmentFilter = { snapshotId: null }
|
||||
): TransferImpactAssessmentConnection! @goField(forceResolver: true)
|
||||
|
||||
snapshots(
|
||||
first: Int
|
||||
@@ -2344,8 +2344,8 @@ type ProcessingActivity implements Node {
|
||||
transferSafeguards: ProcessingActivityTransferSafeguard
|
||||
retentionPeriod: String
|
||||
securityMeasures: String
|
||||
dataProtectionImpactAssessment: ProcessingActivityDataProtectionImpactAssessment!
|
||||
transferImpactAssessment: ProcessingActivityTransferImpactAssessment!
|
||||
dataProtectionImpactAssessmentNeeded: ProcessingActivityDataProtectionImpactAssessment!
|
||||
transferImpactAssessmentNeeded: ProcessingActivityTransferImpactAssessment!
|
||||
lastReviewDate: Datetime
|
||||
nextReviewDate: Datetime
|
||||
role: ProcessingActivityRole!
|
||||
@@ -2357,13 +2357,13 @@ type ProcessingActivity implements Node {
|
||||
before: CursorKey
|
||||
orderBy: VendorOrder
|
||||
): VendorConnection! @goField(forceResolver: true)
|
||||
dpia: ProcessingActivityDPIA @goField(forceResolver: true)
|
||||
tia: ProcessingActivityTIA @goField(forceResolver: true)
|
||||
dataProtectionImpactAssessment: DataProtectionImpactAssessment @goField(forceResolver: true)
|
||||
transferImpactAssessment: TransferImpactAssessment @goField(forceResolver: true)
|
||||
createdAt: Datetime!
|
||||
updatedAt: Datetime!
|
||||
}
|
||||
|
||||
type ProcessingActivityDPIA implements Node {
|
||||
type DataProtectionImpactAssessment implements Node {
|
||||
id: ID!
|
||||
processingActivity: ProcessingActivity! @goField(forceResolver: true)
|
||||
organization: Organization! @goField(forceResolver: true)
|
||||
@@ -2371,12 +2371,12 @@ type ProcessingActivityDPIA implements Node {
|
||||
necessityAndProportionality: String
|
||||
potentialRisk: String
|
||||
mitigations: String
|
||||
residualRisk: ProcessingActivityDPIAResidualRisk
|
||||
residualRisk: DataProtectionImpactAssessmentResidualRisk
|
||||
createdAt: Datetime!
|
||||
updatedAt: Datetime!
|
||||
}
|
||||
|
||||
type ProcessingActivityTIA implements Node {
|
||||
type TransferImpactAssessment implements Node {
|
||||
id: ID!
|
||||
processingActivity: ProcessingActivity! @goField(forceResolver: true)
|
||||
organization: Organization! @goField(forceResolver: true)
|
||||
@@ -2893,32 +2893,32 @@ type ProcessingActivityEdge {
|
||||
node: ProcessingActivity!
|
||||
}
|
||||
|
||||
type ProcessingActivityDPIAConnection
|
||||
type DataProtectionImpactAssessmentConnection
|
||||
@goModel(
|
||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.ProcessingActivityDPIAConnection"
|
||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.DataProtectionImpactAssessmentConnection"
|
||||
) {
|
||||
totalCount: Int! @goField(forceResolver: true)
|
||||
edges: [ProcessingActivityDPIAEdge!]!
|
||||
edges: [DataProtectionImpactAssessmentEdge!]!
|
||||
pageInfo: PageInfo!
|
||||
}
|
||||
|
||||
type ProcessingActivityDPIAEdge {
|
||||
type DataProtectionImpactAssessmentEdge {
|
||||
cursor: CursorKey!
|
||||
node: ProcessingActivityDPIA!
|
||||
node: DataProtectionImpactAssessment!
|
||||
}
|
||||
|
||||
type ProcessingActivityTIAConnection
|
||||
type TransferImpactAssessmentConnection
|
||||
@goModel(
|
||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.ProcessingActivityTIAConnection"
|
||||
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.TransferImpactAssessmentConnection"
|
||||
) {
|
||||
totalCount: Int! @goField(forceResolver: true)
|
||||
edges: [ProcessingActivityTIAEdge!]!
|
||||
edges: [TransferImpactAssessmentEdge!]!
|
||||
pageInfo: PageInfo!
|
||||
}
|
||||
|
||||
type ProcessingActivityTIAEdge {
|
||||
type TransferImpactAssessmentEdge {
|
||||
cursor: CursorKey!
|
||||
node: ProcessingActivityTIA!
|
||||
node: TransferImpactAssessment!
|
||||
}
|
||||
|
||||
type SnapshotConnection
|
||||
@@ -3258,26 +3258,26 @@ type Mutation {
|
||||
deleteProcessingActivity(
|
||||
input: DeleteProcessingActivityInput!
|
||||
): DeleteProcessingActivityPayload!
|
||||
# Processing Activity DPIA mutations
|
||||
createProcessingActivityDPIA(
|
||||
input: CreateProcessingActivityDPIAInput!
|
||||
): CreateProcessingActivityDPIAPayload!
|
||||
updateProcessingActivityDPIA(
|
||||
input: UpdateProcessingActivityDPIAInput!
|
||||
): UpdateProcessingActivityDPIAPayload!
|
||||
deleteProcessingActivityDPIA(
|
||||
input: DeleteProcessingActivityDPIAInput!
|
||||
): DeleteProcessingActivityDPIAPayload!
|
||||
# Processing Activity TIA mutations
|
||||
createProcessingActivityTIA(
|
||||
input: CreateProcessingActivityTIAInput!
|
||||
): CreateProcessingActivityTIAPayload!
|
||||
updateProcessingActivityTIA(
|
||||
input: UpdateProcessingActivityTIAInput!
|
||||
): UpdateProcessingActivityTIAPayload!
|
||||
deleteProcessingActivityTIA(
|
||||
input: DeleteProcessingActivityTIAInput!
|
||||
): DeleteProcessingActivityTIAPayload!
|
||||
# Data Protection Impact Assessment mutations
|
||||
createDataProtectionImpactAssessment(
|
||||
input: CreateDataProtectionImpactAssessmentInput!
|
||||
): CreateDataProtectionImpactAssessmentPayload!
|
||||
updateDataProtectionImpactAssessment(
|
||||
input: UpdateDataProtectionImpactAssessmentInput!
|
||||
): UpdateDataProtectionImpactAssessmentPayload!
|
||||
deleteDataProtectionImpactAssessment(
|
||||
input: DeleteDataProtectionImpactAssessmentInput!
|
||||
): DeleteDataProtectionImpactAssessmentPayload!
|
||||
# Transfer Impact Assessment mutations
|
||||
createTransferImpactAssessment(
|
||||
input: CreateTransferImpactAssessmentInput!
|
||||
): CreateTransferImpactAssessmentPayload!
|
||||
updateTransferImpactAssessment(
|
||||
input: UpdateTransferImpactAssessmentInput!
|
||||
): UpdateTransferImpactAssessmentPayload!
|
||||
deleteTransferImpactAssessment(
|
||||
input: DeleteTransferImpactAssessmentInput!
|
||||
): DeleteTransferImpactAssessmentPayload!
|
||||
# Snapshot mutations
|
||||
createSnapshot(input: CreateSnapshotInput!): CreateSnapshotPayload!
|
||||
deleteSnapshot(input: DeleteSnapshotInput!): DeleteSnapshotPayload!
|
||||
@@ -4046,8 +4046,8 @@ input CreateProcessingActivityInput {
|
||||
transferSafeguards: ProcessingActivityTransferSafeguard
|
||||
retentionPeriod: String
|
||||
securityMeasures: String
|
||||
dataProtectionImpactAssessment: ProcessingActivityDataProtectionImpactAssessment!
|
||||
transferImpactAssessment: ProcessingActivityTransferImpactAssessment!
|
||||
dataProtectionImpactAssessmentNeeded: ProcessingActivityDataProtectionImpactAssessment!
|
||||
transferImpactAssessmentNeeded: ProcessingActivityTransferImpactAssessment!
|
||||
lastReviewDate: Datetime
|
||||
nextReviewDate: Datetime
|
||||
role: ProcessingActivityRole!
|
||||
@@ -4071,8 +4071,8 @@ input UpdateProcessingActivityInput {
|
||||
@goField(omittable: true)
|
||||
retentionPeriod: String @goField(omittable: true)
|
||||
securityMeasures: String @goField(omittable: true)
|
||||
dataProtectionImpactAssessment: ProcessingActivityDataProtectionImpactAssessment
|
||||
transferImpactAssessment: ProcessingActivityTransferImpactAssessment
|
||||
dataProtectionImpactAssessmentNeeded: ProcessingActivityDataProtectionImpactAssessment
|
||||
transferImpactAssessmentNeeded: ProcessingActivityTransferImpactAssessment
|
||||
lastReviewDate: Datetime @goField(omittable: true)
|
||||
nextReviewDate: Datetime @goField(omittable: true)
|
||||
role: ProcessingActivityRole
|
||||
@@ -4084,29 +4084,29 @@ input DeleteProcessingActivityInput {
|
||||
processingActivityId: ID!
|
||||
}
|
||||
|
||||
input CreateProcessingActivityDPIAInput {
|
||||
input CreateDataProtectionImpactAssessmentInput {
|
||||
processingActivityId: ID!
|
||||
description: String
|
||||
necessityAndProportionality: String
|
||||
potentialRisk: String
|
||||
mitigations: String
|
||||
residualRisk: ProcessingActivityDPIAResidualRisk
|
||||
residualRisk: DataProtectionImpactAssessmentResidualRisk
|
||||
}
|
||||
|
||||
input UpdateProcessingActivityDPIAInput {
|
||||
input UpdateDataProtectionImpactAssessmentInput {
|
||||
id: ID!
|
||||
description: String @goField(omittable: true)
|
||||
necessityAndProportionality: String @goField(omittable: true)
|
||||
potentialRisk: String @goField(omittable: true)
|
||||
mitigations: String @goField(omittable: true)
|
||||
residualRisk: ProcessingActivityDPIAResidualRisk
|
||||
residualRisk: DataProtectionImpactAssessmentResidualRisk
|
||||
}
|
||||
|
||||
input DeleteProcessingActivityDPIAInput {
|
||||
processingActivityDpiaId: ID!
|
||||
input DeleteDataProtectionImpactAssessmentInput {
|
||||
dataProtectionImpactAssessmentId: ID!
|
||||
}
|
||||
|
||||
input CreateProcessingActivityTIAInput {
|
||||
input CreateTransferImpactAssessmentInput {
|
||||
processingActivityId: ID!
|
||||
dataSubjects: String
|
||||
legalMechanism: String
|
||||
@@ -4115,7 +4115,7 @@ input CreateProcessingActivityTIAInput {
|
||||
supplementaryMeasures: String
|
||||
}
|
||||
|
||||
input UpdateProcessingActivityTIAInput {
|
||||
input UpdateTransferImpactAssessmentInput {
|
||||
id: ID!
|
||||
dataSubjects: String @goField(omittable: true)
|
||||
legalMechanism: String @goField(omittable: true)
|
||||
@@ -4124,8 +4124,8 @@ input UpdateProcessingActivityTIAInput {
|
||||
supplementaryMeasures: String @goField(omittable: true)
|
||||
}
|
||||
|
||||
input DeleteProcessingActivityTIAInput {
|
||||
processingActivityTiaId: ID!
|
||||
input DeleteTransferImpactAssessmentInput {
|
||||
transferImpactAssessmentId: ID!
|
||||
}
|
||||
|
||||
input CreateSnapshotInput {
|
||||
@@ -4992,28 +4992,28 @@ type DeleteProcessingActivityPayload {
|
||||
deletedProcessingActivityId: ID!
|
||||
}
|
||||
|
||||
type CreateProcessingActivityDPIAPayload {
|
||||
processingActivityDpia: ProcessingActivityDPIA!
|
||||
type CreateDataProtectionImpactAssessmentPayload {
|
||||
dataProtectionImpactAssessment: DataProtectionImpactAssessment!
|
||||
}
|
||||
|
||||
type UpdateProcessingActivityDPIAPayload {
|
||||
processingActivityDpia: ProcessingActivityDPIA!
|
||||
type UpdateDataProtectionImpactAssessmentPayload {
|
||||
dataProtectionImpactAssessment: DataProtectionImpactAssessment!
|
||||
}
|
||||
|
||||
type DeleteProcessingActivityDPIAPayload {
|
||||
deletedProcessingActivityDpiaId: ID!
|
||||
type DeleteDataProtectionImpactAssessmentPayload {
|
||||
deletedDataProtectionImpactAssessmentId: ID!
|
||||
}
|
||||
|
||||
type CreateProcessingActivityTIAPayload {
|
||||
processingActivityTia: ProcessingActivityTIA!
|
||||
type CreateTransferImpactAssessmentPayload {
|
||||
transferImpactAssessment: TransferImpactAssessment!
|
||||
}
|
||||
|
||||
type UpdateProcessingActivityTIAPayload {
|
||||
processingActivityTia: ProcessingActivityTIA!
|
||||
type UpdateTransferImpactAssessmentPayload {
|
||||
transferImpactAssessment: TransferImpactAssessment!
|
||||
}
|
||||
|
||||
type DeleteProcessingActivityTIAPayload {
|
||||
deletedProcessingActivityTiaId: ID!
|
||||
type DeleteTransferImpactAssessmentPayload {
|
||||
deletedTransferImpactAssessmentId: ID!
|
||||
}
|
||||
|
||||
type CreateSnapshotPayload {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -21,31 +21,31 @@ import (
|
||||
)
|
||||
|
||||
type (
|
||||
ProcessingActivityDPIAOrderBy OrderBy[coredata.ProcessingActivityDPIAOrderField]
|
||||
DataProtectionImpactAssessmentOrderBy OrderBy[coredata.DataProtectionImpactAssessmentOrderField]
|
||||
|
||||
ProcessingActivityDPIAConnection struct {
|
||||
DataProtectionImpactAssessmentConnection struct {
|
||||
TotalCount int
|
||||
Edges []*ProcessingActivityDPIAEdge
|
||||
Edges []*DataProtectionImpactAssessmentEdge
|
||||
PageInfo PageInfo
|
||||
|
||||
Resolver any
|
||||
ParentID gid.GID
|
||||
Filter *coredata.ProcessingActivityDPIAFilter
|
||||
Filter *coredata.DataProtectionImpactAssessmentFilter
|
||||
}
|
||||
)
|
||||
|
||||
func NewProcessingActivityDPIAConnection(
|
||||
p *page.Page[*coredata.ProcessingActivityDPIA, coredata.ProcessingActivityDPIAOrderField],
|
||||
func NewDataProtectionImpactAssessmentConnection(
|
||||
p *page.Page[*coredata.DataProtectionImpactAssessment, coredata.DataProtectionImpactAssessmentOrderField],
|
||||
parentType any,
|
||||
parentID gid.GID,
|
||||
filter *coredata.ProcessingActivityDPIAFilter,
|
||||
) *ProcessingActivityDPIAConnection {
|
||||
edges := make([]*ProcessingActivityDPIAEdge, len(p.Data))
|
||||
filter *coredata.DataProtectionImpactAssessmentFilter,
|
||||
) *DataProtectionImpactAssessmentConnection {
|
||||
edges := make([]*DataProtectionImpactAssessmentEdge, len(p.Data))
|
||||
for i, dpia := range p.Data {
|
||||
edges[i] = NewProcessingActivityDPIAEdge(dpia, p.Cursor.OrderBy.Field)
|
||||
edges[i] = NewDataProtectionImpactAssessmentEdge(dpia, p.Cursor.OrderBy.Field)
|
||||
}
|
||||
|
||||
return &ProcessingActivityDPIAConnection{
|
||||
return &DataProtectionImpactAssessmentConnection{
|
||||
Edges: edges,
|
||||
PageInfo: *NewPageInfo(p),
|
||||
|
||||
@@ -55,15 +55,15 @@ func NewProcessingActivityDPIAConnection(
|
||||
}
|
||||
}
|
||||
|
||||
func NewProcessingActivityDPIAEdge(dpia *coredata.ProcessingActivityDPIA, orderField coredata.ProcessingActivityDPIAOrderField) *ProcessingActivityDPIAEdge {
|
||||
return &ProcessingActivityDPIAEdge{
|
||||
Node: NewProcessingActivityDpia(dpia),
|
||||
func NewDataProtectionImpactAssessmentEdge(dpia *coredata.DataProtectionImpactAssessment, orderField coredata.DataProtectionImpactAssessmentOrderField) *DataProtectionImpactAssessmentEdge {
|
||||
return &DataProtectionImpactAssessmentEdge{
|
||||
Node: NewDataProtectionImpactAssessment(dpia),
|
||||
Cursor: dpia.CursorKey(orderField),
|
||||
}
|
||||
}
|
||||
|
||||
func NewProcessingActivityDpia(dpia *coredata.ProcessingActivityDPIA) *ProcessingActivityDpia {
|
||||
return &ProcessingActivityDpia{
|
||||
func NewDataProtectionImpactAssessment(dpia *coredata.DataProtectionImpactAssessment) *DataProtectionImpactAssessment {
|
||||
return &DataProtectionImpactAssessment{
|
||||
ID: dpia.ID,
|
||||
Description: dpia.Description,
|
||||
NecessityAndProportionality: dpia.NecessityAndProportionality,
|
||||
@@ -74,3 +74,4 @@ func NewProcessingActivityDpia(dpia *coredata.ProcessingActivityDPIA) *Processin
|
||||
UpdatedAt: dpia.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,29 +57,29 @@ func NewProcessingActivityConnection(
|
||||
|
||||
func NewProcessingActivity(par *coredata.ProcessingActivity) *ProcessingActivity {
|
||||
return &ProcessingActivity{
|
||||
ID: par.ID,
|
||||
SnapshotID: par.SnapshotID,
|
||||
SourceID: par.SourceID,
|
||||
Name: par.Name,
|
||||
Purpose: par.Purpose,
|
||||
DataSubjectCategory: par.DataSubjectCategory,
|
||||
PersonalDataCategory: par.PersonalDataCategory,
|
||||
SpecialOrCriminalData: par.SpecialOrCriminalData,
|
||||
ConsentEvidenceLink: par.ConsentEvidenceLink,
|
||||
LawfulBasis: par.LawfulBasis,
|
||||
Recipients: par.Recipients,
|
||||
Location: par.Location,
|
||||
InternationalTransfers: par.InternationalTransfers,
|
||||
TransferSafeguards: par.TransferSafeguard,
|
||||
RetentionPeriod: par.RetentionPeriod,
|
||||
SecurityMeasures: par.SecurityMeasures,
|
||||
DataProtectionImpactAssessment: par.DataProtectionImpactAssessment,
|
||||
TransferImpactAssessment: par.TransferImpactAssessment,
|
||||
LastReviewDate: par.LastReviewDate,
|
||||
NextReviewDate: par.NextReviewDate,
|
||||
Role: par.Role,
|
||||
CreatedAt: par.CreatedAt,
|
||||
UpdatedAt: par.UpdatedAt,
|
||||
ID: par.ID,
|
||||
SnapshotID: par.SnapshotID,
|
||||
SourceID: par.SourceID,
|
||||
Name: par.Name,
|
||||
Purpose: par.Purpose,
|
||||
DataSubjectCategory: par.DataSubjectCategory,
|
||||
PersonalDataCategory: par.PersonalDataCategory,
|
||||
SpecialOrCriminalData: par.SpecialOrCriminalData,
|
||||
ConsentEvidenceLink: par.ConsentEvidenceLink,
|
||||
LawfulBasis: par.LawfulBasis,
|
||||
Recipients: par.Recipients,
|
||||
Location: par.Location,
|
||||
InternationalTransfers: par.InternationalTransfers,
|
||||
TransferSafeguards: par.TransferSafeguard,
|
||||
RetentionPeriod: par.RetentionPeriod,
|
||||
SecurityMeasures: par.SecurityMeasures,
|
||||
DataProtectionImpactAssessmentNeeded: par.DataProtectionImpactAssessmentNeeded,
|
||||
TransferImpactAssessmentNeeded: par.TransferImpactAssessmentNeeded,
|
||||
LastReviewDate: par.LastReviewDate,
|
||||
NextReviewDate: par.NextReviewDate,
|
||||
Role: par.Role,
|
||||
CreatedAt: par.CreatedAt,
|
||||
UpdatedAt: par.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,31 +21,31 @@ import (
|
||||
)
|
||||
|
||||
type (
|
||||
ProcessingActivityTIAOrderBy OrderBy[coredata.ProcessingActivityTIAOrderField]
|
||||
TransferImpactAssessmentOrderBy OrderBy[coredata.TransferImpactAssessmentOrderField]
|
||||
|
||||
ProcessingActivityTIAConnection struct {
|
||||
TransferImpactAssessmentConnection struct {
|
||||
TotalCount int
|
||||
Edges []*ProcessingActivityTIAEdge
|
||||
Edges []*TransferImpactAssessmentEdge
|
||||
PageInfo PageInfo
|
||||
|
||||
Resolver any
|
||||
ParentID gid.GID
|
||||
Filter *coredata.ProcessingActivityTIAFilter
|
||||
Filter *coredata.TransferImpactAssessmentFilter
|
||||
}
|
||||
)
|
||||
|
||||
func NewProcessingActivityTIAConnection(
|
||||
p *page.Page[*coredata.ProcessingActivityTIA, coredata.ProcessingActivityTIAOrderField],
|
||||
func NewTransferImpactAssessmentConnection(
|
||||
p *page.Page[*coredata.TransferImpactAssessment, coredata.TransferImpactAssessmentOrderField],
|
||||
parentType any,
|
||||
parentID gid.GID,
|
||||
filter *coredata.ProcessingActivityTIAFilter,
|
||||
) *ProcessingActivityTIAConnection {
|
||||
edges := make([]*ProcessingActivityTIAEdge, len(p.Data))
|
||||
filter *coredata.TransferImpactAssessmentFilter,
|
||||
) *TransferImpactAssessmentConnection {
|
||||
edges := make([]*TransferImpactAssessmentEdge, len(p.Data))
|
||||
for i, tia := range p.Data {
|
||||
edges[i] = NewProcessingActivityTIAEdge(tia, p.Cursor.OrderBy.Field)
|
||||
edges[i] = NewTransferImpactAssessmentEdge(tia, p.Cursor.OrderBy.Field)
|
||||
}
|
||||
|
||||
return &ProcessingActivityTIAConnection{
|
||||
return &TransferImpactAssessmentConnection{
|
||||
Edges: edges,
|
||||
PageInfo: *NewPageInfo(p),
|
||||
|
||||
@@ -55,15 +55,15 @@ func NewProcessingActivityTIAConnection(
|
||||
}
|
||||
}
|
||||
|
||||
func NewProcessingActivityTIAEdge(tia *coredata.ProcessingActivityTIA, orderField coredata.ProcessingActivityTIAOrderField) *ProcessingActivityTIAEdge {
|
||||
return &ProcessingActivityTIAEdge{
|
||||
Node: NewProcessingActivityTia(tia),
|
||||
func NewTransferImpactAssessmentEdge(tia *coredata.TransferImpactAssessment, orderField coredata.TransferImpactAssessmentOrderField) *TransferImpactAssessmentEdge {
|
||||
return &TransferImpactAssessmentEdge{
|
||||
Node: NewTransferImpactAssessment(tia),
|
||||
Cursor: tia.CursorKey(orderField),
|
||||
}
|
||||
}
|
||||
|
||||
func NewProcessingActivityTia(tia *coredata.ProcessingActivityTIA) *ProcessingActivityTia {
|
||||
return &ProcessingActivityTia{
|
||||
func NewTransferImpactAssessment(tia *coredata.TransferImpactAssessment) *TransferImpactAssessment {
|
||||
return &TransferImpactAssessment{
|
||||
ID: tia.ID,
|
||||
DataSubjects: tia.DataSubjects,
|
||||
LegalMechanism: tia.LegalMechanism,
|
||||
@@ -74,3 +74,4 @@ func NewProcessingActivityTia(tia *coredata.ProcessingActivityTIA) *ProcessingAc
|
||||
UpdatedAt: tia.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -293,6 +293,19 @@ type CreateCustomDomainPayload struct {
|
||||
CustomDomain *CustomDomain `json:"customDomain"`
|
||||
}
|
||||
|
||||
type CreateDataProtectionImpactAssessmentInput struct {
|
||||
ProcessingActivityID gid.GID `json:"processingActivityId"`
|
||||
Description *string `json:"description,omitempty"`
|
||||
NecessityAndProportionality *string `json:"necessityAndProportionality,omitempty"`
|
||||
PotentialRisk *string `json:"potentialRisk,omitempty"`
|
||||
Mitigations *string `json:"mitigations,omitempty"`
|
||||
ResidualRisk *coredata.DataProtectionImpactAssessmentResidualRisk `json:"residualRisk,omitempty"`
|
||||
}
|
||||
|
||||
type CreateDataProtectionImpactAssessmentPayload struct {
|
||||
DataProtectionImpactAssessment *DataProtectionImpactAssessment `json:"dataProtectionImpactAssessment"`
|
||||
}
|
||||
|
||||
type CreateDatumInput struct {
|
||||
OrganizationID gid.GID `json:"organizationId"`
|
||||
Name string `json:"name"`
|
||||
@@ -432,60 +445,34 @@ type CreatePeoplePayload struct {
|
||||
PeopleEdge *PeopleEdge `json:"peopleEdge"`
|
||||
}
|
||||
|
||||
type CreateProcessingActivityDPIAInput struct {
|
||||
ProcessingActivityID gid.GID `json:"processingActivityId"`
|
||||
Description *string `json:"description,omitempty"`
|
||||
NecessityAndProportionality *string `json:"necessityAndProportionality,omitempty"`
|
||||
PotentialRisk *string `json:"potentialRisk,omitempty"`
|
||||
Mitigations *string `json:"mitigations,omitempty"`
|
||||
ResidualRisk *coredata.ProcessingActivityDPIAResidualRisk `json:"residualRisk,omitempty"`
|
||||
}
|
||||
|
||||
type CreateProcessingActivityDPIAPayload struct {
|
||||
ProcessingActivityDpia *ProcessingActivityDpia `json:"processingActivityDpia"`
|
||||
}
|
||||
|
||||
type CreateProcessingActivityInput struct {
|
||||
OrganizationID gid.GID `json:"organizationId"`
|
||||
Name string `json:"name"`
|
||||
Purpose *string `json:"purpose,omitempty"`
|
||||
DataSubjectCategory *string `json:"dataSubjectCategory,omitempty"`
|
||||
PersonalDataCategory *string `json:"personalDataCategory,omitempty"`
|
||||
SpecialOrCriminalData coredata.ProcessingActivitySpecialOrCriminalDatum `json:"specialOrCriminalData"`
|
||||
ConsentEvidenceLink *string `json:"consentEvidenceLink,omitempty"`
|
||||
LawfulBasis coredata.ProcessingActivityLawfulBasis `json:"lawfulBasis"`
|
||||
Recipients *string `json:"recipients,omitempty"`
|
||||
Location *string `json:"location,omitempty"`
|
||||
InternationalTransfers bool `json:"internationalTransfers"`
|
||||
TransferSafeguards *coredata.ProcessingActivityTransferSafeguard `json:"transferSafeguards,omitempty"`
|
||||
RetentionPeriod *string `json:"retentionPeriod,omitempty"`
|
||||
SecurityMeasures *string `json:"securityMeasures,omitempty"`
|
||||
DataProtectionImpactAssessment coredata.ProcessingActivityDataProtectionImpactAssessment `json:"dataProtectionImpactAssessment"`
|
||||
TransferImpactAssessment coredata.ProcessingActivityTransferImpactAssessment `json:"transferImpactAssessment"`
|
||||
LastReviewDate *time.Time `json:"lastReviewDate,omitempty"`
|
||||
NextReviewDate *time.Time `json:"nextReviewDate,omitempty"`
|
||||
Role coredata.ProcessingActivityRole `json:"role"`
|
||||
DataProtectionOfficerID *gid.GID `json:"dataProtectionOfficerId,omitempty"`
|
||||
VendorIds []gid.GID `json:"vendorIds,omitempty"`
|
||||
OrganizationID gid.GID `json:"organizationId"`
|
||||
Name string `json:"name"`
|
||||
Purpose *string `json:"purpose,omitempty"`
|
||||
DataSubjectCategory *string `json:"dataSubjectCategory,omitempty"`
|
||||
PersonalDataCategory *string `json:"personalDataCategory,omitempty"`
|
||||
SpecialOrCriminalData coredata.ProcessingActivitySpecialOrCriminalDatum `json:"specialOrCriminalData"`
|
||||
ConsentEvidenceLink *string `json:"consentEvidenceLink,omitempty"`
|
||||
LawfulBasis coredata.ProcessingActivityLawfulBasis `json:"lawfulBasis"`
|
||||
Recipients *string `json:"recipients,omitempty"`
|
||||
Location *string `json:"location,omitempty"`
|
||||
InternationalTransfers bool `json:"internationalTransfers"`
|
||||
TransferSafeguards *coredata.ProcessingActivityTransferSafeguard `json:"transferSafeguards,omitempty"`
|
||||
RetentionPeriod *string `json:"retentionPeriod,omitempty"`
|
||||
SecurityMeasures *string `json:"securityMeasures,omitempty"`
|
||||
DataProtectionImpactAssessmentNeeded coredata.ProcessingActivityDataProtectionImpactAssessment `json:"dataProtectionImpactAssessmentNeeded"`
|
||||
TransferImpactAssessmentNeeded coredata.ProcessingActivityTransferImpactAssessment `json:"transferImpactAssessmentNeeded"`
|
||||
LastReviewDate *time.Time `json:"lastReviewDate,omitempty"`
|
||||
NextReviewDate *time.Time `json:"nextReviewDate,omitempty"`
|
||||
Role coredata.ProcessingActivityRole `json:"role"`
|
||||
DataProtectionOfficerID *gid.GID `json:"dataProtectionOfficerId,omitempty"`
|
||||
VendorIds []gid.GID `json:"vendorIds,omitempty"`
|
||||
}
|
||||
|
||||
type CreateProcessingActivityPayload struct {
|
||||
ProcessingActivityEdge *ProcessingActivityEdge `json:"processingActivityEdge"`
|
||||
}
|
||||
|
||||
type CreateProcessingActivityTIAInput struct {
|
||||
ProcessingActivityID gid.GID `json:"processingActivityId"`
|
||||
DataSubjects *string `json:"dataSubjects,omitempty"`
|
||||
LegalMechanism *string `json:"legalMechanism,omitempty"`
|
||||
Transfer *string `json:"transfer,omitempty"`
|
||||
LocalLawRisk *string `json:"localLawRisk,omitempty"`
|
||||
SupplementaryMeasures *string `json:"supplementaryMeasures,omitempty"`
|
||||
}
|
||||
|
||||
type CreateProcessingActivityTIAPayload struct {
|
||||
ProcessingActivityTia *ProcessingActivityTia `json:"processingActivityTia"`
|
||||
}
|
||||
|
||||
type CreateRiskDocumentMappingInput struct {
|
||||
RiskID gid.GID `json:"riskId"`
|
||||
DocumentID gid.GID `json:"documentId"`
|
||||
@@ -581,6 +568,19 @@ type CreateTaskPayload struct {
|
||||
TaskEdge *TaskEdge `json:"taskEdge"`
|
||||
}
|
||||
|
||||
type CreateTransferImpactAssessmentInput struct {
|
||||
ProcessingActivityID gid.GID `json:"processingActivityId"`
|
||||
DataSubjects *string `json:"dataSubjects,omitempty"`
|
||||
LegalMechanism *string `json:"legalMechanism,omitempty"`
|
||||
Transfer *string `json:"transfer,omitempty"`
|
||||
LocalLawRisk *string `json:"localLawRisk,omitempty"`
|
||||
SupplementaryMeasures *string `json:"supplementaryMeasures,omitempty"`
|
||||
}
|
||||
|
||||
type CreateTransferImpactAssessmentPayload struct {
|
||||
TransferImpactAssessment *TransferImpactAssessment `json:"transferImpactAssessment"`
|
||||
}
|
||||
|
||||
type CreateTrustCenterAccessInput struct {
|
||||
TrustCenterID gid.GID `json:"trustCenterId"`
|
||||
Email mail.Addr `json:"email"`
|
||||
@@ -701,6 +701,31 @@ type DNSRecordInstruction struct {
|
||||
Purpose string `json:"purpose"`
|
||||
}
|
||||
|
||||
type DataProtectionImpactAssessment struct {
|
||||
ID gid.GID `json:"id"`
|
||||
ProcessingActivity *ProcessingActivity `json:"processingActivity"`
|
||||
Organization *Organization `json:"organization"`
|
||||
Description *string `json:"description,omitempty"`
|
||||
NecessityAndProportionality *string `json:"necessityAndProportionality,omitempty"`
|
||||
PotentialRisk *string `json:"potentialRisk,omitempty"`
|
||||
Mitigations *string `json:"mitigations,omitempty"`
|
||||
ResidualRisk *coredata.DataProtectionImpactAssessmentResidualRisk `json:"residualRisk,omitempty"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
func (DataProtectionImpactAssessment) IsNode() {}
|
||||
func (this DataProtectionImpactAssessment) GetID() gid.GID { return this.ID }
|
||||
|
||||
type DataProtectionImpactAssessmentEdge struct {
|
||||
Cursor page.CursorKey `json:"cursor"`
|
||||
Node *DataProtectionImpactAssessment `json:"node"`
|
||||
}
|
||||
|
||||
type DataProtectionImpactAssessmentFilter struct {
|
||||
SnapshotID *gid.GID `json:"snapshotId,omitempty"`
|
||||
}
|
||||
|
||||
type DatumEdge struct {
|
||||
Cursor page.CursorKey `json:"cursor"`
|
||||
Node *Datum `json:"node"`
|
||||
@@ -798,6 +823,14 @@ type DeleteCustomDomainPayload struct {
|
||||
DeletedCustomDomainID gid.GID `json:"deletedCustomDomainId"`
|
||||
}
|
||||
|
||||
type DeleteDataProtectionImpactAssessmentInput struct {
|
||||
DataProtectionImpactAssessmentID gid.GID `json:"dataProtectionImpactAssessmentId"`
|
||||
}
|
||||
|
||||
type DeleteDataProtectionImpactAssessmentPayload struct {
|
||||
DeletedDataProtectionImpactAssessmentID gid.GID `json:"deletedDataProtectionImpactAssessmentId"`
|
||||
}
|
||||
|
||||
type DeleteDatumInput struct {
|
||||
DatumID gid.GID `json:"datumId"`
|
||||
}
|
||||
@@ -902,14 +935,6 @@ type DeletePeoplePayload struct {
|
||||
DeletedPeopleID gid.GID `json:"deletedPeopleId"`
|
||||
}
|
||||
|
||||
type DeleteProcessingActivityDPIAInput struct {
|
||||
ProcessingActivityDpiaID gid.GID `json:"processingActivityDpiaId"`
|
||||
}
|
||||
|
||||
type DeleteProcessingActivityDPIAPayload struct {
|
||||
DeletedProcessingActivityDpiaID gid.GID `json:"deletedProcessingActivityDpiaId"`
|
||||
}
|
||||
|
||||
type DeleteProcessingActivityInput struct {
|
||||
ProcessingActivityID gid.GID `json:"processingActivityId"`
|
||||
}
|
||||
@@ -918,14 +943,6 @@ type DeleteProcessingActivityPayload struct {
|
||||
DeletedProcessingActivityID gid.GID `json:"deletedProcessingActivityId"`
|
||||
}
|
||||
|
||||
type DeleteProcessingActivityTIAInput struct {
|
||||
ProcessingActivityTiaID gid.GID `json:"processingActivityTiaId"`
|
||||
}
|
||||
|
||||
type DeleteProcessingActivityTIAPayload struct {
|
||||
DeletedProcessingActivityTiaID gid.GID `json:"deletedProcessingActivityTiaId"`
|
||||
}
|
||||
|
||||
type DeleteRiskDocumentMappingInput struct {
|
||||
RiskID gid.GID `json:"riskId"`
|
||||
DocumentID gid.GID `json:"documentId"`
|
||||
@@ -988,6 +1005,14 @@ type DeleteTaskPayload struct {
|
||||
DeletedTaskID gid.GID `json:"deletedTaskId"`
|
||||
}
|
||||
|
||||
type DeleteTransferImpactAssessmentInput struct {
|
||||
TransferImpactAssessmentID gid.GID `json:"transferImpactAssessmentId"`
|
||||
}
|
||||
|
||||
type DeleteTransferImpactAssessmentPayload struct {
|
||||
DeletedTransferImpactAssessmentID gid.GID `json:"deletedTransferImpactAssessmentId"`
|
||||
}
|
||||
|
||||
type DeleteTrustCenterAccessInput struct {
|
||||
ID gid.GID `json:"id"`
|
||||
}
|
||||
@@ -1472,43 +1497,43 @@ type ObligationFilter struct {
|
||||
}
|
||||
|
||||
type Organization struct {
|
||||
ID gid.GID `json:"id"`
|
||||
Name string `json:"name"`
|
||||
LogoURL *string `json:"logoUrl,omitempty"`
|
||||
HorizontalLogoURL *string `json:"horizontalLogoUrl,omitempty"`
|
||||
Description *string `json:"description,omitempty"`
|
||||
WebsiteURL *string `json:"websiteUrl,omitempty"`
|
||||
Email *string `json:"email,omitempty"`
|
||||
HeadquarterAddress *string `json:"headquarterAddress,omitempty"`
|
||||
Context *OrganizationContext `json:"context,omitempty"`
|
||||
Memberships *MembershipConnection `json:"memberships"`
|
||||
Invitations *InvitationConnection `json:"invitations"`
|
||||
SlackConnections *SlackConnectionConnection `json:"slackConnections"`
|
||||
Frameworks *FrameworkConnection `json:"frameworks"`
|
||||
Controls *ControlConnection `json:"controls"`
|
||||
Vendors *VendorConnection `json:"vendors"`
|
||||
Peoples *PeopleConnection `json:"peoples"`
|
||||
Documents *DocumentConnection `json:"documents"`
|
||||
Meetings *MeetingConnection `json:"meetings"`
|
||||
Measures *MeasureConnection `json:"measures"`
|
||||
Risks *RiskConnection `json:"risks"`
|
||||
Tasks *TaskConnection `json:"tasks"`
|
||||
Assets *AssetConnection `json:"assets"`
|
||||
Data *DatumConnection `json:"data"`
|
||||
Audits *AuditConnection `json:"audits"`
|
||||
Nonconformities *NonconformityConnection `json:"nonconformities"`
|
||||
Obligations *ObligationConnection `json:"obligations"`
|
||||
ContinualImprovements *ContinualImprovementConnection `json:"continualImprovements"`
|
||||
ProcessingActivities *ProcessingActivityConnection `json:"processingActivities"`
|
||||
DataProtectionImpactAssessments *ProcessingActivityDPIAConnection `json:"dataProtectionImpactAssessments"`
|
||||
TransferImpactAssessments *ProcessingActivityTIAConnection `json:"transferImpactAssessments"`
|
||||
Snapshots *SnapshotConnection `json:"snapshots"`
|
||||
TrustCenterFiles *TrustCenterFileConnection `json:"trustCenterFiles"`
|
||||
TrustCenter *TrustCenter `json:"trustCenter,omitempty"`
|
||||
CustomDomain *CustomDomain `json:"customDomain,omitempty"`
|
||||
SamlConfigurations []*SAMLConfiguration `json:"samlConfigurations"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
ID gid.GID `json:"id"`
|
||||
Name string `json:"name"`
|
||||
LogoURL *string `json:"logoUrl,omitempty"`
|
||||
HorizontalLogoURL *string `json:"horizontalLogoUrl,omitempty"`
|
||||
Description *string `json:"description,omitempty"`
|
||||
WebsiteURL *string `json:"websiteUrl,omitempty"`
|
||||
Email *string `json:"email,omitempty"`
|
||||
HeadquarterAddress *string `json:"headquarterAddress,omitempty"`
|
||||
Context *OrganizationContext `json:"context,omitempty"`
|
||||
Memberships *MembershipConnection `json:"memberships"`
|
||||
Invitations *InvitationConnection `json:"invitations"`
|
||||
SlackConnections *SlackConnectionConnection `json:"slackConnections"`
|
||||
Frameworks *FrameworkConnection `json:"frameworks"`
|
||||
Controls *ControlConnection `json:"controls"`
|
||||
Vendors *VendorConnection `json:"vendors"`
|
||||
Peoples *PeopleConnection `json:"peoples"`
|
||||
Documents *DocumentConnection `json:"documents"`
|
||||
Meetings *MeetingConnection `json:"meetings"`
|
||||
Measures *MeasureConnection `json:"measures"`
|
||||
Risks *RiskConnection `json:"risks"`
|
||||
Tasks *TaskConnection `json:"tasks"`
|
||||
Assets *AssetConnection `json:"assets"`
|
||||
Data *DatumConnection `json:"data"`
|
||||
Audits *AuditConnection `json:"audits"`
|
||||
Nonconformities *NonconformityConnection `json:"nonconformities"`
|
||||
Obligations *ObligationConnection `json:"obligations"`
|
||||
ContinualImprovements *ContinualImprovementConnection `json:"continualImprovements"`
|
||||
ProcessingActivities *ProcessingActivityConnection `json:"processingActivities"`
|
||||
DataProtectionImpactAssessments *DataProtectionImpactAssessmentConnection `json:"dataProtectionImpactAssessments"`
|
||||
TransferImpactAssessments *TransferImpactAssessmentConnection `json:"transferImpactAssessments"`
|
||||
Snapshots *SnapshotConnection `json:"snapshots"`
|
||||
TrustCenterFiles *TrustCenterFileConnection `json:"trustCenterFiles"`
|
||||
TrustCenter *TrustCenter `json:"trustCenter,omitempty"`
|
||||
CustomDomain *CustomDomain `json:"customDomain,omitempty"`
|
||||
SamlConfigurations []*SAMLConfiguration `json:"samlConfigurations"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
func (Organization) IsNode() {}
|
||||
@@ -1567,64 +1592,39 @@ type PeopleFilter struct {
|
||||
}
|
||||
|
||||
type ProcessingActivity struct {
|
||||
ID gid.GID `json:"id"`
|
||||
SnapshotID *gid.GID `json:"snapshotId,omitempty"`
|
||||
SourceID *gid.GID `json:"sourceId,omitempty"`
|
||||
Organization *Organization `json:"organization"`
|
||||
Name string `json:"name"`
|
||||
Purpose *string `json:"purpose,omitempty"`
|
||||
DataSubjectCategory *string `json:"dataSubjectCategory,omitempty"`
|
||||
PersonalDataCategory *string `json:"personalDataCategory,omitempty"`
|
||||
SpecialOrCriminalData coredata.ProcessingActivitySpecialOrCriminalDatum `json:"specialOrCriminalData"`
|
||||
ConsentEvidenceLink *string `json:"consentEvidenceLink,omitempty"`
|
||||
LawfulBasis coredata.ProcessingActivityLawfulBasis `json:"lawfulBasis"`
|
||||
Recipients *string `json:"recipients,omitempty"`
|
||||
Location *string `json:"location,omitempty"`
|
||||
InternationalTransfers bool `json:"internationalTransfers"`
|
||||
TransferSafeguards *coredata.ProcessingActivityTransferSafeguard `json:"transferSafeguards,omitempty"`
|
||||
RetentionPeriod *string `json:"retentionPeriod,omitempty"`
|
||||
SecurityMeasures *string `json:"securityMeasures,omitempty"`
|
||||
DataProtectionImpactAssessment coredata.ProcessingActivityDataProtectionImpactAssessment `json:"dataProtectionImpactAssessment"`
|
||||
TransferImpactAssessment coredata.ProcessingActivityTransferImpactAssessment `json:"transferImpactAssessment"`
|
||||
LastReviewDate *time.Time `json:"lastReviewDate,omitempty"`
|
||||
NextReviewDate *time.Time `json:"nextReviewDate,omitempty"`
|
||||
Role coredata.ProcessingActivityRole `json:"role"`
|
||||
DataProtectionOfficer *People `json:"dataProtectionOfficer,omitempty"`
|
||||
Vendors *VendorConnection `json:"vendors"`
|
||||
Dpia *ProcessingActivityDpia `json:"dpia,omitempty"`
|
||||
Tia *ProcessingActivityTia `json:"tia,omitempty"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
ID gid.GID `json:"id"`
|
||||
SnapshotID *gid.GID `json:"snapshotId,omitempty"`
|
||||
SourceID *gid.GID `json:"sourceId,omitempty"`
|
||||
Organization *Organization `json:"organization"`
|
||||
Name string `json:"name"`
|
||||
Purpose *string `json:"purpose,omitempty"`
|
||||
DataSubjectCategory *string `json:"dataSubjectCategory,omitempty"`
|
||||
PersonalDataCategory *string `json:"personalDataCategory,omitempty"`
|
||||
SpecialOrCriminalData coredata.ProcessingActivitySpecialOrCriminalDatum `json:"specialOrCriminalData"`
|
||||
ConsentEvidenceLink *string `json:"consentEvidenceLink,omitempty"`
|
||||
LawfulBasis coredata.ProcessingActivityLawfulBasis `json:"lawfulBasis"`
|
||||
Recipients *string `json:"recipients,omitempty"`
|
||||
Location *string `json:"location,omitempty"`
|
||||
InternationalTransfers bool `json:"internationalTransfers"`
|
||||
TransferSafeguards *coredata.ProcessingActivityTransferSafeguard `json:"transferSafeguards,omitempty"`
|
||||
RetentionPeriod *string `json:"retentionPeriod,omitempty"`
|
||||
SecurityMeasures *string `json:"securityMeasures,omitempty"`
|
||||
DataProtectionImpactAssessmentNeeded coredata.ProcessingActivityDataProtectionImpactAssessment `json:"dataProtectionImpactAssessmentNeeded"`
|
||||
TransferImpactAssessmentNeeded coredata.ProcessingActivityTransferImpactAssessment `json:"transferImpactAssessmentNeeded"`
|
||||
LastReviewDate *time.Time `json:"lastReviewDate,omitempty"`
|
||||
NextReviewDate *time.Time `json:"nextReviewDate,omitempty"`
|
||||
Role coredata.ProcessingActivityRole `json:"role"`
|
||||
DataProtectionOfficer *People `json:"dataProtectionOfficer,omitempty"`
|
||||
Vendors *VendorConnection `json:"vendors"`
|
||||
DataProtectionImpactAssessment *DataProtectionImpactAssessment `json:"dataProtectionImpactAssessment,omitempty"`
|
||||
TransferImpactAssessment *TransferImpactAssessment `json:"transferImpactAssessment,omitempty"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
func (ProcessingActivity) IsNode() {}
|
||||
func (this ProcessingActivity) GetID() gid.GID { return this.ID }
|
||||
|
||||
type ProcessingActivityDpia struct {
|
||||
ID gid.GID `json:"id"`
|
||||
ProcessingActivity *ProcessingActivity `json:"processingActivity"`
|
||||
Organization *Organization `json:"organization"`
|
||||
Description *string `json:"description,omitempty"`
|
||||
NecessityAndProportionality *string `json:"necessityAndProportionality,omitempty"`
|
||||
PotentialRisk *string `json:"potentialRisk,omitempty"`
|
||||
Mitigations *string `json:"mitigations,omitempty"`
|
||||
ResidualRisk *coredata.ProcessingActivityDPIAResidualRisk `json:"residualRisk,omitempty"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
func (ProcessingActivityDpia) IsNode() {}
|
||||
func (this ProcessingActivityDpia) GetID() gid.GID { return this.ID }
|
||||
|
||||
type ProcessingActivityDPIAEdge struct {
|
||||
Cursor page.CursorKey `json:"cursor"`
|
||||
Node *ProcessingActivityDpia `json:"node"`
|
||||
}
|
||||
|
||||
type ProcessingActivityDPIAFilter struct {
|
||||
SnapshotID *gid.GID `json:"snapshotId,omitempty"`
|
||||
}
|
||||
|
||||
type ProcessingActivityEdge struct {
|
||||
Cursor page.CursorKey `json:"cursor"`
|
||||
Node *ProcessingActivity `json:"node"`
|
||||
@@ -1634,31 +1634,6 @@ type ProcessingActivityFilter struct {
|
||||
SnapshotID *gid.GID `json:"snapshotId,omitempty"`
|
||||
}
|
||||
|
||||
type ProcessingActivityTia struct {
|
||||
ID gid.GID `json:"id"`
|
||||
ProcessingActivity *ProcessingActivity `json:"processingActivity"`
|
||||
Organization *Organization `json:"organization"`
|
||||
DataSubjects *string `json:"dataSubjects,omitempty"`
|
||||
LegalMechanism *string `json:"legalMechanism,omitempty"`
|
||||
Transfer *string `json:"transfer,omitempty"`
|
||||
LocalLawRisk *string `json:"localLawRisk,omitempty"`
|
||||
SupplementaryMeasures *string `json:"supplementaryMeasures,omitempty"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
func (ProcessingActivityTia) IsNode() {}
|
||||
func (this ProcessingActivityTia) GetID() gid.GID { return this.ID }
|
||||
|
||||
type ProcessingActivityTIAEdge struct {
|
||||
Cursor page.CursorKey `json:"cursor"`
|
||||
Node *ProcessingActivityTia `json:"node"`
|
||||
}
|
||||
|
||||
type ProcessingActivityTIAFilter struct {
|
||||
SnapshotID *gid.GID `json:"snapshotId,omitempty"`
|
||||
}
|
||||
|
||||
type PublishDocumentVersionInput struct {
|
||||
DocumentID gid.GID `json:"documentId"`
|
||||
Changelog *string `json:"changelog,omitempty"`
|
||||
@@ -1862,6 +1837,31 @@ type TaskEdge struct {
|
||||
Node *Task `json:"node"`
|
||||
}
|
||||
|
||||
type TransferImpactAssessment struct {
|
||||
ID gid.GID `json:"id"`
|
||||
ProcessingActivity *ProcessingActivity `json:"processingActivity"`
|
||||
Organization *Organization `json:"organization"`
|
||||
DataSubjects *string `json:"dataSubjects,omitempty"`
|
||||
LegalMechanism *string `json:"legalMechanism,omitempty"`
|
||||
Transfer *string `json:"transfer,omitempty"`
|
||||
LocalLawRisk *string `json:"localLawRisk,omitempty"`
|
||||
SupplementaryMeasures *string `json:"supplementaryMeasures,omitempty"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
func (TransferImpactAssessment) IsNode() {}
|
||||
func (this TransferImpactAssessment) GetID() gid.GID { return this.ID }
|
||||
|
||||
type TransferImpactAssessmentEdge struct {
|
||||
Cursor page.CursorKey `json:"cursor"`
|
||||
Node *TransferImpactAssessment `json:"node"`
|
||||
}
|
||||
|
||||
type TransferImpactAssessmentFilter struct {
|
||||
SnapshotID *gid.GID `json:"snapshotId,omitempty"`
|
||||
}
|
||||
|
||||
type TrustCenter struct {
|
||||
ID gid.GID `json:"id"`
|
||||
Active bool `json:"active"`
|
||||
@@ -2022,6 +2022,19 @@ type UpdateControlPayload struct {
|
||||
Control *Control `json:"control"`
|
||||
}
|
||||
|
||||
type UpdateDataProtectionImpactAssessmentInput struct {
|
||||
ID gid.GID `json:"id"`
|
||||
Description graphql.Omittable[*string] `json:"description,omitempty"`
|
||||
NecessityAndProportionality graphql.Omittable[*string] `json:"necessityAndProportionality,omitempty"`
|
||||
PotentialRisk graphql.Omittable[*string] `json:"potentialRisk,omitempty"`
|
||||
Mitigations graphql.Omittable[*string] `json:"mitigations,omitempty"`
|
||||
ResidualRisk *coredata.DataProtectionImpactAssessmentResidualRisk `json:"residualRisk,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateDataProtectionImpactAssessmentPayload struct {
|
||||
DataProtectionImpactAssessment *DataProtectionImpactAssessment `json:"dataProtectionImpactAssessment"`
|
||||
}
|
||||
|
||||
type UpdateDatumInput struct {
|
||||
ID gid.GID `json:"id"`
|
||||
Name *string `json:"name,omitempty"`
|
||||
@@ -2175,60 +2188,34 @@ type UpdatePeoplePayload struct {
|
||||
People *People `json:"people"`
|
||||
}
|
||||
|
||||
type UpdateProcessingActivityDPIAInput struct {
|
||||
ID gid.GID `json:"id"`
|
||||
Description graphql.Omittable[*string] `json:"description,omitempty"`
|
||||
NecessityAndProportionality graphql.Omittable[*string] `json:"necessityAndProportionality,omitempty"`
|
||||
PotentialRisk graphql.Omittable[*string] `json:"potentialRisk,omitempty"`
|
||||
Mitigations graphql.Omittable[*string] `json:"mitigations,omitempty"`
|
||||
ResidualRisk *coredata.ProcessingActivityDPIAResidualRisk `json:"residualRisk,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateProcessingActivityDPIAPayload struct {
|
||||
ProcessingActivityDpia *ProcessingActivityDpia `json:"processingActivityDpia"`
|
||||
}
|
||||
|
||||
type UpdateProcessingActivityInput struct {
|
||||
ID gid.GID `json:"id"`
|
||||
Name *string `json:"name,omitempty"`
|
||||
Purpose graphql.Omittable[*string] `json:"purpose,omitempty"`
|
||||
DataSubjectCategory graphql.Omittable[*string] `json:"dataSubjectCategory,omitempty"`
|
||||
PersonalDataCategory graphql.Omittable[*string] `json:"personalDataCategory,omitempty"`
|
||||
SpecialOrCriminalData *coredata.ProcessingActivitySpecialOrCriminalDatum `json:"specialOrCriminalData,omitempty"`
|
||||
ConsentEvidenceLink *string `json:"consentEvidenceLink,omitempty"`
|
||||
LawfulBasis *coredata.ProcessingActivityLawfulBasis `json:"lawfulBasis,omitempty"`
|
||||
Recipients graphql.Omittable[*string] `json:"recipients,omitempty"`
|
||||
Location graphql.Omittable[*string] `json:"location,omitempty"`
|
||||
InternationalTransfers *bool `json:"internationalTransfers,omitempty"`
|
||||
TransferSafeguards graphql.Omittable[*coredata.ProcessingActivityTransferSafeguard] `json:"transferSafeguards,omitempty"`
|
||||
RetentionPeriod graphql.Omittable[*string] `json:"retentionPeriod,omitempty"`
|
||||
SecurityMeasures graphql.Omittable[*string] `json:"securityMeasures,omitempty"`
|
||||
DataProtectionImpactAssessment *coredata.ProcessingActivityDataProtectionImpactAssessment `json:"dataProtectionImpactAssessment,omitempty"`
|
||||
TransferImpactAssessment *coredata.ProcessingActivityTransferImpactAssessment `json:"transferImpactAssessment,omitempty"`
|
||||
LastReviewDate graphql.Omittable[*time.Time] `json:"lastReviewDate,omitempty"`
|
||||
NextReviewDate graphql.Omittable[*time.Time] `json:"nextReviewDate,omitempty"`
|
||||
Role *coredata.ProcessingActivityRole `json:"role,omitempty"`
|
||||
DataProtectionOfficerID graphql.Omittable[*gid.GID] `json:"dataProtectionOfficerId,omitempty"`
|
||||
VendorIds []gid.GID `json:"vendorIds,omitempty"`
|
||||
ID gid.GID `json:"id"`
|
||||
Name *string `json:"name,omitempty"`
|
||||
Purpose graphql.Omittable[*string] `json:"purpose,omitempty"`
|
||||
DataSubjectCategory graphql.Omittable[*string] `json:"dataSubjectCategory,omitempty"`
|
||||
PersonalDataCategory graphql.Omittable[*string] `json:"personalDataCategory,omitempty"`
|
||||
SpecialOrCriminalData *coredata.ProcessingActivitySpecialOrCriminalDatum `json:"specialOrCriminalData,omitempty"`
|
||||
ConsentEvidenceLink *string `json:"consentEvidenceLink,omitempty"`
|
||||
LawfulBasis *coredata.ProcessingActivityLawfulBasis `json:"lawfulBasis,omitempty"`
|
||||
Recipients graphql.Omittable[*string] `json:"recipients,omitempty"`
|
||||
Location graphql.Omittable[*string] `json:"location,omitempty"`
|
||||
InternationalTransfers *bool `json:"internationalTransfers,omitempty"`
|
||||
TransferSafeguards graphql.Omittable[*coredata.ProcessingActivityTransferSafeguard] `json:"transferSafeguards,omitempty"`
|
||||
RetentionPeriod graphql.Omittable[*string] `json:"retentionPeriod,omitempty"`
|
||||
SecurityMeasures graphql.Omittable[*string] `json:"securityMeasures,omitempty"`
|
||||
DataProtectionImpactAssessmentNeeded *coredata.ProcessingActivityDataProtectionImpactAssessment `json:"dataProtectionImpactAssessmentNeeded,omitempty"`
|
||||
TransferImpactAssessmentNeeded *coredata.ProcessingActivityTransferImpactAssessment `json:"transferImpactAssessmentNeeded,omitempty"`
|
||||
LastReviewDate graphql.Omittable[*time.Time] `json:"lastReviewDate,omitempty"`
|
||||
NextReviewDate graphql.Omittable[*time.Time] `json:"nextReviewDate,omitempty"`
|
||||
Role *coredata.ProcessingActivityRole `json:"role,omitempty"`
|
||||
DataProtectionOfficerID graphql.Omittable[*gid.GID] `json:"dataProtectionOfficerId,omitempty"`
|
||||
VendorIds []gid.GID `json:"vendorIds,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateProcessingActivityPayload struct {
|
||||
ProcessingActivity *ProcessingActivity `json:"processingActivity"`
|
||||
}
|
||||
|
||||
type UpdateProcessingActivityTIAInput struct {
|
||||
ID gid.GID `json:"id"`
|
||||
DataSubjects graphql.Omittable[*string] `json:"dataSubjects,omitempty"`
|
||||
LegalMechanism graphql.Omittable[*string] `json:"legalMechanism,omitempty"`
|
||||
Transfer graphql.Omittable[*string] `json:"transfer,omitempty"`
|
||||
LocalLawRisk graphql.Omittable[*string] `json:"localLawRisk,omitempty"`
|
||||
SupplementaryMeasures graphql.Omittable[*string] `json:"supplementaryMeasures,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateProcessingActivityTIAPayload struct {
|
||||
ProcessingActivityTia *ProcessingActivityTia `json:"processingActivityTia"`
|
||||
}
|
||||
|
||||
type UpdateRiskInput struct {
|
||||
ID gid.GID `json:"id"`
|
||||
Name *string `json:"name,omitempty"`
|
||||
@@ -2281,6 +2268,19 @@ type UpdateTaskPayload struct {
|
||||
Task *Task `json:"task"`
|
||||
}
|
||||
|
||||
type UpdateTransferImpactAssessmentInput struct {
|
||||
ID gid.GID `json:"id"`
|
||||
DataSubjects graphql.Omittable[*string] `json:"dataSubjects,omitempty"`
|
||||
LegalMechanism graphql.Omittable[*string] `json:"legalMechanism,omitempty"`
|
||||
Transfer graphql.Omittable[*string] `json:"transfer,omitempty"`
|
||||
LocalLawRisk graphql.Omittable[*string] `json:"localLawRisk,omitempty"`
|
||||
SupplementaryMeasures graphql.Omittable[*string] `json:"supplementaryMeasures,omitempty"`
|
||||
}
|
||||
|
||||
type UpdateTransferImpactAssessmentPayload struct {
|
||||
TransferImpactAssessment *TransferImpactAssessment `json:"transferImpactAssessment"`
|
||||
}
|
||||
|
||||
type UpdateTrustCenterAccessInput struct {
|
||||
ID gid.GID `json:"id"`
|
||||
Name *string `json:"name,omitempty"`
|
||||
|
||||
@@ -551,6 +551,66 @@ func (r *controlConnectionResolver) TotalCount(ctx context.Context, obj *types.C
|
||||
panic(fmt.Errorf("unsupported resolver: %T", obj.Resolver))
|
||||
}
|
||||
|
||||
// ProcessingActivity is the resolver for the processingActivity field.
|
||||
func (r *dataProtectionImpactAssessmentResolver) ProcessingActivity(ctx context.Context, obj *types.DataProtectionImpactAssessment) (*types.ProcessingActivity, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGet)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||
|
||||
dpia, err := prb.DataProtectionImpactAssessments.Get(ctx, obj.ID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get processing activity dpia: %w", err))
|
||||
}
|
||||
|
||||
processingActivity, err := prb.ProcessingActivities.Get(ctx, dpia.ProcessingActivityID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get processing activity: %w", err))
|
||||
}
|
||||
|
||||
return types.NewProcessingActivity(processingActivity), nil
|
||||
}
|
||||
|
||||
// Organization is the resolver for the organization field.
|
||||
func (r *dataProtectionImpactAssessmentResolver) Organization(ctx context.Context, obj *types.DataProtectionImpactAssessment) (*types.Organization, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGetOrganization)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||
|
||||
dpia, err := prb.DataProtectionImpactAssessments.Get(ctx, obj.ID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get processing activity dpia: %w", err))
|
||||
}
|
||||
|
||||
organization, err := prb.Organizations.Get(ctx, dpia.OrganizationID)
|
||||
if err != nil {
|
||||
var errNotFound *coredata.ErrOrganizationNotFound
|
||||
if errors.As(err, &errNotFound) {
|
||||
return nil, gqlutils.NotFound(errNotFound)
|
||||
}
|
||||
panic(fmt.Errorf("cannot get organization: %w", err))
|
||||
}
|
||||
|
||||
return types.NewOrganization(organization), nil
|
||||
}
|
||||
|
||||
// TotalCount is the resolver for the totalCount field.
|
||||
func (r *dataProtectionImpactAssessmentConnectionResolver) TotalCount(ctx context.Context, obj *types.DataProtectionImpactAssessmentConnection) (int, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ParentID, authz.ActionTotalCount)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ParentID.TenantID())
|
||||
|
||||
switch obj.Resolver.(type) {
|
||||
case *organizationResolver:
|
||||
count, err := prb.DataProtectionImpactAssessments.CountForOrganizationID(ctx, obj.ParentID, obj.Filter)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot count organization data protection impact assessments: %w", err))
|
||||
}
|
||||
return count, nil
|
||||
}
|
||||
|
||||
panic(fmt.Errorf("unsupported resolver: %T", obj.Resolver))
|
||||
}
|
||||
|
||||
// Owner is the resolver for the owner field.
|
||||
func (r *datumResolver) Owner(ctx context.Context, obj *types.Datum) (*types.People, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGetOwner)
|
||||
@@ -4212,26 +4272,26 @@ func (r *mutationResolver) CreateProcessingActivity(ctx context.Context, input t
|
||||
prb := r.ProboService(ctx, input.OrganizationID.TenantID())
|
||||
|
||||
req := probo.CreateProcessingActivityRequest{
|
||||
OrganizationID: input.OrganizationID,
|
||||
Name: input.Name,
|
||||
Purpose: input.Purpose,
|
||||
DataSubjectCategory: input.DataSubjectCategory,
|
||||
PersonalDataCategory: input.PersonalDataCategory,
|
||||
SpecialOrCriminalData: input.SpecialOrCriminalData,
|
||||
LawfulBasis: input.LawfulBasis,
|
||||
Recipients: input.Recipients,
|
||||
Location: input.Location,
|
||||
InternationalTransfers: input.InternationalTransfers,
|
||||
TransferSafeguard: input.TransferSafeguards,
|
||||
RetentionPeriod: input.RetentionPeriod,
|
||||
SecurityMeasures: input.SecurityMeasures,
|
||||
DataProtectionImpactAssessment: input.DataProtectionImpactAssessment,
|
||||
TransferImpactAssessment: input.TransferImpactAssessment,
|
||||
LastReviewDate: input.LastReviewDate,
|
||||
NextReviewDate: input.NextReviewDate,
|
||||
Role: input.Role,
|
||||
DataProtectionOfficerID: input.DataProtectionOfficerID,
|
||||
VendorIDs: input.VendorIds,
|
||||
OrganizationID: input.OrganizationID,
|
||||
Name: input.Name,
|
||||
Purpose: input.Purpose,
|
||||
DataSubjectCategory: input.DataSubjectCategory,
|
||||
PersonalDataCategory: input.PersonalDataCategory,
|
||||
SpecialOrCriminalData: input.SpecialOrCriminalData,
|
||||
LawfulBasis: input.LawfulBasis,
|
||||
Recipients: input.Recipients,
|
||||
Location: input.Location,
|
||||
InternationalTransfers: input.InternationalTransfers,
|
||||
TransferSafeguard: input.TransferSafeguards,
|
||||
RetentionPeriod: input.RetentionPeriod,
|
||||
SecurityMeasures: input.SecurityMeasures,
|
||||
DataProtectionImpactAssessmentNeeded: input.DataProtectionImpactAssessmentNeeded,
|
||||
TransferImpactAssessmentNeeded: input.TransferImpactAssessmentNeeded,
|
||||
LastReviewDate: input.LastReviewDate,
|
||||
NextReviewDate: input.NextReviewDate,
|
||||
Role: input.Role,
|
||||
DataProtectionOfficerID: input.DataProtectionOfficerID,
|
||||
VendorIDs: input.VendorIds,
|
||||
}
|
||||
|
||||
activity, err := prb.ProcessingActivities.Create(ctx, &req)
|
||||
@@ -4251,26 +4311,26 @@ func (r *mutationResolver) UpdateProcessingActivity(ctx context.Context, input t
|
||||
prb := r.ProboService(ctx, input.ID.TenantID())
|
||||
|
||||
req := probo.UpdateProcessingActivityRequest{
|
||||
ID: input.ID,
|
||||
Name: input.Name,
|
||||
Purpose: UnwrapOmittable(input.Purpose),
|
||||
DataSubjectCategory: UnwrapOmittable(input.DataSubjectCategory),
|
||||
PersonalDataCategory: UnwrapOmittable(input.PersonalDataCategory),
|
||||
SpecialOrCriminalData: input.SpecialOrCriminalData,
|
||||
LawfulBasis: input.LawfulBasis,
|
||||
Recipients: UnwrapOmittable(input.Recipients),
|
||||
Location: UnwrapOmittable(input.Location),
|
||||
InternationalTransfers: input.InternationalTransfers,
|
||||
TransferSafeguard: UnwrapOmittable(input.TransferSafeguards),
|
||||
RetentionPeriod: UnwrapOmittable(input.RetentionPeriod),
|
||||
SecurityMeasures: UnwrapOmittable(input.SecurityMeasures),
|
||||
DataProtectionImpactAssessment: input.DataProtectionImpactAssessment,
|
||||
TransferImpactAssessment: input.TransferImpactAssessment,
|
||||
LastReviewDate: UnwrapOmittable(input.LastReviewDate),
|
||||
NextReviewDate: UnwrapOmittable(input.NextReviewDate),
|
||||
Role: input.Role,
|
||||
DataProtectionOfficerID: UnwrapOmittable(input.DataProtectionOfficerID),
|
||||
VendorIDs: &input.VendorIds,
|
||||
ID: input.ID,
|
||||
Name: input.Name,
|
||||
Purpose: UnwrapOmittable(input.Purpose),
|
||||
DataSubjectCategory: UnwrapOmittable(input.DataSubjectCategory),
|
||||
PersonalDataCategory: UnwrapOmittable(input.PersonalDataCategory),
|
||||
SpecialOrCriminalData: input.SpecialOrCriminalData,
|
||||
LawfulBasis: input.LawfulBasis,
|
||||
Recipients: UnwrapOmittable(input.Recipients),
|
||||
Location: UnwrapOmittable(input.Location),
|
||||
InternationalTransfers: input.InternationalTransfers,
|
||||
TransferSafeguard: UnwrapOmittable(input.TransferSafeguards),
|
||||
RetentionPeriod: UnwrapOmittable(input.RetentionPeriod),
|
||||
SecurityMeasures: UnwrapOmittable(input.SecurityMeasures),
|
||||
DataProtectionImpactAssessmentNeeded: input.DataProtectionImpactAssessmentNeeded,
|
||||
TransferImpactAssessmentNeeded: input.TransferImpactAssessmentNeeded,
|
||||
LastReviewDate: UnwrapOmittable(input.LastReviewDate),
|
||||
NextReviewDate: UnwrapOmittable(input.NextReviewDate),
|
||||
Role: input.Role,
|
||||
DataProtectionOfficerID: UnwrapOmittable(input.DataProtectionOfficerID),
|
||||
VendorIDs: &input.VendorIds,
|
||||
}
|
||||
|
||||
activity, err := prb.ProcessingActivities.Update(ctx, &req)
|
||||
@@ -4299,13 +4359,13 @@ func (r *mutationResolver) DeleteProcessingActivity(ctx context.Context, input t
|
||||
}, nil
|
||||
}
|
||||
|
||||
// CreateProcessingActivityDpia is the resolver for the createProcessingActivityDPIA field.
|
||||
func (r *mutationResolver) CreateProcessingActivityDpia(ctx context.Context, input types.CreateProcessingActivityDPIAInput) (*types.CreateProcessingActivityDPIAPayload, error) {
|
||||
r.MustBeAuthorized(ctx, input.ProcessingActivityID, authz.ActionCreateProcessingActivityDPIA)
|
||||
// CreateDataProtectionImpactAssessment is the resolver for the createDataProtectionImpactAssessment field.
|
||||
func (r *mutationResolver) CreateDataProtectionImpactAssessment(ctx context.Context, input types.CreateDataProtectionImpactAssessmentInput) (*types.CreateDataProtectionImpactAssessmentPayload, error) {
|
||||
r.MustBeAuthorized(ctx, input.ProcessingActivityID, authz.ActionCreateDataProtectionImpactAssessment)
|
||||
|
||||
prb := r.ProboService(ctx, input.ProcessingActivityID.TenantID())
|
||||
|
||||
req := probo.CreateProcessingActivityDPIARequest{
|
||||
req := probo.CreateDataProtectionImpactAssessmentRequest{
|
||||
ProcessingActivityID: input.ProcessingActivityID,
|
||||
Description: input.Description,
|
||||
NecessityAndProportionality: input.NecessityAndProportionality,
|
||||
@@ -4314,23 +4374,23 @@ func (r *mutationResolver) CreateProcessingActivityDpia(ctx context.Context, inp
|
||||
ResidualRisk: input.ResidualRisk,
|
||||
}
|
||||
|
||||
dpia, err := prb.ProcessingActivityDPIAs.Create(ctx, &req)
|
||||
dpia, err := prb.DataProtectionImpactAssessments.Create(ctx, &req)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot create processing activity dpia: %w", err))
|
||||
panic(fmt.Errorf("cannot create data protection impact assessment: %w", err))
|
||||
}
|
||||
|
||||
return &types.CreateProcessingActivityDPIAPayload{
|
||||
ProcessingActivityDpia: types.NewProcessingActivityDpia(dpia),
|
||||
return &types.CreateDataProtectionImpactAssessmentPayload{
|
||||
DataProtectionImpactAssessment: types.NewDataProtectionImpactAssessment(dpia),
|
||||
}, nil
|
||||
}
|
||||
|
||||
// UpdateProcessingActivityDpia is the resolver for the updateProcessingActivityDPIA field.
|
||||
func (r *mutationResolver) UpdateProcessingActivityDpia(ctx context.Context, input types.UpdateProcessingActivityDPIAInput) (*types.UpdateProcessingActivityDPIAPayload, error) {
|
||||
r.MustBeAuthorized(ctx, input.ID, authz.ActionUpdateProcessingActivityDPIA)
|
||||
// UpdateDataProtectionImpactAssessment is the resolver for the updateDataProtectionImpactAssessment field.
|
||||
func (r *mutationResolver) UpdateDataProtectionImpactAssessment(ctx context.Context, input types.UpdateDataProtectionImpactAssessmentInput) (*types.UpdateDataProtectionImpactAssessmentPayload, error) {
|
||||
r.MustBeAuthorized(ctx, input.ID, authz.ActionUpdateDataProtectionImpactAssessment)
|
||||
|
||||
prb := r.ProboService(ctx, input.ID.TenantID())
|
||||
|
||||
req := probo.UpdateProcessingActivityDPIARequest{
|
||||
req := probo.UpdateDataProtectionImpactAssessmentRequest{
|
||||
ID: input.ID,
|
||||
Description: UnwrapOmittable(input.Description),
|
||||
NecessityAndProportionality: UnwrapOmittable(input.NecessityAndProportionality),
|
||||
@@ -4339,39 +4399,39 @@ func (r *mutationResolver) UpdateProcessingActivityDpia(ctx context.Context, inp
|
||||
ResidualRisk: input.ResidualRisk,
|
||||
}
|
||||
|
||||
dpia, err := prb.ProcessingActivityDPIAs.Update(ctx, &req)
|
||||
dpia, err := prb.DataProtectionImpactAssessments.Update(ctx, &req)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot update processing activity dpia: %w", err))
|
||||
panic(fmt.Errorf("cannot update data protection impact assessment: %w", err))
|
||||
}
|
||||
|
||||
return &types.UpdateProcessingActivityDPIAPayload{
|
||||
ProcessingActivityDpia: types.NewProcessingActivityDpia(dpia),
|
||||
return &types.UpdateDataProtectionImpactAssessmentPayload{
|
||||
DataProtectionImpactAssessment: types.NewDataProtectionImpactAssessment(dpia),
|
||||
}, nil
|
||||
}
|
||||
|
||||
// DeleteProcessingActivityDpia is the resolver for the deleteProcessingActivityDPIA field.
|
||||
func (r *mutationResolver) DeleteProcessingActivityDpia(ctx context.Context, input types.DeleteProcessingActivityDPIAInput) (*types.DeleteProcessingActivityDPIAPayload, error) {
|
||||
r.MustBeAuthorized(ctx, input.ProcessingActivityDpiaID, authz.ActionDeleteProcessingActivityDPIA)
|
||||
// DeleteDataProtectionImpactAssessment is the resolver for the deleteDataProtectionImpactAssessment field.
|
||||
func (r *mutationResolver) DeleteDataProtectionImpactAssessment(ctx context.Context, input types.DeleteDataProtectionImpactAssessmentInput) (*types.DeleteDataProtectionImpactAssessmentPayload, error) {
|
||||
r.MustBeAuthorized(ctx, input.DataProtectionImpactAssessmentID, authz.ActionDeleteDataProtectionImpactAssessment)
|
||||
|
||||
prb := r.ProboService(ctx, input.ProcessingActivityDpiaID.TenantID())
|
||||
prb := r.ProboService(ctx, input.DataProtectionImpactAssessmentID.TenantID())
|
||||
|
||||
err := prb.ProcessingActivityDPIAs.Delete(ctx, input.ProcessingActivityDpiaID)
|
||||
err := prb.DataProtectionImpactAssessments.Delete(ctx, input.DataProtectionImpactAssessmentID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot delete processing activity dpia: %w", err))
|
||||
panic(fmt.Errorf("cannot delete data protection impact assessment: %w", err))
|
||||
}
|
||||
|
||||
return &types.DeleteProcessingActivityDPIAPayload{
|
||||
DeletedProcessingActivityDpiaID: input.ProcessingActivityDpiaID,
|
||||
return &types.DeleteDataProtectionImpactAssessmentPayload{
|
||||
DeletedDataProtectionImpactAssessmentID: input.DataProtectionImpactAssessmentID,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// CreateProcessingActivityTia is the resolver for the createProcessingActivityTIA field.
|
||||
func (r *mutationResolver) CreateProcessingActivityTia(ctx context.Context, input types.CreateProcessingActivityTIAInput) (*types.CreateProcessingActivityTIAPayload, error) {
|
||||
r.MustBeAuthorized(ctx, input.ProcessingActivityID, authz.ActionCreateProcessingActivityTIA)
|
||||
// CreateTransferImpactAssessment is the resolver for the createTransferImpactAssessment field.
|
||||
func (r *mutationResolver) CreateTransferImpactAssessment(ctx context.Context, input types.CreateTransferImpactAssessmentInput) (*types.CreateTransferImpactAssessmentPayload, error) {
|
||||
r.MustBeAuthorized(ctx, input.ProcessingActivityID, authz.ActionCreateTransferImpactAssessment)
|
||||
|
||||
prb := r.ProboService(ctx, input.ProcessingActivityID.TenantID())
|
||||
|
||||
req := probo.CreateProcessingActivityTIARequest{
|
||||
req := probo.CreateTransferImpactAssessmentRequest{
|
||||
ProcessingActivityID: input.ProcessingActivityID,
|
||||
DataSubjects: input.DataSubjects,
|
||||
LegalMechanism: input.LegalMechanism,
|
||||
@@ -4380,23 +4440,23 @@ func (r *mutationResolver) CreateProcessingActivityTia(ctx context.Context, inpu
|
||||
SupplementaryMeasures: input.SupplementaryMeasures,
|
||||
}
|
||||
|
||||
tia, err := prb.ProcessingActivityTIAs.Create(ctx, &req)
|
||||
tia, err := prb.TransferImpactAssessments.Create(ctx, &req)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot create processing activity tia: %w", err))
|
||||
panic(fmt.Errorf("cannot create transfer impact assessment: %w", err))
|
||||
}
|
||||
|
||||
return &types.CreateProcessingActivityTIAPayload{
|
||||
ProcessingActivityTia: types.NewProcessingActivityTia(tia),
|
||||
return &types.CreateTransferImpactAssessmentPayload{
|
||||
TransferImpactAssessment: types.NewTransferImpactAssessment(tia),
|
||||
}, nil
|
||||
}
|
||||
|
||||
// UpdateProcessingActivityTia is the resolver for the updateProcessingActivityTIA field.
|
||||
func (r *mutationResolver) UpdateProcessingActivityTia(ctx context.Context, input types.UpdateProcessingActivityTIAInput) (*types.UpdateProcessingActivityTIAPayload, error) {
|
||||
r.MustBeAuthorized(ctx, input.ID, authz.ActionUpdateProcessingActivityTIA)
|
||||
// UpdateTransferImpactAssessment is the resolver for the updateTransferImpactAssessment field.
|
||||
func (r *mutationResolver) UpdateTransferImpactAssessment(ctx context.Context, input types.UpdateTransferImpactAssessmentInput) (*types.UpdateTransferImpactAssessmentPayload, error) {
|
||||
r.MustBeAuthorized(ctx, input.ID, authz.ActionUpdateTransferImpactAssessment)
|
||||
|
||||
prb := r.ProboService(ctx, input.ID.TenantID())
|
||||
|
||||
req := probo.UpdateProcessingActivityTIARequest{
|
||||
req := probo.UpdateTransferImpactAssessmentRequest{
|
||||
ID: input.ID,
|
||||
DataSubjects: UnwrapOmittable(input.DataSubjects),
|
||||
LegalMechanism: UnwrapOmittable(input.LegalMechanism),
|
||||
@@ -4405,29 +4465,29 @@ func (r *mutationResolver) UpdateProcessingActivityTia(ctx context.Context, inpu
|
||||
SupplementaryMeasures: UnwrapOmittable(input.SupplementaryMeasures),
|
||||
}
|
||||
|
||||
tia, err := prb.ProcessingActivityTIAs.Update(ctx, &req)
|
||||
tia, err := prb.TransferImpactAssessments.Update(ctx, &req)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot update processing activity tia: %w", err))
|
||||
panic(fmt.Errorf("cannot update transfer impact assessment: %w", err))
|
||||
}
|
||||
|
||||
return &types.UpdateProcessingActivityTIAPayload{
|
||||
ProcessingActivityTia: types.NewProcessingActivityTia(tia),
|
||||
return &types.UpdateTransferImpactAssessmentPayload{
|
||||
TransferImpactAssessment: types.NewTransferImpactAssessment(tia),
|
||||
}, nil
|
||||
}
|
||||
|
||||
// DeleteProcessingActivityTia is the resolver for the deleteProcessingActivityTIA field.
|
||||
func (r *mutationResolver) DeleteProcessingActivityTia(ctx context.Context, input types.DeleteProcessingActivityTIAInput) (*types.DeleteProcessingActivityTIAPayload, error) {
|
||||
r.MustBeAuthorized(ctx, input.ProcessingActivityTiaID, authz.ActionDeleteProcessingActivityTIA)
|
||||
// DeleteTransferImpactAssessment is the resolver for the deleteTransferImpactAssessment field.
|
||||
func (r *mutationResolver) DeleteTransferImpactAssessment(ctx context.Context, input types.DeleteTransferImpactAssessmentInput) (*types.DeleteTransferImpactAssessmentPayload, error) {
|
||||
r.MustBeAuthorized(ctx, input.TransferImpactAssessmentID, authz.ActionDeleteTransferImpactAssessment)
|
||||
|
||||
prb := r.ProboService(ctx, input.ProcessingActivityTiaID.TenantID())
|
||||
prb := r.ProboService(ctx, input.TransferImpactAssessmentID.TenantID())
|
||||
|
||||
err := prb.ProcessingActivityTIAs.Delete(ctx, input.ProcessingActivityTiaID)
|
||||
err := prb.TransferImpactAssessments.Delete(ctx, input.TransferImpactAssessmentID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot delete processing activity tia: %w", err))
|
||||
panic(fmt.Errorf("cannot delete transfer impact assessment: %w", err))
|
||||
}
|
||||
|
||||
return &types.DeleteProcessingActivityTIAPayload{
|
||||
DeletedProcessingActivityTiaID: input.ProcessingActivityTiaID,
|
||||
return &types.DeleteTransferImpactAssessmentPayload{
|
||||
DeletedTransferImpactAssessmentID: input.TransferImpactAssessmentID,
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -5531,18 +5591,18 @@ func (r *organizationResolver) ProcessingActivities(ctx context.Context, obj *ty
|
||||
}
|
||||
|
||||
// DataProtectionImpactAssessments is the resolver for the dataProtectionImpactAssessments field.
|
||||
func (r *organizationResolver) DataProtectionImpactAssessments(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ProcessingActivityDPIAOrderBy, filter *types.ProcessingActivityDPIAFilter) (*types.ProcessingActivityDPIAConnection, error) {
|
||||
func (r *organizationResolver) DataProtectionImpactAssessments(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.DataProtectionImpactAssessmentOrderBy, filter *types.DataProtectionImpactAssessmentFilter) (*types.DataProtectionImpactAssessmentConnection, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionListProcessingActivities)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||
|
||||
pageOrderBy := page.OrderBy[coredata.ProcessingActivityDPIAOrderField]{
|
||||
Field: coredata.ProcessingActivityDPIAOrderFieldCreatedAt,
|
||||
pageOrderBy := page.OrderBy[coredata.DataProtectionImpactAssessmentOrderField]{
|
||||
Field: coredata.DataProtectionImpactAssessmentOrderFieldCreatedAt,
|
||||
Direction: page.OrderDirectionDesc,
|
||||
}
|
||||
|
||||
if orderBy != nil {
|
||||
pageOrderBy = page.OrderBy[coredata.ProcessingActivityDPIAOrderField]{
|
||||
pageOrderBy = page.OrderBy[coredata.DataProtectionImpactAssessmentOrderField]{
|
||||
Field: orderBy.Field,
|
||||
Direction: orderBy.Direction,
|
||||
}
|
||||
@@ -5550,32 +5610,32 @@ func (r *organizationResolver) DataProtectionImpactAssessments(ctx context.Conte
|
||||
|
||||
cursor := types.NewCursor(first, after, last, before, pageOrderBy)
|
||||
|
||||
dpiaFilter := coredata.NewProcessingActivityDPIAFilter(nil)
|
||||
dpiaFilter := coredata.NewDataProtectionImpactAssessmentFilter(nil)
|
||||
if filter != nil {
|
||||
dpiaFilter = coredata.NewProcessingActivityDPIAFilter(&filter.SnapshotID)
|
||||
dpiaFilter = coredata.NewDataProtectionImpactAssessmentFilter(&filter.SnapshotID)
|
||||
}
|
||||
|
||||
page, err := prb.ProcessingActivityDPIAs.ListForOrganizationID(ctx, obj.ID, cursor, dpiaFilter)
|
||||
page, err := prb.DataProtectionImpactAssessments.ListForOrganizationID(ctx, obj.ID, cursor, dpiaFilter)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot list organization data protection impact assessments: %w", err))
|
||||
}
|
||||
|
||||
return types.NewProcessingActivityDPIAConnection(page, r, obj.ID, dpiaFilter), nil
|
||||
return types.NewDataProtectionImpactAssessmentConnection(page, r, obj.ID, dpiaFilter), nil
|
||||
}
|
||||
|
||||
// TransferImpactAssessments is the resolver for the transferImpactAssessments field.
|
||||
func (r *organizationResolver) TransferImpactAssessments(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ProcessingActivityTIAOrderBy, filter *types.ProcessingActivityTIAFilter) (*types.ProcessingActivityTIAConnection, error) {
|
||||
func (r *organizationResolver) TransferImpactAssessments(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.TransferImpactAssessmentOrderBy, filter *types.TransferImpactAssessmentFilter) (*types.TransferImpactAssessmentConnection, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionListProcessingActivities)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||
|
||||
pageOrderBy := page.OrderBy[coredata.ProcessingActivityTIAOrderField]{
|
||||
Field: coredata.ProcessingActivityTIAOrderFieldCreatedAt,
|
||||
pageOrderBy := page.OrderBy[coredata.TransferImpactAssessmentOrderField]{
|
||||
Field: coredata.TransferImpactAssessmentOrderFieldCreatedAt,
|
||||
Direction: page.OrderDirectionDesc,
|
||||
}
|
||||
|
||||
if orderBy != nil {
|
||||
pageOrderBy = page.OrderBy[coredata.ProcessingActivityTIAOrderField]{
|
||||
pageOrderBy = page.OrderBy[coredata.TransferImpactAssessmentOrderField]{
|
||||
Field: orderBy.Field,
|
||||
Direction: orderBy.Direction,
|
||||
}
|
||||
@@ -5583,17 +5643,17 @@ func (r *organizationResolver) TransferImpactAssessments(ctx context.Context, ob
|
||||
|
||||
cursor := types.NewCursor(first, after, last, before, pageOrderBy)
|
||||
|
||||
tiaFilter := coredata.NewProcessingActivityTIAFilter(nil)
|
||||
tiaFilter := coredata.NewTransferImpactAssessmentFilter(nil)
|
||||
if filter != nil {
|
||||
tiaFilter = coredata.NewProcessingActivityTIAFilter(&filter.SnapshotID)
|
||||
tiaFilter = coredata.NewTransferImpactAssessmentFilter(&filter.SnapshotID)
|
||||
}
|
||||
|
||||
page, err := prb.ProcessingActivityTIAs.ListForOrganizationID(ctx, obj.ID, cursor, tiaFilter)
|
||||
page, err := prb.TransferImpactAssessments.ListForOrganizationID(ctx, obj.ID, cursor, tiaFilter)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot list organization transfer impact assessments: %w", err))
|
||||
}
|
||||
|
||||
return types.NewProcessingActivityTIAConnection(page, r, obj.ID, tiaFilter), nil
|
||||
return types.NewTransferImpactAssessmentConnection(page, r, obj.ID, tiaFilter), nil
|
||||
}
|
||||
|
||||
// Snapshots is the resolver for the snapshots field.
|
||||
@@ -5797,40 +5857,40 @@ func (r *processingActivityResolver) Vendors(ctx context.Context, obj *types.Pro
|
||||
return types.NewVendorConnection(page, r, obj.ID), nil
|
||||
}
|
||||
|
||||
// Dpia is the resolver for the dpia field.
|
||||
func (r *processingActivityResolver) Dpia(ctx context.Context, obj *types.ProcessingActivity) (*types.ProcessingActivityDpia, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGetDPIA)
|
||||
// DataProtectionImpactAssessment is the resolver for the dataProtectionImpactAssessment field.
|
||||
func (r *processingActivityResolver) DataProtectionImpactAssessment(ctx context.Context, obj *types.ProcessingActivity) (*types.DataProtectionImpactAssessment, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGetDataProtectionImpactAssessment)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||
|
||||
dpia, err := prb.ProcessingActivityDPIAs.GetByProcessingActivityID(ctx, obj.ID)
|
||||
dpia, err := prb.DataProtectionImpactAssessments.GetByProcessingActivityID(ctx, obj.ID)
|
||||
if err != nil {
|
||||
var errNotFound *coredata.ErrProcessingActivityDPIANotFound
|
||||
var errNotFound *coredata.ErrDataProtectionImpactAssessmentNotFound
|
||||
if errors.As(err, &errNotFound) {
|
||||
return nil, nil
|
||||
}
|
||||
panic(fmt.Errorf("cannot get processing activity dpia: %w", err))
|
||||
}
|
||||
|
||||
return types.NewProcessingActivityDpia(dpia), nil
|
||||
return types.NewDataProtectionImpactAssessment(dpia), nil
|
||||
}
|
||||
|
||||
// Tia is the resolver for the tia field.
|
||||
func (r *processingActivityResolver) Tia(ctx context.Context, obj *types.ProcessingActivity) (*types.ProcessingActivityTia, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGetTIA)
|
||||
// TransferImpactAssessment is the resolver for the transferImpactAssessment field.
|
||||
func (r *processingActivityResolver) TransferImpactAssessment(ctx context.Context, obj *types.ProcessingActivity) (*types.TransferImpactAssessment, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGetTransferImpactAssessment)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||
|
||||
tia, err := prb.ProcessingActivityTIAs.GetByProcessingActivityID(ctx, obj.ID)
|
||||
tia, err := prb.TransferImpactAssessments.GetByProcessingActivityID(ctx, obj.ID)
|
||||
if err != nil {
|
||||
var errNotFound *coredata.ErrProcessingActivityTIANotFound
|
||||
var errNotFound *coredata.ErrTransferImpactAssessmentNotFound
|
||||
if errors.As(err, &errNotFound) {
|
||||
return nil, nil
|
||||
}
|
||||
panic(fmt.Errorf("cannot get processing activity tia: %w", err))
|
||||
}
|
||||
|
||||
return types.NewProcessingActivityTia(tia), nil
|
||||
return types.NewTransferImpactAssessment(tia), nil
|
||||
}
|
||||
|
||||
// TotalCount is the resolver for the totalCount field.
|
||||
@@ -5856,126 +5916,6 @@ func (r *processingActivityConnectionResolver) TotalCount(ctx context.Context, o
|
||||
panic(fmt.Errorf("unsupported resolver: %T", obj.Resolver))
|
||||
}
|
||||
|
||||
// ProcessingActivity is the resolver for the processingActivity field.
|
||||
func (r *processingActivityDPIAResolver) ProcessingActivity(ctx context.Context, obj *types.ProcessingActivityDpia) (*types.ProcessingActivity, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGet)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||
|
||||
dpia, err := prb.ProcessingActivityDPIAs.Get(ctx, obj.ID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get processing activity dpia: %w", err))
|
||||
}
|
||||
|
||||
processingActivity, err := prb.ProcessingActivities.Get(ctx, dpia.ProcessingActivityID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get processing activity: %w", err))
|
||||
}
|
||||
|
||||
return types.NewProcessingActivity(processingActivity), nil
|
||||
}
|
||||
|
||||
// Organization is the resolver for the organization field.
|
||||
func (r *processingActivityDPIAResolver) Organization(ctx context.Context, obj *types.ProcessingActivityDpia) (*types.Organization, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGetOrganization)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||
|
||||
dpia, err := prb.ProcessingActivityDPIAs.Get(ctx, obj.ID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get processing activity dpia: %w", err))
|
||||
}
|
||||
|
||||
organization, err := prb.Organizations.Get(ctx, dpia.OrganizationID)
|
||||
if err != nil {
|
||||
var errNotFound *coredata.ErrOrganizationNotFound
|
||||
if errors.As(err, &errNotFound) {
|
||||
return nil, gqlutils.NotFound(errNotFound)
|
||||
}
|
||||
panic(fmt.Errorf("cannot get organization: %w", err))
|
||||
}
|
||||
|
||||
return types.NewOrganization(organization), nil
|
||||
}
|
||||
|
||||
// TotalCount is the resolver for the totalCount field.
|
||||
func (r *processingActivityDPIAConnectionResolver) TotalCount(ctx context.Context, obj *types.ProcessingActivityDPIAConnection) (int, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ParentID, authz.ActionTotalCount)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ParentID.TenantID())
|
||||
|
||||
switch obj.Resolver.(type) {
|
||||
case *organizationResolver:
|
||||
count, err := prb.ProcessingActivityDPIAs.CountForOrganizationID(ctx, obj.ParentID, obj.Filter)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot count organization data protection impact assessments: %w", err))
|
||||
}
|
||||
return count, nil
|
||||
}
|
||||
|
||||
panic(fmt.Errorf("unsupported resolver: %T", obj.Resolver))
|
||||
}
|
||||
|
||||
// ProcessingActivity is the resolver for the processingActivity field.
|
||||
func (r *processingActivityTIAResolver) ProcessingActivity(ctx context.Context, obj *types.ProcessingActivityTia) (*types.ProcessingActivity, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGet)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||
|
||||
tia, err := prb.ProcessingActivityTIAs.Get(ctx, obj.ID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get processing activity tia: %w", err))
|
||||
}
|
||||
|
||||
processingActivity, err := prb.ProcessingActivities.Get(ctx, tia.ProcessingActivityID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get processing activity: %w", err))
|
||||
}
|
||||
|
||||
return types.NewProcessingActivity(processingActivity), nil
|
||||
}
|
||||
|
||||
// Organization is the resolver for the organization field.
|
||||
func (r *processingActivityTIAResolver) Organization(ctx context.Context, obj *types.ProcessingActivityTia) (*types.Organization, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGetOrganization)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||
|
||||
tia, err := prb.ProcessingActivityTIAs.Get(ctx, obj.ID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get processing activity tia: %w", err))
|
||||
}
|
||||
|
||||
organization, err := prb.Organizations.Get(ctx, tia.OrganizationID)
|
||||
if err != nil {
|
||||
var errNotFound *coredata.ErrOrganizationNotFound
|
||||
if errors.As(err, &errNotFound) {
|
||||
return nil, gqlutils.NotFound(errNotFound)
|
||||
}
|
||||
panic(fmt.Errorf("cannot get organization: %w", err))
|
||||
}
|
||||
|
||||
return types.NewOrganization(organization), nil
|
||||
}
|
||||
|
||||
// TotalCount is the resolver for the totalCount field.
|
||||
func (r *processingActivityTIAConnectionResolver) TotalCount(ctx context.Context, obj *types.ProcessingActivityTIAConnection) (int, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ParentID, authz.ActionTotalCount)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ParentID.TenantID())
|
||||
|
||||
switch obj.Resolver.(type) {
|
||||
case *organizationResolver:
|
||||
count, err := prb.ProcessingActivityTIAs.CountForOrganizationID(ctx, obj.ParentID, obj.Filter)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot count organization transfer impact assessments: %w", err))
|
||||
}
|
||||
return count, nil
|
||||
}
|
||||
|
||||
panic(fmt.Errorf("unsupported resolver: %T", obj.Resolver))
|
||||
}
|
||||
|
||||
// Node is the resolver for the node field.
|
||||
func (r *queryResolver) Node(ctx context.Context, id gid.GID) (types.Node, error) {
|
||||
r.MustBeAuthorized(ctx, id, authz.ActionGet)
|
||||
@@ -6182,20 +6122,20 @@ func (r *queryResolver) Node(ctx context.Context, id gid.GID) (types.Node, error
|
||||
}
|
||||
|
||||
return types.NewProcessingActivity(processingActivity), nil
|
||||
case coredata.ProcessingActivityDPIAEntityType:
|
||||
dpia, err := prb.ProcessingActivityDPIAs.Get(ctx, id)
|
||||
case coredata.DataProtectionImpactAssessmentEntityType:
|
||||
dpia, err := prb.DataProtectionImpactAssessments.Get(ctx, id)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get processing activity dpia: %w", err))
|
||||
}
|
||||
|
||||
return types.NewProcessingActivityDpia(dpia), nil
|
||||
case coredata.ProcessingActivityTIAEntityType:
|
||||
tia, err := prb.ProcessingActivityTIAs.Get(ctx, id)
|
||||
return types.NewDataProtectionImpactAssessment(dpia), nil
|
||||
case coredata.TransferImpactAssessmentEntityType:
|
||||
tia, err := prb.TransferImpactAssessments.Get(ctx, id)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get processing activity tia: %w", err))
|
||||
}
|
||||
|
||||
return types.NewProcessingActivityTia(tia), nil
|
||||
return types.NewTransferImpactAssessment(tia), nil
|
||||
case coredata.SnapshotEntityType:
|
||||
snapshot, err := prb.Snapshots.Get(ctx, id)
|
||||
if err != nil {
|
||||
@@ -6791,6 +6731,66 @@ func (r *taskConnectionResolver) TotalCount(ctx context.Context, obj *types.Task
|
||||
panic(fmt.Errorf("unsupported resolver: %T", obj.Resolver))
|
||||
}
|
||||
|
||||
// ProcessingActivity is the resolver for the processingActivity field.
|
||||
func (r *transferImpactAssessmentResolver) ProcessingActivity(ctx context.Context, obj *types.TransferImpactAssessment) (*types.ProcessingActivity, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGet)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||
|
||||
tia, err := prb.TransferImpactAssessments.Get(ctx, obj.ID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get transfer impact assessment: %w", err))
|
||||
}
|
||||
|
||||
processingActivity, err := prb.ProcessingActivities.Get(ctx, tia.ProcessingActivityID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get processing activity: %w", err))
|
||||
}
|
||||
|
||||
return types.NewProcessingActivity(processingActivity), nil
|
||||
}
|
||||
|
||||
// Organization is the resolver for the organization field.
|
||||
func (r *transferImpactAssessmentResolver) Organization(ctx context.Context, obj *types.TransferImpactAssessment) (*types.Organization, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGetOrganization)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||
|
||||
tia, err := prb.TransferImpactAssessments.Get(ctx, obj.ID)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot get transfer impact assessment: %w", err))
|
||||
}
|
||||
|
||||
organization, err := prb.Organizations.Get(ctx, tia.OrganizationID)
|
||||
if err != nil {
|
||||
var errNotFound *coredata.ErrOrganizationNotFound
|
||||
if errors.As(err, &errNotFound) {
|
||||
return nil, gqlutils.NotFound(errNotFound)
|
||||
}
|
||||
panic(fmt.Errorf("cannot get organization: %w", err))
|
||||
}
|
||||
|
||||
return types.NewOrganization(organization), nil
|
||||
}
|
||||
|
||||
// TotalCount is the resolver for the totalCount field.
|
||||
func (r *transferImpactAssessmentConnectionResolver) TotalCount(ctx context.Context, obj *types.TransferImpactAssessmentConnection) (int, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ParentID, authz.ActionTotalCount)
|
||||
|
||||
prb := r.ProboService(ctx, obj.ParentID.TenantID())
|
||||
|
||||
switch obj.Resolver.(type) {
|
||||
case *organizationResolver:
|
||||
count, err := prb.TransferImpactAssessments.CountForOrganizationID(ctx, obj.ParentID, obj.Filter)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("cannot count organization transfer impact assessments: %w", err))
|
||||
}
|
||||
return count, nil
|
||||
}
|
||||
|
||||
panic(fmt.Errorf("unsupported resolver: %T", obj.Resolver))
|
||||
}
|
||||
|
||||
// NdaFileURL is the resolver for the ndaFileUrl field.
|
||||
func (r *trustCenterResolver) NdaFileURL(ctx context.Context, obj *types.TrustCenter) (*string, error) {
|
||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionGetNdaFileUrl)
|
||||
@@ -7681,6 +7681,16 @@ func (r *Resolver) ControlConnection() schema.ControlConnectionResolver {
|
||||
return &controlConnectionResolver{r}
|
||||
}
|
||||
|
||||
// DataProtectionImpactAssessment returns schema.DataProtectionImpactAssessmentResolver implementation.
|
||||
func (r *Resolver) DataProtectionImpactAssessment() schema.DataProtectionImpactAssessmentResolver {
|
||||
return &dataProtectionImpactAssessmentResolver{r}
|
||||
}
|
||||
|
||||
// DataProtectionImpactAssessmentConnection returns schema.DataProtectionImpactAssessmentConnectionResolver implementation.
|
||||
func (r *Resolver) DataProtectionImpactAssessmentConnection() schema.DataProtectionImpactAssessmentConnectionResolver {
|
||||
return &dataProtectionImpactAssessmentConnectionResolver{r}
|
||||
}
|
||||
|
||||
// Datum returns schema.DatumResolver implementation.
|
||||
func (r *Resolver) Datum() schema.DatumResolver { return &datumResolver{r} }
|
||||
|
||||
@@ -7795,26 +7805,6 @@ func (r *Resolver) ProcessingActivityConnection() schema.ProcessingActivityConne
|
||||
return &processingActivityConnectionResolver{r}
|
||||
}
|
||||
|
||||
// ProcessingActivityDPIA returns schema.ProcessingActivityDPIAResolver implementation.
|
||||
func (r *Resolver) ProcessingActivityDPIA() schema.ProcessingActivityDPIAResolver {
|
||||
return &processingActivityDPIAResolver{r}
|
||||
}
|
||||
|
||||
// ProcessingActivityDPIAConnection returns schema.ProcessingActivityDPIAConnectionResolver implementation.
|
||||
func (r *Resolver) ProcessingActivityDPIAConnection() schema.ProcessingActivityDPIAConnectionResolver {
|
||||
return &processingActivityDPIAConnectionResolver{r}
|
||||
}
|
||||
|
||||
// ProcessingActivityTIA returns schema.ProcessingActivityTIAResolver implementation.
|
||||
func (r *Resolver) ProcessingActivityTIA() schema.ProcessingActivityTIAResolver {
|
||||
return &processingActivityTIAResolver{r}
|
||||
}
|
||||
|
||||
// ProcessingActivityTIAConnection returns schema.ProcessingActivityTIAConnectionResolver implementation.
|
||||
func (r *Resolver) ProcessingActivityTIAConnection() schema.ProcessingActivityTIAConnectionResolver {
|
||||
return &processingActivityTIAConnectionResolver{r}
|
||||
}
|
||||
|
||||
// Query returns schema.QueryResolver implementation.
|
||||
func (r *Resolver) Query() schema.QueryResolver { return &queryResolver{r} }
|
||||
|
||||
@@ -7851,6 +7841,16 @@ func (r *Resolver) Task() schema.TaskResolver { return &taskResolver{r} }
|
||||
// TaskConnection returns schema.TaskConnectionResolver implementation.
|
||||
func (r *Resolver) TaskConnection() schema.TaskConnectionResolver { return &taskConnectionResolver{r} }
|
||||
|
||||
// TransferImpactAssessment returns schema.TransferImpactAssessmentResolver implementation.
|
||||
func (r *Resolver) TransferImpactAssessment() schema.TransferImpactAssessmentResolver {
|
||||
return &transferImpactAssessmentResolver{r}
|
||||
}
|
||||
|
||||
// TransferImpactAssessmentConnection returns schema.TransferImpactAssessmentConnectionResolver implementation.
|
||||
func (r *Resolver) TransferImpactAssessmentConnection() schema.TransferImpactAssessmentConnectionResolver {
|
||||
return &transferImpactAssessmentConnectionResolver{r}
|
||||
}
|
||||
|
||||
// TrustCenter returns schema.TrustCenterResolver implementation.
|
||||
func (r *Resolver) TrustCenter() schema.TrustCenterResolver { return &trustCenterResolver{r} }
|
||||
|
||||
@@ -7937,6 +7937,8 @@ type continualImprovementResolver struct{ *Resolver }
|
||||
type continualImprovementConnectionResolver struct{ *Resolver }
|
||||
type controlResolver struct{ *Resolver }
|
||||
type controlConnectionResolver struct{ *Resolver }
|
||||
type dataProtectionImpactAssessmentResolver struct{ *Resolver }
|
||||
type dataProtectionImpactAssessmentConnectionResolver struct{ *Resolver }
|
||||
type datumResolver struct{ *Resolver }
|
||||
type datumConnectionResolver struct{ *Resolver }
|
||||
type documentResolver struct{ *Resolver }
|
||||
@@ -7965,10 +7967,6 @@ type organizationResolver struct{ *Resolver }
|
||||
type peopleConnectionResolver struct{ *Resolver }
|
||||
type processingActivityResolver struct{ *Resolver }
|
||||
type processingActivityConnectionResolver struct{ *Resolver }
|
||||
type processingActivityDPIAResolver struct{ *Resolver }
|
||||
type processingActivityDPIAConnectionResolver struct{ *Resolver }
|
||||
type processingActivityTIAResolver struct{ *Resolver }
|
||||
type processingActivityTIAConnectionResolver struct{ *Resolver }
|
||||
type queryResolver struct{ *Resolver }
|
||||
type reportResolver struct{ *Resolver }
|
||||
type riskResolver struct{ *Resolver }
|
||||
@@ -7979,6 +7977,8 @@ type snapshotResolver struct{ *Resolver }
|
||||
type snapshotConnectionResolver struct{ *Resolver }
|
||||
type taskResolver struct{ *Resolver }
|
||||
type taskConnectionResolver struct{ *Resolver }
|
||||
type transferImpactAssessmentResolver struct{ *Resolver }
|
||||
type transferImpactAssessmentConnectionResolver struct{ *Resolver }
|
||||
type trustCenterResolver struct{ *Resolver }
|
||||
type trustCenterAccessResolver struct{ *Resolver }
|
||||
type trustCenterDocumentAccessResolver struct{ *Resolver }
|
||||
|
||||
Reference in New Issue
Block a user