diff options
Diffstat (limited to 'packages/wekan-ldap/server/syncUser.js')
-rw-r--r-- | packages/wekan-ldap/server/syncUser.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/packages/wekan-ldap/server/syncUser.js b/packages/wekan-ldap/server/syncUser.js new file mode 100644 index 00000000..763ea836 --- /dev/null +++ b/packages/wekan-ldap/server/syncUser.js @@ -0,0 +1,29 @@ +import {importNewUsers} from './sync'; +import LDAP from './ldap'; + +Meteor.methods({ + ldap_sync_now() { + const user = Meteor.user(); + if (!user) { + throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'ldap_sync_users' }); + } + + //TODO: This needs to be fixed - security issue -> alanning:meteor-roles + //if (!RocketChat.authz.hasRole(user._id, 'admin')) { + // throw new Meteor.Error('error-not-authorized', 'Not authorized', { method: 'ldap_sync_users' }); + //} + + if (LDAP.settings_get('LDAP_ENABLE') !== true) { + throw new Meteor.Error('LDAP_disabled'); + } + + this.unblock(); + + importNewUsers(); + + return { + message: 'Sync_in_progress', + params: [], + }; + }, +}); |