Files
n8n/packages/nodes-base/nodes/Aws/Cognito/descriptions/user/update.operation.ts
T
alighasami 3d5eaf9445
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
first commit
2026-03-17 16:22:57 +03:30

167 lines
3.3 KiB
TypeScript

import type { INodeProperties } from 'n8n-workflow';
import { updateDisplayOptions } from 'n8n-workflow';
import { preSendAttributes } from '../../helpers/utils';
import { userPoolResourceLocator, userResourceLocator } from '../common.description';
const properties: INodeProperties[] = [
{
...userPoolResourceLocator,
description: 'Select the user pool to use',
},
userResourceLocator,
{
displayName: 'User Attributes',
name: 'userAttributes',
type: 'fixedCollection',
placeholder: 'Add Attribute',
default: {
attributes: [],
},
required: true,
description: 'Attributes to update for the user',
typeOptions: {
multipleValues: true,
},
routing: {
send: {
preSend: [preSendAttributes],
},
},
options: [
{
displayName: 'Attributes',
name: 'attributes',
values: [
{
displayName: 'Attribute Type',
name: 'attributeType',
type: 'options',
default: 'standard',
options: [
{
name: 'Standard Attribute',
value: 'standard',
},
{
name: 'Custom Attribute',
value: 'custom',
},
],
},
{
displayName: 'Standard Attribute',
name: 'standardName',
type: 'options',
default: 'address',
options: [
{
name: 'Address',
value: 'address',
},
{
name: 'Birthdate',
value: 'birthdate',
},
{
name: 'Email',
value: 'email',
},
{
name: 'Family Name',
value: 'family_name',
},
{
name: 'Gender',
value: 'gender',
},
{
name: 'Given Name',
value: 'given_name',
},
{
name: 'Locale',
value: 'locale',
},
{
name: 'Middle Name',
value: 'middle_name',
},
{
name: 'Name',
value: 'name',
},
{
name: 'Nickname',
value: 'nickname',
},
{
name: 'Phone Number',
value: 'phone_number',
},
{
name: 'Preferred Username',
value: 'preferred_username',
},
{
name: 'Profile Picture',
value: 'profilepicture',
},
{
name: 'Updated At',
value: 'updated_at',
},
{
name: 'User Sub',
value: 'sub',
},
{
name: 'Website',
value: 'website',
},
{
name: 'Zone Info',
value: 'zoneinfo',
},
],
displayOptions: {
show: {
attributeType: ['standard'],
},
},
},
{
displayName: 'Custom Attribute Name',
name: 'customName',
type: 'string',
default: '',
placeholder: 'custom:myAttribute',
description: 'The name of the custom attribute (must start with "custom:")',
displayOptions: {
show: {
attributeType: ['custom'],
},
},
},
{
displayName: 'Value',
name: 'value',
type: 'string',
default: '',
description: 'The value of the attribute',
},
],
},
],
},
];
const displayOptions = {
show: {
resource: ['user'],
operation: ['update'],
},
};
export const description = updateDisplayOptions(displayOptions, properties);