2018-12-18 17:32:00 +08:00
|
|
|
import io from 'socket.io-client';
|
2018-12-20 17:48:27 +08:00
|
|
|
import { name, username, contactEmail, seafileCollabServer } from './constants';
|
2018-12-18 17:32:00 +08:00
|
|
|
|
2018-12-25 10:59:55 +08:00
|
|
|
const socket = (seafileCollabServer !== '') ? io(seafileCollabServer) : undefined;
|
2018-12-18 17:32:00 +08:00
|
|
|
|
|
|
|
class CollabServer {
|
|
|
|
|
2018-12-20 17:48:27 +08:00
|
|
|
watchRepo(repoID, fn) {
|
2018-12-25 10:59:55 +08:00
|
|
|
if (!socket) {
|
|
|
|
return;
|
|
|
|
}
|
2018-12-18 17:32:00 +08:00
|
|
|
socket.emit('repo_update', {
|
|
|
|
request: 'watch_update',
|
|
|
|
repo_id: repoID,
|
|
|
|
user: {
|
|
|
|
name: name,
|
|
|
|
username: username,
|
|
|
|
contact_email: contactEmail,
|
|
|
|
},
|
|
|
|
});
|
2019-01-05 15:22:08 +08:00
|
|
|
socket.on('repo_update', fn);
|
2018-12-18 17:32:00 +08:00
|
|
|
}
|
|
|
|
|
2019-01-05 15:22:08 +08:00
|
|
|
unwatchRepo(repoID, fn) {
|
2018-12-25 10:59:55 +08:00
|
|
|
if (!socket) {
|
|
|
|
return;
|
|
|
|
}
|
2018-12-20 17:48:27 +08:00
|
|
|
socket.emit('repo_update', {
|
|
|
|
request: 'unwatch_update',
|
|
|
|
repo_id: repoID,
|
|
|
|
user: {
|
|
|
|
name: name,
|
|
|
|
username: username,
|
|
|
|
contact_email: contactEmail,
|
|
|
|
},
|
|
|
|
});
|
2019-01-05 15:22:08 +08:00
|
|
|
socket.off('repo_update', fn);
|
2018-12-18 17:32:00 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
const collabServer = new CollabServer();
|
|
|
|
|
|
|
|
export default collabServer;
|