Skip to content

Commit

Permalink
fix roles as multi-options component
Browse files Browse the repository at this point in the history
  • Loading branch information
Stamsy committed Feb 5, 2025
1 parent e2bbb46 commit 3625f4e
Show file tree
Hide file tree
Showing 2 changed files with 134 additions and 199 deletions.
49 changes: 24 additions & 25 deletions packages/nodes-base/nodes/Google/GSuiteAdmin/GSuiteAdmin.node.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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'),
};
}

Expand Down Expand Up @@ -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'),
};
}

Expand Down
284 changes: 110 additions & 174 deletions packages/nodes-base/nodes/Google/GSuiteAdmin/UserDescription.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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',
},
],
},
Expand Down Expand Up @@ -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',
},
],
},
Expand Down

0 comments on commit 3625f4e

Please sign in to comment.