Decouple users from people

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2025-09-22 15:02:08 +02:00
parent 104330d3fd
commit 533822b60d
35 changed files with 296 additions and 872 deletions

View File

@@ -128,12 +128,12 @@ export const paginatedVendorsFragment = graphql`
updatedAt
riskAssessments(
first: 1
orderBy: { direction: DESC, field: ASSESSED_AT }
orderBy: { direction: DESC, field: CREATED_AT }
) {
edges {
node {
id
assessedAt
createdAt
expiresAt
dataSensitivity
businessImpact
@@ -165,6 +165,7 @@ export const vendorNodeQuery = graphql`
}
viewer {
user {
id
people(organizationId: $organizationId) {
id
}

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<85c6bcb5e086b05009ccfaf8ac21a23e>>
* @generated SignedSource<<ad33fa2c4266cca92954782c7805effc>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -387,19 +387,6 @@ return {
"name": "updatedAt",
"storageKey": null
},
{
"alias": null,
"args": null,
"concreteType": "People",
"kind": "LinkedField",
"name": "publishedBy",
"plural": false,
"selections": [
(v4/*: any*/),
(v3/*: any*/)
],
"storageKey": null
},
{
"alias": null,
"args": (v11/*: any*/),
@@ -520,12 +507,12 @@ return {
]
},
"params": {
"cacheID": "fbfe2cc393b8fc5349a92f3443f12e0e",
"cacheID": "ef08fbd3755a6ab5eff7786164842da8",
"id": null,
"metadata": {},
"name": "DocumentGraphNodeQuery",
"operationKind": "query",
"text": "query DocumentGraphNodeQuery(\n $documentId: ID!\n) {\n node(id: $documentId) {\n __typename\n ... on Document {\n ...DocumentDetailPageDocumentFragment\n }\n id\n }\n}\n\nfragment DocumentControlsTabFragment on Document {\n id\n controls(first: 20) {\n edges {\n node {\n id\n ...LinkedControlsCardFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n}\n\nfragment DocumentDetailPageDocumentFragment on Document {\n id\n title\n documentType\n owner {\n id\n fullName\n }\n ...DocumentControlsTabFragment\n controlsInfo: controls(first: 0) {\n totalCount\n }\n versions(first: 20) {\n edges {\n node {\n id\n content\n status\n publishedAt\n version\n updatedAt\n publishedBy {\n fullName\n id\n }\n signatures(first: 100) {\n edges {\n node {\n id\n state\n signedBy {\n id\n }\n ...DocumentSignaturesTab_signature\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n\nfragment DocumentSignaturesTab_signature on DocumentVersionSignature {\n id\n state\n signedAt\n requestedAt\n signedBy {\n fullName\n primaryEmailAddress\n id\n }\n}\n\nfragment LinkedControlsCardFragment on Control {\n id\n name\n sectionTitle\n framework {\n id\n name\n }\n}\n"
"text": "query DocumentGraphNodeQuery(\n $documentId: ID!\n) {\n node(id: $documentId) {\n __typename\n ... on Document {\n ...DocumentDetailPageDocumentFragment\n }\n id\n }\n}\n\nfragment DocumentControlsTabFragment on Document {\n id\n controls(first: 20) {\n edges {\n node {\n id\n ...LinkedControlsCardFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n}\n\nfragment DocumentDetailPageDocumentFragment on Document {\n id\n title\n documentType\n owner {\n id\n fullName\n }\n ...DocumentControlsTabFragment\n controlsInfo: controls(first: 0) {\n totalCount\n }\n versions(first: 20) {\n edges {\n node {\n id\n content\n status\n publishedAt\n version\n updatedAt\n signatures(first: 100) {\n edges {\n node {\n id\n state\n signedBy {\n id\n }\n ...DocumentSignaturesTab_signature\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n\nfragment DocumentSignaturesTab_signature on DocumentVersionSignature {\n id\n state\n signedAt\n requestedAt\n signedBy {\n fullName\n primaryEmailAddress\n id\n }\n}\n\nfragment LinkedControlsCardFragment on Control {\n id\n name\n sectionTitle\n framework {\n id\n name\n }\n}\n"
}
};
})();

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<5b8f324da8c4dc9302cb6f821062757d>>
* @generated SignedSource<<46d46472ea11f58c00df8b8827afab98>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -13,7 +13,6 @@ import { FragmentRefs } from "relay-runtime";
export type DocumentType = "ISMS" | "OTHER" | "POLICY";
export type UpdateDocumentInput = {
content?: string | null | undefined;
createdBy?: string | null | undefined;
documentType?: DocumentType | null | undefined;
id: string;
ownerId?: string | null | undefined;

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<8b1614888dac560deff871232f91995d>>
* @generated SignedSource<<554f3a594f825db3f7f7da0c5c1d8b1f>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -198,7 +198,7 @@ return {
"name": "orderBy",
"value": {
"direction": "DESC",
"field": "ASSESSED_AT"
"field": "CREATED_AT"
}
}
],
@@ -228,7 +228,7 @@ return {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "assessedAt",
"name": "createdAt",
"storageKey": null
},
{
@@ -259,7 +259,7 @@ return {
"storageKey": null
}
],
"storageKey": "riskAssessments(first:1,orderBy:{\"direction\":\"DESC\",\"field\":\"ASSESSED_AT\"})"
"storageKey": "riskAssessments(first:1,orderBy:{\"direction\":\"DESC\",\"field\":\"CREATED_AT\"})"
},
(v4/*: any*/)
],
@@ -350,12 +350,12 @@ return {
]
},
"params": {
"cacheID": "4b19f6f4be47c38d8b68601ec95315a6",
"cacheID": "998ad60d132157090312ac11e318b2e5",
"id": null,
"metadata": {},
"name": "VendorGraphListQuery",
"operationKind": "query",
"text": "query VendorGraphListQuery(\n $organizationId: ID!\n $snapshotId: ID\n) {\n node(id: $organizationId) {\n __typename\n ... on Organization {\n id\n ...VendorGraphPaginatedFragment_3iomuz\n }\n id\n }\n}\n\nfragment VendorGraphPaginatedFragment_3iomuz on Organization {\n vendors(first: 50, filter: {snapshotId: $snapshotId}) {\n edges {\n node {\n id\n snapshotId\n name\n websiteUrl\n updatedAt\n riskAssessments(first: 1, orderBy: {direction: DESC, field: ASSESSED_AT}) {\n edges {\n node {\n id\n assessedAt\n expiresAt\n dataSensitivity\n businessImpact\n }\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n"
"text": "query VendorGraphListQuery(\n $organizationId: ID!\n $snapshotId: ID\n) {\n node(id: $organizationId) {\n __typename\n ... on Organization {\n id\n ...VendorGraphPaginatedFragment_3iomuz\n }\n id\n }\n}\n\nfragment VendorGraphPaginatedFragment_3iomuz on Organization {\n vendors(first: 50, filter: {snapshotId: $snapshotId}) {\n edges {\n node {\n id\n snapshotId\n name\n websiteUrl\n updatedAt\n riskAssessments(first: 1, orderBy: {direction: DESC, field: CREATED_AT}) {\n edges {\n node {\n id\n createdAt\n expiresAt\n dataSensitivity\n businessImpact\n }\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n"
}
};
})();

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<15c7796ac43c03708488ba03ef9d76a6>>
* @generated SignedSource<<d72032da6df08b84ce9c7ec87b950d08>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -24,6 +24,7 @@ export type VendorGraphNodeQuery$data = {
};
readonly viewer: {
readonly user: {
readonly id: string;
readonly people: {
readonly id: string;
} | null | undefined;
@@ -86,18 +87,30 @@ v7 = [
],
v8 = {
"alias": null,
"args": [
"args": null,
"concreteType": "User",
"kind": "LinkedField",
"name": "user",
"plural": false,
"selections": [
(v3/*: any*/),
{
"kind": "Variable",
"name": "organizationId",
"variableName": "organizationId"
"alias": null,
"args": [
{
"kind": "Variable",
"name": "organizationId",
"variableName": "organizationId"
}
],
"concreteType": "People",
"kind": "LinkedField",
"name": "people",
"plural": false,
"selections": (v7/*: any*/),
"storageKey": null
}
],
"concreteType": "People",
"kind": "LinkedField",
"name": "people",
"plural": false,
"selections": (v7/*: any*/),
"storageKey": null
},
v9 = {
@@ -204,24 +217,17 @@ v22 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "fullName",
"name": "createdAt",
"storageKey": null
},
v23 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "createdAt",
"storageKey": null
},
v24 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "updatedAt",
"storageKey": null
},
v25 = [
v24 = [
(v3/*: any*/),
{
"alias": null,
@@ -239,7 +245,7 @@ v25 = [
"storageKey": null
},
(v12/*: any*/),
(v23/*: any*/)
(v22/*: any*/)
];
return {
"fragment": {
@@ -316,18 +322,7 @@ return {
"name": "viewer",
"plural": false,
"selections": [
{
"alias": null,
"args": null,
"concreteType": "User",
"kind": "LinkedField",
"name": "user",
"plural": false,
"selections": [
(v8/*: any*/)
],
"storageKey": null
}
(v8/*: any*/)
],
"storageKey": null
}
@@ -560,7 +555,13 @@ return {
"plural": false,
"selections": [
(v3/*: any*/),
(v22/*: any*/),
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "fullName",
"storageKey": null
},
{
"alias": null,
"args": null,
@@ -582,8 +583,8 @@ return {
"name": "role",
"storageKey": null
},
(v22/*: any*/),
(v23/*: any*/),
(v24/*: any*/),
(v9/*: any*/)
],
"storageKey": null
@@ -633,8 +634,8 @@ return {
(v3/*: any*/),
(v5/*: any*/),
(v10/*: any*/),
(v22/*: any*/),
(v23/*: any*/),
(v24/*: any*/),
(v9/*: any*/)
],
"storageKey": null
@@ -682,26 +683,7 @@ return {
"plural": false,
"selections": [
(v3/*: any*/),
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "assessedAt",
"storageKey": null
},
{
"alias": null,
"args": null,
"concreteType": "People",
"kind": "LinkedField",
"name": "assessedBy",
"plural": false,
"selections": [
(v3/*: any*/),
(v22/*: any*/)
],
"storageKey": null
},
(v22/*: any*/),
{
"alias": null,
"args": null,
@@ -773,7 +755,7 @@ return {
"kind": "LinkedField",
"name": "businessAssociateAgreement",
"plural": false,
"selections": (v25/*: any*/),
"selections": (v24/*: any*/),
"storageKey": null
},
{
@@ -783,7 +765,7 @@ return {
"kind": "LinkedField",
"name": "dataPrivacyAgreement",
"plural": false,
"selections": (v25/*: any*/),
"selections": (v24/*: any*/),
"storageKey": null
}
],
@@ -801,19 +783,7 @@ return {
"name": "viewer",
"plural": false,
"selections": [
{
"alias": null,
"args": null,
"concreteType": "User",
"kind": "LinkedField",
"name": "user",
"plural": false,
"selections": [
(v8/*: any*/),
(v3/*: any*/)
],
"storageKey": null
},
(v8/*: any*/),
(v3/*: any*/)
],
"storageKey": null
@@ -821,16 +791,16 @@ return {
]
},
"params": {
"cacheID": "90924936acacd1851e8e81b1d94d6655",
"cacheID": "4a112f861864990f5022d279ba8d43d4",
"id": null,
"metadata": {},
"name": "VendorGraphNodeQuery",
"operationKind": "query",
"text": "query VendorGraphNodeQuery(\n $vendorId: ID!\n $organizationId: ID!\n) {\n node(id: $vendorId) {\n __typename\n ... on Vendor {\n id\n snapshotId\n name\n websiteUrl\n ...useVendorFormFragment\n ...VendorComplianceTabFragment\n ...VendorContactsTabFragment\n ...VendorServicesTabFragment\n ...VendorRiskAssessmentTabFragment\n ...VendorOverviewTabBusinessAssociateAgreementFragment\n ...VendorOverviewTabDataPrivacyAgreementFragment\n }\n id\n }\n viewer {\n user {\n people(organizationId: $organizationId) {\n id\n }\n id\n }\n id\n }\n}\n\nfragment VendorComplianceTabFragment on Vendor {\n complianceReports(first: 50) {\n edges {\n node {\n id\n ...VendorComplianceTabFragment_report\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n\nfragment VendorComplianceTabFragment_report on VendorComplianceReport {\n id\n reportDate\n validUntil\n reportName\n fileUrl\n fileSize\n}\n\nfragment VendorContactsTabFragment on Vendor {\n contacts(first: 50) {\n edges {\n node {\n id\n ...VendorContactsTabFragment_contact\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n\nfragment VendorContactsTabFragment_contact on VendorContact {\n id\n fullName\n email\n phone\n role\n createdAt\n updatedAt\n}\n\nfragment VendorOverviewTabBusinessAssociateAgreementFragment on Vendor {\n businessAssociateAgreement {\n id\n fileName\n fileUrl\n validFrom\n validUntil\n createdAt\n }\n}\n\nfragment VendorOverviewTabDataPrivacyAgreementFragment on Vendor {\n dataPrivacyAgreement {\n id\n fileName\n fileUrl\n validFrom\n validUntil\n createdAt\n }\n}\n\nfragment VendorRiskAssessmentTabFragment on Vendor {\n id\n riskAssessments(first: 50) {\n edges {\n node {\n id\n ...VendorRiskAssessmentTabFragment_assessment\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n hasPreviousPage\n startCursor\n }\n }\n}\n\nfragment VendorRiskAssessmentTabFragment_assessment on VendorRiskAssessment {\n id\n assessedAt\n assessedBy {\n id\n fullName\n }\n expiresAt\n dataSensitivity\n businessImpact\n notes\n}\n\nfragment VendorServicesTabFragment on Vendor {\n services(first: 50) {\n edges {\n node {\n id\n ...VendorServicesTabFragment_service\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n\nfragment VendorServicesTabFragment_service on VendorService {\n id\n name\n description\n createdAt\n updatedAt\n}\n\nfragment useVendorFormFragment on Vendor {\n id\n name\n description\n category\n statusPageUrl\n termsOfServiceUrl\n privacyPolicyUrl\n serviceLevelAgreementUrl\n dataProcessingAgreementUrl\n websiteUrl\n legalName\n headquarterAddress\n certifications\n countries\n securityPageUrl\n trustPageUrl\n businessOwner {\n id\n }\n securityOwner {\n id\n }\n}\n"
"text": "query VendorGraphNodeQuery(\n $vendorId: ID!\n $organizationId: ID!\n) {\n node(id: $vendorId) {\n __typename\n ... on Vendor {\n id\n snapshotId\n name\n websiteUrl\n ...useVendorFormFragment\n ...VendorComplianceTabFragment\n ...VendorContactsTabFragment\n ...VendorServicesTabFragment\n ...VendorRiskAssessmentTabFragment\n ...VendorOverviewTabBusinessAssociateAgreementFragment\n ...VendorOverviewTabDataPrivacyAgreementFragment\n }\n id\n }\n viewer {\n user {\n id\n people(organizationId: $organizationId) {\n id\n }\n }\n id\n }\n}\n\nfragment VendorComplianceTabFragment on Vendor {\n complianceReports(first: 50) {\n edges {\n node {\n id\n ...VendorComplianceTabFragment_report\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n\nfragment VendorComplianceTabFragment_report on VendorComplianceReport {\n id\n reportDate\n validUntil\n reportName\n fileUrl\n fileSize\n}\n\nfragment VendorContactsTabFragment on Vendor {\n contacts(first: 50) {\n edges {\n node {\n id\n ...VendorContactsTabFragment_contact\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n\nfragment VendorContactsTabFragment_contact on VendorContact {\n id\n fullName\n email\n phone\n role\n createdAt\n updatedAt\n}\n\nfragment VendorOverviewTabBusinessAssociateAgreementFragment on Vendor {\n businessAssociateAgreement {\n id\n fileName\n fileUrl\n validFrom\n validUntil\n createdAt\n }\n}\n\nfragment VendorOverviewTabDataPrivacyAgreementFragment on Vendor {\n dataPrivacyAgreement {\n id\n fileName\n fileUrl\n validFrom\n validUntil\n createdAt\n }\n}\n\nfragment VendorRiskAssessmentTabFragment on Vendor {\n id\n riskAssessments(first: 50) {\n edges {\n node {\n id\n ...VendorRiskAssessmentTabFragment_assessment\n __typename\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n hasPreviousPage\n startCursor\n }\n }\n}\n\nfragment VendorRiskAssessmentTabFragment_assessment on VendorRiskAssessment {\n id\n createdAt\n expiresAt\n dataSensitivity\n businessImpact\n notes\n}\n\nfragment VendorServicesTabFragment on Vendor {\n services(first: 50) {\n edges {\n node {\n id\n ...VendorServicesTabFragment_service\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n\nfragment VendorServicesTabFragment_service on VendorService {\n id\n name\n description\n createdAt\n updatedAt\n}\n\nfragment useVendorFormFragment on Vendor {\n id\n name\n description\n category\n statusPageUrl\n termsOfServiceUrl\n privacyPolicyUrl\n serviceLevelAgreementUrl\n dataProcessingAgreementUrl\n websiteUrl\n legalName\n headquarterAddress\n certifications\n countries\n securityPageUrl\n trustPageUrl\n businessOwner {\n id\n }\n securityOwner {\n id\n }\n}\n"
}
};
})();
(node as any).hash = "4af64d92bd85441554a2c6ad8d2ccd77";
(node as any).hash = "5b907e5cc3446745ff2414ee06839aed";
export default node;

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<b6975a3a740bdf7e2c9914fc64770638>>
* @generated SignedSource<<1bb16039861951cb1726b506ce33f0ff>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -23,8 +23,8 @@ export type VendorGraphPaginatedFragment$data = {
readonly riskAssessments: {
readonly edges: ReadonlyArray<{
readonly node: {
readonly assessedAt: any;
readonly businessImpact: BusinessImpact;
readonly createdAt: any;
readonly dataSensitivity: DataSensitivity;
readonly expiresAt: any;
readonly id: string;
@@ -202,7 +202,7 @@ return {
"name": "orderBy",
"value": {
"direction": "DESC",
"field": "ASSESSED_AT"
"field": "CREATED_AT"
}
}
],
@@ -232,7 +232,7 @@ return {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "assessedAt",
"name": "createdAt",
"storageKey": null
},
{
@@ -263,7 +263,7 @@ return {
"storageKey": null
}
],
"storageKey": "riskAssessments(first:1,orderBy:{\"direction\":\"DESC\",\"field\":\"ASSESSED_AT\"})"
"storageKey": "riskAssessments(first:1,orderBy:{\"direction\":\"DESC\",\"field\":\"CREATED_AT\"})"
},
{
"alias": null,
@@ -346,6 +346,6 @@ return {
};
})();
(node as any).hash = "578772ed7c83ae174d43b0be95a02fd2";
(node as any).hash = "bf222e31d20ebe7c9dfdedff7d5a9c68";
export default node;

View File

@@ -1,5 +1,5 @@
/**
* @generated SignedSource<<f98b10bd4f5fb03b55b46e2554480590>>
* @generated SignedSource<<f55e24dc95c48a67d7908bdd7f037272>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -274,7 +274,7 @@ return {
"name": "orderBy",
"value": {
"direction": "DESC",
"field": "ASSESSED_AT"
"field": "CREATED_AT"
}
}
],
@@ -304,7 +304,7 @@ return {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "assessedAt",
"name": "createdAt",
"storageKey": null
},
{
@@ -335,7 +335,7 @@ return {
"storageKey": null
}
],
"storageKey": "riskAssessments(first:1,orderBy:{\"direction\":\"DESC\",\"field\":\"ASSESSED_AT\"})"
"storageKey": "riskAssessments(first:1,orderBy:{\"direction\":\"DESC\",\"field\":\"CREATED_AT\"})"
},
(v13/*: any*/)
],
@@ -426,16 +426,16 @@ return {
]
},
"params": {
"cacheID": "6570f4601f6dea5b7fe738d851a7f1ba",
"cacheID": "bf14bba14dba4fb544d431600ea31317",
"id": null,
"metadata": {},
"name": "VendorsListQuery",
"operationKind": "query",
"text": "query VendorsListQuery(\n $after: CursorKey = null\n $before: CursorKey = null\n $first: Int = 50\n $last: Int = null\n $order: VendorOrder = null\n $snapshotId: ID = null\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...VendorGraphPaginatedFragment_25MC8O\n id\n }\n}\n\nfragment VendorGraphPaginatedFragment_25MC8O on Organization {\n vendors(first: $first, after: $after, last: $last, before: $before, orderBy: $order, filter: {snapshotId: $snapshotId}) {\n edges {\n node {\n id\n snapshotId\n name\n websiteUrl\n updatedAt\n riskAssessments(first: 1, orderBy: {direction: DESC, field: ASSESSED_AT}) {\n edges {\n node {\n id\n assessedAt\n expiresAt\n dataSensitivity\n businessImpact\n }\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n"
"text": "query VendorsListQuery(\n $after: CursorKey = null\n $before: CursorKey = null\n $first: Int = 50\n $last: Int = null\n $order: VendorOrder = null\n $snapshotId: ID = null\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...VendorGraphPaginatedFragment_25MC8O\n id\n }\n}\n\nfragment VendorGraphPaginatedFragment_25MC8O on Organization {\n vendors(first: $first, after: $after, last: $last, before: $before, orderBy: $order, filter: {snapshotId: $snapshotId}) {\n edges {\n node {\n id\n snapshotId\n name\n websiteUrl\n updatedAt\n riskAssessments(first: 1, orderBy: {direction: DESC, field: CREATED_AT}) {\n edges {\n node {\n id\n createdAt\n expiresAt\n dataSensitivity\n businessImpact\n }\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n"
}
};
})();
(node as any).hash = "578772ed7c83ae174d43b0be95a02fd2";
(node as any).hash = "bf222e31d20ebe7c9dfdedff7d5a9c68";
export default node;