Make gdpr assessment snapshottable
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
@@ -13,8 +13,8 @@ export const processingActivitiesQuery = graphql`
|
|||||||
node(id: $organizationId) {
|
node(id: $organizationId) {
|
||||||
... on Organization {
|
... on Organization {
|
||||||
...ProcessingActivitiesPageFragment @arguments(snapshotId: $snapshotId)
|
...ProcessingActivitiesPageFragment @arguments(snapshotId: $snapshotId)
|
||||||
...ProcessingActivitiesPageDPIAFragment
|
...ProcessingActivitiesPageDPIAFragment @arguments(snapshotId: $snapshotId)
|
||||||
...ProcessingActivitiesPageTIAFragment
|
...ProcessingActivitiesPageTIAFragment @arguments(snapshotId: $snapshotId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* @generated SignedSource<<e0b1ec4a6faf9e19b0d001a9ef481ac7>>
|
* @generated SignedSource<<7fccb352f5aa5b305542aad0fd9fe406>>
|
||||||
* @lightSyntaxTransform
|
* @lightSyntaxTransform
|
||||||
* @nogrep
|
* @nogrep
|
||||||
*/
|
*/
|
||||||
@@ -65,55 +65,54 @@ v4 = {
|
|||||||
"name": "id",
|
"name": "id",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v5 = {
|
v5 = [
|
||||||
"kind": "Literal",
|
|
||||||
"name": "first",
|
|
||||||
"value": 10
|
|
||||||
},
|
|
||||||
v6 = [
|
|
||||||
{
|
{
|
||||||
"fields": (v2/*: any*/),
|
"fields": (v2/*: any*/),
|
||||||
"kind": "ObjectValue",
|
"kind": "ObjectValue",
|
||||||
"name": "filter"
|
"name": "filter"
|
||||||
},
|
},
|
||||||
(v5/*: any*/)
|
{
|
||||||
|
"kind": "Literal",
|
||||||
|
"name": "first",
|
||||||
|
"value": 10
|
||||||
|
}
|
||||||
],
|
],
|
||||||
v7 = {
|
v6 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "ScalarField",
|
"kind": "ScalarField",
|
||||||
"name": "totalCount",
|
"name": "totalCount",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v8 = {
|
v7 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "ScalarField",
|
"kind": "ScalarField",
|
||||||
"name": "name",
|
"name": "name",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v9 = {
|
v8 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "ScalarField",
|
"kind": "ScalarField",
|
||||||
"name": "createdAt",
|
"name": "createdAt",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v10 = {
|
v9 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "ScalarField",
|
"kind": "ScalarField",
|
||||||
"name": "updatedAt",
|
"name": "updatedAt",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v11 = {
|
v10 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "ScalarField",
|
"kind": "ScalarField",
|
||||||
"name": "cursor",
|
"name": "cursor",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v12 = {
|
v11 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"concreteType": "PageInfo",
|
"concreteType": "PageInfo",
|
||||||
@@ -138,7 +137,7 @@ v12 = {
|
|||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v13 = {
|
v12 = {
|
||||||
"kind": "ClientExtension",
|
"kind": "ClientExtension",
|
||||||
"selections": [
|
"selections": [
|
||||||
{
|
{
|
||||||
@@ -150,10 +149,10 @@ v13 = {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
v14 = [
|
v13 = [
|
||||||
(v5/*: any*/)
|
"filter"
|
||||||
],
|
],
|
||||||
v15 = {
|
v14 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"concreteType": "ProcessingActivity",
|
"concreteType": "ProcessingActivity",
|
||||||
@@ -162,7 +161,7 @@ v15 = {
|
|||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v4/*: any*/),
|
(v4/*: any*/),
|
||||||
(v8/*: any*/)
|
(v7/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
};
|
};
|
||||||
@@ -190,12 +189,12 @@ return {
|
|||||||
"name": "ProcessingActivitiesPageFragment"
|
"name": "ProcessingActivitiesPageFragment"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"args": null,
|
"args": (v2/*: any*/),
|
||||||
"kind": "FragmentSpread",
|
"kind": "FragmentSpread",
|
||||||
"name": "ProcessingActivitiesPageDPIAFragment"
|
"name": "ProcessingActivitiesPageDPIAFragment"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"args": null,
|
"args": (v2/*: any*/),
|
||||||
"kind": "FragmentSpread",
|
"kind": "FragmentSpread",
|
||||||
"name": "ProcessingActivitiesPageTIAFragment"
|
"name": "ProcessingActivitiesPageTIAFragment"
|
||||||
}
|
}
|
||||||
@@ -231,13 +230,13 @@ return {
|
|||||||
"selections": [
|
"selections": [
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v6/*: any*/),
|
"args": (v5/*: any*/),
|
||||||
"concreteType": "ProcessingActivityConnection",
|
"concreteType": "ProcessingActivityConnection",
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "processingActivities",
|
"name": "processingActivities",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v7/*: any*/),
|
(v6/*: any*/),
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
@@ -269,7 +268,7 @@ return {
|
|||||||
"name": "sourceId",
|
"name": "sourceId",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v8/*: any*/),
|
(v7/*: any*/),
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
@@ -312,27 +311,25 @@ return {
|
|||||||
"name": "internationalTransfers",
|
"name": "internationalTransfers",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
|
(v8/*: any*/),
|
||||||
(v9/*: any*/),
|
(v9/*: any*/),
|
||||||
(v10/*: any*/),
|
|
||||||
(v3/*: any*/)
|
(v3/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v11/*: any*/)
|
(v10/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v12/*: any*/),
|
(v11/*: any*/),
|
||||||
(v13/*: any*/)
|
(v12/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v6/*: any*/),
|
"args": (v5/*: any*/),
|
||||||
"filters": [
|
"filters": (v13/*: any*/),
|
||||||
"filter"
|
|
||||||
],
|
|
||||||
"handle": "connection",
|
"handle": "connection",
|
||||||
"key": "ProcessingActivitiesPage_processingActivities",
|
"key": "ProcessingActivitiesPage_processingActivities",
|
||||||
"kind": "LinkedHandle",
|
"kind": "LinkedHandle",
|
||||||
@@ -340,13 +337,13 @@ return {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v14/*: any*/),
|
"args": (v5/*: any*/),
|
||||||
"concreteType": "ProcessingActivityDPIAConnection",
|
"concreteType": "ProcessingActivityDPIAConnection",
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "dataProtectionImpactAssessments",
|
"name": "dataProtectionImpactAssessments",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v7/*: any*/),
|
(v6/*: any*/),
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
@@ -385,26 +382,26 @@ return {
|
|||||||
"name": "residualRisk",
|
"name": "residualRisk",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v15/*: any*/),
|
(v14/*: any*/),
|
||||||
|
(v8/*: any*/),
|
||||||
(v9/*: any*/),
|
(v9/*: any*/),
|
||||||
(v10/*: any*/),
|
|
||||||
(v3/*: any*/)
|
(v3/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v11/*: any*/)
|
(v10/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v12/*: any*/),
|
(v11/*: any*/),
|
||||||
(v13/*: any*/)
|
(v12/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": "dataProtectionImpactAssessments(first:10)"
|
"storageKey": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v14/*: any*/),
|
"args": (v5/*: any*/),
|
||||||
"filters": null,
|
"filters": (v13/*: any*/),
|
||||||
"handle": "connection",
|
"handle": "connection",
|
||||||
"key": "ProcessingActivitiesPage_dataProtectionImpactAssessments",
|
"key": "ProcessingActivitiesPage_dataProtectionImpactAssessments",
|
||||||
"kind": "LinkedHandle",
|
"kind": "LinkedHandle",
|
||||||
@@ -412,13 +409,13 @@ return {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v14/*: any*/),
|
"args": (v5/*: any*/),
|
||||||
"concreteType": "ProcessingActivityTIAConnection",
|
"concreteType": "ProcessingActivityTIAConnection",
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "transferImpactAssessments",
|
"name": "transferImpactAssessments",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v7/*: any*/),
|
(v6/*: any*/),
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
@@ -457,26 +454,26 @@ return {
|
|||||||
"name": "localLawRisk",
|
"name": "localLawRisk",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v15/*: any*/),
|
(v14/*: any*/),
|
||||||
|
(v8/*: any*/),
|
||||||
(v9/*: any*/),
|
(v9/*: any*/),
|
||||||
(v10/*: any*/),
|
|
||||||
(v3/*: any*/)
|
(v3/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v11/*: any*/)
|
(v10/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v12/*: any*/),
|
(v11/*: any*/),
|
||||||
(v13/*: any*/)
|
(v12/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": "transferImpactAssessments(first:10)"
|
"storageKey": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v14/*: any*/),
|
"args": (v5/*: any*/),
|
||||||
"filters": null,
|
"filters": (v13/*: any*/),
|
||||||
"handle": "connection",
|
"handle": "connection",
|
||||||
"key": "ProcessingActivitiesPage_transferImpactAssessments",
|
"key": "ProcessingActivitiesPage_transferImpactAssessments",
|
||||||
"kind": "LinkedHandle",
|
"kind": "LinkedHandle",
|
||||||
@@ -492,16 +489,16 @@ return {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"params": {
|
"params": {
|
||||||
"cacheID": "e518b4737308d2e7528a2f68e26d0e32",
|
"cacheID": "5901fa4af27b039bd50a1c97cdcb54d4",
|
||||||
"id": null,
|
"id": null,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"name": "ProcessingActivityGraphListQuery",
|
"name": "ProcessingActivityGraphListQuery",
|
||||||
"operationKind": "query",
|
"operationKind": "query",
|
||||||
"text": "query ProcessingActivityGraphListQuery(\n $organizationId: ID!\n $snapshotId: ID\n) {\n node(id: $organizationId) {\n __typename\n ... on Organization {\n ...ProcessingActivitiesPageFragment_3iomuz\n ...ProcessingActivitiesPageDPIAFragment\n ...ProcessingActivitiesPageTIAFragment\n }\n id\n }\n}\n\nfragment ProcessingActivitiesPageDPIAFragment on Organization {\n id\n dataProtectionImpactAssessments(first: 10) {\n totalCount\n edges {\n node {\n id\n description\n potentialRisk\n residualRisk\n processingActivity {\n id\n name\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n\nfragment ProcessingActivitiesPageFragment_3iomuz on Organization {\n id\n processingActivities(first: 10, filter: {snapshotId: $snapshotId}) {\n totalCount\n edges {\n node {\n id\n snapshotId\n sourceId\n name\n purpose\n dataSubjectCategory\n personalDataCategory\n lawfulBasis\n location\n internationalTransfers\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n\nfragment ProcessingActivitiesPageTIAFragment on Organization {\n id\n transferImpactAssessments(first: 10) {\n totalCount\n edges {\n node {\n id\n dataSubjects\n transfer\n localLawRisk\n processingActivity {\n id\n name\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
|
"text": "query ProcessingActivityGraphListQuery(\n $organizationId: ID!\n $snapshotId: ID\n) {\n node(id: $organizationId) {\n __typename\n ... on Organization {\n ...ProcessingActivitiesPageFragment_3iomuz\n ...ProcessingActivitiesPageDPIAFragment_3iomuz\n ...ProcessingActivitiesPageTIAFragment_3iomuz\n }\n id\n }\n}\n\nfragment ProcessingActivitiesPageDPIAFragment_3iomuz on Organization {\n id\n dataProtectionImpactAssessments(first: 10, filter: {snapshotId: $snapshotId}) {\n totalCount\n edges {\n node {\n id\n description\n potentialRisk\n residualRisk\n processingActivity {\n id\n name\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n\nfragment ProcessingActivitiesPageFragment_3iomuz on Organization {\n id\n processingActivities(first: 10, filter: {snapshotId: $snapshotId}) {\n totalCount\n edges {\n node {\n id\n snapshotId\n sourceId\n name\n purpose\n dataSubjectCategory\n personalDataCategory\n lawfulBasis\n location\n internationalTransfers\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n\nfragment ProcessingActivitiesPageTIAFragment_3iomuz on Organization {\n id\n transferImpactAssessments(first: 10, filter: {snapshotId: $snapshotId}) {\n totalCount\n edges {\n node {\n id\n dataSubjects\n transfer\n localLawRisk\n processingActivity {\n id\n name\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
(node as any).hash = "bbd2c1907bd9e4607a0beb1bb12d0f11";
|
(node as any).hash = "b92a7dc2b38a5ae25c9a47a975fb718b";
|
||||||
|
|
||||||
export default node;
|
export default node;
|
||||||
|
|||||||
@@ -102,13 +102,15 @@ const dpiaListPageFragment = graphql`
|
|||||||
@argumentDefinitions(
|
@argumentDefinitions(
|
||||||
first: { type: "Int", defaultValue: 10 }
|
first: { type: "Int", defaultValue: 10 }
|
||||||
after: { type: "CursorKey" }
|
after: { type: "CursorKey" }
|
||||||
|
snapshotId: { type: "ID", defaultValue: null }
|
||||||
) {
|
) {
|
||||||
id
|
id
|
||||||
dataProtectionImpactAssessments(
|
dataProtectionImpactAssessments(
|
||||||
first: $first
|
first: $first
|
||||||
after: $after
|
after: $after
|
||||||
|
filter: { snapshotId: $snapshotId }
|
||||||
)
|
)
|
||||||
@connection(key: "ProcessingActivitiesPage_dataProtectionImpactAssessments") {
|
@connection(key: "ProcessingActivitiesPage_dataProtectionImpactAssessments", filters: ["filter"]) {
|
||||||
__id
|
__id
|
||||||
totalCount
|
totalCount
|
||||||
edges {
|
edges {
|
||||||
@@ -139,13 +141,15 @@ const tiaListPageFragment = graphql`
|
|||||||
@argumentDefinitions(
|
@argumentDefinitions(
|
||||||
first: { type: "Int", defaultValue: 10 }
|
first: { type: "Int", defaultValue: 10 }
|
||||||
after: { type: "CursorKey" }
|
after: { type: "CursorKey" }
|
||||||
|
snapshotId: { type: "ID", defaultValue: null }
|
||||||
) {
|
) {
|
||||||
id
|
id
|
||||||
transferImpactAssessments(
|
transferImpactAssessments(
|
||||||
first: $first
|
first: $first
|
||||||
after: $after
|
after: $after
|
||||||
|
filter: { snapshotId: $snapshotId }
|
||||||
)
|
)
|
||||||
@connection(key: "ProcessingActivitiesPage_transferImpactAssessments") {
|
@connection(key: "ProcessingActivitiesPage_transferImpactAssessments", filters: ["filter"]) {
|
||||||
__id
|
__id
|
||||||
totalCount
|
totalCount
|
||||||
edges {
|
edges {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* @generated SignedSource<<eaa19415d42ca227134bd17febaa0a89>>
|
* @generated SignedSource<<50ed487333de3127b16c6bd5f1c051b1>>
|
||||||
* @lightSyntaxTransform
|
* @lightSyntaxTransform
|
||||||
* @nogrep
|
* @nogrep
|
||||||
*/
|
*/
|
||||||
@@ -66,6 +66,11 @@ return {
|
|||||||
"defaultValue": 10,
|
"defaultValue": 10,
|
||||||
"kind": "LocalArgument",
|
"kind": "LocalArgument",
|
||||||
"name": "first"
|
"name": "first"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultValue": null,
|
||||||
|
"kind": "LocalArgument",
|
||||||
|
"name": "snapshotId"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"kind": "Fragment",
|
"kind": "Fragment",
|
||||||
@@ -102,7 +107,19 @@ return {
|
|||||||
(v1/*: any*/),
|
(v1/*: any*/),
|
||||||
{
|
{
|
||||||
"alias": "dataProtectionImpactAssessments",
|
"alias": "dataProtectionImpactAssessments",
|
||||||
"args": null,
|
"args": [
|
||||||
|
{
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"kind": "Variable",
|
||||||
|
"name": "snapshotId",
|
||||||
|
"variableName": "snapshotId"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"kind": "ObjectValue",
|
||||||
|
"name": "filter"
|
||||||
|
}
|
||||||
|
],
|
||||||
"concreteType": "ProcessingActivityDPIAConnection",
|
"concreteType": "ProcessingActivityDPIAConnection",
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "__ProcessingActivitiesPage_dataProtectionImpactAssessments_connection",
|
"name": "__ProcessingActivitiesPage_dataProtectionImpactAssessments_connection",
|
||||||
@@ -252,6 +269,6 @@ return {
|
|||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
(node as any).hash = "e49266b9c7b8a8b00dc43813ce499f67";
|
(node as any).hash = "67339e0fd7610409cba00791361c51a2";
|
||||||
|
|
||||||
export default node;
|
export default node;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* @generated SignedSource<<026a23e95a9115022526fa5d6f0cb999>>
|
* @generated SignedSource<<0ecca0ba0b410bf09fe2b0c62d003d0c>>
|
||||||
* @lightSyntaxTransform
|
* @lightSyntaxTransform
|
||||||
* @nogrep
|
* @nogrep
|
||||||
*/
|
*/
|
||||||
@@ -14,6 +14,7 @@ export type ProcessingActivitiesPageDPIARefetchQuery$variables = {
|
|||||||
after?: any | null | undefined;
|
after?: any | null | undefined;
|
||||||
first?: number | null | undefined;
|
first?: number | null | undefined;
|
||||||
id: string;
|
id: string;
|
||||||
|
snapshotId?: string | null | undefined;
|
||||||
};
|
};
|
||||||
export type ProcessingActivitiesPageDPIARefetchQuery$data = {
|
export type ProcessingActivitiesPageDPIARefetchQuery$data = {
|
||||||
readonly node: {
|
readonly node: {
|
||||||
@@ -26,73 +27,99 @@ export type ProcessingActivitiesPageDPIARefetchQuery = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const node: ConcreteRequest = (function(){
|
const node: ConcreteRequest = (function(){
|
||||||
var v0 = [
|
var v0 = {
|
||||||
{
|
|
||||||
"defaultValue": null,
|
"defaultValue": null,
|
||||||
"kind": "LocalArgument",
|
"kind": "LocalArgument",
|
||||||
"name": "after"
|
"name": "after"
|
||||||
},
|
},
|
||||||
{
|
v1 = {
|
||||||
"defaultValue": 10,
|
"defaultValue": 10,
|
||||||
"kind": "LocalArgument",
|
"kind": "LocalArgument",
|
||||||
"name": "first"
|
"name": "first"
|
||||||
},
|
},
|
||||||
{
|
v2 = {
|
||||||
"defaultValue": null,
|
"defaultValue": null,
|
||||||
"kind": "LocalArgument",
|
"kind": "LocalArgument",
|
||||||
"name": "id"
|
"name": "id"
|
||||||
}
|
},
|
||||||
],
|
v3 = {
|
||||||
v1 = [
|
"defaultValue": null,
|
||||||
|
"kind": "LocalArgument",
|
||||||
|
"name": "snapshotId"
|
||||||
|
},
|
||||||
|
v4 = [
|
||||||
{
|
{
|
||||||
"kind": "Variable",
|
"kind": "Variable",
|
||||||
"name": "id",
|
"name": "id",
|
||||||
"variableName": "id"
|
"variableName": "id"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
v2 = [
|
v5 = {
|
||||||
{
|
|
||||||
"kind": "Variable",
|
"kind": "Variable",
|
||||||
"name": "after",
|
"name": "after",
|
||||||
"variableName": "after"
|
"variableName": "after"
|
||||||
},
|
},
|
||||||
{
|
v6 = {
|
||||||
"kind": "Variable",
|
"kind": "Variable",
|
||||||
"name": "first",
|
"name": "first",
|
||||||
"variableName": "first"
|
"variableName": "first"
|
||||||
}
|
},
|
||||||
],
|
v7 = {
|
||||||
v3 = {
|
"kind": "Variable",
|
||||||
|
"name": "snapshotId",
|
||||||
|
"variableName": "snapshotId"
|
||||||
|
},
|
||||||
|
v8 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "ScalarField",
|
"kind": "ScalarField",
|
||||||
"name": "__typename",
|
"name": "__typename",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v4 = {
|
v9 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "ScalarField",
|
"kind": "ScalarField",
|
||||||
"name": "id",
|
"name": "id",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
};
|
},
|
||||||
|
v10 = [
|
||||||
|
(v5/*: any*/),
|
||||||
|
{
|
||||||
|
"fields": [
|
||||||
|
(v7/*: any*/)
|
||||||
|
],
|
||||||
|
"kind": "ObjectValue",
|
||||||
|
"name": "filter"
|
||||||
|
},
|
||||||
|
(v6/*: any*/)
|
||||||
|
];
|
||||||
return {
|
return {
|
||||||
"fragment": {
|
"fragment": {
|
||||||
"argumentDefinitions": (v0/*: any*/),
|
"argumentDefinitions": [
|
||||||
|
(v0/*: any*/),
|
||||||
|
(v1/*: any*/),
|
||||||
|
(v2/*: any*/),
|
||||||
|
(v3/*: any*/)
|
||||||
|
],
|
||||||
"kind": "Fragment",
|
"kind": "Fragment",
|
||||||
"metadata": null,
|
"metadata": null,
|
||||||
"name": "ProcessingActivitiesPageDPIARefetchQuery",
|
"name": "ProcessingActivitiesPageDPIARefetchQuery",
|
||||||
"selections": [
|
"selections": [
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v1/*: any*/),
|
"args": (v4/*: any*/),
|
||||||
"concreteType": null,
|
"concreteType": null,
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "node",
|
"name": "node",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
{
|
{
|
||||||
"args": (v2/*: any*/),
|
"args": [
|
||||||
|
(v5/*: any*/),
|
||||||
|
(v6/*: any*/),
|
||||||
|
(v7/*: any*/)
|
||||||
|
],
|
||||||
"kind": "FragmentSpread",
|
"kind": "FragmentSpread",
|
||||||
"name": "ProcessingActivitiesPageDPIAFragment"
|
"name": "ProcessingActivitiesPageDPIAFragment"
|
||||||
}
|
}
|
||||||
@@ -105,26 +132,31 @@ return {
|
|||||||
},
|
},
|
||||||
"kind": "Request",
|
"kind": "Request",
|
||||||
"operation": {
|
"operation": {
|
||||||
"argumentDefinitions": (v0/*: any*/),
|
"argumentDefinitions": [
|
||||||
|
(v0/*: any*/),
|
||||||
|
(v1/*: any*/),
|
||||||
|
(v3/*: any*/),
|
||||||
|
(v2/*: any*/)
|
||||||
|
],
|
||||||
"kind": "Operation",
|
"kind": "Operation",
|
||||||
"name": "ProcessingActivitiesPageDPIARefetchQuery",
|
"name": "ProcessingActivitiesPageDPIARefetchQuery",
|
||||||
"selections": [
|
"selections": [
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v1/*: any*/),
|
"args": (v4/*: any*/),
|
||||||
"concreteType": null,
|
"concreteType": null,
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "node",
|
"name": "node",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v3/*: any*/),
|
(v8/*: any*/),
|
||||||
(v4/*: any*/),
|
(v9/*: any*/),
|
||||||
{
|
{
|
||||||
"kind": "InlineFragment",
|
"kind": "InlineFragment",
|
||||||
"selections": [
|
"selections": [
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v2/*: any*/),
|
"args": (v10/*: any*/),
|
||||||
"concreteType": "ProcessingActivityDPIAConnection",
|
"concreteType": "ProcessingActivityDPIAConnection",
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "dataProtectionImpactAssessments",
|
"name": "dataProtectionImpactAssessments",
|
||||||
@@ -153,7 +185,7 @@ return {
|
|||||||
"name": "node",
|
"name": "node",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v4/*: any*/),
|
(v9/*: any*/),
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
@@ -183,7 +215,7 @@ return {
|
|||||||
"name": "processingActivity",
|
"name": "processingActivity",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v4/*: any*/),
|
(v9/*: any*/),
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
@@ -208,7 +240,7 @@ return {
|
|||||||
"name": "updatedAt",
|
"name": "updatedAt",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v3/*: any*/)
|
(v8/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
@@ -264,8 +296,10 @@ return {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v2/*: any*/),
|
"args": (v10/*: any*/),
|
||||||
"filters": null,
|
"filters": [
|
||||||
|
"filter"
|
||||||
|
],
|
||||||
"handle": "connection",
|
"handle": "connection",
|
||||||
"key": "ProcessingActivitiesPage_dataProtectionImpactAssessments",
|
"key": "ProcessingActivitiesPage_dataProtectionImpactAssessments",
|
||||||
"kind": "LinkedHandle",
|
"kind": "LinkedHandle",
|
||||||
@@ -281,16 +315,16 @@ return {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"params": {
|
"params": {
|
||||||
"cacheID": "8e3896e68907df53052a3418bf646240",
|
"cacheID": "c1f38ecede914f3c444f313e593baac9",
|
||||||
"id": null,
|
"id": null,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"name": "ProcessingActivitiesPageDPIARefetchQuery",
|
"name": "ProcessingActivitiesPageDPIARefetchQuery",
|
||||||
"operationKind": "query",
|
"operationKind": "query",
|
||||||
"text": "query ProcessingActivitiesPageDPIARefetchQuery(\n $after: CursorKey\n $first: Int = 10\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...ProcessingActivitiesPageDPIAFragment_2HEEH6\n id\n }\n}\n\nfragment ProcessingActivitiesPageDPIAFragment_2HEEH6 on Organization {\n id\n dataProtectionImpactAssessments(first: $first, after: $after) {\n totalCount\n edges {\n node {\n id\n description\n potentialRisk\n residualRisk\n processingActivity {\n id\n name\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
|
"text": "query ProcessingActivitiesPageDPIARefetchQuery(\n $after: CursorKey\n $first: Int = 10\n $snapshotId: ID = null\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...ProcessingActivitiesPageDPIAFragment_35e0S5\n id\n }\n}\n\nfragment ProcessingActivitiesPageDPIAFragment_35e0S5 on Organization {\n id\n dataProtectionImpactAssessments(first: $first, after: $after, filter: {snapshotId: $snapshotId}) {\n totalCount\n edges {\n node {\n id\n description\n potentialRisk\n residualRisk\n processingActivity {\n id\n name\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
(node as any).hash = "e49266b9c7b8a8b00dc43813ce499f67";
|
(node as any).hash = "67339e0fd7610409cba00791361c51a2";
|
||||||
|
|
||||||
export default node;
|
export default node;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* @generated SignedSource<<7f0d0a852bdb0ca1fdd8a49252654563>>
|
* @generated SignedSource<<4674be4782e5b88c71dab59ab04105df>>
|
||||||
* @lightSyntaxTransform
|
* @lightSyntaxTransform
|
||||||
* @nogrep
|
* @nogrep
|
||||||
*/
|
*/
|
||||||
@@ -65,6 +65,11 @@ return {
|
|||||||
"defaultValue": 10,
|
"defaultValue": 10,
|
||||||
"kind": "LocalArgument",
|
"kind": "LocalArgument",
|
||||||
"name": "first"
|
"name": "first"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultValue": null,
|
||||||
|
"kind": "LocalArgument",
|
||||||
|
"name": "snapshotId"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"kind": "Fragment",
|
"kind": "Fragment",
|
||||||
@@ -101,7 +106,19 @@ return {
|
|||||||
(v1/*: any*/),
|
(v1/*: any*/),
|
||||||
{
|
{
|
||||||
"alias": "transferImpactAssessments",
|
"alias": "transferImpactAssessments",
|
||||||
"args": null,
|
"args": [
|
||||||
|
{
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"kind": "Variable",
|
||||||
|
"name": "snapshotId",
|
||||||
|
"variableName": "snapshotId"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"kind": "ObjectValue",
|
||||||
|
"name": "filter"
|
||||||
|
}
|
||||||
|
],
|
||||||
"concreteType": "ProcessingActivityTIAConnection",
|
"concreteType": "ProcessingActivityTIAConnection",
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "__ProcessingActivitiesPage_transferImpactAssessments_connection",
|
"name": "__ProcessingActivitiesPage_transferImpactAssessments_connection",
|
||||||
@@ -251,6 +268,6 @@ return {
|
|||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
(node as any).hash = "0262ad5df883e750870f63e6d18d2c93";
|
(node as any).hash = "2c6575fe24698cc6b14d9d7a88cf434b";
|
||||||
|
|
||||||
export default node;
|
export default node;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* @generated SignedSource<<fa37df5257783c56111f7d5a8838b759>>
|
* @generated SignedSource<<a36911a4454bc04e61b98657012277ca>>
|
||||||
* @lightSyntaxTransform
|
* @lightSyntaxTransform
|
||||||
* @nogrep
|
* @nogrep
|
||||||
*/
|
*/
|
||||||
@@ -14,6 +14,7 @@ export type ProcessingActivitiesPageTIARefetchQuery$variables = {
|
|||||||
after?: any | null | undefined;
|
after?: any | null | undefined;
|
||||||
first?: number | null | undefined;
|
first?: number | null | undefined;
|
||||||
id: string;
|
id: string;
|
||||||
|
snapshotId?: string | null | undefined;
|
||||||
};
|
};
|
||||||
export type ProcessingActivitiesPageTIARefetchQuery$data = {
|
export type ProcessingActivitiesPageTIARefetchQuery$data = {
|
||||||
readonly node: {
|
readonly node: {
|
||||||
@@ -26,73 +27,99 @@ export type ProcessingActivitiesPageTIARefetchQuery = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const node: ConcreteRequest = (function(){
|
const node: ConcreteRequest = (function(){
|
||||||
var v0 = [
|
var v0 = {
|
||||||
{
|
|
||||||
"defaultValue": null,
|
"defaultValue": null,
|
||||||
"kind": "LocalArgument",
|
"kind": "LocalArgument",
|
||||||
"name": "after"
|
"name": "after"
|
||||||
},
|
},
|
||||||
{
|
v1 = {
|
||||||
"defaultValue": 10,
|
"defaultValue": 10,
|
||||||
"kind": "LocalArgument",
|
"kind": "LocalArgument",
|
||||||
"name": "first"
|
"name": "first"
|
||||||
},
|
},
|
||||||
{
|
v2 = {
|
||||||
"defaultValue": null,
|
"defaultValue": null,
|
||||||
"kind": "LocalArgument",
|
"kind": "LocalArgument",
|
||||||
"name": "id"
|
"name": "id"
|
||||||
}
|
},
|
||||||
],
|
v3 = {
|
||||||
v1 = [
|
"defaultValue": null,
|
||||||
|
"kind": "LocalArgument",
|
||||||
|
"name": "snapshotId"
|
||||||
|
},
|
||||||
|
v4 = [
|
||||||
{
|
{
|
||||||
"kind": "Variable",
|
"kind": "Variable",
|
||||||
"name": "id",
|
"name": "id",
|
||||||
"variableName": "id"
|
"variableName": "id"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
v2 = [
|
v5 = {
|
||||||
{
|
|
||||||
"kind": "Variable",
|
"kind": "Variable",
|
||||||
"name": "after",
|
"name": "after",
|
||||||
"variableName": "after"
|
"variableName": "after"
|
||||||
},
|
},
|
||||||
{
|
v6 = {
|
||||||
"kind": "Variable",
|
"kind": "Variable",
|
||||||
"name": "first",
|
"name": "first",
|
||||||
"variableName": "first"
|
"variableName": "first"
|
||||||
}
|
},
|
||||||
],
|
v7 = {
|
||||||
v3 = {
|
"kind": "Variable",
|
||||||
|
"name": "snapshotId",
|
||||||
|
"variableName": "snapshotId"
|
||||||
|
},
|
||||||
|
v8 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "ScalarField",
|
"kind": "ScalarField",
|
||||||
"name": "__typename",
|
"name": "__typename",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v4 = {
|
v9 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "ScalarField",
|
"kind": "ScalarField",
|
||||||
"name": "id",
|
"name": "id",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
};
|
},
|
||||||
|
v10 = [
|
||||||
|
(v5/*: any*/),
|
||||||
|
{
|
||||||
|
"fields": [
|
||||||
|
(v7/*: any*/)
|
||||||
|
],
|
||||||
|
"kind": "ObjectValue",
|
||||||
|
"name": "filter"
|
||||||
|
},
|
||||||
|
(v6/*: any*/)
|
||||||
|
];
|
||||||
return {
|
return {
|
||||||
"fragment": {
|
"fragment": {
|
||||||
"argumentDefinitions": (v0/*: any*/),
|
"argumentDefinitions": [
|
||||||
|
(v0/*: any*/),
|
||||||
|
(v1/*: any*/),
|
||||||
|
(v2/*: any*/),
|
||||||
|
(v3/*: any*/)
|
||||||
|
],
|
||||||
"kind": "Fragment",
|
"kind": "Fragment",
|
||||||
"metadata": null,
|
"metadata": null,
|
||||||
"name": "ProcessingActivitiesPageTIARefetchQuery",
|
"name": "ProcessingActivitiesPageTIARefetchQuery",
|
||||||
"selections": [
|
"selections": [
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v1/*: any*/),
|
"args": (v4/*: any*/),
|
||||||
"concreteType": null,
|
"concreteType": null,
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "node",
|
"name": "node",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
{
|
{
|
||||||
"args": (v2/*: any*/),
|
"args": [
|
||||||
|
(v5/*: any*/),
|
||||||
|
(v6/*: any*/),
|
||||||
|
(v7/*: any*/)
|
||||||
|
],
|
||||||
"kind": "FragmentSpread",
|
"kind": "FragmentSpread",
|
||||||
"name": "ProcessingActivitiesPageTIAFragment"
|
"name": "ProcessingActivitiesPageTIAFragment"
|
||||||
}
|
}
|
||||||
@@ -105,26 +132,31 @@ return {
|
|||||||
},
|
},
|
||||||
"kind": "Request",
|
"kind": "Request",
|
||||||
"operation": {
|
"operation": {
|
||||||
"argumentDefinitions": (v0/*: any*/),
|
"argumentDefinitions": [
|
||||||
|
(v0/*: any*/),
|
||||||
|
(v1/*: any*/),
|
||||||
|
(v3/*: any*/),
|
||||||
|
(v2/*: any*/)
|
||||||
|
],
|
||||||
"kind": "Operation",
|
"kind": "Operation",
|
||||||
"name": "ProcessingActivitiesPageTIARefetchQuery",
|
"name": "ProcessingActivitiesPageTIARefetchQuery",
|
||||||
"selections": [
|
"selections": [
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v1/*: any*/),
|
"args": (v4/*: any*/),
|
||||||
"concreteType": null,
|
"concreteType": null,
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "node",
|
"name": "node",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v3/*: any*/),
|
(v8/*: any*/),
|
||||||
(v4/*: any*/),
|
(v9/*: any*/),
|
||||||
{
|
{
|
||||||
"kind": "InlineFragment",
|
"kind": "InlineFragment",
|
||||||
"selections": [
|
"selections": [
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v2/*: any*/),
|
"args": (v10/*: any*/),
|
||||||
"concreteType": "ProcessingActivityTIAConnection",
|
"concreteType": "ProcessingActivityTIAConnection",
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "transferImpactAssessments",
|
"name": "transferImpactAssessments",
|
||||||
@@ -153,7 +185,7 @@ return {
|
|||||||
"name": "node",
|
"name": "node",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v4/*: any*/),
|
(v9/*: any*/),
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
@@ -183,7 +215,7 @@ return {
|
|||||||
"name": "processingActivity",
|
"name": "processingActivity",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v4/*: any*/),
|
(v9/*: any*/),
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
@@ -208,7 +240,7 @@ return {
|
|||||||
"name": "updatedAt",
|
"name": "updatedAt",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v3/*: any*/)
|
(v8/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
@@ -264,8 +296,10 @@ return {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v2/*: any*/),
|
"args": (v10/*: any*/),
|
||||||
"filters": null,
|
"filters": [
|
||||||
|
"filter"
|
||||||
|
],
|
||||||
"handle": "connection",
|
"handle": "connection",
|
||||||
"key": "ProcessingActivitiesPage_transferImpactAssessments",
|
"key": "ProcessingActivitiesPage_transferImpactAssessments",
|
||||||
"kind": "LinkedHandle",
|
"kind": "LinkedHandle",
|
||||||
@@ -281,16 +315,16 @@ return {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"params": {
|
"params": {
|
||||||
"cacheID": "339dd59f375bcb83665bb36d05950916",
|
"cacheID": "2dfe163e2a769f6a428b3e259cd6dc39",
|
||||||
"id": null,
|
"id": null,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"name": "ProcessingActivitiesPageTIARefetchQuery",
|
"name": "ProcessingActivitiesPageTIARefetchQuery",
|
||||||
"operationKind": "query",
|
"operationKind": "query",
|
||||||
"text": "query ProcessingActivitiesPageTIARefetchQuery(\n $after: CursorKey\n $first: Int = 10\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...ProcessingActivitiesPageTIAFragment_2HEEH6\n id\n }\n}\n\nfragment ProcessingActivitiesPageTIAFragment_2HEEH6 on Organization {\n id\n transferImpactAssessments(first: $first, after: $after) {\n totalCount\n edges {\n node {\n id\n dataSubjects\n transfer\n localLawRisk\n processingActivity {\n id\n name\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
|
"text": "query ProcessingActivitiesPageTIARefetchQuery(\n $after: CursorKey\n $first: Int = 10\n $snapshotId: ID = null\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...ProcessingActivitiesPageTIAFragment_35e0S5\n id\n }\n}\n\nfragment ProcessingActivitiesPageTIAFragment_35e0S5 on Organization {\n id\n transferImpactAssessments(first: $first, after: $after, filter: {snapshotId: $snapshotId}) {\n totalCount\n edges {\n node {\n id\n dataSubjects\n transfer\n localLawRisk\n processingActivity {\n id\n name\n }\n createdAt\n updatedAt\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n}\n"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
(node as any).hash = "0262ad5df883e750870f63e6d18d2c93";
|
(node as any).hash = "2c6575fe24698cc6b14d9d7a88cf434b";
|
||||||
|
|
||||||
export default node;
|
export default node;
|
||||||
|
|||||||
@@ -2308,3 +2308,291 @@ func TestProcessingActivity_TIA_RBAC(t *testing.T) {
|
|||||||
testutil.RequireForbiddenError(t, err, "viewer should not be able to delete TIA")
|
testutil.RequireForbiddenError(t, err, "viewer should not be able to delete TIA")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestProcessingActivity_Snapshot_DPIA_TIA(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||||
|
|
||||||
|
t.Run("snapshot includes DPIA and TIA", func(t *testing.T) {
|
||||||
|
paID := factory.NewProcessingActivity(owner).
|
||||||
|
WithName("Snapshot DPIA TIA Test").
|
||||||
|
Create()
|
||||||
|
|
||||||
|
var dpiaResult struct {
|
||||||
|
CreateProcessingActivityDPIA struct {
|
||||||
|
ProcessingActivityDpia struct {
|
||||||
|
ID string `json:"id"`
|
||||||
|
} `json:"processingActivityDpia"`
|
||||||
|
} `json:"createProcessingActivityDPIA"`
|
||||||
|
}
|
||||||
|
err := owner.Execute(`
|
||||||
|
mutation($input: CreateProcessingActivityDPIAInput!) {
|
||||||
|
createProcessingActivityDPIA(input: $input) {
|
||||||
|
processingActivityDpia { id }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`, map[string]any{
|
||||||
|
"input": map[string]any{
|
||||||
|
"processingActivityId": paID,
|
||||||
|
"description": "DPIA for snapshot",
|
||||||
|
"residualRisk": "MEDIUM",
|
||||||
|
},
|
||||||
|
}, &dpiaResult)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
var tiaResult struct {
|
||||||
|
CreateProcessingActivityTIA struct {
|
||||||
|
ProcessingActivityTia struct {
|
||||||
|
ID string `json:"id"`
|
||||||
|
} `json:"processingActivityTia"`
|
||||||
|
} `json:"createProcessingActivityTIA"`
|
||||||
|
}
|
||||||
|
err = owner.Execute(`
|
||||||
|
mutation($input: CreateProcessingActivityTIAInput!) {
|
||||||
|
createProcessingActivityTIA(input: $input) {
|
||||||
|
processingActivityTia { id }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`, map[string]any{
|
||||||
|
"input": map[string]any{
|
||||||
|
"processingActivityId": paID,
|
||||||
|
"dataSubjects": "TIA subjects for snapshot",
|
||||||
|
"transfer": "EU to US",
|
||||||
|
},
|
||||||
|
}, &tiaResult)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
var snapshotResult struct {
|
||||||
|
CreateSnapshot struct {
|
||||||
|
SnapshotEdge struct {
|
||||||
|
Node struct {
|
||||||
|
ID string `json:"id"`
|
||||||
|
} `json:"node"`
|
||||||
|
} `json:"snapshotEdge"`
|
||||||
|
} `json:"createSnapshot"`
|
||||||
|
}
|
||||||
|
err = owner.Execute(`
|
||||||
|
mutation($input: CreateSnapshotInput!) {
|
||||||
|
createSnapshot(input: $input) {
|
||||||
|
snapshotEdge {
|
||||||
|
node { id }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`, map[string]any{
|
||||||
|
"input": map[string]any{
|
||||||
|
"organizationId": owner.GetOrganizationID().String(),
|
||||||
|
"name": fmt.Sprintf("PA Snapshot Test %d", time.Now().UnixNano()),
|
||||||
|
"type": "PROCESSING_ACTIVITIES",
|
||||||
|
},
|
||||||
|
}, &snapshotResult)
|
||||||
|
require.NoError(t, err)
|
||||||
|
snapshotID := snapshotResult.CreateSnapshot.SnapshotEdge.Node.ID
|
||||||
|
|
||||||
|
var queryResult struct {
|
||||||
|
Node struct {
|
||||||
|
ProcessingActivities struct {
|
||||||
|
Edges []struct {
|
||||||
|
Node struct {
|
||||||
|
ID string `json:"id"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
Dpia *struct {
|
||||||
|
ID string `json:"id"`
|
||||||
|
Description *string `json:"description"`
|
||||||
|
ResidualRisk *string `json:"residualRisk"`
|
||||||
|
} `json:"dpia"`
|
||||||
|
Tia *struct {
|
||||||
|
ID string `json:"id"`
|
||||||
|
DataSubjects *string `json:"dataSubjects"`
|
||||||
|
Transfer *string `json:"transfer"`
|
||||||
|
} `json:"tia"`
|
||||||
|
} `json:"node"`
|
||||||
|
} `json:"edges"`
|
||||||
|
} `json:"processingActivities"`
|
||||||
|
} `json:"node"`
|
||||||
|
}
|
||||||
|
err = owner.Execute(`
|
||||||
|
query($orgId: ID!, $snapshotId: ID!) {
|
||||||
|
node(id: $orgId) {
|
||||||
|
... on Organization {
|
||||||
|
processingActivities(first: 100, filter: { snapshotId: $snapshotId }) {
|
||||||
|
edges {
|
||||||
|
node {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
dpia {
|
||||||
|
id
|
||||||
|
description
|
||||||
|
residualRisk
|
||||||
|
}
|
||||||
|
tia {
|
||||||
|
id
|
||||||
|
dataSubjects
|
||||||
|
transfer
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`, map[string]any{
|
||||||
|
"orgId": owner.GetOrganizationID().String(),
|
||||||
|
"snapshotId": snapshotID,
|
||||||
|
}, &queryResult)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
var foundPA bool
|
||||||
|
for _, edge := range queryResult.Node.ProcessingActivities.Edges {
|
||||||
|
if edge.Node.Name == "Snapshot DPIA TIA Test" {
|
||||||
|
foundPA = true
|
||||||
|
require.NotNil(t, edge.Node.Dpia, "DPIA should be included in snapshot")
|
||||||
|
assert.Equal(t, "DPIA for snapshot", *edge.Node.Dpia.Description)
|
||||||
|
assert.Equal(t, "MEDIUM", *edge.Node.Dpia.ResidualRisk)
|
||||||
|
|
||||||
|
require.NotNil(t, edge.Node.Tia, "TIA should be included in snapshot")
|
||||||
|
assert.Equal(t, "TIA subjects for snapshot", *edge.Node.Tia.DataSubjects)
|
||||||
|
assert.Equal(t, "EU to US", *edge.Node.Tia.Transfer)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
assert.True(t, foundPA, "Processing activity should be found in snapshot")
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("snapshot DPIA and TIA are independent of source", func(t *testing.T) {
|
||||||
|
paID := factory.NewProcessingActivity(owner).
|
||||||
|
WithName("Snapshot Independence Test").
|
||||||
|
Create()
|
||||||
|
|
||||||
|
err := owner.Execute(`
|
||||||
|
mutation($input: CreateProcessingActivityDPIAInput!) {
|
||||||
|
createProcessingActivityDPIA(input: $input) {
|
||||||
|
processingActivityDpia { id }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`, map[string]any{
|
||||||
|
"input": map[string]any{
|
||||||
|
"processingActivityId": paID,
|
||||||
|
"description": "Original DPIA",
|
||||||
|
"residualRisk": "LOW",
|
||||||
|
},
|
||||||
|
}, nil)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
var snapshotResult struct {
|
||||||
|
CreateSnapshot struct {
|
||||||
|
SnapshotEdge struct {
|
||||||
|
Node struct {
|
||||||
|
ID string `json:"id"`
|
||||||
|
} `json:"node"`
|
||||||
|
} `json:"snapshotEdge"`
|
||||||
|
} `json:"createSnapshot"`
|
||||||
|
}
|
||||||
|
err = owner.Execute(`
|
||||||
|
mutation($input: CreateSnapshotInput!) {
|
||||||
|
createSnapshot(input: $input) {
|
||||||
|
snapshotEdge {
|
||||||
|
node { id }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`, map[string]any{
|
||||||
|
"input": map[string]any{
|
||||||
|
"organizationId": owner.GetOrganizationID().String(),
|
||||||
|
"name": fmt.Sprintf("PA Independence Test %d", time.Now().UnixNano()),
|
||||||
|
"type": "PROCESSING_ACTIVITIES",
|
||||||
|
},
|
||||||
|
}, &snapshotResult)
|
||||||
|
require.NoError(t, err)
|
||||||
|
snapshotID := snapshotResult.CreateSnapshot.SnapshotEdge.Node.ID
|
||||||
|
|
||||||
|
var sourceResult struct {
|
||||||
|
Node struct {
|
||||||
|
Dpia *struct {
|
||||||
|
ID string `json:"id"`
|
||||||
|
Description *string `json:"description"`
|
||||||
|
ResidualRisk *string `json:"residualRisk"`
|
||||||
|
} `json:"dpia"`
|
||||||
|
} `json:"node"`
|
||||||
|
}
|
||||||
|
err = owner.Execute(`
|
||||||
|
query($id: ID!) {
|
||||||
|
node(id: $id) {
|
||||||
|
... on ProcessingActivity {
|
||||||
|
dpia {
|
||||||
|
id
|
||||||
|
description
|
||||||
|
residualRisk
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`, map[string]any{"id": paID}, &sourceResult)
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.NotNil(t, sourceResult.Node.Dpia)
|
||||||
|
sourceDpiaID := sourceResult.Node.Dpia.ID
|
||||||
|
|
||||||
|
_, err = owner.Do(`
|
||||||
|
mutation($input: UpdateProcessingActivityDPIAInput!) {
|
||||||
|
updateProcessingActivityDPIA(input: $input) {
|
||||||
|
processingActivityDpia { id }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`, map[string]any{
|
||||||
|
"input": map[string]any{
|
||||||
|
"id": sourceDpiaID,
|
||||||
|
"description": "Updated after snapshot",
|
||||||
|
"residualRisk": "HIGH",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
var snapshotQueryResult struct {
|
||||||
|
Node struct {
|
||||||
|
ProcessingActivities struct {
|
||||||
|
Edges []struct {
|
||||||
|
Node struct {
|
||||||
|
Name string `json:"name"`
|
||||||
|
Dpia *struct {
|
||||||
|
Description *string `json:"description"`
|
||||||
|
ResidualRisk *string `json:"residualRisk"`
|
||||||
|
} `json:"dpia"`
|
||||||
|
} `json:"node"`
|
||||||
|
} `json:"edges"`
|
||||||
|
} `json:"processingActivities"`
|
||||||
|
} `json:"node"`
|
||||||
|
}
|
||||||
|
err = owner.Execute(`
|
||||||
|
query($orgId: ID!, $snapshotId: ID!) {
|
||||||
|
node(id: $orgId) {
|
||||||
|
... on Organization {
|
||||||
|
processingActivities(first: 100, filter: { snapshotId: $snapshotId }) {
|
||||||
|
edges {
|
||||||
|
node {
|
||||||
|
name
|
||||||
|
dpia {
|
||||||
|
description
|
||||||
|
residualRisk
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`, map[string]any{
|
||||||
|
"orgId": owner.GetOrganizationID().String(),
|
||||||
|
"snapshotId": snapshotID,
|
||||||
|
}, &snapshotQueryResult)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
for _, edge := range snapshotQueryResult.Node.ProcessingActivities.Edges {
|
||||||
|
if edge.Node.Name == "Snapshot Independence Test" {
|
||||||
|
require.NotNil(t, edge.Node.Dpia)
|
||||||
|
assert.Equal(t, "Original DPIA", *edge.Node.Dpia.Description, "Snapshot DPIA should retain original value")
|
||||||
|
assert.Equal(t, "LOW", *edge.Node.Dpia.ResidualRisk, "Snapshot DPIA should retain original value")
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ CREATE TYPE processing_activity_dpia_residual_risk AS ENUM ('LOW', 'MEDIUM', 'HI
|
|||||||
CREATE TABLE processing_activity_data_protection_impact_assessments (
|
CREATE TABLE processing_activity_data_protection_impact_assessments (
|
||||||
id TEXT PRIMARY KEY,
|
id TEXT PRIMARY KEY,
|
||||||
tenant_id TEXT NOT NULL,
|
tenant_id TEXT NOT NULL,
|
||||||
|
snapshot_id TEXT REFERENCES snapshots(id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||||
|
source_id TEXT,
|
||||||
organization_id TEXT NOT NULL,
|
organization_id TEXT NOT NULL,
|
||||||
processing_activity_id TEXT NOT NULL,
|
processing_activity_id TEXT NOT NULL,
|
||||||
description TEXT,
|
description TEXT,
|
||||||
@@ -32,12 +34,17 @@ CREATE TABLE processing_activity_data_protection_impact_assessments (
|
|||||||
FOREIGN KEY (processing_activity_id)
|
FOREIGN KEY (processing_activity_id)
|
||||||
REFERENCES processing_activities(id)
|
REFERENCES processing_activities(id)
|
||||||
ON UPDATE CASCADE
|
ON UPDATE CASCADE
|
||||||
ON DELETE CASCADE
|
ON DELETE CASCADE,
|
||||||
|
|
||||||
|
CONSTRAINT processing_activity_dpias_source_id_snapshot_id_key
|
||||||
|
UNIQUE (source_id, snapshot_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE processing_activity_transfer_impact_assessments (
|
CREATE TABLE processing_activity_transfer_impact_assessments (
|
||||||
id TEXT PRIMARY KEY,
|
id TEXT PRIMARY KEY,
|
||||||
tenant_id TEXT NOT NULL,
|
tenant_id TEXT NOT NULL,
|
||||||
|
snapshot_id TEXT REFERENCES snapshots(id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||||
|
source_id TEXT,
|
||||||
organization_id TEXT NOT NULL,
|
organization_id TEXT NOT NULL,
|
||||||
processing_activity_id TEXT NOT NULL,
|
processing_activity_id TEXT NOT NULL,
|
||||||
data_subjects TEXT,
|
data_subjects TEXT,
|
||||||
@@ -58,5 +65,8 @@ CREATE TABLE processing_activity_transfer_impact_assessments (
|
|||||||
FOREIGN KEY (processing_activity_id)
|
FOREIGN KEY (processing_activity_id)
|
||||||
REFERENCES processing_activities(id)
|
REFERENCES processing_activities(id)
|
||||||
ON UPDATE CASCADE
|
ON UPDATE CASCADE
|
||||||
ON DELETE CASCADE
|
ON DELETE CASCADE,
|
||||||
|
|
||||||
|
CONSTRAINT processing_activity_tias_source_id_snapshot_id_key
|
||||||
|
UNIQUE (source_id, snapshot_id)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -427,7 +427,7 @@ WHERE
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (pas ProcessingActivities) Snapshot(ctx context.Context, conn pg.Conn, scope Scoper, organizationID, snapshotID gid.GID) error {
|
func (pas ProcessingActivities) Snapshot(ctx context.Context, conn pg.Conn, scope Scoper, organizationID, snapshotID gid.GID) error {
|
||||||
snapshotters := []ProcessingActivitySnapshotter{ProcessingActivities{}, Vendors{}, ProcessingActivityVendors{}}
|
snapshotters := []ProcessingActivitySnapshotter{ProcessingActivities{}, Vendors{}, ProcessingActivityVendors{}, ProcessingActivityDPIAs{}, ProcessingActivityTIAs{}}
|
||||||
|
|
||||||
for _, snapshotter := range snapshotters {
|
for _, snapshotter := range snapshotters {
|
||||||
if err := snapshotter.InsertProcessingActivitySnapshots(ctx, conn, scope, organizationID, snapshotID); err != nil {
|
if err := snapshotter.InsertProcessingActivitySnapshots(ctx, conn, scope, organizationID, snapshotID); err != nil {
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ func (e ErrProcessingActivityDPIANotFound) Error() string {
|
|||||||
type (
|
type (
|
||||||
ProcessingActivityDPIA struct {
|
ProcessingActivityDPIA struct {
|
||||||
ID gid.GID `db:"id"`
|
ID gid.GID `db:"id"`
|
||||||
|
SnapshotID *gid.GID `db:"snapshot_id"`
|
||||||
|
SourceID *gid.GID `db:"source_id"`
|
||||||
OrganizationID gid.GID `db:"organization_id"`
|
OrganizationID gid.GID `db:"organization_id"`
|
||||||
ProcessingActivityID gid.GID `db:"processing_activity_id"`
|
ProcessingActivityID gid.GID `db:"processing_activity_id"`
|
||||||
Description *string `db:"description"`
|
Description *string `db:"description"`
|
||||||
@@ -66,6 +68,7 @@ func (dpias *ProcessingActivityDPIAs) CountByOrganizationID(
|
|||||||
conn pg.Conn,
|
conn pg.Conn,
|
||||||
scope Scoper,
|
scope Scoper,
|
||||||
organizationID gid.GID,
|
organizationID gid.GID,
|
||||||
|
filter *ProcessingActivityDPIAFilter,
|
||||||
) (int, error) {
|
) (int, error) {
|
||||||
q := `
|
q := `
|
||||||
SELECT
|
SELECT
|
||||||
@@ -75,12 +78,14 @@ FROM
|
|||||||
WHERE
|
WHERE
|
||||||
%s
|
%s
|
||||||
AND organization_id = @organization_id
|
AND organization_id = @organization_id
|
||||||
|
AND %s
|
||||||
`
|
`
|
||||||
|
|
||||||
q = fmt.Sprintf(q, scope.SQLFragment())
|
q = fmt.Sprintf(q, scope.SQLFragment(), filter.SQLFragment())
|
||||||
|
|
||||||
args := pgx.StrictNamedArgs{"organization_id": organizationID}
|
args := pgx.StrictNamedArgs{"organization_id": organizationID}
|
||||||
maps.Copy(args, scope.SQLArguments())
|
maps.Copy(args, scope.SQLArguments())
|
||||||
|
maps.Copy(args, filter.SQLArguments())
|
||||||
|
|
||||||
row := conn.QueryRow(ctx, q, args)
|
row := conn.QueryRow(ctx, q, args)
|
||||||
|
|
||||||
@@ -99,10 +104,13 @@ func (dpias *ProcessingActivityDPIAs) LoadByOrganizationID(
|
|||||||
scope Scoper,
|
scope Scoper,
|
||||||
organizationID gid.GID,
|
organizationID gid.GID,
|
||||||
cursor *page.Cursor[ProcessingActivityDPIAOrderField],
|
cursor *page.Cursor[ProcessingActivityDPIAOrderField],
|
||||||
|
filter *ProcessingActivityDPIAFilter,
|
||||||
) error {
|
) error {
|
||||||
q := `
|
q := `
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
|
snapshot_id,
|
||||||
|
source_id,
|
||||||
organization_id,
|
organization_id,
|
||||||
processing_activity_id,
|
processing_activity_id,
|
||||||
description,
|
description,
|
||||||
@@ -118,12 +126,14 @@ WHERE
|
|||||||
%s
|
%s
|
||||||
AND organization_id = @organization_id
|
AND organization_id = @organization_id
|
||||||
AND %s
|
AND %s
|
||||||
|
AND %s
|
||||||
`
|
`
|
||||||
|
|
||||||
q = fmt.Sprintf(q, scope.SQLFragment(), cursor.SQLFragment())
|
q = fmt.Sprintf(q, scope.SQLFragment(), filter.SQLFragment(), cursor.SQLFragment())
|
||||||
|
|
||||||
args := pgx.StrictNamedArgs{"organization_id": organizationID}
|
args := pgx.StrictNamedArgs{"organization_id": organizationID}
|
||||||
maps.Copy(args, scope.SQLArguments())
|
maps.Copy(args, scope.SQLArguments())
|
||||||
|
maps.Copy(args, filter.SQLArguments())
|
||||||
maps.Copy(args, cursor.SQLArguments())
|
maps.Copy(args, cursor.SQLArguments())
|
||||||
|
|
||||||
rows, err := conn.Query(ctx, q, args)
|
rows, err := conn.Query(ctx, q, args)
|
||||||
@@ -150,6 +160,8 @@ func (dpia *ProcessingActivityDPIA) LoadByID(
|
|||||||
q := `
|
q := `
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
|
snapshot_id,
|
||||||
|
source_id,
|
||||||
organization_id,
|
organization_id,
|
||||||
processing_activity_id,
|
processing_activity_id,
|
||||||
description,
|
description,
|
||||||
@@ -199,6 +211,8 @@ func (dpia *ProcessingActivityDPIA) LoadByProcessingActivityID(
|
|||||||
q := `
|
q := `
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
|
snapshot_id,
|
||||||
|
source_id,
|
||||||
organization_id,
|
organization_id,
|
||||||
processing_activity_id,
|
processing_activity_id,
|
||||||
description,
|
description,
|
||||||
@@ -357,3 +371,61 @@ WHERE
|
|||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (dpias ProcessingActivityDPIAs) InsertProcessingActivitySnapshots(
|
||||||
|
ctx context.Context,
|
||||||
|
conn pg.Conn,
|
||||||
|
scope Scoper,
|
||||||
|
organizationID gid.GID,
|
||||||
|
snapshotID gid.GID,
|
||||||
|
) error {
|
||||||
|
query := `
|
||||||
|
INSERT INTO processing_activity_data_protection_impact_assessments (
|
||||||
|
id,
|
||||||
|
tenant_id,
|
||||||
|
snapshot_id,
|
||||||
|
source_id,
|
||||||
|
organization_id,
|
||||||
|
processing_activity_id,
|
||||||
|
description,
|
||||||
|
necessity_and_proportionality,
|
||||||
|
potential_risk,
|
||||||
|
mitigations,
|
||||||
|
residual_risk,
|
||||||
|
created_at,
|
||||||
|
updated_at
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
generate_gid(decode_base64_unpadded(@tenant_id), @dpia_entity_type),
|
||||||
|
@tenant_id,
|
||||||
|
@snapshot_id,
|
||||||
|
dpia.id,
|
||||||
|
dpia.organization_id,
|
||||||
|
pa_snapshot.id,
|
||||||
|
dpia.description,
|
||||||
|
dpia.necessity_and_proportionality,
|
||||||
|
dpia.potential_risk,
|
||||||
|
dpia.mitigations,
|
||||||
|
dpia.residual_risk,
|
||||||
|
dpia.created_at,
|
||||||
|
dpia.updated_at
|
||||||
|
FROM processing_activity_data_protection_impact_assessments dpia
|
||||||
|
INNER JOIN processing_activities pa_source ON dpia.processing_activity_id = pa_source.id AND pa_source.snapshot_id IS NULL
|
||||||
|
INNER JOIN processing_activities pa_snapshot ON pa_source.id = pa_snapshot.source_id AND pa_snapshot.snapshot_id = @snapshot_id
|
||||||
|
WHERE dpia.tenant_id = @tenant_id AND dpia.organization_id = @organization_id AND dpia.snapshot_id IS NULL
|
||||||
|
`
|
||||||
|
|
||||||
|
args := pgx.StrictNamedArgs{
|
||||||
|
"tenant_id": scope.GetTenantID(),
|
||||||
|
"snapshot_id": snapshotID,
|
||||||
|
"organization_id": organizationID,
|
||||||
|
"dpia_entity_type": ProcessingActivityDPIAEntityType,
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err := conn.Exec(ctx, query, args)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("cannot insert processing activity dpia snapshots: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|||||||
54
pkg/coredata/processing_activity_dpia_filter.go
Normal file
54
pkg/coredata/processing_activity_dpia_filter.go
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
// Copyright (c) 2025 Probo Inc <hello@getprobo.com>.
|
||||||
|
//
|
||||||
|
// Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
// purpose with or without fee is hereby granted, provided that the above
|
||||||
|
// copyright notice and this permission notice appear in all copies.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
|
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
// AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
|
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
|
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
|
// OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
// PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
|
package coredata
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/jackc/pgx/v5"
|
||||||
|
"go.probo.inc/probo/pkg/gid"
|
||||||
|
)
|
||||||
|
|
||||||
|
type (
|
||||||
|
ProcessingActivityDPIAFilter struct {
|
||||||
|
snapshotID **gid.GID
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func NewProcessingActivityDPIAFilter(snapshotID **gid.GID) *ProcessingActivityDPIAFilter {
|
||||||
|
return &ProcessingActivityDPIAFilter{
|
||||||
|
snapshotID: snapshotID,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *ProcessingActivityDPIAFilter) SQLArguments() pgx.NamedArgs {
|
||||||
|
args := pgx.NamedArgs{}
|
||||||
|
|
||||||
|
if f.snapshotID != nil && *f.snapshotID != nil {
|
||||||
|
args["filter_snapshot_id"] = **f.snapshotID
|
||||||
|
}
|
||||||
|
|
||||||
|
return args
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *ProcessingActivityDPIAFilter) SQLFragment() string {
|
||||||
|
if f.snapshotID == nil {
|
||||||
|
return "TRUE"
|
||||||
|
}
|
||||||
|
|
||||||
|
if *f.snapshotID == nil {
|
||||||
|
return "snapshot_id IS NULL"
|
||||||
|
} else {
|
||||||
|
return "snapshot_id = @filter_snapshot_id"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -38,6 +38,8 @@ func (e ErrProcessingActivityTIANotFound) Error() string {
|
|||||||
type (
|
type (
|
||||||
ProcessingActivityTIA struct {
|
ProcessingActivityTIA struct {
|
||||||
ID gid.GID `db:"id"`
|
ID gid.GID `db:"id"`
|
||||||
|
SnapshotID *gid.GID `db:"snapshot_id"`
|
||||||
|
SourceID *gid.GID `db:"source_id"`
|
||||||
OrganizationID gid.GID `db:"organization_id"`
|
OrganizationID gid.GID `db:"organization_id"`
|
||||||
ProcessingActivityID gid.GID `db:"processing_activity_id"`
|
ProcessingActivityID gid.GID `db:"processing_activity_id"`
|
||||||
DataSubjects *string `db:"data_subjects"`
|
DataSubjects *string `db:"data_subjects"`
|
||||||
@@ -66,6 +68,7 @@ func (tias *ProcessingActivityTIAs) CountByOrganizationID(
|
|||||||
conn pg.Conn,
|
conn pg.Conn,
|
||||||
scope Scoper,
|
scope Scoper,
|
||||||
organizationID gid.GID,
|
organizationID gid.GID,
|
||||||
|
filter *ProcessingActivityTIAFilter,
|
||||||
) (int, error) {
|
) (int, error) {
|
||||||
q := `
|
q := `
|
||||||
SELECT
|
SELECT
|
||||||
@@ -75,12 +78,14 @@ FROM
|
|||||||
WHERE
|
WHERE
|
||||||
%s
|
%s
|
||||||
AND organization_id = @organization_id
|
AND organization_id = @organization_id
|
||||||
|
AND %s
|
||||||
`
|
`
|
||||||
|
|
||||||
q = fmt.Sprintf(q, scope.SQLFragment())
|
q = fmt.Sprintf(q, scope.SQLFragment(), filter.SQLFragment())
|
||||||
|
|
||||||
args := pgx.StrictNamedArgs{"organization_id": organizationID}
|
args := pgx.StrictNamedArgs{"organization_id": organizationID}
|
||||||
maps.Copy(args, scope.SQLArguments())
|
maps.Copy(args, scope.SQLArguments())
|
||||||
|
maps.Copy(args, filter.SQLArguments())
|
||||||
|
|
||||||
row := conn.QueryRow(ctx, q, args)
|
row := conn.QueryRow(ctx, q, args)
|
||||||
|
|
||||||
@@ -99,10 +104,13 @@ func (tias *ProcessingActivityTIAs) LoadByOrganizationID(
|
|||||||
scope Scoper,
|
scope Scoper,
|
||||||
organizationID gid.GID,
|
organizationID gid.GID,
|
||||||
cursor *page.Cursor[ProcessingActivityTIAOrderField],
|
cursor *page.Cursor[ProcessingActivityTIAOrderField],
|
||||||
|
filter *ProcessingActivityTIAFilter,
|
||||||
) error {
|
) error {
|
||||||
q := `
|
q := `
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
|
snapshot_id,
|
||||||
|
source_id,
|
||||||
organization_id,
|
organization_id,
|
||||||
processing_activity_id,
|
processing_activity_id,
|
||||||
data_subjects,
|
data_subjects,
|
||||||
@@ -118,12 +126,14 @@ WHERE
|
|||||||
%s
|
%s
|
||||||
AND organization_id = @organization_id
|
AND organization_id = @organization_id
|
||||||
AND %s
|
AND %s
|
||||||
|
AND %s
|
||||||
`
|
`
|
||||||
|
|
||||||
q = fmt.Sprintf(q, scope.SQLFragment(), cursor.SQLFragment())
|
q = fmt.Sprintf(q, scope.SQLFragment(), filter.SQLFragment(), cursor.SQLFragment())
|
||||||
|
|
||||||
args := pgx.StrictNamedArgs{"organization_id": organizationID}
|
args := pgx.StrictNamedArgs{"organization_id": organizationID}
|
||||||
maps.Copy(args, scope.SQLArguments())
|
maps.Copy(args, scope.SQLArguments())
|
||||||
|
maps.Copy(args, filter.SQLArguments())
|
||||||
maps.Copy(args, cursor.SQLArguments())
|
maps.Copy(args, cursor.SQLArguments())
|
||||||
|
|
||||||
rows, err := conn.Query(ctx, q, args)
|
rows, err := conn.Query(ctx, q, args)
|
||||||
@@ -150,6 +160,8 @@ func (tia *ProcessingActivityTIA) LoadByID(
|
|||||||
q := `
|
q := `
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
|
snapshot_id,
|
||||||
|
source_id,
|
||||||
organization_id,
|
organization_id,
|
||||||
processing_activity_id,
|
processing_activity_id,
|
||||||
data_subjects,
|
data_subjects,
|
||||||
@@ -199,6 +211,8 @@ func (tia *ProcessingActivityTIA) LoadByProcessingActivityID(
|
|||||||
q := `
|
q := `
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
|
snapshot_id,
|
||||||
|
source_id,
|
||||||
organization_id,
|
organization_id,
|
||||||
processing_activity_id,
|
processing_activity_id,
|
||||||
data_subjects,
|
data_subjects,
|
||||||
@@ -357,3 +371,61 @@ WHERE
|
|||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (tias ProcessingActivityTIAs) InsertProcessingActivitySnapshots(
|
||||||
|
ctx context.Context,
|
||||||
|
conn pg.Conn,
|
||||||
|
scope Scoper,
|
||||||
|
organizationID gid.GID,
|
||||||
|
snapshotID gid.GID,
|
||||||
|
) error {
|
||||||
|
query := `
|
||||||
|
INSERT INTO processing_activity_transfer_impact_assessments (
|
||||||
|
id,
|
||||||
|
tenant_id,
|
||||||
|
snapshot_id,
|
||||||
|
source_id,
|
||||||
|
organization_id,
|
||||||
|
processing_activity_id,
|
||||||
|
data_subjects,
|
||||||
|
legal_mechanism,
|
||||||
|
transfer,
|
||||||
|
local_law_risk,
|
||||||
|
supplementary_measures,
|
||||||
|
created_at,
|
||||||
|
updated_at
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
generate_gid(decode_base64_unpadded(@tenant_id), @tia_entity_type),
|
||||||
|
@tenant_id,
|
||||||
|
@snapshot_id,
|
||||||
|
tia.id,
|
||||||
|
tia.organization_id,
|
||||||
|
pa_snapshot.id,
|
||||||
|
tia.data_subjects,
|
||||||
|
tia.legal_mechanism,
|
||||||
|
tia.transfer,
|
||||||
|
tia.local_law_risk,
|
||||||
|
tia.supplementary_measures,
|
||||||
|
tia.created_at,
|
||||||
|
tia.updated_at
|
||||||
|
FROM processing_activity_transfer_impact_assessments tia
|
||||||
|
INNER JOIN processing_activities pa_source ON tia.processing_activity_id = pa_source.id AND pa_source.snapshot_id IS NULL
|
||||||
|
INNER JOIN processing_activities pa_snapshot ON pa_source.id = pa_snapshot.source_id AND pa_snapshot.snapshot_id = @snapshot_id
|
||||||
|
WHERE tia.tenant_id = @tenant_id AND tia.organization_id = @organization_id AND tia.snapshot_id IS NULL
|
||||||
|
`
|
||||||
|
|
||||||
|
args := pgx.StrictNamedArgs{
|
||||||
|
"tenant_id": scope.GetTenantID(),
|
||||||
|
"snapshot_id": snapshotID,
|
||||||
|
"organization_id": organizationID,
|
||||||
|
"tia_entity_type": ProcessingActivityTIAEntityType,
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err := conn.Exec(ctx, query, args)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("cannot insert processing activity tia snapshots: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|||||||
54
pkg/coredata/processing_activity_tia_filter.go
Normal file
54
pkg/coredata/processing_activity_tia_filter.go
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
// Copyright (c) 2025 Probo Inc <hello@getprobo.com>.
|
||||||
|
//
|
||||||
|
// Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
// purpose with or without fee is hereby granted, provided that the above
|
||||||
|
// copyright notice and this permission notice appear in all copies.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
|
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
// AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
|
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
|
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
|
// OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
// PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
|
package coredata
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/jackc/pgx/v5"
|
||||||
|
"go.probo.inc/probo/pkg/gid"
|
||||||
|
)
|
||||||
|
|
||||||
|
type (
|
||||||
|
ProcessingActivityTIAFilter struct {
|
||||||
|
snapshotID **gid.GID
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func NewProcessingActivityTIAFilter(snapshotID **gid.GID) *ProcessingActivityTIAFilter {
|
||||||
|
return &ProcessingActivityTIAFilter{
|
||||||
|
snapshotID: snapshotID,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *ProcessingActivityTIAFilter) SQLArguments() pgx.NamedArgs {
|
||||||
|
args := pgx.NamedArgs{}
|
||||||
|
|
||||||
|
if f.snapshotID != nil && *f.snapshotID != nil {
|
||||||
|
args["filter_snapshot_id"] = **f.snapshotID
|
||||||
|
}
|
||||||
|
|
||||||
|
return args
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *ProcessingActivityTIAFilter) SQLFragment() string {
|
||||||
|
if f.snapshotID == nil {
|
||||||
|
return "TRUE"
|
||||||
|
}
|
||||||
|
|
||||||
|
if *f.snapshotID == nil {
|
||||||
|
return "snapshot_id IS NULL"
|
||||||
|
} else {
|
||||||
|
return "snapshot_id = @filter_snapshot_id"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -128,13 +128,14 @@ func (s ProcessingActivityDPIAService) ListForOrganizationID(
|
|||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
organizationID gid.GID,
|
organizationID gid.GID,
|
||||||
cursor *page.Cursor[coredata.ProcessingActivityDPIAOrderField],
|
cursor *page.Cursor[coredata.ProcessingActivityDPIAOrderField],
|
||||||
|
filter *coredata.ProcessingActivityDPIAFilter,
|
||||||
) (*page.Page[*coredata.ProcessingActivityDPIA, coredata.ProcessingActivityDPIAOrderField], error) {
|
) (*page.Page[*coredata.ProcessingActivityDPIA, coredata.ProcessingActivityDPIAOrderField], error) {
|
||||||
var dpias coredata.ProcessingActivityDPIAs
|
var dpias coredata.ProcessingActivityDPIAs
|
||||||
|
|
||||||
err := s.svc.pg.WithConn(
|
err := s.svc.pg.WithConn(
|
||||||
ctx,
|
ctx,
|
||||||
func(conn pg.Conn) error {
|
func(conn pg.Conn) error {
|
||||||
err := dpias.LoadByOrganizationID(ctx, conn, s.svc.scope, organizationID, cursor)
|
err := dpias.LoadByOrganizationID(ctx, conn, s.svc.scope, organizationID, cursor, filter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("cannot load processing activity dpias: %w", err)
|
return fmt.Errorf("cannot load processing activity dpias: %w", err)
|
||||||
}
|
}
|
||||||
@@ -153,6 +154,7 @@ func (s ProcessingActivityDPIAService) ListForOrganizationID(
|
|||||||
func (s ProcessingActivityDPIAService) CountForOrganizationID(
|
func (s ProcessingActivityDPIAService) CountForOrganizationID(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
organizationID gid.GID,
|
organizationID gid.GID,
|
||||||
|
filter *coredata.ProcessingActivityDPIAFilter,
|
||||||
) (int, error) {
|
) (int, error) {
|
||||||
var count int
|
var count int
|
||||||
|
|
||||||
@@ -160,7 +162,7 @@ func (s ProcessingActivityDPIAService) CountForOrganizationID(
|
|||||||
ctx,
|
ctx,
|
||||||
func(conn pg.Conn) (err error) {
|
func(conn pg.Conn) (err error) {
|
||||||
dpias := coredata.ProcessingActivityDPIAs{}
|
dpias := coredata.ProcessingActivityDPIAs{}
|
||||||
count, err = dpias.CountByOrganizationID(ctx, conn, s.svc.scope, organizationID)
|
count, err = dpias.CountByOrganizationID(ctx, conn, s.svc.scope, organizationID, filter)
|
||||||
return err
|
return err
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -128,13 +128,14 @@ func (s ProcessingActivityTIAService) ListForOrganizationID(
|
|||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
organizationID gid.GID,
|
organizationID gid.GID,
|
||||||
cursor *page.Cursor[coredata.ProcessingActivityTIAOrderField],
|
cursor *page.Cursor[coredata.ProcessingActivityTIAOrderField],
|
||||||
|
filter *coredata.ProcessingActivityTIAFilter,
|
||||||
) (*page.Page[*coredata.ProcessingActivityTIA, coredata.ProcessingActivityTIAOrderField], error) {
|
) (*page.Page[*coredata.ProcessingActivityTIA, coredata.ProcessingActivityTIAOrderField], error) {
|
||||||
var tias coredata.ProcessingActivityTIAs
|
var tias coredata.ProcessingActivityTIAs
|
||||||
|
|
||||||
err := s.svc.pg.WithConn(
|
err := s.svc.pg.WithConn(
|
||||||
ctx,
|
ctx,
|
||||||
func(conn pg.Conn) error {
|
func(conn pg.Conn) error {
|
||||||
err := tias.LoadByOrganizationID(ctx, conn, s.svc.scope, organizationID, cursor)
|
err := tias.LoadByOrganizationID(ctx, conn, s.svc.scope, organizationID, cursor, filter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("cannot load processing activity tias: %w", err)
|
return fmt.Errorf("cannot load processing activity tias: %w", err)
|
||||||
}
|
}
|
||||||
@@ -153,6 +154,7 @@ func (s ProcessingActivityTIAService) ListForOrganizationID(
|
|||||||
func (s ProcessingActivityTIAService) CountForOrganizationID(
|
func (s ProcessingActivityTIAService) CountForOrganizationID(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
organizationID gid.GID,
|
organizationID gid.GID,
|
||||||
|
filter *coredata.ProcessingActivityTIAFilter,
|
||||||
) (int, error) {
|
) (int, error) {
|
||||||
var count int
|
var count int
|
||||||
|
|
||||||
@@ -160,7 +162,7 @@ func (s ProcessingActivityTIAService) CountForOrganizationID(
|
|||||||
ctx,
|
ctx,
|
||||||
func(conn pg.Conn) (err error) {
|
func(conn pg.Conn) (err error) {
|
||||||
tias := coredata.ProcessingActivityTIAs{}
|
tias := coredata.ProcessingActivityTIAs{}
|
||||||
count, err = tias.CountByOrganizationID(ctx, conn, s.svc.scope, organizationID)
|
count, err = tias.CountByOrganizationID(ctx, conn, s.svc.scope, organizationID, filter)
|
||||||
return err
|
return err
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1517,6 +1517,14 @@ input ProcessingActivityFilter {
|
|||||||
snapshotId: ID
|
snapshotId: ID
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input ProcessingActivityDPIAFilter {
|
||||||
|
snapshotId: ID
|
||||||
|
}
|
||||||
|
|
||||||
|
input ProcessingActivityTIAFilter {
|
||||||
|
snapshotId: ID
|
||||||
|
}
|
||||||
|
|
||||||
input AssetFilter {
|
input AssetFilter {
|
||||||
snapshotId: ID
|
snapshotId: ID
|
||||||
}
|
}
|
||||||
@@ -1734,6 +1742,7 @@ type Organization implements Node {
|
|||||||
last: Int
|
last: Int
|
||||||
before: CursorKey
|
before: CursorKey
|
||||||
orderBy: ProcessingActivityDPIAOrder
|
orderBy: ProcessingActivityDPIAOrder
|
||||||
|
filter: ProcessingActivityDPIAFilter = { snapshotId: null }
|
||||||
): ProcessingActivityDPIAConnection! @goField(forceResolver: true)
|
): ProcessingActivityDPIAConnection! @goField(forceResolver: true)
|
||||||
|
|
||||||
transferImpactAssessments(
|
transferImpactAssessments(
|
||||||
@@ -1742,6 +1751,7 @@ type Organization implements Node {
|
|||||||
last: Int
|
last: Int
|
||||||
before: CursorKey
|
before: CursorKey
|
||||||
orderBy: ProcessingActivityTIAOrder
|
orderBy: ProcessingActivityTIAOrder
|
||||||
|
filter: ProcessingActivityTIAFilter = { snapshotId: null }
|
||||||
): ProcessingActivityTIAConnection! @goField(forceResolver: true)
|
): ProcessingActivityTIAConnection! @goField(forceResolver: true)
|
||||||
|
|
||||||
snapshots(
|
snapshots(
|
||||||
|
|||||||
@@ -1134,7 +1134,7 @@ type ComplexityRoot struct {
|
|||||||
CreatedAt func(childComplexity int) int
|
CreatedAt func(childComplexity int) int
|
||||||
CustomDomain func(childComplexity int) int
|
CustomDomain func(childComplexity int) int
|
||||||
Data func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.DatumOrderBy, filter *types.DatumFilter) int
|
Data func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.DatumOrderBy, filter *types.DatumFilter) int
|
||||||
DataProtectionImpactAssessments func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ProcessingActivityDPIAOrderBy) int
|
DataProtectionImpactAssessments func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ProcessingActivityDPIAOrderBy, filter *types.ProcessingActivityDPIAFilter) int
|
||||||
Description func(childComplexity int) int
|
Description func(childComplexity int) int
|
||||||
Documents func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.DocumentOrderBy, filter *types.DocumentFilter) int
|
Documents func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.DocumentOrderBy, filter *types.DocumentFilter) int
|
||||||
Email func(childComplexity int) int
|
Email func(childComplexity int) int
|
||||||
@@ -1157,7 +1157,7 @@ type ComplexityRoot struct {
|
|||||||
SlackConnections func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey) int
|
SlackConnections func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey) int
|
||||||
Snapshots func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.SnapshotOrderBy) int
|
Snapshots func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.SnapshotOrderBy) int
|
||||||
Tasks func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.TaskOrderBy) int
|
Tasks func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.TaskOrderBy) int
|
||||||
TransferImpactAssessments func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ProcessingActivityTIAOrderBy) int
|
TransferImpactAssessments func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ProcessingActivityTIAOrderBy, filter *types.ProcessingActivityTIAFilter) int
|
||||||
TrustCenter func(childComplexity int) int
|
TrustCenter func(childComplexity int) int
|
||||||
TrustCenterFiles func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.OrderBy[coredata.TrustCenterFileOrderField]) int
|
TrustCenterFiles func(childComplexity int, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.OrderBy[coredata.TrustCenterFileOrderField]) int
|
||||||
UpdatedAt func(childComplexity int) int
|
UpdatedAt func(childComplexity int) int
|
||||||
@@ -2247,8 +2247,8 @@ type OrganizationResolver interface {
|
|||||||
Obligations(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ObligationOrderBy, filter *types.ObligationFilter) (*types.ObligationConnection, error)
|
Obligations(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ObligationOrderBy, filter *types.ObligationFilter) (*types.ObligationConnection, error)
|
||||||
ContinualImprovements(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ContinualImprovementOrderBy, filter *types.ContinualImprovementFilter) (*types.ContinualImprovementConnection, error)
|
ContinualImprovements(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ContinualImprovementOrderBy, filter *types.ContinualImprovementFilter) (*types.ContinualImprovementConnection, error)
|
||||||
ProcessingActivities(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ProcessingActivityOrderBy, filter *types.ProcessingActivityFilter) (*types.ProcessingActivityConnection, error)
|
ProcessingActivities(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ProcessingActivityOrderBy, filter *types.ProcessingActivityFilter) (*types.ProcessingActivityConnection, error)
|
||||||
DataProtectionImpactAssessments(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ProcessingActivityDPIAOrderBy) (*types.ProcessingActivityDPIAConnection, error)
|
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)
|
||||||
TransferImpactAssessments(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.ProcessingActivityTIAOrderBy) (*types.ProcessingActivityTIAConnection, error)
|
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)
|
||||||
Snapshots(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.SnapshotOrderBy) (*types.SnapshotConnection, error)
|
Snapshots(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.SnapshotOrderBy) (*types.SnapshotConnection, error)
|
||||||
TrustCenterFiles(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.OrderBy[coredata.TrustCenterFileOrderField]) (*types.TrustCenterFileConnection, error)
|
TrustCenterFiles(ctx context.Context, obj *types.Organization, first *int, after *page.CursorKey, last *int, before *page.CursorKey, orderBy *types.OrderBy[coredata.TrustCenterFileOrderField]) (*types.TrustCenterFileConnection, error)
|
||||||
TrustCenter(ctx context.Context, obj *types.Organization) (*types.TrustCenter, error)
|
TrustCenter(ctx context.Context, obj *types.Organization) (*types.TrustCenter, error)
|
||||||
@@ -6715,7 +6715,7 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin
|
|||||||
return 0, false
|
return 0, false
|
||||||
}
|
}
|
||||||
|
|
||||||
return e.complexity.Organization.DataProtectionImpactAssessments(childComplexity, args["first"].(*int), args["after"].(*page.CursorKey), args["last"].(*int), args["before"].(*page.CursorKey), args["orderBy"].(*types.ProcessingActivityDPIAOrderBy)), true
|
return e.complexity.Organization.DataProtectionImpactAssessments(childComplexity, args["first"].(*int), args["after"].(*page.CursorKey), args["last"].(*int), args["before"].(*page.CursorKey), args["orderBy"].(*types.ProcessingActivityDPIAOrderBy), args["filter"].(*types.ProcessingActivityDPIAFilter)), true
|
||||||
case "Organization.description":
|
case "Organization.description":
|
||||||
if e.complexity.Organization.Description == nil {
|
if e.complexity.Organization.Description == nil {
|
||||||
break
|
break
|
||||||
@@ -6928,7 +6928,7 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin
|
|||||||
return 0, false
|
return 0, false
|
||||||
}
|
}
|
||||||
|
|
||||||
return e.complexity.Organization.TransferImpactAssessments(childComplexity, args["first"].(*int), args["after"].(*page.CursorKey), args["last"].(*int), args["before"].(*page.CursorKey), args["orderBy"].(*types.ProcessingActivityTIAOrderBy)), true
|
return e.complexity.Organization.TransferImpactAssessments(childComplexity, args["first"].(*int), args["after"].(*page.CursorKey), args["last"].(*int), args["before"].(*page.CursorKey), args["orderBy"].(*types.ProcessingActivityTIAOrderBy), args["filter"].(*types.ProcessingActivityTIAFilter)), true
|
||||||
case "Organization.trustCenter":
|
case "Organization.trustCenter":
|
||||||
if e.complexity.Organization.TrustCenter == nil {
|
if e.complexity.Organization.TrustCenter == nil {
|
||||||
break
|
break
|
||||||
@@ -9883,9 +9883,11 @@ func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler {
|
|||||||
ec.unmarshalInputOrganizationOrder,
|
ec.unmarshalInputOrganizationOrder,
|
||||||
ec.unmarshalInputPeopleFilter,
|
ec.unmarshalInputPeopleFilter,
|
||||||
ec.unmarshalInputPeopleOrder,
|
ec.unmarshalInputPeopleOrder,
|
||||||
|
ec.unmarshalInputProcessingActivityDPIAFilter,
|
||||||
ec.unmarshalInputProcessingActivityDPIAOrder,
|
ec.unmarshalInputProcessingActivityDPIAOrder,
|
||||||
ec.unmarshalInputProcessingActivityFilter,
|
ec.unmarshalInputProcessingActivityFilter,
|
||||||
ec.unmarshalInputProcessingActivityOrder,
|
ec.unmarshalInputProcessingActivityOrder,
|
||||||
|
ec.unmarshalInputProcessingActivityTIAFilter,
|
||||||
ec.unmarshalInputProcessingActivityTIAOrder,
|
ec.unmarshalInputProcessingActivityTIAOrder,
|
||||||
ec.unmarshalInputPublishDocumentVersionInput,
|
ec.unmarshalInputPublishDocumentVersionInput,
|
||||||
ec.unmarshalInputRemoveMemberInput,
|
ec.unmarshalInputRemoveMemberInput,
|
||||||
@@ -11564,6 +11566,14 @@ input ProcessingActivityFilter {
|
|||||||
snapshotId: ID
|
snapshotId: ID
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input ProcessingActivityDPIAFilter {
|
||||||
|
snapshotId: ID
|
||||||
|
}
|
||||||
|
|
||||||
|
input ProcessingActivityTIAFilter {
|
||||||
|
snapshotId: ID
|
||||||
|
}
|
||||||
|
|
||||||
input AssetFilter {
|
input AssetFilter {
|
||||||
snapshotId: ID
|
snapshotId: ID
|
||||||
}
|
}
|
||||||
@@ -11781,6 +11791,7 @@ type Organization implements Node {
|
|||||||
last: Int
|
last: Int
|
||||||
before: CursorKey
|
before: CursorKey
|
||||||
orderBy: ProcessingActivityDPIAOrder
|
orderBy: ProcessingActivityDPIAOrder
|
||||||
|
filter: ProcessingActivityDPIAFilter = { snapshotId: null }
|
||||||
): ProcessingActivityDPIAConnection! @goField(forceResolver: true)
|
): ProcessingActivityDPIAConnection! @goField(forceResolver: true)
|
||||||
|
|
||||||
transferImpactAssessments(
|
transferImpactAssessments(
|
||||||
@@ -11789,6 +11800,7 @@ type Organization implements Node {
|
|||||||
last: Int
|
last: Int
|
||||||
before: CursorKey
|
before: CursorKey
|
||||||
orderBy: ProcessingActivityTIAOrder
|
orderBy: ProcessingActivityTIAOrder
|
||||||
|
filter: ProcessingActivityTIAFilter = { snapshotId: null }
|
||||||
): ProcessingActivityTIAConnection! @goField(forceResolver: true)
|
): ProcessingActivityTIAConnection! @goField(forceResolver: true)
|
||||||
|
|
||||||
snapshots(
|
snapshots(
|
||||||
@@ -17552,6 +17564,11 @@ func (ec *executionContext) field_Organization_dataProtectionImpactAssessments_a
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
args["orderBy"] = arg4
|
args["orderBy"] = arg4
|
||||||
|
arg5, err := graphql.ProcessArgField(ctx, rawArgs, "filter", ec.unmarshalOProcessingActivityDPIAFilter2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐProcessingActivityDPIAFilter)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
args["filter"] = arg5
|
||||||
return args, nil
|
return args, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -18088,6 +18105,11 @@ func (ec *executionContext) field_Organization_transferImpactAssessments_args(ct
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
args["orderBy"] = arg4
|
args["orderBy"] = arg4
|
||||||
|
arg5, err := graphql.ProcessArgField(ctx, rawArgs, "filter", ec.unmarshalOProcessingActivityTIAFilter2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐProcessingActivityTIAFilter)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
args["filter"] = arg5
|
||||||
return args, nil
|
return args, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41067,7 +41089,7 @@ func (ec *executionContext) _Organization_dataProtectionImpactAssessments(ctx co
|
|||||||
ec.fieldContext_Organization_dataProtectionImpactAssessments,
|
ec.fieldContext_Organization_dataProtectionImpactAssessments,
|
||||||
func(ctx context.Context) (any, error) {
|
func(ctx context.Context) (any, error) {
|
||||||
fc := graphql.GetFieldContext(ctx)
|
fc := graphql.GetFieldContext(ctx)
|
||||||
return ec.resolvers.Organization().DataProtectionImpactAssessments(ctx, obj, fc.Args["first"].(*int), fc.Args["after"].(*page.CursorKey), fc.Args["last"].(*int), fc.Args["before"].(*page.CursorKey), fc.Args["orderBy"].(*types.ProcessingActivityDPIAOrderBy))
|
return ec.resolvers.Organization().DataProtectionImpactAssessments(ctx, obj, fc.Args["first"].(*int), fc.Args["after"].(*page.CursorKey), fc.Args["last"].(*int), fc.Args["before"].(*page.CursorKey), fc.Args["orderBy"].(*types.ProcessingActivityDPIAOrderBy), fc.Args["filter"].(*types.ProcessingActivityDPIAFilter))
|
||||||
},
|
},
|
||||||
nil,
|
nil,
|
||||||
ec.marshalNProcessingActivityDPIAConnection2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐProcessingActivityDPIAConnection,
|
ec.marshalNProcessingActivityDPIAConnection2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐProcessingActivityDPIAConnection,
|
||||||
@@ -41116,7 +41138,7 @@ func (ec *executionContext) _Organization_transferImpactAssessments(ctx context.
|
|||||||
ec.fieldContext_Organization_transferImpactAssessments,
|
ec.fieldContext_Organization_transferImpactAssessments,
|
||||||
func(ctx context.Context) (any, error) {
|
func(ctx context.Context) (any, error) {
|
||||||
fc := graphql.GetFieldContext(ctx)
|
fc := graphql.GetFieldContext(ctx)
|
||||||
return ec.resolvers.Organization().TransferImpactAssessments(ctx, obj, fc.Args["first"].(*int), fc.Args["after"].(*page.CursorKey), fc.Args["last"].(*int), fc.Args["before"].(*page.CursorKey), fc.Args["orderBy"].(*types.ProcessingActivityTIAOrderBy))
|
return ec.resolvers.Organization().TransferImpactAssessments(ctx, obj, fc.Args["first"].(*int), fc.Args["after"].(*page.CursorKey), fc.Args["last"].(*int), fc.Args["before"].(*page.CursorKey), fc.Args["orderBy"].(*types.ProcessingActivityTIAOrderBy), fc.Args["filter"].(*types.ProcessingActivityTIAFilter))
|
||||||
},
|
},
|
||||||
nil,
|
nil,
|
||||||
ec.marshalNProcessingActivityTIAConnection2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐProcessingActivityTIAConnection,
|
ec.marshalNProcessingActivityTIAConnection2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐProcessingActivityTIAConnection,
|
||||||
@@ -64622,6 +64644,33 @@ func (ec *executionContext) unmarshalInputPeopleOrder(ctx context.Context, obj a
|
|||||||
return it, nil
|
return it, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) unmarshalInputProcessingActivityDPIAFilter(ctx context.Context, obj any) (types.ProcessingActivityDPIAFilter, error) {
|
||||||
|
var it types.ProcessingActivityDPIAFilter
|
||||||
|
asMap := map[string]any{}
|
||||||
|
for k, v := range obj.(map[string]any) {
|
||||||
|
asMap[k] = v
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldsInOrder := [...]string{"snapshotId"}
|
||||||
|
for _, k := range fieldsInOrder {
|
||||||
|
v, ok := asMap[k]
|
||||||
|
if !ok {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch k {
|
||||||
|
case "snapshotId":
|
||||||
|
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("snapshotId"))
|
||||||
|
data, err := ec.unmarshalOID2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋgidᚐGID(ctx, v)
|
||||||
|
if err != nil {
|
||||||
|
return it, err
|
||||||
|
}
|
||||||
|
it.SnapshotID = data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return it, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) unmarshalInputProcessingActivityDPIAOrder(ctx context.Context, obj any) (types.ProcessingActivityDPIAOrderBy, error) {
|
func (ec *executionContext) unmarshalInputProcessingActivityDPIAOrder(ctx context.Context, obj any) (types.ProcessingActivityDPIAOrderBy, error) {
|
||||||
var it types.ProcessingActivityDPIAOrderBy
|
var it types.ProcessingActivityDPIAOrderBy
|
||||||
asMap := map[string]any{}
|
asMap := map[string]any{}
|
||||||
@@ -64717,6 +64766,33 @@ func (ec *executionContext) unmarshalInputProcessingActivityOrder(ctx context.Co
|
|||||||
return it, nil
|
return it, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) unmarshalInputProcessingActivityTIAFilter(ctx context.Context, obj any) (types.ProcessingActivityTIAFilter, error) {
|
||||||
|
var it types.ProcessingActivityTIAFilter
|
||||||
|
asMap := map[string]any{}
|
||||||
|
for k, v := range obj.(map[string]any) {
|
||||||
|
asMap[k] = v
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldsInOrder := [...]string{"snapshotId"}
|
||||||
|
for _, k := range fieldsInOrder {
|
||||||
|
v, ok := asMap[k]
|
||||||
|
if !ok {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
switch k {
|
||||||
|
case "snapshotId":
|
||||||
|
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("snapshotId"))
|
||||||
|
data, err := ec.unmarshalOID2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋgidᚐGID(ctx, v)
|
||||||
|
if err != nil {
|
||||||
|
return it, err
|
||||||
|
}
|
||||||
|
it.SnapshotID = data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return it, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) unmarshalInputProcessingActivityTIAOrder(ctx context.Context, obj any) (types.ProcessingActivityTIAOrderBy, error) {
|
func (ec *executionContext) unmarshalInputProcessingActivityTIAOrder(ctx context.Context, obj any) (types.ProcessingActivityTIAOrderBy, error) {
|
||||||
var it types.ProcessingActivityTIAOrderBy
|
var it types.ProcessingActivityTIAOrderBy
|
||||||
asMap := map[string]any{}
|
asMap := map[string]any{}
|
||||||
@@ -98053,6 +98129,14 @@ func (ec *executionContext) marshalOProcessingActivityDPIA2ᚖgoᚗproboᚗinc
|
|||||||
return ec._ProcessingActivityDPIA(ctx, sel, v)
|
return ec._ProcessingActivityDPIA(ctx, sel, v)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) unmarshalOProcessingActivityDPIAFilter2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐProcessingActivityDPIAFilter(ctx context.Context, v any) (*types.ProcessingActivityDPIAFilter, error) {
|
||||||
|
if v == nil {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
res, err := ec.unmarshalInputProcessingActivityDPIAFilter(ctx, v)
|
||||||
|
return &res, graphql.ErrorOnPath(ctx, err)
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) unmarshalOProcessingActivityDPIAOrder2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐProcessingActivityDPIAOrderBy(ctx context.Context, v any) (*types.ProcessingActivityDPIAOrderBy, error) {
|
func (ec *executionContext) unmarshalOProcessingActivityDPIAOrder2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐProcessingActivityDPIAOrderBy(ctx context.Context, v any) (*types.ProcessingActivityDPIAOrderBy, error) {
|
||||||
if v == nil {
|
if v == nil {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
@@ -98246,6 +98330,14 @@ func (ec *executionContext) marshalOProcessingActivityTIA2ᚖgoᚗproboᚗincᚋ
|
|||||||
return ec._ProcessingActivityTIA(ctx, sel, v)
|
return ec._ProcessingActivityTIA(ctx, sel, v)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) unmarshalOProcessingActivityTIAFilter2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐProcessingActivityTIAFilter(ctx context.Context, v any) (*types.ProcessingActivityTIAFilter, error) {
|
||||||
|
if v == nil {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
res, err := ec.unmarshalInputProcessingActivityTIAFilter(ctx, v)
|
||||||
|
return &res, graphql.ErrorOnPath(ctx, err)
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) unmarshalOProcessingActivityTIAOrder2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐProcessingActivityTIAOrderBy(ctx context.Context, v any) (*types.ProcessingActivityTIAOrderBy, error) {
|
func (ec *executionContext) unmarshalOProcessingActivityTIAOrder2ᚖgoᚗproboᚗincᚋproboᚋpkgᚋserverᚋapiᚋconsoleᚋv1ᚋtypesᚐProcessingActivityTIAOrderBy(ctx context.Context, v any) (*types.ProcessingActivityTIAOrderBy, error) {
|
||||||
if v == nil {
|
if v == nil {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ type (
|
|||||||
|
|
||||||
Resolver any
|
Resolver any
|
||||||
ParentID gid.GID
|
ParentID gid.GID
|
||||||
|
Filter *coredata.ProcessingActivityDPIAFilter
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -37,6 +38,7 @@ func NewProcessingActivityDPIAConnection(
|
|||||||
p *page.Page[*coredata.ProcessingActivityDPIA, coredata.ProcessingActivityDPIAOrderField],
|
p *page.Page[*coredata.ProcessingActivityDPIA, coredata.ProcessingActivityDPIAOrderField],
|
||||||
parentType any,
|
parentType any,
|
||||||
parentID gid.GID,
|
parentID gid.GID,
|
||||||
|
filter *coredata.ProcessingActivityDPIAFilter,
|
||||||
) *ProcessingActivityDPIAConnection {
|
) *ProcessingActivityDPIAConnection {
|
||||||
edges := make([]*ProcessingActivityDPIAEdge, len(p.Data))
|
edges := make([]*ProcessingActivityDPIAEdge, len(p.Data))
|
||||||
for i, dpia := range p.Data {
|
for i, dpia := range p.Data {
|
||||||
@@ -49,6 +51,7 @@ func NewProcessingActivityDPIAConnection(
|
|||||||
|
|
||||||
Resolver: parentType,
|
Resolver: parentType,
|
||||||
ParentID: parentID,
|
ParentID: parentID,
|
||||||
|
Filter: filter,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ type (
|
|||||||
|
|
||||||
Resolver any
|
Resolver any
|
||||||
ParentID gid.GID
|
ParentID gid.GID
|
||||||
|
Filter *coredata.ProcessingActivityTIAFilter
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -37,6 +38,7 @@ func NewProcessingActivityTIAConnection(
|
|||||||
p *page.Page[*coredata.ProcessingActivityTIA, coredata.ProcessingActivityTIAOrderField],
|
p *page.Page[*coredata.ProcessingActivityTIA, coredata.ProcessingActivityTIAOrderField],
|
||||||
parentType any,
|
parentType any,
|
||||||
parentID gid.GID,
|
parentID gid.GID,
|
||||||
|
filter *coredata.ProcessingActivityTIAFilter,
|
||||||
) *ProcessingActivityTIAConnection {
|
) *ProcessingActivityTIAConnection {
|
||||||
edges := make([]*ProcessingActivityTIAEdge, len(p.Data))
|
edges := make([]*ProcessingActivityTIAEdge, len(p.Data))
|
||||||
for i, tia := range p.Data {
|
for i, tia := range p.Data {
|
||||||
@@ -49,6 +51,7 @@ func NewProcessingActivityTIAConnection(
|
|||||||
|
|
||||||
Resolver: parentType,
|
Resolver: parentType,
|
||||||
ParentID: parentID,
|
ParentID: parentID,
|
||||||
|
Filter: filter,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1621,6 +1621,10 @@ type ProcessingActivityDPIAEdge struct {
|
|||||||
Node *ProcessingActivityDpia `json:"node"`
|
Node *ProcessingActivityDpia `json:"node"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ProcessingActivityDPIAFilter struct {
|
||||||
|
SnapshotID *gid.GID `json:"snapshotId,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
type ProcessingActivityEdge struct {
|
type ProcessingActivityEdge struct {
|
||||||
Cursor page.CursorKey `json:"cursor"`
|
Cursor page.CursorKey `json:"cursor"`
|
||||||
Node *ProcessingActivity `json:"node"`
|
Node *ProcessingActivity `json:"node"`
|
||||||
@@ -1651,6 +1655,10 @@ type ProcessingActivityTIAEdge struct {
|
|||||||
Node *ProcessingActivityTia `json:"node"`
|
Node *ProcessingActivityTia `json:"node"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ProcessingActivityTIAFilter struct {
|
||||||
|
SnapshotID *gid.GID `json:"snapshotId,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
type PublishDocumentVersionInput struct {
|
type PublishDocumentVersionInput struct {
|
||||||
DocumentID gid.GID `json:"documentId"`
|
DocumentID gid.GID `json:"documentId"`
|
||||||
Changelog *string `json:"changelog,omitempty"`
|
Changelog *string `json:"changelog,omitempty"`
|
||||||
|
|||||||
@@ -5531,7 +5531,7 @@ func (r *organizationResolver) ProcessingActivities(ctx context.Context, obj *ty
|
|||||||
}
|
}
|
||||||
|
|
||||||
// DataProtectionImpactAssessments is the resolver for the dataProtectionImpactAssessments field.
|
// 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) (*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.ProcessingActivityDPIAOrderBy, filter *types.ProcessingActivityDPIAFilter) (*types.ProcessingActivityDPIAConnection, error) {
|
||||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionListProcessingActivities)
|
r.MustBeAuthorized(ctx, obj.ID, authz.ActionListProcessingActivities)
|
||||||
|
|
||||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||||
@@ -5550,16 +5550,21 @@ func (r *organizationResolver) DataProtectionImpactAssessments(ctx context.Conte
|
|||||||
|
|
||||||
cursor := types.NewCursor(first, after, last, before, pageOrderBy)
|
cursor := types.NewCursor(first, after, last, before, pageOrderBy)
|
||||||
|
|
||||||
page, err := prb.ProcessingActivityDPIAs.ListForOrganizationID(ctx, obj.ID, cursor)
|
dpiaFilter := coredata.NewProcessingActivityDPIAFilter(nil)
|
||||||
|
if filter != nil {
|
||||||
|
dpiaFilter = coredata.NewProcessingActivityDPIAFilter(&filter.SnapshotID)
|
||||||
|
}
|
||||||
|
|
||||||
|
page, err := prb.ProcessingActivityDPIAs.ListForOrganizationID(ctx, obj.ID, cursor, dpiaFilter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(fmt.Errorf("cannot list organization data protection impact assessments: %w", err))
|
panic(fmt.Errorf("cannot list organization data protection impact assessments: %w", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
return types.NewProcessingActivityDPIAConnection(page, r, obj.ID), nil
|
return types.NewProcessingActivityDPIAConnection(page, r, obj.ID, dpiaFilter), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// TransferImpactAssessments is the resolver for the transferImpactAssessments field.
|
// 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) (*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.ProcessingActivityTIAOrderBy, filter *types.ProcessingActivityTIAFilter) (*types.ProcessingActivityTIAConnection, error) {
|
||||||
r.MustBeAuthorized(ctx, obj.ID, authz.ActionListProcessingActivities)
|
r.MustBeAuthorized(ctx, obj.ID, authz.ActionListProcessingActivities)
|
||||||
|
|
||||||
prb := r.ProboService(ctx, obj.ID.TenantID())
|
prb := r.ProboService(ctx, obj.ID.TenantID())
|
||||||
@@ -5578,12 +5583,17 @@ func (r *organizationResolver) TransferImpactAssessments(ctx context.Context, ob
|
|||||||
|
|
||||||
cursor := types.NewCursor(first, after, last, before, pageOrderBy)
|
cursor := types.NewCursor(first, after, last, before, pageOrderBy)
|
||||||
|
|
||||||
page, err := prb.ProcessingActivityTIAs.ListForOrganizationID(ctx, obj.ID, cursor)
|
tiaFilter := coredata.NewProcessingActivityTIAFilter(nil)
|
||||||
|
if filter != nil {
|
||||||
|
tiaFilter = coredata.NewProcessingActivityTIAFilter(&filter.SnapshotID)
|
||||||
|
}
|
||||||
|
|
||||||
|
page, err := prb.ProcessingActivityTIAs.ListForOrganizationID(ctx, obj.ID, cursor, tiaFilter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(fmt.Errorf("cannot list organization transfer impact assessments: %w", err))
|
panic(fmt.Errorf("cannot list organization transfer impact assessments: %w", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
return types.NewProcessingActivityTIAConnection(page, r, obj.ID), nil
|
return types.NewProcessingActivityTIAConnection(page, r, obj.ID, tiaFilter), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Snapshots is the resolver for the snapshots field.
|
// Snapshots is the resolver for the snapshots field.
|
||||||
@@ -5896,7 +5906,7 @@ func (r *processingActivityDPIAConnectionResolver) TotalCount(ctx context.Contex
|
|||||||
|
|
||||||
switch obj.Resolver.(type) {
|
switch obj.Resolver.(type) {
|
||||||
case *organizationResolver:
|
case *organizationResolver:
|
||||||
count, err := prb.ProcessingActivityDPIAs.CountForOrganizationID(ctx, obj.ParentID)
|
count, err := prb.ProcessingActivityDPIAs.CountForOrganizationID(ctx, obj.ParentID, obj.Filter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(fmt.Errorf("cannot count organization data protection impact assessments: %w", err))
|
panic(fmt.Errorf("cannot count organization data protection impact assessments: %w", err))
|
||||||
}
|
}
|
||||||
@@ -5956,7 +5966,7 @@ func (r *processingActivityTIAConnectionResolver) TotalCount(ctx context.Context
|
|||||||
|
|
||||||
switch obj.Resolver.(type) {
|
switch obj.Resolver.(type) {
|
||||||
case *organizationResolver:
|
case *organizationResolver:
|
||||||
count, err := prb.ProcessingActivityTIAs.CountForOrganizationID(ctx, obj.ParentID)
|
count, err := prb.ProcessingActivityTIAs.CountForOrganizationID(ctx, obj.ParentID, obj.Filter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(fmt.Errorf("cannot count organization transfer impact assessments: %w", err))
|
panic(fmt.Errorf("cannot count organization transfer impact assessments: %w", err))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user