2020-12-02 23:05:54 -08:00
import {
INodeProperties ,
2020-12-22 23:19:10 -08:00
} from 'n8n-workflow' ;
2020-12-02 23:05:54 -08:00
export const userOperations = [
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
} ,
} ,
options : [
{
name : 'Create/Update' ,
value : 'upsert' ,
description : 'Create/Update a user' ,
} ,
{
name : 'Delete' ,
value : 'delete' ,
description : 'Delete a user' ,
} ,
{
name : 'Get' ,
value : 'get' ,
description : 'Get a user' ,
} ,
] ,
default : 'upsert' ,
description : 'The operation to perform.' ,
} ,
] as INodeProperties [ ] ;
export const userFields = [
2020-12-22 23:19:10 -08:00
/* -------------------------------------------------------------------------- */
/* user:upsert */
/* -------------------------------------------------------------------------- */
2020-12-02 23:05:54 -08:00
{
displayName : 'Identifier' ,
name : 'identifier' ,
type : 'options' ,
required : true ,
options : [
{
name : 'Email' ,
value : 'email' ,
} ,
{
name : 'User ID' ,
value : 'userId' ,
} ,
] ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'upsert' ,
] ,
} ,
} ,
default : '' ,
description : 'Identifier to be used' ,
} ,
{
displayName : 'Value' ,
name : 'value' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'upsert' ,
] ,
} ,
} ,
default : '' ,
} ,
{
displayName : ` Create If Doesn't exist ` ,
name : 'preferUserId' ,
type : 'boolean' ,
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'upsert' ,
] ,
identifier : [
'userId' ,
] ,
} ,
} ,
default : true ,
description : 'Create a new user if the idetifier does not exist.' ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'upsert' ,
] ,
} ,
} ,
options : [
{
displayName : 'Data Fields' ,
name : 'dataFieldsUi' ,
type : 'fixedCollection' ,
default : '' ,
placeholder : 'Add Data Field' ,
typeOptions : {
multipleValues : true ,
} ,
options : [
{
name : 'dataFieldValues' ,
displayName : 'Data Field' ,
values : [
{
displayName : 'Key' ,
name : 'key' ,
type : 'string' ,
default : '' ,
description : 'The end user specified key of the user defined data.' ,
} ,
{
displayName : 'Value' ,
name : 'value' ,
type : 'string' ,
default : '' ,
description : 'The end user specified value of the user defined data.' ,
} ,
] ,
} ,
] ,
} ,
{
displayName : 'Merge Nested Objects' ,
name : 'mergeNestedObjects' ,
type : 'boolean' ,
default : false ,
2021-11-25 09:10:06 -08:00
description : ` Merge top level objects instead of overwriting (default: false), e.g. if user profile has data: {mySettings:{mobile:true}} and change contact field has data: {mySettings:{email:true}}, the resulting profile: {mySettings:{mobile:true,email:true}} ` ,
2020-12-02 23:05:54 -08:00
} ,
] ,
} ,
2020-12-22 23:19:10 -08:00
/* -------------------------------------------------------------------------- */
/* user:delete */
/* -------------------------------------------------------------------------- */
2020-12-02 23:05:54 -08:00
{
displayName : 'By' ,
name : 'by' ,
type : 'options' ,
required : true ,
options : [
{
name : 'Email' ,
value : 'email' ,
} ,
{
name : 'User ID' ,
value : 'userId' ,
} ,
] ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'delete' ,
] ,
} ,
} ,
default : 'email' ,
description : 'Identifier to be used' ,
} ,
{
displayName : 'User ID' ,
name : 'userId' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'delete' ,
] ,
by : [
'userId' ,
] ,
} ,
} ,
default : '' ,
description : 'Unique identifier for a particular user' ,
} ,
{
displayName : 'Email' ,
name : 'email' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'delete' ,
] ,
by : [
'email' ,
] ,
} ,
} ,
default : '' ,
description : 'Email for a particular user' ,
} ,
2020-12-22 23:19:10 -08:00
/* -------------------------------------------------------------------------- */
/* user:get */
/* -------------------------------------------------------------------------- */
2020-12-02 23:05:54 -08:00
{
displayName : 'By' ,
name : 'by' ,
type : 'options' ,
required : true ,
options : [
{
name : 'Email' ,
value : 'email' ,
} ,
{
name : 'User ID' ,
value : 'userId' ,
} ,
] ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'get' ,
] ,
} ,
} ,
default : 'email' ,
description : 'Identifier to be used' ,
} ,
{
displayName : 'User ID' ,
name : 'userId' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'get' ,
] ,
by : [
'userId' ,
] ,
} ,
} ,
default : '' ,
description : 'Unique identifier for a particular user' ,
} ,
{
displayName : 'Email' ,
name : 'email' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'get' ,
] ,
by : [
'email' ,
] ,
} ,
} ,
default : '' ,
description : 'Email for a particular user' ,
} ,
] as INodeProperties [ ] ;