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:
278
packages/n8n-node/nodes/Probo/actions/thirdParty/index.ts
vendored
Normal file
278
packages/n8n-node/nodes/Probo/actions/thirdParty/index.ts
vendored
Normal file
@@ -0,0 +1,278 @@
|
||||
// Copyright (c) 2025-2026 Probo Inc <hello@getprobo.com>.
|
||||
//
|
||||
// Permission to use, copy, modify, and/or distribute this software for any
|
||||
// purpose with or without fee is hereby granted, provided that the above
|
||||
// copyright notice and this permission notice appear in all copies.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
// AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
// OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
// PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
import type { INodeProperties } from 'n8n-workflow';
|
||||
import * as createOp from './create.operation';
|
||||
import * as updateOp from './update.operation';
|
||||
import * as deleteOp from './delete.operation';
|
||||
import * as getOp from './get.operation';
|
||||
import * as getAllOp from './getAll.operation';
|
||||
import * as createContactOp from './createContact.operation';
|
||||
import * as updateContactOp from './updateContact.operation';
|
||||
import * as deleteContactOp from './deleteContact.operation';
|
||||
import * as getContactOp from './getContact.operation';
|
||||
import * as getAllContactsOp from './getAllContacts.operation';
|
||||
import * as createServiceOp from './createService.operation';
|
||||
import * as updateServiceOp from './updateService.operation';
|
||||
import * as deleteServiceOp from './deleteService.operation';
|
||||
import * as getServiceOp from './getService.operation';
|
||||
import * as getAllServicesOp from './getAllServices.operation';
|
||||
import * as createRiskAssessmentOp from './createRiskAssessment.operation';
|
||||
import * as getRiskAssessmentOp from './getRiskAssessment.operation';
|
||||
import * as getAllRiskAssessmentsOp from './getAllRiskAssessments.operation';
|
||||
import * as getAllComplianceReportsOp from './getAllComplianceReports.operation';
|
||||
import * as deleteComplianceReportOp from './deleteComplianceReport.operation';
|
||||
import * as getBusinessAssociateAgreementOp from './getBusinessAssociateAgreement.operation';
|
||||
import * as deleteBusinessAssociateAgreementOp from './deleteBusinessAssociateAgreement.operation';
|
||||
import * as updateBusinessAssociateAgreementOp from './updateBusinessAssociateAgreement.operation';
|
||||
import * as getDataPrivacyAgreementOp from './getDataPrivacyAgreement.operation';
|
||||
import * as deleteDataPrivacyAgreementOp from './deleteDataPrivacyAgreement.operation';
|
||||
import * as updateDataPrivacyAgreementOp from './updateDataPrivacyAgreement.operation';
|
||||
import * as publishOp from './publish.operation';
|
||||
|
||||
export const description: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Operation',
|
||||
name: 'operation',
|
||||
type: 'options',
|
||||
noDataExpression: true,
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['thirdParty'],
|
||||
},
|
||||
},
|
||||
options: [
|
||||
{
|
||||
name: 'Create',
|
||||
value: 'create',
|
||||
description: 'Create a new third party',
|
||||
action: 'Create a third party',
|
||||
},
|
||||
{
|
||||
name: 'Create Contact',
|
||||
value: 'createContact',
|
||||
description: 'Create a new third party contact',
|
||||
action: 'Create a third party contact',
|
||||
},
|
||||
{
|
||||
name: 'Create Risk Assessment',
|
||||
value: 'createRiskAssessment',
|
||||
description: 'Create a new third party risk assessment',
|
||||
action: 'Create a third party risk assessment',
|
||||
},
|
||||
{
|
||||
name: 'Create Service',
|
||||
value: 'createService',
|
||||
description: 'Create a new third party service',
|
||||
action: 'Create a third party service',
|
||||
},
|
||||
{
|
||||
name: 'Delete',
|
||||
value: 'delete',
|
||||
description: 'Delete a third party',
|
||||
action: 'Delete a third party',
|
||||
},
|
||||
{
|
||||
name: 'Delete Business Associate Agreement',
|
||||
value: 'deleteBusinessAssociateAgreement',
|
||||
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 third party compliance report',
|
||||
action: 'Delete a third party compliance report',
|
||||
},
|
||||
{
|
||||
name: 'Delete Contact',
|
||||
value: 'deleteContact',
|
||||
description: 'Delete a third party contact',
|
||||
action: 'Delete a third party contact',
|
||||
},
|
||||
{
|
||||
name: 'Delete Data Privacy Agreement',
|
||||
value: 'deleteDataPrivacyAgreement',
|
||||
description: 'Delete a third party data privacy agreement',
|
||||
action: 'Delete a third party data privacy agreement',
|
||||
},
|
||||
{
|
||||
name: 'Delete Service',
|
||||
value: 'deleteService',
|
||||
description: 'Delete a third party service',
|
||||
action: 'Delete a third party service',
|
||||
},
|
||||
{
|
||||
name: 'Get',
|
||||
value: 'get',
|
||||
description: 'Get a third party',
|
||||
action: 'Get a third party',
|
||||
},
|
||||
{
|
||||
name: 'Get Business Associate Agreement',
|
||||
value: 'getBusinessAssociateAgreement',
|
||||
description: 'Get a third party business associate agreement',
|
||||
action: 'Get a third party business associate agreement',
|
||||
},
|
||||
{
|
||||
name: 'Get Contact',
|
||||
value: 'getContact',
|
||||
description: 'Get a third party contact',
|
||||
action: 'Get a third party contact',
|
||||
},
|
||||
{
|
||||
name: 'Get Data Privacy Agreement',
|
||||
value: 'getDataPrivacyAgreement',
|
||||
description: 'Get a third party data privacy agreement',
|
||||
action: 'Get a third party data privacy agreement',
|
||||
},
|
||||
{
|
||||
name: 'Get Many',
|
||||
value: 'getAll',
|
||||
description: 'Get many third parties',
|
||||
action: 'Get many third parties',
|
||||
},
|
||||
{
|
||||
name: 'Get Many Compliance Reports',
|
||||
value: 'getAllComplianceReports',
|
||||
description: 'Get many third party compliance reports',
|
||||
action: 'Get many third party compliance reports',
|
||||
},
|
||||
{
|
||||
name: 'Get Many Contacts',
|
||||
value: 'getAllContacts',
|
||||
description: 'Get many third party contacts',
|
||||
action: 'Get many third party contacts',
|
||||
},
|
||||
{
|
||||
name: 'Get Many Risk Assessments',
|
||||
value: 'getAllRiskAssessments',
|
||||
description: 'Get many third party risk assessments',
|
||||
action: 'Get many third party risk assessments',
|
||||
},
|
||||
{
|
||||
name: 'Get Many Services',
|
||||
value: 'getAllServices',
|
||||
description: 'Get many third party services',
|
||||
action: 'Get many third party services',
|
||||
},
|
||||
{
|
||||
name: 'Get Risk Assessment',
|
||||
value: 'getRiskAssessment',
|
||||
description: 'Get a third party risk assessment',
|
||||
action: 'Get a third party risk assessment',
|
||||
},
|
||||
{
|
||||
name: 'Get Service',
|
||||
value: 'getService',
|
||||
description: 'Get a third party service',
|
||||
action: 'Get a third party service',
|
||||
},
|
||||
{
|
||||
name: 'Publish List',
|
||||
value: 'publish',
|
||||
description: 'Publish the third party register as a document version',
|
||||
action: 'Publish the third party register',
|
||||
},
|
||||
{
|
||||
name: 'Update',
|
||||
value: 'update',
|
||||
description: 'Update an existing third party',
|
||||
action: 'Update a third party',
|
||||
},
|
||||
{
|
||||
name: 'Update Business Associate Agreement',
|
||||
value: 'updateBusinessAssociateAgreement',
|
||||
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 third party contact',
|
||||
action: 'Update a third party contact',
|
||||
},
|
||||
{
|
||||
name: 'Update Data Privacy Agreement',
|
||||
value: 'updateDataPrivacyAgreement',
|
||||
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 third party service',
|
||||
action: 'Update a third party service',
|
||||
},
|
||||
],
|
||||
default: 'create',
|
||||
},
|
||||
...createOp.description,
|
||||
...updateOp.description,
|
||||
...deleteOp.description,
|
||||
...getOp.description,
|
||||
...getAllOp.description,
|
||||
...createContactOp.description,
|
||||
...updateContactOp.description,
|
||||
...deleteContactOp.description,
|
||||
...getContactOp.description,
|
||||
...getAllContactsOp.description,
|
||||
...createServiceOp.description,
|
||||
...updateServiceOp.description,
|
||||
...deleteServiceOp.description,
|
||||
...getServiceOp.description,
|
||||
...getAllServicesOp.description,
|
||||
...createRiskAssessmentOp.description,
|
||||
...getRiskAssessmentOp.description,
|
||||
...getAllRiskAssessmentsOp.description,
|
||||
...getAllComplianceReportsOp.description,
|
||||
...deleteComplianceReportOp.description,
|
||||
...getBusinessAssociateAgreementOp.description,
|
||||
...deleteBusinessAssociateAgreementOp.description,
|
||||
...updateBusinessAssociateAgreementOp.description,
|
||||
...getDataPrivacyAgreementOp.description,
|
||||
...deleteDataPrivacyAgreementOp.description,
|
||||
...updateDataPrivacyAgreementOp.description,
|
||||
...publishOp.description,
|
||||
];
|
||||
|
||||
export {
|
||||
createOp as create,
|
||||
updateOp as update,
|
||||
deleteOp as delete,
|
||||
getOp as get,
|
||||
getAllOp as getAll,
|
||||
createContactOp as createContact,
|
||||
updateContactOp as updateContact,
|
||||
deleteContactOp as deleteContact,
|
||||
getContactOp as getContact,
|
||||
getAllContactsOp as getAllContacts,
|
||||
createServiceOp as createService,
|
||||
updateServiceOp as updateService,
|
||||
deleteServiceOp as deleteService,
|
||||
getServiceOp as getService,
|
||||
getAllServicesOp as getAllServices,
|
||||
createRiskAssessmentOp as createRiskAssessment,
|
||||
getRiskAssessmentOp as getRiskAssessment,
|
||||
getAllRiskAssessmentsOp as getAllRiskAssessments,
|
||||
getAllComplianceReportsOp as getAllComplianceReports,
|
||||
deleteComplianceReportOp as deleteComplianceReport,
|
||||
getBusinessAssociateAgreementOp as getBusinessAssociateAgreement,
|
||||
deleteBusinessAssociateAgreementOp as deleteBusinessAssociateAgreement,
|
||||
updateBusinessAssociateAgreementOp as updateBusinessAssociateAgreement,
|
||||
getDataPrivacyAgreementOp as getDataPrivacyAgreement,
|
||||
deleteDataPrivacyAgreementOp as deleteDataPrivacyAgreement,
|
||||
updateDataPrivacyAgreementOp as updateDataPrivacyAgreement,
|
||||
publishOp as publish,
|
||||
};
|
||||
Reference in New Issue
Block a user