@bitrix24/b24jssdk 1.0.2 → 1.0.4
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/abstract-b24.mjs.map +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 +2 -1
- package/dist/esm/core/actions/v2/batch-by-chunk.mjs.map +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-list.mjs.map +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/fetch-list.mjs.map +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-by-chunk.mjs.map +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-list.mjs.map +1 -1
- package/dist/esm/core/actions/v3/call.mjs +1 -1
- package/dist/esm/core/actions/v3/fetch-list.mjs +2 -1
- package/dist/esm/core/actions/v3/fetch-list.mjs.map +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 +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 +6 -6
- package/dist/esm/index.d.ts +6 -6
- 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/auth.mjs.map +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/client.mjs.map +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 +31 -16
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/index.min.js +11 -11
- package/dist/umd/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @bitrix24/b24jssdk
|
|
3
|
-
* @version 1.0.
|
|
3
|
+
* @version 1.0.4
|
|
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
|
@@ -1712,6 +1712,7 @@ declare class BatchByChunkV2 extends AbstractBatch {
|
|
|
1712
1712
|
* requestId: 'batch-by-chunk-123'
|
|
1713
1713
|
* }
|
|
1714
1714
|
* })
|
|
1715
|
+
*
|
|
1715
1716
|
* if (!response.isSuccess) {
|
|
1716
1717
|
* throw new Error(`Problem: ${response.getErrorMessages().join('; ')}`)
|
|
1717
1718
|
* }
|
|
@@ -1902,6 +1903,7 @@ declare class FetchListV3 extends AbstractAction {
|
|
|
1902
1903
|
* requestId: 'eventlog-123',
|
|
1903
1904
|
* limit: 60
|
|
1904
1905
|
* })
|
|
1906
|
+
*
|
|
1905
1907
|
* for await (const chunk of generator) {
|
|
1906
1908
|
* // Process chunk (e.g., save to database, analyze, etc.)
|
|
1907
1909
|
* console.log(`Processing ${chunk.length} items`)
|
|
@@ -2023,8 +2025,6 @@ type ActionBatchByChunkV3 = ActionOptions & {
|
|
|
2023
2025
|
* Executes a batch request with automatic chunking for any number of commands. `restApi:v3`
|
|
2024
2026
|
*
|
|
2025
2027
|
* @todo add docs
|
|
2026
|
-
* @todo test self
|
|
2027
|
-
* @todo test example
|
|
2028
2028
|
*/
|
|
2029
2029
|
declare class BatchByChunkV3 extends AbstractBatch {
|
|
2030
2030
|
/**
|
|
@@ -2507,7 +2507,7 @@ type GetPayload<P> = {
|
|
|
2507
2507
|
readonly time: PayloadTime;
|
|
2508
2508
|
};
|
|
2509
2509
|
type ListPayload<P> = {
|
|
2510
|
-
readonly result:
|
|
2510
|
+
readonly result: P[];
|
|
2511
2511
|
readonly total: number;
|
|
2512
2512
|
readonly next?: number;
|
|
2513
2513
|
readonly time: PayloadTime;
|
|
@@ -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
|
@@ -1712,6 +1712,7 @@ declare class BatchByChunkV2 extends AbstractBatch {
|
|
|
1712
1712
|
* requestId: 'batch-by-chunk-123'
|
|
1713
1713
|
* }
|
|
1714
1714
|
* })
|
|
1715
|
+
*
|
|
1715
1716
|
* if (!response.isSuccess) {
|
|
1716
1717
|
* throw new Error(`Problem: ${response.getErrorMessages().join('; ')}`)
|
|
1717
1718
|
* }
|
|
@@ -1902,6 +1903,7 @@ declare class FetchListV3 extends AbstractAction {
|
|
|
1902
1903
|
* requestId: 'eventlog-123',
|
|
1903
1904
|
* limit: 60
|
|
1904
1905
|
* })
|
|
1906
|
+
*
|
|
1905
1907
|
* for await (const chunk of generator) {
|
|
1906
1908
|
* // Process chunk (e.g., save to database, analyze, etc.)
|
|
1907
1909
|
* console.log(`Processing ${chunk.length} items`)
|
|
@@ -2023,8 +2025,6 @@ type ActionBatchByChunkV3 = ActionOptions & {
|
|
|
2023
2025
|
* Executes a batch request with automatic chunking for any number of commands. `restApi:v3`
|
|
2024
2026
|
*
|
|
2025
2027
|
* @todo add docs
|
|
2026
|
-
* @todo test self
|
|
2027
|
-
* @todo test example
|
|
2028
2028
|
*/
|
|
2029
2029
|
declare class BatchByChunkV3 extends AbstractBatch {
|
|
2030
2030
|
/**
|
|
@@ -2507,7 +2507,7 @@ type GetPayload<P> = {
|
|
|
2507
2507
|
readonly time: PayloadTime;
|
|
2508
2508
|
};
|
|
2509
2509
|
type ListPayload<P> = {
|
|
2510
|
-
readonly result:
|
|
2510
|
+
readonly result: P[];
|
|
2511
2511
|
readonly total: number;
|
|
2512
2512
|
readonly next?: number;
|
|
2513
2513
|
readonly time: PayloadTime;
|
|
@@ -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
package/dist/esm/oauth/auth.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.mjs","sources":["../../../src/oauth/auth.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios'\nimport type { AuthActions, AuthData, B24OAuthParams, B24OAuthSecret, CallbackRefreshAuth, CustomRefreshAuth, HandlerRefreshAuth, TypeDescriptionError, TypeDescriptionErrorV3 } from '../types/auth'\nimport type { TypeHttp } from '../types/http'\nimport axios, { AxiosError } from 'axios'\nimport { RefreshTokenError } from './refresh-token-error'\nimport { Type } from '../tools/type'\nimport { EnumAppStatus } from '../types/b24-helper'\nimport { ApiVersion } from '../types/b24'\n\n/**\n * OAuth Authorization Manager\n *\n * @link https://apidocs.bitrix24.com/settings/oauth/index.html\n * @link https://bitrix24.github.io/b24jssdk/docs/oauth/\n */\nexport class AuthOAuthManager implements AuthActions {\n #clientAxios: AxiosInstance\n #callbackRefreshAuth: null | CallbackRefreshAuth = null\n #customRefreshAuth: null | CustomRefreshAuth = null\n #authOptions: B24OAuthParams\n readonly #oAuthSecret: B24OAuthSecret\n #authExpires: number = 0\n #authExpiresIn: number = 0\n readonly #domain: string\n readonly #b24TargetRest: string\n readonly #b24Target: string\n readonly #b24TargetRestWithPath: Map<ApiVersion, string>\n readonly #oAuthTarget: string // 'https://oauth.bitrix.info'\n\n #isAdmin: null | boolean = null\n\n constructor(\n b24OAuthParams: B24OAuthParams,\n oAuthSecret: B24OAuthSecret\n ) {\n this.#authOptions = Object.assign({}, b24OAuthParams) as B24OAuthParams\n this.#oAuthSecret = Object.freeze(Object.assign({}, oAuthSecret)) as B24OAuthSecret\n\n this.#domain = this.#authOptions.domain\n .replaceAll('https://', '')\n .replaceAll('http://', '')\n .replace(/:(80|443)$/, '')\n\n this.#b24TargetRest = this.#authOptions.clientEndpoint\n this.#b24Target = this.#b24TargetRest.replace('/rest/', '')\n this.#oAuthTarget = this.#authOptions.serverEndpoint.replace('/rest/', '')\n this.#authExpires = this.#authOptions.expires * 1_000\n this.#authExpiresIn = this.#authOptions.expiresIn\n\n this.#clientAxios = axios.create({\n baseURL: this.#oAuthTarget,\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n\n this.#b24TargetRestWithPath = new Map()\n this.#b24TargetRestWithPath.set(ApiVersion.v2, `${this.#b24TargetRest}`)\n this.#b24TargetRestWithPath.set(ApiVersion.v3, `${this.#b24TargetRest}/api`)\n }\n\n /**\n * Returns authorization data\n * @see Http.#prepareParams\n */\n public getAuthData(): false | AuthData {\n return this.#authExpires > Date.now()\n ? ({\n access_token: this.#authOptions.accessToken,\n refresh_token: this.#authOptions.refreshToken,\n expires: this.#authExpires / 1_000,\n expires_in: this.#authExpiresIn,\n domain: this.#domain,\n member_id: this.#authOptions.memberId\n } as AuthData)\n : false\n }\n\n // region RefreshAuth ////\n /**\n * Updates authorization data\n */\n public async refreshAuth(): Promise<AuthData> {\n try {\n let payload: undefined | HandlerRefreshAuth = undefined\n\n if (this.#customRefreshAuth) {\n payload = await this.#customRefreshAuth()\n } else {\n const response = await this.#clientAxios.get(\n '/oauth/token/',\n {\n params: {\n grant_type: 'refresh_token',\n client_id: this.#oAuthSecret.clientId,\n client_secret: this.#oAuthSecret.clientSecret,\n refresh_token: this.#authOptions.refreshToken\n }\n }\n )\n\n if (response.data.error) {\n throw new Error(`Token update error: ${response.data.error}`)\n }\n if (response.status !== 200) {\n throw new Error(`Token update error status code: ${response.status}`)\n }\n\n /**\n * @memo domain = 'oauth.bitrix.info'\n */\n payload = response.data\n }\n\n if (!payload) {\n throw new Error('Unable to obtain authorization update data')\n }\n\n this.#authOptions.accessToken = payload.access_token\n this.#authOptions.refreshToken = payload.refresh_token\n this.#authOptions.expires = Number.parseInt(payload.expires || '0')\n this.#authOptions.expiresIn = Number.parseInt(payload.expires_in || '3600')\n this.#authOptions.clientEndpoint = payload.client_endpoint\n this.#authOptions.serverEndpoint = payload.server_endpoint\n this.#authOptions.scope = payload.scope\n this.#authOptions.status = Object.values(EnumAppStatus).find(value => value === payload.status) || EnumAppStatus.Free\n\n this.#authExpires = this.#authOptions.expires * 1_000\n\n const authData = this.getAuthData() as AuthData\n\n if (this.#callbackRefreshAuth) {\n await this.#callbackRefreshAuth({ authData, b24OAuthParams: this.#authOptions })\n }\n\n return authData\n } catch (error) {\n if (error instanceof AxiosError) {\n const answerError = {\n code: error?.code || 0,\n description: error?.message || ''\n }\n\n if (\n error.response\n && error.response.data\n && !Type.isUndefined(error.response.data.error)\n ) {\n const responseData = error.response.data as TypeDescriptionError | TypeDescriptionErrorV3\n\n if (\n responseData.error\n && typeof responseData.error === 'object'\n && 'code' in responseData.error\n ) {\n answerError.code = responseData.error.code\n answerError.description = responseData.error.message\n if (responseData.error.validation) {\n responseData.error.validation.forEach((row) => {\n answerError.description += `${row?.message || JSON.stringify(row)}`\n })\n }\n } else if (responseData.error && typeof responseData.error === 'string') {\n answerError.code = responseData.error\n answerError.description = (responseData as TypeDescriptionError)?.error_description ?? answerError.description\n }\n }\n\n throw new RefreshTokenError({\n code: String(answerError.code),\n description: answerError.description,\n status: error.response?.status || 0\n })\n } else if (error instanceof Error) {\n throw error\n }\n\n throw new Error(\n `Strange error: ${error instanceof Error ? error.message : error}`,\n { cause: error }\n )\n }\n }\n\n public setCallbackRefreshAuth(cb: CallbackRefreshAuth): void {\n this.#callbackRefreshAuth = cb\n }\n\n public removeCallbackRefreshAuth(): void {\n this.#callbackRefreshAuth = null\n }\n\n public setCustomRefreshAuth(cb: CustomRefreshAuth): void {\n this.#customRefreshAuth = cb\n }\n\n public removeCustomRefreshAuth(): void {\n this.#customRefreshAuth = null\n }\n // endregion ////\n\n public getUniq(prefix: string): string {\n return [prefix, this.#authOptions.memberId || ''].join('_')\n }\n\n /**\n * @inheritDoc\n */\n public getTargetOrigin(): string {\n return `${this.#b24Target}`\n }\n\n /**\n * @inheritDoc\n */\n public getTargetOriginWithPath(): Map<ApiVersion, string> {\n return this.#b24TargetRestWithPath\n }\n\n /**\n * Determines whether the current user has administrator rights\n */\n get isAdmin(): boolean {\n if (null === this.#isAdmin) {\n throw new Error('isAdmin not init. You need call B24OAuth::initIsAdmin().')\n }\n\n return this.#isAdmin\n }\n\n public async initIsAdmin(http: TypeHttp, requestId?: string): Promise<void> {\n // set def value\n this.#isAdmin = false\n\n // region ver3 ////\n /**\n * This is just a template. When API.v3 arrives, we'll replace it.\n * @todo fix then the new API will be available\n */\n if (http.apiVersion === ApiVersion.v3) {\n const response = await http.call('profile', {}, requestId)\n if (!response.isSuccess) {\n throw new Error(response.getErrorMessages().join(';'))\n }\n\n const data: { profile: { id: number, admin: boolean } } = response.getData()!.result\n\n if (data.profile?.admin) {\n this.#isAdmin = true\n }\n\n return\n }\n // endregion ////\n\n // region ver2 ////\n const response = await http.call('profile', {}, requestId)\n if (!response.isSuccess) {\n throw new Error(response.getErrorMessages().join(';'))\n }\n\n const data: {\n ID: number\n ADMIN: boolean\n } = response.getData()!.result\n\n if (data?.ADMIN) {\n this.#isAdmin = true\n }\n // endregion ////\n }\n}\n"],"names":["response","data"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.mjs","sources":["../../../src/oauth/auth.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios'\nimport type { AuthActions, AuthData, B24OAuthParams, B24OAuthSecret, CallbackRefreshAuth, CustomRefreshAuth, HandlerRefreshAuth, TypeDescriptionError, TypeDescriptionErrorV3 } from '../types/auth'\nimport type { TypeHttp } from '../types/http'\nimport axios, { AxiosError } from 'axios'\nimport { RefreshTokenError } from './refresh-token-error'\nimport { Type } from '../tools/type'\nimport { EnumAppStatus } from '../types/b24-helper'\nimport { ApiVersion } from '../types/b24'\n\n/**\n * OAuth Authorization Manager\n *\n * @link https://apidocs.bitrix24.com/settings/oauth/index.html\n * @link https://bitrix24.github.io/b24jssdk/docs/oauth/\n */\nexport class AuthOAuthManager implements AuthActions {\n #clientAxios: AxiosInstance\n #callbackRefreshAuth: null | CallbackRefreshAuth = null\n #customRefreshAuth: null | CustomRefreshAuth = null\n #authOptions: B24OAuthParams\n readonly #oAuthSecret: B24OAuthSecret\n #authExpires: number = 0\n #authExpiresIn: number = 0\n readonly #domain: string\n readonly #b24TargetRest: string\n readonly #b24Target: string\n readonly #b24TargetRestWithPath: Map<ApiVersion, string>\n readonly #oAuthTarget: string // 'https://oauth.bitrix.info'\n\n #isAdmin: null | boolean = null\n\n constructor(\n b24OAuthParams: B24OAuthParams,\n oAuthSecret: B24OAuthSecret\n ) {\n this.#authOptions = Object.assign({}, b24OAuthParams) as B24OAuthParams\n this.#oAuthSecret = Object.freeze(Object.assign({}, oAuthSecret)) as B24OAuthSecret\n\n this.#domain = this.#authOptions.domain\n .replaceAll('https://', '')\n .replaceAll('http://', '')\n .replace(/:(80|443)$/, '')\n\n this.#b24TargetRest = this.#authOptions.clientEndpoint\n this.#b24Target = this.#b24TargetRest.replace('/rest/', '')\n this.#oAuthTarget = this.#authOptions.serverEndpoint.replace('/rest/', '')\n this.#authExpires = this.#authOptions.expires * 1_000\n this.#authExpiresIn = this.#authOptions.expiresIn\n\n this.#clientAxios = axios.create({\n baseURL: this.#oAuthTarget,\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n\n this.#b24TargetRestWithPath = new Map()\n this.#b24TargetRestWithPath.set(ApiVersion.v2, `${this.#b24TargetRest}`)\n this.#b24TargetRestWithPath.set(ApiVersion.v3, `${this.#b24TargetRest}/api`)\n }\n\n /**\n * Returns authorization data\n * @see Http.#prepareParams\n */\n public getAuthData(): false | AuthData {\n return this.#authExpires > Date.now()\n ? ({\n access_token: this.#authOptions.accessToken,\n refresh_token: this.#authOptions.refreshToken,\n expires: this.#authExpires / 1_000,\n expires_in: this.#authExpiresIn,\n domain: this.#domain,\n member_id: this.#authOptions.memberId\n } as AuthData)\n : false\n }\n\n // region RefreshAuth ////\n /**\n * Updates authorization data\n */\n public async refreshAuth(): Promise<AuthData> {\n try {\n let payload: undefined | HandlerRefreshAuth = undefined\n\n if (this.#customRefreshAuth) {\n payload = await this.#customRefreshAuth()\n } else {\n const response = await this.#clientAxios.get(\n '/oauth/token/',\n {\n params: {\n grant_type: 'refresh_token',\n client_id: this.#oAuthSecret.clientId,\n client_secret: this.#oAuthSecret.clientSecret,\n refresh_token: this.#authOptions.refreshToken\n }\n }\n )\n\n if (response.data.error) {\n throw new Error(`Token update error: ${response.data.error}`)\n }\n if (response.status !== 200) {\n throw new Error(`Token update error status code: ${response.status}`)\n }\n\n /**\n * @memo domain = 'oauth.bitrix.info'\n */\n payload = response.data\n }\n\n if (!payload) {\n throw new Error('Unable to obtain authorization update data')\n }\n\n this.#authOptions.accessToken = payload.access_token\n this.#authOptions.refreshToken = payload.refresh_token\n this.#authOptions.expires = Number.parseInt(payload.expires || '0')\n this.#authOptions.expiresIn = Number.parseInt(payload.expires_in || '3600')\n this.#authOptions.clientEndpoint = payload.client_endpoint\n this.#authOptions.serverEndpoint = payload.server_endpoint\n this.#authOptions.scope = payload.scope\n this.#authOptions.status = Object.values(EnumAppStatus).find(value => value === payload.status) || EnumAppStatus.Free\n\n this.#authExpires = this.#authOptions.expires * 1_000\n\n const authData = this.getAuthData() as AuthData\n\n if (this.#callbackRefreshAuth) {\n await this.#callbackRefreshAuth({ authData, b24OAuthParams: this.#authOptions })\n }\n\n return authData\n } catch (error) {\n if (error instanceof AxiosError) {\n const answerError = {\n code: error?.code || 0,\n description: error?.message || ''\n }\n\n if (\n error.response\n && error.response.data\n && !Type.isUndefined(error.response.data.error)\n ) {\n const responseData = error.response.data as TypeDescriptionError | TypeDescriptionErrorV3\n\n if (\n responseData.error\n && typeof responseData.error === 'object'\n && 'code' in responseData.error\n ) {\n answerError.code = responseData.error.code\n answerError.description = responseData.error.message\n if (responseData.error.validation) {\n responseData.error.validation.forEach((row) => {\n answerError.description += `${row?.message || JSON.stringify(row)}`\n })\n }\n } else if (responseData.error && typeof responseData.error === 'string') {\n answerError.code = responseData.error\n answerError.description = (responseData as TypeDescriptionError)?.error_description ?? answerError.description\n }\n }\n\n throw new RefreshTokenError({\n code: String(answerError.code),\n description: answerError.description,\n status: error.response?.status || 0\n })\n } else if (error instanceof Error) {\n throw error\n }\n\n throw new Error(\n `Strange error: ${error instanceof Error ? error.message : error}`,\n { cause: error }\n )\n }\n }\n\n public setCallbackRefreshAuth(cb: CallbackRefreshAuth): void {\n this.#callbackRefreshAuth = cb\n }\n\n public removeCallbackRefreshAuth(): void {\n this.#callbackRefreshAuth = null\n }\n\n public setCustomRefreshAuth(cb: CustomRefreshAuth): void {\n this.#customRefreshAuth = cb\n }\n\n public removeCustomRefreshAuth(): void {\n this.#customRefreshAuth = null\n }\n // endregion ////\n\n public getUniq(prefix: string): string {\n return [prefix, this.#authOptions.memberId || ''].join('_')\n }\n\n /**\n * @inheritDoc\n */\n public getTargetOrigin(): string {\n return `${this.#b24Target}`\n }\n\n /**\n * @inheritDoc\n */\n public getTargetOriginWithPath(): Map<ApiVersion, string> {\n return this.#b24TargetRestWithPath\n }\n\n /**\n * Determines whether the current user has administrator rights\n */\n get isAdmin(): boolean {\n if (null === this.#isAdmin) {\n throw new Error('isAdmin not init. You need call B24OAuth::initIsAdmin().')\n }\n\n return this.#isAdmin\n }\n\n public async initIsAdmin(http: TypeHttp, requestId?: string): Promise<void> {\n // set def value\n this.#isAdmin = false\n\n // region ver3 ////\n /**\n * This is just a template. When API.v3 arrives, we'll replace it.\n * @todo fix then the new API will be available\n */\n if (http.apiVersion === ApiVersion.v3) {\n const response = await http.call('profile', {}, requestId)\n if (!response.isSuccess) {\n throw new Error(response.getErrorMessages().join(';'))\n }\n\n const data: { profile: { id: number, admin: boolean } } = response.getData()!.result as any\n\n if (data.profile?.admin) {\n this.#isAdmin = true\n }\n\n return\n }\n // endregion ////\n\n // region ver2 ////\n const response = await http.call('profile', {}, requestId)\n if (!response.isSuccess) {\n throw new Error(response.getErrorMessages().join(';'))\n }\n\n const data: { ID: number, ADMIN: boolean } = response.getData()!.result as any\n\n if (data?.ADMIN) {\n this.#isAdmin = true\n }\n // endregion ////\n }\n}\n"],"names":["response","data"],"mappings":"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"}
|
package/dist/esm/oauth/b24.mjs
CHANGED