2021-01-13 00:00:07 -08:00
import { INodeProperties } from 'n8n-workflow' ;
2020-05-19 04:47:21 -07:00
2021-12-03 00:44:16 -08:00
export const userOperations : INodeProperties [ ] = [
2020-05-19 04:47:21 -07:00
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
2022-05-20 14:47:24 -07:00
noDataExpression : true ,
2020-05-19 04:47:21 -07:00
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' ,
2022-05-06 14:01:25 -07:00
description : 'Create a user' ,
2020-05-19 04:47:21 -07:00
} ,
{
name : 'Deactivate' ,
value : 'deactivate' ,
2022-05-06 14:01:25 -07:00
description : 'Deactivate a user' ,
2020-05-22 15:59:40 -07:00
} ,
{
2020-05-19 04:47:21 -07:00
name : 'Get' ,
value : 'get' ,
2022-05-06 14:01:25 -07:00
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' ,
2022-05-06 14:01:25 -07:00
description : 'Get all users' ,
2020-05-19 04:47:21 -07:00
} ,
2020-05-31 02:15:45 -07:00
{
name : 'Update' ,
value : 'update' ,
2022-05-06 14:01:25 -07:00
description : 'Update a user' ,
2020-05-31 02:15:45 -07:00
} ,
2020-05-19 04:47:21 -07:00
] ,
default : 'create' ,
} ,
2021-12-03 00:44:16 -08:00
] ;
2020-05-19 04:47:21 -07:00
2021-12-03 00:44:16 -08:00
export const userFields : INodeProperties [ ] = [
2020-05-22 15:59:40 -07:00
/* -------------------------------------------------------------------------- */
/* user:create */
/* -------------------------------------------------------------------------- */
2020-05-19 04:47:21 -07:00
{
displayName : 'Email' ,
name : 'email' ,
type : 'string' ,
2022-06-20 07:54:01 -07:00
placeholder : 'name@email.com' ,
2020-05-19 04:47:21 -07:00
required : true ,
displayOptions : {
show : {
resource : [
'user' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
default : '' ,
2022-05-06 14:01:25 -07:00
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 : '' ,
2022-05-06 14:01:25 -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 : '' ,
2022-05-06 14:01:25 -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 : '' ,
2022-05-06 14:01:25 -07:00
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 ,
2022-05-06 14:01:25 -07:00
description : 'Whether the client wants custom profile field data to be included in the response' ,
2020-05-22 15:59:40 -07:00
} ,
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 : '' ,
2022-05-06 14:01:25 -07:00
description : 'The ID of user to update' ,
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
'update' ,
2020-05-22 15:59:40 -07:00
] ,
} ,
} ,
options : [
{
displayName : 'Full Name' ,
name : 'fullName' ,
type : 'string' ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'The users full name' ,
2020-05-22 15:59:40 -07:00
} ,
{
displayName : 'Is Admin' ,
name : 'isAdmin' ,
type : 'boolean' ,
default : false ,
2021-11-10 15:03:45 -08:00
description : 'Whether the target user is an administrator' ,
2020-05-22 15:59:40 -07:00
} ,
{
displayName : 'Is Guest' ,
name : 'isGuest' ,
type : 'boolean' ,
default : false ,
2021-11-10 15:03:45 -08:00
description : 'Whether the target user is a guest' ,
2020-05-22 15:59:40 -07:00
} ,
2020-05-19 04:47:21 -07:00
{
displayName : 'Profile Data' ,
name : 'profileData' ,
type : 'fixedCollection' ,
2020-05-22 15:59:40 -07:00
default : { } ,
2022-05-06 14:01:25 -07:00
description : 'A dictionary containing the to be updated custom profile field data for the user' ,
2020-05-19 04:47:21 -07:00
typeOptions : {
multipleValues : true ,
} ,
options : [
{
displayName : 'Property' ,
name : 'property' ,
values : [
{
displayName : 'ID' ,
name : 'id' ,
type : 'string' ,
required : true ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'ID of custom profile data value' ,
2020-05-19 04:47:21 -07:00
} ,
{
displayName : 'Value' ,
name : 'value' ,
type : 'string' ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'Value of custom profile data' ,
2020-10-22 06:46:03 -07:00
} ,
2020-05-19 04:47:21 -07:00
] ,
} ,
] ,
} ,
2021-11-10 15:03:45 -08:00
{
displayName : 'Role' ,
name : 'role' ,
type : 'options' ,
options : [
{
2022-06-03 10:23:49 -07:00
name : 'Guest' ,
value : 600 ,
} ,
{
name : 'Member' ,
value : 400 ,
2021-11-10 15:03:45 -08:00
} ,
{
name : 'Organization Administrator' ,
value : 200 ,
} ,
{
name : 'Organization Moderator' ,
value : 300 ,
} ,
{
2022-06-03 10:23:49 -07:00
name : 'Organization Owner' ,
value : 100 ,
2021-11-10 15:03:45 -08:00
} ,
] ,
default : '' ,
description : 'Role for the user' ,
} ,
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 : '' ,
2022-05-06 14:01:25 -07:00
description : 'The ID of user to deactivate' ,
2020-05-22 15:59:40 -07:00
} ,
2021-12-03 00:44:16 -08:00
] ;