@hsaadawy/ngx-chat
Version:
37 lines • 5.31 kB
JavaScript
import { __awaiter } from "tslib";
import { xml } from '@xmpp/client';
import { AbstractXmppPlugin } from './abstract-xmpp-plugin';
/**
* xep-0357
*/
export class PushPlugin extends AbstractXmppPlugin {
constructor(xmppChatAdapter, serviceDiscoveryPlugin) {
super();
this.xmppChatAdapter = xmppChatAdapter;
this.serviceDiscoveryPlugin = serviceDiscoveryPlugin;
}
register(node, jid) {
return __awaiter(this, void 0, void 0, function* () {
if (!jid) {
const service = yield this.getPushServiceComponent();
jid = service.jid;
}
return yield this.xmppChatAdapter.chatConnectionService.sendIq(xml('iq', { type: 'set' }, xml('enable', { xmlns: 'urn:xmpp:push:0', jid, node })));
});
}
getPushServiceComponent() {
return __awaiter(this, void 0, void 0, function* () {
return yield this.serviceDiscoveryPlugin.findService('pubsub', 'push');
});
}
unregister(node, jid) {
return __awaiter(this, void 0, void 0, function* () {
if (!jid) {
const service = yield this.getPushServiceComponent();
jid = service.jid;
}
return yield this.xmppChatAdapter.chatConnectionService.sendIq(xml('iq', { type: 'set' }, xml('disable', { xmlns: 'urn:xmpp:push:0', jid, node })));
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXp6bmV0d29yay9uZ3gtY2hhdC9zcmMvbGliL3NlcnZpY2VzL2FkYXB0ZXJzL3htcHAvcGx1Z2lucy9wdXNoLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVuQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUc1RDs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFXLFNBQVEsa0JBQWtCO0lBRTlDLFlBQ1ksZUFBZ0MsRUFDaEMsc0JBQThDO1FBRXRELEtBQUssRUFBRSxDQUFDO1FBSEEsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7SUFHMUQsQ0FBQztJQUVLLFFBQVEsQ0FBQyxJQUFZLEVBQUUsR0FBWTs7WUFDckMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDTixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2dCQUNyRCxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQzthQUNyQjtZQUNELE9BQU8sTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FDMUQsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsRUFDbkIsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FDdkQsQ0FDSixDQUFDO1FBQ04sQ0FBQztLQUFBO0lBRWEsdUJBQXVCOztZQUNqQyxPQUFPLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0UsQ0FBQztLQUFBO0lBRUssVUFBVSxDQUFDLElBQWEsRUFBRSxHQUFZOztZQUN4QyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNOLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7Z0JBQ3JELEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO2FBQ3JCO1lBQ0QsT0FBTyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUMxRCxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxFQUNuQixHQUFHLENBQUMsU0FBUyxFQUFFLEVBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUN4RCxDQUNKLENBQUM7UUFDTixDQUFDO0tBQUE7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHhtbCB9IGZyb20gJ0B4bXBwL2NsaWVudCc7XHJcbmltcG9ydCB7IFhtcHBDaGF0QWRhcHRlciB9IGZyb20gJy4uL3htcHAtY2hhdC1hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdFhtcHBQbHVnaW4gfSBmcm9tICcuL2Fic3RyYWN0LXhtcHAtcGx1Z2luJztcclxuaW1wb3J0IHsgU2VydmljZURpc2NvdmVyeVBsdWdpbiB9IGZyb20gJy4vc2VydmljZS1kaXNjb3ZlcnkucGx1Z2luJztcclxuXHJcbi8qKlxyXG4gKiB4ZXAtMDM1N1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFB1c2hQbHVnaW4gZXh0ZW5kcyBBYnN0cmFjdFhtcHBQbHVnaW4ge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgeG1wcENoYXRBZGFwdGVyOiBYbXBwQ2hhdEFkYXB0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBzZXJ2aWNlRGlzY292ZXJ5UGx1Z2luOiBTZXJ2aWNlRGlzY292ZXJ5UGx1Z2luLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZWdpc3Rlcihub2RlOiBzdHJpbmcsIGppZD86IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgaWYgKCFqaWQpIHtcclxuICAgICAgICAgICAgY29uc3Qgc2VydmljZSA9IGF3YWl0IHRoaXMuZ2V0UHVzaFNlcnZpY2VDb21wb25lbnQoKTtcclxuICAgICAgICAgICAgamlkID0gc2VydmljZS5qaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnhtcHBDaGF0QWRhcHRlci5jaGF0Q29ubmVjdGlvblNlcnZpY2Uuc2VuZElxKFxyXG4gICAgICAgICAgICB4bWwoJ2lxJywge3R5cGU6ICdzZXQnfSxcclxuICAgICAgICAgICAgICAgIHhtbCgnZW5hYmxlJywge3htbG5zOiAndXJuOnhtcHA6cHVzaDowJywgamlkLCBub2RlfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRQdXNoU2VydmljZUNvbXBvbmVudCgpIHtcclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5zZXJ2aWNlRGlzY292ZXJ5UGx1Z2luLmZpbmRTZXJ2aWNlKCdwdWJzdWInLCAncHVzaCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVucmVnaXN0ZXIobm9kZT86IHN0cmluZywgamlkPzogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBpZiAoIWppZCkge1xyXG4gICAgICAgICAgICBjb25zdCBzZXJ2aWNlID0gYXdhaXQgdGhpcy5nZXRQdXNoU2VydmljZUNvbXBvbmVudCgpO1xyXG4gICAgICAgICAgICBqaWQgPSBzZXJ2aWNlLmppZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMueG1wcENoYXRBZGFwdGVyLmNoYXRDb25uZWN0aW9uU2VydmljZS5zZW5kSXEoXHJcbiAgICAgICAgICAgIHhtbCgnaXEnLCB7dHlwZTogJ3NldCd9LFxyXG4gICAgICAgICAgICAgICAgeG1sKCdkaXNhYmxlJywge3htbG5zOiAndXJuOnhtcHA6cHVzaDowJywgamlkLCBub2RlfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==