/** * Base class for user synchronizators. * * @property {Array} $ * @property {Object} accountConfig * @property {Object} mailConfig */ class SyncConnector { /** * Initalizes the connector. */ async init() { return true; } /** * Get users to synchronize. * * @param {Set} usersToSync Set where users are added */ async getUsers(usersToSync) {} /** * Synchronizes a user. * * @param {Object} info User information * @param {String} userName The user name * @param {String} password Thepassword */ async sync(info, userName, password) {} /** * Synchronizes user groups. * * @param {User} user Instace of user * @param {String} userName The user name */ async syncGroups(user, userName) {} /** * Synchronizes roles. */ async syncRoles() {} /** * Deinitalizes the connector. */ async deinit() {} } SyncConnector.connectors = []; module.exports = SyncConnector;