@bitrix24/b24jssdk 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/_virtual/_commonjsHelpers.mjs +1 -1
- package/dist/esm/_virtual/protobuf.mjs +1 -1
- package/dist/esm/_virtual/protobuf2.mjs +1 -1
- package/dist/esm/core/abstract-b24.mjs +1 -1
- package/dist/esm/core/actions/abstract-action.mjs +1 -1
- package/dist/esm/core/actions/abstract-batch.mjs +1 -1
- package/dist/esm/core/actions/manager.mjs +1 -1
- package/dist/esm/core/actions/v2/batch-by-chunk.mjs +1 -1
- package/dist/esm/core/actions/v2/batch.mjs +1 -1
- package/dist/esm/core/actions/v2/call-list.mjs +1 -1
- package/dist/esm/core/actions/v2/call.mjs +1 -1
- package/dist/esm/core/actions/v2/fetch-list.mjs +1 -1
- package/dist/esm/core/actions/v2/manager-v2.mjs +1 -1
- package/dist/esm/core/actions/v3/batch-by-chunk.mjs +1 -1
- package/dist/esm/core/actions/v3/batch.mjs +1 -1
- package/dist/esm/core/actions/v3/call-list.mjs +1 -1
- package/dist/esm/core/actions/v3/call.mjs +1 -1
- package/dist/esm/core/actions/v3/fetch-list.mjs +1 -1
- package/dist/esm/core/actions/v3/manager-v3.mjs +1 -1
- package/dist/esm/core/http/abstract-http.mjs +2 -2
- package/dist/esm/core/http/ajax-error.mjs +1 -1
- package/dist/esm/core/http/ajax-result.mjs +1 -1
- package/dist/esm/core/http/limiters/adaptive-delayer.mjs +1 -1
- package/dist/esm/core/http/limiters/manager.mjs +1 -1
- package/dist/esm/core/http/limiters/operating-limiter.mjs +1 -1
- package/dist/esm/core/http/limiters/params-factory.mjs +1 -1
- package/dist/esm/core/http/limiters/rate-limiter.mjs +1 -1
- package/dist/esm/core/http/v2.mjs +2 -2
- package/dist/esm/core/http/v3.mjs +2 -2
- package/dist/esm/core/interaction/batch/abstract-interaction-batch.mjs +1 -1
- package/dist/esm/core/interaction/batch/parse-row.mjs +1 -1
- package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs +1 -1
- package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs +1 -1
- package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs +1 -1
- package/dist/esm/core/interaction/batch/processing/v2/as-object.mjs +1 -1
- package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs +1 -1
- package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs +1 -1
- package/dist/esm/core/interaction/batch/processing/v3/as-object.mjs +1 -1
- package/dist/esm/core/interaction/batch/v2.mjs +1 -1
- package/dist/esm/core/interaction/batch/v3.mjs +1 -1
- package/dist/esm/core/language/list.mjs +1 -1
- package/dist/esm/core/request-id-generator.mjs +1 -1
- package/dist/esm/core/result.mjs +1 -1
- package/dist/esm/core/sdk-error.mjs +1 -1
- package/dist/esm/core/tools/abstract-tool.mjs +1 -1
- package/dist/esm/core/tools/healthcheck.mjs +1 -1
- package/dist/esm/core/tools/manager.mjs +1 -1
- package/dist/esm/core/tools/ping.mjs +1 -1
- package/dist/esm/core/version-manager.mjs +1 -1
- package/dist/esm/frame/auth.mjs +1 -1
- package/dist/esm/frame/b24.mjs +1 -1
- package/dist/esm/frame/dialog.mjs +1 -1
- package/dist/esm/frame/frame.mjs +1 -1
- package/dist/esm/frame/message/commands.mjs +1 -1
- package/dist/esm/frame/message/controller.mjs +1 -1
- package/dist/esm/frame/options.mjs +1 -1
- package/dist/esm/frame/parent.mjs +1 -1
- package/dist/esm/frame/placement.mjs +1 -1
- package/dist/esm/frame/slider.mjs +1 -1
- package/dist/esm/helper/abstract-helper.mjs +1 -1
- package/dist/esm/helper/app-manager.mjs +1 -1
- package/dist/esm/helper/currency-manager.mjs +8 -2
- package/dist/esm/helper/currency-manager.mjs.map +1 -1
- package/dist/esm/helper/helper-manager.mjs +10 -3
- package/dist/esm/helper/helper-manager.mjs.map +1 -1
- package/dist/esm/helper/license-manager.mjs +1 -1
- package/dist/esm/helper/options-manager.mjs +13 -6
- package/dist/esm/helper/options-manager.mjs.map +1 -1
- package/dist/esm/helper/payment-manager.mjs +1 -1
- package/dist/esm/helper/profile-manager.mjs +1 -1
- package/dist/esm/helper/use-b24-helper.mjs +5 -6
- package/dist/esm/helper/use-b24-helper.mjs.map +1 -1
- package/dist/esm/hook/auth.mjs +1 -1
- package/dist/esm/hook/b24.mjs +1 -1
- package/dist/esm/index.d.mts +3 -3
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/loader-b24frame.mjs +1 -1
- package/dist/esm/logger/abstract-logger.mjs +1 -1
- package/dist/esm/logger/browser.mjs +1 -1
- package/dist/esm/logger/formatter/abstract-formatter.mjs +1 -1
- package/dist/esm/logger/formatter/json-formatter.mjs +1 -1
- package/dist/esm/logger/formatter/line-formatter.mjs +1 -1
- package/dist/esm/logger/formatter/telegram-formatter.mjs +1 -1
- package/dist/esm/logger/handler/abstract-handler.mjs +1 -1
- package/dist/esm/logger/handler/consola-adapter.mjs +1 -1
- package/dist/esm/logger/handler/console-handler.mjs +1 -1
- package/dist/esm/logger/handler/console-v2-handler.mjs +1 -1
- package/dist/esm/logger/handler/memory-handler.mjs +1 -1
- package/dist/esm/logger/handler/stream-handler.mjs +1 -1
- package/dist/esm/logger/handler/telegram-handler.mjs +1 -1
- package/dist/esm/logger/handler/winston-adapter.mjs +1 -1
- package/dist/esm/logger/logger-factory.mjs +1 -1
- package/dist/esm/logger/logger.mjs +1 -1
- package/dist/esm/logger/null-logger.mjs +1 -1
- package/dist/esm/logger/processor/memory-usage-processor.mjs +1 -1
- package/dist/esm/logger/processor/pid-processor.mjs +1 -1
- package/dist/esm/oauth/auth.mjs +1 -1
- package/dist/esm/oauth/b24.mjs +1 -1
- package/dist/esm/oauth/refresh-token-error.mjs +1 -1
- package/dist/esm/pullClient/abstract-connector.mjs +1 -1
- package/dist/esm/pullClient/channel-manager.mjs +1 -1
- package/dist/esm/pullClient/client.mjs +1 -1
- package/dist/esm/pullClient/errors.mjs +1 -1
- package/dist/esm/pullClient/json-rpc.mjs +1 -1
- package/dist/esm/pullClient/long-polling-connector.mjs +1 -1
- package/dist/esm/pullClient/protobuf/index.mjs +1 -1
- package/dist/esm/pullClient/protobuf/model.mjs +1 -1
- package/dist/esm/pullClient/protobuf/protobuf.mjs +1 -1
- package/dist/esm/pullClient/shared-config.mjs +1 -1
- package/dist/esm/pullClient/storage-manager.mjs +1 -1
- package/dist/esm/pullClient/web-socket-connector.mjs +1 -1
- package/dist/esm/tools/browser.mjs +1 -1
- package/dist/esm/tools/environment.mjs +1 -1
- package/dist/esm/tools/formatters/iban.mjs +1 -1
- package/dist/esm/tools/formatters/numbers.mjs +1 -1
- package/dist/esm/tools/index.mjs +1 -1
- package/dist/esm/tools/scroll-size.mjs +1 -1
- package/dist/esm/tools/text.mjs +1 -1
- package/dist/esm/tools/type.mjs +1 -1
- package/dist/esm/tools/use-formatters.mjs +1 -1
- package/dist/esm/tools/uuidv7.mjs +1 -1
- package/dist/esm/types/b24-helper.mjs +1 -1
- package/dist/esm/types/b24.mjs +1 -1
- package/dist/esm/types/bizproc/index.mjs +1 -1
- package/dist/esm/types/catalog/index.mjs +1 -1
- package/dist/esm/types/common.mjs +1 -1
- package/dist/esm/types/crm/entity-type.mjs +1 -1
- package/dist/esm/types/crm/productrow.mjs +1 -1
- package/dist/esm/types/logger.mjs +1 -1
- package/dist/esm/types/pull.mjs +1 -1
- package/dist/umd/index.js +36 -17
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/index.min.js +26 -26
- package/dist/umd/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency-manager.mjs","sources":["../../../src/helper/currency-manager.ts"],"sourcesContent":["import type { BoolString, ISODate, NumberString } from '../types/common'\nimport type { Currency, CurrencyFormat } from '../types/b24-helper'\nimport { AbstractHelper, UnhandledMatchError } from './abstract-helper'\nimport { Type } from '../tools/type'\nimport { Text } from '../tools/text'\n\ntype CurrencyFormatInit = {\n DECIMALS: NumberString\n DEC_POINT: string\n FORMAT_STRING: string\n FULL_NAME: string\n HIDE_ZERO: BoolString\n THOUSANDS_SEP?: string\n THOUSANDS_VARIANT: string\n}\n\ntype CurrencyInit = {\n AMOUNT: NumberString\n AMOUNT_CNT: NumberString\n BASE: BoolString\n CURRENCY: string\n DATE_UPDATE: ISODate\n DECIMALS: NumberString\n DEC_POINT: string\n FORMAT_STRING: string\n FULL_NAME: string\n LID: string\n SORT: NumberString\n THOUSANDS_SEP?: string\n LANG?: Record<string, CurrencyFormatInit>\n}\n\ntype CurrencyInitData = {\n currencyBase: string\n currencyList: CurrencyInit[]\n}\n\ntype CurrencyData = {\n currencyBase: string\n currencyList: Map<string, Currency>\n}\n\nexport class CurrencyManager extends AbstractHelper {\n /**\n * @inheritDoc\n */\n override async initData(data: CurrencyInitData): Promise<void> {\n this._data = {\n currencyBase: '?',\n currencyList: new Map()\n } as CurrencyData\n\n this.setBaseCurrency(data.currencyBase)\n this.setCurrencyList(data.currencyList)\n\n try {\n await this.loadData()\n } catch (error) {\n if (error instanceof Error) {\n throw error\n }\n\n this.getLogger().error('Failed to load data', { error })\n throw new Error('Failed to load data')\n }\n }\n\n async loadData(): Promise<void> {\n const batchRequest: {\n method: string\n params: { id: string }\n }[] = this.currencyList.map((currencyCode) => {\n return {\n method: 'crm.currency.get',\n params: {\n id: currencyCode\n }\n }\n })\n\n if (batchRequest.length === 0) {\n return Promise.resolve()\n }\n\n try {\n const response = await this._b24.callBatchByChunk(batchRequest, true)\n const data = response.getData()\n\n data.forEach((row: CurrencyInit) => {\n if (typeof row.LANG === 'undefined') {\n return\n }\n\n const currencyCode = row.CURRENCY\n const currency = this.data.currencyList.get(currencyCode)\n if (typeof currency === 'undefined') {\n return\n }\n\n for (const [langCode, formatData] of Object.entries(row.LANG)) {\n currency.lang[langCode] = {\n decimals: Number.parseInt(formatData.DECIMALS),\n decPoint: formatData.DEC_POINT,\n formatString: formatData.FORMAT_STRING,\n fullName: formatData.FULL_NAME,\n isHideZero: formatData.HIDE_ZERO === 'Y',\n thousandsSep: formatData.THOUSANDS_SEP,\n thousandsVariant: formatData.THOUSANDS_VARIANT\n } as CurrencyFormat\n\n switch (currency.lang[langCode].thousandsVariant) {\n case 'N':\n currency.lang[langCode].thousandsSep = ''\n break\n case 'D':\n currency.lang[langCode].thousandsSep = '.'\n break\n case 'C':\n currency.lang[langCode].thousandsSep = ','\n break\n case 'S':\n currency.lang[langCode].thousandsSep = ' '\n break\n case 'B':\n currency.lang[langCode].thousandsSep = ' '\n break\n // case 'OWN': ////\n default:\n if (!Type.isStringFilled(currency.lang[langCode].thousandsSep)) {\n currency.lang[langCode].thousandsSep = ' '\n }\n break\n }\n }\n })\n } catch (error) {\n this.getLogger().error('Failed to load data', { error })\n }\n }\n\n get data(): CurrencyData {\n if (null === this._data) {\n throw new Error('CurrencyManager.data not initialized')\n }\n\n return this._data\n }\n\n // region BaseCurrency ////\n setBaseCurrency(currencyBase: string) {\n this._data.currencyBase = currencyBase\n }\n\n get baseCurrency(): string {\n return this.data.currencyBase\n }\n // endregion ////\n\n // region CurrencyList ////\n setCurrencyList(list: CurrencyInit[] = []) {\n this.data.currencyList.clear()\n\n for (const row of list) {\n this.data.currencyList.set(row.CURRENCY, {\n amount: Number.parseFloat(row.CURRENCY),\n amountCnt: Number.parseInt(row.AMOUNT_CNT),\n isBase: row.BASE === 'Y',\n currencyCode: row.CURRENCY,\n dateUpdate: Text.toDateTime(row.DATE_UPDATE),\n decimals: Number.parseInt(row.DECIMALS),\n decPoint: row.DEC_POINT,\n formatString: row.FORMAT_STRING,\n fullName: row.FULL_NAME,\n lid: row.LID,\n sort: Number.parseInt(row.SORT),\n thousandsSep: row?.THOUSANDS_SEP || null,\n lang: {}\n } as Currency)\n }\n }\n // endregion ////\n\n // region Info ////\n getCurrencyFullName(currencyCode: string, langCode: string): string {\n const currency = this.data.currencyList.get(currencyCode)\n if (typeof currency === 'undefined') {\n throw new UnhandledMatchError(currencyCode)\n }\n\n let fullName = currency.fullName\n\n if (!(typeof langCode === 'undefined')) {\n const langFormatter = currency.lang[langCode]\n if (!Type.isUndefined(langFormatter)) {\n fullName = langFormatter.fullName\n }\n }\n\n return fullName\n }\n\n getCurrencyLiteral(currencyCode: string, langCode?: string): string {\n const currency = this.data.currencyList.get(currencyCode)\n if (typeof currency === 'undefined') {\n throw new UnhandledMatchError(currencyCode)\n }\n\n let formatString = currency.formatString\n\n if (!(typeof langCode === 'undefined')) {\n const langFormatter = currency.lang[langCode]\n if (!Type.isUndefined(langFormatter)) {\n formatString = langFormatter.formatString\n }\n }\n\n return (\n formatString\n .replaceAll('&#', '&%')\n .replaceAll('#', '')\n .replaceAll('&%', '&#')\n .trim() || ''\n )\n }\n\n get currencyList(): string[] {\n return [...this.data.currencyList.keys()]\n }\n // endregion ////\n\n // region Format ////\n format(value: number, currencyCode: string, langCode: string): string {\n const currency = this.data.currencyList.get(currencyCode)\n if (typeof currency === 'undefined') {\n throw new UnhandledMatchError(currencyCode)\n }\n\n const options = {\n formatString: currency.formatString,\n decimals: currency.decimals,\n decPoint: currency.decPoint,\n thousandsSep: currency.thousandsSep\n }\n if (!Type.isStringFilled(options.thousandsSep)) {\n options.thousandsSep = ''\n }\n\n const langFormatter = currency.lang[langCode]\n if (!Type.isUndefined(langFormatter)) {\n options.formatString = langFormatter.formatString\n options.decimals = langFormatter.decimals\n options.decPoint = langFormatter.decPoint\n options.thousandsSep = langFormatter.thousandsSep\n }\n\n return (\n options.formatString\n .replaceAll('&#', '&%')\n .replace(\n '#',\n Text.numberFormat(\n value,\n options.decimals,\n options.decPoint,\n options.thousandsSep\n )\n )\n .replaceAll('&%', '&#') || ''\n )\n }\n // endregion ////\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"currency-manager.mjs","sources":["../../../src/helper/currency-manager.ts"],"sourcesContent":["import type { BoolString, ISODate, NumberString } from '../types/common'\nimport type { Currency, CurrencyFormat } from '../types/b24-helper'\nimport { AbstractHelper, UnhandledMatchError } from './abstract-helper'\nimport { Type } from '../tools/type'\nimport { Text } from '../tools/text'\n\ntype CurrencyFormatInit = {\n DECIMALS: NumberString\n DEC_POINT: string\n FORMAT_STRING: string\n FULL_NAME: string\n HIDE_ZERO: BoolString\n THOUSANDS_SEP?: string\n THOUSANDS_VARIANT: string\n}\n\ntype CurrencyInit = {\n AMOUNT: NumberString\n AMOUNT_CNT: NumberString\n BASE: BoolString\n CURRENCY: string\n DATE_UPDATE: ISODate\n DECIMALS: NumberString\n DEC_POINT: string\n FORMAT_STRING: string\n FULL_NAME: string\n LID: string\n SORT: NumberString\n THOUSANDS_SEP?: string\n LANG?: Record<string, CurrencyFormatInit>\n}\n\ntype CurrencyInitData = {\n currencyBase: string\n currencyList: CurrencyInit[]\n}\n\ntype CurrencyData = {\n currencyBase: string\n currencyList: Map<string, Currency>\n}\n\nexport class CurrencyManager extends AbstractHelper {\n /**\n * @inheritDoc\n */\n override async initData(data: CurrencyInitData): Promise<void> {\n this._data = {\n currencyBase: '?',\n currencyList: new Map()\n } as CurrencyData\n\n this.setBaseCurrency(data.currencyBase)\n this.setCurrencyList(data.currencyList)\n\n try {\n await this.loadData()\n } catch (error) {\n if (error instanceof Error) {\n throw error\n }\n\n this.getLogger().error('Failed to load data', { error })\n throw new Error('Failed to load data')\n }\n }\n\n async loadData(): Promise<void> {\n const batchRequest: {\n method: string\n params: { id: string }\n }[] = this.currencyList.map((currencyCode) => {\n return {\n method: 'crm.currency.get',\n params: {\n id: currencyCode\n }\n }\n })\n\n if (batchRequest.length === 0) {\n return Promise.resolve()\n }\n\n try {\n const response = await this._b24.actions.v2.batchByChunk.make<CurrencyInit>({\n calls: batchRequest,\n options: { isHaltOnError: true }\n })\n\n const data = response.getData()\n\n if (!Array.isArray(data)) {\n return Promise.resolve()\n }\n\n data.forEach((row: CurrencyInit) => {\n if (typeof row.LANG === 'undefined') {\n return\n }\n\n const currencyCode = row.CURRENCY\n const currency = this.data.currencyList.get(currencyCode)\n if (typeof currency === 'undefined') {\n return\n }\n\n for (const [langCode, formatData] of Object.entries(row.LANG)) {\n currency.lang[langCode] = {\n decimals: Number.parseInt(formatData.DECIMALS),\n decPoint: formatData.DEC_POINT,\n formatString: formatData.FORMAT_STRING,\n fullName: formatData.FULL_NAME,\n isHideZero: formatData.HIDE_ZERO === 'Y',\n thousandsSep: formatData.THOUSANDS_SEP,\n thousandsVariant: formatData.THOUSANDS_VARIANT\n } as CurrencyFormat\n\n switch (currency.lang[langCode].thousandsVariant) {\n case 'N':\n currency.lang[langCode].thousandsSep = ''\n break\n case 'D':\n currency.lang[langCode].thousandsSep = '.'\n break\n case 'C':\n currency.lang[langCode].thousandsSep = ','\n break\n case 'S':\n currency.lang[langCode].thousandsSep = ' '\n break\n case 'B':\n currency.lang[langCode].thousandsSep = ' '\n break\n // case 'OWN': ////\n default:\n if (!Type.isStringFilled(currency.lang[langCode].thousandsSep)) {\n currency.lang[langCode].thousandsSep = ' '\n }\n break\n }\n }\n })\n } catch (error) {\n this.getLogger().error('Failed to load data', { error })\n }\n }\n\n get data(): CurrencyData {\n if (null === this._data) {\n throw new Error('CurrencyManager.data not initialized')\n }\n\n return this._data\n }\n\n // region BaseCurrency ////\n setBaseCurrency(currencyBase: string) {\n this._data.currencyBase = currencyBase\n }\n\n get baseCurrency(): string {\n return this.data.currencyBase\n }\n // endregion ////\n\n // region CurrencyList ////\n setCurrencyList(list: CurrencyInit[] = []) {\n this.data.currencyList.clear()\n\n for (const row of list) {\n this.data.currencyList.set(row.CURRENCY, {\n amount: Number.parseFloat(row.CURRENCY),\n amountCnt: Number.parseInt(row.AMOUNT_CNT),\n isBase: row.BASE === 'Y',\n currencyCode: row.CURRENCY,\n dateUpdate: Text.toDateTime(row.DATE_UPDATE),\n decimals: Number.parseInt(row.DECIMALS),\n decPoint: row.DEC_POINT,\n formatString: row.FORMAT_STRING,\n fullName: row.FULL_NAME,\n lid: row.LID,\n sort: Number.parseInt(row.SORT),\n thousandsSep: row?.THOUSANDS_SEP || null,\n lang: {}\n } as Currency)\n }\n }\n // endregion ////\n\n // region Info ////\n getCurrencyFullName(currencyCode: string, langCode: string): string {\n const currency = this.data.currencyList.get(currencyCode)\n if (typeof currency === 'undefined') {\n throw new UnhandledMatchError(currencyCode)\n }\n\n let fullName = currency.fullName\n\n if (!(typeof langCode === 'undefined')) {\n const langFormatter = currency.lang[langCode]\n if (!Type.isUndefined(langFormatter)) {\n fullName = langFormatter.fullName\n }\n }\n\n return fullName\n }\n\n getCurrencyLiteral(currencyCode: string, langCode?: string): string {\n const currency = this.data.currencyList.get(currencyCode)\n if (typeof currency === 'undefined') {\n throw new UnhandledMatchError(currencyCode)\n }\n\n let formatString = currency.formatString\n\n if (!(typeof langCode === 'undefined')) {\n const langFormatter = currency.lang[langCode]\n if (!Type.isUndefined(langFormatter)) {\n formatString = langFormatter.formatString\n }\n }\n\n return (\n formatString\n .replaceAll('&#', '&%')\n .replaceAll('#', '')\n .replaceAll('&%', '&#')\n .trim() || ''\n )\n }\n\n get currencyList(): string[] {\n return [...this.data.currencyList.keys()]\n }\n // endregion ////\n\n // region Format ////\n format(value: number, currencyCode: string, langCode: string): string {\n const currency = this.data.currencyList.get(currencyCode)\n if (typeof currency === 'undefined') {\n throw new UnhandledMatchError(currencyCode)\n }\n\n const options = {\n formatString: currency.formatString,\n decimals: currency.decimals,\n decPoint: currency.decPoint,\n thousandsSep: currency.thousandsSep\n }\n if (!Type.isStringFilled(options.thousandsSep)) {\n options.thousandsSep = ''\n }\n\n const langFormatter = currency.lang[langCode]\n if (!Type.isUndefined(langFormatter)) {\n options.formatString = langFormatter.formatString\n options.decimals = langFormatter.decimals\n options.decPoint = langFormatter.decPoint\n options.thousandsSep = langFormatter.thousandsSep\n }\n\n return (\n options.formatString\n .replaceAll('&#', '&%')\n .replace(\n '#',\n Text.numberFormat(\n value,\n options.decimals,\n options.decPoint,\n options.thousandsSep\n )\n )\n .replaceAll('&%', '&#') || ''\n )\n }\n // endregion ////\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @bitrix24/b24jssdk
|
|
3
|
-
* @version 1.0.
|
|
3
|
+
* @version 1.0.5
|
|
4
4
|
* @copyright (c) 2026 Bitrix24
|
|
5
5
|
* @license MIT
|
|
6
6
|
* @see https://github.com/bitrix24/b24jssdk
|
|
@@ -71,7 +71,7 @@ class B24HelperManager {
|
|
|
71
71
|
this._destroyPullClient();
|
|
72
72
|
}
|
|
73
73
|
// region loadData ////
|
|
74
|
-
async loadData(dataTypes = [LoadDataType.App, LoadDataType.Profile]) {
|
|
74
|
+
async loadData(dataTypes = [LoadDataType.App, LoadDataType.Profile], requestId = `helper-load-data`) {
|
|
75
75
|
const batchMethods = {
|
|
76
76
|
[LoadDataType.App]: { method: "app.info" },
|
|
77
77
|
[LoadDataType.Profile]: { method: "profile" },
|
|
@@ -98,7 +98,14 @@ class B24HelperManager {
|
|
|
98
98
|
{}
|
|
99
99
|
);
|
|
100
100
|
try {
|
|
101
|
-
const response = await this._b24.
|
|
101
|
+
const response = await this._b24.actions.v2.batch.make({
|
|
102
|
+
calls: batchRequest,
|
|
103
|
+
options: {
|
|
104
|
+
isHaltOnError: true,
|
|
105
|
+
returnAjaxResult: false,
|
|
106
|
+
requestId
|
|
107
|
+
}
|
|
108
|
+
});
|
|
102
109
|
const data = response.getData();
|
|
103
110
|
if (data[`get_${LoadDataType.App}`]) {
|
|
104
111
|
this._app = await this.parseAppData(data[`get_${LoadDataType.App}`]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper-manager.mjs","sources":["../../../src/helper/helper-manager.ts"],"sourcesContent":["import type { LoggerInterface } from '../logger'\nimport { LoggerFactory } from '../logger'\nimport type { TypeB24 } from '../types/b24'\nimport { ProfileManager } from './profile-manager'\nimport { AppManager } from './app-manager'\nimport { PaymentManager } from './payment-manager'\nimport { LicenseManager } from './license-manager'\nimport { CurrencyManager } from './currency-manager'\nimport { OptionsManager } from './options-manager'\nimport { B24PullClientManager } from '../pullClient'\nimport { Text } from '../tools/text'\nimport { LoadDataType, TypeSpecificUrl } from '../types/b24-helper'\nimport type { TypeApp, TypeB24Form, TypeEnumAppStatus, TypeLicense, TypePayment, TypeUser } from '../types/b24-helper'\nimport type { GenderString } from '../types/common'\nimport type { TypePullMessage } from '../types/pull'\nimport type { BatchNamedCommandsUniversal } from '../types/http'\nimport type { Result } from '../core/result'\n\n/**\n * A universal class that is used to manage the initial application data\n */\nexport class B24HelperManager {\n private readonly _b24: TypeB24\n private _isInit: boolean = false\n\n private _profile: ProfileManager | null = null\n\n private _app: AppManager | null = null\n private _payment: PaymentManager | null = null\n private _license: LicenseManager | null = null\n\n private _currency: CurrencyManager | null = null\n private _appOptions: OptionsManager | null = null\n private _userOptions: OptionsManager | null = null\n\n private _b24PullClient: B24PullClientManager | null = null\n private _pullClientUnSubscribe: (() => void)[] = []\n private _pullClientModuleId: string = ''\n\n protected _logger: LoggerInterface\n\n constructor(b24: TypeB24) {\n this._logger = LoggerFactory.createNullLogger()\n this._b24 = b24\n }\n\n setLogger(logger: LoggerInterface): void {\n this._logger = logger\n if (null !== this._profile) {\n this._profile.setLogger(this.getLogger())\n }\n\n if (null !== this._app) {\n this._app.setLogger(this.getLogger())\n }\n\n if (null !== this._payment) {\n this._payment.setLogger(this.getLogger())\n }\n\n if (null !== this._license) {\n this._license.setLogger(this.getLogger())\n }\n\n if (null !== this._currency) {\n this._currency.setLogger(this.getLogger())\n }\n\n if (null !== this._appOptions) {\n this._appOptions.setLogger(this.getLogger())\n }\n\n if (null !== this._userOptions) {\n this._userOptions.setLogger(this.getLogger())\n }\n }\n\n getLogger(): LoggerInterface {\n return this._logger\n }\n\n destroy(): void {\n this._destroyPullClient()\n }\n\n // region loadData ////\n async loadData(\n dataTypes: LoadDataType[] = [LoadDataType.App, LoadDataType.Profile]\n ): Promise<void> {\n const batchMethods: Record<string, { method: string } | { method: string }[]> = {\n [LoadDataType.App]: { method: 'app.info' },\n [LoadDataType.Profile]: { method: 'profile' },\n [LoadDataType.Currency]: [\n { method: 'crm.currency.base.get' },\n { method: 'crm.currency.list' }\n ],\n [LoadDataType.AppOptions]: { method: 'app.option.get' },\n [LoadDataType.UserOptions]: { method: 'user.option.get' }\n }\n\n const batchRequest = dataTypes.reduce(\n (acc, type) => {\n if (batchMethods[type]) {\n if (Array.isArray(batchMethods[type])) {\n for (const [index, row] of batchMethods[type].entries()) {\n acc[`get_${type}_${index}`] = row\n }\n } else {\n acc[`get_${type}`] = batchMethods[type]\n }\n }\n\n return acc\n },\n {} as BatchNamedCommandsUniversal\n )\n\n try {\n const response = await this._b24.callBatch(batchRequest) as Result<Record<string, any>>\n const data = response.getData()!\n\n if (data[`get_${LoadDataType.App}`]) {\n this._app = await this.parseAppData(data[`get_${LoadDataType.App}`])\n this._payment = await this.parsePaymentData(\n data[`get_${LoadDataType.App}`]\n )\n this._license = await this.parseLicenseData(\n data[`get_${LoadDataType.App}`]\n )\n }\n\n if (data[`get_${LoadDataType.Profile}`]) {\n this._profile = await this.parseUserData(\n data[`get_${LoadDataType.Profile}`]\n )\n }\n\n if (\n data[`get_${LoadDataType.Currency}_0`]\n && data[`get_${LoadDataType.Currency}_1`]\n ) {\n this._currency = await this.parseCurrencyData({\n currencyBase: data[`get_${LoadDataType.Currency}_0`],\n currencyList: data[`get_${LoadDataType.Currency}_1`]\n })\n }\n\n if (data[`get_${LoadDataType.AppOptions}`]) {\n this._appOptions = await this.parseOptionsData(\n 'app',\n data[`get_${LoadDataType.AppOptions}`]\n )\n }\n\n if (data[`get_${LoadDataType.UserOptions}`]) {\n this._userOptions = await this.parseOptionsData(\n 'user',\n data[`get_${LoadDataType.UserOptions}`]\n )\n }\n\n this._isInit = true\n } catch (error) {\n if (error instanceof Error) {\n throw error\n }\n\n this.getLogger().error('Failed to load data', { error })\n throw new Error('Failed to load data')\n }\n }\n\n private async parseUserData(profileData: any): Promise<ProfileManager> {\n const manager = new ProfileManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager\n .initData({\n id: Number(profileData.ID),\n isAdmin: profileData.ADMIN === true,\n lastName: profileData?.LAST_NAME || '',\n name: profileData?.NAME || '',\n gender: (profileData?.PERSONAL_GENDER || '') as GenderString,\n photo: profileData?.PERSONAL_PHOTO || '',\n TimeZone: profileData?.TIME_ZONE || '',\n TimeZoneOffset: profileData?.TIME_ZONE_OFFSET\n } as TypeUser)\n .then(() => {\n return manager\n })\n }\n\n private async parseAppData(appData: any): Promise<AppManager> {\n const manager = new AppManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager\n .initData({\n id: Number.parseInt(appData.ID),\n code: appData.CODE,\n version: Number.parseInt(appData.VERSION),\n status: appData.STATUS as TypeEnumAppStatus,\n isInstalled: appData.INSTALLED as boolean\n } as TypeApp)\n .then(() => {\n return manager\n })\n }\n\n private async parsePaymentData(appData: any): Promise<PaymentManager> {\n const manager = new PaymentManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager\n .initData({\n isExpired: appData.PAYMENT_EXPIRED === 'Y',\n days: Number.parseInt(appData.DAYS || '0')\n } as TypePayment)\n .then(() => {\n return manager\n })\n }\n\n private async parseLicenseData(appData: any): Promise<LicenseManager> {\n const manager = new LicenseManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager\n .initData({\n languageId: appData.LANGUAGE_ID,\n license: appData.LICENSE,\n licensePrevious: appData.LICENSE_PREVIOUS,\n licenseType: appData.LICENSE_TYPE,\n licenseFamily: appData.LICENSE_FAMILY,\n isSelfHosted: appData.LICENSE.includes('selfhosted')\n } as TypeLicense)\n .then(() => {\n return manager\n })\n }\n\n private async parseCurrencyData(currencyData: any): Promise<CurrencyManager> {\n const manager = new CurrencyManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager.initData(currencyData).then(() => {\n return manager\n })\n }\n\n private async parseOptionsData(\n type: 'app' | 'user',\n optionsData: any\n ): Promise<OptionsManager> {\n const manager = new OptionsManager(this._b24, type)\n manager.setLogger(this.getLogger())\n return manager.initData(optionsData).then(() => {\n return manager\n })\n }\n // endregion ////\n\n // region Get ////\n get isInit(): boolean {\n return this._isInit\n }\n\n get forB24Form(): TypeB24Form {\n this.ensureInitialized()\n\n if (null === this._profile) {\n throw new Error('B24HelperManager.profileInfo not initialized')\n }\n\n if (null === this._app) {\n throw new Error('B24HelperManager.appInfo not initialized')\n }\n\n return {\n app_code: this.appInfo.data.code,\n app_status: this.appInfo.data.status as string,\n payment_expired: this.paymentInfo.data.isExpired ? 'Y' : 'N',\n days: this.paymentInfo.data.days,\n b24_plan: this.licenseInfo.data.license,\n c_name: this.profileInfo.data.name,\n c_last_name: this.profileInfo.data.lastName,\n hostname: this.hostName\n } as TypeB24Form\n }\n\n /**\n * Get the account address BX24 (https://your_domain.bitrix24.com)\n */\n get hostName(): string {\n return this._b24.getTargetOrigin()\n }\n\n get profileInfo(): ProfileManager {\n this.ensureInitialized()\n\n if (null === this._profile) {\n throw new Error('B24HelperManager.profileInfo not initialized')\n }\n\n return this._profile\n }\n\n get appInfo(): AppManager {\n this.ensureInitialized()\n\n if (null === this._app) {\n throw new Error('B24HelperManager.appInfo not initialized')\n }\n\n return this._app\n }\n\n get paymentInfo(): PaymentManager {\n this.ensureInitialized()\n\n if (null === this._payment) {\n throw new Error('B24HelperManager.paymentInfo not initialized')\n }\n\n return this._payment\n }\n\n get licenseInfo(): LicenseManager {\n this.ensureInitialized()\n\n if (null === this._license) {\n throw new Error('B24HelperManager.licenseInfo not initialized')\n }\n\n return this._license\n }\n\n get currency(): CurrencyManager {\n this.ensureInitialized()\n\n if (null === this._currency) {\n throw new Error('B24HelperManager.currency not initialized')\n }\n\n return this._currency\n }\n\n get appOptions(): OptionsManager {\n this.ensureInitialized()\n\n if (null === this._appOptions) {\n throw new Error('B24HelperManager.appOptions not initialized')\n }\n\n return this._appOptions\n }\n\n get userOptions(): OptionsManager {\n this.ensureInitialized()\n\n if (null === this._userOptions) {\n throw new Error('B24HelperManager.userOptions not initialized')\n }\n\n return this._userOptions\n }\n // endregion ////\n\n // region Custom SelfHosted && Cloud ////\n get isSelfHosted(): boolean {\n return this.licenseInfo.data.isSelfHosted\n }\n\n /**\n * Returns the increment step of fields of type ID\n * @memo in a cloud step = 2 in box step = 1\n *\n * @returns {number}\n */\n get primaryKeyIncrementValue(): number {\n if (this.isSelfHosted) {\n return 1\n }\n\n return 2\n }\n\n /**\n * Defines specific URLs for a Bitrix24 box or cloud\n */\n get b24SpecificUrl(): Record<keyof typeof TypeSpecificUrl, string> {\n if (this.isSelfHosted) {\n return {\n [TypeSpecificUrl.MainSettings]: '/configs/',\n [TypeSpecificUrl.UfList]: '/configs/userfield_list.php',\n [TypeSpecificUrl.UfPage]: '/configs/userfield.php'\n }\n }\n\n return {\n [TypeSpecificUrl.MainSettings]: '/settings/configs/',\n [TypeSpecificUrl.UfList]: '/settings/configs/userfield_list.php',\n [TypeSpecificUrl.UfPage]: '/settings/configs/userfield.php'\n }\n }\n // endregion ////\n\n // region Pull.Client ////\n public usePullClient(\n prefix: string = 'prefix',\n userId?: number\n ): B24HelperManager {\n if (this._b24PullClient) {\n return this\n }\n\n this.initializePullClient(\n typeof userId === 'undefined' ? this.profileInfo.data.id || 0 : userId,\n prefix\n )\n\n return this\n }\n\n private initializePullClient(\n userId: number,\n prefix: string = 'prefix'\n ): void {\n this._b24PullClient = new B24PullClientManager({\n b24: this._b24,\n restApplication: this._b24.auth.getUniq(prefix),\n userId\n })\n }\n\n public subscribePullClient(\n callback: (message: TypePullMessage) => void,\n moduleId: string = 'application'\n ): B24HelperManager {\n if (!this._b24PullClient) {\n throw new Error('PullClient not init')\n }\n\n this._pullClientModuleId = moduleId\n\n this._pullClientUnSubscribe.push(\n this._b24PullClient.subscribe({\n moduleId: this._pullClientModuleId,\n callback\n })\n )\n\n return this\n }\n\n public startPullClient(): void {\n if (!this._b24PullClient) {\n throw new Error('PullClient not init')\n }\n\n this._b24PullClient.start().catch((error) => {\n this.getLogger().error(`${Text.getDateForLog()}: Pull not running`, { error })\n })\n }\n\n public getModuleIdPullClient(): string {\n if (!this._b24PullClient) {\n throw new Error('PullClient not init')\n }\n\n return this._pullClientModuleId\n }\n\n private _destroyPullClient(): void {\n for (const unsubscribeCallback of this._pullClientUnSubscribe) {\n unsubscribeCallback()\n }\n\n this._b24PullClient?.destroy()\n this._b24PullClient = null\n }\n // endregion ////\n\n // region Tools ////\n private ensureInitialized(): void {\n if (!this._isInit) {\n throw new Error('B24HelperManager not initialized')\n }\n }\n // endregion ////\n}\n"],"names":["B24PullClientManager"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helper-manager.mjs","sources":["../../../src/helper/helper-manager.ts"],"sourcesContent":["import type { LoggerInterface } from '../logger'\nimport { LoggerFactory } from '../logger'\nimport type { TypeB24 } from '../types/b24'\nimport { ProfileManager } from './profile-manager'\nimport { AppManager } from './app-manager'\nimport { PaymentManager } from './payment-manager'\nimport { LicenseManager } from './license-manager'\nimport { CurrencyManager } from './currency-manager'\nimport { OptionsManager } from './options-manager'\nimport { B24PullClientManager } from '../pullClient'\nimport { Text } from '../tools/text'\nimport { LoadDataType, TypeSpecificUrl } from '../types/b24-helper'\nimport type { TypeApp, TypeB24Form, TypeEnumAppStatus, TypeLicense, TypePayment, TypeUser } from '../types/b24-helper'\nimport type { GenderString } from '../types/common'\nimport type { TypePullMessage } from '../types/pull'\nimport type { BatchNamedCommandsUniversal } from '../types/http'\n\n/**\n * A universal class that is used to manage the initial application data\n */\nexport class B24HelperManager {\n private readonly _b24: TypeB24\n private _isInit: boolean = false\n\n private _profile: ProfileManager | null = null\n\n private _app: AppManager | null = null\n private _payment: PaymentManager | null = null\n private _license: LicenseManager | null = null\n\n private _currency: CurrencyManager | null = null\n private _appOptions: OptionsManager | null = null\n private _userOptions: OptionsManager | null = null\n\n private _b24PullClient: B24PullClientManager | null = null\n private _pullClientUnSubscribe: (() => void)[] = []\n private _pullClientModuleId: string = ''\n\n protected _logger: LoggerInterface\n\n constructor(b24: TypeB24) {\n this._logger = LoggerFactory.createNullLogger()\n this._b24 = b24\n }\n\n setLogger(logger: LoggerInterface): void {\n this._logger = logger\n if (null !== this._profile) {\n this._profile.setLogger(this.getLogger())\n }\n\n if (null !== this._app) {\n this._app.setLogger(this.getLogger())\n }\n\n if (null !== this._payment) {\n this._payment.setLogger(this.getLogger())\n }\n\n if (null !== this._license) {\n this._license.setLogger(this.getLogger())\n }\n\n if (null !== this._currency) {\n this._currency.setLogger(this.getLogger())\n }\n\n if (null !== this._appOptions) {\n this._appOptions.setLogger(this.getLogger())\n }\n\n if (null !== this._userOptions) {\n this._userOptions.setLogger(this.getLogger())\n }\n }\n\n getLogger(): LoggerInterface {\n return this._logger\n }\n\n destroy(): void {\n this._destroyPullClient()\n }\n\n // region loadData ////\n async loadData(\n dataTypes: LoadDataType[] = [LoadDataType.App, LoadDataType.Profile],\n requestId: string = `helper-load-data`\n ): Promise<void> {\n const batchMethods: Record<string, { method: string } | { method: string }[]> = {\n [LoadDataType.App]: { method: 'app.info' },\n [LoadDataType.Profile]: { method: 'profile' },\n [LoadDataType.Currency]: [\n { method: 'crm.currency.base.get' },\n { method: 'crm.currency.list' }\n ],\n [LoadDataType.AppOptions]: { method: 'app.option.get' },\n [LoadDataType.UserOptions]: { method: 'user.option.get' }\n }\n\n const batchRequest = dataTypes.reduce(\n (acc, type) => {\n if (batchMethods[type]) {\n if (Array.isArray(batchMethods[type])) {\n for (const [index, row] of batchMethods[type].entries()) {\n acc[`get_${type}_${index}`] = row\n }\n } else {\n acc[`get_${type}`] = batchMethods[type]\n }\n }\n\n return acc\n },\n {} as BatchNamedCommandsUniversal\n )\n\n try {\n const response = await this._b24.actions.v2.batch.make({\n calls: batchRequest,\n options: {\n isHaltOnError: true,\n returnAjaxResult: false,\n requestId\n }\n })\n const data = response.getData()! as Record<string, any>\n\n if (data[`get_${LoadDataType.App}`]) {\n this._app = await this.parseAppData(data[`get_${LoadDataType.App}`])\n this._payment = await this.parsePaymentData(\n data[`get_${LoadDataType.App}`]\n )\n this._license = await this.parseLicenseData(\n data[`get_${LoadDataType.App}`]\n )\n }\n\n if (data[`get_${LoadDataType.Profile}`]) {\n this._profile = await this.parseUserData(\n data[`get_${LoadDataType.Profile}`]\n )\n }\n\n if (\n data[`get_${LoadDataType.Currency}_0`]\n && data[`get_${LoadDataType.Currency}_1`]\n ) {\n this._currency = await this.parseCurrencyData({\n currencyBase: data[`get_${LoadDataType.Currency}_0`],\n currencyList: data[`get_${LoadDataType.Currency}_1`]\n })\n }\n\n if (data[`get_${LoadDataType.AppOptions}`]) {\n this._appOptions = await this.parseOptionsData(\n 'app',\n data[`get_${LoadDataType.AppOptions}`]\n )\n }\n\n if (data[`get_${LoadDataType.UserOptions}`]) {\n this._userOptions = await this.parseOptionsData(\n 'user',\n data[`get_${LoadDataType.UserOptions}`]\n )\n }\n\n this._isInit = true\n } catch (error) {\n if (error instanceof Error) {\n throw error\n }\n\n this.getLogger().error('Failed to load data', { error })\n throw new Error('Failed to load data')\n }\n }\n\n private async parseUserData(profileData: any): Promise<ProfileManager> {\n const manager = new ProfileManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager\n .initData({\n id: Number(profileData.ID),\n isAdmin: profileData.ADMIN === true,\n lastName: profileData?.LAST_NAME || '',\n name: profileData?.NAME || '',\n gender: (profileData?.PERSONAL_GENDER || '') as GenderString,\n photo: profileData?.PERSONAL_PHOTO || '',\n TimeZone: profileData?.TIME_ZONE || '',\n TimeZoneOffset: profileData?.TIME_ZONE_OFFSET\n } as TypeUser)\n .then(() => {\n return manager\n })\n }\n\n private async parseAppData(appData: any): Promise<AppManager> {\n const manager = new AppManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager\n .initData({\n id: Number.parseInt(appData.ID),\n code: appData.CODE,\n version: Number.parseInt(appData.VERSION),\n status: appData.STATUS as TypeEnumAppStatus,\n isInstalled: appData.INSTALLED as boolean\n } as TypeApp)\n .then(() => {\n return manager\n })\n }\n\n private async parsePaymentData(appData: any): Promise<PaymentManager> {\n const manager = new PaymentManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager\n .initData({\n isExpired: appData.PAYMENT_EXPIRED === 'Y',\n days: Number.parseInt(appData.DAYS || '0')\n } as TypePayment)\n .then(() => {\n return manager\n })\n }\n\n private async parseLicenseData(appData: any): Promise<LicenseManager> {\n const manager = new LicenseManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager\n .initData({\n languageId: appData.LANGUAGE_ID,\n license: appData.LICENSE,\n licensePrevious: appData.LICENSE_PREVIOUS,\n licenseType: appData.LICENSE_TYPE,\n licenseFamily: appData.LICENSE_FAMILY,\n isSelfHosted: appData.LICENSE.includes('selfhosted')\n } as TypeLicense)\n .then(() => {\n return manager\n })\n }\n\n private async parseCurrencyData(currencyData: any): Promise<CurrencyManager> {\n const manager = new CurrencyManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager.initData(currencyData).then(() => {\n return manager\n })\n }\n\n private async parseOptionsData(\n type: 'app' | 'user',\n optionsData: any\n ): Promise<OptionsManager> {\n const manager = new OptionsManager(this._b24, type)\n manager.setLogger(this.getLogger())\n return manager.initData(optionsData).then(() => {\n return manager\n })\n }\n // endregion ////\n\n // region Get ////\n get isInit(): boolean {\n return this._isInit\n }\n\n get forB24Form(): TypeB24Form {\n this.ensureInitialized()\n\n if (null === this._profile) {\n throw new Error('B24HelperManager.profileInfo not initialized')\n }\n\n if (null === this._app) {\n throw new Error('B24HelperManager.appInfo not initialized')\n }\n\n return {\n app_code: this.appInfo.data.code,\n app_status: this.appInfo.data.status as string,\n payment_expired: this.paymentInfo.data.isExpired ? 'Y' : 'N',\n days: this.paymentInfo.data.days,\n b24_plan: this.licenseInfo.data.license,\n c_name: this.profileInfo.data.name,\n c_last_name: this.profileInfo.data.lastName,\n hostname: this.hostName\n } as TypeB24Form\n }\n\n /**\n * Get the account address BX24 (https://your_domain.bitrix24.com)\n */\n get hostName(): string {\n return this._b24.getTargetOrigin()\n }\n\n get profileInfo(): ProfileManager {\n this.ensureInitialized()\n\n if (null === this._profile) {\n throw new Error('B24HelperManager.profileInfo not initialized')\n }\n\n return this._profile\n }\n\n get appInfo(): AppManager {\n this.ensureInitialized()\n\n if (null === this._app) {\n throw new Error('B24HelperManager.appInfo not initialized')\n }\n\n return this._app\n }\n\n get paymentInfo(): PaymentManager {\n this.ensureInitialized()\n\n if (null === this._payment) {\n throw new Error('B24HelperManager.paymentInfo not initialized')\n }\n\n return this._payment\n }\n\n get licenseInfo(): LicenseManager {\n this.ensureInitialized()\n\n if (null === this._license) {\n throw new Error('B24HelperManager.licenseInfo not initialized')\n }\n\n return this._license\n }\n\n get currency(): CurrencyManager {\n this.ensureInitialized()\n\n if (null === this._currency) {\n throw new Error('B24HelperManager.currency not initialized')\n }\n\n return this._currency\n }\n\n get appOptions(): OptionsManager {\n this.ensureInitialized()\n\n if (null === this._appOptions) {\n throw new Error('B24HelperManager.appOptions not initialized')\n }\n\n return this._appOptions\n }\n\n get userOptions(): OptionsManager {\n this.ensureInitialized()\n\n if (null === this._userOptions) {\n throw new Error('B24HelperManager.userOptions not initialized')\n }\n\n return this._userOptions\n }\n // endregion ////\n\n // region Custom SelfHosted && Cloud ////\n get isSelfHosted(): boolean {\n return this.licenseInfo.data.isSelfHosted\n }\n\n /**\n * Returns the increment step of fields of type ID\n * @memo in a cloud step = 2 in box step = 1\n *\n * @returns {number}\n */\n get primaryKeyIncrementValue(): number {\n if (this.isSelfHosted) {\n return 1\n }\n\n return 2\n }\n\n /**\n * Defines specific URLs for a Bitrix24 box or cloud\n */\n get b24SpecificUrl(): Record<keyof typeof TypeSpecificUrl, string> {\n if (this.isSelfHosted) {\n return {\n [TypeSpecificUrl.MainSettings]: '/configs/',\n [TypeSpecificUrl.UfList]: '/configs/userfield_list.php',\n [TypeSpecificUrl.UfPage]: '/configs/userfield.php'\n }\n }\n\n return {\n [TypeSpecificUrl.MainSettings]: '/settings/configs/',\n [TypeSpecificUrl.UfList]: '/settings/configs/userfield_list.php',\n [TypeSpecificUrl.UfPage]: '/settings/configs/userfield.php'\n }\n }\n // endregion ////\n\n // region Pull.Client ////\n public usePullClient(\n prefix: string = 'prefix',\n userId?: number\n ): B24HelperManager {\n if (this._b24PullClient) {\n return this\n }\n\n this.initializePullClient(\n typeof userId === 'undefined' ? this.profileInfo.data.id || 0 : userId,\n prefix\n )\n\n return this\n }\n\n private initializePullClient(\n userId: number,\n prefix: string = 'prefix'\n ): void {\n this._b24PullClient = new B24PullClientManager({\n b24: this._b24,\n restApplication: this._b24.auth.getUniq(prefix),\n userId\n })\n }\n\n public subscribePullClient(\n callback: (message: TypePullMessage) => void,\n moduleId: string = 'application'\n ): B24HelperManager {\n if (!this._b24PullClient) {\n throw new Error('PullClient not init')\n }\n\n this._pullClientModuleId = moduleId\n\n this._pullClientUnSubscribe.push(\n this._b24PullClient.subscribe({\n moduleId: this._pullClientModuleId,\n callback\n })\n )\n\n return this\n }\n\n public startPullClient(): void {\n if (!this._b24PullClient) {\n throw new Error('PullClient not init')\n }\n\n this._b24PullClient.start().catch((error) => {\n this.getLogger().error(`${Text.getDateForLog()}: Pull not running`, { error })\n })\n }\n\n public getModuleIdPullClient(): string {\n if (!this._b24PullClient) {\n throw new Error('PullClient not init')\n }\n\n return this._pullClientModuleId\n }\n\n private _destroyPullClient(): void {\n for (const unsubscribeCallback of this._pullClientUnSubscribe) {\n unsubscribeCallback()\n }\n\n this._b24PullClient?.destroy()\n this._b24PullClient = null\n }\n // endregion ////\n\n // region Tools ////\n private ensureInitialized(): void {\n if (!this._isInit) {\n throw new Error('B24HelperManager not initialized')\n }\n }\n // endregion ////\n}\n"],"names":["B24PullClientManager"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @bitrix24/b24jssdk
|
|
3
|
-
* @version 1.0.
|
|
3
|
+
* @version 1.0.5
|
|
4
4
|
* @copyright (c) 2026 Bitrix24
|
|
5
5
|
* @license MIT
|
|
6
6
|
* @see https://github.com/bitrix24/b24jssdk
|
|
@@ -169,16 +169,16 @@ class OptionsManager extends AbstractHelper {
|
|
|
169
169
|
return "user.option.set";
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
|
-
async save(options, optionsPull) {
|
|
173
|
-
const
|
|
174
|
-
|
|
172
|
+
async save(options, optionsPull, requestId) {
|
|
173
|
+
const calls = [];
|
|
174
|
+
calls.push({
|
|
175
175
|
method: this.getMethodSave(),
|
|
176
176
|
params: {
|
|
177
177
|
options
|
|
178
178
|
}
|
|
179
179
|
});
|
|
180
180
|
if (Type.isObject(optionsPull)) {
|
|
181
|
-
|
|
181
|
+
calls.push({
|
|
182
182
|
method: "pull.application.event.add",
|
|
183
183
|
params: {
|
|
184
184
|
COMMAND: optionsPull?.command,
|
|
@@ -187,7 +187,14 @@ class OptionsManager extends AbstractHelper {
|
|
|
187
187
|
}
|
|
188
188
|
});
|
|
189
189
|
}
|
|
190
|
-
return this._b24.
|
|
190
|
+
return this._b24.actions.v2.batch.make({
|
|
191
|
+
calls,
|
|
192
|
+
options: {
|
|
193
|
+
isHaltOnError: true,
|
|
194
|
+
returnAjaxResult: false,
|
|
195
|
+
requestId
|
|
196
|
+
}
|
|
197
|
+
});
|
|
191
198
|
}
|
|
192
199
|
// endregion ////
|
|
193
200
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options-manager.mjs","sources":["../../../src/helper/options-manager.ts"],"sourcesContent":["import type { DateTime } from 'luxon'\nimport { AbstractHelper } from './abstract-helper'\nimport type { TypeB24 } from '../types/b24'\nimport type { Result } from '../core/result'\nimport { TypeOption } from '../types/b24-helper'\nimport { Type } from '../tools/type'\nimport { Text } from '../tools/text'\n\nexport class OptionsManager extends AbstractHelper {\n protected override _data: Map<string, any>\n protected _type: 'app' | 'user'\n\n // region static ////\n static getSupportTypes(): TypeOption[] {\n return [\n TypeOption.NotSet,\n TypeOption.JsonArray,\n TypeOption.JsonObject,\n TypeOption.FloatVal,\n TypeOption.IntegerVal,\n TypeOption.BoolYN,\n TypeOption.StringVal\n ]\n }\n\n static prepareArrayList(list: any): any[] {\n if (Type.isArray(list)) {\n return list\n }\n\n if (Type.isObject(list)) {\n return Object.values(list)\n }\n\n return []\n }\n\n // endregion ////\n\n // region Init ////\n constructor(b24: TypeB24, type: 'app' | 'user') {\n super(b24)\n this._type = type\n this._data = new Map()\n }\n\n get data(): Map<string, any> {\n return this._data\n }\n\n reset() {\n this.data.clear()\n }\n\n /**\n * @inheritDoc\n */\n override async initData(data: any): Promise<void> {\n this.reset()\n\n if (Type.isObject(data)) {\n for (const [key, value] of Object.entries(data)) {\n this.data.set(key, value)\n }\n }\n }\n\n // endregion ////\n\n // region Get ////\n getJsonArray(key: string, defValue: any[] = []): any[] {\n if (!this.data.has(key)) {\n return defValue\n }\n\n let data = this.data.get(key)\n\n try {\n data = JSON.parse(data)\n\n if (!Type.isArray(data) && !Type.isObject(data)) {\n data = defValue\n }\n } catch (error) {\n this.getLogger().error('Failed JSON parse', { error })\n data = defValue\n }\n\n return OptionsManager.prepareArrayList(data)\n }\n\n getJsonObject(key: string, defValue: object = {}): object {\n if (!this.data.has(key)) {\n return defValue\n }\n\n let data = this.data.get(key)\n\n try {\n data = JSON.parse(data)\n } catch (error) {\n this.getLogger().error('Failed JSON parse', { error })\n data = defValue\n }\n\n if (!Type.isObject(data)) {\n data = defValue\n }\n\n return data\n }\n\n getFloat(key: string, defValue: number = 0.0): number {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return Text.toNumber(this.data.get(key))\n }\n\n getInteger(key: string, defValue: number = 0): number {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return Text.toInteger(this.data.get(key))\n }\n\n getBoolYN(key: string, defValue: boolean = true): boolean {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return Text.toBoolean(this.data.get(key))\n }\n\n getBoolNY(key: string, defValue: boolean = false): boolean {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return Text.toBoolean(this.data.get(key))\n }\n\n getString(key: string, defValue: string = ''): string {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return this.data.get(key).toString()\n }\n\n getDate(key: string, defValue: null | DateTime = null): null | DateTime {\n if (!this.data.has(key)) {\n return defValue\n }\n\n try {\n const result = Text.toDateTime(this.data.get(key).toString())\n if (result.isValid) {\n return result\n } else {\n return defValue\n }\n } catch {\n return defValue\n }\n }\n\n // endregion ////\n\n // region Tools ////\n encode(value: any): string {\n return JSON.stringify(value)\n }\n\n decode(data: string, defaultValue: any): any {\n try {\n if (data.length > 0) {\n return JSON.parse(data)\n }\n\n return defaultValue\n } catch (error) {\n this.getLogger().error('Failed JSON parse', { error })\n }\n\n return defaultValue\n }\n\n // endregion ////\n\n // region Save ////\n protected getMethodSave(): string {\n switch (this._type) {\n case 'app':\n return 'app.option.set'\n case 'user':\n return 'user.option.set'\n }\n }\n\n public async save(\n options: any,\n optionsPull?: {\n moduleId: string\n command: string\n params: any\n }\n ): Promise<Result> {\n const commands = []\n commands.push({\n method: this.getMethodSave(),\n params: {\n options\n }\n })\n\n if (Type.isObject(optionsPull)) {\n commands.push({\n method: 'pull.application.event.add',\n params: {\n COMMAND: optionsPull?.command,\n PARAMS: optionsPull?.params,\n MODULE_ID: optionsPull?.moduleId\n }\n })\n }\n\n return this._b24.callBatch(commands, true)\n }\n\n // endregion ////\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAQO,MAAM,uBAAuB,cAAA,CAAe;AAAA,EARnD;AAQmD,IAAA,MAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AAAA;AAAA,EAC9B,KAAA;AAAA,EACT,KAAA;AAAA;AAAA,EAGV,OAAO,eAAA,GAAgC;AACrC,IAAA,OAAO;AAAA,MACL,UAAA,CAAW,MAAA;AAAA,MACX,UAAA,CAAW,SAAA;AAAA,MACX,UAAA,CAAW,UAAA;AAAA,MACX,UAAA,CAAW,QAAA;AAAA,MACX,UAAA,CAAW,UAAA;AAAA,MACX,UAAA,CAAW,MAAA;AAAA,MACX,UAAA,CAAW;AAAA,KACb;AAAA,EACF;AAAA,EAEA,OAAO,iBAAiB,IAAA,EAAkB;AACxC,IAAA,IAAI,IAAA,CAAK,OAAA,CAAQ,IAAI,CAAA,EAAG;AACtB,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,IAAI,CAAA,EAAG;AACvB,MAAA,OAAO,MAAA,CAAO,OAAO,IAAI,CAAA;AAAA,IAC3B;AAEA,IAAA,OAAO,EAAC;AAAA,EACV;AAAA;AAAA;AAAA,EAKA,WAAA,CAAY,KAAc,IAAA,EAAsB;AAC9C,IAAA,KAAA,CAAM,GAAG,CAAA;AACT,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAA;AACb,IAAA,IAAA,CAAK,KAAA,uBAAY,GAAA,EAAI;AAAA,EACvB;AAAA,EAEA,IAAI,IAAA,GAAyB;AAC3B,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACd;AAAA,EAEA,KAAA,GAAQ;AACN,IAAA,IAAA,CAAK,KAAK,KAAA,EAAM;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAe,SAAS,IAAA,EAA0B;AAChD,IAAA,IAAA,CAAK,KAAA,EAAM;AAEX,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,IAAI,CAAA,EAAG;AACvB,MAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,IAAI,CAAA,EAAG;AAC/C,QAAA,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,KAAK,CAAA;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA,EAKA,YAAA,CAAa,GAAA,EAAa,QAAA,GAAkB,EAAC,EAAU;AACrD,IAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA,EAAG;AACvB,MAAA,OAAO,QAAA;AAAA,IACT;AAEA,IAAA,IAAI,IAAA,GAAO,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA;AAE5B,IAAA,IAAI;AACF,MAAA,IAAA,GAAO,IAAA,CAAK,MAAM,IAAI,CAAA;AAEtB,MAAA,IAAI,CAAC,KAAK,OAAA,CAAQ,IAAI,KAAK,CAAC,IAAA,CAAK,QAAA,CAAS,IAAI,CAAA,EAAG;AAC/C,QAAA,IAAA,GAAO,QAAA;AAAA,MACT;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,IAAA,CAAK,WAAU,CAAE,KAAA,CAAM,mBAAA,EAAqB,EAAE,OAAO,CAAA;AACrD,MAAA,IAAA,GAAO,QAAA;AAAA,IACT;AAEA,IAAA,OAAO,cAAA,CAAe,iBAAiB,IAAI,CAAA;AAAA,EAC7C;AAAA,EAEA,aAAA,CAAc,GAAA,EAAa,QAAA,GAAmB,EAAC,EAAW;AACxD,IAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA,EAAG;AACvB,MAAA,OAAO,QAAA;AAAA,IACT;AAEA,IAAA,IAAI,IAAA,GAAO,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA;AAE5B,IAAA,IAAI;AACF,MAAA,IAAA,GAAO,IAAA,CAAK,MAAM,IAAI,CAAA;AAAA,IACxB,SAAS,KAAA,EAAO;AACd,MAAA,IAAA,CAAK,WAAU,CAAE,KAAA,CAAM,mBAAA,EAAqB,EAAE,OAAO,CAAA;AACrD,MAAA,IAAA,GAAO,QAAA;AAAA,IACT;AAEA,IAAA,IAAI,CAAC,IAAA,CAAK,QAAA,CAAS,IAAI,CAAA,EAAG;AACxB,MAAA,IAAA,GAAO,QAAA;AAAA,IACT;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,QAAA,CAAS,GAAA,EAAa,QAAA,GAAmB,CAAA,EAAa;AACpD,IAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA,EAAG;AACvB,MAAA,OAAO,QAAA;AAAA,IACT;AAEA,IAAA,OAAO,KAAK,QAAA,CAAS,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAC,CAAA;AAAA,EACzC;AAAA,EAEA,UAAA,CAAW,GAAA,EAAa,QAAA,GAAmB,CAAA,EAAW;AACpD,IAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA,EAAG;AACvB,MAAA,OAAO,QAAA;AAAA,IACT;AAEA,IAAA,OAAO,KAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAC,CAAA;AAAA,EAC1C;AAAA,EAEA,SAAA,CAAU,GAAA,EAAa,QAAA,GAAoB,IAAA,EAAe;AACxD,IAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA,EAAG;AACvB,MAAA,OAAO,QAAA;AAAA,IACT;AAEA,IAAA,OAAO,KAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAC,CAAA;AAAA,EAC1C;AAAA,EAEA,SAAA,CAAU,GAAA,EAAa,QAAA,GAAoB,KAAA,EAAgB;AACzD,IAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA,EAAG;AACvB,MAAA,OAAO,QAAA;AAAA,IACT;AAEA,IAAA,OAAO,KAAK,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAC,CAAA;AAAA,EAC1C;AAAA,EAEA,SAAA,CAAU,GAAA,EAAa,QAAA,GAAmB,EAAA,EAAY;AACpD,IAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA,EAAG;AACvB,MAAA,OAAO,QAAA;AAAA,IACT;AAEA,IAAA,OAAO,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS;AAAA,EACrC;AAAA,EAEA,OAAA,CAAQ,GAAA,EAAa,QAAA,GAA4B,IAAA,EAAuB;AACtE,IAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA,EAAG;AACvB,MAAA,OAAO,QAAA;AAAA,IACT;AAEA,IAAA,IAAI;AACF,MAAA,MAAM,MAAA,GAAS,KAAK,UAAA,CAAW,IAAA,CAAK,KAAK,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAU,CAAA;AAC5D,MAAA,IAAI,OAAO,OAAA,EAAS;AAClB,QAAA,OAAO,MAAA;AAAA,MACT,CAAA,MAAO;AACL,QAAA,OAAO,QAAA;AAAA,MACT;AAAA,IACF,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,QAAA;AAAA,IACT;AAAA,EACF;AAAA;AAAA;AAAA,EAKA,OAAO,KAAA,EAAoB;AACzB,IAAA,OAAO,IAAA,CAAK,UAAU,KAAK,CAAA;AAAA,EAC7B;AAAA,EAEA,MAAA,CAAO,MAAc,YAAA,EAAwB;AAC3C,IAAA,IAAI;AACF,MAAA,IAAI,IAAA,CAAK,SAAS,CAAA,EAAG;AACnB,QAAA,OAAO,IAAA,CAAK,MAAM,IAAI,CAAA;AAAA,MACxB;AAEA,MAAA,OAAO,YAAA;AAAA,IACT,SAAS,KAAA,EAAO;AACd,MAAA,IAAA,CAAK,WAAU,CAAE,KAAA,CAAM,mBAAA,EAAqB,EAAE,OAAO,CAAA;AAAA,IACvD;AAEA,IAAA,OAAO,YAAA;AAAA,EACT;AAAA;AAAA;AAAA,EAKU,aAAA,GAAwB;AAChC,IAAA,QAAQ,KAAK,KAAA;AAAO,MAClB,KAAK,KAAA;AACH,QAAA,OAAO,gBAAA;AAAA,MACT,KAAK,MAAA;AACH,QAAA,OAAO,iBAAA;AAAA;AACX,EACF;AAAA,EAEA,MAAa,IAAA,CACX,OAAA,EACA,WAAA,EAKiB;AACjB,IAAA,MAAM,WAAW,EAAC;AAClB,IAAA,QAAA,CAAS,IAAA,CAAK;AAAA,MACZ,MAAA,EAAQ,KAAK,aAAA,EAAc;AAAA,MAC3B,MAAA,EAAQ;AAAA,QACN;AAAA;AACF,KACD,CAAA;AAED,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,WAAW,CAAA,EAAG;AAC9B,MAAA,QAAA,CAAS,IAAA,CAAK;AAAA,QACZ,MAAA,EAAQ,4BAAA;AAAA,QACR,MAAA,EAAQ;AAAA,UACN,SAAS,WAAA,EAAa,OAAA;AAAA,UACtB,QAAQ,WAAA,EAAa,MAAA;AAAA,UACrB,WAAW,WAAA,EAAa;AAAA;AAC1B,OACD,CAAA;AAAA,IACH;AAEA,IAAA,OAAO,IAAA,CAAK,IAAA,CAAK,SAAA,CAAU,QAAA,EAAU,IAAI,CAAA;AAAA,EAC3C;AAAA;AAGF;;;;"}
|
|
1
|
+
{"version":3,"file":"options-manager.mjs","sources":["../../../src/helper/options-manager.ts"],"sourcesContent":["import type { DateTime } from 'luxon'\nimport { AbstractHelper } from './abstract-helper'\nimport type { TypeB24 } from '../types/b24'\nimport type { Result } from '../core/result'\nimport { TypeOption } from '../types/b24-helper'\nimport { Type } from '../tools/type'\nimport { Text } from '../tools/text'\n\nexport class OptionsManager extends AbstractHelper {\n protected override _data: Map<string, any>\n protected _type: 'app' | 'user'\n\n // region static ////\n static getSupportTypes(): TypeOption[] {\n return [\n TypeOption.NotSet,\n TypeOption.JsonArray,\n TypeOption.JsonObject,\n TypeOption.FloatVal,\n TypeOption.IntegerVal,\n TypeOption.BoolYN,\n TypeOption.StringVal\n ]\n }\n\n static prepareArrayList(list: any): any[] {\n if (Type.isArray(list)) {\n return list\n }\n\n if (Type.isObject(list)) {\n return Object.values(list)\n }\n\n return []\n }\n\n // endregion ////\n\n // region Init ////\n constructor(b24: TypeB24, type: 'app' | 'user') {\n super(b24)\n this._type = type\n this._data = new Map()\n }\n\n get data(): Map<string, any> {\n return this._data\n }\n\n reset() {\n this.data.clear()\n }\n\n /**\n * @inheritDoc\n */\n override async initData(data: any): Promise<void> {\n this.reset()\n\n if (Type.isObject(data)) {\n for (const [key, value] of Object.entries(data)) {\n this.data.set(key, value)\n }\n }\n }\n\n // endregion ////\n\n // region Get ////\n getJsonArray(key: string, defValue: any[] = []): any[] {\n if (!this.data.has(key)) {\n return defValue\n }\n\n let data = this.data.get(key)\n\n try {\n data = JSON.parse(data)\n\n if (!Type.isArray(data) && !Type.isObject(data)) {\n data = defValue\n }\n } catch (error) {\n this.getLogger().error('Failed JSON parse', { error })\n data = defValue\n }\n\n return OptionsManager.prepareArrayList(data)\n }\n\n getJsonObject(key: string, defValue: object = {}): object {\n if (!this.data.has(key)) {\n return defValue\n }\n\n let data = this.data.get(key)\n\n try {\n data = JSON.parse(data)\n } catch (error) {\n this.getLogger().error('Failed JSON parse', { error })\n data = defValue\n }\n\n if (!Type.isObject(data)) {\n data = defValue\n }\n\n return data\n }\n\n getFloat(key: string, defValue: number = 0.0): number {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return Text.toNumber(this.data.get(key))\n }\n\n getInteger(key: string, defValue: number = 0): number {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return Text.toInteger(this.data.get(key))\n }\n\n getBoolYN(key: string, defValue: boolean = true): boolean {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return Text.toBoolean(this.data.get(key))\n }\n\n getBoolNY(key: string, defValue: boolean = false): boolean {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return Text.toBoolean(this.data.get(key))\n }\n\n getString(key: string, defValue: string = ''): string {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return this.data.get(key).toString()\n }\n\n getDate(key: string, defValue: null | DateTime = null): null | DateTime {\n if (!this.data.has(key)) {\n return defValue\n }\n\n try {\n const result = Text.toDateTime(this.data.get(key).toString())\n if (result.isValid) {\n return result\n } else {\n return defValue\n }\n } catch {\n return defValue\n }\n }\n\n // endregion ////\n\n // region Tools ////\n encode(value: any): string {\n return JSON.stringify(value)\n }\n\n decode(data: string, defaultValue: any): any {\n try {\n if (data.length > 0) {\n return JSON.parse(data)\n }\n\n return defaultValue\n } catch (error) {\n this.getLogger().error('Failed JSON parse', { error })\n }\n\n return defaultValue\n }\n\n // endregion ////\n\n // region Save ////\n protected getMethodSave(): string {\n switch (this._type) {\n case 'app':\n return 'app.option.set'\n case 'user':\n return 'user.option.set'\n }\n }\n\n public async save(\n options: any,\n optionsPull?: {\n moduleId: string\n command: string\n params: any\n },\n requestId?: string\n ): Promise<Result> {\n const calls = []\n calls.push({\n method: this.getMethodSave(),\n params: {\n options\n }\n })\n\n if (Type.isObject(optionsPull)) {\n calls.push({\n method: 'pull.application.event.add',\n params: {\n COMMAND: optionsPull?.command,\n PARAMS: optionsPull?.params,\n MODULE_ID: optionsPull?.moduleId\n }\n })\n }\n\n return this._b24.actions.v2.batch.make({\n calls,\n options: {\n isHaltOnError: true,\n returnAjaxResult: false,\n requestId\n }\n })\n }\n\n // endregion ////\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @bitrix24/b24jssdk
|
|
3
|
-
* @version 1.0.
|
|
3
|
+
* @version 1.0.5
|
|
4
4
|
* @copyright (c) 2026 Bitrix24
|
|
5
5
|
* @license MIT
|
|
6
6
|
* @see https://github.com/bitrix24/b24jssdk
|
|
@@ -15,17 +15,16 @@ const useB24Helper = /* @__PURE__ */ __name(() => {
|
|
|
15
15
|
let $isInitB24Helper = false;
|
|
16
16
|
let $isInitPullClient = false;
|
|
17
17
|
let $b24Helper = null;
|
|
18
|
-
const initB24Helper = /* @__PURE__ */ __name(async ($b24, dataTypes = [LoadDataType.App, LoadDataType.Profile]) => {
|
|
18
|
+
const initB24Helper = /* @__PURE__ */ __name(async ($b24, dataTypes = [LoadDataType.App, LoadDataType.Profile], requestId = `helper-load-data`) => {
|
|
19
19
|
if (null === $b24Helper) {
|
|
20
20
|
$b24Helper = new B24HelperManager($b24);
|
|
21
21
|
}
|
|
22
22
|
if ($isInitB24Helper) {
|
|
23
23
|
return $b24Helper;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
});
|
|
25
|
+
await $b24Helper.loadData(dataTypes, requestId);
|
|
26
|
+
$isInitB24Helper = true;
|
|
27
|
+
return $b24Helper;
|
|
29
28
|
}, "initB24Helper");
|
|
30
29
|
const destroyB24Helper = /* @__PURE__ */ __name(() => {
|
|
31
30
|
$b24Helper?.destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-b24-helper.mjs","sources":["../../../src/helper/use-b24-helper.ts"],"sourcesContent":["import { B24HelperManager } from './helper-manager'\nimport { LoadDataType } from '../types/b24-helper'\nimport type { TypeB24 } from '../types/b24'\nimport type { TypePullMessage } from '../types/pull'\n\nexport const useB24Helper = () => {\n let $isInitB24Helper = false\n let $isInitPullClient = false\n\n let $b24Helper: null | B24HelperManager = null\n\n const initB24Helper = async (\n $b24: TypeB24,\n dataTypes: LoadDataType[] = [LoadDataType.App, LoadDataType.Profile]
|
|
1
|
+
{"version":3,"file":"use-b24-helper.mjs","sources":["../../../src/helper/use-b24-helper.ts"],"sourcesContent":["import { B24HelperManager } from './helper-manager'\nimport { LoadDataType } from '../types/b24-helper'\nimport type { TypeB24 } from '../types/b24'\nimport type { TypePullMessage } from '../types/pull'\n\nexport const useB24Helper = () => {\n let $isInitB24Helper = false\n let $isInitPullClient = false\n\n let $b24Helper: null | B24HelperManager = null\n\n const initB24Helper = async (\n $b24: TypeB24,\n dataTypes: LoadDataType[] = [LoadDataType.App, LoadDataType.Profile],\n requestId: string = `helper-load-data`\n ): Promise<B24HelperManager> => {\n if (null === $b24Helper) {\n $b24Helper = new B24HelperManager($b24)\n }\n\n if ($isInitB24Helper) {\n return $b24Helper\n }\n\n await $b24Helper.loadData(dataTypes, requestId)\n\n $isInitB24Helper = true\n return $b24Helper\n }\n\n const destroyB24Helper = () => {\n $b24Helper?.destroy()\n $b24Helper = null\n $isInitB24Helper = false\n $isInitPullClient = false\n }\n\n const isInitB24Helper = () => {\n return $isInitB24Helper\n }\n\n const getB24Helper = (): B24HelperManager => {\n if (null === $b24Helper) {\n throw new Error(\n 'B24HelperManager is not initialized. You need to call initB24Helper first.'\n )\n }\n\n return $b24Helper\n }\n\n const usePullClient = () => {\n if (null === $b24Helper) {\n throw new Error(\n 'B24HelperManager is not initialized. You need to call initB24Helper first.'\n )\n }\n\n $b24Helper.usePullClient()\n $isInitPullClient = true\n }\n\n const useSubscribePullClient = (\n callback: (message: TypePullMessage) => void,\n moduleId: string = 'application'\n ) => {\n if (!$isInitPullClient) {\n throw new Error(\n 'PullClient is not initialized. You need to call usePullClient first.'\n )\n }\n\n $b24Helper?.subscribePullClient(callback, moduleId)\n }\n\n const startPullClient = () => {\n if (!$isInitPullClient) {\n throw new Error(\n 'PullClient is not initialized. You need to call usePullClient first.'\n )\n }\n\n $b24Helper?.startPullClient()\n }\n\n return {\n initB24Helper,\n isInitB24Helper,\n destroyB24Helper,\n getB24Helper,\n usePullClient,\n useSubscribePullClient,\n startPullClient\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAKO,MAAM,+BAAe,MAAA,CAAA,MAAM;AAChC,EAAA,IAAI,gBAAA,GAAmB,KAAA;AACvB,EAAA,IAAI,iBAAA,GAAoB,KAAA;AAExB,EAAA,IAAI,UAAA,GAAsC,IAAA;AAE1C,EAAA,MAAM,aAAA,mBAAgB,MAAA,CAAA,OACpB,IAAA,EACA,SAAA,GAA4B,CAAC,YAAA,CAAa,GAAA,EAAK,YAAA,CAAa,OAAO,CAAA,EACnE,SAAA,GAAoB,CAAA,gBAAA,CAAA,KACU;AAC9B,IAAA,IAAI,SAAS,UAAA,EAAY;AACvB,MAAA,UAAA,GAAa,IAAI,iBAAiB,IAAI,CAAA;AAAA,IACxC;AAEA,IAAA,IAAI,gBAAA,EAAkB;AACpB,MAAA,OAAO,UAAA;AAAA,IACT;AAEA,IAAA,MAAM,UAAA,CAAW,QAAA,CAAS,SAAA,EAAW,SAAS,CAAA;AAE9C,IAAA,gBAAA,GAAmB,IAAA;AACnB,IAAA,OAAO,UAAA;AAAA,EACT,CAAA,EAjBsB,eAAA,CAAA;AAmBtB,EAAA,MAAM,mCAAmB,MAAA,CAAA,MAAM;AAC7B,IAAA,UAAA,EAAY,OAAA,EAAQ;AACpB,IAAA,UAAA,GAAa,IAAA;AACb,IAAA,gBAAA,GAAmB,KAAA;AACnB,IAAA,iBAAA,GAAoB,KAAA;AAAA,EACtB,CAAA,EALyB,kBAAA,CAAA;AAOzB,EAAA,MAAM,kCAAkB,MAAA,CAAA,MAAM;AAC5B,IAAA,OAAO,gBAAA;AAAA,EACT,CAAA,EAFwB,iBAAA,CAAA;AAIxB,EAAA,MAAM,+BAAe,MAAA,CAAA,MAAwB;AAC3C,IAAA,IAAI,SAAS,UAAA,EAAY;AACvB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA,IACF;AAEA,IAAA,OAAO,UAAA;AAAA,EACT,CAAA,EARqB,cAAA,CAAA;AAUrB,EAAA,MAAM,gCAAgB,MAAA,CAAA,MAAM;AAC1B,IAAA,IAAI,SAAS,UAAA,EAAY;AACvB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA,IACF;AAEA,IAAA,UAAA,CAAW,aAAA,EAAc;AACzB,IAAA,iBAAA,GAAoB,IAAA;AAAA,EACtB,CAAA,EATsB,eAAA,CAAA;AAWtB,EAAA,MAAM,sBAAA,mBAAyB,MAAA,CAAA,CAC7B,QAAA,EACA,QAAA,GAAmB,aAAA,KAChB;AACH,IAAA,IAAI,CAAC,iBAAA,EAAmB;AACtB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA,IACF;AAEA,IAAA,UAAA,EAAY,mBAAA,CAAoB,UAAU,QAAQ,CAAA;AAAA,EACpD,CAAA,EAX+B,wBAAA,CAAA;AAa/B,EAAA,MAAM,kCAAkB,MAAA,CAAA,MAAM;AAC5B,IAAA,IAAI,CAAC,iBAAA,EAAmB;AACtB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA,IACF;AAEA,IAAA,UAAA,EAAY,eAAA,EAAgB;AAAA,EAC9B,CAAA,EARwB,iBAAA,CAAA;AAUxB,EAAA,OAAO;AAAA,IACL,aAAA;AAAA,IACA,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA,sBAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA,EAzF4B,cAAA;;;;"}
|
package/dist/esm/hook/auth.mjs
CHANGED
package/dist/esm/hook/b24.mjs
CHANGED
package/dist/esm/index.d.mts
CHANGED
|
@@ -5327,7 +5327,7 @@ declare class OptionsManager extends AbstractHelper {
|
|
|
5327
5327
|
moduleId: string;
|
|
5328
5328
|
command: string;
|
|
5329
5329
|
params: any;
|
|
5330
|
-
}): Promise<Result>;
|
|
5330
|
+
}, requestId?: string): Promise<Result>;
|
|
5331
5331
|
}
|
|
5332
5332
|
|
|
5333
5333
|
/**
|
|
@@ -5351,7 +5351,7 @@ declare class B24HelperManager {
|
|
|
5351
5351
|
setLogger(logger: LoggerInterface): void;
|
|
5352
5352
|
getLogger(): LoggerInterface;
|
|
5353
5353
|
destroy(): void;
|
|
5354
|
-
loadData(dataTypes?: LoadDataType[]): Promise<void>;
|
|
5354
|
+
loadData(dataTypes?: LoadDataType[], requestId?: string): Promise<void>;
|
|
5355
5355
|
private parseUserData;
|
|
5356
5356
|
private parseAppData;
|
|
5357
5357
|
private parsePaymentData;
|
|
@@ -5393,7 +5393,7 @@ declare class B24HelperManager {
|
|
|
5393
5393
|
}
|
|
5394
5394
|
|
|
5395
5395
|
declare const useB24Helper: () => {
|
|
5396
|
-
initB24Helper: ($b24: TypeB24, dataTypes?: LoadDataType[]) => Promise<B24HelperManager>;
|
|
5396
|
+
initB24Helper: ($b24: TypeB24, dataTypes?: LoadDataType[], requestId?: string) => Promise<B24HelperManager>;
|
|
5397
5397
|
isInitB24Helper: () => boolean;
|
|
5398
5398
|
destroyB24Helper: () => void;
|
|
5399
5399
|
getB24Helper: () => B24HelperManager;
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -5327,7 +5327,7 @@ declare class OptionsManager extends AbstractHelper {
|
|
|
5327
5327
|
moduleId: string;
|
|
5328
5328
|
command: string;
|
|
5329
5329
|
params: any;
|
|
5330
|
-
}): Promise<Result>;
|
|
5330
|
+
}, requestId?: string): Promise<Result>;
|
|
5331
5331
|
}
|
|
5332
5332
|
|
|
5333
5333
|
/**
|
|
@@ -5351,7 +5351,7 @@ declare class B24HelperManager {
|
|
|
5351
5351
|
setLogger(logger: LoggerInterface): void;
|
|
5352
5352
|
getLogger(): LoggerInterface;
|
|
5353
5353
|
destroy(): void;
|
|
5354
|
-
loadData(dataTypes?: LoadDataType[]): Promise<void>;
|
|
5354
|
+
loadData(dataTypes?: LoadDataType[], requestId?: string): Promise<void>;
|
|
5355
5355
|
private parseUserData;
|
|
5356
5356
|
private parseAppData;
|
|
5357
5357
|
private parsePaymentData;
|
|
@@ -5393,7 +5393,7 @@ declare class B24HelperManager {
|
|
|
5393
5393
|
}
|
|
5394
5394
|
|
|
5395
5395
|
declare const useB24Helper: () => {
|
|
5396
|
-
initB24Helper: ($b24: TypeB24, dataTypes?: LoadDataType[]) => Promise<B24HelperManager>;
|
|
5396
|
+
initB24Helper: ($b24: TypeB24, dataTypes?: LoadDataType[], requestId?: string) => Promise<B24HelperManager>;
|
|
5397
5397
|
isInitB24Helper: () => boolean;
|
|
5398
5398
|
destroyB24Helper: () => void;
|
|
5399
5399
|
getB24Helper: () => B24HelperManager;
|
package/dist/esm/index.mjs
CHANGED