2021-01-13 00:00:07 -08:00
import { INodeProperties } from 'n8n-workflow' ;
2020-05-19 04:47:21 -07:00
export const userOperations = [
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
} ,
} ,
options : [
2020-05-22 15:59:40 -07:00
{
2020-05-19 04:47:21 -07:00
name : 'Create' ,
value : 'create' ,
description : 'Create a user.' ,
} ,
{
name : 'Deactivate' ,
value : 'deactivate' ,
description : 'Deactivate a user.' ,
2020-05-22 15:59:40 -07:00
} ,
{
2020-05-19 04:47:21 -07:00
name : 'Get' ,
value : 'get' ,
description : 'Get a user.' ,
2020-05-22 15:59:40 -07:00
} ,
2020-05-19 04:47:21 -07:00
{
name : 'Get All' ,
value : 'getAll' ,
description : 'Get all users.' ,
} ,
2020-05-31 02:15:45 -07:00
{
name : 'Update' ,
value : 'update' ,
description : 'Update a user.' ,
} ,
2020-05-19 04:47:21 -07:00
] ,
default : 'create' ,
description : 'The operation to perform.' ,
} ,
] as INodeProperties [ ] ;
export const userFields = [
2020-05-22 15:59:40 -07:00
/* -------------------------------------------------------------------------- */
/* user:create */
/* -------------------------------------------------------------------------- */
2020-05-19 04:47:21 -07:00
{
displayName : 'Email' ,
name : 'email' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
default : '' ,
description : 'The email address of the new user.' ,
2020-05-22 15:59:40 -07:00
} ,
{
2020-05-19 08:40:17 -07:00
displayName : 'Full Name' ,
name : 'fullName' ,
2020-05-19 04:47:21 -07:00
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
default : '' ,
2020-05-19 08:40:17 -07:00
description : 'The full name of the new user.' ,
2020-05-22 15:59:40 -07:00
} ,
{
2020-05-19 08:40:17 -07:00
displayName : 'Password' ,
name : 'password' ,
2020-05-19 04:47:21 -07:00
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
default : '' ,
2020-05-19 08:40:17 -07:00
description : 'The password of the new user.' ,
2020-05-22 15:59:40 -07:00
} ,
{
2020-05-19 04:47:21 -07:00
displayName : 'Short Name' ,
2020-05-19 08:36:45 -07:00
name : 'shortName' ,
2020-05-19 04:47:21 -07:00
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
default : '' ,
description : 'The short name of the new user. Not user-visible.' ,
2020-05-22 15:59:40 -07:00
} ,
/* -------------------------------------------------------------------------- */
/* user:get / getAll */
/* -------------------------------------------------------------------------- */
2020-05-19 04:47:21 -07:00
{
displayName : 'User ID' ,
name : 'userId' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'get' ,
] ,
} ,
} ,
default : '' ,
description : 'The ID of user to get.' ,
2020-05-22 15:59:40 -07:00
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
2020-10-22 06:46:03 -07:00
'get' , 'getAll' ,
2020-05-22 15:59:40 -07:00
] ,
} ,
} ,
options : [
{
displayName : 'Client Gravatar' ,
name : 'clientGravatar' ,
type : 'boolean' ,
default : false ,
description : 'Whether the client supports computing gravatars URLs. If enabled, avatar_url will be included in the response only if there is a Zulip avatar, and will be null for users who are using gravatar as their avatar.' ,
} ,
{
displayName : 'Custom Profile Fields' ,
name : 'includeCustomProfileFields' ,
type : 'boolean' ,
default : false ,
description : 'Whether the client wants custom profile field data to be included in the response.' ,
} ,
2020-10-22 06:46:03 -07:00
] ,
2020-05-22 15:59:40 -07:00
} ,
/* -------------------------------------------------------------------------- */
/* user:update */
/* -------------------------------------------------------------------------- */
{
displayName : 'User ID' ,
name : 'userId' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'update' ,
] ,
} ,
} ,
default : '' ,
description : 'The ID of user to update.' ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
2020-10-22 06:46:03 -07:00
'update' ,
2020-05-22 15:59:40 -07:00
] ,
} ,
} ,
options : [
{
displayName : 'Full Name' ,
name : 'fullName' ,
type : 'string' ,
default : '' ,
description : 'The users full name.' ,
} ,
{
displayName : 'Is Admin' ,
name : 'isAdmin' ,
type : 'boolean' ,
default : false ,
description : 'Whether the target user is an administrator.' ,
} ,
{
displayName : 'Is Guest' ,
name : 'isGuest' ,
type : 'boolean' ,
default : false ,
description : 'Whether the target user is a guest.' ,
} ,
2020-05-19 04:47:21 -07:00
{
displayName : 'Profile Data' ,
name : 'profileData' ,
type : 'fixedCollection' ,
2020-05-22 15:59:40 -07:00
default : { } ,
2020-05-19 04:47:21 -07:00
description : 'A dictionary containing the to be updated custom profile field data for the user.' ,
typeOptions : {
multipleValues : true ,
} ,
options : [
{
displayName : 'Property' ,
name : 'property' ,
values : [
{
displayName : 'ID' ,
name : 'id' ,
type : 'string' ,
required : true ,
default : '' ,
description : 'Id of custom profile data value.' ,
} ,
{
displayName : 'Value' ,
name : 'value' ,
type : 'string' ,
default : '' ,
description : 'Value of custom profile data.' ,
2020-10-22 06:46:03 -07:00
} ,
2020-05-19 04:47:21 -07:00
] ,
} ,
] ,
} ,
2020-10-22 06:46:03 -07:00
] ,
2020-05-22 15:59:40 -07:00
} ,
/* -------------------------------------------------------------------------- */
/* user:deactivate */
/* -------------------------------------------------------------------------- */
{
displayName : 'User ID' ,
name : 'userId' ,
type : 'string' ,
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'deactivate' ,
] ,
} ,
} ,
default : '' ,
description : 'The ID of user to deactivate.' ,
} ,
] as INodeProperties [ ] ;