@bitrix24/b24jssdk 1.3.0 → 2.0.0
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/README-AI.md +3 -2
- package/README.md +2 -0
- package/dist/cjs/_virtual/_commonjsHelpers.cjs +19 -0
- package/dist/cjs/_virtual/_commonjsHelpers.cjs.map +1 -0
- package/dist/cjs/_virtual/protobuf.cjs +20 -0
- package/dist/cjs/_virtual/protobuf.cjs.map +1 -0
- package/dist/cjs/_virtual/protobuf2.cjs +14 -0
- package/dist/cjs/_virtual/protobuf2.cjs.map +1 -0
- package/dist/cjs/core/abstract-b24.cjs +357 -0
- package/dist/cjs/core/abstract-b24.cjs.map +1 -0
- package/dist/cjs/core/actions/abstract-action.cjs +26 -0
- package/dist/cjs/core/actions/abstract-action.cjs.map +1 -0
- package/dist/cjs/core/actions/abstract-batch.cjs +97 -0
- package/dist/cjs/core/actions/abstract-batch.cjs.map +1 -0
- package/dist/cjs/core/actions/manager.cjs +55 -0
- package/dist/cjs/core/actions/manager.cjs.map +1 -0
- package/dist/cjs/core/actions/v2/batch-by-chunk.cjs +95 -0
- package/dist/cjs/core/actions/v2/batch-by-chunk.cjs.map +1 -0
- package/dist/cjs/core/actions/v2/batch.cjs +128 -0
- package/dist/cjs/core/actions/v2/batch.cjs.map +1 -0
- package/dist/cjs/core/actions/v2/call-list.cjs +144 -0
- package/dist/cjs/core/actions/v2/call-list.cjs.map +1 -0
- package/dist/cjs/core/actions/v2/call.cjs +56 -0
- package/dist/cjs/core/actions/v2/call.cjs.map +1 -0
- package/dist/cjs/core/actions/v2/fetch-list.cjs +145 -0
- package/dist/cjs/core/actions/v2/fetch-list.cjs.map +1 -0
- package/dist/cjs/core/actions/v2/manager-v2.cjs +76 -0
- package/dist/cjs/core/actions/v2/manager-v2.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/_keyset-paginate.cjs +69 -0
- package/dist/cjs/core/actions/v3/_keyset-paginate.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/aggregate.cjs +96 -0
- package/dist/cjs/core/actions/v3/aggregate.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/batch-by-chunk.cjs +93 -0
- package/dist/cjs/core/actions/v3/batch-by-chunk.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/batch.cjs +122 -0
- package/dist/cjs/core/actions/v3/batch.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/call-list.cjs +126 -0
- package/dist/cjs/core/actions/v3/call-list.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/call-tail.cjs +118 -0
- package/dist/cjs/core/actions/v3/call-tail.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/call.cjs +51 -0
- package/dist/cjs/core/actions/v3/call.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/fetch-list.cjs +122 -0
- package/dist/cjs/core/actions/v3/fetch-list.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/fetch-tail.cjs +112 -0
- package/dist/cjs/core/actions/v3/fetch-tail.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/manager-v3.cjs +100 -0
- package/dist/cjs/core/actions/v3/manager-v3.cjs.map +1 -0
- package/dist/cjs/core/http/abstract-http.cjs +641 -0
- package/dist/cjs/core/http/abstract-http.cjs.map +1 -0
- package/dist/cjs/core/http/ajax-error.cjs +113 -0
- package/dist/cjs/core/http/ajax-error.cjs.map +1 -0
- package/dist/cjs/core/http/ajax-result.cjs +219 -0
- package/dist/cjs/core/http/ajax-result.cjs.map +1 -0
- package/dist/cjs/core/http/limiters/adaptive-delayer.cjs +137 -0
- package/dist/cjs/core/http/limiters/adaptive-delayer.cjs.map +1 -0
- package/dist/cjs/core/http/limiters/manager.cjs +373 -0
- package/dist/cjs/core/http/limiters/manager.cjs.map +1 -0
- package/dist/cjs/core/http/limiters/operating-limiter.cjs +173 -0
- package/dist/cjs/core/http/limiters/operating-limiter.cjs.map +1 -0
- package/dist/cjs/core/http/limiters/params-factory.cjs +124 -0
- package/dist/cjs/core/http/limiters/params-factory.cjs.map +1 -0
- package/dist/cjs/core/http/limiters/rate-limiter.cjs +404 -0
- package/dist/cjs/core/http/limiters/rate-limiter.cjs.map +1 -0
- package/dist/cjs/core/http/redact.cjs +85 -0
- package/dist/cjs/core/http/redact.cjs.map +1 -0
- package/dist/cjs/core/http/v2.cjs +85 -0
- package/dist/cjs/core/http/v2.cjs.map +1 -0
- package/dist/cjs/core/http/v3.cjs +82 -0
- package/dist/cjs/core/http/v3.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/abstract-interaction-batch.cjs +71 -0
- package/dist/cjs/core/interaction/batch/abstract-interaction-batch.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/parse-row.cjs +69 -0
- package/dist/cjs/core/interaction/batch/parse-row.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/interface-strategy.cjs +87 -0
- package/dist/cjs/core/interaction/batch/processing/interface-strategy.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/v2/abstract-processing.cjs +138 -0
- package/dist/cjs/core/interaction/batch/processing/v2/abstract-processing.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/v2/as-array.cjs +34 -0
- package/dist/cjs/core/interaction/batch/processing/v2/as-array.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/v2/as-object.cjs +34 -0
- package/dist/cjs/core/interaction/batch/processing/v2/as-object.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/v3/abstract-processing.cjs +115 -0
- package/dist/cjs/core/interaction/batch/processing/v3/abstract-processing.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/v3/as-array.cjs +34 -0
- package/dist/cjs/core/interaction/batch/processing/v3/as-array.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/v3/as-object.cjs +34 -0
- package/dist/cjs/core/interaction/batch/processing/v3/as-object.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/v2.cjs +47 -0
- package/dist/cjs/core/interaction/batch/v2.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/v3.cjs +45 -0
- package/dist/cjs/core/interaction/batch/v3.cjs.map +1 -0
- package/dist/cjs/core/language/list.cjs +59 -0
- package/dist/cjs/core/language/list.cjs.map +1 -0
- package/dist/cjs/core/request-id-generator.cjs +44 -0
- package/dist/cjs/core/request-id-generator.cjs.map +1 -0
- package/dist/cjs/core/result.cjs +137 -0
- package/dist/cjs/core/result.cjs.map +1 -0
- package/dist/cjs/core/sdk-error.cjs +85 -0
- package/dist/cjs/core/sdk-error.cjs.map +1 -0
- package/dist/cjs/core/tools/abstract-tool.cjs +26 -0
- package/dist/cjs/core/tools/abstract-tool.cjs.map +1 -0
- package/dist/cjs/core/tools/healthcheck.cjs +50 -0
- package/dist/cjs/core/tools/healthcheck.cjs.map +1 -0
- package/dist/cjs/core/tools/manager.cjs +52 -0
- package/dist/cjs/core/tools/manager.cjs.map +1 -0
- package/dist/cjs/core/tools/ping.cjs +58 -0
- package/dist/cjs/core/tools/ping.cjs.map +1 -0
- package/dist/cjs/core/version-manager.cjs +57 -0
- package/dist/cjs/core/version-manager.cjs.map +1 -0
- package/dist/cjs/frame/auth.cjs +100 -0
- package/dist/cjs/frame/auth.cjs.map +1 -0
- package/dist/cjs/frame/b24.cjs +178 -0
- package/dist/cjs/frame/b24.cjs.map +1 -0
- package/dist/cjs/frame/dialog.cjs +120 -0
- package/dist/cjs/frame/dialog.cjs.map +1 -0
- package/dist/cjs/frame/frame.cjs +103 -0
- package/dist/cjs/frame/frame.cjs.map +1 -0
- package/dist/cjs/frame/message/commands.cjs +39 -0
- package/dist/cjs/frame/message/commands.cjs.map +1 -0
- package/dist/cjs/frame/message/controller.cjs +191 -0
- package/dist/cjs/frame/message/controller.cjs.map +1 -0
- package/dist/cjs/frame/options.cjs +108 -0
- package/dist/cjs/frame/options.cjs.map +1 -0
- package/dist/cjs/frame/parent.cjs +259 -0
- package/dist/cjs/frame/parent.cjs.map +1 -0
- package/dist/cjs/frame/placement.cjs +156 -0
- package/dist/cjs/frame/placement.cjs.map +1 -0
- package/dist/cjs/frame/slider.cjs +162 -0
- package/dist/cjs/frame/slider.cjs.map +1 -0
- package/dist/cjs/helper/abstract-helper.cjs +55 -0
- package/dist/cjs/helper/abstract-helper.cjs.map +1 -0
- package/dist/cjs/helper/app-manager.cjs +39 -0
- package/dist/cjs/helper/app-manager.cjs.map +1 -0
- package/dist/cjs/helper/currency-manager.cjs +215 -0
- package/dist/cjs/helper/currency-manager.cjs.map +1 -0
- package/dist/cjs/helper/helper-manager.cjs +397 -0
- package/dist/cjs/helper/helper-manager.cjs.map +1 -0
- package/dist/cjs/helper/license-manager.cjs +52 -0
- package/dist/cjs/helper/license-manager.cjs.map +1 -0
- package/dist/cjs/helper/options-manager.cjs +205 -0
- package/dist/cjs/helper/options-manager.cjs.map +1 -0
- package/dist/cjs/helper/payment-manager.cjs +35 -0
- package/dist/cjs/helper/payment-manager.cjs.map +1 -0
- package/dist/cjs/helper/profile-manager.cjs +35 -0
- package/dist/cjs/helper/profile-manager.cjs.map +1 -0
- package/dist/cjs/helper/use-b24-helper.cjs +85 -0
- package/dist/cjs/helper/use-b24-helper.cjs.map +1 -0
- package/dist/cjs/hook/auth.cjs +79 -0
- package/dist/cjs/hook/auth.cjs.map +1 -0
- package/dist/cjs/hook/b24.cjs +117 -0
- package/dist/cjs/hook/b24.cjs.map +1 -0
- package/dist/cjs/index.cjs +176 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.d.cts +6415 -0
- package/dist/cjs/index.d.mts +6415 -0
- package/dist/cjs/index.d.ts +6415 -0
- package/dist/cjs/loader-b24frame.cjs +103 -0
- package/dist/cjs/loader-b24frame.cjs.map +1 -0
- package/dist/cjs/logger/abstract-logger.cjs +71 -0
- package/dist/cjs/logger/abstract-logger.cjs.map +1 -0
- package/dist/cjs/logger/browser.cjs +165 -0
- package/dist/cjs/logger/browser.cjs.map +1 -0
- package/dist/cjs/logger/formatter/abstract-formatter.cjs +36 -0
- package/dist/cjs/logger/formatter/abstract-formatter.cjs.map +1 -0
- package/dist/cjs/logger/formatter/json-formatter.cjs +36 -0
- package/dist/cjs/logger/formatter/json-formatter.cjs.map +1 -0
- package/dist/cjs/logger/formatter/line-formatter.cjs +43 -0
- package/dist/cjs/logger/formatter/line-formatter.cjs.map +1 -0
- package/dist/cjs/logger/formatter/telegram-formatter.cjs +105 -0
- package/dist/cjs/logger/formatter/telegram-formatter.cjs.map +1 -0
- package/dist/cjs/logger/handler/abstract-handler.cjs +41 -0
- package/dist/cjs/logger/handler/abstract-handler.cjs.map +1 -0
- package/dist/cjs/logger/handler/consola-adapter.cjs +64 -0
- package/dist/cjs/logger/handler/consola-adapter.cjs.map +1 -0
- package/dist/cjs/logger/handler/console-handler.cjs +100 -0
- package/dist/cjs/logger/handler/console-handler.cjs.map +1 -0
- package/dist/cjs/logger/handler/console-v2-handler.cjs +53 -0
- package/dist/cjs/logger/handler/console-v2-handler.cjs.map +1 -0
- package/dist/cjs/logger/handler/memory-handler.cjs +50 -0
- package/dist/cjs/logger/handler/memory-handler.cjs.map +1 -0
- package/dist/cjs/logger/handler/stream-handler.cjs +75 -0
- package/dist/cjs/logger/handler/stream-handler.cjs.map +1 -0
- package/dist/cjs/logger/handler/telegram-handler.cjs +159 -0
- package/dist/cjs/logger/handler/telegram-handler.cjs.map +1 -0
- package/dist/cjs/logger/handler/winston-adapter.cjs +59 -0
- package/dist/cjs/logger/handler/winston-adapter.cjs.map +1 -0
- package/dist/cjs/logger/logger-factory.cjs +69 -0
- package/dist/cjs/logger/logger-factory.cjs.map +1 -0
- package/dist/cjs/logger/logger.cjs +78 -0
- package/dist/cjs/logger/logger.cjs.map +1 -0
- package/dist/cjs/logger/null-logger.cjs +34 -0
- package/dist/cjs/logger/null-logger.cjs.map +1 -0
- package/dist/cjs/logger/processor/memory-usage-processor.cjs +22 -0
- package/dist/cjs/logger/processor/memory-usage-processor.cjs.map +1 -0
- package/dist/cjs/logger/processor/pid-processor.cjs +22 -0
- package/dist/cjs/logger/processor/pid-processor.cjs.map +1 -0
- package/dist/cjs/oauth/auth.cjs +214 -0
- package/dist/cjs/oauth/auth.cjs.map +1 -0
- package/dist/cjs/oauth/b24.cjs +119 -0
- package/dist/cjs/oauth/b24.cjs.map +1 -0
- package/dist/cjs/oauth/refresh-token-error.cjs +22 -0
- package/dist/cjs/oauth/refresh-token-error.cjs.map +1 -0
- package/dist/cjs/pullClient/abstract-connector.cjs +80 -0
- package/dist/cjs/pullClient/abstract-connector.cjs.map +1 -0
- package/dist/cjs/pullClient/channel-manager.cjs +91 -0
- package/dist/cjs/pullClient/channel-manager.cjs.map +1 -0
- package/dist/cjs/pullClient/client.cjs +2177 -0
- package/dist/cjs/pullClient/client.cjs.map +1 -0
- package/dist/cjs/pullClient/errors.cjs +34 -0
- package/dist/cjs/pullClient/errors.cjs.map +1 -0
- package/dist/cjs/pullClient/json-rpc.cjs +213 -0
- package/dist/cjs/pullClient/json-rpc.cjs.map +1 -0
- package/dist/cjs/pullClient/long-polling-connector.cjs +159 -0
- package/dist/cjs/pullClient/long-polling-connector.cjs.map +1 -0
- package/dist/cjs/pullClient/protobuf/index.cjs +22 -0
- package/dist/cjs/pullClient/protobuf/index.cjs.map +1 -0
- package/dist/cjs/pullClient/protobuf/model.cjs +1060 -0
- package/dist/cjs/pullClient/protobuf/model.cjs.map +1 -0
- package/dist/cjs/pullClient/protobuf/protobuf.cjs +4655 -0
- package/dist/cjs/pullClient/protobuf/protobuf.cjs.map +1 -0
- package/dist/cjs/pullClient/shared-config.cjs +135 -0
- package/dist/cjs/pullClient/shared-config.cjs.map +1 -0
- package/dist/cjs/pullClient/storage-manager.cjs +74 -0
- package/dist/cjs/pullClient/storage-manager.cjs.map +1 -0
- package/dist/cjs/pullClient/web-socket-connector.cjs +131 -0
- package/dist/cjs/pullClient/web-socket-connector.cjs.map +1 -0
- package/dist/cjs/tools/batch-ref-v3.cjs +54 -0
- package/dist/cjs/tools/batch-ref-v3.cjs.map +1 -0
- package/dist/cjs/tools/browser.cjs +156 -0
- package/dist/cjs/tools/browser.cjs.map +1 -0
- package/dist/cjs/tools/environment.cjs +32 -0
- package/dist/cjs/tools/environment.cjs.map +1 -0
- package/dist/cjs/tools/filter-v3.cjs +139 -0
- package/dist/cjs/tools/filter-v3.cjs.map +1 -0
- package/dist/cjs/tools/formatters/iban.cjs +307 -0
- package/dist/cjs/tools/formatters/iban.cjs.map +1 -0
- package/dist/cjs/tools/formatters/numbers.cjs +68 -0
- package/dist/cjs/tools/formatters/numbers.cjs.map +1 -0
- package/dist/cjs/tools/index.cjs +42 -0
- package/dist/cjs/tools/index.cjs.map +1 -0
- package/dist/cjs/tools/scroll-size.cjs +29 -0
- package/dist/cjs/tools/scroll-size.cjs.map +1 -0
- package/dist/cjs/tools/text.cjs +210 -0
- package/dist/cjs/tools/text.cjs.map +1 -0
- package/dist/cjs/tools/type.cjs +339 -0
- package/dist/cjs/tools/type.cjs.map +1 -0
- package/dist/cjs/tools/use-formatters.cjs +462 -0
- package/dist/cjs/tools/use-formatters.cjs.map +1 -0
- package/dist/cjs/tools/uuidv7.cjs +58 -0
- package/dist/cjs/tools/uuidv7.cjs.map +1 -0
- package/dist/cjs/types/b24-helper.cjs +62 -0
- package/dist/cjs/types/b24-helper.cjs.map +1 -0
- package/dist/cjs/types/b24.cjs +18 -0
- package/dist/cjs/types/b24.cjs.map +1 -0
- package/dist/cjs/types/bizproc/index.cjs +195 -0
- package/dist/cjs/types/bizproc/index.cjs.map +1 -0
- package/dist/cjs/types/catalog/index.cjs +39 -0
- package/dist/cjs/types/catalog/index.cjs.map +1 -0
- package/dist/cjs/types/common.cjs +33 -0
- package/dist/cjs/types/common.cjs.map +1 -0
- package/dist/cjs/types/crm/entity-type.cjs +62 -0
- package/dist/cjs/types/crm/entity-type.cjs.map +1 -0
- package/dist/cjs/types/crm/productrow.cjs +19 -0
- package/dist/cjs/types/crm/productrow.cjs.map +1 -0
- package/dist/cjs/types/logger.cjs +24 -0
- package/dist/cjs/types/logger.cjs.map +1 -0
- package/dist/cjs/types/pull.cjs +94 -0
- package/dist/cjs/types/pull.cjs.map +1 -0
- 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 -15
- package/dist/esm/core/actions/v2/call.mjs.map +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/_keyset-paginate.mjs +66 -0
- package/dist/esm/core/actions/v3/_keyset-paginate.mjs.map +1 -0
- package/dist/esm/core/actions/v3/aggregate.mjs +94 -0
- package/dist/esm/core/actions/v3/aggregate.mjs.map +1 -0
- package/dist/esm/core/actions/v3/batch-by-chunk.mjs +1 -1
- package/dist/esm/core/actions/v3/batch.mjs +1 -10
- package/dist/esm/core/actions/v3/batch.mjs.map +1 -1
- package/dist/esm/core/actions/v3/call-list.mjs +30 -44
- package/dist/esm/core/actions/v3/call-list.mjs.map +1 -1
- package/dist/esm/core/actions/v3/call-tail.mjs +116 -0
- package/dist/esm/core/actions/v3/call-tail.mjs.map +1 -0
- package/dist/esm/core/actions/v3/call.mjs +1 -10
- package/dist/esm/core/actions/v3/call.mjs.map +1 -1
- package/dist/esm/core/actions/v3/fetch-list.mjs +24 -41
- package/dist/esm/core/actions/v3/fetch-list.mjs.map +1 -1
- package/dist/esm/core/actions/v3/fetch-tail.mjs +110 -0
- package/dist/esm/core/actions/v3/fetch-tail.mjs.map +1 -0
- package/dist/esm/core/actions/v3/manager-v3.mjs +25 -1
- package/dist/esm/core/actions/v3/manager-v3.mjs.map +1 -1
- package/dist/esm/core/http/abstract-http.mjs +68 -17
- package/dist/esm/core/http/abstract-http.mjs.map +1 -1
- package/dist/esm/core/http/ajax-error.mjs +1 -1
- package/dist/esm/core/http/ajax-result.mjs +9 -8
- package/dist/esm/core/http/ajax-result.mjs.map +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/redact.mjs +41 -13
- package/dist/esm/core/http/redact.mjs.map +1 -1
- package/dist/esm/core/http/v2.mjs +1 -18
- package/dist/esm/core/http/v2.mjs.map +1 -1
- package/dist/esm/core/http/v3.mjs +1 -15
- package/dist/esm/core/http/v3.mjs.map +1 -1
- 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 +44 -1
- package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs.map +1 -1
- package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs +7 -6
- package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs.map +1 -1
- package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs +3 -3
- package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs.map +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 +7 -19
- package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs.map +1 -1
- package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs +3 -3
- package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs.map +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 +11 -4
- package/dist/esm/core/result.mjs.map +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 +19 -157
- package/dist/esm/core/version-manager.mjs.map +1 -1
- package/dist/esm/frame/auth.mjs +1 -1
- package/dist/esm/frame/b24.mjs +8 -2
- package/dist/esm/frame/b24.mjs.map +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 +17 -6
- package/dist/esm/frame/message/controller.mjs.map +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 +1 -1
- package/dist/esm/helper/license-manager.mjs +1 -1
- package/dist/esm/helper/options-manager.mjs +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 +1 -1
- package/dist/esm/hook/auth.mjs +1 -1
- package/dist/esm/hook/b24.mjs +3 -3
- package/dist/esm/hook/b24.mjs.map +1 -1
- package/dist/esm/index.d.mts +412 -39
- package/dist/esm/index.d.ts +412 -39
- package/dist/esm/index.mjs +3 -1
- package/dist/esm/index.mjs.map +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 +13 -16
- 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 +141 -30
- package/dist/esm/pullClient/client.mjs.map +1 -1
- package/dist/esm/pullClient/errors.mjs +1 -1
- package/dist/esm/pullClient/json-rpc.mjs +5 -4
- package/dist/esm/pullClient/json-rpc.mjs.map +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/batch-ref-v3.mjs +52 -0
- package/dist/esm/tools/batch-ref-v3.mjs.map +1 -0
- package/dist/esm/tools/browser.mjs +1 -1
- package/dist/esm/tools/environment.mjs +1 -1
- package/dist/esm/tools/filter-v3.mjs +137 -0
- package/dist/esm/tools/filter-v3.mjs.map +1 -0
- 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 +1258 -719
- 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/dist/umd/package.json +3 -0
- package/package.json +12 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency-manager.cjs","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":["AbstractHelper","Type","Text","UnhandledMatchError"],"mappings":"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"}
|
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @package @bitrix24/b24jssdk
|
|
3
|
+
* @version 2.0.0
|
|
4
|
+
* @copyright (c) 2026 Bitrix24
|
|
5
|
+
* @license MIT
|
|
6
|
+
* @see https://github.com/bitrix24/b24jssdk
|
|
7
|
+
* @see https://bitrix24.github.io/b24jssdk/
|
|
8
|
+
*/
|
|
9
|
+
'use strict';
|
|
10
|
+
|
|
11
|
+
const profileManager = require('./profile-manager.cjs');
|
|
12
|
+
const appManager = require('./app-manager.cjs');
|
|
13
|
+
const paymentManager = require('./payment-manager.cjs');
|
|
14
|
+
const licenseManager = require('./license-manager.cjs');
|
|
15
|
+
const currencyManager = require('./currency-manager.cjs');
|
|
16
|
+
const optionsManager = require('./options-manager.cjs');
|
|
17
|
+
const text = require('../tools/text.cjs');
|
|
18
|
+
const b24Helper = require('../types/b24-helper.cjs');
|
|
19
|
+
const loggerFactory = require('../logger/logger-factory.cjs');
|
|
20
|
+
const client = require('../pullClient/client.cjs');
|
|
21
|
+
|
|
22
|
+
var __defProp = Object.defineProperty;
|
|
23
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
24
|
+
class B24HelperManager {
|
|
25
|
+
static {
|
|
26
|
+
__name(this, "B24HelperManager");
|
|
27
|
+
}
|
|
28
|
+
_b24;
|
|
29
|
+
_isInit = false;
|
|
30
|
+
_profile = null;
|
|
31
|
+
_app = null;
|
|
32
|
+
_payment = null;
|
|
33
|
+
_license = null;
|
|
34
|
+
_currency = null;
|
|
35
|
+
_appOptions = null;
|
|
36
|
+
_userOptions = null;
|
|
37
|
+
_b24PullClient = null;
|
|
38
|
+
_pullClientUnSubscribe = [];
|
|
39
|
+
_pullClientModuleId = "";
|
|
40
|
+
_logger;
|
|
41
|
+
constructor(b24) {
|
|
42
|
+
this._logger = loggerFactory.LoggerFactory.createNullLogger();
|
|
43
|
+
this._b24 = b24;
|
|
44
|
+
}
|
|
45
|
+
setLogger(logger) {
|
|
46
|
+
this._logger = logger;
|
|
47
|
+
if (null !== this._profile) {
|
|
48
|
+
this._profile.setLogger(this.getLogger());
|
|
49
|
+
}
|
|
50
|
+
if (null !== this._app) {
|
|
51
|
+
this._app.setLogger(this.getLogger());
|
|
52
|
+
}
|
|
53
|
+
if (null !== this._payment) {
|
|
54
|
+
this._payment.setLogger(this.getLogger());
|
|
55
|
+
}
|
|
56
|
+
if (null !== this._license) {
|
|
57
|
+
this._license.setLogger(this.getLogger());
|
|
58
|
+
}
|
|
59
|
+
if (null !== this._currency) {
|
|
60
|
+
this._currency.setLogger(this.getLogger());
|
|
61
|
+
}
|
|
62
|
+
if (null !== this._appOptions) {
|
|
63
|
+
this._appOptions.setLogger(this.getLogger());
|
|
64
|
+
}
|
|
65
|
+
if (null !== this._userOptions) {
|
|
66
|
+
this._userOptions.setLogger(this.getLogger());
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
getLogger() {
|
|
70
|
+
return this._logger;
|
|
71
|
+
}
|
|
72
|
+
destroy() {
|
|
73
|
+
this._destroyPullClient();
|
|
74
|
+
}
|
|
75
|
+
// region loadData ////
|
|
76
|
+
async loadData(dataTypes = [b24Helper.LoadDataType.App, b24Helper.LoadDataType.Profile], requestId = `helper-load-data`) {
|
|
77
|
+
const batchMethods = {
|
|
78
|
+
[b24Helper.LoadDataType.App]: { method: "app.info" },
|
|
79
|
+
[b24Helper.LoadDataType.Profile]: { method: "profile" },
|
|
80
|
+
[b24Helper.LoadDataType.Currency]: [
|
|
81
|
+
{ method: "crm.currency.base.get" },
|
|
82
|
+
{ method: "crm.currency.list" }
|
|
83
|
+
],
|
|
84
|
+
[b24Helper.LoadDataType.AppOptions]: { method: "app.option.get" },
|
|
85
|
+
[b24Helper.LoadDataType.UserOptions]: { method: "user.option.get" }
|
|
86
|
+
};
|
|
87
|
+
const batchRequest = dataTypes.reduce(
|
|
88
|
+
(acc, type) => {
|
|
89
|
+
if (batchMethods[type]) {
|
|
90
|
+
if (Array.isArray(batchMethods[type])) {
|
|
91
|
+
for (const [index, row] of batchMethods[type].entries()) {
|
|
92
|
+
acc[`get_${type}_${index}`] = row;
|
|
93
|
+
}
|
|
94
|
+
} else {
|
|
95
|
+
acc[`get_${type}`] = batchMethods[type];
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return acc;
|
|
99
|
+
},
|
|
100
|
+
{}
|
|
101
|
+
);
|
|
102
|
+
try {
|
|
103
|
+
const response = await this._b24.actions.v2.batch.make({
|
|
104
|
+
calls: batchRequest,
|
|
105
|
+
options: {
|
|
106
|
+
isHaltOnError: true,
|
|
107
|
+
returnAjaxResult: false,
|
|
108
|
+
requestId
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
const data = response.getData();
|
|
112
|
+
if (data[`get_${b24Helper.LoadDataType.App}`]) {
|
|
113
|
+
this._app = await this.parseAppData(data[`get_${b24Helper.LoadDataType.App}`]);
|
|
114
|
+
this._payment = await this.parsePaymentData(
|
|
115
|
+
data[`get_${b24Helper.LoadDataType.App}`]
|
|
116
|
+
);
|
|
117
|
+
this._license = await this.parseLicenseData(
|
|
118
|
+
data[`get_${b24Helper.LoadDataType.App}`]
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
if (data[`get_${b24Helper.LoadDataType.Profile}`]) {
|
|
122
|
+
this._profile = await this.parseUserData(
|
|
123
|
+
data[`get_${b24Helper.LoadDataType.Profile}`]
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
if (data[`get_${b24Helper.LoadDataType.Currency}_0`] && data[`get_${b24Helper.LoadDataType.Currency}_1`]) {
|
|
127
|
+
this._currency = await this.parseCurrencyData({
|
|
128
|
+
currencyBase: data[`get_${b24Helper.LoadDataType.Currency}_0`],
|
|
129
|
+
currencyList: data[`get_${b24Helper.LoadDataType.Currency}_1`]
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
if (data[`get_${b24Helper.LoadDataType.AppOptions}`]) {
|
|
133
|
+
this._appOptions = await this.parseOptionsData(
|
|
134
|
+
"app",
|
|
135
|
+
data[`get_${b24Helper.LoadDataType.AppOptions}`]
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
if (data[`get_${b24Helper.LoadDataType.UserOptions}`]) {
|
|
139
|
+
this._userOptions = await this.parseOptionsData(
|
|
140
|
+
"user",
|
|
141
|
+
data[`get_${b24Helper.LoadDataType.UserOptions}`]
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
this._isInit = true;
|
|
145
|
+
} catch (error) {
|
|
146
|
+
if (error instanceof Error) {
|
|
147
|
+
throw error;
|
|
148
|
+
}
|
|
149
|
+
this.getLogger().error("Failed to load data", { error });
|
|
150
|
+
throw new Error("Failed to load data");
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
async parseUserData(profileData) {
|
|
154
|
+
const manager = new profileManager.ProfileManager(this._b24);
|
|
155
|
+
manager.setLogger(this.getLogger());
|
|
156
|
+
return manager.initData({
|
|
157
|
+
id: Number(profileData.ID),
|
|
158
|
+
isAdmin: profileData.ADMIN === true,
|
|
159
|
+
lastName: profileData?.LAST_NAME || "",
|
|
160
|
+
name: profileData?.NAME || "",
|
|
161
|
+
gender: profileData?.PERSONAL_GENDER || "",
|
|
162
|
+
photo: profileData?.PERSONAL_PHOTO || "",
|
|
163
|
+
TimeZone: profileData?.TIME_ZONE || "",
|
|
164
|
+
TimeZoneOffset: profileData?.TIME_ZONE_OFFSET
|
|
165
|
+
}).then(() => {
|
|
166
|
+
return manager;
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
async parseAppData(appData) {
|
|
170
|
+
const manager = new appManager.AppManager(this._b24);
|
|
171
|
+
manager.setLogger(this.getLogger());
|
|
172
|
+
return manager.initData({
|
|
173
|
+
id: Number.parseInt(appData.ID),
|
|
174
|
+
code: appData.CODE,
|
|
175
|
+
version: Number.parseInt(appData.VERSION),
|
|
176
|
+
status: appData.STATUS,
|
|
177
|
+
isInstalled: appData.INSTALLED
|
|
178
|
+
}).then(() => {
|
|
179
|
+
return manager;
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
async parsePaymentData(appData) {
|
|
183
|
+
const manager = new paymentManager.PaymentManager(this._b24);
|
|
184
|
+
manager.setLogger(this.getLogger());
|
|
185
|
+
return manager.initData({
|
|
186
|
+
isExpired: appData.PAYMENT_EXPIRED === "Y",
|
|
187
|
+
days: Number.parseInt(appData.DAYS || "0")
|
|
188
|
+
}).then(() => {
|
|
189
|
+
return manager;
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
async parseLicenseData(appData) {
|
|
193
|
+
const manager = new licenseManager.LicenseManager(this._b24);
|
|
194
|
+
manager.setLogger(this.getLogger());
|
|
195
|
+
return manager.initData({
|
|
196
|
+
languageId: appData.LANGUAGE_ID,
|
|
197
|
+
license: appData.LICENSE,
|
|
198
|
+
licensePrevious: appData.LICENSE_PREVIOUS,
|
|
199
|
+
licenseType: appData.LICENSE_TYPE,
|
|
200
|
+
licenseFamily: appData.LICENSE_FAMILY,
|
|
201
|
+
isSelfHosted: appData.LICENSE.includes("selfhosted")
|
|
202
|
+
}).then(() => {
|
|
203
|
+
return manager;
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
async parseCurrencyData(currencyData) {
|
|
207
|
+
const manager = new currencyManager.CurrencyManager(this._b24);
|
|
208
|
+
manager.setLogger(this.getLogger());
|
|
209
|
+
return manager.initData(currencyData).then(() => {
|
|
210
|
+
return manager;
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
async parseOptionsData(type, optionsData) {
|
|
214
|
+
const manager = new optionsManager.OptionsManager(this._b24, type);
|
|
215
|
+
manager.setLogger(this.getLogger());
|
|
216
|
+
return manager.initData(optionsData).then(() => {
|
|
217
|
+
return manager;
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
// endregion ////
|
|
221
|
+
// region Get ////
|
|
222
|
+
get isInit() {
|
|
223
|
+
return this._isInit;
|
|
224
|
+
}
|
|
225
|
+
get forB24Form() {
|
|
226
|
+
this.ensureInitialized();
|
|
227
|
+
if (null === this._profile) {
|
|
228
|
+
throw new Error("B24HelperManager.profileInfo not initialized");
|
|
229
|
+
}
|
|
230
|
+
if (null === this._app) {
|
|
231
|
+
throw new Error("B24HelperManager.appInfo not initialized");
|
|
232
|
+
}
|
|
233
|
+
return {
|
|
234
|
+
app_code: this.appInfo.data.code,
|
|
235
|
+
app_status: this.appInfo.data.status,
|
|
236
|
+
payment_expired: this.paymentInfo.data.isExpired ? "Y" : "N",
|
|
237
|
+
days: this.paymentInfo.data.days,
|
|
238
|
+
b24_plan: this.licenseInfo.data.license,
|
|
239
|
+
c_name: this.profileInfo.data.name,
|
|
240
|
+
c_last_name: this.profileInfo.data.lastName,
|
|
241
|
+
hostname: this.hostName
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Get the account address BX24 (https://your_domain.bitrix24.com)
|
|
246
|
+
*/
|
|
247
|
+
get hostName() {
|
|
248
|
+
return this._b24.getTargetOrigin();
|
|
249
|
+
}
|
|
250
|
+
get profileInfo() {
|
|
251
|
+
this.ensureInitialized();
|
|
252
|
+
if (null === this._profile) {
|
|
253
|
+
throw new Error("B24HelperManager.profileInfo not initialized");
|
|
254
|
+
}
|
|
255
|
+
return this._profile;
|
|
256
|
+
}
|
|
257
|
+
get appInfo() {
|
|
258
|
+
this.ensureInitialized();
|
|
259
|
+
if (null === this._app) {
|
|
260
|
+
throw new Error("B24HelperManager.appInfo not initialized");
|
|
261
|
+
}
|
|
262
|
+
return this._app;
|
|
263
|
+
}
|
|
264
|
+
get paymentInfo() {
|
|
265
|
+
this.ensureInitialized();
|
|
266
|
+
if (null === this._payment) {
|
|
267
|
+
throw new Error("B24HelperManager.paymentInfo not initialized");
|
|
268
|
+
}
|
|
269
|
+
return this._payment;
|
|
270
|
+
}
|
|
271
|
+
get licenseInfo() {
|
|
272
|
+
this.ensureInitialized();
|
|
273
|
+
if (null === this._license) {
|
|
274
|
+
throw new Error("B24HelperManager.licenseInfo not initialized");
|
|
275
|
+
}
|
|
276
|
+
return this._license;
|
|
277
|
+
}
|
|
278
|
+
get currency() {
|
|
279
|
+
this.ensureInitialized();
|
|
280
|
+
if (null === this._currency) {
|
|
281
|
+
throw new Error("B24HelperManager.currency not initialized");
|
|
282
|
+
}
|
|
283
|
+
return this._currency;
|
|
284
|
+
}
|
|
285
|
+
get appOptions() {
|
|
286
|
+
this.ensureInitialized();
|
|
287
|
+
if (null === this._appOptions) {
|
|
288
|
+
throw new Error("B24HelperManager.appOptions not initialized");
|
|
289
|
+
}
|
|
290
|
+
return this._appOptions;
|
|
291
|
+
}
|
|
292
|
+
get userOptions() {
|
|
293
|
+
this.ensureInitialized();
|
|
294
|
+
if (null === this._userOptions) {
|
|
295
|
+
throw new Error("B24HelperManager.userOptions not initialized");
|
|
296
|
+
}
|
|
297
|
+
return this._userOptions;
|
|
298
|
+
}
|
|
299
|
+
// endregion ////
|
|
300
|
+
// region Custom SelfHosted && Cloud ////
|
|
301
|
+
get isSelfHosted() {
|
|
302
|
+
return this.licenseInfo.data.isSelfHosted;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Returns the increment step of fields of type ID
|
|
306
|
+
* @memo in a cloud step = 2 in box step = 1
|
|
307
|
+
*
|
|
308
|
+
* @returns {number}
|
|
309
|
+
*/
|
|
310
|
+
get primaryKeyIncrementValue() {
|
|
311
|
+
if (this.isSelfHosted) {
|
|
312
|
+
return 1;
|
|
313
|
+
}
|
|
314
|
+
return 2;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Defines specific URLs for a Bitrix24 box or cloud
|
|
318
|
+
*/
|
|
319
|
+
get b24SpecificUrl() {
|
|
320
|
+
if (this.isSelfHosted) {
|
|
321
|
+
return {
|
|
322
|
+
[b24Helper.TypeSpecificUrl.MainSettings]: "/configs/",
|
|
323
|
+
[b24Helper.TypeSpecificUrl.UfList]: "/configs/userfield_list.php",
|
|
324
|
+
[b24Helper.TypeSpecificUrl.UfPage]: "/configs/userfield.php"
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
return {
|
|
328
|
+
[b24Helper.TypeSpecificUrl.MainSettings]: "/settings/configs/",
|
|
329
|
+
[b24Helper.TypeSpecificUrl.UfList]: "/settings/configs/userfield_list.php",
|
|
330
|
+
[b24Helper.TypeSpecificUrl.UfPage]: "/settings/configs/userfield.php"
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
// endregion ////
|
|
334
|
+
// region Pull.Client ////
|
|
335
|
+
usePullClient(prefix = "prefix", userId) {
|
|
336
|
+
if (this._b24PullClient) {
|
|
337
|
+
return this;
|
|
338
|
+
}
|
|
339
|
+
this.initializePullClient(
|
|
340
|
+
typeof userId === "undefined" ? this.profileInfo.data.id || 0 : userId,
|
|
341
|
+
prefix
|
|
342
|
+
);
|
|
343
|
+
return this;
|
|
344
|
+
}
|
|
345
|
+
initializePullClient(userId, prefix = "prefix") {
|
|
346
|
+
this._b24PullClient = new client.PullClient({
|
|
347
|
+
b24: this._b24,
|
|
348
|
+
restApplication: this._b24.auth.getUniq(prefix),
|
|
349
|
+
userId
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
subscribePullClient(callback, moduleId = "application") {
|
|
353
|
+
if (!this._b24PullClient) {
|
|
354
|
+
throw new Error("PullClient not init");
|
|
355
|
+
}
|
|
356
|
+
this._pullClientModuleId = moduleId;
|
|
357
|
+
this._pullClientUnSubscribe.push(
|
|
358
|
+
this._b24PullClient.subscribe({
|
|
359
|
+
moduleId: this._pullClientModuleId,
|
|
360
|
+
callback
|
|
361
|
+
})
|
|
362
|
+
);
|
|
363
|
+
return this;
|
|
364
|
+
}
|
|
365
|
+
startPullClient() {
|
|
366
|
+
if (!this._b24PullClient) {
|
|
367
|
+
throw new Error("PullClient not init");
|
|
368
|
+
}
|
|
369
|
+
this._b24PullClient.start().catch((error) => {
|
|
370
|
+
this.getLogger().error(`${text.Text.getDateForLog()}: Pull not running`, { error });
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
getModuleIdPullClient() {
|
|
374
|
+
if (!this._b24PullClient) {
|
|
375
|
+
throw new Error("PullClient not init");
|
|
376
|
+
}
|
|
377
|
+
return this._pullClientModuleId;
|
|
378
|
+
}
|
|
379
|
+
_destroyPullClient() {
|
|
380
|
+
for (const unsubscribeCallback of this._pullClientUnSubscribe) {
|
|
381
|
+
unsubscribeCallback();
|
|
382
|
+
}
|
|
383
|
+
this._b24PullClient?.destroy();
|
|
384
|
+
this._b24PullClient = null;
|
|
385
|
+
}
|
|
386
|
+
// endregion ////
|
|
387
|
+
// region Tools ////
|
|
388
|
+
ensureInitialized() {
|
|
389
|
+
if (!this._isInit) {
|
|
390
|
+
throw new Error("B24HelperManager not initialized");
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
// endregion ////
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
exports.B24HelperManager = B24HelperManager;
|
|
397
|
+
//# sourceMappingURL=helper-manager.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper-manager.cjs","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":["LoggerFactory","LoadDataType","ProfileManager","AppManager","PaymentManager","LicenseManager","CurrencyManager","OptionsManager","TypeSpecificUrl","B24PullClientManager","Text"],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @package @bitrix24/b24jssdk
|
|
3
|
+
* @version 2.0.0
|
|
4
|
+
* @copyright (c) 2026 Bitrix24
|
|
5
|
+
* @license MIT
|
|
6
|
+
* @see https://github.com/bitrix24/b24jssdk
|
|
7
|
+
* @see https://bitrix24.github.io/b24jssdk/
|
|
8
|
+
*/
|
|
9
|
+
'use strict';
|
|
10
|
+
|
|
11
|
+
const abstractHelper = require('./abstract-helper.cjs');
|
|
12
|
+
const paramsFactory = require('../core/http/limiters/params-factory.cjs');
|
|
13
|
+
|
|
14
|
+
var __defProp = Object.defineProperty;
|
|
15
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
16
|
+
class LicenseManager extends abstractHelper.AbstractHelper {
|
|
17
|
+
static {
|
|
18
|
+
__name(this, "LicenseManager");
|
|
19
|
+
}
|
|
20
|
+
_data = null;
|
|
21
|
+
/**
|
|
22
|
+
* @inheritDoc
|
|
23
|
+
*/
|
|
24
|
+
async initData(data) {
|
|
25
|
+
this._data = data;
|
|
26
|
+
await this.makeRestrictionManagerParams();
|
|
27
|
+
}
|
|
28
|
+
get data() {
|
|
29
|
+
if (null === this._data) {
|
|
30
|
+
throw new Error("LicenseManager.data not initialized");
|
|
31
|
+
}
|
|
32
|
+
return this._data;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Set RestrictionManager params by license
|
|
36
|
+
* @link https://apidocs.bitrix24.com/api-reference/common/system/app-info.html
|
|
37
|
+
*/
|
|
38
|
+
async makeRestrictionManagerParams() {
|
|
39
|
+
if (!this.data?.license) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const restrictionParams = paramsFactory.ParamsFactory.fromTariffPlan(this.data.license);
|
|
43
|
+
this.getLogger().debug("set restriction manager params", {
|
|
44
|
+
license: this.data.license,
|
|
45
|
+
restrictionParams
|
|
46
|
+
});
|
|
47
|
+
await this._b24.setRestrictionManagerParams(restrictionParams);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
exports.LicenseManager = LicenseManager;
|
|
52
|
+
//# sourceMappingURL=license-manager.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license-manager.cjs","sources":["../../../src/helper/license-manager.ts"],"sourcesContent":["import type { TypeLicense } from '../types/b24-helper'\nimport { AbstractHelper } from './abstract-helper'\nimport { ParamsFactory } from '../core/http/limiters/params-factory'\n\nexport class LicenseManager extends AbstractHelper {\n protected override _data: null | TypeLicense = null\n\n /**\n * @inheritDoc\n */\n override async initData(data: TypeLicense): Promise<void> {\n this._data = data\n\n await this.makeRestrictionManagerParams()\n }\n\n get data(): TypeLicense {\n if (null === this._data) {\n throw new Error('LicenseManager.data not initialized')\n }\n\n return this._data\n }\n\n /**\n * Set RestrictionManager params by license\n * @link https://apidocs.bitrix24.com/api-reference/common/system/app-info.html\n */\n async makeRestrictionManagerParams(): Promise<void> {\n if (!this.data?.license) {\n return\n }\n\n const restrictionParams = ParamsFactory.fromTariffPlan(this.data.license)\n this.getLogger().debug('set restriction manager params', {\n license: this.data.license,\n restrictionParams\n })\n\n await this._b24.setRestrictionManagerParams(restrictionParams)\n }\n}\n"],"names":["AbstractHelper","ParamsFactory"],"mappings":";;;;;;;;;;;;;;;AAIO,MAAM,uBAAuBA,6BAAA,CAAe;AAAA,EAJnD;AAImD,IAAA,MAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AAAA;AAAA,EAC9B,KAAA,GAA4B,IAAA;AAAA;AAAA;AAAA;AAAA,EAK/C,MAAe,SAAS,IAAA,EAAkC;AACxD,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAA;AAEb,IAAA,MAAM,KAAK,4BAAA,EAA6B;AAAA,EAC1C;AAAA,EAEA,IAAI,IAAA,GAAoB;AACtB,IAAA,IAAI,IAAA,KAAS,KAAK,KAAA,EAAO;AACvB,MAAA,MAAM,IAAI,MAAM,qCAAqC,CAAA;AAAA,IACvD;AAEA,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,4BAAA,GAA8C;AAClD,IAAA,IAAI,CAAC,IAAA,CAAK,IAAA,EAAM,OAAA,EAAS;AACvB,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,iBAAA,GAAoBC,2BAAA,CAAc,cAAA,CAAe,IAAA,CAAK,KAAK,OAAO,CAAA;AACxE,IAAA,IAAA,CAAK,SAAA,EAAU,CAAE,KAAA,CAAM,gCAAA,EAAkC;AAAA,MACvD,OAAA,EAAS,KAAK,IAAA,CAAK,OAAA;AAAA,MACnB;AAAA,KACD,CAAA;AAED,IAAA,MAAM,IAAA,CAAK,IAAA,CAAK,2BAAA,CAA4B,iBAAiB,CAAA;AAAA,EAC/D;AACF;;;;"}
|