UNPKG

n8n-nodes-netbox

Version:

n8n community node for NetBox API integration with comprehensive DCIM, IPAM, Virtualization, Circuits, Wireless, and data center management operations

450 lines (449 loc) 12.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.userFields = exports.userFiltersField = exports.userLimitField = exports.userReturnAllField = exports.userUpdateFields = exports.userAdditionalFields = exports.userEmailField = exports.userUsernameField = exports.userIdField = exports.usersOperations = void 0; const baseProperties_1 = require("../baseProperties"); exports.usersOperations = { ...baseProperties_1.baseProperties, displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { domain: ['users'], resource: ['users'], }, }, options: [ { name: 'List', value: 'list', description: 'Get all users', action: 'List all users', }, { name: 'Get', value: 'get', description: 'Get a user by ID', action: 'Get a user', }, { name: 'Create', value: 'create', description: 'Create a new user', action: 'Create a user', }, { name: 'Update', value: 'update', description: 'Update a user', action: 'Update a user', }, { name: 'Delete', value: 'delete', description: 'Delete a user', action: 'Delete a user', }, ], default: 'list', }; // ID field for get, update, and delete operations exports.userIdField = { displayName: 'User ID', name: 'userId', type: 'string', required: true, displayOptions: { show: { domain: ['users'], resource: ['users'], operation: ['get', 'update', 'delete'], }, }, default: '', description: 'The ID of the user', noDataExpression: false, }; // Username field for create operation exports.userUsernameField = { displayName: 'Username', name: 'userName', type: 'string', required: true, displayOptions: { show: { domain: ['users'], resource: ['users'], operation: ['create'], }, }, default: '', description: 'Username for the user', noDataExpression: false, }; // Email field for create operation exports.userEmailField = { displayName: 'Email', name: 'email', type: 'string', required: true, displayOptions: { show: { domain: ['users'], resource: ['users'], operation: ['create'], }, }, default: '', description: 'Email address for the user', noDataExpression: false, }; // Additional fields for create operation exports.userAdditionalFields = { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['users'], resource: ['users'], operation: ['create'], }, }, options: [ { displayName: 'First Name', name: 'first_name', type: 'string', default: '', description: 'First name of the user', }, { displayName: 'Last Name', name: 'last_name', type: 'string', default: '', description: 'Last name of the user', }, { displayName: 'Password', name: 'password', type: 'string', typeOptions: { password: true, }, default: '', description: 'Password for the user', }, { displayName: 'Is Active', name: 'is_active', type: 'boolean', default: true, description: 'Whether the user is active', }, { displayName: 'Is Staff', name: 'is_staff', type: 'boolean', default: false, description: 'Whether the user is staff', }, { displayName: 'Is Superuser', name: 'is_superuser', type: 'boolean', default: false, description: 'Whether the user is a superuser', }, { displayName: 'Groups', name: 'groups', type: 'string', default: '', description: 'Comma-separated list of group names or IDs', }, { displayName: 'User Permissions', name: 'user_permissions', type: 'string', default: '', description: 'Comma-separated list of permission names or IDs', }, { displayName: 'Comments', name: 'comments', type: 'string', default: '', description: 'Comments for the user', }, { displayName: 'Tags', name: 'tags', type: 'string', default: '', description: 'Comma-separated list of tag names or IDs', }, { displayName: 'Custom Fields', name: 'custom_fields', type: 'string', default: '', description: 'Custom fields as JSON object', }, ], }; // Update fields for update operation exports.userUpdateFields = { displayName: 'Update Fields', name: 'updateFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['users'], resource: ['users'], operation: ['update'], }, }, options: [ { displayName: 'Username', name: 'userName', type: 'string', default: '', description: 'Username for the user', }, { displayName: 'Email', name: 'email', type: 'string', default: '', description: 'Email address for the user', }, { displayName: 'First Name', name: 'first_name', type: 'string', default: '', description: 'First name of the user', }, { displayName: 'Last Name', name: 'last_name', type: 'string', default: '', description: 'Last name of the user', }, { displayName: 'Password', name: 'password', type: 'string', typeOptions: { password: true, }, default: '', description: 'Password for the user', }, { displayName: 'Is Active', name: 'is_active', type: 'boolean', default: true, description: 'Whether the user is active', }, { displayName: 'Is Staff', name: 'is_staff', type: 'boolean', default: false, description: 'Whether the user is staff', }, { displayName: 'Is Superuser', name: 'is_superuser', type: 'boolean', default: false, description: 'Whether the user is a superuser', }, { displayName: 'Groups', name: 'groups', type: 'string', default: '', description: 'Comma-separated list of group names or IDs', }, { displayName: 'User Permissions', name: 'user_permissions', type: 'string', default: '', description: 'Comma-separated list of permission names or IDs', }, { displayName: 'Comments', name: 'comments', type: 'string', default: '', description: 'Comments for the user', }, { displayName: 'Tags', name: 'tags', type: 'string', default: '', description: 'Comma-separated list of tag names or IDs', }, { displayName: 'Custom Fields', name: 'custom_fields', type: 'string', default: '', description: 'Custom fields as JSON object', }, ], }; // Return All field for list operation exports.userReturnAllField = { displayName: 'Return All', name: 'returnAll', type: 'boolean', displayOptions: { show: { domain: ['users'], resource: ['users'], operation: ['list'], }, }, default: false, description: 'Whether to return all results or only up to the limit', noDataExpression: false, }; // Limit field for list operation exports.userLimitField = { displayName: 'Limit', name: 'limit', type: 'number', displayOptions: { show: { domain: ['users'], resource: ['users'], operation: ['list'], returnAll: [false], }, }, typeOptions: { minValue: 1, }, default: 50, description: 'Max number of results to return', noDataExpression: false, }; // Filters for list operation exports.userFiltersField = { displayName: 'Filters', name: 'filters', type: 'collection', placeholder: 'Add Filter', default: {}, displayOptions: { show: { domain: ['users'], resource: ['users'], operation: ['list'], }, }, options: [ { displayName: 'Username', name: 'username', type: 'string', default: '', description: 'Filter by username', }, { displayName: 'Email', name: 'email', type: 'string', default: '', description: 'Filter by email', }, { displayName: 'First Name', name: 'first_name', type: 'string', default: '', description: 'Filter by first name', }, { displayName: 'Last Name', name: 'last_name', type: 'string', default: '', description: 'Filter by last name', }, { displayName: 'Is Active', name: 'is_active', type: 'boolean', default: false, description: 'Filter by active status', }, { displayName: 'Is Staff', name: 'is_staff', type: 'boolean', default: false, description: 'Filter by staff status', }, { displayName: 'Is Superuser', name: 'is_superuser', type: 'boolean', default: false, description: 'Filter by superuser status', }, { displayName: 'Group', name: 'group', type: 'string', default: '', description: 'Filter by group name', }, { displayName: 'Tag', name: 'tag', type: 'string', default: '', description: 'Filter by tag name', }, { displayName: 'Date Joined', name: 'date_joined', type: 'dateTime', default: '', description: 'Filter by join date', }, { displayName: 'Last Login', name: 'last_login', type: 'dateTime', default: '', description: 'Filter by last login date', }, ], }; exports.userFields = [ exports.userIdField, exports.userUsernameField, exports.userEmailField, exports.userAdditionalFields, exports.userUpdateFields, exports.userReturnAllField, exports.userLimitField, exports.userFiltersField, ];