@bitrix24/b24jssdk
Version:
Bitrix24 REST API JavaScript SDK
78 lines (75 loc) • 2.28 kB
JavaScript
/**
* @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