import { INodeProperties, } from 'n8n-workflow'; export const boardMemberOperations: INodeProperties[] = [ // ---------------------------------- // boardMember // ---------------------------------- { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: [ 'boardMember', ], }, }, options: [ { name: 'Add', value: 'add', description: 'Add member to board using member ID', action: 'Add a board member', }, { name: 'Get All', value: 'getAll', description: 'Get all members of a board', action: 'Get all board members', }, { name: 'Invite', value: 'invite', description: 'Invite a new member to a board via email', action: 'Invite a board member', }, { name: 'Remove', value: 'remove', description: 'Remove member from board using member ID', action: 'Remove a board member', }, ], default: 'add', }, ]; export const boardMemberFields: INodeProperties[] = [ // ---------------------------------- // boardMember:getAll // ---------------------------------- { displayName: 'Board ID', name: 'id', type: 'string', default: '', required: true, displayOptions: { show: { operation: [ 'getAll', ], resource: [ 'boardMember', ], }, }, description: 'The ID of the board to get members from', }, { displayName: 'Return All', name: 'returnAll', type: 'boolean', displayOptions: { show: { operation: [ 'getAll', ], resource: [ 'boardMember', ], }, }, default: false, description: 'Whether to return all results or only up to a given limit', }, { displayName: 'Limit', name: 'limit', type: 'number', typeOptions: { minValue: 1, }, description: 'Max number of results to return', default: 20, displayOptions: { show: { operation: [ 'getAll', ], resource: [ 'boardMember', ], returnAll: [ false, ], }, }, }, // ---------------------------------- // boardMember:add // ---------------------------------- { displayName: 'Board ID', name: 'id', type: 'string', default: '', required: true, displayOptions: { show: { operation: [ 'add', ], resource: [ 'boardMember', ], }, }, description: 'The ID of the board to add member to', }, { displayName: 'Member ID', name: 'idMember', type: 'string', default: '', required: true, displayOptions: { show: { operation: [ 'add', ], resource: [ 'boardMember', ], }, }, description: 'The ID of the member to add to the board', }, { displayName: 'Type', name: 'type', type: 'options', required: true, default: 'normal', displayOptions: { show: { operation: [ 'add', ], resource: [ 'boardMember', ], }, }, options: [ { name: 'Normal', value: 'normal', description: 'Invite as normal member', }, { name: 'Admin', value: 'admin', description: 'Invite as admin', }, { name: 'Observer', value: 'observer', description: 'Invite as observer (Trello premium feature)', }, ], description: 'Determines the type of membership the user being added should have', }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { operation: [ 'add', ], resource: [ 'boardMember', ], }, }, options: [ { displayName: 'Allow Billable Guest', name: 'allowBillableGuest', type: 'boolean', default: false, description: 'Whether to allow organization admins to add multi-board guests onto a board', }, ], }, // ---------------------------------- // boardMember:invite // ---------------------------------- { displayName: 'Board ID', name: 'id', type: 'string', default: '', required: true, displayOptions: { show: { operation: [ 'invite', ], resource: [ 'boardMember', ], }, }, description: 'The ID of the board to invite member to', }, { displayName: 'Email', name: 'email', type: 'string', placeholder: 'name@email.com', default: '', required: true, displayOptions: { show: { operation: [ 'invite', ], resource: [ 'boardMember', ], }, }, description: 'The ID of the board to update', }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', displayOptions: { show: { operation: [ 'invite', ], resource: [ 'boardMember', ], }, }, default: {}, options: [ { displayName: 'Type', name: 'type', type: 'options', default: 'normal', options: [ { name: 'Normal', value: 'normal', description: 'Invite as normal member', }, { name: 'Admin', value: 'admin', description: 'Invite as admin', }, { name: 'Observer', value: 'observer', description: 'Invite as observer (Trello premium feature)', }, ], description: 'Determines the type of membership the user being added should have', }, { displayName: 'Full Name', name: 'fullName', type: 'string', default: '', description: 'The full name of the user to add as a member of the board. Must have a length of at least 1 and cannot begin nor end with a space.', }, ], }, // ---------------------------------- // boardMember:remove // ---------------------------------- { displayName: 'Board ID', name: 'id', type: 'string', default: '', required: true, displayOptions: { show: { operation: [ 'remove', ], resource: [ 'boardMember', ], }, }, description: 'The ID of the board to remove member from', }, { displayName: 'Member ID', name: 'idMember', type: 'string', default: '', required: true, displayOptions: { show: { operation: [ 'remove', ], resource: [ 'boardMember', ], }, }, description: 'The ID of the member to remove from the board', }, ];