n8n-nodes-base 1.95.1 → 1.96.0

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 (131) hide show
  1. package/dist/credentials/PerplexityApi.credentials.js +1 -1
  2. package/dist/credentials/PerplexityApi.credentials.js.map +1 -1
  3. package/dist/nodes/Adalo/__schema__/v1.0.0/collection/getAll.json +21 -0
  4. package/dist/nodes/Airtable/test/v2/node/helpers.js +12 -2
  5. package/dist/nodes/Airtable/test/v2/node/helpers.js.map +1 -1
  6. package/dist/nodes/Airtop/__schema__/v1.0.0/extraction/query.json +7 -1
  7. package/dist/nodes/Airtop/__schema__/v1.0.0/session/create.json +9 -0
  8. package/dist/nodes/Airtop/__schema__/v1.0.0/window/create.json +40 -0
  9. package/dist/nodes/Airtop/test/node/helpers.js +12 -2
  10. package/dist/nodes/Airtop/test/node/helpers.js.map +1 -1
  11. package/dist/nodes/Asana/__schema__/v1.0.0/subtask/getAll.json +4 -1
  12. package/dist/nodes/Aws/S3/__schema__/v2.0.0/file/getAll.json +7 -1
  13. package/dist/nodes/Aws/S3/__schema__/v2.0.0/folder/getAll.json +7 -1
  14. package/dist/nodes/BambooHr/__schema__/v1.0.0/employee/getAll.json +1 -4
  15. package/dist/nodes/ClickUp/__schema__/v1.0.0/list/customFields.json +23 -1
  16. package/dist/nodes/Code/Pyodide.js +24 -0
  17. package/dist/nodes/Code/Pyodide.js.map +1 -1
  18. package/dist/nodes/CompareDatasets/GenericFunctions.js +5 -5
  19. package/dist/nodes/CompareDatasets/GenericFunctions.js.map +1 -1
  20. package/dist/nodes/Discord/__schema__/v2.0.0/message/sendAndWait.json +14 -0
  21. package/dist/nodes/Discord/v2/helpers/utils.js +2 -2
  22. package/dist/nodes/Discord/v2/helpers/utils.js.map +1 -1
  23. package/dist/nodes/Dropbox/__schema__/v1.0.0/file/download.json +31 -1
  24. package/dist/nodes/Dropcontact/__schema__/v1.0.0/contact/enrich.json +15 -1
  25. package/dist/nodes/Dropcontact/__schema__/v1.0.0/contact/fetchRequest.json +50 -0
  26. package/dist/nodes/EmailReadImap/v2/utils.js +16 -3
  27. package/dist/nodes/EmailReadImap/v2/utils.js.map +1 -1
  28. package/dist/nodes/EmailSend/__schema__/v2.1.0/email/send.json +1 -7
  29. package/dist/nodes/Evaluation/EvaluationTrigger/EvaluationTrigger.node.ee.js +1 -1
  30. package/dist/nodes/Evaluation/EvaluationTrigger/EvaluationTrigger.node.ee.js.map +1 -1
  31. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflowTrigger/ExecuteWorkflowTrigger.node.js +2 -2
  32. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflowTrigger/ExecuteWorkflowTrigger.node.js.map +1 -1
  33. package/dist/nodes/Freshservice/GenericFunctions.js +12 -2
  34. package/dist/nodes/Freshservice/GenericFunctions.js.map +1 -1
  35. package/dist/nodes/Google/Ads/__schema__/v1.0.0/campaign/getAll.json +13 -1
  36. package/dist/nodes/Google/Analytics/__schema__/v2.0.0/report/get.json +1 -4
  37. package/dist/nodes/Google/Calendar/__schema__/v1.3.0/event/getAll.json +1 -4
  38. package/dist/nodes/Google/Chat/__schema__/v1.0.0/message/create.json +30 -1
  39. package/dist/nodes/Google/Drive/__schema__/v3.0.0/file/upload.json +4 -1
  40. package/dist/nodes/Google/Drive/test/v2/node/helpers.js +12 -2
  41. package/dist/nodes/Google/Drive/test/v2/node/helpers.js.map +1 -1
  42. package/dist/nodes/Google/Firebase/CloudFirestore/__schema__/v1.1.0/document/query.json +1 -7
  43. package/dist/nodes/Google/Gmail/__schema__/v2.1.0/message/addLabels.json +13 -1
  44. package/dist/nodes/Google/Gmail/__schema__/v2.1.0/message/get.json +1 -7
  45. package/dist/nodes/Google/Gmail/__schema__/v2.1.0/message/markAsRead.json +13 -1
  46. package/dist/nodes/Google/Gmail/__schema__/v2.1.0/thread/addLabels.json +16 -1
  47. package/dist/nodes/Google/Sheet/v2/actions/sheet/update.operation.js +10 -4
  48. package/dist/nodes/Google/Sheet/v2/actions/sheet/update.operation.js.map +1 -1
  49. package/dist/nodes/HaloPSA/__schema__/v1.0.0/ticket/getAll.json +1 -268
  50. package/dist/nodes/HttpRequest/shared/optimizeResponse.js +5 -3
  51. package/dist/nodes/HttpRequest/shared/optimizeResponse.js.map +1 -1
  52. package/dist/nodes/Hubspot/__schema__/v2.1.0/company/getAll.json +1 -4
  53. package/dist/nodes/Hubspot/__schema__/v2.1.0/deal/getAll.json +64 -1
  54. package/dist/nodes/Hubspot/__schema__/v2.1.0/deal/search.json +1 -4
  55. package/dist/nodes/Hubspot/__schema__/v2.1.0/ticket/get.json +1 -61
  56. package/dist/nodes/JinaAI/__schema__/v1.0.0/reader/read.json +26 -0
  57. package/dist/nodes/Jira/__schema__/v1.0.0/issue/get.json +604 -7
  58. package/dist/nodes/Jira/__schema__/v1.0.0/issue/getAll.json +1 -110
  59. package/dist/nodes/Lemlist/__schema__/v2.0.0/lead/create.json +1 -4
  60. package/dist/nodes/Lemlist/__schema__/v2.0.0/lead/get.json +30 -0
  61. package/dist/nodes/Line/__schema__/v1.0.0/notification/send.json +4 -7
  62. package/dist/nodes/Linear/__schema__/v1.0.0/issue/getAll.json +12 -1
  63. package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js +23 -3
  64. package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js.map +1 -1
  65. package/dist/nodes/Microsoft/Entra/__schema__/v1.0.0/user/getAll.json +1 -7
  66. package/dist/nodes/Microsoft/Entra/descriptions/GroupDescription.js +12 -2
  67. package/dist/nodes/Microsoft/Entra/descriptions/GroupDescription.js.map +1 -1
  68. package/dist/nodes/Microsoft/Entra/descriptions/UserDescription.js +13 -3
  69. package/dist/nodes/Microsoft/Entra/descriptions/UserDescription.js.map +1 -1
  70. package/dist/nodes/Microsoft/OneDrive/__schema__/v1.0.0/file/download.json +23 -10
  71. package/dist/nodes/Microsoft/OneDrive/__schema__/v1.0.0/folder/create.json +1 -15
  72. package/dist/nodes/Microsoft/Outlook/__schema__/v2.0.0/event/getAll.json +1 -4
  73. package/dist/nodes/Microsoft/Outlook/__schema__/v2.0.0/folderMessage/getAll.json +124 -1
  74. package/dist/nodes/Microsoft/Outlook/__schema__/v2.0.0/message/getAll.json +1 -56
  75. package/dist/nodes/Microsoft/Sql/MicrosoftSql.node.js +12 -2
  76. package/dist/nodes/Microsoft/Sql/MicrosoftSql.node.js.map +1 -1
  77. package/dist/nodes/Microsoft/Storage/__schema__/v1.0.0/blob/create.json +39 -0
  78. package/dist/nodes/Microsoft/Storage/__schema__/v1.0.0/blob/get.json +44 -0
  79. package/dist/nodes/Microsoft/ToDo/__schema__/v1.0.0/task/getAll.json +5 -21
  80. package/dist/nodes/N8n/WorkflowDescription.js +40 -0
  81. package/dist/nodes/N8n/WorkflowDescription.js.map +1 -1
  82. package/dist/nodes/Nasa/__schema__/v1.0.0/donkiSolarFlare/get.json +1 -4
  83. package/dist/nodes/Notion/__schema__/v2.2.0/database/get.json +2 -149
  84. package/dist/nodes/Odoo/__schema__/v1.0.0/contact/get.json +1 -4
  85. package/dist/nodes/Odoo/__schema__/v1.0.0/contact/getAll.json +1 -10
  86. package/dist/nodes/Odoo/__schema__/v1.0.0/opportunity/getAll.json +1 -40
  87. package/dist/nodes/OpenAi/__schema__/v1.1.0/chat/complete.json +29 -1
  88. package/dist/nodes/Pipedrive/__schema__/v1.0.0/person/search.json +7 -1
  89. package/dist/nodes/QuickBase/__schema__/v1.0.0/record/getAll.json +9 -0
  90. package/dist/nodes/QuickBooks/__schema__/v1.0.0/transaction/getReport.json +4 -1
  91. package/dist/nodes/RssFeedRead/RssFeedRead.node.js +9 -3
  92. package/dist/nodes/RssFeedRead/RssFeedRead.node.js.map +1 -1
  93. package/dist/nodes/S3/__schema__/v1.0.0/file/download.json +21 -0
  94. package/dist/nodes/Salesforce/__schema__/v1.0.0/customObject/getAll.json +1 -4
  95. package/dist/nodes/Salesforce/__schema__/v1.0.0/lead/getAll.json +1 -4
  96. package/dist/nodes/Salesforce/__schema__/v1.0.0/opportunity/getAll.json +1 -4
  97. package/dist/nodes/Salesforce/__schema__/v1.0.0/search/query.json +1 -4
  98. package/dist/nodes/Shopify/__schema__/v1.0.0/order/getAll.json +250 -3
  99. package/dist/nodes/Slack/__schema__/v2.3.0/channel/history.json +1 -50
  100. package/dist/nodes/Slack/__schema__/v2.3.0/channel/member.json +168 -2
  101. package/dist/nodes/Slack/__schema__/v2.3.0/message/post.json +1 -4
  102. package/dist/nodes/Sms77/__schema__/v1.0.0/sms/send.json +1 -10
  103. package/dist/nodes/Strapi/__schema__/v1.0.0/entry/getAll.json +10 -1
  104. package/dist/nodes/Telegram/__schema__/v1.2.0/chat/member.json +1 -4
  105. package/dist/nodes/Telegram/__schema__/v1.2.0/message/editMessageText.json +4 -1
  106. package/dist/nodes/Telegram/__schema__/v1.2.0/message/sendAndWait.json +14 -0
  107. package/dist/nodes/Telegram/__schema__/v1.2.0/message/sendMessage.json +4 -21
  108. package/dist/nodes/Telegram/__schema__/v1.2.0/message/sendPhoto.json +1 -7
  109. package/dist/nodes/Telegram/tests/Helpers.js +12 -2
  110. package/dist/nodes/Telegram/tests/Helpers.js.map +1 -1
  111. package/dist/nodes/Transform/RemoveDuplicates/utils.js +8 -6
  112. package/dist/nodes/Transform/RemoveDuplicates/utils.js.map +1 -1
  113. package/dist/nodes/Trello/__schema__/v1.0.0/list/getAll.json +1 -4
  114. package/dist/nodes/Trello/__schema__/v1.0.0/list/getCards.json +1 -4
  115. package/dist/nodes/Twitter/__schema__/v2.0.0/tweet/search.json +7 -1
  116. package/dist/nodes/Wordpress/__schema__/v1.0.0/post/get.json +1 -7
  117. package/dist/nodes/Zoho/__schema__/v1.0.0/contact/getAll.json +1 -4
  118. package/dist/nodes/Zoho/__schema__/v1.0.0/lead/getAll.json +99 -1
  119. package/dist/test/nodes/Helpers.js +12 -2
  120. package/dist/test/nodes/Helpers.js.map +1 -1
  121. package/dist/types/credentials.json +1 -1
  122. package/dist/types/nodes.json +13 -13
  123. package/dist/utils/binary.js +12 -9
  124. package/dist/utils/binary.js.map +1 -1
  125. package/dist/utils/sendAndWait/utils.js +20 -5
  126. package/dist/utils/sendAndWait/utils.js.map +1 -1
  127. package/dist/utils/utilities.js +31 -16
  128. package/dist/utils/utilities.js.map +1 -1
  129. package/dist/utils/workflowInputsResourceMapping/GenericFunctions.js +2 -2
  130. package/dist/utils/workflowInputsResourceMapping/GenericFunctions.js.map +1 -1
  131. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../nodes/Microsoft/Entra/descriptions/GroupDescription.ts"],"sourcesContent":["import { merge } from 'lodash';\nimport type {\n\tIDataObject,\n\tIExecuteSingleFunctions,\n\tIHttpRequestOptions,\n\tIN8nHttpFullResponse,\n\tINodeExecutionData,\n\tINodeProperties,\n} from 'n8n-workflow';\nimport { NodeOperationError } from 'n8n-workflow';\n\nimport { handleErrorPostReceive, microsoftApiRequest } from '../GenericFunctions';\n\nexport const groupOperations: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Operation',\n\t\tname: 'operation',\n\t\ttype: 'options',\n\t\tnoDataExpression: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Create',\n\t\t\t\tvalue: 'create',\n\t\t\t\tdescription: 'Create a group',\n\t\t\t\trouting: {\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tignoreHttpStatusErrors: true,\n\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\turl: '/groups',\n\t\t\t\t\t},\n\t\t\t\t\toutput: {\n\t\t\t\t\t\tpostReceive: [handleErrorPostReceive],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\taction: 'Create group',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Delete',\n\t\t\t\tvalue: 'delete',\n\t\t\t\tdescription: 'Delete a group',\n\t\t\t\trouting: {\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tignoreHttpStatusErrors: true,\n\t\t\t\t\t\tmethod: 'DELETE',\n\t\t\t\t\t\turl: '=/groups/{{ $parameter[\"group\"] }}',\n\t\t\t\t\t},\n\t\t\t\t\toutput: {\n\t\t\t\t\t\tpostReceive: [\n\t\t\t\t\t\t\thandleErrorPostReceive,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'set',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tvalue: '={{ { \"deleted\": true } }}',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\taction: 'Delete group',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get',\n\t\t\t\tvalue: 'get',\n\t\t\t\tdescription: 'Retrieve data for a specific group',\n\t\t\t\trouting: {\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tignoreHttpStatusErrors: true,\n\t\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\t\turl: '=/groups/{{ $parameter[\"group\"] }}',\n\t\t\t\t\t},\n\t\t\t\t\toutput: {\n\t\t\t\t\t\tpostReceive: [handleErrorPostReceive],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\taction: 'Get group',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get Many',\n\t\t\t\tvalue: 'getAll',\n\t\t\t\tdescription: 'Retrieve a list of groups',\n\t\t\t\trouting: {\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tignoreHttpStatusErrors: true,\n\t\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\t\turl: '/groups',\n\t\t\t\t\t},\n\t\t\t\t\toutput: {\n\t\t\t\t\t\tpostReceive: [\n\t\t\t\t\t\t\thandleErrorPostReceive,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'rootProperty',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tproperty: 'value',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\taction: 'Get many groups',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Update',\n\t\t\t\tvalue: 'update',\n\t\t\t\tdescription: 'Update a group',\n\t\t\t\trouting: {\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tignoreHttpStatusErrors: true,\n\t\t\t\t\t\tmethod: 'PATCH',\n\t\t\t\t\t\turl: '=/groups/{{ $parameter[\"group\"] }}',\n\t\t\t\t\t},\n\t\t\t\t\toutput: {\n\t\t\t\t\t\tpostReceive: [\n\t\t\t\t\t\t\thandleErrorPostReceive,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'set',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tvalue: '={{ { \"updated\": true } }}',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\taction: 'Update group',\n\t\t\t},\n\t\t],\n\t\tdefault: 'getAll',\n\t},\n];\n\nconst createFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Group Type',\n\t\tname: 'groupType',\n\t\tdefault: '',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Microsoft 365',\n\t\t\t\tvalue: 'Unified',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Security',\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t],\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tpreSend: [\n\t\t\t\t\tasync function (\n\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\tconst groupType = this.getNodeParameter('groupType') as string;\n\t\t\t\t\t\tconst body = requestOptions.body as IDataObject;\n\t\t\t\t\t\tif (groupType) {\n\t\t\t\t\t\t\tbody.groupTypes ??= [] as string[];\n\t\t\t\t\t\t\t(body.groupTypes as string[]).push(groupType);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Properties mailEnabled and securityEnabled are not visible for Security group, but are required. So we add them here.\n\t\t\t\t\t\t\tbody.mailEnabled = false;\n\t\t\t\t\t\t\tbody.securityEnabled = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\ttype: 'options',\n\t},\n\t{\n\t\tdisplayName: 'Group Name',\n\t\tname: 'displayName',\n\t\tdefault: '',\n\t\tdescription: 'The name to display in the address book for the group',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\trequired: true,\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: 'displayName',\n\t\t\t\ttype: 'body',\n\t\t\t\tpreSend: [\n\t\t\t\t\tasync function (\n\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\tconst displayName = this.getNodeParameter('displayName') as string;\n\t\t\t\t\t\tif (displayName?.length > 256) {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\"'Display Name' should have a maximum length of 256\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\ttype: 'string',\n\t\tvalidateType: 'string',\n\t},\n\t{\n\t\tdisplayName: 'Group Email Address',\n\t\tname: 'mailNickname',\n\t\tdefault: '',\n\t\tdescription: 'The mail alias for the group. Only enter the local-part without the domain.',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tplaceholder: 'e.g. alias',\n\t\trequired: true,\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: 'mailNickname',\n\t\t\t\ttype: 'body',\n\t\t\t\tpreSend: [\n\t\t\t\t\tasync function (\n\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\tconst mailNickname = this.getNodeParameter('mailNickname') as string;\n\t\t\t\t\t\tif (mailNickname?.includes('@')) {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t`'Group Email Address' should only include the local-part of the email address, without ${mailNickname.slice(mailNickname.indexOf('@'))}`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (mailNickname?.length > 64) {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\"'Group Email Address' should have a maximum length of 64\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (mailNickname && !/^((?![@()\\[\\]\"\\\\;:<> ,])[\\x00-\\x7F])*$/.test(mailNickname)) {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\"'Group Email Address' should only contain characters in the ASCII character set 0 - 127 except the following: @ () \\\\ [] \\\" ; : <> , SPACE\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\ttype: 'string',\n\t\tvalidateType: 'string',\n\t},\n\t{\n\t\tdisplayName: 'Mail Enabled',\n\t\tname: 'mailEnabled',\n\t\tdefault: false,\n\t\tdescription: 'Whether the group is mail-enabled',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t\tgroupType: ['Unified'],\n\t\t\t},\n\t\t},\n\t\trequired: true,\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: 'mailEnabled',\n\t\t\t\ttype: 'body',\n\t\t\t},\n\t\t},\n\t\ttype: 'boolean',\n\t\tvalidateType: 'boolean',\n\t},\n\t{\n\t\tdisplayName: 'Membership Type',\n\t\tname: 'membershipType',\n\t\tdefault: '',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Assigned',\n\t\t\t\tvalue: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'Lets you add specific users as members of a group and have unique permissions',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Dynamic',\n\t\t\t\tvalue: 'DynamicMembership',\n\t\t\t\tdescription: 'Lets you use rules to automatically add and remove users as members',\n\t\t\t},\n\t\t],\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tpreSend: [\n\t\t\t\t\tasync function (\n\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\tconst membershipType = this.getNodeParameter('membershipType') as string;\n\t\t\t\t\t\tif (membershipType) {\n\t\t\t\t\t\t\tconst body = requestOptions.body as IDataObject;\n\t\t\t\t\t\t\tbody.groupTypes ??= [] as string[];\n\t\t\t\t\t\t\t(body.groupTypes as string[]).push(membershipType);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\ttype: 'options',\n\t},\n\t{\n\t\tdisplayName: 'Security Enabled',\n\t\tname: 'securityEnabled',\n\t\tdefault: true,\n\t\tdescription: 'Whether the group is a security group',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t\tgroupType: ['Unified'],\n\t\t\t},\n\t\t},\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: 'securityEnabled',\n\t\t\t\ttype: 'body',\n\t\t\t},\n\t\t},\n\t\ttype: 'boolean',\n\t\tvalidateType: 'boolean',\n\t},\n\t{\n\t\tdisplayName: 'Additional Fields',\n\t\tname: 'additionalFields',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Assignable to Role',\n\t\t\t\tname: 'isAssignableToRole',\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: 'Whether Microsoft Entra roles can be assigned to the group',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\thide: {\n\t\t\t\t\t\t'/membershipType': ['DynamicMembership'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'isAssignableToRole',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t\tpreSend: [\n\t\t\t\t\t\t\tasync function (\n\t\t\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\t\t\tconst isAssignableToRole = this.getNodeParameter(\n\t\t\t\t\t\t\t\t\t'additionalFields.isAssignableToRole',\n\t\t\t\t\t\t\t\t) as boolean;\n\t\t\t\t\t\t\t\tif (isAssignableToRole) {\n\t\t\t\t\t\t\t\t\tconst securityEnabled = this.getNodeParameter('securityEnabled', true) as boolean;\n\t\t\t\t\t\t\t\t\tconst visibility = this.getNodeParameter(\n\t\t\t\t\t\t\t\t\t\t'additionalFields.visibility',\n\t\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t) as string;\n\t\t\t\t\t\t\t\t\tconst groupType = this.getNodeParameter('groupType') as string;\n\t\t\t\t\t\t\t\t\tconst mailEnabled = this.getNodeParameter('mailEnabled', false) as boolean;\n\t\t\t\t\t\t\t\t\tif (!securityEnabled) {\n\t\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t\t\"'Security Enabled' must be set to true if 'Assignable to Role' is set\",\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (visibility !== 'Private') {\n\t\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t\t\"'Visibility' must be set to 'Private' if 'Assignable to Role' is set\",\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (groupType === 'Unified' && !mailEnabled) {\n\t\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t\t\"'Mail Enabled' must be set to true if 'Assignable to Role' is set\",\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'boolean',\n\t\t\t\tvalidateType: 'boolean',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Description',\n\t\t\t\tname: 'description',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Description for the group',\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Membership Rule',\n\t\t\t\tname: 'membershipRule',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'The <a href=\"https://learn.microsoft.com/en-us/entra/identity/users/groups-dynamic-membership\">dynamic membership rules</a>',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'/membershipType': ['DynamicMembership'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tplaceholder: 'e.g. user.department -eq \"Marketing\"',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'membershipRule',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Membership Rule Processing State',\n\t\t\t\tname: 'membershipRuleProcessingState',\n\t\t\t\tdefault: 'On',\n\t\t\t\tdescription: 'Indicates whether the dynamic membership processing is on or paused',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'/membershipType': ['DynamicMembership'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'On',\n\t\t\t\t\t\tvalue: 'On',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Paused',\n\t\t\t\t\t\tvalue: 'Paused',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'membershipRuleProcessingState',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'options',\n\t\t\t\tvalidateType: 'options',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Preferred Data Location',\n\t\t\t\tname: 'preferredDataLocation',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'A property set for the group that Office 365 services use to provision the corresponding data-at-rest resources (mailbox, OneDrive, groups sites, and so on)',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'/groupType': ['Unified'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Unique Name',\n\t\t\t\tname: 'uniqueName',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'The unique identifier for the group, can only be updated if null, and is immutable once set',\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Visibility',\n\t\t\t\tname: 'visibility',\n\t\t\t\tdefault: 'Public',\n\t\t\t\tdescription: 'Specifies the visibility of the group',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Private',\n\t\t\t\t\t\tvalue: 'Private',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Public',\n\t\t\t\t\t\tvalue: 'Public',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\ttype: 'options',\n\t\t\t\tvalidateType: 'options',\n\t\t\t},\n\t\t],\n\t\tplaceholder: 'Add Field',\n\t\trouting: {\n\t\t\toutput: {\n\t\t\t\tpostReceive: [\n\t\t\t\t\tasync function (\n\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\titems: INodeExecutionData[],\n\t\t\t\t\t\t_response: IN8nHttpFullResponse,\n\t\t\t\t\t): Promise<INodeExecutionData[]> {\n\t\t\t\t\t\tfor (const item of items) {\n\t\t\t\t\t\t\tconst groupId = item.json.id as string;\n\t\t\t\t\t\t\tconst fields = this.getNodeParameter('additionalFields', item.index) as IDataObject;\n\t\t\t\t\t\t\tdelete fields.isAssignableToRole;\n\t\t\t\t\t\t\tdelete fields.membershipRule;\n\t\t\t\t\t\t\tdelete fields.membershipRuleProcessingState;\n\t\t\t\t\t\t\tif (Object.keys(fields).length) {\n\t\t\t\t\t\t\t\tconst body: IDataObject = {\n\t\t\t\t\t\t\t\t\t...fields,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tif (body.assignedLabels) {\n\t\t\t\t\t\t\t\t\tbody.assignedLabels = [(body.assignedLabels as IDataObject).labelValues];\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait microsoftApiRequest.call(this, 'PATCH', `/groups/${groupId}`, body);\n\t\t\t\t\t\t\t\t\tmerge(item.json, body);\n\t\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tawait microsoftApiRequest.call(this, 'DELETE', `/groups/${groupId}`);\n\t\t\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn items;\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\ttype: 'collection',\n\t},\n];\n\nconst deleteFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Group to Delete',\n\t\tname: 'group',\n\t\tdefault: {\n\t\t\tmode: 'list',\n\t\t\tvalue: '',\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['delete'],\n\t\t\t},\n\t\t},\n\t\tmodes: [\n\t\t\t{\n\t\t\t\tdisplayName: 'From List',\n\t\t\t\tname: 'list',\n\t\t\t\ttype: 'list',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tsearchListMethod: 'getGroups',\n\t\t\t\t\tsearchable: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'By ID',\n\t\t\t\tname: 'id',\n\t\t\t\tplaceholder: 'e.g. 02bd9fd6-8f93-4758-87c3-1fb73740a315',\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t],\n\t\trequired: true,\n\t\ttype: 'resourceLocator',\n\t},\n];\n\nconst getFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Group to Get',\n\t\tname: 'group',\n\t\tdefault: {\n\t\t\tmode: 'list',\n\t\t\tvalue: '',\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['get'],\n\t\t\t},\n\t\t},\n\t\tmodes: [\n\t\t\t{\n\t\t\t\tdisplayName: 'From List',\n\t\t\t\tname: 'list',\n\t\t\t\ttype: 'list',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tsearchListMethod: 'getGroups',\n\t\t\t\t\tsearchable: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'By ID',\n\t\t\t\tname: 'id',\n\t\t\t\tplaceholder: 'e.g. 02bd9fd6-8f93-4758-87c3-1fb73740a315',\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t],\n\t\trequired: true,\n\t\ttype: 'resourceLocator',\n\t},\n\t{\n\t\tdisplayName: 'Output',\n\t\tname: 'output',\n\t\tdefault: 'simple',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['get'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Simplified',\n\t\t\t\tvalue: 'simple',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: '$select',\n\t\t\t\t\t\ttype: 'query',\n\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\t'id,createdDateTime,description,displayName,mail,mailEnabled,mailNickname,securityEnabled,securityIdentifier,visibility',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Raw',\n\t\t\t\tvalue: 'raw',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Selected Fields',\n\t\t\t\tvalue: 'fields',\n\t\t\t},\n\t\t],\n\t\ttype: 'options',\n\t},\n\t{\n\t\t// eslint-disable-next-line n8n-nodes-base/node-param-display-name-wrong-for-dynamic-multi-options\n\t\tdisplayName: 'Fields',\n\t\tname: 'fields',\n\t\tdefault: [],\n\t\t// eslint-disable-next-line n8n-nodes-base/node-param-description-wrong-for-dynamic-multi-options\n\t\tdescription: 'The fields to add to the output',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['get'],\n\t\t\t\toutput: ['fields'],\n\t\t\t},\n\t\t},\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: '$select',\n\t\t\t\ttype: 'query',\n\t\t\t\tvalue: '={{ $value.concat(\"id\").join(\",\") }}',\n\t\t\t},\n\t\t},\n\t\ttypeOptions: {\n\t\t\tloadOptionsMethod: 'getGroupProperties',\n\t\t},\n\t\ttype: 'multiOptions',\n\t},\n\t{\n\t\tdisplayName: 'Options',\n\t\tname: 'options',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['get'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Include Members',\n\t\t\t\tname: 'includeMembers',\n\t\t\t\tdefault: false,\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: '$expand',\n\t\t\t\t\t\ttype: 'query',\n\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\t'={{ $value ? \"members($select=id,accountEnabled,createdDateTime,displayName,employeeId,mail,securityIdentifier,userPrincipalName,userType)\" : undefined }}',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'boolean',\n\t\t\t\tvalidateType: 'boolean',\n\t\t\t},\n\t\t],\n\t\tplaceholder: 'Add Option',\n\t\ttype: 'collection',\n\t},\n];\n\nconst getAllFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Return All',\n\t\tname: 'returnAll',\n\t\tdefault: false,\n\t\tdescription: 'Whether to return all results or only up to a given limit',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tpaginate: '={{ $value }}',\n\t\t\t},\n\t\t\toperations: {\n\t\t\t\tpagination: {\n\t\t\t\t\ttype: 'generic',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tcontinue: '={{ !!$response.body?.[\"@odata.nextLink\"] }}',\n\t\t\t\t\t\trequest: {\n\t\t\t\t\t\t\turl: '={{ $response.body?.[\"@odata.nextLink\"] ?? $request.url }}',\n\t\t\t\t\t\t\tqs: {\n\t\t\t\t\t\t\t\t$filter:\n\t\t\t\t\t\t\t\t\t'={{ !!$response.body?.[\"@odata.nextLink\"] ? undefined : $request.qs?.$filter }}',\n\t\t\t\t\t\t\t\t$select:\n\t\t\t\t\t\t\t\t\t'={{ !!$response.body?.[\"@odata.nextLink\"] ? undefined : $request.qs?.$select }}',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\ttype: 'boolean',\n\t},\n\t{\n\t\tdisplayName: 'Limit',\n\t\tname: 'limit',\n\t\tdefault: 50,\n\t\tdescription: 'Max number of results to return',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t\treturnAll: [false],\n\t\t\t},\n\t\t},\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: '$top',\n\t\t\t\ttype: 'query',\n\t\t\t\tvalue: '={{ $value }}',\n\t\t\t},\n\t\t},\n\t\ttype: 'number',\n\t\ttypeOptions: {\n\t\t\tminValue: 1,\n\t\t},\n\t\tvalidateType: 'number',\n\t},\n\t{\n\t\tdisplayName: 'Filter',\n\t\tname: 'filter',\n\t\tdefault: '',\n\t\tdescription:\n\t\t\t'<a href=\"https://docs.microsoft.com/en-us/graph/query-parameters#filter-parameter\">Query parameter</a> to filter results by',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\thint: 'If empty, all the groups will be returned',\n\t\tplaceholder: \"e.g. startswith(displayName, 'a')\",\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: '$filter',\n\t\t\t\ttype: 'query',\n\t\t\t\tvalue: '={{ $value ? $value : undefined }}',\n\t\t\t},\n\t\t},\n\t\ttype: 'string',\n\t\tvalidateType: 'string',\n\t},\n\t{\n\t\tdisplayName: 'Output',\n\t\tname: 'output',\n\t\tdefault: 'simple',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Simplified',\n\t\t\t\tvalue: 'simple',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: '$select',\n\t\t\t\t\t\ttype: 'query',\n\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\t'id,createdDateTime,description,displayName,mail,mailEnabled,mailNickname,securityEnabled,securityIdentifier,visibility',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Raw',\n\t\t\t\tvalue: 'raw',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Selected Fields',\n\t\t\t\tvalue: 'fields',\n\t\t\t},\n\t\t],\n\t\ttype: 'options',\n\t},\n\t{\n\t\t// eslint-disable-next-line n8n-nodes-base/node-param-display-name-wrong-for-dynamic-multi-options\n\t\tdisplayName: 'Fields',\n\t\tname: 'fields',\n\t\tdefault: [],\n\t\t// eslint-disable-next-line n8n-nodes-base/node-param-description-wrong-for-dynamic-multi-options\n\t\tdescription: 'The fields to add to the output',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t\toutput: ['fields'],\n\t\t\t},\n\t\t},\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: '$select',\n\t\t\t\ttype: 'query',\n\t\t\t\tvalue: '={{ $value.concat(\"id\").join(\",\") }}',\n\t\t\t},\n\t\t},\n\t\ttypeOptions: {\n\t\t\tloadOptionsMethod: 'getGroupPropertiesGetAll',\n\t\t},\n\t\ttype: 'multiOptions',\n\t},\n];\n\nconst updateFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Group to Update',\n\t\tname: 'group',\n\t\tdefault: {\n\t\t\tmode: 'list',\n\t\t\tvalue: '',\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['update'],\n\t\t\t},\n\t\t},\n\t\tmodes: [\n\t\t\t{\n\t\t\t\tdisplayName: 'From List',\n\t\t\t\tname: 'list',\n\t\t\t\ttype: 'list',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tsearchListMethod: 'getGroups',\n\t\t\t\t\tsearchable: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'By ID',\n\t\t\t\tname: 'id',\n\t\t\t\tplaceholder: 'e.g. 02bd9fd6-8f93-4758-87c3-1fb73740a315',\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t],\n\t\trequired: true,\n\t\ttype: 'resourceLocator',\n\t},\n\t{\n\t\tdisplayName: 'Update Fields',\n\t\tname: 'updateFields',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['update'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Allow External Senders',\n\t\t\t\tname: 'allowExternalSenders',\n\t\t\t\tdefault: false,\n\t\t\t\tdescription:\n\t\t\t\t\t'Whether people external to the organization can send messages to the group. Wait a few seconds before editing this field in a newly created group.',\n\t\t\t\ttype: 'boolean',\n\t\t\t\tvalidateType: 'boolean',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Auto Subscribe New Members',\n\t\t\t\tname: 'autoSubscribeNewMembers',\n\t\t\t\tdefault: false,\n\t\t\t\tdescription:\n\t\t\t\t\t'Whether new members added to the group will be auto-subscribed to receive email notifications. Wait a few seconds before editing this field in a newly created group.',\n\t\t\t\ttype: 'boolean',\n\t\t\t\tvalidateType: 'boolean',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Description',\n\t\t\t\tname: 'description',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Description for the group',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'description',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Group Name',\n\t\t\t\tname: 'displayName',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'The name to display in the address book for the group',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'displayName',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t\tpreSend: [\n\t\t\t\t\t\t\tasync function (\n\t\t\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\t\t\tconst displayName = this.getNodeParameter('updateFields.displayName') as string;\n\t\t\t\t\t\t\t\tif (displayName?.length > 256) {\n\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t\"'Display Name' should have a maximum length of 256\",\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Group Email Address',\n\t\t\t\tname: 'mailNickname',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'The mail alias for the group. Only enter the local-part without the domain.',\n\t\t\t\tplaceholder: 'e.g. alias',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'mailNickname',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t\tpreSend: [\n\t\t\t\t\t\t\tasync function (\n\t\t\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\t\t\tconst mailNickname = this.getNodeParameter('updateFields.mailNickname') as string;\n\t\t\t\t\t\t\t\tif (mailNickname?.includes('@')) {\n\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t`'Group Email Address' should only include the local-part of the email address, without ${mailNickname.slice(mailNickname.indexOf('@'))}`,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (mailNickname?.length > 64) {\n\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t\"'Group Email Address' should have a maximum length of 64\",\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (mailNickname && !/^((?![@()\\[\\]\"\\\\;:<> ,])[\\x00-\\x7F])*$/.test(mailNickname)) {\n\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t\"'Group Email Address' should only contain characters in the ASCII character set 0 - 127 except the following: @ () \\\\ [] \\\" ; : <> , SPACE\",\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Membership Rule',\n\t\t\t\tname: 'membershipRule',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'The <a href=\"https://learn.microsoft.com/en-us/entra/identity/users/groups-dynamic-membership\">dynamic membership rules</a>',\n\t\t\t\tplaceholder: 'e.g. user.department -eq \"Marketing\"',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'membershipRule',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Membership Rule Processing State',\n\t\t\t\tname: 'membershipRuleProcessingState',\n\t\t\t\tdefault: 'On',\n\t\t\t\tdescription: 'Indicates whether the dynamic membership processing is on or paused',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'On',\n\t\t\t\t\t\tvalue: 'On',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Paused',\n\t\t\t\t\t\tvalue: 'Paused',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'membershipRuleProcessingState',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'options',\n\t\t\t\tvalidateType: 'options',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Preferred Data Location',\n\t\t\t\tname: 'preferredDataLocation',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'A property set for the group that Office 365 services use to provision the corresponding data-at-rest resources (mailbox, OneDrive, groups sites, and so on)',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'preferredDataLocation',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Security Enabled',\n\t\t\t\tname: 'securityEnabled',\n\t\t\t\tdefault: true,\n\t\t\t\tdescription: 'Whether the group is a security group',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'securityEnabled',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'boolean',\n\t\t\t\tvalidateType: 'boolean',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Unique Name',\n\t\t\t\tname: 'uniqueName',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'The unique identifier for the group, can only be updated if null, and is immutable once set',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'uniqueName',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Visibility',\n\t\t\t\tname: 'visibility',\n\t\t\t\tdefault: 'Public',\n\t\t\t\tdescription: 'Specifies the visibility of the group',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Private',\n\t\t\t\t\t\tvalue: 'Private',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Public',\n\t\t\t\t\t\tvalue: 'Public',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'visibility',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'options',\n\t\t\t\tvalidateType: 'options',\n\t\t\t},\n\t\t],\n\t\tplaceholder: 'Add Field',\n\t\trouting: {\n\t\t\toutput: {\n\t\t\t\tpostReceive: [\n\t\t\t\t\tasync function (\n\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\titems: INodeExecutionData[],\n\t\t\t\t\t\t_response: IN8nHttpFullResponse,\n\t\t\t\t\t): Promise<INodeExecutionData[]> {\n\t\t\t\t\t\tfor (const item of items) {\n\t\t\t\t\t\t\tconst groupId = this.getNodeParameter('group.value', item.index) as string;\n\t\t\t\t\t\t\tconst fields = this.getNodeParameter('updateFields', item.index) as IDataObject;\n\t\t\t\t\t\t\t// To update the following properties, you must specify them in their own PATCH request, without including the other properties\n\t\t\t\t\t\t\tconst separateProperties = [\n\t\t\t\t\t\t\t\t'allowExternalSenders',\n\t\t\t\t\t\t\t\t'autoSubscribeNewMembers',\n\t\t\t\t\t\t\t\t// 'hideFromAddressLists',\n\t\t\t\t\t\t\t\t// 'hideFromOutlookClients',\n\t\t\t\t\t\t\t\t// 'isSubscribedByMail',\n\t\t\t\t\t\t\t\t// 'unseenCount',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tconst separateFields = Object.keys(fields)\n\t\t\t\t\t\t\t\t.filter((key) => separateProperties.includes(key))\n\t\t\t\t\t\t\t\t.reduce((obj, key) => {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t...obj,\n\t\t\t\t\t\t\t\t\t\t[key]: fields[key],\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t}, {});\n\t\t\t\t\t\t\tif (Object.keys(separateFields).length) {\n\t\t\t\t\t\t\t\tconst body: IDataObject = {\n\t\t\t\t\t\t\t\t\t...separateFields,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tawait microsoftApiRequest.call(this, 'PATCH', `/groups/${groupId}`, body);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn items;\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\ttype: 'collection',\n\t},\n];\n\nexport const groupFields: INodeProperties[] = [\n\t...createFields,\n\t...deleteFields,\n\t...getFields,\n\t...getAllFields,\n\t...updateFields,\n];\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../../nodes/Microsoft/Entra/descriptions/GroupDescription.ts"],"sourcesContent":["import merge from 'lodash/merge';\nimport type {\n\tIDataObject,\n\tIExecuteSingleFunctions,\n\tIHttpRequestOptions,\n\tIN8nHttpFullResponse,\n\tINodeExecutionData,\n\tINodeProperties,\n} from 'n8n-workflow';\nimport { NodeOperationError } from 'n8n-workflow';\n\nimport { handleErrorPostReceive, microsoftApiRequest } from '../GenericFunctions';\n\nexport const groupOperations: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Operation',\n\t\tname: 'operation',\n\t\ttype: 'options',\n\t\tnoDataExpression: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Create',\n\t\t\t\tvalue: 'create',\n\t\t\t\tdescription: 'Create a group',\n\t\t\t\trouting: {\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tignoreHttpStatusErrors: true,\n\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\turl: '/groups',\n\t\t\t\t\t},\n\t\t\t\t\toutput: {\n\t\t\t\t\t\tpostReceive: [handleErrorPostReceive],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\taction: 'Create group',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Delete',\n\t\t\t\tvalue: 'delete',\n\t\t\t\tdescription: 'Delete a group',\n\t\t\t\trouting: {\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tignoreHttpStatusErrors: true,\n\t\t\t\t\t\tmethod: 'DELETE',\n\t\t\t\t\t\turl: '=/groups/{{ $parameter[\"group\"] }}',\n\t\t\t\t\t},\n\t\t\t\t\toutput: {\n\t\t\t\t\t\tpostReceive: [\n\t\t\t\t\t\t\thandleErrorPostReceive,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'set',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tvalue: '={{ { \"deleted\": true } }}',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\taction: 'Delete group',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get',\n\t\t\t\tvalue: 'get',\n\t\t\t\tdescription: 'Retrieve data for a specific group',\n\t\t\t\trouting: {\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tignoreHttpStatusErrors: true,\n\t\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\t\turl: '=/groups/{{ $parameter[\"group\"] }}',\n\t\t\t\t\t},\n\t\t\t\t\toutput: {\n\t\t\t\t\t\tpostReceive: [handleErrorPostReceive],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\taction: 'Get group',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get Many',\n\t\t\t\tvalue: 'getAll',\n\t\t\t\tdescription: 'Retrieve a list of groups',\n\t\t\t\trouting: {\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tignoreHttpStatusErrors: true,\n\t\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\t\turl: '/groups',\n\t\t\t\t\t},\n\t\t\t\t\toutput: {\n\t\t\t\t\t\tpostReceive: [\n\t\t\t\t\t\t\thandleErrorPostReceive,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'rootProperty',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tproperty: 'value',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\taction: 'Get many groups',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Update',\n\t\t\t\tvalue: 'update',\n\t\t\t\tdescription: 'Update a group',\n\t\t\t\trouting: {\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tignoreHttpStatusErrors: true,\n\t\t\t\t\t\tmethod: 'PATCH',\n\t\t\t\t\t\turl: '=/groups/{{ $parameter[\"group\"] }}',\n\t\t\t\t\t},\n\t\t\t\t\toutput: {\n\t\t\t\t\t\tpostReceive: [\n\t\t\t\t\t\t\thandleErrorPostReceive,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'set',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tvalue: '={{ { \"updated\": true } }}',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\taction: 'Update group',\n\t\t\t},\n\t\t],\n\t\tdefault: 'getAll',\n\t},\n];\n\nconst createFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Group Type',\n\t\tname: 'groupType',\n\t\tdefault: '',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Microsoft 365',\n\t\t\t\tvalue: 'Unified',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Security',\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t],\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tpreSend: [\n\t\t\t\t\tasync function (\n\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\tconst groupType = this.getNodeParameter('groupType') as string;\n\t\t\t\t\t\tconst body = requestOptions.body as IDataObject;\n\t\t\t\t\t\tif (groupType) {\n\t\t\t\t\t\t\tbody.groupTypes ??= [] as string[];\n\t\t\t\t\t\t\t(body.groupTypes as string[]).push(groupType);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Properties mailEnabled and securityEnabled are not visible for Security group, but are required. So we add them here.\n\t\t\t\t\t\t\tbody.mailEnabled = false;\n\t\t\t\t\t\t\tbody.securityEnabled = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\ttype: 'options',\n\t},\n\t{\n\t\tdisplayName: 'Group Name',\n\t\tname: 'displayName',\n\t\tdefault: '',\n\t\tdescription: 'The name to display in the address book for the group',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\trequired: true,\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: 'displayName',\n\t\t\t\ttype: 'body',\n\t\t\t\tpreSend: [\n\t\t\t\t\tasync function (\n\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\tconst displayName = this.getNodeParameter('displayName') as string;\n\t\t\t\t\t\tif (displayName?.length > 256) {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\"'Display Name' should have a maximum length of 256\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\ttype: 'string',\n\t\tvalidateType: 'string',\n\t},\n\t{\n\t\tdisplayName: 'Group Email Address',\n\t\tname: 'mailNickname',\n\t\tdefault: '',\n\t\tdescription: 'The mail alias for the group. Only enter the local-part without the domain.',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tplaceholder: 'e.g. alias',\n\t\trequired: true,\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: 'mailNickname',\n\t\t\t\ttype: 'body',\n\t\t\t\tpreSend: [\n\t\t\t\t\tasync function (\n\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\tconst mailNickname = this.getNodeParameter('mailNickname') as string;\n\t\t\t\t\t\tif (mailNickname?.includes('@')) {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t`'Group Email Address' should only include the local-part of the email address, without ${mailNickname.slice(mailNickname.indexOf('@'))}`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (mailNickname?.length > 64) {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\"'Group Email Address' should have a maximum length of 64\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (mailNickname && !/^((?![@()\\[\\]\"\\\\;:<> ,])[\\x00-\\x7F])*$/.test(mailNickname)) {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\"'Group Email Address' should only contain characters in the ASCII character set 0 - 127 except the following: @ () \\\\ [] \\\" ; : <> , SPACE\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\ttype: 'string',\n\t\tvalidateType: 'string',\n\t},\n\t{\n\t\tdisplayName: 'Mail Enabled',\n\t\tname: 'mailEnabled',\n\t\tdefault: false,\n\t\tdescription: 'Whether the group is mail-enabled',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t\tgroupType: ['Unified'],\n\t\t\t},\n\t\t},\n\t\trequired: true,\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: 'mailEnabled',\n\t\t\t\ttype: 'body',\n\t\t\t},\n\t\t},\n\t\ttype: 'boolean',\n\t\tvalidateType: 'boolean',\n\t},\n\t{\n\t\tdisplayName: 'Membership Type',\n\t\tname: 'membershipType',\n\t\tdefault: '',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Assigned',\n\t\t\t\tvalue: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'Lets you add specific users as members of a group and have unique permissions',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Dynamic',\n\t\t\t\tvalue: 'DynamicMembership',\n\t\t\t\tdescription: 'Lets you use rules to automatically add and remove users as members',\n\t\t\t},\n\t\t],\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tpreSend: [\n\t\t\t\t\tasync function (\n\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\tconst membershipType = this.getNodeParameter('membershipType') as string;\n\t\t\t\t\t\tif (membershipType) {\n\t\t\t\t\t\t\tconst body = requestOptions.body as IDataObject;\n\t\t\t\t\t\t\tbody.groupTypes ??= [] as string[];\n\t\t\t\t\t\t\t(body.groupTypes as string[]).push(membershipType);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\ttype: 'options',\n\t},\n\t{\n\t\tdisplayName: 'Security Enabled',\n\t\tname: 'securityEnabled',\n\t\tdefault: true,\n\t\tdescription: 'Whether the group is a security group',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t\tgroupType: ['Unified'],\n\t\t\t},\n\t\t},\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: 'securityEnabled',\n\t\t\t\ttype: 'body',\n\t\t\t},\n\t\t},\n\t\ttype: 'boolean',\n\t\tvalidateType: 'boolean',\n\t},\n\t{\n\t\tdisplayName: 'Additional Fields',\n\t\tname: 'additionalFields',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Assignable to Role',\n\t\t\t\tname: 'isAssignableToRole',\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: 'Whether Microsoft Entra roles can be assigned to the group',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\thide: {\n\t\t\t\t\t\t'/membershipType': ['DynamicMembership'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'isAssignableToRole',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t\tpreSend: [\n\t\t\t\t\t\t\tasync function (\n\t\t\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\t\t\tconst isAssignableToRole = this.getNodeParameter(\n\t\t\t\t\t\t\t\t\t'additionalFields.isAssignableToRole',\n\t\t\t\t\t\t\t\t) as boolean;\n\t\t\t\t\t\t\t\tif (isAssignableToRole) {\n\t\t\t\t\t\t\t\t\tconst securityEnabled = this.getNodeParameter('securityEnabled', true) as boolean;\n\t\t\t\t\t\t\t\t\tconst visibility = this.getNodeParameter(\n\t\t\t\t\t\t\t\t\t\t'additionalFields.visibility',\n\t\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t) as string;\n\t\t\t\t\t\t\t\t\tconst groupType = this.getNodeParameter('groupType') as string;\n\t\t\t\t\t\t\t\t\tconst mailEnabled = this.getNodeParameter('mailEnabled', false) as boolean;\n\t\t\t\t\t\t\t\t\tif (!securityEnabled) {\n\t\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t\t\"'Security Enabled' must be set to true if 'Assignable to Role' is set\",\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (visibility !== 'Private') {\n\t\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t\t\"'Visibility' must be set to 'Private' if 'Assignable to Role' is set\",\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (groupType === 'Unified' && !mailEnabled) {\n\t\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t\t\"'Mail Enabled' must be set to true if 'Assignable to Role' is set\",\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'boolean',\n\t\t\t\tvalidateType: 'boolean',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Description',\n\t\t\t\tname: 'description',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Description for the group',\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Membership Rule',\n\t\t\t\tname: 'membershipRule',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'The <a href=\"https://learn.microsoft.com/en-us/entra/identity/users/groups-dynamic-membership\">dynamic membership rules</a>',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'/membershipType': ['DynamicMembership'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tplaceholder: 'e.g. user.department -eq \"Marketing\"',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'membershipRule',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Membership Rule Processing State',\n\t\t\t\tname: 'membershipRuleProcessingState',\n\t\t\t\tdefault: 'On',\n\t\t\t\tdescription: 'Indicates whether the dynamic membership processing is on or paused',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'/membershipType': ['DynamicMembership'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'On',\n\t\t\t\t\t\tvalue: 'On',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Paused',\n\t\t\t\t\t\tvalue: 'Paused',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'membershipRuleProcessingState',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'options',\n\t\t\t\tvalidateType: 'options',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Preferred Data Location',\n\t\t\t\tname: 'preferredDataLocation',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'A property set for the group that Office 365 services use to provision the corresponding data-at-rest resources (mailbox, OneDrive, groups sites, and so on)',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'/groupType': ['Unified'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Unique Name',\n\t\t\t\tname: 'uniqueName',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'The unique identifier for the group, can only be updated if null, and is immutable once set',\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Visibility',\n\t\t\t\tname: 'visibility',\n\t\t\t\tdefault: 'Public',\n\t\t\t\tdescription: 'Specifies the visibility of the group',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Private',\n\t\t\t\t\t\tvalue: 'Private',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Public',\n\t\t\t\t\t\tvalue: 'Public',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\ttype: 'options',\n\t\t\t\tvalidateType: 'options',\n\t\t\t},\n\t\t],\n\t\tplaceholder: 'Add Field',\n\t\trouting: {\n\t\t\toutput: {\n\t\t\t\tpostReceive: [\n\t\t\t\t\tasync function (\n\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\titems: INodeExecutionData[],\n\t\t\t\t\t\t_response: IN8nHttpFullResponse,\n\t\t\t\t\t): Promise<INodeExecutionData[]> {\n\t\t\t\t\t\tfor (const item of items) {\n\t\t\t\t\t\t\tconst groupId = item.json.id as string;\n\t\t\t\t\t\t\tconst fields = this.getNodeParameter('additionalFields', item.index) as IDataObject;\n\t\t\t\t\t\t\tdelete fields.isAssignableToRole;\n\t\t\t\t\t\t\tdelete fields.membershipRule;\n\t\t\t\t\t\t\tdelete fields.membershipRuleProcessingState;\n\t\t\t\t\t\t\tif (Object.keys(fields).length) {\n\t\t\t\t\t\t\t\tconst body: IDataObject = {\n\t\t\t\t\t\t\t\t\t...fields,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tif (body.assignedLabels) {\n\t\t\t\t\t\t\t\t\tbody.assignedLabels = [(body.assignedLabels as IDataObject).labelValues];\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait microsoftApiRequest.call(this, 'PATCH', `/groups/${groupId}`, body);\n\t\t\t\t\t\t\t\t\tmerge(item.json, body);\n\t\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tawait microsoftApiRequest.call(this, 'DELETE', `/groups/${groupId}`);\n\t\t\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn items;\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\ttype: 'collection',\n\t},\n];\n\nconst deleteFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Group to Delete',\n\t\tname: 'group',\n\t\tdefault: {\n\t\t\tmode: 'list',\n\t\t\tvalue: '',\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['delete'],\n\t\t\t},\n\t\t},\n\t\tmodes: [\n\t\t\t{\n\t\t\t\tdisplayName: 'From List',\n\t\t\t\tname: 'list',\n\t\t\t\ttype: 'list',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tsearchListMethod: 'getGroups',\n\t\t\t\t\tsearchable: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'By ID',\n\t\t\t\tname: 'id',\n\t\t\t\tplaceholder: 'e.g. 02bd9fd6-8f93-4758-87c3-1fb73740a315',\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t],\n\t\trequired: true,\n\t\ttype: 'resourceLocator',\n\t},\n];\n\nconst getFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Group to Get',\n\t\tname: 'group',\n\t\tdefault: {\n\t\t\tmode: 'list',\n\t\t\tvalue: '',\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['get'],\n\t\t\t},\n\t\t},\n\t\tmodes: [\n\t\t\t{\n\t\t\t\tdisplayName: 'From List',\n\t\t\t\tname: 'list',\n\t\t\t\ttype: 'list',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tsearchListMethod: 'getGroups',\n\t\t\t\t\tsearchable: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'By ID',\n\t\t\t\tname: 'id',\n\t\t\t\tplaceholder: 'e.g. 02bd9fd6-8f93-4758-87c3-1fb73740a315',\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t],\n\t\trequired: true,\n\t\ttype: 'resourceLocator',\n\t},\n\t{\n\t\tdisplayName: 'Output',\n\t\tname: 'output',\n\t\tdefault: 'simple',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['get'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Simplified',\n\t\t\t\tvalue: 'simple',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: '$select',\n\t\t\t\t\t\ttype: 'query',\n\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\t'id,createdDateTime,description,displayName,mail,mailEnabled,mailNickname,securityEnabled,securityIdentifier,visibility',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Raw',\n\t\t\t\tvalue: 'raw',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Selected Fields',\n\t\t\t\tvalue: 'fields',\n\t\t\t},\n\t\t],\n\t\ttype: 'options',\n\t},\n\t{\n\t\t// eslint-disable-next-line n8n-nodes-base/node-param-display-name-wrong-for-dynamic-multi-options\n\t\tdisplayName: 'Fields',\n\t\tname: 'fields',\n\t\tdefault: [],\n\t\t// eslint-disable-next-line n8n-nodes-base/node-param-description-wrong-for-dynamic-multi-options\n\t\tdescription: 'The fields to add to the output',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['get'],\n\t\t\t\toutput: ['fields'],\n\t\t\t},\n\t\t},\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: '$select',\n\t\t\t\ttype: 'query',\n\t\t\t\tvalue: '={{ $value.concat(\"id\").join(\",\") }}',\n\t\t\t},\n\t\t},\n\t\ttypeOptions: {\n\t\t\tloadOptionsMethod: 'getGroupProperties',\n\t\t},\n\t\ttype: 'multiOptions',\n\t},\n\t{\n\t\tdisplayName: 'Options',\n\t\tname: 'options',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['get'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Include Members',\n\t\t\t\tname: 'includeMembers',\n\t\t\t\tdefault: false,\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: '$expand',\n\t\t\t\t\t\ttype: 'query',\n\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\t'={{ $value ? \"members($select=id,accountEnabled,createdDateTime,displayName,employeeId,mail,securityIdentifier,userPrincipalName,userType)\" : undefined }}',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'boolean',\n\t\t\t\tvalidateType: 'boolean',\n\t\t\t},\n\t\t],\n\t\tplaceholder: 'Add Option',\n\t\ttype: 'collection',\n\t},\n];\n\nconst getAllFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Return All',\n\t\tname: 'returnAll',\n\t\tdefault: false,\n\t\tdescription: 'Whether to return all results or only up to a given limit',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tpaginate: '={{ $value }}',\n\t\t\t},\n\t\t\toperations: {\n\t\t\t\tpagination: {\n\t\t\t\t\ttype: 'generic',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tcontinue: '={{ !!$response.body?.[\"@odata.nextLink\"] }}',\n\t\t\t\t\t\trequest: {\n\t\t\t\t\t\t\turl: '={{ $response.body?.[\"@odata.nextLink\"] ?? $request.url }}',\n\t\t\t\t\t\t\tqs: {\n\t\t\t\t\t\t\t\t$filter:\n\t\t\t\t\t\t\t\t\t'={{ !!$response.body?.[\"@odata.nextLink\"] ? undefined : $request.qs?.$filter }}',\n\t\t\t\t\t\t\t\t$select:\n\t\t\t\t\t\t\t\t\t'={{ !!$response.body?.[\"@odata.nextLink\"] ? undefined : $request.qs?.$select }}',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\ttype: 'boolean',\n\t},\n\t{\n\t\tdisplayName: 'Limit',\n\t\tname: 'limit',\n\t\tdefault: 50,\n\t\tdescription: 'Max number of results to return',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t\treturnAll: [false],\n\t\t\t},\n\t\t},\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: '$top',\n\t\t\t\ttype: 'query',\n\t\t\t\tvalue: '={{ $value }}',\n\t\t\t},\n\t\t},\n\t\ttype: 'number',\n\t\ttypeOptions: {\n\t\t\tminValue: 1,\n\t\t},\n\t\tvalidateType: 'number',\n\t},\n\t{\n\t\tdisplayName: 'Filter',\n\t\tname: 'filter',\n\t\tdefault: '',\n\t\tdescription:\n\t\t\t'<a href=\"https://docs.microsoft.com/en-us/graph/query-parameters#filter-parameter\">Query parameter</a> to filter results by',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\thint: 'If empty, all the groups will be returned',\n\t\tplaceholder: \"e.g. startswith(displayName, 'a')\",\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: '$filter',\n\t\t\t\ttype: 'query',\n\t\t\t\tvalue: '={{ $value ? $value : undefined }}',\n\t\t\t},\n\t\t},\n\t\ttype: 'string',\n\t\tvalidateType: 'string',\n\t},\n\t{\n\t\tdisplayName: 'Output',\n\t\tname: 'output',\n\t\tdefault: 'simple',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Simplified',\n\t\t\t\tvalue: 'simple',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: '$select',\n\t\t\t\t\t\ttype: 'query',\n\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\t'id,createdDateTime,description,displayName,mail,mailEnabled,mailNickname,securityEnabled,securityIdentifier,visibility',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Raw',\n\t\t\t\tvalue: 'raw',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Selected Fields',\n\t\t\t\tvalue: 'fields',\n\t\t\t},\n\t\t],\n\t\ttype: 'options',\n\t},\n\t{\n\t\t// eslint-disable-next-line n8n-nodes-base/node-param-display-name-wrong-for-dynamic-multi-options\n\t\tdisplayName: 'Fields',\n\t\tname: 'fields',\n\t\tdefault: [],\n\t\t// eslint-disable-next-line n8n-nodes-base/node-param-description-wrong-for-dynamic-multi-options\n\t\tdescription: 'The fields to add to the output',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t\toutput: ['fields'],\n\t\t\t},\n\t\t},\n\t\trouting: {\n\t\t\tsend: {\n\t\t\t\tproperty: '$select',\n\t\t\t\ttype: 'query',\n\t\t\t\tvalue: '={{ $value.concat(\"id\").join(\",\") }}',\n\t\t\t},\n\t\t},\n\t\ttypeOptions: {\n\t\t\tloadOptionsMethod: 'getGroupPropertiesGetAll',\n\t\t},\n\t\ttype: 'multiOptions',\n\t},\n];\n\nconst updateFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Group to Update',\n\t\tname: 'group',\n\t\tdefault: {\n\t\t\tmode: 'list',\n\t\t\tvalue: '',\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['update'],\n\t\t\t},\n\t\t},\n\t\tmodes: [\n\t\t\t{\n\t\t\t\tdisplayName: 'From List',\n\t\t\t\tname: 'list',\n\t\t\t\ttype: 'list',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tsearchListMethod: 'getGroups',\n\t\t\t\t\tsearchable: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'By ID',\n\t\t\t\tname: 'id',\n\t\t\t\tplaceholder: 'e.g. 02bd9fd6-8f93-4758-87c3-1fb73740a315',\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t],\n\t\trequired: true,\n\t\ttype: 'resourceLocator',\n\t},\n\t{\n\t\tdisplayName: 'Update Fields',\n\t\tname: 'updateFields',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['group'],\n\t\t\t\toperation: ['update'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Allow External Senders',\n\t\t\t\tname: 'allowExternalSenders',\n\t\t\t\tdefault: false,\n\t\t\t\tdescription:\n\t\t\t\t\t'Whether people external to the organization can send messages to the group. Wait a few seconds before editing this field in a newly created group.',\n\t\t\t\ttype: 'boolean',\n\t\t\t\tvalidateType: 'boolean',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Auto Subscribe New Members',\n\t\t\t\tname: 'autoSubscribeNewMembers',\n\t\t\t\tdefault: false,\n\t\t\t\tdescription:\n\t\t\t\t\t'Whether new members added to the group will be auto-subscribed to receive email notifications. Wait a few seconds before editing this field in a newly created group.',\n\t\t\t\ttype: 'boolean',\n\t\t\t\tvalidateType: 'boolean',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Description',\n\t\t\t\tname: 'description',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'Description for the group',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'description',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Group Name',\n\t\t\t\tname: 'displayName',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'The name to display in the address book for the group',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'displayName',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t\tpreSend: [\n\t\t\t\t\t\t\tasync function (\n\t\t\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\t\t\tconst displayName = this.getNodeParameter('updateFields.displayName') as string;\n\t\t\t\t\t\t\t\tif (displayName?.length > 256) {\n\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t\"'Display Name' should have a maximum length of 256\",\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Group Email Address',\n\t\t\t\tname: 'mailNickname',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription: 'The mail alias for the group. Only enter the local-part without the domain.',\n\t\t\t\tplaceholder: 'e.g. alias',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'mailNickname',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t\tpreSend: [\n\t\t\t\t\t\t\tasync function (\n\t\t\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\t\t\trequestOptions: IHttpRequestOptions,\n\t\t\t\t\t\t\t): Promise<IHttpRequestOptions> {\n\t\t\t\t\t\t\t\tconst mailNickname = this.getNodeParameter('updateFields.mailNickname') as string;\n\t\t\t\t\t\t\t\tif (mailNickname?.includes('@')) {\n\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t`'Group Email Address' should only include the local-part of the email address, without ${mailNickname.slice(mailNickname.indexOf('@'))}`,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (mailNickname?.length > 64) {\n\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t\"'Group Email Address' should have a maximum length of 64\",\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (mailNickname && !/^((?![@()\\[\\]\"\\\\;:<> ,])[\\x00-\\x7F])*$/.test(mailNickname)) {\n\t\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t\t\"'Group Email Address' should only contain characters in the ASCII character set 0 - 127 except the following: @ () \\\\ [] \\\" ; : <> , SPACE\",\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn requestOptions;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Membership Rule',\n\t\t\t\tname: 'membershipRule',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'The <a href=\"https://learn.microsoft.com/en-us/entra/identity/users/groups-dynamic-membership\">dynamic membership rules</a>',\n\t\t\t\tplaceholder: 'e.g. user.department -eq \"Marketing\"',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'membershipRule',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Membership Rule Processing State',\n\t\t\t\tname: 'membershipRuleProcessingState',\n\t\t\t\tdefault: 'On',\n\t\t\t\tdescription: 'Indicates whether the dynamic membership processing is on or paused',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'On',\n\t\t\t\t\t\tvalue: 'On',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Paused',\n\t\t\t\t\t\tvalue: 'Paused',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'membershipRuleProcessingState',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'options',\n\t\t\t\tvalidateType: 'options',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Preferred Data Location',\n\t\t\t\tname: 'preferredDataLocation',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'A property set for the group that Office 365 services use to provision the corresponding data-at-rest resources (mailbox, OneDrive, groups sites, and so on)',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'preferredDataLocation',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Security Enabled',\n\t\t\t\tname: 'securityEnabled',\n\t\t\t\tdefault: true,\n\t\t\t\tdescription: 'Whether the group is a security group',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'securityEnabled',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'boolean',\n\t\t\t\tvalidateType: 'boolean',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Unique Name',\n\t\t\t\tname: 'uniqueName',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'The unique identifier for the group, can only be updated if null, and is immutable once set',\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'uniqueName',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'string',\n\t\t\t\tvalidateType: 'string',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Visibility',\n\t\t\t\tname: 'visibility',\n\t\t\t\tdefault: 'Public',\n\t\t\t\tdescription: 'Specifies the visibility of the group',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Private',\n\t\t\t\t\t\tvalue: 'Private',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Public',\n\t\t\t\t\t\tvalue: 'Public',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\trouting: {\n\t\t\t\t\tsend: {\n\t\t\t\t\t\tproperty: 'visibility',\n\t\t\t\t\t\ttype: 'body',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: 'options',\n\t\t\t\tvalidateType: 'options',\n\t\t\t},\n\t\t],\n\t\tplaceholder: 'Add Field',\n\t\trouting: {\n\t\t\toutput: {\n\t\t\t\tpostReceive: [\n\t\t\t\t\tasync function (\n\t\t\t\t\t\tthis: IExecuteSingleFunctions,\n\t\t\t\t\t\titems: INodeExecutionData[],\n\t\t\t\t\t\t_response: IN8nHttpFullResponse,\n\t\t\t\t\t): Promise<INodeExecutionData[]> {\n\t\t\t\t\t\tfor (const item of items) {\n\t\t\t\t\t\t\tconst groupId = this.getNodeParameter('group.value', item.index) as string;\n\t\t\t\t\t\t\tconst fields = this.getNodeParameter('updateFields', item.index) as IDataObject;\n\t\t\t\t\t\t\t// To update the following properties, you must specify them in their own PATCH request, without including the other properties\n\t\t\t\t\t\t\tconst separateProperties = [\n\t\t\t\t\t\t\t\t'allowExternalSenders',\n\t\t\t\t\t\t\t\t'autoSubscribeNewMembers',\n\t\t\t\t\t\t\t\t// 'hideFromAddressLists',\n\t\t\t\t\t\t\t\t// 'hideFromOutlookClients',\n\t\t\t\t\t\t\t\t// 'isSubscribedByMail',\n\t\t\t\t\t\t\t\t// 'unseenCount',\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tconst separateFields = Object.keys(fields)\n\t\t\t\t\t\t\t\t.filter((key) => separateProperties.includes(key))\n\t\t\t\t\t\t\t\t.reduce((obj, key) => {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t...obj,\n\t\t\t\t\t\t\t\t\t\t[key]: fields[key],\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t}, {});\n\t\t\t\t\t\t\tif (Object.keys(separateFields).length) {\n\t\t\t\t\t\t\t\tconst body: IDataObject = {\n\t\t\t\t\t\t\t\t\t...separateFields,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tawait microsoftApiRequest.call(this, 'PATCH', `/groups/${groupId}`, body);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn items;\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\ttype: 'collection',\n\t},\n];\n\nexport const groupFields: INodeProperties[] = [\n\t...createFields,\n\t...deleteFields,\n\t...getFields,\n\t...getAllFields,\n\t...updateFields,\n];\n"],"mappings":"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","names":["merge"]}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
  var UserDescription_exports = {};
20
30
  __export(UserDescription_exports, {
@@ -22,7 +32,7 @@ __export(UserDescription_exports, {
22
32
  userOperations: () => userOperations
23
33
  });
24
34
  module.exports = __toCommonJS(UserDescription_exports);
25
- var import_lodash = require("lodash");
35
+ var import_merge = __toESM(require("lodash/merge"));
26
36
  var import_n8n_workflow = require("n8n-workflow");
27
37
  var import_GenericFunctions = require("../GenericFunctions");
28
38
  const userOperations = [
@@ -890,11 +900,11 @@ const createFields = [
890
900
  try {
891
901
  if (Object.keys(separateBody).length) {
892
902
  await import_GenericFunctions.microsoftApiRequest.call(this, "PATCH", `/users/${userId}`, separateBody);
893
- (0, import_lodash.merge)(item.json, separateBody);
903
+ (0, import_merge.default)(item.json, separateBody);
894
904
  }
895
905
  if (Object.keys(body).length) {
896
906
  await import_GenericFunctions.microsoftApiRequest.call(this, "PATCH", `/users/${userId}`, body);
897
- (0, import_lodash.merge)(item.json, body);
907
+ (0, import_merge.default)(item.json, body);
898
908
  }
899
909
  } catch (error) {
900
910
  try {