The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/app/nextcloud/server/addWebdavServer.js

34 lines
982 B

import { Meteor } from 'meteor/meteor';
import { callbacks } from '../../callbacks';
import { settings } from '../../settings';
Meteor.startup(() => {
settings.get('Webdav_Integration_Enabled', (key, value) => {
if (value) {
return callbacks.add('afterValidateLogin', (login) => {
const { user } = login;
const { services } = user;
if (!services || !services.nextcloud) {
return;
}
const token = {
token_type: 'Bearer',
access_token: services.nextcloud.accessToken,
refresh_token: services.nextcloud.refreshToken,
};
const data = {
name: 'Nextcloud',
serverURL: `${ services.nextcloud.serverURL }/remote.php/webdav/`,
token,
};
try {
Meteor.runAsUser(user._id, () => Meteor.call('addWebdavAccountByToken', data));
} catch (error) {
console.log(error);
}
}, callbacks.priority.MEDIUM, 'add-webdav-server');
}
callbacks.remove('afterValidateLogin', 'add-webdav-server');
});
});