mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-26 13:14:07 -08:00
✨ Add resource "notes" to Pipedrive-Node
This commit is contained in:
parent
c85b77d3af
commit
83826000d3
|
@ -73,6 +73,10 @@ export class Pipedrive implements INodeType {
|
||||||
name: 'Deal',
|
name: 'Deal',
|
||||||
value: 'deal',
|
value: 'deal',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'Note',
|
||||||
|
value: 'note',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'Organization',
|
name: 'Organization',
|
||||||
value: 'organization',
|
value: 'organization',
|
||||||
|
@ -179,6 +183,48 @@ export class Pipedrive implements INodeType {
|
||||||
description: 'The operation to perform.',
|
description: 'The operation to perform.',
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
displayName: 'Operation',
|
||||||
|
name: 'operation',
|
||||||
|
type: 'options',
|
||||||
|
displayOptions: {
|
||||||
|
show: {
|
||||||
|
resource: [
|
||||||
|
'note',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
name: 'Create',
|
||||||
|
value: 'create',
|
||||||
|
description: 'Create a note',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Delete',
|
||||||
|
value: 'delete',
|
||||||
|
description: 'Delete a note',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Get',
|
||||||
|
value: 'get',
|
||||||
|
description: 'Get data of a note',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Get All',
|
||||||
|
value: 'getAll',
|
||||||
|
description: 'Get data of all note',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Update',
|
||||||
|
value: 'update',
|
||||||
|
description: 'Update a note',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
default: 'create',
|
||||||
|
description: 'The operation to perform.',
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
displayName: 'Operation',
|
displayName: 'Operation',
|
||||||
name: 'operation',
|
name: 'operation',
|
||||||
|
@ -1046,6 +1092,193 @@ export class Pipedrive implements INodeType {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ----------------------------------
|
||||||
|
// note
|
||||||
|
// ----------------------------------
|
||||||
|
|
||||||
|
// ----------------------------------
|
||||||
|
// note:create
|
||||||
|
// ----------------------------------
|
||||||
|
{
|
||||||
|
displayName: 'Content',
|
||||||
|
name: 'content',
|
||||||
|
typeOptions: {
|
||||||
|
rows: 5,
|
||||||
|
},
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
required: true,
|
||||||
|
displayOptions: {
|
||||||
|
show: {
|
||||||
|
operation: [
|
||||||
|
'create',
|
||||||
|
],
|
||||||
|
resource: [
|
||||||
|
'note',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
description: 'The content of the note to create',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
displayName: 'Additional Fields',
|
||||||
|
name: 'additionalFields',
|
||||||
|
type: 'collection',
|
||||||
|
placeholder: 'Add Field',
|
||||||
|
displayOptions: {
|
||||||
|
show: {
|
||||||
|
operation: [
|
||||||
|
'create',
|
||||||
|
],
|
||||||
|
resource: [
|
||||||
|
'note',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
default: {},
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
displayName: 'Deal ID',
|
||||||
|
name: 'deal_id',
|
||||||
|
type: 'number',
|
||||||
|
default: 0,
|
||||||
|
description: 'ID of the deal this note will be associated with',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
displayName: 'Organization ID',
|
||||||
|
name: 'org_id',
|
||||||
|
type: 'number',
|
||||||
|
default: 0,
|
||||||
|
description: 'ID of the organization this note will be associated with.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
displayName: 'Person ID',
|
||||||
|
name: 'person_id',
|
||||||
|
type: 'number',
|
||||||
|
default: 0,
|
||||||
|
description: 'ID of the person this note will be associated with.',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
// ----------------------------------
|
||||||
|
// note:delete
|
||||||
|
// ----------------------------------
|
||||||
|
{
|
||||||
|
displayName: 'Note ID',
|
||||||
|
name: 'noteId',
|
||||||
|
type: 'number',
|
||||||
|
displayOptions: {
|
||||||
|
show: {
|
||||||
|
operation: [
|
||||||
|
'delete',
|
||||||
|
],
|
||||||
|
resource: [
|
||||||
|
'note',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
default: 0,
|
||||||
|
required: true,
|
||||||
|
description: 'ID of the note to delete.',
|
||||||
|
},
|
||||||
|
|
||||||
|
// ----------------------------------
|
||||||
|
// note:get
|
||||||
|
// ----------------------------------
|
||||||
|
{
|
||||||
|
displayName: 'Note ID',
|
||||||
|
name: 'noteId',
|
||||||
|
type: 'number',
|
||||||
|
displayOptions: {
|
||||||
|
show: {
|
||||||
|
operation: [
|
||||||
|
'get'
|
||||||
|
],
|
||||||
|
resource: [
|
||||||
|
'note',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
default: 0,
|
||||||
|
required: true,
|
||||||
|
description: 'ID of the note to get.',
|
||||||
|
},
|
||||||
|
|
||||||
|
// ----------------------------------
|
||||||
|
// note:update
|
||||||
|
// ----------------------------------
|
||||||
|
{
|
||||||
|
displayName: 'Note ID',
|
||||||
|
name: 'noteId',
|
||||||
|
type: 'number',
|
||||||
|
displayOptions: {
|
||||||
|
show: {
|
||||||
|
operation: [
|
||||||
|
'update'
|
||||||
|
],
|
||||||
|
resource: [
|
||||||
|
'note',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
default: 0,
|
||||||
|
required: true,
|
||||||
|
description: 'ID of the note to update.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
displayName: 'Update Fields',
|
||||||
|
name: 'updateFields',
|
||||||
|
type: 'collection',
|
||||||
|
placeholder: 'Add Field',
|
||||||
|
displayOptions: {
|
||||||
|
show: {
|
||||||
|
operation: [
|
||||||
|
'update'
|
||||||
|
],
|
||||||
|
resource: [
|
||||||
|
'note',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
default: {},
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
displayName: 'Content',
|
||||||
|
name: 'content',
|
||||||
|
typeOptions: {
|
||||||
|
rows: 5,
|
||||||
|
},
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
description: 'The content of the note',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
displayName: 'Deal ID',
|
||||||
|
name: 'deal_id',
|
||||||
|
type: 'number',
|
||||||
|
default: 0,
|
||||||
|
description: 'ID of the deal this note will be associated with',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
displayName: 'Organization ID',
|
||||||
|
name: 'org_id',
|
||||||
|
type: 'number',
|
||||||
|
default: 0,
|
||||||
|
description: 'ID of the organization this note will be associated with.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
displayName: 'Person ID',
|
||||||
|
name: 'person_id',
|
||||||
|
type: 'number',
|
||||||
|
default: 0,
|
||||||
|
description: 'ID of the person this note will be associated with.',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
// organization
|
// organization
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
|
@ -1483,7 +1716,7 @@ export class Pipedrive implements INodeType {
|
||||||
|
|
||||||
|
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
// activity / deal / organization / person / product
|
// activity / deal / note / organization / person / product
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
{
|
{
|
||||||
displayName: 'Resolve Properties',
|
displayName: 'Resolve Properties',
|
||||||
|
@ -1491,6 +1724,13 @@ export class Pipedrive implements INodeType {
|
||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
|
resource: [
|
||||||
|
'activity',
|
||||||
|
'deal',
|
||||||
|
'organization',
|
||||||
|
'person',
|
||||||
|
'product',
|
||||||
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'get',
|
'get',
|
||||||
'getAll',
|
'getAll',
|
||||||
|
@ -1688,6 +1928,69 @@ export class Pipedrive implements INodeType {
|
||||||
addAdditionalFields(body, updateFields);
|
addAdditionalFields(body, updateFields);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
} else if (resource === 'note') {
|
||||||
|
if (operation === 'create') {
|
||||||
|
// ----------------------------------
|
||||||
|
// note:create
|
||||||
|
// ----------------------------------
|
||||||
|
|
||||||
|
requestMethod = 'POST';
|
||||||
|
endpoint = '/notes';
|
||||||
|
|
||||||
|
body.content = this.getNodeParameter('content', i) as string;
|
||||||
|
const additionalFields = this.getNodeParameter('additionalFields', i) as IDataObject;
|
||||||
|
addAdditionalFields(body, additionalFields);
|
||||||
|
|
||||||
|
} else if (operation === 'delete') {
|
||||||
|
// ----------------------------------
|
||||||
|
// note:delete
|
||||||
|
// ----------------------------------
|
||||||
|
|
||||||
|
requestMethod = 'DELETE';
|
||||||
|
|
||||||
|
const noteId = this.getNodeParameter('noteId', i) as number;
|
||||||
|
endpoint = `/notes/${noteId}`;
|
||||||
|
|
||||||
|
} else if (operation === 'get') {
|
||||||
|
// ----------------------------------
|
||||||
|
// note:get
|
||||||
|
// ----------------------------------
|
||||||
|
|
||||||
|
requestMethod = 'GET';
|
||||||
|
|
||||||
|
const noteId = this.getNodeParameter('noteId', i) as number;
|
||||||
|
endpoint = `/notes/${noteId}`;
|
||||||
|
|
||||||
|
} else if (operation === 'getAll') {
|
||||||
|
// ----------------------------------
|
||||||
|
// note:getAll
|
||||||
|
// ----------------------------------
|
||||||
|
|
||||||
|
requestMethod = 'GET';
|
||||||
|
|
||||||
|
returnAll = this.getNodeParameter('returnAll', i) as boolean;
|
||||||
|
if (returnAll === false) {
|
||||||
|
qs.limit = this.getNodeParameter('limit', i) as number;
|
||||||
|
}
|
||||||
|
|
||||||
|
endpoint = `/notes`;
|
||||||
|
|
||||||
|
} else if (operation === 'update') {
|
||||||
|
// ----------------------------------
|
||||||
|
// note:update
|
||||||
|
// ----------------------------------
|
||||||
|
|
||||||
|
requestMethod = 'PUT';
|
||||||
|
|
||||||
|
const noteId = this.getNodeParameter('noteId', i) as number;
|
||||||
|
endpoint = `/notes/${noteId}`;
|
||||||
|
|
||||||
|
const updateFields = this.getNodeParameter('updateFields', i) as IDataObject;
|
||||||
|
addAdditionalFields(body, updateFields);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
} else if (resource === 'organization') {
|
} else if (resource === 'organization') {
|
||||||
if (operation === 'create') {
|
if (operation === 'create') {
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
|
@ -1830,7 +2133,7 @@ export class Pipedrive implements INodeType {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (['get', 'getAll'].includes(operation)) {
|
if (['get', 'getAll'].includes(operation) && resource !== 'note') {
|
||||||
const resolveProperties = this.getNodeParameter('resolveProperties', 0) as boolean;
|
const resolveProperties = this.getNodeParameter('resolveProperties', 0) as boolean;
|
||||||
|
|
||||||
if (resolveProperties === true) {
|
if (resolveProperties === true) {
|
||||||
|
|
Loading…
Reference in a new issue