Rename vendors to third parties
Renames the user-facing 'vendor' concept to 'third party' across the entire codebase. The shared common_third_parties reference table is unchanged. Migration. Renames the vendor_category enum, the vendors and vendor_<entity> tables (contacts, services, compliance_reports, business_associate_agreements, data_privacy_agreements, risk_assessments) and their vendor_id columns, the asset_vendors / data_vendors / processing_activity_vendors junction tables, generated_documents.vendors_document_id, the webhook_event_type 'vendor:<verb>' values, and the snapshots_type 'VENDORS' value. Backend. Renames coredata models and SQL queries, probo services, GraphQL / MCP API surface, console / trust / webhook resolvers and types, the CLI (prb vendor* -> prb third-party*; pkg/cmd/vendormgmt -> pkg/cmd/thirdpartymgmt), the document generator, vetting agent prompts, and the common-third-parties-import command. Frontend, packages, n8n, e2e. Renames apps/console pages, components, hooks, routes, dialogs, and tabs; the shared @probo/vendors package (now @probo/third-parties); the @probo/ui Vendors atoms (now ThirdParties, VendorLogo -> ThirdPartyLogo); the n8n community node actions/vendor folder (now actions/thirdParty); and the e2e Go test suite (console and MCP). Filesystem and URL paths use kebab-case (third-parties), GraphQL fields and TypeScript identifiers use camelCase (thirdParty / thirdParties), Go types use PascalCase (ThirdParty), and human-facing text uses 'third party' with a space. Co-authored-by: Bryan Frimin <bryan@getprobo.com> Signed-off-by: Bryan Frimin <bryan@getprobo.com> Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
@@ -111,8 +111,8 @@ export const description: INodeProperties[] = [
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
displayName: 'Vendor IDs',
|
||||
name: 'vendorIds',
|
||||
displayName: 'ThirdParty IDs',
|
||||
name: 'thirdPartyIds',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
@@ -121,7 +121,7 @@ export const description: INodeProperties[] = [
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'Comma-separated list of vendor IDs',
|
||||
description: 'Comma-separated list of thirdParty IDs',
|
||||
},
|
||||
{
|
||||
displayName: 'Options',
|
||||
@@ -144,11 +144,11 @@ export const description: INodeProperties[] = [
|
||||
description: 'Whether to include owner details in the response',
|
||||
},
|
||||
{
|
||||
displayName: 'Include Vendors',
|
||||
name: 'includeVendors',
|
||||
displayName: 'Include ThirdParties',
|
||||
name: 'includeThirdParties',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendors in the response',
|
||||
description: 'Whether to include thirdParties in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -164,10 +164,10 @@ export async function execute(
|
||||
const ownerId = this.getNodeParameter('ownerId', itemIndex) as string;
|
||||
const assetType = this.getNodeParameter('assetType', itemIndex) as string;
|
||||
const dataTypesStored = this.getNodeParameter('dataTypesStored', itemIndex) as string;
|
||||
const vendorIdsStr = this.getNodeParameter('vendorIds', itemIndex, '') as string;
|
||||
const thirdPartyIdsStr = this.getNodeParameter('thirdPartyIds', itemIndex, '') as string;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeOwner?: boolean;
|
||||
includeVendors?: boolean;
|
||||
includeThirdParties?: boolean;
|
||||
};
|
||||
|
||||
const ownerFragment = options.includeOwner
|
||||
@@ -178,8 +178,8 @@ export async function execute(
|
||||
}`
|
||||
: '';
|
||||
|
||||
const vendorsFragment = options.includeVendors
|
||||
? `vendors(first: 100) {
|
||||
const thirdPartiesFragment = options.includeThirdParties
|
||||
? `thirdParties(first: 100) {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -200,7 +200,7 @@ export async function execute(
|
||||
assetType
|
||||
dataTypesStored
|
||||
${ownerFragment}
|
||||
${vendorsFragment}
|
||||
${thirdPartiesFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
@@ -209,7 +209,7 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const vendorIds = vendorIdsStr ? vendorIdsStr.split(',').map((id) => id.trim()).filter(Boolean) : undefined;
|
||||
const thirdPartyIds = thirdPartyIdsStr ? thirdPartyIdsStr.split(',').map((id) => id.trim()).filter(Boolean) : undefined;
|
||||
|
||||
const variables = {
|
||||
input: {
|
||||
@@ -219,7 +219,7 @@ export async function execute(
|
||||
ownerId,
|
||||
assetType,
|
||||
dataTypesStored,
|
||||
...(vendorIds && vendorIds.length > 0 && { vendorIds }),
|
||||
...(thirdPartyIds && thirdPartyIds.length > 0 && { thirdPartyIds }),
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -51,11 +51,11 @@ export const description: INodeProperties[] = [
|
||||
description: 'Whether to include owner details in the response',
|
||||
},
|
||||
{
|
||||
displayName: 'Include Vendors',
|
||||
name: 'includeVendors',
|
||||
displayName: 'Include ThirdParties',
|
||||
name: 'includeThirdParties',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendors in the response',
|
||||
description: 'Whether to include thirdParties in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -68,7 +68,7 @@ export async function execute(
|
||||
const assetId = this.getNodeParameter('assetId', itemIndex) as string;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeOwner?: boolean;
|
||||
includeVendors?: boolean;
|
||||
includeThirdParties?: boolean;
|
||||
};
|
||||
|
||||
const ownerFragment = options.includeOwner
|
||||
@@ -79,8 +79,8 @@ export async function execute(
|
||||
}`
|
||||
: '';
|
||||
|
||||
const vendorsFragment = options.includeVendors
|
||||
? `vendors(first: 100) {
|
||||
const thirdPartiesFragment = options.includeThirdParties
|
||||
? `thirdParties(first: 100) {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -100,7 +100,7 @@ export async function execute(
|
||||
assetType
|
||||
dataTypesStored
|
||||
${ownerFragment}
|
||||
${vendorsFragment}
|
||||
${thirdPartiesFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
|
||||
@@ -81,11 +81,11 @@ export const description: INodeProperties[] = [
|
||||
description: 'Whether to include owner details in the response',
|
||||
},
|
||||
{
|
||||
displayName: 'Include Vendors',
|
||||
name: 'includeVendors',
|
||||
displayName: 'Include ThirdParties',
|
||||
name: 'includeThirdParties',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendors in the response',
|
||||
description: 'Whether to include thirdParties in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -100,7 +100,7 @@ export async function execute(
|
||||
const limit = this.getNodeParameter('limit', itemIndex, 50) as number;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeOwner?: boolean;
|
||||
includeVendors?: boolean;
|
||||
includeThirdParties?: boolean;
|
||||
};
|
||||
|
||||
const ownerFragment = options.includeOwner
|
||||
@@ -111,8 +111,8 @@ export async function execute(
|
||||
}`
|
||||
: '';
|
||||
|
||||
const vendorsFragment = options.includeVendors
|
||||
? `vendors(first: 100) {
|
||||
const thirdPartiesFragment = options.includeThirdParties
|
||||
? `thirdParties(first: 100) {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -135,7 +135,7 @@ export async function execute(
|
||||
assetType
|
||||
dataTypesStored
|
||||
${ownerFragment}
|
||||
${vendorsFragment}
|
||||
${thirdPartiesFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
|
||||
@@ -106,8 +106,8 @@ export const description: INodeProperties[] = [
|
||||
description: 'The types of data stored in the asset',
|
||||
},
|
||||
{
|
||||
displayName: 'Vendor IDs',
|
||||
name: 'vendorIds',
|
||||
displayName: 'ThirdParty IDs',
|
||||
name: 'thirdPartyIds',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
@@ -116,7 +116,7 @@ export const description: INodeProperties[] = [
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'Comma-separated list of vendor IDs',
|
||||
description: 'Comma-separated list of thirdParty IDs',
|
||||
},
|
||||
{
|
||||
displayName: 'Options',
|
||||
@@ -139,11 +139,11 @@ export const description: INodeProperties[] = [
|
||||
description: 'Whether to include owner details in the response',
|
||||
},
|
||||
{
|
||||
displayName: 'Include Vendors',
|
||||
name: 'includeVendors',
|
||||
displayName: 'Include ThirdParties',
|
||||
name: 'includeThirdParties',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendors in the response',
|
||||
description: 'Whether to include thirdParties in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -159,10 +159,10 @@ export async function execute(
|
||||
const ownerId = this.getNodeParameter('ownerId', itemIndex, '') as string;
|
||||
const assetType = this.getNodeParameter('assetType', itemIndex, '') as string;
|
||||
const dataTypesStored = this.getNodeParameter('dataTypesStored', itemIndex, '') as string;
|
||||
const vendorIdsStr = this.getNodeParameter('vendorIds', itemIndex, '') as string;
|
||||
const thirdPartyIdsStr = this.getNodeParameter('thirdPartyIds', itemIndex, '') as string;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeOwner?: boolean;
|
||||
includeVendors?: boolean;
|
||||
includeThirdParties?: boolean;
|
||||
};
|
||||
|
||||
const ownerFragment = options.includeOwner
|
||||
@@ -173,8 +173,8 @@ export async function execute(
|
||||
}`
|
||||
: '';
|
||||
|
||||
const vendorsFragment = options.includeVendors
|
||||
? `vendors(first: 100) {
|
||||
const thirdPartiesFragment = options.includeThirdParties
|
||||
? `thirdParties(first: 100) {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -194,7 +194,7 @@ export async function execute(
|
||||
assetType
|
||||
dataTypesStored
|
||||
${ownerFragment}
|
||||
${vendorsFragment}
|
||||
${thirdPartiesFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
@@ -208,9 +208,9 @@ export async function execute(
|
||||
if (ownerId) input.ownerId = ownerId;
|
||||
if (assetType) input.assetType = assetType;
|
||||
if (dataTypesStored) input.dataTypesStored = dataTypesStored;
|
||||
if (vendorIdsStr) {
|
||||
const vendorIds = vendorIdsStr.split(',').map((vid) => vid.trim()).filter(Boolean);
|
||||
if (vendorIds.length > 0) input.vendorIds = vendorIds;
|
||||
if (thirdPartyIdsStr) {
|
||||
const thirdPartyIds = thirdPartyIdsStr.split(',').map((vid) => vid.trim()).filter(Boolean);
|
||||
if (thirdPartyIds.length > 0) input.thirdPartyIds = thirdPartyIds;
|
||||
}
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, { input });
|
||||
|
||||
@@ -91,8 +91,8 @@ export const description: INodeProperties[] = [
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
displayName: 'Vendor IDs',
|
||||
name: 'vendorIds',
|
||||
displayName: 'ThirdParty IDs',
|
||||
name: 'thirdPartyIds',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
@@ -101,7 +101,7 @@ export const description: INodeProperties[] = [
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'Comma-separated list of vendor IDs',
|
||||
description: 'Comma-separated list of thirdParty IDs',
|
||||
},
|
||||
{
|
||||
displayName: 'Options',
|
||||
@@ -124,11 +124,11 @@ export const description: INodeProperties[] = [
|
||||
description: 'Whether to include owner details in the response',
|
||||
},
|
||||
{
|
||||
displayName: 'Include Vendors',
|
||||
name: 'includeVendors',
|
||||
displayName: 'Include ThirdParties',
|
||||
name: 'includeThirdParties',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendors in the response',
|
||||
description: 'Whether to include thirdParties in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -142,10 +142,10 @@ export async function execute(
|
||||
const name = this.getNodeParameter('name', itemIndex) as string;
|
||||
const dataClassification = this.getNodeParameter('dataClassification', itemIndex) as string;
|
||||
const ownerId = this.getNodeParameter('ownerId', itemIndex) as string;
|
||||
const vendorIdsStr = this.getNodeParameter('vendorIds', itemIndex, '') as string;
|
||||
const thirdPartyIdsStr = this.getNodeParameter('thirdPartyIds', itemIndex, '') as string;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeOwner?: boolean;
|
||||
includeVendors?: boolean;
|
||||
includeThirdParties?: boolean;
|
||||
};
|
||||
|
||||
const ownerFragment = options.includeOwner
|
||||
@@ -156,8 +156,8 @@ export async function execute(
|
||||
}`
|
||||
: '';
|
||||
|
||||
const vendorsFragment = options.includeVendors
|
||||
? `vendors(first: 100) {
|
||||
const thirdPartiesFragment = options.includeThirdParties
|
||||
? `thirdParties(first: 100) {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -176,7 +176,7 @@ export async function execute(
|
||||
name
|
||||
dataClassification
|
||||
${ownerFragment}
|
||||
${vendorsFragment}
|
||||
${thirdPartiesFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
@@ -185,7 +185,7 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const vendorIds = vendorIdsStr ? vendorIdsStr.split(',').map((id) => id.trim()).filter(Boolean) : undefined;
|
||||
const thirdPartyIds = thirdPartyIdsStr ? thirdPartyIdsStr.split(',').map((id) => id.trim()).filter(Boolean) : undefined;
|
||||
|
||||
const variables = {
|
||||
input: {
|
||||
@@ -193,7 +193,7 @@ export async function execute(
|
||||
name,
|
||||
dataClassification,
|
||||
ownerId,
|
||||
...(vendorIds && vendorIds.length > 0 && { vendorIds }),
|
||||
...(thirdPartyIds && thirdPartyIds.length > 0 && { thirdPartyIds }),
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -51,11 +51,11 @@ export const description: INodeProperties[] = [
|
||||
description: 'Whether to include owner details in the response',
|
||||
},
|
||||
{
|
||||
displayName: 'Include Vendors',
|
||||
name: 'includeVendors',
|
||||
displayName: 'Include ThirdParties',
|
||||
name: 'includeThirdParties',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendors in the response',
|
||||
description: 'Whether to include thirdParties in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -68,7 +68,7 @@ export async function execute(
|
||||
const datumId = this.getNodeParameter('datumId', itemIndex) as string;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeOwner?: boolean;
|
||||
includeVendors?: boolean;
|
||||
includeThirdParties?: boolean;
|
||||
};
|
||||
|
||||
const ownerFragment = options.includeOwner
|
||||
@@ -79,8 +79,8 @@ export async function execute(
|
||||
}`
|
||||
: '';
|
||||
|
||||
const vendorsFragment = options.includeVendors
|
||||
? `vendors(first: 100) {
|
||||
const thirdPartiesFragment = options.includeThirdParties
|
||||
? `thirdParties(first: 100) {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -98,7 +98,7 @@ export async function execute(
|
||||
name
|
||||
dataClassification
|
||||
${ownerFragment}
|
||||
${vendorsFragment}
|
||||
${thirdPartiesFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
|
||||
@@ -81,11 +81,11 @@ export const description: INodeProperties[] = [
|
||||
description: 'Whether to include owner details in the response',
|
||||
},
|
||||
{
|
||||
displayName: 'Include Vendors',
|
||||
name: 'includeVendors',
|
||||
displayName: 'Include ThirdParties',
|
||||
name: 'includeThirdParties',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendors in the response',
|
||||
description: 'Whether to include thirdParties in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -100,7 +100,7 @@ export async function execute(
|
||||
const limit = this.getNodeParameter('limit', itemIndex, 50) as number;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeOwner?: boolean;
|
||||
includeVendors?: boolean;
|
||||
includeThirdParties?: boolean;
|
||||
};
|
||||
|
||||
const ownerFragment = options.includeOwner
|
||||
@@ -111,8 +111,8 @@ export async function execute(
|
||||
}`
|
||||
: '';
|
||||
|
||||
const vendorsFragment = options.includeVendors
|
||||
? `vendors(first: 100) {
|
||||
const thirdPartiesFragment = options.includeThirdParties
|
||||
? `thirdParties(first: 100) {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -133,7 +133,7 @@ export async function execute(
|
||||
name
|
||||
dataClassification
|
||||
${ownerFragment}
|
||||
${vendorsFragment}
|
||||
${thirdPartiesFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
|
||||
@@ -88,8 +88,8 @@ export const description: INodeProperties[] = [
|
||||
description: 'The ID of the owner (People)',
|
||||
},
|
||||
{
|
||||
displayName: 'Vendor IDs',
|
||||
name: 'vendorIds',
|
||||
displayName: 'ThirdParty IDs',
|
||||
name: 'thirdPartyIds',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
@@ -98,7 +98,7 @@ export const description: INodeProperties[] = [
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'Comma-separated list of vendor IDs',
|
||||
description: 'Comma-separated list of thirdParty IDs',
|
||||
},
|
||||
{
|
||||
displayName: 'Options',
|
||||
@@ -121,11 +121,11 @@ export const description: INodeProperties[] = [
|
||||
description: 'Whether to include owner details in the response',
|
||||
},
|
||||
{
|
||||
displayName: 'Include Vendors',
|
||||
name: 'includeVendors',
|
||||
displayName: 'Include ThirdParties',
|
||||
name: 'includeThirdParties',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendors in the response',
|
||||
description: 'Whether to include thirdParties in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -139,10 +139,10 @@ export async function execute(
|
||||
const name = this.getNodeParameter('name', itemIndex, '') as string;
|
||||
const dataClassification = this.getNodeParameter('dataClassification', itemIndex, '') as string;
|
||||
const ownerId = this.getNodeParameter('ownerId', itemIndex, '') as string;
|
||||
const vendorIdsStr = this.getNodeParameter('vendorIds', itemIndex, '') as string;
|
||||
const thirdPartyIdsStr = this.getNodeParameter('thirdPartyIds', itemIndex, '') as string;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeOwner?: boolean;
|
||||
includeVendors?: boolean;
|
||||
includeThirdParties?: boolean;
|
||||
};
|
||||
|
||||
const ownerFragment = options.includeOwner
|
||||
@@ -153,8 +153,8 @@ export async function execute(
|
||||
}`
|
||||
: '';
|
||||
|
||||
const vendorsFragment = options.includeVendors
|
||||
? `vendors(first: 100) {
|
||||
const thirdPartiesFragment = options.includeThirdParties
|
||||
? `thirdParties(first: 100) {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -172,7 +172,7 @@ export async function execute(
|
||||
name
|
||||
dataClassification
|
||||
${ownerFragment}
|
||||
${vendorsFragment}
|
||||
${thirdPartiesFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
@@ -184,9 +184,9 @@ export async function execute(
|
||||
if (name) input.name = name;
|
||||
if (dataClassification) input.dataClassification = dataClassification;
|
||||
if (ownerId) input.ownerId = ownerId;
|
||||
if (vendorIdsStr) {
|
||||
const vendorIds = vendorIdsStr.split(',').map((vid) => vid.trim()).filter(Boolean);
|
||||
if (vendorIds.length > 0) input.vendorIds = vendorIds;
|
||||
if (thirdPartyIdsStr) {
|
||||
const thirdPartyIds = thirdPartyIdsStr.split(',').map((vid) => vid.trim()).filter(Boolean);
|
||||
if (thirdPartyIds.length > 0) input.thirdPartyIds = thirdPartyIds;
|
||||
}
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, { input });
|
||||
|
||||
@@ -41,7 +41,7 @@ import * as statementOfApplicability from './statementOfApplicability';
|
||||
import * as task from './task';
|
||||
import * as tia from './tia';
|
||||
import * as trustCenter from './trustCenter';
|
||||
import * as vendor from './vendor';
|
||||
import * as thirdParty from './thirdParty';
|
||||
import * as webhook from './webhook';
|
||||
|
||||
export interface ResourceModule {
|
||||
@@ -83,7 +83,7 @@ export const resources: Record<string, ResourceModule> = {
|
||||
task: task as ResourceModule,
|
||||
tia: tia as ResourceModule,
|
||||
trustCenter: trustCenter as ResourceModule,
|
||||
vendor: vendor as ResourceModule,
|
||||
thirdParty: thirdParty as ResourceModule,
|
||||
webhook: webhook as ResourceModule,
|
||||
};
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['create'],
|
||||
},
|
||||
},
|
||||
@@ -36,12 +36,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['create'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The name of the vendor',
|
||||
description: 'The name of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -53,12 +53,12 @@ export const description: INodeProperties[] = [
|
||||
},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['create'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The description of the vendor',
|
||||
description: 'The description of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Category',
|
||||
@@ -66,12 +66,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['create'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The category of the vendor',
|
||||
description: 'The category of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Website URL',
|
||||
@@ -79,12 +79,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['create'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The website URL of the vendor',
|
||||
description: 'The website URL of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Legal Name',
|
||||
@@ -92,12 +92,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['create'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The legal name of the vendor',
|
||||
description: 'The legal name of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Headquarter Address',
|
||||
@@ -105,12 +105,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['create'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The headquarter address of the vendor',
|
||||
description: 'The headquarter address of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Business Owner ID',
|
||||
@@ -118,7 +118,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['create'],
|
||||
},
|
||||
},
|
||||
@@ -131,7 +131,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['create'],
|
||||
},
|
||||
},
|
||||
@@ -146,7 +146,7 @@ export const description: INodeProperties[] = [
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['create'],
|
||||
},
|
||||
},
|
||||
@@ -200,7 +200,7 @@ export const description: INodeProperties[] = [
|
||||
name: 'statusPageUrl',
|
||||
type: 'string',
|
||||
default: '',
|
||||
description: 'The status page URL of the vendor',
|
||||
description: 'The status page URL of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Subprocessors List URL',
|
||||
@@ -252,9 +252,9 @@ export async function execute(
|
||||
};
|
||||
|
||||
const query = `
|
||||
mutation CreateVendor($input: CreateVendorInput!) {
|
||||
createVendor(input: $input) {
|
||||
vendorEdge {
|
||||
mutation CreateThirdParty($input: CreateThirdPartyInput!) {
|
||||
createThirdParty(input: $input) {
|
||||
thirdPartyEdge {
|
||||
node {
|
||||
id
|
||||
name
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['createContact'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -36,7 +36,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['createContact'],
|
||||
},
|
||||
},
|
||||
@@ -50,7 +50,7 @@ export const description: INodeProperties[] = [
|
||||
placeholder: 'name@email.com',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['createContact'],
|
||||
},
|
||||
},
|
||||
@@ -63,7 +63,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['createContact'],
|
||||
},
|
||||
},
|
||||
@@ -76,7 +76,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['createContact'],
|
||||
},
|
||||
},
|
||||
@@ -89,16 +89,16 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
const fullName = this.getNodeParameter('fullName', itemIndex, '') as string;
|
||||
const email = this.getNodeParameter('email', itemIndex, '') as string;
|
||||
const phone = this.getNodeParameter('phone', itemIndex, '') as string;
|
||||
const role = this.getNodeParameter('role', itemIndex, '') as string;
|
||||
|
||||
const query = `
|
||||
mutation CreateVendorContact($input: CreateVendorContactInput!) {
|
||||
createVendorContact(input: $input) {
|
||||
vendorContactEdge {
|
||||
mutation CreateThirdPartyContact($input: CreateThirdPartyContactInput!) {
|
||||
createThirdPartyContact(input: $input) {
|
||||
thirdPartyContactEdge {
|
||||
node {
|
||||
id
|
||||
fullName
|
||||
@@ -113,7 +113,7 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const input: Record<string, unknown> = { vendorId };
|
||||
const input: Record<string, unknown> = { thirdPartyId };
|
||||
if (fullName) input.fullName = fullName;
|
||||
if (email) input.email = email;
|
||||
if (phone) input.phone = phone;
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['createRiskAssessment'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -36,7 +36,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'dateTime',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['createRiskAssessment'],
|
||||
},
|
||||
},
|
||||
@@ -50,7 +50,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'options',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['createRiskAssessment'],
|
||||
},
|
||||
},
|
||||
@@ -71,7 +71,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'options',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['createRiskAssessment'],
|
||||
},
|
||||
},
|
||||
@@ -94,7 +94,7 @@ export const description: INodeProperties[] = [
|
||||
},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['createRiskAssessment'],
|
||||
},
|
||||
},
|
||||
@@ -107,7 +107,7 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
const expiresAtRaw = this.getNodeParameter('expiresAt', itemIndex) as string;
|
||||
const dataSensitivity = this.getNodeParameter('dataSensitivity', itemIndex) as string;
|
||||
const businessImpact = this.getNodeParameter('businessImpact', itemIndex) as string;
|
||||
@@ -117,9 +117,9 @@ export async function execute(
|
||||
const expiresAt = new Date(expiresAtRaw).toISOString();
|
||||
|
||||
const query = `
|
||||
mutation CreateVendorRiskAssessment($input: CreateVendorRiskAssessmentInput!) {
|
||||
createVendorRiskAssessment(input: $input) {
|
||||
vendorRiskAssessmentEdge {
|
||||
mutation CreateThirdPartyRiskAssessment($input: CreateThirdPartyRiskAssessmentInput!) {
|
||||
createThirdPartyRiskAssessment(input: $input) {
|
||||
thirdPartyRiskAssessmentEdge {
|
||||
node {
|
||||
id
|
||||
expiresAt
|
||||
@@ -135,7 +135,7 @@ export async function execute(
|
||||
`;
|
||||
|
||||
const input: Record<string, unknown> = {
|
||||
vendorId,
|
||||
thirdPartyId,
|
||||
expiresAt,
|
||||
dataSensitivity,
|
||||
businessImpact,
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['createService'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -36,12 +36,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['createService'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The name of the vendor service',
|
||||
description: 'The name of the thirdParty service',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -53,12 +53,12 @@ export const description: INodeProperties[] = [
|
||||
},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['createService'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The description of the vendor service',
|
||||
description: 'The description of the thirdParty service',
|
||||
},
|
||||
];
|
||||
|
||||
@@ -66,14 +66,14 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
const name = this.getNodeParameter('name', itemIndex) as string;
|
||||
const description = this.getNodeParameter('description', itemIndex, '') as string;
|
||||
|
||||
const query = `
|
||||
mutation CreateVendorService($input: CreateVendorServiceInput!) {
|
||||
createVendorService(input: $input) {
|
||||
vendorServiceEdge {
|
||||
mutation CreateThirdPartyService($input: CreateThirdPartyServiceInput!) {
|
||||
createThirdPartyService(input: $input) {
|
||||
thirdPartyServiceEdge {
|
||||
node {
|
||||
id
|
||||
name
|
||||
@@ -87,7 +87,7 @@ export async function execute(
|
||||
`;
|
||||
|
||||
const input: Record<string, unknown> = {
|
||||
vendorId,
|
||||
thirdPartyId,
|
||||
name,
|
||||
};
|
||||
if (description) input.description = description;
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['delete'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor to delete',
|
||||
description: 'The ID of the thirdParty to delete',
|
||||
required: true,
|
||||
},
|
||||
];
|
||||
@@ -36,17 +36,17 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
|
||||
const query = `
|
||||
mutation DeleteVendor($input: DeleteVendorInput!) {
|
||||
deleteVendor(input: $input) {
|
||||
deletedVendorId
|
||||
mutation DeleteThirdParty($input: DeleteThirdPartyInput!) {
|
||||
deleteThirdParty(input: $input) {
|
||||
deletedThirdPartyId
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, { input: { vendorId } });
|
||||
const responseData = await proboApiRequest.call(this, query, { input: { thirdPartyId } });
|
||||
|
||||
return {
|
||||
json: responseData,
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['deleteBusinessAssociateAgreement'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
];
|
||||
@@ -36,17 +36,17 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
|
||||
const query = `
|
||||
mutation DeleteVendorBusinessAssociateAgreement($input: DeleteVendorBusinessAssociateAgreementInput!) {
|
||||
deleteVendorBusinessAssociateAgreement(input: $input) {
|
||||
deletedVendorBusinessAssociateAgreementId
|
||||
mutation DeleteThirdPartyBusinessAssociateAgreement($input: DeleteThirdPartyBusinessAssociateAgreementInput!) {
|
||||
deleteThirdPartyBusinessAssociateAgreement(input: $input) {
|
||||
deletedThirdPartyBusinessAssociateAgreementId
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, { input: { vendorId } });
|
||||
const responseData = await proboApiRequest.call(this, query, { input: { thirdPartyId } });
|
||||
|
||||
return {
|
||||
json: responseData,
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor Compliance Report ID',
|
||||
name: 'vendorComplianceReportId',
|
||||
displayName: 'ThirdParty Compliance Report ID',
|
||||
name: 'thirdPartyComplianceReportId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['deleteComplianceReport'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor compliance report to delete',
|
||||
description: 'The ID of the thirdParty compliance report to delete',
|
||||
required: true,
|
||||
},
|
||||
];
|
||||
@@ -36,17 +36,17 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorComplianceReportId = this.getNodeParameter('vendorComplianceReportId', itemIndex) as string;
|
||||
const thirdPartyComplianceReportId = this.getNodeParameter('thirdPartyComplianceReportId', itemIndex) as string;
|
||||
|
||||
const query = `
|
||||
mutation DeleteVendorComplianceReport($input: DeleteVendorComplianceReportInput!) {
|
||||
deleteVendorComplianceReport(input: $input) {
|
||||
deletedVendorComplianceReportId
|
||||
mutation DeleteThirdPartyComplianceReport($input: DeleteThirdPartyComplianceReportInput!) {
|
||||
deleteThirdPartyComplianceReport(input: $input) {
|
||||
deletedThirdPartyComplianceReportId
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, { input: { vendorComplianceReportId } });
|
||||
const responseData = await proboApiRequest.call(this, query, { input: { thirdPartyComplianceReportId } });
|
||||
|
||||
return {
|
||||
json: responseData,
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor Contact ID',
|
||||
name: 'vendorContactId',
|
||||
displayName: 'ThirdParty Contact ID',
|
||||
name: 'thirdPartyContactId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['deleteContact'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor contact to delete',
|
||||
description: 'The ID of the thirdParty contact to delete',
|
||||
required: true,
|
||||
},
|
||||
];
|
||||
@@ -36,17 +36,17 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorContactId = this.getNodeParameter('vendorContactId', itemIndex) as string;
|
||||
const thirdPartyContactId = this.getNodeParameter('thirdPartyContactId', itemIndex) as string;
|
||||
|
||||
const query = `
|
||||
mutation DeleteVendorContact($input: DeleteVendorContactInput!) {
|
||||
deleteVendorContact(input: $input) {
|
||||
deletedVendorContactId
|
||||
mutation DeleteThirdPartyContact($input: DeleteThirdPartyContactInput!) {
|
||||
deleteThirdPartyContact(input: $input) {
|
||||
deletedThirdPartyContactId
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, { input: { vendorContactId } });
|
||||
const responseData = await proboApiRequest.call(this, query, { input: { thirdPartyContactId } });
|
||||
|
||||
return {
|
||||
json: responseData,
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['deleteDataPrivacyAgreement'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
];
|
||||
@@ -36,17 +36,17 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
|
||||
const query = `
|
||||
mutation DeleteVendorDataPrivacyAgreement($input: DeleteVendorDataPrivacyAgreementInput!) {
|
||||
deleteVendorDataPrivacyAgreement(input: $input) {
|
||||
deletedVendorDataPrivacyAgreementId
|
||||
mutation DeleteThirdPartyDataPrivacyAgreement($input: DeleteThirdPartyDataPrivacyAgreementInput!) {
|
||||
deleteThirdPartyDataPrivacyAgreement(input: $input) {
|
||||
deletedThirdPartyDataPrivacyAgreementId
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, { input: { vendorId } });
|
||||
const responseData = await proboApiRequest.call(this, query, { input: { thirdPartyId } });
|
||||
|
||||
return {
|
||||
json: responseData,
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor Service ID',
|
||||
name: 'vendorServiceId',
|
||||
displayName: 'ThirdParty Service ID',
|
||||
name: 'thirdPartyServiceId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['deleteService'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor service to delete',
|
||||
description: 'The ID of the thirdParty service to delete',
|
||||
required: true,
|
||||
},
|
||||
];
|
||||
@@ -36,17 +36,17 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorServiceId = this.getNodeParameter('vendorServiceId', itemIndex) as string;
|
||||
const thirdPartyServiceId = this.getNodeParameter('thirdPartyServiceId', itemIndex) as string;
|
||||
|
||||
const query = `
|
||||
mutation DeleteVendorService($input: DeleteVendorServiceInput!) {
|
||||
deleteVendorService(input: $input) {
|
||||
deletedVendorServiceId
|
||||
mutation DeleteThirdPartyService($input: DeleteThirdPartyServiceInput!) {
|
||||
deleteThirdPartyService(input: $input) {
|
||||
deletedThirdPartyServiceId
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, { input: { vendorServiceId } });
|
||||
const responseData = await proboApiRequest.call(this, query, { input: { thirdPartyServiceId } });
|
||||
|
||||
return {
|
||||
json: responseData,
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['get'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -38,7 +38,7 @@ export const description: INodeProperties[] = [
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['get'],
|
||||
},
|
||||
},
|
||||
@@ -72,7 +72,7 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeOrganization?: boolean;
|
||||
includeBusinessOwner?: boolean;
|
||||
@@ -103,9 +103,9 @@ export async function execute(
|
||||
: '';
|
||||
|
||||
const query = `
|
||||
query GetVendor($vendorId: ID!) {
|
||||
node(id: $vendorId) {
|
||||
... on Vendor {
|
||||
query GetThirdParty($thirdPartyId: ID!) {
|
||||
node(id: $thirdPartyId) {
|
||||
... on ThirdParty {
|
||||
id
|
||||
name
|
||||
description
|
||||
@@ -136,7 +136,7 @@ export async function execute(
|
||||
`;
|
||||
|
||||
const variables = {
|
||||
vendorId,
|
||||
thirdPartyId,
|
||||
};
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, variables);
|
||||
@@ -22,7 +22,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAll'],
|
||||
},
|
||||
},
|
||||
@@ -36,7 +36,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'boolean',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAll'],
|
||||
},
|
||||
},
|
||||
@@ -49,7 +49,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'number',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAll'],
|
||||
returnAll: [false],
|
||||
},
|
||||
@@ -68,7 +68,7 @@ export const description: INodeProperties[] = [
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAll'],
|
||||
},
|
||||
},
|
||||
@@ -135,10 +135,10 @@ export async function execute(
|
||||
: '';
|
||||
|
||||
const query = `
|
||||
query GetVendors($organizationId: ID!, $first: Int, $after: CursorKey) {
|
||||
query GetThirdParties($organizationId: ID!, $first: Int, $after: CursorKey) {
|
||||
node(id: $organizationId) {
|
||||
... on Organization {
|
||||
vendors(first: $first, after: $after) {
|
||||
thirdParties(first: $first, after: $after) {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
@@ -177,21 +177,21 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const vendors = await proboApiRequestAllItems.call(
|
||||
const thirdParties = await proboApiRequestAllItems.call(
|
||||
this,
|
||||
query,
|
||||
{ organizationId },
|
||||
(response) => {
|
||||
const data = response?.data as IDataObject | undefined;
|
||||
const node = data?.node as IDataObject | undefined;
|
||||
return node?.vendors as IDataObject | undefined;
|
||||
return node?.thirdParties as IDataObject | undefined;
|
||||
},
|
||||
returnAll,
|
||||
limit,
|
||||
);
|
||||
|
||||
return {
|
||||
json: { vendors },
|
||||
json: { thirdParties },
|
||||
pairedItem: { item: itemIndex },
|
||||
};
|
||||
}
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequestAllItems } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllComplianceReports'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -36,7 +36,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'boolean',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllComplianceReports'],
|
||||
},
|
||||
},
|
||||
@@ -49,7 +49,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'number',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllComplianceReports'],
|
||||
returnAll: [false],
|
||||
},
|
||||
@@ -66,14 +66,14 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
const returnAll = this.getNodeParameter('returnAll', itemIndex) as boolean;
|
||||
const limit = this.getNodeParameter('limit', itemIndex, 50) as number;
|
||||
|
||||
const query = `
|
||||
query GetVendorComplianceReports($vendorId: ID!, $first: Int, $after: CursorKey) {
|
||||
node(id: $vendorId) {
|
||||
... on Vendor {
|
||||
query GetThirdPartyComplianceReports($thirdPartyId: ID!, $first: Int, $after: CursorKey) {
|
||||
node(id: $thirdPartyId) {
|
||||
... on ThirdParty {
|
||||
complianceReports(first: $first, after: $after) {
|
||||
edges {
|
||||
node {
|
||||
@@ -95,10 +95,10 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const vendorComplianceReports = await proboApiRequestAllItems.call(
|
||||
const thirdPartyComplianceReports = await proboApiRequestAllItems.call(
|
||||
this,
|
||||
query,
|
||||
{ vendorId },
|
||||
{ thirdPartyId },
|
||||
(response) => {
|
||||
const data = response?.data as IDataObject | undefined;
|
||||
const node = data?.node as IDataObject | undefined;
|
||||
@@ -109,7 +109,7 @@ export async function execute(
|
||||
);
|
||||
|
||||
return {
|
||||
json: { vendorComplianceReports },
|
||||
json: { thirdPartyComplianceReports },
|
||||
pairedItem: { item: itemIndex },
|
||||
};
|
||||
}
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequestAllItems } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllContacts'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -36,7 +36,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'boolean',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllContacts'],
|
||||
},
|
||||
},
|
||||
@@ -49,7 +49,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'number',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllContacts'],
|
||||
returnAll: [false],
|
||||
},
|
||||
@@ -68,17 +68,17 @@ export const description: INodeProperties[] = [
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllContacts'],
|
||||
},
|
||||
},
|
||||
options: [
|
||||
{
|
||||
displayName: 'Include Vendor',
|
||||
name: 'includeVendor',
|
||||
displayName: 'Include ThirdParty',
|
||||
name: 'includeThirdParty',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendor in the response',
|
||||
description: 'Whether to include thirdParty in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -88,24 +88,24 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
const returnAll = this.getNodeParameter('returnAll', itemIndex) as boolean;
|
||||
const limit = this.getNodeParameter('limit', itemIndex, 50) as number;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeVendor?: boolean;
|
||||
includeThirdParty?: boolean;
|
||||
};
|
||||
|
||||
const vendorFragment = options.includeVendor
|
||||
? `vendor {
|
||||
const thirdPartyFragment = options.includeThirdParty
|
||||
? `thirdParty {
|
||||
id
|
||||
name
|
||||
}`
|
||||
: '';
|
||||
|
||||
const query = `
|
||||
query GetVendorContacts($vendorId: ID!, $first: Int, $after: CursorKey) {
|
||||
node(id: $vendorId) {
|
||||
... on Vendor {
|
||||
query GetThirdPartyContacts($thirdPartyId: ID!, $first: Int, $after: CursorKey) {
|
||||
node(id: $thirdPartyId) {
|
||||
... on ThirdParty {
|
||||
contacts(first: $first, after: $after) {
|
||||
edges {
|
||||
node {
|
||||
@@ -114,7 +114,7 @@ export async function execute(
|
||||
email
|
||||
phone
|
||||
role
|
||||
${vendorFragment}
|
||||
${thirdPartyFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
@@ -129,10 +129,10 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const vendorContacts = await proboApiRequestAllItems.call(
|
||||
const thirdPartyContacts = await proboApiRequestAllItems.call(
|
||||
this,
|
||||
query,
|
||||
{ vendorId },
|
||||
{ thirdPartyId },
|
||||
(response) => {
|
||||
const data = response?.data as IDataObject | undefined;
|
||||
const node = data?.node as IDataObject | undefined;
|
||||
@@ -143,7 +143,7 @@ export async function execute(
|
||||
);
|
||||
|
||||
return {
|
||||
json: { vendorContacts },
|
||||
json: { thirdPartyContacts },
|
||||
pairedItem: { item: itemIndex },
|
||||
};
|
||||
}
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequestAllItems } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllRiskAssessments'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -36,7 +36,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'boolean',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllRiskAssessments'],
|
||||
},
|
||||
},
|
||||
@@ -49,7 +49,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'number',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllRiskAssessments'],
|
||||
returnAll: [false],
|
||||
},
|
||||
@@ -68,17 +68,17 @@ export const description: INodeProperties[] = [
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllRiskAssessments'],
|
||||
},
|
||||
},
|
||||
options: [
|
||||
{
|
||||
displayName: 'Include Vendor',
|
||||
name: 'includeVendor',
|
||||
displayName: 'Include ThirdParty',
|
||||
name: 'includeThirdParty',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendor in the response',
|
||||
description: 'Whether to include thirdParty in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -88,24 +88,24 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
const returnAll = this.getNodeParameter('returnAll', itemIndex) as boolean;
|
||||
const limit = this.getNodeParameter('limit', itemIndex, 50) as number;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeVendor?: boolean;
|
||||
includeThirdParty?: boolean;
|
||||
};
|
||||
|
||||
const vendorFragment = options.includeVendor
|
||||
? `vendor {
|
||||
const thirdPartyFragment = options.includeThirdParty
|
||||
? `thirdParty {
|
||||
id
|
||||
name
|
||||
}`
|
||||
: '';
|
||||
|
||||
const query = `
|
||||
query GetVendorRiskAssessments($vendorId: ID!, $first: Int, $after: CursorKey) {
|
||||
node(id: $vendorId) {
|
||||
... on Vendor {
|
||||
query GetThirdPartyRiskAssessments($thirdPartyId: ID!, $first: Int, $after: CursorKey) {
|
||||
node(id: $thirdPartyId) {
|
||||
... on ThirdParty {
|
||||
riskAssessments(first: $first, after: $after) {
|
||||
edges {
|
||||
node {
|
||||
@@ -114,7 +114,7 @@ export async function execute(
|
||||
dataSensitivity
|
||||
businessImpact
|
||||
notes
|
||||
${vendorFragment}
|
||||
${thirdPartyFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
@@ -129,10 +129,10 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const vendorRiskAssessments = await proboApiRequestAllItems.call(
|
||||
const thirdPartyRiskAssessments = await proboApiRequestAllItems.call(
|
||||
this,
|
||||
query,
|
||||
{ vendorId },
|
||||
{ thirdPartyId },
|
||||
(response) => {
|
||||
const data = response?.data as IDataObject | undefined;
|
||||
const node = data?.node as IDataObject | undefined;
|
||||
@@ -143,7 +143,7 @@ export async function execute(
|
||||
);
|
||||
|
||||
return {
|
||||
json: { vendorRiskAssessments },
|
||||
json: { thirdPartyRiskAssessments },
|
||||
pairedItem: { item: itemIndex },
|
||||
};
|
||||
}
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequestAllItems } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllServices'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -36,7 +36,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'boolean',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllServices'],
|
||||
},
|
||||
},
|
||||
@@ -49,7 +49,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'number',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllServices'],
|
||||
returnAll: [false],
|
||||
},
|
||||
@@ -68,17 +68,17 @@ export const description: INodeProperties[] = [
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getAllServices'],
|
||||
},
|
||||
},
|
||||
options: [
|
||||
{
|
||||
displayName: 'Include Vendor',
|
||||
name: 'includeVendor',
|
||||
displayName: 'Include ThirdParty',
|
||||
name: 'includeThirdParty',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendor in the response',
|
||||
description: 'Whether to include thirdParty in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -88,31 +88,31 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
const returnAll = this.getNodeParameter('returnAll', itemIndex) as boolean;
|
||||
const limit = this.getNodeParameter('limit', itemIndex, 50) as number;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeVendor?: boolean;
|
||||
includeThirdParty?: boolean;
|
||||
};
|
||||
|
||||
const vendorFragment = options.includeVendor
|
||||
? `vendor {
|
||||
const thirdPartyFragment = options.includeThirdParty
|
||||
? `thirdParty {
|
||||
id
|
||||
name
|
||||
}`
|
||||
: '';
|
||||
|
||||
const query = `
|
||||
query GetVendorServices($vendorId: ID!, $first: Int, $after: CursorKey) {
|
||||
node(id: $vendorId) {
|
||||
... on Vendor {
|
||||
query GetThirdPartyServices($thirdPartyId: ID!, $first: Int, $after: CursorKey) {
|
||||
node(id: $thirdPartyId) {
|
||||
... on ThirdParty {
|
||||
services(first: $first, after: $after) {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
name
|
||||
description
|
||||
${vendorFragment}
|
||||
${thirdPartyFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
@@ -127,10 +127,10 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const vendorServices = await proboApiRequestAllItems.call(
|
||||
const thirdPartyServices = await proboApiRequestAllItems.call(
|
||||
this,
|
||||
query,
|
||||
{ vendorId },
|
||||
{ thirdPartyId },
|
||||
(response) => {
|
||||
const data = response?.data as IDataObject | undefined;
|
||||
const node = data?.node as IDataObject | undefined;
|
||||
@@ -141,7 +141,7 @@ export async function execute(
|
||||
);
|
||||
|
||||
return {
|
||||
json: { vendorServices },
|
||||
json: { thirdPartyServices },
|
||||
pairedItem: { item: itemIndex },
|
||||
};
|
||||
}
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getBusinessAssociateAgreement'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
];
|
||||
@@ -36,12 +36,12 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
|
||||
const query = `
|
||||
query GetVendorBusinessAssociateAgreement($vendorId: ID!) {
|
||||
node(id: $vendorId) {
|
||||
... on Vendor {
|
||||
query GetThirdPartyBusinessAssociateAgreement($thirdPartyId: ID!) {
|
||||
node(id: $thirdPartyId) {
|
||||
... on ThirdParty {
|
||||
businessAssociateAgreement {
|
||||
id
|
||||
validFrom
|
||||
@@ -57,7 +57,7 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, { vendorId });
|
||||
const responseData = await proboApiRequest.call(this, query, { thirdPartyId });
|
||||
|
||||
return {
|
||||
json: responseData,
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor Contact ID',
|
||||
name: 'vendorContactId',
|
||||
displayName: 'ThirdParty Contact ID',
|
||||
name: 'thirdPartyContactId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getContact'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor contact',
|
||||
description: 'The ID of the thirdParty contact',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -38,17 +38,17 @@ export const description: INodeProperties[] = [
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getContact'],
|
||||
},
|
||||
},
|
||||
options: [
|
||||
{
|
||||
displayName: 'Include Vendor',
|
||||
name: 'includeVendor',
|
||||
displayName: 'Include ThirdParty',
|
||||
name: 'includeThirdParty',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendor in the response',
|
||||
description: 'Whether to include thirdParty in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -58,28 +58,28 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorContactId = this.getNodeParameter('vendorContactId', itemIndex) as string;
|
||||
const thirdPartyContactId = this.getNodeParameter('thirdPartyContactId', itemIndex) as string;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeVendor?: boolean;
|
||||
includeThirdParty?: boolean;
|
||||
};
|
||||
|
||||
const vendorFragment = options.includeVendor
|
||||
? `vendor {
|
||||
const thirdPartyFragment = options.includeThirdParty
|
||||
? `thirdParty {
|
||||
id
|
||||
name
|
||||
}`
|
||||
: '';
|
||||
|
||||
const query = `
|
||||
query GetVendorContact($vendorContactId: ID!) {
|
||||
node(id: $vendorContactId) {
|
||||
... on VendorContact {
|
||||
query GetThirdPartyContact($thirdPartyContactId: ID!) {
|
||||
node(id: $thirdPartyContactId) {
|
||||
... on ThirdPartyContact {
|
||||
id
|
||||
fullName
|
||||
email
|
||||
phone
|
||||
role
|
||||
${vendorFragment}
|
||||
${thirdPartyFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
@@ -87,7 +87,7 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, { vendorContactId });
|
||||
const responseData = await proboApiRequest.call(this, query, { thirdPartyContactId });
|
||||
|
||||
return {
|
||||
json: responseData,
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getDataPrivacyAgreement'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
];
|
||||
@@ -36,12 +36,12 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
|
||||
const query = `
|
||||
query GetVendorDataPrivacyAgreement($vendorId: ID!) {
|
||||
node(id: $vendorId) {
|
||||
... on Vendor {
|
||||
query GetThirdPartyDataPrivacyAgreement($thirdPartyId: ID!) {
|
||||
node(id: $thirdPartyId) {
|
||||
... on ThirdParty {
|
||||
dataPrivacyAgreement {
|
||||
id
|
||||
validFrom
|
||||
@@ -57,7 +57,7 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, { vendorId });
|
||||
const responseData = await proboApiRequest.call(this, query, { thirdPartyId });
|
||||
|
||||
return {
|
||||
json: responseData,
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor Risk Assessment ID',
|
||||
name: 'vendorRiskAssessmentId',
|
||||
displayName: 'ThirdParty Risk Assessment ID',
|
||||
name: 'thirdPartyRiskAssessmentId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getRiskAssessment'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor risk assessment',
|
||||
description: 'The ID of the thirdParty risk assessment',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -38,17 +38,17 @@ export const description: INodeProperties[] = [
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getRiskAssessment'],
|
||||
},
|
||||
},
|
||||
options: [
|
||||
{
|
||||
displayName: 'Include Vendor',
|
||||
name: 'includeVendor',
|
||||
displayName: 'Include ThirdParty',
|
||||
name: 'includeThirdParty',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendor in the response',
|
||||
description: 'Whether to include thirdParty in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -58,28 +58,28 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorRiskAssessmentId = this.getNodeParameter('vendorRiskAssessmentId', itemIndex) as string;
|
||||
const thirdPartyRiskAssessmentId = this.getNodeParameter('thirdPartyRiskAssessmentId', itemIndex) as string;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeVendor?: boolean;
|
||||
includeThirdParty?: boolean;
|
||||
};
|
||||
|
||||
const vendorFragment = options.includeVendor
|
||||
? `vendor {
|
||||
const thirdPartyFragment = options.includeThirdParty
|
||||
? `thirdParty {
|
||||
id
|
||||
name
|
||||
}`
|
||||
: '';
|
||||
|
||||
const query = `
|
||||
query GetVendorRiskAssessment($vendorRiskAssessmentId: ID!) {
|
||||
node(id: $vendorRiskAssessmentId) {
|
||||
... on VendorRiskAssessment {
|
||||
query GetThirdPartyRiskAssessment($thirdPartyRiskAssessmentId: ID!) {
|
||||
node(id: $thirdPartyRiskAssessmentId) {
|
||||
... on ThirdPartyRiskAssessment {
|
||||
id
|
||||
expiresAt
|
||||
dataSensitivity
|
||||
businessImpact
|
||||
notes
|
||||
${vendorFragment}
|
||||
${thirdPartyFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
@@ -88,7 +88,7 @@ export async function execute(
|
||||
`;
|
||||
|
||||
const variables = {
|
||||
vendorRiskAssessmentId,
|
||||
thirdPartyRiskAssessmentId,
|
||||
};
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, variables);
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor Service ID',
|
||||
name: 'vendorServiceId',
|
||||
displayName: 'ThirdParty Service ID',
|
||||
name: 'thirdPartyServiceId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getService'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor service',
|
||||
description: 'The ID of the thirdParty service',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -38,17 +38,17 @@ export const description: INodeProperties[] = [
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['getService'],
|
||||
},
|
||||
},
|
||||
options: [
|
||||
{
|
||||
displayName: 'Include Vendor',
|
||||
name: 'includeVendor',
|
||||
displayName: 'Include ThirdParty',
|
||||
name: 'includeThirdParty',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include vendor in the response',
|
||||
description: 'Whether to include thirdParty in the response',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -58,26 +58,26 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorServiceId = this.getNodeParameter('vendorServiceId', itemIndex) as string;
|
||||
const thirdPartyServiceId = this.getNodeParameter('thirdPartyServiceId', itemIndex) as string;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeVendor?: boolean;
|
||||
includeThirdParty?: boolean;
|
||||
};
|
||||
|
||||
const vendorFragment = options.includeVendor
|
||||
? `vendor {
|
||||
const thirdPartyFragment = options.includeThirdParty
|
||||
? `thirdParty {
|
||||
id
|
||||
name
|
||||
}`
|
||||
: '';
|
||||
|
||||
const query = `
|
||||
query GetVendorService($vendorServiceId: ID!) {
|
||||
node(id: $vendorServiceId) {
|
||||
... on VendorService {
|
||||
query GetThirdPartyService($thirdPartyServiceId: ID!) {
|
||||
node(id: $thirdPartyServiceId) {
|
||||
... on ThirdPartyService {
|
||||
id
|
||||
name
|
||||
description
|
||||
${vendorFragment}
|
||||
${thirdPartyFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
@@ -86,7 +86,7 @@ export async function execute(
|
||||
`;
|
||||
|
||||
const variables = {
|
||||
vendorServiceId,
|
||||
thirdPartyServiceId,
|
||||
};
|
||||
|
||||
const responseData = await proboApiRequest.call(this, query, variables);
|
||||
@@ -49,171 +49,171 @@ export const description: INodeProperties[] = [
|
||||
noDataExpression: true,
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
},
|
||||
},
|
||||
options: [
|
||||
{
|
||||
name: 'Create',
|
||||
value: 'create',
|
||||
description: 'Create a new vendor',
|
||||
action: 'Create a vendor',
|
||||
description: 'Create a new third party',
|
||||
action: 'Create a third party',
|
||||
},
|
||||
{
|
||||
name: 'Create Contact',
|
||||
value: 'createContact',
|
||||
description: 'Create a new vendor contact',
|
||||
action: 'Create a vendor contact',
|
||||
description: 'Create a new third party contact',
|
||||
action: 'Create a third party contact',
|
||||
},
|
||||
{
|
||||
name: 'Create Risk Assessment',
|
||||
value: 'createRiskAssessment',
|
||||
description: 'Create a new vendor risk assessment',
|
||||
action: 'Create a vendor risk assessment',
|
||||
description: 'Create a new third party risk assessment',
|
||||
action: 'Create a third party risk assessment',
|
||||
},
|
||||
{
|
||||
name: 'Create Service',
|
||||
value: 'createService',
|
||||
description: 'Create a new vendor service',
|
||||
action: 'Create a vendor service',
|
||||
description: 'Create a new third party service',
|
||||
action: 'Create a third party service',
|
||||
},
|
||||
{
|
||||
name: 'Delete',
|
||||
value: 'delete',
|
||||
description: 'Delete a vendor',
|
||||
action: 'Delete a vendor',
|
||||
description: 'Delete a third party',
|
||||
action: 'Delete a third party',
|
||||
},
|
||||
{
|
||||
name: 'Delete Business Associate Agreement',
|
||||
value: 'deleteBusinessAssociateAgreement',
|
||||
description: 'Delete a vendor business associate agreement',
|
||||
action: 'Delete a vendor business associate agreement',
|
||||
description: 'Delete a third party business associate agreement',
|
||||
action: 'Delete a third party business associate agreement',
|
||||
},
|
||||
{
|
||||
name: 'Delete Compliance Report',
|
||||
value: 'deleteComplianceReport',
|
||||
description: 'Delete a vendor compliance report',
|
||||
action: 'Delete a vendor compliance report',
|
||||
description: 'Delete a third party compliance report',
|
||||
action: 'Delete a third party compliance report',
|
||||
},
|
||||
{
|
||||
name: 'Delete Contact',
|
||||
value: 'deleteContact',
|
||||
description: 'Delete a vendor contact',
|
||||
action: 'Delete a vendor contact',
|
||||
description: 'Delete a third party contact',
|
||||
action: 'Delete a third party contact',
|
||||
},
|
||||
{
|
||||
name: 'Delete Data Privacy Agreement',
|
||||
value: 'deleteDataPrivacyAgreement',
|
||||
description: 'Delete a vendor data privacy agreement',
|
||||
action: 'Delete a vendor data privacy agreement',
|
||||
description: 'Delete a third party data privacy agreement',
|
||||
action: 'Delete a third party data privacy agreement',
|
||||
},
|
||||
{
|
||||
name: 'Delete Service',
|
||||
value: 'deleteService',
|
||||
description: 'Delete a vendor service',
|
||||
action: 'Delete a vendor service',
|
||||
description: 'Delete a third party service',
|
||||
action: 'Delete a third party service',
|
||||
},
|
||||
{
|
||||
name: 'Get',
|
||||
value: 'get',
|
||||
description: 'Get a vendor',
|
||||
action: 'Get a vendor',
|
||||
description: 'Get a third party',
|
||||
action: 'Get a third party',
|
||||
},
|
||||
{
|
||||
name: 'Get Business Associate Agreement',
|
||||
value: 'getBusinessAssociateAgreement',
|
||||
description: 'Get a vendor business associate agreement',
|
||||
action: 'Get a vendor business associate agreement',
|
||||
description: 'Get a third party business associate agreement',
|
||||
action: 'Get a third party business associate agreement',
|
||||
},
|
||||
{
|
||||
name: 'Get Contact',
|
||||
value: 'getContact',
|
||||
description: 'Get a vendor contact',
|
||||
action: 'Get a vendor contact',
|
||||
description: 'Get a third party contact',
|
||||
action: 'Get a third party contact',
|
||||
},
|
||||
{
|
||||
name: 'Get Data Privacy Agreement',
|
||||
value: 'getDataPrivacyAgreement',
|
||||
description: 'Get a vendor data privacy agreement',
|
||||
action: 'Get a vendor data privacy agreement',
|
||||
description: 'Get a third party data privacy agreement',
|
||||
action: 'Get a third party data privacy agreement',
|
||||
},
|
||||
{
|
||||
name: 'Get Many',
|
||||
value: 'getAll',
|
||||
description: 'Get many vendors',
|
||||
action: 'Get many vendors',
|
||||
description: 'Get many third parties',
|
||||
action: 'Get many third parties',
|
||||
},
|
||||
{
|
||||
name: 'Get Many Compliance Reports',
|
||||
value: 'getAllComplianceReports',
|
||||
description: 'Get many vendor compliance reports',
|
||||
action: 'Get many vendor compliance reports',
|
||||
description: 'Get many third party compliance reports',
|
||||
action: 'Get many third party compliance reports',
|
||||
},
|
||||
{
|
||||
name: 'Get Many Contacts',
|
||||
value: 'getAllContacts',
|
||||
description: 'Get many vendor contacts',
|
||||
action: 'Get many vendor contacts',
|
||||
description: 'Get many third party contacts',
|
||||
action: 'Get many third party contacts',
|
||||
},
|
||||
{
|
||||
name: 'Get Many Risk Assessments',
|
||||
value: 'getAllRiskAssessments',
|
||||
description: 'Get many vendor risk assessments',
|
||||
action: 'Get many vendor risk assessments',
|
||||
description: 'Get many third party risk assessments',
|
||||
action: 'Get many third party risk assessments',
|
||||
},
|
||||
{
|
||||
name: 'Get Many Services',
|
||||
value: 'getAllServices',
|
||||
description: 'Get many vendor services',
|
||||
action: 'Get many vendor services',
|
||||
description: 'Get many third party services',
|
||||
action: 'Get many third party services',
|
||||
},
|
||||
{
|
||||
name: 'Get Risk Assessment',
|
||||
value: 'getRiskAssessment',
|
||||
description: 'Get a vendor risk assessment',
|
||||
action: 'Get a vendor risk assessment',
|
||||
description: 'Get a third party risk assessment',
|
||||
action: 'Get a third party risk assessment',
|
||||
},
|
||||
{
|
||||
name: 'Get Service',
|
||||
value: 'getService',
|
||||
description: 'Get a vendor service',
|
||||
action: 'Get a vendor service',
|
||||
description: 'Get a third party service',
|
||||
action: 'Get a third party service',
|
||||
},
|
||||
{
|
||||
name: 'Publish List',
|
||||
value: 'publish',
|
||||
description: 'Publish the vendor register as a document version',
|
||||
action: 'Publish the vendor register',
|
||||
description: 'Publish the third party register as a document version',
|
||||
action: 'Publish the third party register',
|
||||
},
|
||||
{
|
||||
name: 'Update',
|
||||
value: 'update',
|
||||
description: 'Update an existing vendor',
|
||||
action: 'Update a vendor',
|
||||
description: 'Update an existing third party',
|
||||
action: 'Update a third party',
|
||||
},
|
||||
{
|
||||
name: 'Update Business Associate Agreement',
|
||||
value: 'updateBusinessAssociateAgreement',
|
||||
description: 'Update a vendor business associate agreement validity',
|
||||
action: 'Update a vendor business associate agreement',
|
||||
description: 'Update a third party business associate agreement validity',
|
||||
action: 'Update a third party business associate agreement',
|
||||
},
|
||||
{
|
||||
name: 'Update Contact',
|
||||
value: 'updateContact',
|
||||
description: 'Update an existing vendor contact',
|
||||
action: 'Update a vendor contact',
|
||||
description: 'Update an existing third party contact',
|
||||
action: 'Update a third party contact',
|
||||
},
|
||||
{
|
||||
name: 'Update Data Privacy Agreement',
|
||||
value: 'updateDataPrivacyAgreement',
|
||||
description: 'Update a vendor data privacy agreement validity',
|
||||
action: 'Update a vendor data privacy agreement',
|
||||
description: 'Update a third party data privacy agreement validity',
|
||||
action: 'Update a third party data privacy agreement',
|
||||
},
|
||||
{
|
||||
name: 'Update Service',
|
||||
value: 'updateService',
|
||||
description: 'Update an existing vendor service',
|
||||
action: 'Update a vendor service',
|
||||
description: 'Update an existing third party service',
|
||||
action: 'Update a third party service',
|
||||
},
|
||||
],
|
||||
default: 'create',
|
||||
@@ -22,12 +22,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['publish'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the organization whose vendor list to publish',
|
||||
description: 'The ID of the organization whose thirdParty list to publish',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -36,7 +36,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['publish'],
|
||||
},
|
||||
},
|
||||
@@ -49,7 +49,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'boolean',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['publish'],
|
||||
},
|
||||
},
|
||||
@@ -67,8 +67,8 @@ export async function execute(
|
||||
const minor = this.getNodeParameter('minor', itemIndex, false) as boolean;
|
||||
|
||||
const query = `
|
||||
mutation PublishVendorList($input: PublishVendorListInput!) {
|
||||
publishVendorList(input: $input) {
|
||||
mutation PublishThirdPartyList($input: PublishThirdPartyListInput!) {
|
||||
publishThirdPartyList(input: $input) {
|
||||
documentEdge {
|
||||
node {
|
||||
id
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor to update',
|
||||
description: 'The ID of the thirdParty to update',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -36,12 +36,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The name of the vendor',
|
||||
description: 'The name of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Description',
|
||||
@@ -52,12 +52,12 @@ export const description: INodeProperties[] = [
|
||||
},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The description of the vendor',
|
||||
description: 'The description of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Category',
|
||||
@@ -65,12 +65,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The category of the vendor',
|
||||
description: 'The category of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Website URL',
|
||||
@@ -78,12 +78,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The website URL of the vendor',
|
||||
description: 'The website URL of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Legal Name',
|
||||
@@ -91,12 +91,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The legal name of the vendor',
|
||||
description: 'The legal name of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Headquarter Address',
|
||||
@@ -104,12 +104,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The headquarter address of the vendor',
|
||||
description: 'The headquarter address of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Business Owner ID',
|
||||
@@ -117,7 +117,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
@@ -130,7 +130,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
@@ -143,12 +143,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'boolean',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
default: false,
|
||||
description: 'Whether to show the vendor on the trust center',
|
||||
description: 'Whether to show the thirdParty on the trust center',
|
||||
},
|
||||
{
|
||||
displayName: 'Additional Fields',
|
||||
@@ -158,7 +158,7 @@ export const description: INodeProperties[] = [
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
@@ -212,7 +212,7 @@ export const description: INodeProperties[] = [
|
||||
name: 'statusPageUrl',
|
||||
type: 'string',
|
||||
default: '',
|
||||
description: 'The status page URL of the vendor',
|
||||
description: 'The status page URL of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Subprocessors List URL',
|
||||
@@ -240,7 +240,7 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
const name = this.getNodeParameter('name', itemIndex, '') as string;
|
||||
const description = this.getNodeParameter('description', itemIndex, '') as string;
|
||||
const category = this.getNodeParameter('category', itemIndex, '') as string;
|
||||
@@ -265,9 +265,9 @@ export async function execute(
|
||||
};
|
||||
|
||||
const query = `
|
||||
mutation UpdateVendor($input: UpdateVendorInput!) {
|
||||
updateVendor(input: $input) {
|
||||
vendor {
|
||||
mutation UpdateThirdParty($input: UpdateThirdPartyInput!) {
|
||||
updateThirdParty(input: $input) {
|
||||
thirdParty {
|
||||
id
|
||||
name
|
||||
description
|
||||
@@ -294,7 +294,7 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const input: Record<string, unknown> = { id: vendorId };
|
||||
const input: Record<string, unknown> = { id: thirdPartyId };
|
||||
if (name) input.name = name;
|
||||
if (description !== undefined) input.description = description === '' ? null : description;
|
||||
if (category) input.category = category;
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['updateBusinessAssociateAgreement'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -36,7 +36,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['updateBusinessAssociateAgreement'],
|
||||
},
|
||||
},
|
||||
@@ -49,7 +49,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['updateBusinessAssociateAgreement'],
|
||||
},
|
||||
},
|
||||
@@ -62,14 +62,14 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
const validFrom = this.getNodeParameter('validFrom', itemIndex, '') as string;
|
||||
const validUntil = this.getNodeParameter('validUntil', itemIndex, '') as string;
|
||||
|
||||
const query = `
|
||||
mutation UpdateVendorBusinessAssociateAgreement($input: UpdateVendorBusinessAssociateAgreementInput!) {
|
||||
updateVendorBusinessAssociateAgreement(input: $input) {
|
||||
vendorBusinessAssociateAgreement {
|
||||
mutation UpdateThirdPartyBusinessAssociateAgreement($input: UpdateThirdPartyBusinessAssociateAgreementInput!) {
|
||||
updateThirdPartyBusinessAssociateAgreement(input: $input) {
|
||||
thirdPartyBusinessAssociateAgreement {
|
||||
id
|
||||
validFrom
|
||||
validUntil
|
||||
@@ -78,7 +78,7 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const input: Record<string, unknown> = { vendorId };
|
||||
const input: Record<string, unknown> = { thirdPartyId };
|
||||
if (validFrom) input.validFrom = validFrom;
|
||||
if (validUntil) input.validUntil = validUntil;
|
||||
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor Contact ID',
|
||||
name: 'vendorContactId',
|
||||
displayName: 'ThirdParty Contact ID',
|
||||
name: 'thirdPartyContactId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['updateContact'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor contact to update',
|
||||
description: 'The ID of the thirdParty contact to update',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -38,7 +38,7 @@ export const description: INodeProperties[] = [
|
||||
default: {},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['updateContact'],
|
||||
},
|
||||
},
|
||||
@@ -80,7 +80,7 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorContactId = this.getNodeParameter('vendorContactId', itemIndex) as string;
|
||||
const thirdPartyContactId = this.getNodeParameter('thirdPartyContactId', itemIndex) as string;
|
||||
const additionalFields = this.getNodeParameter('additionalFields', itemIndex, {}) as {
|
||||
fullName?: string;
|
||||
email?: string;
|
||||
@@ -89,9 +89,9 @@ export async function execute(
|
||||
};
|
||||
|
||||
const query = `
|
||||
mutation UpdateVendorContact($input: UpdateVendorContactInput!) {
|
||||
updateVendorContact(input: $input) {
|
||||
vendorContact {
|
||||
mutation UpdateThirdPartyContact($input: UpdateThirdPartyContactInput!) {
|
||||
updateThirdPartyContact(input: $input) {
|
||||
thirdPartyContact {
|
||||
id
|
||||
fullName
|
||||
email
|
||||
@@ -104,7 +104,7 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const input: Record<string, unknown> = { id: vendorContactId };
|
||||
const input: Record<string, unknown> = { id: thirdPartyContactId };
|
||||
if (additionalFields.fullName !== undefined) input.fullName = additionalFields.fullName === '' ? null : additionalFields.fullName;
|
||||
if (additionalFields.email !== undefined) input.email = additionalFields.email === '' ? null : additionalFields.email;
|
||||
if (additionalFields.phone !== undefined) input.phone = additionalFields.phone === '' ? null : additionalFields.phone;
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor ID',
|
||||
name: 'vendorId',
|
||||
displayName: 'ThirdParty ID',
|
||||
name: 'thirdPartyId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['updateDataPrivacyAgreement'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor',
|
||||
description: 'The ID of the thirdParty',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -36,7 +36,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['updateDataPrivacyAgreement'],
|
||||
},
|
||||
},
|
||||
@@ -49,7 +49,7 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['updateDataPrivacyAgreement'],
|
||||
},
|
||||
},
|
||||
@@ -62,14 +62,14 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorId = this.getNodeParameter('vendorId', itemIndex) as string;
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
const validFrom = this.getNodeParameter('validFrom', itemIndex, '') as string;
|
||||
const validUntil = this.getNodeParameter('validUntil', itemIndex, '') as string;
|
||||
|
||||
const query = `
|
||||
mutation UpdateVendorDataPrivacyAgreement($input: UpdateVendorDataPrivacyAgreementInput!) {
|
||||
updateVendorDataPrivacyAgreement(input: $input) {
|
||||
vendorDataPrivacyAgreement {
|
||||
mutation UpdateThirdPartyDataPrivacyAgreement($input: UpdateThirdPartyDataPrivacyAgreementInput!) {
|
||||
updateThirdPartyDataPrivacyAgreement(input: $input) {
|
||||
thirdPartyDataPrivacyAgreement {
|
||||
id
|
||||
validFrom
|
||||
validUntil
|
||||
@@ -78,7 +78,7 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const input: Record<string, unknown> = { vendorId };
|
||||
const input: Record<string, unknown> = { thirdPartyId };
|
||||
if (validFrom) input.validFrom = validFrom;
|
||||
if (validUntil) input.validUntil = validUntil;
|
||||
|
||||
@@ -17,17 +17,17 @@ import { proboApiRequest } from '../../GenericFunctions';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Vendor Service ID',
|
||||
name: 'vendorServiceId',
|
||||
displayName: 'ThirdParty Service ID',
|
||||
name: 'thirdPartyServiceId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['updateService'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the vendor service to update',
|
||||
description: 'The ID of the thirdParty service to update',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -36,12 +36,12 @@ export const description: INodeProperties[] = [
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['updateService'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The name of the vendor service',
|
||||
description: 'The name of the thirdParty service',
|
||||
},
|
||||
{
|
||||
displayName: 'Description',
|
||||
@@ -52,12 +52,12 @@ export const description: INodeProperties[] = [
|
||||
},
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['vendor'],
|
||||
resource: ['thirdParty'],
|
||||
operation: ['updateService'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The description of the vendor service',
|
||||
description: 'The description of the thirdParty service',
|
||||
},
|
||||
];
|
||||
|
||||
@@ -65,14 +65,14 @@ export async function execute(
|
||||
this: IExecuteFunctions,
|
||||
itemIndex: number,
|
||||
): Promise<INodeExecutionData> {
|
||||
const vendorServiceId = this.getNodeParameter('vendorServiceId', itemIndex) as string;
|
||||
const thirdPartyServiceId = this.getNodeParameter('thirdPartyServiceId', itemIndex) as string;
|
||||
const name = this.getNodeParameter('name', itemIndex, '') as string;
|
||||
const description = this.getNodeParameter('description', itemIndex, '') as string;
|
||||
|
||||
const query = `
|
||||
mutation UpdateVendorService($input: UpdateVendorServiceInput!) {
|
||||
updateVendorService(input: $input) {
|
||||
vendorService {
|
||||
mutation UpdateThirdPartyService($input: UpdateThirdPartyServiceInput!) {
|
||||
updateThirdPartyService(input: $input) {
|
||||
thirdPartyService {
|
||||
id
|
||||
name
|
||||
description
|
||||
@@ -83,7 +83,7 @@ export async function execute(
|
||||
}
|
||||
`;
|
||||
|
||||
const input: Record<string, unknown> = { id: vendorServiceId };
|
||||
const input: Record<string, unknown> = { id: thirdPartyServiceId };
|
||||
if (name) input.name = name;
|
||||
if (description !== undefined) input.description = description === '' ? null : description;
|
||||
|
||||
@@ -61,12 +61,12 @@ export const description: INodeProperties[] = [
|
||||
{ name: 'Obligation Created', value: 'OBLIGATION_CREATED' },
|
||||
{ name: 'Obligation Deleted', value: 'OBLIGATION_DELETED' },
|
||||
{ name: 'Obligation Updated', value: 'OBLIGATION_UPDATED' },
|
||||
{ name: 'Third Party Created', value: 'THIRD_PARTY_CREATED' },
|
||||
{ name: 'Third Party Deleted', value: 'THIRD_PARTY_DELETED' },
|
||||
{ name: 'Third Party Updated', value: 'THIRD_PARTY_UPDATED' },
|
||||
{ name: 'User Created', value: 'USER_CREATED' },
|
||||
{ name: 'User Deleted', value: 'USER_DELETED' },
|
||||
{ name: 'User Updated', value: 'USER_UPDATED' },
|
||||
{ name: 'Vendor Created', value: 'VENDOR_CREATED' },
|
||||
{ name: 'Vendor Deleted', value: 'VENDOR_DELETED' },
|
||||
{ name: 'Vendor Updated', value: 'VENDOR_UPDATED' },
|
||||
],
|
||||
default: [],
|
||||
description: 'The event types to subscribe to',
|
||||
|
||||
@@ -60,12 +60,12 @@ export const description: INodeProperties[] = [
|
||||
{ name: 'Obligation Created', value: 'OBLIGATION_CREATED' },
|
||||
{ name: 'Obligation Deleted', value: 'OBLIGATION_DELETED' },
|
||||
{ name: 'Obligation Updated', value: 'OBLIGATION_UPDATED' },
|
||||
{ name: 'Third Party Created', value: 'THIRD_PARTY_CREATED' },
|
||||
{ name: 'Third Party Deleted', value: 'THIRD_PARTY_DELETED' },
|
||||
{ name: 'Third Party Updated', value: 'THIRD_PARTY_UPDATED' },
|
||||
{ name: 'User Created', value: 'USER_CREATED' },
|
||||
{ name: 'User Deleted', value: 'USER_DELETED' },
|
||||
{ name: 'User Updated', value: 'USER_UPDATED' },
|
||||
{ name: 'Vendor Created', value: 'VENDOR_CREATED' },
|
||||
{ name: 'Vendor Deleted', value: 'VENDOR_DELETED' },
|
||||
{ name: 'Vendor Updated', value: 'VENDOR_UPDATED' },
|
||||
],
|
||||
default: [],
|
||||
description: 'The event types to subscribe to (replaces existing selection)',
|
||||
|
||||
Reference in New Issue
Block a user