Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/cvetdv.ru/bitrix/js/im/v2/provider/service/message/src/classes/ |
Upload File : |
import { RestClient } from 'rest.client'; import { Store } from 'ui.vue3.vuex'; import { Core } from 'im.v2.application.core'; import { Logger } from 'im.v2.lib.logger'; import { RestMethod } from 'im.v2.const'; export class PinService { #store: Store; #restClient: RestClient; constructor() { this.#store = Core.getStore(); this.#restClient = Core.getRestClient(); } pinMessage(chatId: number, messageId: number): void { Logger.warn(`Dialog: PinManager: pin message ${messageId}`); const payload = { chatId, messageId, }; void this.#store.dispatch('messages/pin/add', payload); this.#restClient.callMethod(RestMethod.imV2ChatMessagePin, { id: messageId }) .catch((result: RestResult) => { console.error('Dialog: PinManager: error pinning message', result.error()); void this.#store.dispatch('messages/pin/delete', payload); }); } unpinMessage(chatId: number, messageId: number): void { Logger.warn(`Dialog: PinManager: unpin message ${messageId}`); const payload = { chatId, messageId, }; void this.#store.dispatch('messages/pin/delete', payload); this.#restClient.callMethod(RestMethod.imV2ChatMessageUnpin, { id: messageId }) .catch((result: RestResult) => { console.error('Dialog: PinManager: error unpinning message', result.error()); void this.#store.dispatch('messages/pin/add', payload); }); } }