diff --git a/packages/nodes-base/nodes/Google/GSuiteAdmin/GSuiteAdmin.node.ts b/packages/nodes-base/nodes/Google/GSuiteAdmin/GSuiteAdmin.node.ts index 54d1e2978ac13..20d770ad2affe 100644 --- a/packages/nodes-base/nodes/Google/GSuiteAdmin/GSuiteAdmin.node.ts +++ b/packages/nodes-base/nodes/Google/GSuiteAdmin/GSuiteAdmin.node.ts @@ -437,20 +437,19 @@ export class GSuiteAdmin implements INodeType { } if (additionalFields.roles) { - const roles = (additionalFields.roles as IDataObject).rolesValues as IDataObject; - + const roles = additionalFields.roles as string[]; body.roles = { - superAdmin: Boolean(roles.superAdmin), - groupsAdmin: Boolean(roles.groupsAdmin), - groupsReader: Boolean(roles.groupsReader), - groupsEditor: Boolean(roles.groupsEditor), - userManagement: Boolean(roles.userManagement), - helpDeskAdmin: Boolean(roles.helpDeskAdmin), - servicesAdmin: Boolean(roles.servicesAdmin), - inventoryReportingAdmin: Boolean(roles.inventoryReportingAdmin), - storageAdmin: Boolean(roles.storageAdmin), - directorySyncAdmin: Boolean(roles.directorySyncAdmin), - mobileAdmin: Boolean(roles.mobileAdmin), + superAdmin: roles.includes('superAdmin'), + groupsAdmin: roles.includes('groupsAdmin'), + groupsReader: roles.includes('groupsReader'), + groupsEditor: roles.includes('groupsEditor'), + userManagement: roles.includes('userManagement'), + helpDeskAdmin: roles.includes('helpDeskAdmin'), + servicesAdmin: roles.includes('servicesAdmin'), + inventoryReportingAdmin: roles.includes('inventoryReportingAdmin'), + storageAdmin: roles.includes('storageAdmin'), + directorySyncAdmin: roles.includes('directorySyncAdmin'), + mobileAdmin: roles.includes('mobileAdmin'), }; } @@ -725,20 +724,20 @@ export class GSuiteAdmin implements INodeType { } if (updateFields.roles) { - const roles = (updateFields.roles as IDataObject).rolesValues as IDataObject; + const roles = updateFields.roles as string[]; body.roles = { - superAdmin: Boolean(roles.superAdmin), - groupsAdmin: Boolean(roles.groupsAdmin), - groupsReader: Boolean(roles.groupsReader), - groupsEditor: Boolean(roles.groupsEditor), - userManagement: Boolean(roles.userManagement), - helpDeskAdmin: Boolean(roles.helpDeskAdmin), - servicesAdmin: Boolean(roles.servicesAdmin), - inventoryReportingAdmin: Boolean(roles.inventoryReportingAdmin), - storageAdmin: Boolean(roles.storageAdmin), - directorySyncAdmin: Boolean(roles.directorySyncAdmin), - mobileAdmin: Boolean(roles.mobileAdmin), + superAdmin: roles.includes('superAdmin'), + groupsAdmin: roles.includes('groupsAdmin'), + groupsReader: roles.includes('groupsReader'), + groupsEditor: roles.includes('groupsEditor'), + userManagement: roles.includes('userManagement'), + helpDeskAdmin: roles.includes('helpDeskAdmin'), + servicesAdmin: roles.includes('servicesAdmin'), + inventoryReportingAdmin: roles.includes('inventoryReportingAdmin'), + storageAdmin: roles.includes('storageAdmin'), + directorySyncAdmin: roles.includes('directorySyncAdmin'), + mobileAdmin: roles.includes('mobileAdmin'), }; } diff --git a/packages/nodes-base/nodes/Google/GSuiteAdmin/UserDescription.ts b/packages/nodes-base/nodes/Google/GSuiteAdmin/UserDescription.ts index 79560381e0313..5386a6f652536 100644 --- a/packages/nodes-base/nodes/Google/GSuiteAdmin/UserDescription.ts +++ b/packages/nodes-base/nodes/Google/GSuiteAdmin/UserDescription.ts @@ -422,96 +422,64 @@ export const userFields: INodeProperties[] = [ { displayName: 'Roles', name: 'roles', - type: 'fixedCollection', - placeholder: 'Assign Roles', - typeOptions: { - multipleValues: false, - }, - default: {}, + type: 'multiOptions', + default: [], description: 'Select the roles you want to assign to the user', options: [ { - name: 'rolesValues', - displayName: 'Roles', - values: [ - { - displayName: 'Super Admin', - name: 'superAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Super Admin role', - }, - { - displayName: 'Groups Admin', - name: 'groupsAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Groups Admin role', - }, - { - displayName: 'Groups Reader', - name: 'groupsReader', - type: 'boolean', - default: false, - description: 'Whether Assign Groups Reader role', - }, - { - displayName: 'Groups Editor', - name: 'groupsEditor', - type: 'boolean', - default: false, - description: 'Whether Assign Groups Editor role', - }, - { - displayName: 'User Management', - name: 'userManagement', - type: 'boolean', - default: false, - description: 'Whether Assign User Management role', - }, - { - displayName: 'Help Desk Admin', - name: 'helpDeskAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Help Desk Admin role', - }, - { - displayName: 'Services Admin', - name: 'servicesAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Services Admin role', - }, - { - displayName: 'Inventory Reporting Admin', - name: 'inventoryReportingAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Inventory Reporting Admin role', - }, - { - displayName: 'Storage Admin', - name: 'storageAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Storage Admin role', - }, - { - displayName: 'Directory Sync Admin', - name: 'directorySyncAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Directory Sync Admin role', - }, - { - displayName: 'Mobile Admin', - name: 'mobileAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Mobile Admin role', - }, - ], + name: 'Directory Sync Admin', + value: 'directorySyncAdmin', + description: 'Whether to assign the Directory Sync Admin role', + }, + { + name: 'Groups Admin', + value: 'groupsAdmin', + description: 'Whether to assign the Groups Admin role', + }, + { + name: 'Groups Editor', + value: 'groupsEditor', + description: 'Whether to assign the Groups Editor role', + }, + { + name: 'Groups Reader', + value: 'groupsReader', + description: 'Whether to assign the Groups Reader role', + }, + { + name: 'Help Desk Admin', + value: 'helpDeskAdmin', + description: 'Whether to assign the Help Desk Admin role', + }, + { + name: 'Inventory Reporting Admin', + value: 'inventoryReportingAdmin', + description: 'Whether to assign the Inventory Reporting Admin role', + }, + { + name: 'Mobile Admin', + value: 'mobileAdmin', + description: 'Whether to assign the Mobile Admin role', + }, + { + name: 'Services Admin', + value: 'servicesAdmin', + description: 'Whether to assign the Services Admin role', + }, + { + name: 'Storage Admin', + value: 'storageAdmin', + description: 'Whether to assign the Storage Admin role', + }, + { + name: 'Super Admin', + value: 'superAdmin', + description: 'Whether to assign the Super Admin role', + }, + { + name: 'User Management', + value: 'userManagement', + description: 'Whether to assign the User Management role', }, ], }, @@ -1408,96 +1376,64 @@ export const userFields: INodeProperties[] = [ { displayName: 'Roles', name: 'roles', - type: 'fixedCollection', - placeholder: 'Assign Roles', - typeOptions: { - multipleValues: false, - }, - default: {}, + type: 'multiOptions', + default: [], description: 'Select the roles you want to assign to the user', options: [ { - name: 'rolesValues', - displayName: 'Roles', - values: [ - { - displayName: 'Super Admin', - name: 'superAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Super Admin role', - }, - { - displayName: 'Groups Admin', - name: 'groupsAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Groups Admin role', - }, - { - displayName: 'Groups Reader', - name: 'groupsReader', - type: 'boolean', - default: false, - description: 'Whether Assign Groups Reader role', - }, - { - displayName: 'Groups Editor', - name: 'groupsEditor', - type: 'boolean', - default: false, - description: 'Whether Assign Groups Editor role', - }, - { - displayName: 'User Management', - name: 'userManagement', - type: 'boolean', - default: false, - description: 'Whether Assign User Management role', - }, - { - displayName: 'Help Desk Admin', - name: 'helpDeskAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Help Desk Admin role', - }, - { - displayName: 'Services Admin', - name: 'servicesAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Services Admin role', - }, - { - displayName: 'Inventory Reporting Admin', - name: 'inventoryReportingAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Inventory Reporting Admin role', - }, - { - displayName: 'Storage Admin', - name: 'storageAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Storage Admin role', - }, - { - displayName: 'Directory Sync Admin', - name: 'directorySyncAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Directory Sync Admin role', - }, - { - displayName: 'Mobile Admin', - name: 'mobileAdmin', - type: 'boolean', - default: false, - description: 'Whether Assign Mobile Admin role', - }, - ], + name: 'Directory Sync Admin', + value: 'directorySyncAdmin', + description: 'Whether Assign Directory Sync Admin role', + }, + { + name: 'Groups Admin', + value: 'groupsAdmin', + description: 'Whether Assign Groups Admin role', + }, + { + name: 'Groups Editor', + value: 'groupsEditor', + description: 'Whether Assign Groups Editor role', + }, + { + name: 'Groups Reader', + value: 'groupsReader', + description: 'Whether Assign Groups Reader role', + }, + { + name: 'Help Desk Admin', + value: 'helpDeskAdmin', + description: 'Whether Assign Help Desk Admin role', + }, + { + name: 'Inventory Reporting Admin', + value: 'inventoryReportingAdmin', + description: 'Whether Assign Inventory Reporting Admin role', + }, + { + name: 'Mobile Admin', + value: 'mobileAdmin', + description: 'Whether Assign Mobile Admin role', + }, + { + name: 'Services Admin', + value: 'servicesAdmin', + description: 'Whether Assign Services Admin role', + }, + { + name: 'Storage Admin', + value: 'storageAdmin', + description: 'Whether Assign Storage Admin role', + }, + { + name: 'Super Admin', + value: 'superAdmin', + description: 'Whether Assign Super Admin role', + }, + { + name: 'User Management', + value: 'userManagement', + description: 'Whether Assign User Management role', }, ], },