n8n-nodes-base 1.90.2 → 1.91.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/credentials/GSuiteAdminOAuth2Api.credentials.js +3 -1
  2. package/dist/credentials/GSuiteAdminOAuth2Api.credentials.js.map +1 -1
  3. package/dist/methods/defined.json +2 -1
  4. package/dist/methods/referenced.json +1 -0
  5. package/dist/nodes/Calendly/CalendlyTrigger.node.js +11 -0
  6. package/dist/nodes/Calendly/CalendlyTrigger.node.js.map +1 -1
  7. package/dist/nodes/EmailReadImap/v1/EmailReadImapV1.node.js +2 -2
  8. package/dist/nodes/EmailReadImap/v1/EmailReadImapV1.node.js.map +1 -1
  9. package/dist/nodes/EmailReadImap/v2/EmailReadImapV2.node.js +2 -2
  10. package/dist/nodes/EmailReadImap/v2/EmailReadImapV2.node.js.map +1 -1
  11. package/dist/nodes/Files/ReadWriteFile/actions/read.operation.js +0 -1
  12. package/dist/nodes/Files/ReadWriteFile/actions/read.operation.js.map +1 -1
  13. package/dist/nodes/Form/utils.js.map +1 -1
  14. package/dist/nodes/Google/GSuiteAdmin/DeviceDescription.js +381 -0
  15. package/dist/nodes/Google/GSuiteAdmin/DeviceDescription.js.map +1 -0
  16. package/dist/nodes/Google/GSuiteAdmin/GSuiteAdmin.node.js +395 -88
  17. package/dist/nodes/Google/GSuiteAdmin/GSuiteAdmin.node.js.map +1 -1
  18. package/dist/nodes/Google/GSuiteAdmin/GenericFunctions.js +6 -2
  19. package/dist/nodes/Google/GSuiteAdmin/GenericFunctions.js.map +1 -1
  20. package/dist/nodes/Google/GSuiteAdmin/GroupDescripion.js +112 -88
  21. package/dist/nodes/Google/GSuiteAdmin/GroupDescripion.js.map +1 -1
  22. package/dist/nodes/Google/GSuiteAdmin/SearchFunctions.js +101 -0
  23. package/dist/nodes/Google/GSuiteAdmin/SearchFunctions.js.map +1 -0
  24. package/dist/nodes/Google/GSuiteAdmin/UserDescription.js +538 -195
  25. package/dist/nodes/Google/GSuiteAdmin/UserDescription.js.map +1 -1
  26. package/dist/nodes/Google/GSuiteAdmin/gSuiteAdmin.svg +1 -0
  27. package/dist/nodes/HttpRequest/V2/HttpRequestV2.node.js +11 -0
  28. package/dist/nodes/HttpRequest/V2/HttpRequestV2.node.js.map +1 -1
  29. package/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js +8 -0
  30. package/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js.map +1 -1
  31. package/dist/nodes/Jira/GenericFunctions.js +25 -12
  32. package/dist/nodes/Jira/GenericFunctions.js.map +1 -1
  33. package/dist/nodes/Jira/Jira.node.js +11 -7
  34. package/dist/nodes/Jira/Jira.node.js.map +1 -1
  35. package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js +2 -2
  36. package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js.map +1 -1
  37. package/dist/nodes/MQTT/MqttTrigger.node.js +2 -2
  38. package/dist/nodes/MQTT/MqttTrigger.node.js.map +1 -1
  39. package/dist/nodes/Postgres/PostgresTrigger.node.js +2 -2
  40. package/dist/nodes/Postgres/PostgresTrigger.node.js.map +1 -1
  41. package/dist/nodes/RabbitMQ/RabbitMQTrigger.node.js +2 -2
  42. package/dist/nodes/RabbitMQ/RabbitMQTrigger.node.js.map +1 -1
  43. package/dist/nodes/SeaTable/v2/actions/asset/upload.operation.js.map +1 -1
  44. package/dist/nodes/SeaTable/v2/actions/row/get.operation.js.map +1 -1
  45. package/dist/nodes/SeaTable/v2/actions/row/list.operation.js.map +1 -1
  46. package/dist/nodes/SeaTable/v2/actions/row/search.operation.js.map +1 -1
  47. package/dist/nodes/SseTrigger/SseTrigger.node.js +2 -2
  48. package/dist/nodes/SseTrigger/SseTrigger.node.js.map +1 -1
  49. package/dist/test/nodes/Helpers.d.ts +5 -0
  50. package/dist/test/nodes/Helpers.js +16 -170
  51. package/dist/test/nodes/Helpers.js.map +1 -1
  52. package/dist/types/credentials.json +1 -1
  53. package/dist/types/nodes.json +10 -10
  54. package/package.json +7 -7
  55. package/dist/nodes/Google/GSuiteAdmin/google-workspace-admin.png +0 -0
  56. package/dist/test/nodes/ExecuteWorkflow.js +0 -120
  57. package/dist/test/nodes/ExecuteWorkflow.js.map +0 -1
  58. package/dist/test/nodes/credential-types.js +0 -57
  59. package/dist/test/nodes/credential-types.js.map +0 -1
  60. package/dist/test/nodes/credentials-helper.js +0 -76
  61. package/dist/test/nodes/credentials-helper.js.map +0 -1
  62. package/dist/test/nodes/load-nodes-and-credentials.js +0 -68
  63. package/dist/test/nodes/load-nodes-and-credentials.js.map +0 -1
  64. package/dist/test/nodes/node-types.js +0 -56
  65. package/dist/test/nodes/node-types.js.map +0 -1
