53 lines
1.0 KiB
JavaScript
53 lines
1.0 KiB
JavaScript
/**
|
|
* Base class for user synchronizators.
|
|
*
|
|
* @property {Array<Model>} $
|
|
* @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;
|