migme-seagull
Version:
Migme Chat
84 lines (72 loc) • 2.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = Contacts;
var _dinghy = require('./utils/dinghy');
var _dinghy2 = _interopRequireDefault(_dinghy);
var _migmeFerry = require('migme-ferry');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Contacts
* @requires module:migme/ferry
*/
function Contacts() {
var dinghy = (0, _dinghy2.default)();
return {
/**
* Get contacts
* @return {Promise}
* @example
* contacts.list().then(res => {})
*/
list: function list() {
var _ref = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
var contact_id = _ref.contact_id;
var presence = _ref.presence;
var packet = new _migmeFerry.Packet(_migmeFerry.PacketType.GET_CONTACTS, {
contact_id: contact_id,
presence: presence
});
return dinghy.send(packet, _migmeFerry.PacketType.GET_CONTACTS_COMPLETE);
},
addGroup: function addGroup(group_name) {
if (typeof group_name !== 'string') {
throw new Error('You need to pass in a group name');
}
var packet = new _migmeFerry.Packet(_migmeFerry.PacketType.ADD_GROUP, { group_name: group_name });
return dinghy.send(packet);
},
removeGroup: function removeGroup(group_id) {
if (!group_id) {
throw new Error('You need to pass in a group id');
}
var packet = new _migmeFerry.Packet(_migmeFerry.PacketType.REMOVE_GROUP, { group_id: group_id });
return dinghy.send(packet);
},
updateGroup: function updateGroup(group_id, group_name) {
if (!group_id || !group_name) {
throw new Error('You need to pass in a group id and group name');
}
var packet = new _migmeFerry.Packet(_migmeFerry.PacketType.UPDATE_GROUP, {
group_id: group_id,
group_name: group_name
});
return dinghy.send(packet);
},
move: function move(contact_id, group_id) {
if (!contact_id || !group_id) {
throw new Error('You need to pass in a user id and group id');
}
var packet = new _migmeFerry.Packet(_migmeFerry.PacketType.MOVE_CONTACT, {
contact_id: contact_id,
group_id: group_id
});
return dinghy.send(packet);
},
get dinghy() {
return dinghy;
}
};
}
module.exports = exports['default'];