@@ -22,6 +22,63 @@ __export(UserDescription_exports, {
22
22
  userOperations: () => userOperations
23
23
  });
24
24
  module.exports = __toCommonJS(UserDescription_exports);
25
+ const rolesOptions = [
26
+ {
27
+ name: "Directory Sync Admin",
28
+ value: "directorySyncAdmin",
29
+ description: "Whether to assign the Directory Sync Admin role"
30
+ },
31
+ {
32
+ name: "Groups Admin",
33
+ value: "groupsAdmin",
34
+ description: "Whether to assign the Groups Admin role"
35
+ },
36
+ {
37
+ name: "Groups Editor",
38
+ value: "groupsEditor",
39
+ description: "Whether to assign the Groups Editor role"
40
+ },
41
+ {
42
+ name: "Groups Reader",
43
+ value: "groupsReader",
44
+ description: "Whether to assign the Groups Reader role"
45
+ },
46
+ {
47
+ name: "Help Desk Admin",
48
+ value: "helpDeskAdmin",
49
+ description: "Whether to assign the Help Desk Admin role"
50
+ },
51
+ {
52
+ name: "Inventory Reporting Admin",
53
+ value: "inventoryReportingAdmin",
54
+ description: "Whether to assign the Inventory Reporting Admin role"
55
+ },
56
+ {
57
+ name: "Mobile Admin",
58
+ value: "mobileAdmin",
59
+ description: "Whether to assign the Mobile Admin role"
60
+ },
61
+ {
62
+ name: "Services Admin",
63
+ value: "servicesAdmin",
64
+ description: "Whether to assign the Services Admin role"
65
+ },
66
+ {
67
+ name: "Storage Admin",
68
+ value: "storageAdmin",
69
+ description: "Whether to assign the Storage Admin role"
70
+ },
71
+ {
72
+ name: "Super Admin",
73
+ value: "superAdmin",
74
+ description: "Whether to assign the Super Admin role"
75
+ },
76
+ {
77
+ name: "User Management",
78
+ value: "userManagement",
79
+ description: "Whether to assign the User Management role"
80
+ }
81
+ ];
25
82
  const userOperations = [
26
83
  {
27
84
  displayName: "Operation",
@@ -34,6 +91,12 @@ const userOperations = [
34
91
  }
35
92
  },
36
93
  options: [
94
+ {
95
+ name: "Add to Group",
96
+ value: "addToGroup",
97
+ description: "Add an existing user to a group",
98
+ action: "Add user to group"
99
+ },
37
100
  {
38
101
  name: "Create",
39
102
  value: "create",
@@ -58,6 +121,12 @@ const userOperations = [
58
121
  description: "Get many users",
59
122
  action: "Get many users"
60
123
  },
124
+ {
125
+ name: "Remove From Group",
126
+ value: "removeFromGroup",
127
+ description: "Remove a user from a group",
128
+ action: "Remove user from group"
129
+ },
61
130
  {
62
131
  name: "Update",
63
132
  value: "update",
@@ -69,12 +138,102 @@ const userOperations = [
69
138
  }
70
139
  ];
71
140
  const userFields = [
141
+ /* -------------------------------------------------------------------------- */
142
+ /* user */
143
+ /* -------------------------------------------------------------------------- */
144
+ {
145
+ displayName: "User",
146
+ name: "userId",
147
+ required: true,
148
+ type: "resourceLocator",
149
+ default: {
150
+ mode: "list",
151
+ value: ""
152
+ },
153
+ description: "Select the user to perform the operation on",
154
+ displayOptions: {
155
+ show: {
156
+ resource: ["user"],
157
+ operation: ["addToGroup", "delete", "get", "removeFromGroup", "update"]
158
+ }
159
+ },
160
+ modes: [
161
+ {
162
+ displayName: "From list",
163
+ name: "list",
164
+ type: "list",
165
+ typeOptions: {
166
+ searchListMethod: "searchUsers"
167
+ }
168
+ },
169
+ {
170
+ displayName: "By Email",
171
+ name: "userEmail",
172
+ type: "string",
173
+ hint: "Enter the user email",
174
+ placeholder: "e.g. sales@example.com",
175
+ validation: [
176
+ {
177
+ type: "regex",
178
+ properties: {
179
+ regex: "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$",
180
+ errorMessage: "Please enter a valid email address."
181
+ }
182
+ }
183
+ ]
184
+ },
185
+ {
186
+ displayName: "By ID",
187
+ name: "userId",
188
+ type: "string",
189
+ hint: "Enter the user id",
190
+ placeholder: "e.g. 123456789879230471055"
191
+ }
192
+ ]
193
+ },
194
+ /* -------------------------------------------------------------------------- */
195
+ /* user:addToGroup */
196
+ /* -------------------------------------------------------------------------- */
197
+ {
198
+ displayName: "Group",
199
+ name: "groupId",
200
+ required: true,
201
+ type: "resourceLocator",
202
+ default: {
203
+ mode: "list",
204
+ value: ""
205
+ },
206
+ description: "Select the group to perform the operation on",
207
+ displayOptions: {
208
+ show: {
209
+ resource: ["user"],
210
+ operation: ["addToGroup", "removeFromGroup"]
211
+ }
212
+ },
213
+ modes: [
214
+ {
215
+ displayName: "From list",
216
+ name: "list",
217
+ type: "list",
218
+ typeOptions: {
219
+ searchListMethod: "searchGroups"
220
+ }
221
+ },
222
+ {
223
+ displayName: "By ID",
224
+ name: "groupId",
225
+ type: "string",
226
+ placeholder: "e.g. 0123kx3o1habcdf"
227
+ }
228
+ ]
229
+ },
72
230
  /* -------------------------------------------------------------------------- */
73
231
  /* user:create */
74
232
  /* -------------------------------------------------------------------------- */
75
233
  {
76
234
  displayName: "First Name",
77
235
  name: "firstName",
236
+ placeholder: "e.g. Nathan",
78
237
  type: "string",
79
238
  required: true,
80
239
  displayOptions: {
@@ -90,6 +249,7 @@ const userFields = [
90
249
  name: "lastName",
91
250
  type: "string",
92
251
  required: true,
252
+ placeholder: "e.g. Smith",
93
253
  displayOptions: {
94
254
  show: {
95
255
  operation: ["create"],
@@ -115,27 +275,11 @@ const userFields = [
115
275
  default: "",
116
276
  description: "Stores the password for the user account. A minimum of 8 characters is required. The maximum length is 100 characters."
117
277
  },
118
- {
119
- displayName: "Domain Name or ID",
120
- name: "domain",
121
- type: "options",
122
- description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
123
- typeOptions: {
124
- loadOptionsMethod: "getDomains"
125
- },
126
- required: true,
127
- displayOptions: {
128
- show: {
129
- operation: ["create"],
130
- resource: ["user"]
131
- }
132
- },
133
- default: ""
134
- },
135
278
  {
136
279
  displayName: "Username",
137
280
  name: "username",
138
281
  type: "string",
282
+ placeholder: "e.g. n.smith",
139
283
  displayOptions: {
140
284
  show: {
141
285
  operation: ["create"],
@@ -143,12 +287,16 @@ const userFields = [
143
287
  }
144
288
  },
145
289
  default: "",
146
- description: "The username that will be set to the user. Example: If you domain is example.com and you set the username to jhon then the user's final email address will be jhon@example.com."
290
+ description: "The username that will be set to the user. Example: If you domain is example.com and you set the username to n.smith then the user's final email address will be n.smith@example.com."
147
291
  },
148
292
  {
149
- displayName: "Make Admin",
150
- name: "makeAdmin",
151
- type: "boolean",
293
+ displayName: "Domain Name or ID",
294
+ name: "domain",
295
+ type: "options",
296
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
297
+ typeOptions: {
298
+ loadOptionsMethod: "getDomains"
299
+ },
152
300
  required: true,
153
301
  displayOptions: {
154
302
  show: {
@@ -156,8 +304,7 @@ const userFields = [
156
304
  resource: ["user"]
157
305
  }
158
306
  },
159
- default: false,
160
- description: "Whether to make a user a super administrator"
307
+ default: ""
161
308
  },
162
309
  {
163
310
  displayName: "Additional Fields",
@@ -173,7 +320,7 @@ const userFields = [
173
320
  },
174
321
  options: [
175
322
  {
176
- displayName: "Change Password At Next Login",
323
+ displayName: "Change Password at Next Login",
177
324
  name: "changePasswordAtNextLogin",
178
325
  type: "boolean",
179
326
  default: false,
@@ -231,8 +378,7 @@ const userFields = [
231
378
  value: "home_fax"
232
379
  },
233
380
  {
234
- // eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
235
- name: "isdn",
381
+ name: "ISDN",
236
382
  value: "isdn"
237
383
  },
238
384
  {
@@ -264,8 +410,7 @@ const userFields = [
264
410
  value: "telex"
265
411
  },
266
412
  {
267
- // eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
268
- name: "tty tdd",
413
+ name: "TTY TDD",
269
414
  value: "tty_tdd"
270
415
  },
271
416
  {
@@ -299,7 +444,7 @@ const userFields = [
299
444
  name: "primary",
300
445
  type: "boolean",
301
446
  default: false,
302
- description: "Whether this is the user's primary phone number. A user may only have one primary phone number."
447
+ description: "Whether this is the user's primary phone number"
303
448
  }
304
449
  ]
305
450
  }
@@ -349,122 +494,187 @@ const userFields = [
349
494
  ]
350
495
  }
351
496
  ]
497
+ },
498
+ {
499
+ displayName: "Roles",
500
+ name: "roles",
501
+ type: "multiOptions",
502
+ default: [],
503
+ description: "Select the roles you want to assign to the user",
504
+ options: rolesOptions
505
+ },
506
+ {
507
+ displayName: "Custom Fields",
508
+ name: "customFields",
509
+ placeholder: "Add or Edit Custom Fields",
510
+ type: "fixedCollection",
511
+ typeOptions: {
512
+ multipleValues: true
513
+ },
514
+ default: {},
515
+ description: "Allows editing and adding of custom fields",
516
+ options: [
517
+ {
518
+ name: "fieldValues",
519
+ displayName: "Field",
520
+ values: [
521
+ {
522
+ displayName: "Schema Name or ID",
523
+ name: "schemaName",
524
+ type: "options",
525
+ typeOptions: {
526
+ loadOptionsMethod: "getSchemas"
527
+ },
528
+ default: "",
529
+ description: 'Select the schema to use for custom fields. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.'
530
+ },
531
+ {
532
+ displayName: "Field Name or ID",
533
+ name: "fieldName",
534
+ type: "string",
535
+ default: "",
536
+ required: true,
537
+ description: "Enter a field name from the selected schema"
538
+ },
539
+ {
540
+ displayName: "Value",
541
+ name: "value",
542
+ type: "string",
543
+ default: "",
544
+ required: true,
545
+ description: "Provide a value for the selected field"
546
+ }
547
+ ]
548
+ }
549
+ ]
352
550
  }
353
551
  ]
354
552
  },
355
553
  /* -------------------------------------------------------------------------- */
356
- /* user:delete */
554
+ /* user:get */
357
555
  /* -------------------------------------------------------------------------- */
358
556
  {
359
- displayName: "User ID",
360
- name: "userId",
361
- type: "string",
557
+ displayName: "Output",
558
+ name: "output",
559
+ type: "options",
362
560
  required: true,
561
+ default: "simplified",
363
562
  displayOptions: {
364
563
  show: {
365
- operation: ["delete"],
564
+ operation: ["get"],
366
565
  resource: ["user"]
367
566
  }
368
567
  },
369
- default: "",
370
- description: "The value can be the user's primary email address, alias email address, or unique user ID"
568
+ options: [
569
+ {
570
+ name: "Simplified",
571
+ value: "simplified",
572
+ description: "Only return specific fields: kind, ID, primaryEmail, name (with subfields), isAdmin, lastLoginTime, creationTime, and suspended"
573
+ },
574
+ {
575
+ name: "Raw",
576
+ value: "raw",
577
+ description: "Return all fields from the API response"
578
+ },
579
+ {
580
+ name: "Select Included Fields",
581
+ value: "select",
582
+ description: "Choose specific fields to include"
583
+ }
584
+ ]
371
585
  },
372
- /* -------------------------------------------------------------------------- */
373
- /* user:get */
374
- /* -------------------------------------------------------------------------- */
375
586
  {
376
- displayName: "User ID",
377
- name: "userId",
378
- type: "string",
379
- required: true,
587
+ displayName: "Fields",
588
+ name: "fields",
589
+ type: "multiOptions",
590
+ default: [],
380
591
  displayOptions: {
381
592
  show: {
593
+ output: ["select"],
382
594
  operation: ["get"],
383
595
  resource: ["user"]
384
596
  }
385
597
  },
386
- default: "",
387
- description: "The value can be the user's primary email address, alias email address, or unique user ID"
598
+ options: [
599
+ {
600
+ name: "Creation Time",
601
+ value: "creationTime"
602
+ },
603
+ {
604
+ name: "Is Admin",
605
+ value: "isAdmin"
606
+ },
607
+ {
608
+ name: "Kind",
609
+ value: "kind"
610
+ },
611
+ {
612
+ name: "Last Login Time",
613
+ value: "lastLoginTime"
614
+ },
615
+ {
616
+ name: "Name",
617
+ value: "name"
618
+ },
619
+ {
620
+ name: "Primary Email",
621
+ value: "primaryEmail"
622
+ },
623
+ {
624
+ name: "Suspended",
625
+ value: "suspended"
626
+ }
627
+ ],
628
+ description: 'Fields to include in the response when "Select Included Fields" is chosen'
388
629
  },
389
630
  {
390
- displayName: "Projection",
631
+ displayName: "Custom Fields",
391
632
  name: "projection",
392
633
  type: "options",
393
634
  required: true,
394
635
  options: [
395
636
  {
396
- name: "Basic",
637
+ name: "Don't Include",
397
638
  value: "basic",
398
639
  description: "Do not include any custom fields for the user"
399
640
  },
400
641
  {
401
642
  name: "Custom",
402
643
  value: "custom",
403
- description: "Include custom fields from schemas requested in customField"
644
+ description: "Include custom fields from schemas requested in Custom Schema Names or IDs"
404
645
  },
405
646
  {
406
- name: "Full",
647
+ name: "Include All",
407
648
  value: "full",
408
649
  description: "Include all fields associated with this user"
409
650
  }
410
651
  ],
652
+ default: "basic",
411
653
  displayOptions: {
412
654
  show: {
413
655
  operation: ["get"],
414
656
  resource: ["user"]
415
657
  }
416
658
  },
417
- default: "basic",
418
659
  description: "What subset of fields to fetch for this user"
419
660
  },
420
661
  {
421
- displayName: "Options",
422
- name: "options",
423
- type: "collection",
424
- placeholder: "Add option",
425
- default: {},
662
+ displayName: "Custom Schema Names or IDs",
663
+ name: "customFieldMask",
664
+ type: "multiOptions",
665
+ required: true,
426
666
  displayOptions: {
427
667
  show: {
428
668
  operation: ["get"],
429
- resource: ["user"]
669
+ resource: ["user"],
670
+ "/projection": ["custom"]
430
671
  }
431
672
  },
432
- options: [
433
- {
434
- displayName: "Custom Schema Names or IDs",
435
- name: "customFieldMask",
436
- type: "multiOptions",
437
- displayOptions: {
438
- show: {
439
- "/projection": ["custom"]
440
- }
441
- },
442
- typeOptions: {
443
- loadOptionsMethod: "getSchemas"
444
- },
445
- default: [],
446
- description: 'A comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.'
447
- },
448
- {
449
- displayName: "View Type",
450
- name: "viewType",
451
- type: "options",
452
- options: [
453
- {
454
- name: "Admin View",
455
- value: "admin_view",
456
- description: "Results include both administrator-only and domain-public fields for the user"
457
- },
458
- {
459
- name: "Descending",
460
- value: "DESCENDING",
461
- description: "Results only include fields for the user that are publicly visible to other users in the domain"
462
- }
463
- ],
464
- default: "admin_view",
465
- description: "Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see Retrieve a user as a non-administrator."
466
- }
467
- ]
673
+ typeOptions: {
674
+ loadOptionsMethod: "getSchemas"
675
+ },
676
+ default: [],
677
+ description: 'A comma-separated list of schema names. All fields from these schemas are fetched. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.'
468
678
  },
469
679
  /* -------------------------------------------------------------------------- */
470
680
  /* user:getAll */
@@ -501,41 +711,133 @@ const userFields = [
501
711
  description: "Max number of results to return"
502
712
  },
503
713
  {
504
- displayName: "Projection",
714
+ displayName: "Output",
715
+ name: "output",
716
+ type: "options",
717
+ required: true,
718
+ default: "simplified",
719
+ displayOptions: {
720
+ show: {
721
+ operation: ["getAll"],
722
+ resource: ["user"]
723
+ }
724
+ },
725
+ options: [
726
+ {
727
+ name: "Simplified",
728
+ value: "simplified",
729
+ description: "Only return specific fields: kind, ID, primaryEmail, name (with subfields), isAdmin, lastLoginTime, creationTime, and suspended"
730
+ },
731
+ {
732
+ name: "Raw",
733
+ value: "raw",
734
+ description: "Return all fields from the API response"
735
+ },
736
+ {
737
+ name: "Select Included Fields",
738
+ value: "select",
739
+ description: "Choose specific fields to include"
740
+ }
741
+ ]
742
+ },
743
+ {
744
+ displayName: "Fields",
745
+ name: "fields",
746
+ type: "multiOptions",
747
+ default: [],
748
+ displayOptions: {
749
+ show: {
750
+ output: ["select"],
751
+ operation: ["getAll"],
752
+ resource: ["user"]
753
+ }
754
+ },
755
+ options: [
756
+ {
757
+ name: "Creation Time",
758
+ value: "creationTime"
759
+ },
760
+ {
761
+ name: "Is Admin",
762
+ value: "isAdmin"
763
+ },
764
+ {
765
+ name: "Kind",
766
+ value: "kind"
767
+ },
768
+ {
769
+ name: "Last Login Time",
770
+ value: "lastLoginTime"
771
+ },
772
+ {
773
+ name: "Name",
774
+ value: "name"
775
+ },
776
+ {
777
+ name: "Primary Email",
778
+ value: "primaryEmail"
779
+ },
780
+ {
781
+ name: "Suspended",
782
+ value: "suspended"
783
+ }
784
+ ],
785
+ description: 'Fields to include in the response when "Select Included Fields" is chosen'
786
+ },
787
+ {
788
+ displayName: "Custom Fields",
505
789
  name: "projection",
506
790
  type: "options",
507
791
  required: true,
792
+ displayOptions: {
793
+ show: {
794
+ operation: ["getAll"],
795
+ resource: ["user"]
796
+ }
797
+ },
508
798
  options: [
509
799
  {
510
- name: "Basic",
800
+ name: "Don't Include",
511
801
  value: "basic",
512
802
  description: "Do not include any custom fields for the user"
513
803
  },
514
804
  {
515
805
  name: "Custom",
516
806
  value: "custom",
517
- description: "Include custom fields from schemas requested in customField"
807
+ description: "Include custom fields from schemas requested in Custom Schema Names or IDs"
518
808
  },
519
809
  {
520
- name: "Full",
810
+ name: "Include All",
521
811
  value: "full",
522
812
  description: "Include all fields associated with this user"
523
813
  }
524
814
  ],
815
+ default: "basic",
816
+ description: "What subset of fields to fetch for this user"
817
+ },
818
+ {
819
+ displayName: "Custom Schema Names or IDs",
820
+ name: "customFieldMask",
821
+ type: "multiOptions",
822
+ required: true,
525
823
  displayOptions: {
526
824
  show: {
527
825
  operation: ["getAll"],
528
- resource: ["user"]
826
+ resource: ["user"],
827
+ "/projection": ["custom"]
529
828
  }
530
829
  },
531
- default: "basic",
532
- description: "What subset of fields to fetch for this user"
830
+ typeOptions: {
831
+ loadOptionsMethod: "getSchemas"
832
+ },
833
+ default: [],
834
+ description: 'A comma-separated list of schema names. All fields from these schemas are fetched. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.'
533
835
  },
534
836
  {
535
- displayName: "Options",
536
- name: "options",
837
+ displayName: "Filter",
838
+ name: "filter",
537
839
  type: "collection",
538
- placeholder: "Add option",
840
+ placeholder: "Add Filter",
539
841
  default: {},
540
842
  displayOptions: {
541
843
  show: {
@@ -544,125 +846,100 @@ const userFields = [
544
846
  }
545
847
  },
546
848
  options: [
547
- {
548
- displayName: "Custom Schema Names or IDs",
549
- name: "customFieldMask",
550
- type: "multiOptions",
551
- displayOptions: {
552
- show: {
553
- "/projection": ["custom"]
554
- }
555
- },
556
- typeOptions: {
557
- loadOptionsMethod: "getSchemas"
558
- },
559
- default: [],
560
- description: 'A comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.'
561
- },
562
849
  {
563
850
  displayName: "Customer",
564
851
  name: "customer",
565
852
  type: "string",
566
853
  default: "",
567
- description: "The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch all groups for a customer, fill this field instead of domain."
854
+ description: "The unique ID for the customer's Google Workspace account"
568
855
  },
569
856
  {
570
857
  displayName: "Domain",
571
858
  name: "domain",
572
859
  type: "string",
573
860
  default: "",
574
- description: "The domain name. Use this field to get fields from only one domain."
575
- },
576
- {
577
- displayName: "Order By",
578
- name: "orderBy",
579
- type: "options",
580
- options: [
581
- {
582
- name: "Email",
583
- value: "email"
584
- },
585
- {
586
- name: "Family Name",
587
- value: "familyName"
588
- },
589
- {
590
- name: "Given Name",
591
- value: "givenName"
592
- }
593
- ],
594
- default: "",
595
- description: "Property to use for sorting results"
861
+ description: "The domain name. Use this field to get groups from a specific domain."
596
862
  },
597
863
  {
598
864
  displayName: "Query",
599
865
  name: "query",
600
866
  type: "string",
867
+ placeholder: "e.g. name:contact* email:contact*",
601
868
  default: "",
602
- description: 'Free text search terms to find users that match these terms in any field, except for extended properties. For more information on constructing user queries, see <a href="https://developers.google.com/admin-sdk/directory/v1/guides/search-users">Search for Users</a>.'
869
+ description: 'Query string to filter the results. Follow Google Admin SDK documentation. <a href="https://developers.google.com/admin-sdk/directory/v1/guides/search-users#examples" target="_blank">More info</a>.'
603
870
  },
604
871
  {
605
872
  displayName: "Show Deleted",
606
873
  name: "showDeleted",
607
874
  type: "boolean",
608
875
  default: false,
609
- description: "Whether to retrieve the list of deleted users"
610
- },
611
- {
612
- displayName: "Sort Order",
613
- name: "sortOrder",
614
- type: "options",
615
- options: [
616
- {
617
- name: "Ascending",
618
- value: "ASCENDING"
619
- },
620
- {
621
- name: "Descending",
622
- value: "DESCENDING"
623
- }
624
- ],
625
- default: "",
626
- description: "Whether to return results in ascending or descending order"
627
- },
628
- {
629
- displayName: "View Type",
630
- name: "viewType",
631
- type: "options",
632
- options: [
633
- {
634
- name: "Admin View",
635
- value: "admin_view",
636
- description: "Results include both administrator-only and domain-public fields for the user"
637
- },
638
- {
639
- name: "Descending",
640
- value: "DESCENDING",
641
- description: "Results only include fields for the user that are publicly visible to other users in the domain"
642
- }
643
- ],
644
- default: "admin_view",
645
- description: "Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see Retrieve a user as a non-administrator."
876
+ description: "Whether retrieve the list of deleted users"
646
877
  }
647
878
  ]
648
879
  },
649
- /* -------------------------------------------------------------------------- */
650
- /* user:update */
651
- /* -------------------------------------------------------------------------- */
652
880
  {
653
- displayName: "User ID",
654
- name: "userId",
655
- type: "string",
656
- required: true,
881
+ displayName: "Sort",
882
+ name: "sort",
883
+ type: "fixedCollection",
884
+ placeholder: "Add Sort Rule",
885
+ default: {},
657
886
  displayOptions: {
658
887
  show: {
659
- operation: ["update"],
888
+ operation: ["getAll"],
660
889
  resource: ["user"]
661
890
  }
662
891
  },
663
- default: "",
664
- description: "The value can be the user's primary email address, alias email address, or unique user ID"
892
+ options: [
893
+ {
894
+ name: "sortRules",
895
+ displayName: "Sort Rules",
896
+ values: [
897
+ {
898
+ displayName: "Order By",
899
+ name: "orderBy",
900
+ type: "options",
901
+ options: [
902
+ {
903
+ name: "Email",
904
+ value: "email"
905
+ },
906
+ {
907
+ name: "Family Name",
908
+ value: "familyName"
909
+ },
910
+ {
911
+ name: "Given Name",
912
+ value: "givenName"
913
+ }
914
+ ],
915
+ default: "",
916
+ description: "Field to sort the results by"
917
+ },
918
+ {
919
+ displayName: "Sort Order",
920
+ name: "sortOrder",
921
+ type: "options",
922
+ options: [
923
+ {
924
+ name: "Ascending",
925
+ value: "ASCENDING"
926
+ },
927
+ {
928
+ name: "Descending",
929
+ value: "DESCENDING"
930
+ }
931
+ ],
932
+ default: "ASCENDING",
933
+ description: "Sort order direction"
934
+ }
935
+ ]
936
+ }
937
+ ],
938
+ description: "Define sorting rules for the results"
665
939
  },
940
+ /* -------------------------------------------------------------------------- */
941
+ /* user:update */
942
+ /* -------------------------------------------------------------------------- */
666
943
  {
667
944
  displayName: "Update Fields",
668
945
  name: "updateFields",
@@ -684,7 +961,14 @@ const userFields = [
684
961
  description: "Whether user is archived"
685
962
  },
686
963
  {
687
- displayName: "Change Password At Next Login",
964
+ displayName: "Suspend",
965
+ name: "suspendUi",
966
+ type: "boolean",
967
+ default: false,
968
+ description: "Whether to set the user as suspended. If set to OFF, the user will be reactivated. If not added, the status will remain unchanged."
969
+ },
970
+ {
971
+ displayName: "Change Password at Next Login",
688
972
  name: "changePasswordAtNextLogin",
689
973
  type: "boolean",
690
974
  default: false,
@@ -694,13 +978,15 @@ const userFields = [
694
978
  displayName: "First Name",
695
979
  name: "firstName",
696
980
  type: "string",
697
- default: ""
981
+ default: "",
982
+ placeholder: "e.g. John"
698
983
  },
699
984
  {
700
985
  displayName: "Last Name",
701
986
  name: "lastName",
702
987
  type: "string",
703
- default: ""
988
+ default: "",
989
+ placeholder: "e.g. Doe"
704
990
  },
705
991
  {
706
992
  displayName: "Password",
@@ -708,6 +994,7 @@ const userFields = [
708
994
  type: "string",
709
995
  typeOptions: { password: true },
710
996
  default: "",
997
+ placeholder: "e.g. MyStrongP@ssword123",
711
998
  description: "Stores the password for the user account. A minimum of 8 characters is required. The maximum length is 100 characters."
712
999
  },
713
1000
  {
@@ -762,7 +1049,7 @@ const userFields = [
762
1049
  value: "home_fax"
763
1050
  },
764
1051
  {
765
- name: "Isdn",
1052
+ name: "ISDN",
766
1053
  value: "isdn"
767
1054
  },
768
1055
  {
@@ -794,7 +1081,7 @@ const userFields = [
794
1081
  value: "telex"
795
1082
  },
796
1083
  {
797
- name: "Tty Tdd",
1084
+ name: "TTY TDD",
798
1085
  value: "tty_tdd"
799
1086
  },
800
1087
  {
@@ -821,7 +1108,8 @@ const userFields = [
821
1108
  displayName: "Phone Number",
822
1109
  name: "value",
823
1110
  type: "string",
824
- default: ""
1111
+ default: "",
1112
+ placeholder: "e.g. +1234567890"
825
1113
  },
826
1114
  {
827
1115
  displayName: "Primary",
@@ -839,6 +1127,7 @@ const userFields = [
839
1127
  name: "primaryEmail",
840
1128
  type: "string",
841
1129
  default: "",
1130
+ placeholder: "e.g. john.doe@example.com",
842
1131
  description: "The user's primary email address. This property is required in a request to create a user account. The primaryEmail must be unique and cannot be an alias of another user."
843
1132
  },
844
1133
  {
@@ -880,7 +1169,61 @@ const userFields = [
880
1169
  displayName: "Email",
881
1170
  name: "address",
882
1171
  type: "string",
883
- default: ""
1172
+ default: "",
1173
+ placeholder: "e.g. john.doe.work@example.com"
1174
+ }
1175
+ ]
1176
+ }
1177
+ ]
1178
+ },
1179
+ {
1180
+ displayName: "Roles",
1181
+ name: "roles",
1182
+ type: "multiOptions",
1183
+ default: [],
1184
+ description: "Select the roles you want to assign to the user",
1185
+ options: rolesOptions
1186
+ },
1187
+ {
1188
+ displayName: "Custom Fields",
1189
+ name: "customFields",
1190
+ placeholder: "Add or Edit Custom Fields",
1191
+ type: "fixedCollection",
1192
+ typeOptions: {
1193
+ multipleValues: true
1194
+ },
1195
+ default: {},
1196
+ description: "Allows editing and adding of custom fields",
1197
+ options: [
1198
+ {
1199
+ name: "fieldValues",
1200
+ displayName: "Field",
1201
+ values: [
1202
+ {
1203
+ displayName: "Schema Name or ID",
1204
+ name: "schemaName",
1205
+ type: "options",
1206
+ typeOptions: {
1207
+ loadOptionsMethod: "getSchemas"
1208
+ },
1209
+ default: "",
1210
+ description: 'Select the schema to use for custom fields. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.'
1211
+ },
1212
+ {
1213
+ displayName: "Field Name or ID",
1214
+ name: "fieldName",
1215
+ type: "string",
1216
+ default: "",
1217
+ required: true,
1218
+ description: "Enter a field name from the selected schema"
1219
+ },
1220
+ {
1221
+ displayName: "Value",
1222
+ name: "value",
1223
+ type: "string",
1224
+ default: "",
1225
+ required: true,
1226
+ description: "Provide a value for the selected field"
884
1227
  }
885
1228
  ]
886
1229
  }