Replace third-party owners with administrators
Some checks failed
github / Analyze (go) (push) Has been cancelled
github / Analyze (actions) (push) Has been cancelled
github / Analyze (javascript-typescript) (push) Has been cancelled
make / build-apps (push) Has been cancelled
make / probod binary (darwin/amd64) (push) Has been cancelled
make / probod binary (freebsd/amd64) (push) Has been cancelled
make / probod binary (linux/amd64) (push) Has been cancelled
make / probod binary (openbsd/amd64) (push) Has been cancelled
make / probod binary (windows/amd64) (push) Has been cancelled
make / probod binary (darwin/arm64) (push) Has been cancelled
make / probod binary (freebsd/arm64) (push) Has been cancelled
make / probod binary (linux/arm64) (push) Has been cancelled
make / probod binary (openbsd/arm64) (push) Has been cancelled
make / probo-agent (darwin/amd64) (push) Has been cancelled
make / probo-agent (freebsd/amd64) (push) Has been cancelled
make / probo-agent (linux/amd64) (push) Has been cancelled
make / probo-agent (windows/amd64) (push) Has been cancelled
make / probo-agent (darwin/arm64) (push) Has been cancelled
make / probo-agent (freebsd/arm64) (push) Has been cancelled
make / probo-agent (linux/arm64) (push) Has been cancelled
make / probo-agent (windows/arm64) (push) Has been cancelled
make / docker (amd64) (push) Has been cancelled
make / docker (arm64) (push) Has been cancelled
make / snapshot-scan (push) Has been cancelled
make / build-probod (push) Has been cancelled
make / build-probo-agent (push) Has been cancelled
make / lint-go (push) Has been cancelled
make / lint-js (push) Has been cancelled
make / lint-swift (push) Has been cancelled
make / lint-shell (push) Has been cancelled
make / test (push) Has been cancelled
make / test-e2e (push) Has been cancelled
trufflehog / scan (push) Has been cancelled
Some checks failed
github / Analyze (go) (push) Has been cancelled
github / Analyze (actions) (push) Has been cancelled
github / Analyze (javascript-typescript) (push) Has been cancelled
make / build-apps (push) Has been cancelled
make / probod binary (darwin/amd64) (push) Has been cancelled
make / probod binary (freebsd/amd64) (push) Has been cancelled
make / probod binary (linux/amd64) (push) Has been cancelled
make / probod binary (openbsd/amd64) (push) Has been cancelled
make / probod binary (windows/amd64) (push) Has been cancelled
make / probod binary (darwin/arm64) (push) Has been cancelled
make / probod binary (freebsd/arm64) (push) Has been cancelled
make / probod binary (linux/arm64) (push) Has been cancelled
make / probod binary (openbsd/arm64) (push) Has been cancelled
make / probo-agent (darwin/amd64) (push) Has been cancelled
make / probo-agent (freebsd/amd64) (push) Has been cancelled
make / probo-agent (linux/amd64) (push) Has been cancelled
make / probo-agent (windows/amd64) (push) Has been cancelled
make / probo-agent (darwin/arm64) (push) Has been cancelled
make / probo-agent (freebsd/arm64) (push) Has been cancelled
make / probo-agent (linux/arm64) (push) Has been cancelled
make / probo-agent (windows/arm64) (push) Has been cancelled
make / docker (amd64) (push) Has been cancelled
make / docker (arm64) (push) Has been cancelled
make / snapshot-scan (push) Has been cancelled
make / build-probod (push) Has been cancelled
make / build-probo-agent (push) Has been cancelled
make / lint-go (push) Has been cancelled
make / lint-js (push) Has been cancelled
make / lint-swift (push) Has been cancelled
make / lint-shell (push) Has been cancelled
make / test (push) Has been cancelled
make / test-e2e (push) Has been cancelled
trufflehog / scan (push) Has been cancelled
Migrate business and security owners into a shared administrators list across GraphQL, MCP, CLI, n8n, and the console. Signed-off-by: Sacha Al Himdani <sacha@probo.com>
This commit is contained in:
@@ -119,8 +119,8 @@ export const description: INodeProperties[] = [
|
||||
description: 'The headquarter address of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Business Owner ID',
|
||||
name: 'businessOwnerId',
|
||||
displayName: 'Administrator IDs',
|
||||
name: 'administratorIds',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
@@ -129,20 +129,7 @@ export const description: INodeProperties[] = [
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the business owner (People ID)',
|
||||
},
|
||||
{
|
||||
displayName: 'Security Owner ID',
|
||||
name: 'securityOwnerId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['thirdParty'],
|
||||
operation: ['create'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the security owner (People ID)',
|
||||
description: 'Comma-separated administrator profile IDs',
|
||||
},
|
||||
{
|
||||
displayName: 'Additional Fields',
|
||||
@@ -248,8 +235,7 @@ export async function execute(
|
||||
const websiteUrl = this.getNodeParameter('websiteUrl', itemIndex, '') as string;
|
||||
const legalName = this.getNodeParameter('legalName', itemIndex, '') as string;
|
||||
const headquarterAddress = this.getNodeParameter('headquarterAddress', itemIndex, '') as string;
|
||||
const businessOwnerId = this.getNodeParameter('businessOwnerId', itemIndex, '') as string;
|
||||
const securityOwnerId = this.getNodeParameter('securityOwnerId', itemIndex, '') as string;
|
||||
const administratorIds = this.getNodeParameter('administratorIds', itemIndex, '') as string;
|
||||
const additionalFields = this.getNodeParameter('additionalFields', itemIndex, {}) as {
|
||||
statusPageUrl?: string;
|
||||
termsOfServiceUrl?: string;
|
||||
@@ -307,8 +293,7 @@ export async function execute(
|
||||
if (websiteUrl) input.websiteUrl = websiteUrl;
|
||||
if (legalName) input.legalName = legalName;
|
||||
if (headquarterAddress) input.headquarterAddress = headquarterAddress;
|
||||
if (businessOwnerId) input.businessOwnerId = businessOwnerId;
|
||||
if (securityOwnerId) input.securityOwnerId = securityOwnerId;
|
||||
if (administratorIds) input.administratorIds = administratorIds.split(',').map(id => id.trim()).filter(Boolean);
|
||||
if (additionalFields.statusPageUrl) input.statusPageUrl = additionalFields.statusPageUrl;
|
||||
if (additionalFields.termsOfServiceUrl) input.termsOfServiceUrl = additionalFields.termsOfServiceUrl;
|
||||
if (additionalFields.privacyPolicyUrl) input.privacyPolicyUrl = additionalFields.privacyPolicyUrl;
|
||||
|
||||
@@ -57,18 +57,11 @@ export const description: INodeProperties[] = [
|
||||
description: 'Whether to include organization in the response',
|
||||
},
|
||||
{
|
||||
displayName: 'Include Business Owner',
|
||||
name: 'includeBusinessOwner',
|
||||
displayName: 'Include Administrators',
|
||||
name: 'includeAdministrators',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include business owner in the response',
|
||||
},
|
||||
{
|
||||
displayName: 'Include Security Owner',
|
||||
name: 'includeSecurityOwner',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include security owner in the response',
|
||||
description: 'Whether to include administrators details',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -81,8 +74,7 @@ export async function execute(
|
||||
const thirdPartyId = this.getNodeParameter('thirdPartyId', itemIndex) as string;
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
includeOrganization?: boolean;
|
||||
includeBusinessOwner?: boolean;
|
||||
includeSecurityOwner?: boolean;
|
||||
includeAdministrators?: boolean;
|
||||
};
|
||||
|
||||
const organizationFragment = options.includeOrganization
|
||||
@@ -92,16 +84,8 @@ export async function execute(
|
||||
}`
|
||||
: '';
|
||||
|
||||
const businessOwnerFragment = options.includeBusinessOwner
|
||||
? `businessOwner {
|
||||
id
|
||||
fullName
|
||||
emailAddress
|
||||
}`
|
||||
: '';
|
||||
|
||||
const securityOwnerFragment = options.includeSecurityOwner
|
||||
? `securityOwner {
|
||||
const administratorsFragment = options.includeAdministrators
|
||||
? `administrators {
|
||||
id
|
||||
fullName
|
||||
emailAddress
|
||||
@@ -132,8 +116,7 @@ export async function execute(
|
||||
countries
|
||||
showOnCompliancePortal
|
||||
${organizationFragment}
|
||||
${businessOwnerFragment}
|
||||
${securityOwnerFragment}
|
||||
${administratorsFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
|
||||
@@ -94,18 +94,11 @@ export const description: INodeProperties[] = [
|
||||
description: 'Whether to include organization in the response',
|
||||
},
|
||||
{
|
||||
displayName: 'Include Business Owner',
|
||||
name: 'includeBusinessOwner',
|
||||
displayName: 'Include Administrators',
|
||||
name: 'includeAdministrators',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include business owner in the response',
|
||||
},
|
||||
{
|
||||
displayName: 'Include Security Owner',
|
||||
name: 'includeSecurityOwner',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
description: 'Whether to include security owner in the response',
|
||||
description: 'Whether to include administrators details',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -121,8 +114,7 @@ export async function execute(
|
||||
const options = this.getNodeParameter('options', itemIndex, {}) as {
|
||||
filterLevel?: number;
|
||||
includeOrganization?: boolean;
|
||||
includeBusinessOwner?: boolean;
|
||||
includeSecurityOwner?: boolean;
|
||||
includeAdministrators?: boolean;
|
||||
};
|
||||
|
||||
const organizationFragment = options.includeOrganization
|
||||
@@ -132,16 +124,8 @@ export async function execute(
|
||||
}`
|
||||
: '';
|
||||
|
||||
const businessOwnerFragment = options.includeBusinessOwner
|
||||
? `businessOwner {
|
||||
id
|
||||
fullName
|
||||
emailAddress
|
||||
}`
|
||||
: '';
|
||||
|
||||
const securityOwnerFragment = options.includeSecurityOwner
|
||||
? `securityOwner {
|
||||
const administratorsFragment = options.includeAdministrators
|
||||
? `administrators {
|
||||
id
|
||||
fullName
|
||||
emailAddress
|
||||
@@ -183,8 +167,7 @@ export async function execute(
|
||||
name
|
||||
}
|
||||
${organizationFragment}
|
||||
${businessOwnerFragment}
|
||||
${securityOwnerFragment}
|
||||
${administratorsFragment}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
|
||||
@@ -118,8 +118,8 @@ export const description: INodeProperties[] = [
|
||||
description: 'The headquarter address of the thirdParty',
|
||||
},
|
||||
{
|
||||
displayName: 'Business Owner ID',
|
||||
name: 'businessOwnerId',
|
||||
displayName: 'Administrator IDs',
|
||||
name: 'administratorIds',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
@@ -128,20 +128,7 @@ export const description: INodeProperties[] = [
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the business owner (People ID)',
|
||||
},
|
||||
{
|
||||
displayName: 'Security Owner ID',
|
||||
name: 'securityOwnerId',
|
||||
type: 'string',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['thirdParty'],
|
||||
operation: ['update'],
|
||||
},
|
||||
},
|
||||
default: '',
|
||||
description: 'The ID of the security owner (People ID)',
|
||||
description: 'Comma-separated administrator profile IDs (omit to leave unchanged)',
|
||||
},
|
||||
{
|
||||
displayName: 'Show on Compliance Portal',
|
||||
@@ -253,8 +240,7 @@ export async function execute(
|
||||
const websiteUrl = this.getNodeParameter('websiteUrl', itemIndex, '') as string;
|
||||
const legalName = this.getNodeParameter('legalName', itemIndex, '') as string;
|
||||
const headquarterAddress = this.getNodeParameter('headquarterAddress', itemIndex, '') as string;
|
||||
const businessOwnerId = this.getNodeParameter('businessOwnerId', itemIndex, '') as string;
|
||||
const securityOwnerId = this.getNodeParameter('securityOwnerId', itemIndex, '') as string;
|
||||
const administratorIds = this.getNodeParameter('administratorIds', itemIndex, '') as string;
|
||||
const showOnCompliancePortal = this.getNodeParameter('showOnCompliancePortal', itemIndex) as boolean | undefined;
|
||||
const additionalFields = this.getNodeParameter('additionalFields', itemIndex, {}) as {
|
||||
statusPageUrl?: string;
|
||||
@@ -307,8 +293,9 @@ export async function execute(
|
||||
if (websiteUrl !== undefined) input.websiteUrl = websiteUrl === '' ? null : websiteUrl;
|
||||
if (legalName !== undefined) input.legalName = legalName === '' ? null : legalName;
|
||||
if (headquarterAddress !== undefined) input.headquarterAddress = headquarterAddress === '' ? null : headquarterAddress;
|
||||
if (businessOwnerId !== undefined) input.businessOwnerId = businessOwnerId === '' ? null : businessOwnerId;
|
||||
if (securityOwnerId !== undefined) input.securityOwnerId = securityOwnerId === '' ? null : securityOwnerId;
|
||||
if (administratorIds) {
|
||||
input.administratorIds = administratorIds.split(',').map(id => id.trim()).filter(Boolean);
|
||||
}
|
||||
if (showOnCompliancePortal !== undefined) input.showOnCompliancePortal = showOnCompliancePortal;
|
||||
if (additionalFields.statusPageUrl !== undefined) input.statusPageUrl = additionalFields.statusPageUrl === '' ? null : additionalFields.statusPageUrl;
|
||||
if (additionalFields.termsOfServiceUrl !== undefined) input.termsOfServiceUrl = additionalFields.termsOfServiceUrl === '' ? null : additionalFields.termsOfServiceUrl;
|
||||
|
||||
Reference in New Issue
Block a user