Add category field
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
@@ -18,7 +18,7 @@ import Fuse from "fuse.js";
|
||||
import { useToast } from "@/hooks/use-toast";
|
||||
import { PageTemplate } from "@/components/PageTemplate";
|
||||
import { ListVendorViewSkeleton } from "./ListVendorPage";
|
||||
import { ListVendorViewCreateVendorMutation } from "./__generated__/ListVendorViewCreateVendorMutation.graphql";
|
||||
import { ListVendorViewCreateVendorMutation, VendorCategory } from "./__generated__/ListVendorViewCreateVendorMutation.graphql";
|
||||
import { ListVendorViewPaginationQuery } from "./__generated__/ListVendorViewPaginationQuery.graphql";
|
||||
import { ListVendorView_vendors$key } from "./__generated__/ListVendorView_vendors.graphql";
|
||||
import { ListVendorViewQuery } from "./__generated__/ListVendorViewQuery.graphql";
|
||||
@@ -385,7 +385,7 @@ function ListVendorContent({
|
||||
headquarterAddress: vendor.headquarterAddress,
|
||||
legalName: vendor.legalName,
|
||||
websiteUrl: vendor.websiteUrl,
|
||||
category: vendor.category,
|
||||
category: vendor.category as VendorCategory || null,
|
||||
privacyPolicyUrl: vendor.privacyPolicyUrl,
|
||||
serviceLevelAgreementUrl:
|
||||
vendor.serviceLevelAgreementUrl,
|
||||
|
||||
@@ -18,7 +18,7 @@ import { Suspense, useEffect, useState, useCallback, useRef } from "react";
|
||||
import type { VendorViewQuery as VendorViewQueryType } from "./__generated__/VendorViewQuery.graphql";
|
||||
import type { VendorViewDeleteComplianceReportMutation as DeleteComplianceReportMutationType } from "./__generated__/VendorViewDeleteComplianceReportMutation.graphql";
|
||||
import type { VendorViewUploadComplianceReportMutation as UploadComplianceReportMutationType } from "./__generated__/VendorViewUploadComplianceReportMutation.graphql";
|
||||
import type { VendorViewUpdateVendorMutation } from "./__generated__/VendorViewUpdateVendorMutation.graphql";
|
||||
import type { VendorViewUpdateVendorMutation, VendorCategory } from "./__generated__/VendorViewUpdateVendorMutation.graphql";
|
||||
import type { VendorViewCreateRiskAssessmentMutation } from "./__generated__/VendorViewCreateRiskAssessmentMutation.graphql";
|
||||
import type { VendorViewAssessVendorMutation } from "./__generated__/VendorViewAssessVendorMutation.graphql";
|
||||
import type {
|
||||
@@ -34,6 +34,36 @@ import PeopleSelector from "@/components/PeopleSelector";
|
||||
import { formatDistanceToNow, format, isPast } from "date-fns";
|
||||
import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/components/ui/dialog";
|
||||
|
||||
interface VendorCategoryOption {
|
||||
value: VendorCategory;
|
||||
label: string;
|
||||
}
|
||||
|
||||
const VENDOR_CATEGORIES: VendorCategoryOption[] = [
|
||||
{ value: "ANALYTICS", label: "Analytics" },
|
||||
{ value: "CLOUD_MONITORING", label: "Cloud Monitoring" },
|
||||
{ value: "CLOUD_PROVIDER", label: "Cloud Provider" },
|
||||
{ value: "COLLABORATION", label: "Collaboration" },
|
||||
{ value: "CUSTOMER_SUPPORT", label: "Customer Support" },
|
||||
{ value: "DATA_STORAGE_AND_PROCESSING", label: "Data Storage and Processing" },
|
||||
{ value: "DOCUMENT_MANAGEMENT", label: "Document Management" },
|
||||
{ value: "EMPLOYEE_MANAGEMENT", label: "Employee Management" },
|
||||
{ value: "ENGINEERING", label: "Engineering" },
|
||||
{ value: "FINANCE", label: "Finance" },
|
||||
{ value: "IDENTITY_PROVIDER", label: "Identity Provider" },
|
||||
{ value: "IT", label: "IT" },
|
||||
{ value: "MARKETING", label: "Marketing" },
|
||||
{ value: "OFFICE_OPERATIONS", label: "Office Operations" },
|
||||
{ value: "OTHER", label: "Other" },
|
||||
{ value: "PASSWORD_MANAGEMENT", label: "Password Management" },
|
||||
{ value: "PRODUCT_AND_DESIGN", label: "Product and Design" },
|
||||
{ value: "PROFESSIONAL_SERVICES", label: "Professional Services" },
|
||||
{ value: "RECRUITING", label: "Recruiting" },
|
||||
{ value: "SALES", label: "Sales" },
|
||||
{ value: "SECURITY", label: "Security" },
|
||||
{ value: "VERSION_CONTROL", label: "Version Control" }
|
||||
];
|
||||
|
||||
const vendorViewQuery = graphql`
|
||||
query VendorViewQuery($vendorId: ID!, $organizationId: ID!) {
|
||||
node(id: $vendorId) {
|
||||
@@ -52,6 +82,7 @@ const vendorViewQuery = graphql`
|
||||
headquarterAddress
|
||||
legalName
|
||||
websiteUrl
|
||||
category
|
||||
businessOwner {
|
||||
id
|
||||
fullName
|
||||
@@ -127,6 +158,7 @@ const updateVendorMutation = graphql`
|
||||
headquarterAddress
|
||||
legalName
|
||||
websiteUrl
|
||||
category
|
||||
businessOwner {
|
||||
id
|
||||
fullName
|
||||
@@ -216,6 +248,7 @@ const assessVendorMutation = graphql`
|
||||
headquarterAddress
|
||||
legalName
|
||||
websiteUrl
|
||||
category
|
||||
businessOwner {
|
||||
id
|
||||
fullName
|
||||
@@ -1415,6 +1448,7 @@ function VendorViewContent({
|
||||
websiteUrl: data.node.websiteUrl || "",
|
||||
businessOwnerId: data.node.businessOwner?.id || null,
|
||||
securityOwnerId: data.node.securityOwner?.id || null,
|
||||
category: data.node.category || null,
|
||||
});
|
||||
const [updateVendor] =
|
||||
useMutation<VendorViewUpdateVendorMutation>(updateVendorMutation);
|
||||
@@ -1447,6 +1481,7 @@ function VendorViewContent({
|
||||
...formData,
|
||||
businessOwnerId: formData.businessOwnerId || undefined,
|
||||
securityOwnerId: formData.securityOwnerId || undefined,
|
||||
category: formData.category as VendorCategory | null,
|
||||
};
|
||||
|
||||
updateVendor({
|
||||
@@ -1556,6 +1591,7 @@ function VendorViewContent({
|
||||
websiteUrl: data.node.websiteUrl || "",
|
||||
businessOwnerId: data.node.businessOwner?.id || null,
|
||||
securityOwnerId: data.node.securityOwner?.id || null,
|
||||
category: data.node.category || null,
|
||||
});
|
||||
setEditedFields(new Set());
|
||||
};
|
||||
@@ -1817,7 +1853,25 @@ function VendorViewContent({
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="space-y-1">
|
||||
<p className="text-sm font-medium text-[#6B716A]">Category</p>
|
||||
<div className="rounded-lg bg-[rgba(5,77,5,0.03)] px-2 py-1.5">
|
||||
<select
|
||||
value={formData.category || ""}
|
||||
onChange={(e) => {
|
||||
const value = e.target.value;
|
||||
handleFieldChange("category", value ? (value as VendorCategory) : null);
|
||||
}}
|
||||
className="w-full font-geist font-medium text-[16px] leading-[1.5em] text-[#141E12] bg-transparent border-0 outline-none focus:ring-0 focus-visible:ring-0 p-0"
|
||||
>
|
||||
{VENDOR_CATEGORIES.map(({ value, label }) => (
|
||||
<option key={value} value={value}>
|
||||
{label}
|
||||
</option>
|
||||
))}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div className="space-y-1">
|
||||
<p className="text-sm font-medium text-[#6B716A]">
|
||||
Legal name
|
||||
@@ -2386,6 +2440,7 @@ function VendorViewContent({
|
||||
headquarterAddress: newData.headquarterAddress || prevData.headquarterAddress,
|
||||
legalName: newData.legalName || prevData.legalName,
|
||||
websiteUrl: newData.websiteUrl || prevData.websiteUrl,
|
||||
category: newData.category || prevData.category,
|
||||
};
|
||||
return newFormData;
|
||||
});
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<c911b01b560dfe4143e7ffd06650ff58>>
|
||||
* @generated SignedSource<<a8dc580c053c9091819cb2d348c0b3e0>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -9,9 +9,10 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type VendorCategory = "ANALYTICS" | "CLOUD_MONITORING" | "CLOUD_PROVIDER" | "COLLABORATION" | "CUSTOMER_SUPPORT" | "DATA_STORAGE_AND_PROCESSING" | "DOCUMENT_MANAGEMENT" | "EMPLOYEE_MANAGEMENT" | "ENGINEERING" | "FINANCE" | "IDENTITY_PROVIDER" | "IT" | "MARKETING" | "OFFICE_OPERATIONS" | "OTHER" | "PASSWORD_MANAGEMENT" | "PRODUCT_AND_DESIGN" | "PROFESSIONAL_SERVICES" | "RECRUITING" | "SALES" | "SECURITY" | "VERSION_CONTROL";
|
||||
export type CreateVendorInput = {
|
||||
businessOwnerId?: string | null | undefined;
|
||||
category?: string | null | undefined;
|
||||
category?: VendorCategory | null | undefined;
|
||||
certifications?: ReadonlyArray<string> | null | undefined;
|
||||
dataProcessingAgreementUrl?: string | null | undefined;
|
||||
description?: string | null | undefined;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<71c7ed1be8cf0477074d6cf130143626>>
|
||||
* @generated SignedSource<<f0c7d1514ae65ab5cef017af474f5825>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -9,6 +9,7 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type VendorCategory = "ANALYTICS" | "CLOUD_MONITORING" | "CLOUD_PROVIDER" | "COLLABORATION" | "CUSTOMER_SUPPORT" | "DATA_STORAGE_AND_PROCESSING" | "DOCUMENT_MANAGEMENT" | "EMPLOYEE_MANAGEMENT" | "ENGINEERING" | "FINANCE" | "IDENTITY_PROVIDER" | "IT" | "MARKETING" | "OFFICE_OPERATIONS" | "OTHER" | "PASSWORD_MANAGEMENT" | "PRODUCT_AND_DESIGN" | "PROFESSIONAL_SERVICES" | "RECRUITING" | "SALES" | "SECURITY" | "VERSION_CONTROL";
|
||||
export type AssessVendorInput = {
|
||||
id: string;
|
||||
websiteUrl: string;
|
||||
@@ -23,6 +24,7 @@ export type VendorViewAssessVendorMutation$data = {
|
||||
readonly fullName: string;
|
||||
readonly id: string;
|
||||
} | null | undefined;
|
||||
readonly category: VendorCategory;
|
||||
readonly certifications: ReadonlyArray<string>;
|
||||
readonly dataProcessingAgreementUrl: string | null | undefined;
|
||||
readonly description: string | null | undefined;
|
||||
@@ -190,6 +192,13 @@ v3 = [
|
||||
"name": "websiteUrl",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "category",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
@@ -242,16 +251,16 @@ return {
|
||||
"selections": (v3/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "ccc16b2de8f7f3936458cd4823a14992",
|
||||
"cacheID": "592ee741d52ee98a1e10330e97a14707",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "VendorViewAssessVendorMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation VendorViewAssessVendorMutation(\n $input: AssessVendorInput!\n) {\n assessVendor(input: $input) {\n vendor {\n id\n name\n description\n statusPageUrl\n termsOfServiceUrl\n privacyPolicyUrl\n serviceLevelAgreementUrl\n dataProcessingAgreementUrl\n securityPageUrl\n trustPageUrl\n certifications\n headquarterAddress\n legalName\n websiteUrl\n businessOwner {\n id\n fullName\n }\n securityOwner {\n id\n fullName\n }\n updatedAt\n }\n }\n}\n"
|
||||
"text": "mutation VendorViewAssessVendorMutation(\n $input: AssessVendorInput!\n) {\n assessVendor(input: $input) {\n vendor {\n id\n name\n description\n statusPageUrl\n termsOfServiceUrl\n privacyPolicyUrl\n serviceLevelAgreementUrl\n dataProcessingAgreementUrl\n securityPageUrl\n trustPageUrl\n certifications\n headquarterAddress\n legalName\n websiteUrl\n category\n businessOwner {\n id\n fullName\n }\n securityOwner {\n id\n fullName\n }\n updatedAt\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "ed23d00ce5a44aa6bfd43a072552ed1c";
|
||||
(node as any).hash = "8dddda77f031533f207ac903d883a902";
|
||||
|
||||
export default node;
|
||||
|
||||
131
apps/console/src/pages/organizations/vendors/__generated__/VendorViewQuery.graphql.ts
generated
vendored
131
apps/console/src/pages/organizations/vendors/__generated__/VendorViewQuery.graphql.ts
generated
vendored
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<2a33eeb4651f6afe0a8f06f44c0f2711>>
|
||||
* @generated SignedSource<<a24deac1363fef61e3bc8f1a5b3d1848>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -12,6 +12,7 @@ import { ConcreteRequest } from 'relay-runtime';
|
||||
import { FragmentRefs } from "relay-runtime";
|
||||
export type BusinessImpact = "CRITICAL" | "HIGH" | "LOW" | "MEDIUM";
|
||||
export type DataSensitivity = "CRITICAL" | "HIGH" | "LOW" | "MEDIUM" | "NONE";
|
||||
export type VendorCategory = "ANALYTICS" | "CLOUD_MONITORING" | "CLOUD_PROVIDER" | "COLLABORATION" | "CUSTOMER_SUPPORT" | "DATA_STORAGE_AND_PROCESSING" | "DOCUMENT_MANAGEMENT" | "EMPLOYEE_MANAGEMENT" | "ENGINEERING" | "FINANCE" | "IDENTITY_PROVIDER" | "IT" | "MARKETING" | "OFFICE_OPERATIONS" | "OTHER" | "PASSWORD_MANAGEMENT" | "PRODUCT_AND_DESIGN" | "PROFESSIONAL_SERVICES" | "RECRUITING" | "SALES" | "SECURITY" | "VERSION_CONTROL";
|
||||
export type VendorViewQuery$variables = {
|
||||
organizationId: string;
|
||||
vendorId: string;
|
||||
@@ -22,6 +23,7 @@ export type VendorViewQuery$data = {
|
||||
readonly fullName: string;
|
||||
readonly id: string;
|
||||
} | null | undefined;
|
||||
readonly category?: VendorCategory;
|
||||
readonly certifications?: ReadonlyArray<string>;
|
||||
readonly complianceReports?: {
|
||||
readonly edges: ReadonlyArray<{
|
||||
@@ -206,65 +208,72 @@ v16 = {
|
||||
"storageKey": null
|
||||
},
|
||||
v17 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "category",
|
||||
"storageKey": null
|
||||
},
|
||||
v18 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "fullName",
|
||||
"storageKey": null
|
||||
},
|
||||
v18 = [
|
||||
v19 = [
|
||||
(v3/*: any*/),
|
||||
(v17/*: any*/)
|
||||
(v18/*: any*/)
|
||||
],
|
||||
v19 = {
|
||||
v20 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "People",
|
||||
"kind": "LinkedField",
|
||||
"name": "businessOwner",
|
||||
"plural": false,
|
||||
"selections": (v18/*: any*/),
|
||||
"selections": (v19/*: any*/),
|
||||
"storageKey": null
|
||||
},
|
||||
v20 = {
|
||||
v21 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "People",
|
||||
"kind": "LinkedField",
|
||||
"name": "securityOwner",
|
||||
"plural": false,
|
||||
"selections": (v18/*: any*/),
|
||||
"storageKey": null
|
||||
},
|
||||
v21 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "createdAt",
|
||||
"selections": (v19/*: any*/),
|
||||
"storageKey": null
|
||||
},
|
||||
v22 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "updatedAt",
|
||||
"name": "createdAt",
|
||||
"storageKey": null
|
||||
},
|
||||
v23 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "__typename",
|
||||
"name": "updatedAt",
|
||||
"storageKey": null
|
||||
},
|
||||
v24 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "cursor",
|
||||
"name": "__typename",
|
||||
"storageKey": null
|
||||
},
|
||||
v25 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "cursor",
|
||||
"storageKey": null
|
||||
},
|
||||
v26 = {
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"concreteType": "PageInfo",
|
||||
@@ -289,7 +298,7 @@ v25 = {
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
v26 = [
|
||||
v27 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
@@ -342,18 +351,18 @@ v26 = [
|
||||
"name": "fileSize",
|
||||
"storageKey": null
|
||||
},
|
||||
(v21/*: any*/),
|
||||
(v23/*: any*/)
|
||||
(v22/*: any*/),
|
||||
(v24/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v24/*: any*/)
|
||||
(v25/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v25/*: any*/)
|
||||
(v26/*: any*/)
|
||||
],
|
||||
v27 = [
|
||||
v28 = [
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
@@ -413,28 +422,28 @@ v27 = [
|
||||
"kind": "LinkedField",
|
||||
"name": "assessedBy",
|
||||
"plural": false,
|
||||
"selections": (v18/*: any*/),
|
||||
"selections": (v19/*: any*/),
|
||||
"storageKey": null
|
||||
},
|
||||
(v21/*: any*/),
|
||||
(v23/*: any*/)
|
||||
(v22/*: any*/),
|
||||
(v24/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v24/*: any*/)
|
||||
(v25/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v25/*: any*/)
|
||||
(v26/*: any*/)
|
||||
],
|
||||
v28 = [
|
||||
v29 = [
|
||||
{
|
||||
"kind": "Variable",
|
||||
"name": "id",
|
||||
"variableName": "organizationId"
|
||||
}
|
||||
],
|
||||
v29 = {
|
||||
v30 = {
|
||||
"alias": null,
|
||||
"args": [
|
||||
{
|
||||
@@ -452,16 +461,16 @@ v29 = {
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
v30 = {
|
||||
v31 = {
|
||||
"kind": "Literal",
|
||||
"name": "first",
|
||||
"value": 100
|
||||
},
|
||||
v31 = [
|
||||
(v30/*: any*/)
|
||||
],
|
||||
v32 = [
|
||||
(v30/*: any*/),
|
||||
(v31/*: any*/)
|
||||
],
|
||||
v33 = [
|
||||
(v31/*: any*/),
|
||||
{
|
||||
"kind": "Literal",
|
||||
"name": "orderBy",
|
||||
@@ -506,10 +515,11 @@ return {
|
||||
(v14/*: any*/),
|
||||
(v15/*: any*/),
|
||||
(v16/*: any*/),
|
||||
(v19/*: any*/),
|
||||
(v17/*: any*/),
|
||||
(v20/*: any*/),
|
||||
(v21/*: any*/),
|
||||
(v22/*: any*/),
|
||||
(v23/*: any*/),
|
||||
{
|
||||
"alias": "complianceReports",
|
||||
"args": null,
|
||||
@@ -517,7 +527,7 @@ return {
|
||||
"kind": "LinkedField",
|
||||
"name": "__VendorView_complianceReports_connection",
|
||||
"plural": false,
|
||||
"selections": (v26/*: any*/),
|
||||
"selections": (v27/*: any*/),
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
@@ -527,7 +537,7 @@ return {
|
||||
"kind": "LinkedField",
|
||||
"name": "__VendorView_riskAssessments_connection",
|
||||
"plural": false,
|
||||
"selections": (v27/*: any*/),
|
||||
"selections": (v28/*: any*/),
|
||||
"storageKey": null
|
||||
}
|
||||
],
|
||||
@@ -539,7 +549,7 @@ return {
|
||||
},
|
||||
{
|
||||
"alias": "organization",
|
||||
"args": (v28/*: any*/),
|
||||
"args": (v29/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
@@ -569,7 +579,7 @@ return {
|
||||
"name": "user",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v29/*: any*/)
|
||||
(v30/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
}
|
||||
@@ -597,7 +607,7 @@ return {
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v23/*: any*/),
|
||||
(v24/*: any*/),
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
@@ -615,23 +625,24 @@ return {
|
||||
(v14/*: any*/),
|
||||
(v15/*: any*/),
|
||||
(v16/*: any*/),
|
||||
(v19/*: any*/),
|
||||
(v17/*: any*/),
|
||||
(v20/*: any*/),
|
||||
(v21/*: any*/),
|
||||
(v22/*: any*/),
|
||||
(v23/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v31/*: any*/),
|
||||
"args": (v32/*: any*/),
|
||||
"concreteType": "VendorComplianceReportConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "complianceReports",
|
||||
"plural": false,
|
||||
"selections": (v26/*: any*/),
|
||||
"selections": (v27/*: any*/),
|
||||
"storageKey": "complianceReports(first:100)"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v31/*: any*/),
|
||||
"args": (v32/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "VendorView_complianceReports",
|
||||
@@ -640,17 +651,17 @@ return {
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v31/*: any*/),
|
||||
"args": (v32/*: any*/),
|
||||
"concreteType": "VendorRiskAssessmentConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "riskAssessments",
|
||||
"plural": false,
|
||||
"selections": (v27/*: any*/),
|
||||
"selections": (v28/*: any*/),
|
||||
"storageKey": "riskAssessments(first:100)"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v31/*: any*/),
|
||||
"args": (v32/*: any*/),
|
||||
"filters": null,
|
||||
"handle": "connection",
|
||||
"key": "VendorView_riskAssessments",
|
||||
@@ -666,20 +677,20 @@ return {
|
||||
},
|
||||
{
|
||||
"alias": "organization",
|
||||
"args": (v28/*: any*/),
|
||||
"args": (v29/*: any*/),
|
||||
"concreteType": null,
|
||||
"kind": "LinkedField",
|
||||
"name": "node",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v23/*: any*/),
|
||||
(v24/*: any*/),
|
||||
(v3/*: any*/),
|
||||
{
|
||||
"kind": "InlineFragment",
|
||||
"selections": [
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v32/*: any*/),
|
||||
"args": (v33/*: any*/),
|
||||
"concreteType": "PeopleConnection",
|
||||
"kind": "LinkedField",
|
||||
"name": "peoples",
|
||||
@@ -702,7 +713,7 @@ return {
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v3/*: any*/),
|
||||
(v17/*: any*/),
|
||||
(v18/*: any*/),
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
@@ -710,21 +721,21 @@ return {
|
||||
"name": "primaryEmailAddress",
|
||||
"storageKey": null
|
||||
},
|
||||
(v23/*: any*/)
|
||||
(v24/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v24/*: any*/)
|
||||
(v25/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
},
|
||||
(v25/*: any*/)
|
||||
(v26/*: any*/)
|
||||
],
|
||||
"storageKey": "peoples(first:100,orderBy:{\"direction\":\"ASC\",\"field\":\"FULL_NAME\"})"
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": (v32/*: any*/),
|
||||
"args": (v33/*: any*/),
|
||||
"filters": [
|
||||
"orderBy"
|
||||
],
|
||||
@@ -756,7 +767,7 @@ return {
|
||||
"name": "user",
|
||||
"plural": false,
|
||||
"selections": [
|
||||
(v29/*: any*/),
|
||||
(v30/*: any*/),
|
||||
(v3/*: any*/)
|
||||
],
|
||||
"storageKey": null
|
||||
@@ -768,7 +779,7 @@ return {
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "d80a66271806001a76348db9398ae760",
|
||||
"cacheID": "83601f58c499976a22f7dec4312d147b",
|
||||
"id": null,
|
||||
"metadata": {
|
||||
"connection": [
|
||||
@@ -794,11 +805,11 @@ return {
|
||||
},
|
||||
"name": "VendorViewQuery",
|
||||
"operationKind": "query",
|
||||
"text": "query VendorViewQuery(\n $vendorId: ID!\n $organizationId: ID!\n) {\n node(id: $vendorId) {\n __typename\n ... on Vendor {\n id\n name\n description\n statusPageUrl\n termsOfServiceUrl\n privacyPolicyUrl\n serviceLevelAgreementUrl\n dataProcessingAgreementUrl\n securityPageUrl\n trustPageUrl\n certifications\n headquarterAddress\n legalName\n websiteUrl\n businessOwner {\n id\n fullName\n }\n securityOwner {\n id\n fullName\n }\n createdAt\n updatedAt\n complianceReports(first: 100) {\n edges {\n node {\n id\n reportName\n reportDate\n validUntil\n fileUrl\n fileSize\n createdAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n riskAssessments(first: 100) {\n edges {\n node {\n id\n assessedAt\n expiresAt\n dataSensitivity\n businessImpact\n notes\n assessedBy {\n id\n fullName\n }\n createdAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n id\n }\n organization: node(id: $organizationId) {\n __typename\n ...PeopleSelector_organization\n id\n }\n viewer {\n user {\n people(organizationId: $organizationId) {\n id\n }\n id\n }\n id\n }\n}\n\nfragment PeopleSelector_organization on Organization {\n id\n peoples(first: 100, orderBy: {direction: ASC, field: FULL_NAME}) {\n edges {\n node {\n id\n fullName\n primaryEmailAddress\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n"
|
||||
"text": "query VendorViewQuery(\n $vendorId: ID!\n $organizationId: ID!\n) {\n node(id: $vendorId) {\n __typename\n ... on Vendor {\n id\n name\n description\n statusPageUrl\n termsOfServiceUrl\n privacyPolicyUrl\n serviceLevelAgreementUrl\n dataProcessingAgreementUrl\n securityPageUrl\n trustPageUrl\n certifications\n headquarterAddress\n legalName\n websiteUrl\n category\n businessOwner {\n id\n fullName\n }\n securityOwner {\n id\n fullName\n }\n createdAt\n updatedAt\n complianceReports(first: 100) {\n edges {\n node {\n id\n reportName\n reportDate\n validUntil\n fileUrl\n fileSize\n createdAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n riskAssessments(first: 100) {\n edges {\n node {\n id\n assessedAt\n expiresAt\n dataSensitivity\n businessImpact\n notes\n assessedBy {\n id\n fullName\n }\n createdAt\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n id\n }\n organization: node(id: $organizationId) {\n __typename\n ...PeopleSelector_organization\n id\n }\n viewer {\n user {\n people(organizationId: $organizationId) {\n id\n }\n id\n }\n id\n }\n}\n\nfragment PeopleSelector_organization on Organization {\n id\n peoples(first: 100, orderBy: {direction: ASC, field: FULL_NAME}) {\n edges {\n node {\n id\n fullName\n primaryEmailAddress\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "97cacb4f4410588114fc82abc78d9140";
|
||||
(node as any).hash = "812a334dc26fb2961aae24862496ff0c";
|
||||
|
||||
export default node;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<9089536ddf16d713cfc68bd20f8f8caf>>
|
||||
* @generated SignedSource<<687421f6528edb3fe7623b14cda888d7>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -9,9 +9,10 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
export type VendorCategory = "ANALYTICS" | "CLOUD_MONITORING" | "CLOUD_PROVIDER" | "COLLABORATION" | "CUSTOMER_SUPPORT" | "DATA_STORAGE_AND_PROCESSING" | "DOCUMENT_MANAGEMENT" | "EMPLOYEE_MANAGEMENT" | "ENGINEERING" | "FINANCE" | "IDENTITY_PROVIDER" | "IT" | "MARKETING" | "OFFICE_OPERATIONS" | "OTHER" | "PASSWORD_MANAGEMENT" | "PRODUCT_AND_DESIGN" | "PROFESSIONAL_SERVICES" | "RECRUITING" | "SALES" | "SECURITY" | "VERSION_CONTROL";
|
||||
export type UpdateVendorInput = {
|
||||
businessOwnerId?: string | null | undefined;
|
||||
category?: string | null | undefined;
|
||||
category?: VendorCategory | null | undefined;
|
||||
certifications?: ReadonlyArray<string> | null | undefined;
|
||||
dataProcessingAgreementUrl?: string | null | undefined;
|
||||
description?: string | null | undefined;
|
||||
@@ -38,6 +39,7 @@ export type VendorViewUpdateVendorMutation$data = {
|
||||
readonly fullName: string;
|
||||
readonly id: string;
|
||||
} | null | undefined;
|
||||
readonly category: VendorCategory;
|
||||
readonly certifications: ReadonlyArray<string>;
|
||||
readonly dataProcessingAgreementUrl: string | null | undefined;
|
||||
readonly description: string | null | undefined;
|
||||
@@ -205,6 +207,13 @@ v3 = [
|
||||
"name": "websiteUrl",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
"kind": "ScalarField",
|
||||
"name": "category",
|
||||
"storageKey": null
|
||||
},
|
||||
{
|
||||
"alias": null,
|
||||
"args": null,
|
||||
@@ -257,16 +266,16 @@ return {
|
||||
"selections": (v3/*: any*/)
|
||||
},
|
||||
"params": {
|
||||
"cacheID": "c539b8cd35be693bea445fa86c473bfd",
|
||||
"cacheID": "8ead09e0003d808fcf2d2bc8ca19c8b2",
|
||||
"id": null,
|
||||
"metadata": {},
|
||||
"name": "VendorViewUpdateVendorMutation",
|
||||
"operationKind": "mutation",
|
||||
"text": "mutation VendorViewUpdateVendorMutation(\n $input: UpdateVendorInput!\n) {\n updateVendor(input: $input) {\n vendor {\n id\n name\n description\n statusPageUrl\n termsOfServiceUrl\n privacyPolicyUrl\n serviceLevelAgreementUrl\n dataProcessingAgreementUrl\n securityPageUrl\n trustPageUrl\n certifications\n headquarterAddress\n legalName\n websiteUrl\n businessOwner {\n id\n fullName\n }\n securityOwner {\n id\n fullName\n }\n updatedAt\n }\n }\n}\n"
|
||||
"text": "mutation VendorViewUpdateVendorMutation(\n $input: UpdateVendorInput!\n) {\n updateVendor(input: $input) {\n vendor {\n id\n name\n description\n statusPageUrl\n termsOfServiceUrl\n privacyPolicyUrl\n serviceLevelAgreementUrl\n dataProcessingAgreementUrl\n securityPageUrl\n trustPageUrl\n certifications\n headquarterAddress\n legalName\n websiteUrl\n category\n businessOwner {\n id\n fullName\n }\n securityOwner {\n id\n fullName\n }\n updatedAt\n }\n }\n}\n"
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(node as any).hash = "478f755b8d9a6b7f7deec1b3a1c71d07";
|
||||
(node as any).hash = "90aa0b06cde30ea8a7deb711d5ba0c69";
|
||||
|
||||
export default node;
|
||||
|
||||
Reference in New Issue
Block a user