UNPKG

@bitrix24/b24jssdk

Version:

Bitrix24 REST API JavaScript SDK

78 lines (75 loc) 2.28 kB
/** * @package @bitrix24/b24jssdk * @version 1.0.3 * @copyright (c) 2026 Bitrix24 * @license MIT * @see https://github.com/bitrix24/b24jssdk * @see https://bitrix24.github.io/b24jssdk/ */ import { ApiVersion } from '../types/b24.mjs'; var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); class AuthHookManager { static { __name(this, "AuthHookManager"); } #b24HookParams; #domain; #b24TargetRest; #b24Target; #b24TargetRestWithPath; constructor(b24HookParams) { this.#b24HookParams = Object.freeze(Object.assign({}, b24HookParams)); this.#domain = this.#b24HookParams.b24Url.replaceAll("https://", "").replaceAll("http://", "").replace(/:(80|443)$/, ""); this.#b24TargetRest = `https://${this.#domain}/rest`; this.#b24Target = `https://${this.#domain}`; this.#b24TargetRestWithPath = /* @__PURE__ */ new Map(); this.#b24TargetRestWithPath.set(ApiVersion.v2, `${this.#b24TargetRest}/${this.#b24HookParams.userId}/${this.#b24HookParams.secret}`); this.#b24TargetRestWithPath.set(ApiVersion.v3, `${this.#b24TargetRest}/api/${this.#b24HookParams.userId}/${this.#b24HookParams.secret}`); } /** * @see Http.#prepareParams */ getAuthData() { return { access_token: this.#b24HookParams.secret, refresh_token: "hook", expires: 0, expires_in: 0, domain: this.#domain, member_id: this.#domain }; } refreshAuth() { return Promise.resolve(this.getAuthData()); } getUniq(prefix) { const authData = this.getAuthData(); if (authData === false) { throw new Error("AuthData not init"); } return [prefix, authData.member_id].join("_"); } /** * @inheritDoc */ getTargetOrigin() { return `${this.#b24Target}`; } /** * Get the account address BX24 with path * - ver2 `https://your_domain.bitrix24.com/rest/{id}/{webhook}` * - ver3` https://your_domain.bitrix24.com/rest/api/{id}/{webhook}` */ getTargetOriginWithPath() { return this.#b24TargetRestWithPath; } /** * We believe that hooks are created only by the admin */ get isAdmin() { return true; } } export { AuthHookManager }; //# sourceMappingURL=auth.mjs.map