couchbase 4.4.2 → 4.4.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/BUILDING.md +182 -0
- package/CMakeLists.txt +13 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +4 -2
- package/deps/couchbase-cxx-cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/BUILDING.md +206 -0
- package/deps/couchbase-cxx-client/CMakeLists.txt +18 -13
- package/deps/couchbase-cxx-client/README.md +2 -2
- package/deps/couchbase-cxx-client/cmake/APKBUILD.in +54 -0
- package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +0 -5
- package/deps/couchbase-cxx-client/cmake/Packaging.cmake +177 -10
- package/deps/couchbase-cxx-client/cmake/RPath.cmake +10 -0
- package/deps/couchbase-cxx-client/cmake/Testing.cmake +1 -1
- package/deps/couchbase-cxx-client/cmake/VersionInfo.cmake +28 -2
- package/deps/couchbase-cxx-client/cmake/build_version.hxx.in +1 -0
- package/deps/couchbase-cxx-client/cmake/couchbase-cxx-client.spec.in +45 -6
- package/deps/couchbase-cxx-client/cmake/couchbase_cxx_client.pc.in +2 -2
- package/deps/couchbase-cxx-client/cmake/debian/changelog.in +5 -0
- package/deps/couchbase-cxx-client/cmake/debian/compat +1 -0
- package/deps/couchbase-cxx-client/cmake/debian/control +40 -0
- package/deps/couchbase-cxx-client/cmake/debian/rules +41 -0
- package/deps/couchbase-cxx-client/cmake/debian/source/format +1 -0
- package/deps/couchbase-cxx-client/core/agent_group.cxx +8 -0
- package/deps/couchbase-cxx-client/core/agent_group.hxx +4 -0
- package/deps/couchbase-cxx-client/core/bucket.cxx +16 -20
- package/deps/couchbase-cxx-client/core/bucket.hxx +12 -12
- package/deps/couchbase-cxx-client/core/cluster.cxx +44 -52
- package/deps/couchbase-cxx-client/core/cluster_agent.cxx +8 -0
- package/deps/couchbase-cxx-client/core/cluster_agent.hxx +4 -0
- package/deps/couchbase-cxx-client/core/collections_component.cxx +2 -2
- package/deps/couchbase-cxx-client/core/columnar/agent.cxx +2 -2
- package/deps/couchbase-cxx-client/core/columnar/agent.hxx +1 -1
- package/deps/couchbase-cxx-client/core/columnar/management_component.cxx +3 -3
- package/deps/couchbase-cxx-client/core/columnar/query_component.cxx +103 -45
- package/deps/couchbase-cxx-client/core/columnar/query_component.hxx +1 -0
- package/deps/couchbase-cxx-client/core/free_form_http_request.hxx +8 -0
- package/deps/couchbase-cxx-client/core/http_component.cxx +55 -24
- package/deps/couchbase-cxx-client/core/http_component.hxx +4 -0
- package/deps/couchbase-cxx-client/core/impl/analytics.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/analytics_index_manager.cxx +15 -15
- package/deps/couchbase-cxx-client/core/impl/bootstrap_error.hxx +10 -2
- package/deps/couchbase-cxx-client/core/impl/bucket.cxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +6 -6
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +36 -40
- package/deps/couchbase-cxx-client/core/impl/collection.cxx +29 -5
- package/deps/couchbase-cxx-client/core/impl/collection_manager.cxx +5 -5
- package/deps/couchbase-cxx-client/core/impl/error.cxx +24 -3
- package/deps/couchbase-cxx-client/core/impl/get_replica.hxx +2 -0
- package/deps/couchbase-cxx-client/core/impl/lookup_in_replica.hxx +2 -0
- package/deps/couchbase-cxx-client/core/impl/observe_poll.cxx +13 -5
- package/deps/couchbase-cxx-client/core/impl/observe_poll.hxx +1 -3
- package/deps/couchbase-cxx-client/core/impl/observe_seqno.hxx +2 -0
- package/deps/couchbase-cxx-client/core/impl/query.cxx +1 -0
- package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +6 -6
- package/deps/couchbase-cxx-client/core/impl/scan_result.cxx +1 -1
- package/deps/couchbase-cxx-client/core/impl/search.cxx +2 -0
- package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +12 -12
- package/deps/couchbase-cxx-client/core/io/http_command.hxx +31 -20
- package/deps/couchbase-cxx-client/core/io/http_session.cxx +5 -0
- package/deps/couchbase-cxx-client/core/io/http_session.hxx +17 -4
- package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +97 -49
- package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +15 -14
- package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +48 -33
- package/deps/couchbase-cxx-client/core/io/streams.cxx +256 -0
- package/deps/couchbase-cxx-client/core/io/streams.hxx +31 -155
- package/deps/couchbase-cxx-client/core/logger/configuration.hxx +5 -0
- package/deps/couchbase-cxx-client/core/logger/custom_rotating_file_sink.cxx +2 -3
- package/deps/couchbase-cxx-client/core/logger/logger.cxx +39 -7
- package/deps/couchbase-cxx-client/core/logger/logger.hxx +7 -0
- package/deps/couchbase-cxx-client/core/meta/features.hxx +11 -0
- package/deps/couchbase-cxx-client/core/meta/version.cxx +47 -6
- package/deps/couchbase-cxx-client/core/metrics/meter_wrapper.cxx +188 -0
- package/deps/couchbase-cxx-client/core/metrics/meter_wrapper.hxx +73 -0
- package/deps/couchbase-cxx-client/core/operations/document_analytics.cxx +23 -17
- package/deps/couchbase-cxx-client/core/operations/document_analytics.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/document_append.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_decrement.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_exists.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_get.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_get_all_replicas.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_get_and_lock.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_get_and_touch.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_get_any_replica.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_get_projected.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_increment.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_insert.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_all_replicas.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_any_replica.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_mutate_in.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_prepend.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/document_remove.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_replace.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_search.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/document_touch.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_unlock.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_upsert.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/document_view.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/http_noop.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_index_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_index_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.cxx +23 -15
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.hxx +4 -3
- package/deps/couchbase-cxx-client/core/operations/management/analytics_link_replace.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +2 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_get.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_get.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/bucket_update.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/bucket_update.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/change_password.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/cluster_describe.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/cluster_developer_preview_enable.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/collection_create.cxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/collection_create.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +5 -2
- package/deps/couchbase-cxx-client/core/operations/management/collection_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +4 -2
- package/deps/couchbase-cxx-client/core/operations/management/collection_update.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/collections_manifest_get.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_get_all_functions.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_get_status.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.hxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/freeform.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_get.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/group_upsert.cxx +3 -3
- package/deps/couchbase-cxx-client/core/operations/management/group_upsert.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_build.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all_deferred.hxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/management/role_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_create.cxx +2 -1
- package/deps/couchbase-cxx-client/core/operations/management/scope_create.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_drop.cxx +4 -1
- package/deps/couchbase-cxx-client/core/operations/management/scope_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.cxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +5 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +5 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +4 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +3 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.cxx +5 -2
- package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/user_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/user_get.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/user_get_all.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/user_upsert.cxx +3 -3
- package/deps/couchbase-cxx-client/core/operations/management/user_upsert.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.cxx +2 -1
- package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get.cxx +2 -1
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.cxx +3 -1
- package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.hxx +2 -0
- package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.cxx +2 -1
- package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.hxx +1 -0
- package/deps/couchbase-cxx-client/core/origin.cxx +37 -17
- package/deps/couchbase-cxx-client/core/platform/base64.cc +1 -1
- package/deps/couchbase-cxx-client/core/platform/random.cc +2 -0
- package/deps/couchbase-cxx-client/core/platform/uuid.h +6 -6
- package/deps/couchbase-cxx-client/core/row_streamer.cxx +1 -1
- package/deps/couchbase-cxx-client/core/sasl/scram-sha/stringutils.cc +1 -1
- package/deps/couchbase-cxx-client/core/sasl/scram-sha/stringutils.h +4 -4
- package/deps/couchbase-cxx-client/core/topology/configuration.hxx +2 -0
- package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +8 -0
- package/deps/couchbase-cxx-client/core/tracing/constants.hxx +3 -0
- package/deps/couchbase-cxx-client/core/tracing/tracer_wrapper.cxx +87 -0
- package/deps/couchbase-cxx-client/core/tracing/tracer_wrapper.hxx +57 -0
- package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.hxx +9 -21
- package/deps/couchbase-cxx-client/core/transactions/attempt_context.hxx +6 -33
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +57 -56
- package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +17 -18
- package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +2 -2
- package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +2 -2
- package/deps/couchbase-cxx-client/core/transactions/transaction_get_result.hxx +0 -20
- package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +2 -2
- package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +128 -52
- package/deps/couchbase-cxx-client/couchbase/analytics_options.hxx +4 -3
- package/deps/couchbase-cxx-client/couchbase/codec/tao_json_serializer.hxx +1 -1
- package/deps/couchbase-cxx-client/couchbase/common_options.hxx +16 -1
- package/deps/couchbase-cxx-client/couchbase/metrics/otel_meter.hxx +16 -20
- package/deps/couchbase-cxx-client/couchbase/mutate_in_specs.hxx +2 -2
- package/deps/couchbase-cxx-client/couchbase/query_options.hxx +4 -3
- package/deps/couchbase-cxx-client/couchbase/search_options.hxx +1 -1
- package/dist/analyticsindexmanager.d.ts +98 -14
- package/dist/analyticsindexmanager.js +452 -411
- package/dist/binding.d.ts +53 -4
- package/dist/bindingutilities.d.ts +26 -1
- package/dist/bindingutilities.js +108 -1
- package/dist/couchbase.d.ts +3 -1
- package/dist/couchbase.js +2 -0
- package/dist/rangeScan.d.ts +1 -1
- package/dist/rangeScan.js +1 -1
- package/dist/transactions.d.ts +34 -3
- package/dist/transactions.js +25 -18
- package/dist/transcoders.d.ts +68 -0
- package/dist/transcoders.js +194 -1
- package/dist/usermanager.d.ts +14 -14
- package/dist/usermanager.js +178 -228
- package/dist/utilities.js +4 -6
- package/dist/utilities_internal.js +1 -2
- package/package.json +9 -8
- package/src/binding.cpp +13 -13
- package/src/connection.cpp +22 -0
- package/src/connection.hpp +12 -0
- package/src/connection_autogen.cpp +100 -0
- package/src/jstocbpp_autogen.hpp +315 -8
- package/src/jstocbpp_transactions.hpp +1 -2
- package/tools/gen-bindings-js.js +38 -3
- package/tools/gen-bindings-json.py +575 -328
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AnalyticsIndexManager = exports.AzureExternalAnalyticsLink = exports.S3ExternalAnalyticsLink = exports.CouchbaseRemoteAnalyticsLink = exports.AnalyticsLink = exports.CouchbaseAnalyticsEncryptionSettings = exports.AnalyticsIndex = exports.AnalyticsDataset = exports.AnalyticsEncryptionLevel = exports.AnalyticsLinkType = void 0;
|
|
4
4
|
const errors_1 = require("./errors");
|
|
5
|
-
const
|
|
5
|
+
const bindingutilities_1 = require("./bindingutilities");
|
|
6
6
|
const utilities_1 = require("./utilities");
|
|
7
7
|
/**
|
|
8
8
|
* Represents the type of an analytics link.
|
|
@@ -102,19 +102,21 @@ class AnalyticsLink {
|
|
|
102
102
|
*/
|
|
103
103
|
constructor() {
|
|
104
104
|
this.linkType = '';
|
|
105
|
+
this.dataverse = '';
|
|
106
|
+
this.name = '';
|
|
105
107
|
}
|
|
106
108
|
/**
|
|
107
109
|
* @internal
|
|
108
110
|
*/
|
|
109
111
|
static _toHttpData(data) {
|
|
110
112
|
if (data.linkType === AnalyticsLinkType.CouchbaseRemote) {
|
|
111
|
-
return CouchbaseRemoteAnalyticsLink._toHttpData(data);
|
|
113
|
+
return CouchbaseRemoteAnalyticsLink._toHttpData(new CouchbaseRemoteAnalyticsLink(data));
|
|
112
114
|
}
|
|
113
115
|
else if (data.linkType === AnalyticsLinkType.S3External) {
|
|
114
|
-
return S3ExternalAnalyticsLink._toHttpData(data);
|
|
116
|
+
return S3ExternalAnalyticsLink._toHttpData(new S3ExternalAnalyticsLink(data));
|
|
115
117
|
}
|
|
116
118
|
else if (data.linkType === AnalyticsLinkType.AzureBlobExternal) {
|
|
117
|
-
return AzureExternalAnalyticsLink._toHttpData(data);
|
|
119
|
+
return AzureExternalAnalyticsLink._toHttpData(new AzureExternalAnalyticsLink(data));
|
|
118
120
|
}
|
|
119
121
|
else {
|
|
120
122
|
throw new Error('invalid link type');
|
|
@@ -143,6 +145,39 @@ exports.AnalyticsLink = AnalyticsLink;
|
|
|
143
145
|
* Provides information about a analytics remote Couchbase link.
|
|
144
146
|
*/
|
|
145
147
|
class CouchbaseRemoteAnalyticsLink extends AnalyticsLink {
|
|
148
|
+
/**
|
|
149
|
+
* Validates the CouchbaseRemoteAnalyticsLink.
|
|
150
|
+
*/
|
|
151
|
+
validate() {
|
|
152
|
+
if (!this.dataverse) {
|
|
153
|
+
throw new errors_1.InvalidArgumentError(new Error('Must provide a dataverse for the CouchbaseRemoteAnalyticsLink.'));
|
|
154
|
+
}
|
|
155
|
+
if (!this.name) {
|
|
156
|
+
throw new errors_1.InvalidArgumentError(new Error('Must provide a name for the CouchbaseRemoteAnalyticsLink.'));
|
|
157
|
+
}
|
|
158
|
+
if (!this.hostname) {
|
|
159
|
+
throw new errors_1.InvalidArgumentError(new Error('Must provide a hostname for the CouchbaseRemoteAnalyticsLink.'));
|
|
160
|
+
}
|
|
161
|
+
if (this.encryption) {
|
|
162
|
+
if ([AnalyticsEncryptionLevel.None, AnalyticsEncryptionLevel.Half].includes(this.encryption.encryptionLevel)) {
|
|
163
|
+
if (!this.username || !this.password) {
|
|
164
|
+
throw new errors_1.InvalidArgumentError(new Error('When encryption level is half or none, username and password must be set for the CouchbaseRemoteAnalyticsLink.'));
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
if (!this.encryption.certificate ||
|
|
169
|
+
this.encryption.certificate.length == 0) {
|
|
170
|
+
throw new errors_1.InvalidArgumentError(new Error('When encryption level full, a certificate must be set for the CouchbaseRemoteAnalyticsLink.'));
|
|
171
|
+
}
|
|
172
|
+
const clientCertificateInvalid = !this.encryption.clientCertificate ||
|
|
173
|
+
this.encryption.clientCertificate.length == 0;
|
|
174
|
+
const clientKeyInvalid = !this.encryption.clientKey || this.encryption.clientKey.length == 0;
|
|
175
|
+
if (clientCertificateInvalid || clientKeyInvalid) {
|
|
176
|
+
throw new errors_1.InvalidArgumentError(new Error('When encryption level full, a client key and certificate must be set for the CouchbaseRemoteAnalyticsLink.'));
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
146
181
|
/**
|
|
147
182
|
* @internal
|
|
148
183
|
*/
|
|
@@ -159,61 +194,27 @@ class CouchbaseRemoteAnalyticsLink extends AnalyticsLink {
|
|
|
159
194
|
/**
|
|
160
195
|
* @internal
|
|
161
196
|
*/
|
|
162
|
-
static
|
|
163
|
-
|
|
164
|
-
if (data.dataverse.indexOf('/') !== -1) {
|
|
165
|
-
const encDataverse = encodeURIComponent(data.dataverse);
|
|
166
|
-
const encName = encodeURIComponent(data.name);
|
|
167
|
-
dvSpecific = {
|
|
168
|
-
httpPath: `/analytics/link/${encDataverse}/${encName}`,
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
dvSpecific = {
|
|
173
|
-
httpPath: `/analytics/link`,
|
|
174
|
-
dataverse: data.dataverse,
|
|
175
|
-
name: data.name,
|
|
176
|
-
};
|
|
177
|
-
}
|
|
197
|
+
static _toCppData(data) {
|
|
198
|
+
data.validate();
|
|
178
199
|
return {
|
|
179
|
-
|
|
180
|
-
|
|
200
|
+
link_name: data.name,
|
|
201
|
+
dataverse: data.dataverse,
|
|
181
202
|
hostname: data.hostname,
|
|
182
|
-
username: data.
|
|
203
|
+
username: data.hostname,
|
|
183
204
|
password: data.password,
|
|
184
|
-
encryption:
|
|
185
|
-
certificate: data.encryption
|
|
186
|
-
? data.encryption.certificate
|
|
187
|
-
? data.encryption.certificate.toString()
|
|
188
|
-
: undefined
|
|
189
|
-
: undefined,
|
|
190
|
-
clientCertificate: data.encryption
|
|
191
|
-
? data.encryption.clientCertificate
|
|
192
|
-
? data.encryption.clientCertificate.toString()
|
|
193
|
-
: undefined
|
|
194
|
-
: undefined,
|
|
195
|
-
clientKey: data.encryption
|
|
196
|
-
? data.encryption.clientKey
|
|
197
|
-
? data.encryption.clientKey.toString()
|
|
198
|
-
: undefined
|
|
199
|
-
: undefined,
|
|
205
|
+
encryption: (0, bindingutilities_1.encryptionSettingsToCpp)(data.encryption),
|
|
200
206
|
};
|
|
201
207
|
}
|
|
202
208
|
/**
|
|
203
209
|
* @internal
|
|
204
210
|
*/
|
|
205
|
-
static
|
|
211
|
+
static _fromCppData(data) {
|
|
206
212
|
return new CouchbaseRemoteAnalyticsLink({
|
|
207
213
|
linkType: AnalyticsLinkType.CouchbaseRemote,
|
|
208
|
-
dataverse: data.dataverse
|
|
209
|
-
name: data.
|
|
210
|
-
hostname: data.
|
|
211
|
-
encryption:
|
|
212
|
-
encryptionLevel: data.encryption,
|
|
213
|
-
certificate: Buffer.from(data.certificate),
|
|
214
|
-
clientCertificate: Buffer.from(data.clientCertificate),
|
|
215
|
-
clientKey: Buffer.from(data.clientKey),
|
|
216
|
-
}),
|
|
214
|
+
dataverse: data.dataverse,
|
|
215
|
+
name: data.link_name,
|
|
216
|
+
hostname: data.hostname,
|
|
217
|
+
encryption: (0, bindingutilities_1.encryptionSettingsFromCpp)(data.encryption),
|
|
217
218
|
username: data.username,
|
|
218
219
|
password: undefined,
|
|
219
220
|
});
|
|
@@ -239,47 +240,53 @@ class S3ExternalAnalyticsLink extends AnalyticsLink {
|
|
|
239
240
|
this.serviceEndpoint = data.serviceEndpoint;
|
|
240
241
|
}
|
|
241
242
|
/**
|
|
242
|
-
*
|
|
243
|
+
* Validates the S3ExternalAnalyticsLink.
|
|
243
244
|
*/
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
const encDataverse = encodeURIComponent(data.dataverse);
|
|
248
|
-
const encName = encodeURIComponent(data.name);
|
|
249
|
-
dvSpecific = {
|
|
250
|
-
httpPath: `/analytics/link/${encDataverse}/${encName}`,
|
|
251
|
-
};
|
|
245
|
+
validate() {
|
|
246
|
+
if (!this.dataverse) {
|
|
247
|
+
throw new errors_1.InvalidArgumentError(new Error('Must provide a dataverse for the S3ExternalAnalyticsLink.'));
|
|
252
248
|
}
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
249
|
+
if (!this.name) {
|
|
250
|
+
throw new errors_1.InvalidArgumentError(new Error('Must provide a name for the S3ExternalAnalyticsLink.'));
|
|
251
|
+
}
|
|
252
|
+
if (!this.accessKeyId) {
|
|
253
|
+
throw new errors_1.InvalidArgumentError(new Error('Must provide an accessKeyId for the S3ExternalAnalyticsLink.'));
|
|
254
|
+
}
|
|
255
|
+
if (!this.secretAccessKey) {
|
|
256
|
+
throw new errors_1.InvalidArgumentError(new Error('Must provide an secretAccessKey for the S3ExternalAnalyticsLink.'));
|
|
257
|
+
}
|
|
258
|
+
if (!this.region) {
|
|
259
|
+
throw new errors_1.InvalidArgumentError(new Error('Must provide an region for the S3ExternalAnalyticsLink.'));
|
|
259
260
|
}
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* @internal
|
|
264
|
+
*/
|
|
265
|
+
static _toCppData(data) {
|
|
266
|
+
data.validate();
|
|
260
267
|
return {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
268
|
+
link_name: data.name,
|
|
269
|
+
dataverse: data.dataverse,
|
|
270
|
+
access_key_id: data.accessKeyId,
|
|
271
|
+
secret_access_key: data.secretAccessKey,
|
|
272
|
+
session_token: data.sessionToken,
|
|
265
273
|
region: data.region,
|
|
266
|
-
|
|
267
|
-
serviceEndpoint: data.serviceEndpoint,
|
|
274
|
+
service_endpoint: data.serviceEndpoint,
|
|
268
275
|
};
|
|
269
276
|
}
|
|
270
277
|
/**
|
|
271
278
|
* @internal
|
|
272
279
|
*/
|
|
273
|
-
static
|
|
280
|
+
static _fromCppData(data) {
|
|
274
281
|
return new S3ExternalAnalyticsLink({
|
|
282
|
+
name: data.link_name,
|
|
275
283
|
linkType: AnalyticsLinkType.S3External,
|
|
276
|
-
dataverse: data.dataverse
|
|
277
|
-
|
|
278
|
-
accessKeyId: data.accessKeyId,
|
|
284
|
+
dataverse: data.dataverse,
|
|
285
|
+
accessKeyId: data.access_key_id,
|
|
279
286
|
secretAccessKey: undefined,
|
|
280
|
-
region: data.region,
|
|
281
287
|
sessionToken: undefined,
|
|
282
|
-
|
|
288
|
+
region: data.region,
|
|
289
|
+
serviceEndpoint: data.service_endpoint,
|
|
283
290
|
});
|
|
284
291
|
}
|
|
285
292
|
}
|
|
@@ -304,49 +311,54 @@ class AzureExternalAnalyticsLink extends AnalyticsLink {
|
|
|
304
311
|
this.endpointSuffix = data.endpointSuffix;
|
|
305
312
|
}
|
|
306
313
|
/**
|
|
307
|
-
*
|
|
314
|
+
* Validates the AzureExternalAnalyticsLink.
|
|
308
315
|
*/
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
const encDataverse = encodeURIComponent(data.dataverse);
|
|
313
|
-
const encName = encodeURIComponent(data.name);
|
|
314
|
-
dvSpecific = {
|
|
315
|
-
httpPath: `/analytics/link/${encDataverse}/${encName}`,
|
|
316
|
-
};
|
|
316
|
+
validate() {
|
|
317
|
+
if (!this.dataverse) {
|
|
318
|
+
throw new errors_1.InvalidArgumentError(new Error('Must provide a dataverse for the AzureExternalAnalyticsLink.'));
|
|
317
319
|
}
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
httpPath: `/analytics/link`,
|
|
321
|
-
dataverse: data.dataverse,
|
|
322
|
-
name: data.name,
|
|
323
|
-
};
|
|
320
|
+
if (!this.name) {
|
|
321
|
+
throw new errors_1.InvalidArgumentError(new Error('Must provide a name for the AzureExternalAnalyticsLink.'));
|
|
324
322
|
}
|
|
323
|
+
if (!this.connectionString) {
|
|
324
|
+
const missingAcctNameAndKey = !(this.accountName && this.accountKey);
|
|
325
|
+
const missingAcctNameAndSharedAccessSignature = !(this.accountName && this.sharedAccessSignature);
|
|
326
|
+
if (missingAcctNameAndKey && missingAcctNameAndSharedAccessSignature) {
|
|
327
|
+
throw new errors_1.InvalidArgumentError(new Error('If not providing connectionString, accountName and either accountKey' +
|
|
328
|
+
' or sharedAccessSignature must be provided for the AzureExternalAnalyticsLink.'));
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* @internal
|
|
334
|
+
*/
|
|
335
|
+
static _toCppData(data) {
|
|
336
|
+
data.validate();
|
|
325
337
|
return {
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
338
|
+
link_name: data.name,
|
|
339
|
+
dataverse: data.dataverse,
|
|
340
|
+
connection_string: data.connectionString,
|
|
341
|
+
account_name: data.accountName,
|
|
342
|
+
account_key: data.accountKey,
|
|
343
|
+
shared_access_signature: data.sharedAccessSignature,
|
|
344
|
+
blob_endpoint: data.blobEndpoint,
|
|
345
|
+
endpoint_suffix: data.endpointSuffix,
|
|
334
346
|
};
|
|
335
347
|
}
|
|
336
348
|
/**
|
|
337
349
|
* @internal
|
|
338
350
|
*/
|
|
339
|
-
static
|
|
351
|
+
static _fromCppData(data) {
|
|
340
352
|
return new AzureExternalAnalyticsLink({
|
|
353
|
+
name: data.link_name,
|
|
341
354
|
linkType: AnalyticsLinkType.AzureBlobExternal,
|
|
342
|
-
dataverse: data.dataverse
|
|
343
|
-
name: data.name,
|
|
355
|
+
dataverse: data.dataverse,
|
|
344
356
|
connectionString: undefined,
|
|
345
|
-
accountName: data.
|
|
357
|
+
accountName: data.account_name,
|
|
346
358
|
accountKey: undefined,
|
|
347
359
|
sharedAccessSignature: undefined,
|
|
348
|
-
blobEndpoint: data.
|
|
349
|
-
endpointSuffix: data.
|
|
360
|
+
blobEndpoint: data.blob_endpoint,
|
|
361
|
+
endpointSuffix: data.endpoint_suffix,
|
|
350
362
|
});
|
|
351
363
|
}
|
|
352
364
|
}
|
|
@@ -364,9 +376,6 @@ class AnalyticsIndexManager {
|
|
|
364
376
|
constructor(cluster) {
|
|
365
377
|
this._cluster = cluster;
|
|
366
378
|
}
|
|
367
|
-
get _http() {
|
|
368
|
-
return new httpexecutor_1.HttpExecutor(this._cluster.conn);
|
|
369
|
-
}
|
|
370
379
|
/**
|
|
371
380
|
* Creates a new dataverse.
|
|
372
381
|
*
|
|
@@ -382,25 +391,20 @@ class AnalyticsIndexManager {
|
|
|
382
391
|
if (!options) {
|
|
383
392
|
options = {};
|
|
384
393
|
}
|
|
385
|
-
let qs = '';
|
|
386
|
-
qs += 'CREATE DATAVERSE';
|
|
387
|
-
qs += ' `' + dataverseName.split('/').join('`.`') + '`';
|
|
388
|
-
if (options.ignoreIfExists) {
|
|
389
|
-
qs += ' IF NOT EXISTS';
|
|
390
|
-
}
|
|
391
394
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
395
|
+
const ignoreIfExists = options.ignoreIfExists || false;
|
|
396
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
397
|
+
this._cluster.conn.managementAnalyticsDataverseCreate({
|
|
398
|
+
dataverse_name: dataverseName,
|
|
399
|
+
timeout: timeout,
|
|
400
|
+
ignore_if_exists: ignoreIfExists,
|
|
401
|
+
}, (cppErr) => {
|
|
402
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
403
|
+
if (err) {
|
|
404
|
+
return wrapCallback(err, null);
|
|
401
405
|
}
|
|
402
|
-
|
|
403
|
-
}
|
|
406
|
+
wrapCallback(err);
|
|
407
|
+
});
|
|
404
408
|
}, callback);
|
|
405
409
|
}
|
|
406
410
|
/**
|
|
@@ -418,25 +422,20 @@ class AnalyticsIndexManager {
|
|
|
418
422
|
if (!options) {
|
|
419
423
|
options = {};
|
|
420
424
|
}
|
|
421
|
-
let qs = '';
|
|
422
|
-
qs += 'DROP DATAVERSE';
|
|
423
|
-
qs += ' `' + dataverseName.split('/').join('`.`') + '`';
|
|
424
|
-
if (options.ignoreIfNotExists) {
|
|
425
|
-
qs += ' IF EXISTS';
|
|
426
|
-
}
|
|
427
425
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
426
|
+
const ignoreIfNotExists = options.ignoreIfNotExists || false;
|
|
427
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
428
|
+
this._cluster.conn.managementAnalyticsDataverseDrop({
|
|
429
|
+
dataverse_name: dataverseName,
|
|
430
|
+
timeout: timeout,
|
|
431
|
+
ignore_if_does_not_exist: ignoreIfNotExists,
|
|
432
|
+
}, (cppErr) => {
|
|
433
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
434
|
+
if (err) {
|
|
435
|
+
return wrapCallback(err, null);
|
|
437
436
|
}
|
|
438
|
-
|
|
439
|
-
}
|
|
437
|
+
wrapCallback(err);
|
|
438
|
+
});
|
|
440
439
|
}, callback);
|
|
441
440
|
}
|
|
442
441
|
/**
|
|
@@ -455,39 +454,24 @@ class AnalyticsIndexManager {
|
|
|
455
454
|
if (!options) {
|
|
456
455
|
options = {};
|
|
457
456
|
}
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
if (options.ignoreIfExists) {
|
|
461
|
-
qs += ' IF NOT EXISTS';
|
|
462
|
-
}
|
|
463
|
-
if (options.dataverseName) {
|
|
464
|
-
qs +=
|
|
465
|
-
' `' +
|
|
466
|
-
options.dataverseName.split('/').join('`.`') +
|
|
467
|
-
'`.`' +
|
|
468
|
-
datasetName +
|
|
469
|
-
'`';
|
|
470
|
-
}
|
|
471
|
-
else {
|
|
472
|
-
qs += ' `' + datasetName + '`';
|
|
473
|
-
}
|
|
474
|
-
qs += ' ON `' + bucketName + '`';
|
|
475
|
-
if (options.condition) {
|
|
476
|
-
qs += ' WHERE ' + options.condition;
|
|
477
|
-
}
|
|
457
|
+
const dataverseName = options.dataverseName || 'Default';
|
|
458
|
+
const ignoreIfExists = options.ignoreIfExists || false;
|
|
478
459
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
479
|
-
return utilities_1.PromiseHelper.
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
460
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
461
|
+
this._cluster.conn.managementAnalyticsDatasetCreate({
|
|
462
|
+
dataverse_name: dataverseName,
|
|
463
|
+
dataset_name: datasetName,
|
|
464
|
+
bucket_name: bucketName,
|
|
465
|
+
condition: options === null || options === void 0 ? void 0 : options.condition,
|
|
466
|
+
timeout: timeout,
|
|
467
|
+
ignore_if_exists: ignoreIfExists,
|
|
468
|
+
}, (cppErr) => {
|
|
469
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
470
|
+
if (err) {
|
|
471
|
+
return wrapCallback(err, null);
|
|
488
472
|
}
|
|
489
|
-
|
|
490
|
-
}
|
|
473
|
+
wrapCallback(err);
|
|
474
|
+
});
|
|
491
475
|
}, callback);
|
|
492
476
|
}
|
|
493
477
|
/**
|
|
@@ -505,35 +489,22 @@ class AnalyticsIndexManager {
|
|
|
505
489
|
if (!options) {
|
|
506
490
|
options = {};
|
|
507
491
|
}
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
if (options.dataverseName) {
|
|
511
|
-
qs +=
|
|
512
|
-
' `' +
|
|
513
|
-
options.dataverseName.split('/').join('`.`') +
|
|
514
|
-
'`.`' +
|
|
515
|
-
datasetName +
|
|
516
|
-
'`';
|
|
517
|
-
}
|
|
518
|
-
else {
|
|
519
|
-
qs += ' `' + datasetName + '`';
|
|
520
|
-
}
|
|
521
|
-
if (options.ignoreIfNotExists) {
|
|
522
|
-
qs += ' IF EXISTS';
|
|
523
|
-
}
|
|
492
|
+
const dataverseName = options.dataverseName || 'Default';
|
|
493
|
+
const ignoreIfNotExists = options.ignoreIfNotExists || false;
|
|
524
494
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
525
|
-
return utilities_1.PromiseHelper.
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
495
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
496
|
+
this._cluster.conn.managementAnalyticsDatasetDrop({
|
|
497
|
+
dataverse_name: dataverseName,
|
|
498
|
+
dataset_name: datasetName,
|
|
499
|
+
timeout: timeout,
|
|
500
|
+
ignore_if_does_not_exist: ignoreIfNotExists,
|
|
501
|
+
}, (cppErr) => {
|
|
502
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
503
|
+
if (err) {
|
|
504
|
+
return wrapCallback(err, null);
|
|
534
505
|
}
|
|
535
|
-
|
|
536
|
-
}
|
|
506
|
+
wrapCallback(err);
|
|
507
|
+
});
|
|
537
508
|
}, callback);
|
|
538
509
|
}
|
|
539
510
|
/**
|
|
@@ -550,19 +521,23 @@ class AnalyticsIndexManager {
|
|
|
550
521
|
if (!options) {
|
|
551
522
|
options = {};
|
|
552
523
|
}
|
|
553
|
-
const qs = 'SELECT d.* FROM `Metadata`.`Dataset` d WHERE d.DataverseName <> "Metadata"';
|
|
554
524
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
555
|
-
return utilities_1.PromiseHelper.
|
|
556
|
-
|
|
525
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
526
|
+
this._cluster.conn.managementAnalyticsDatasetGetAll({
|
|
557
527
|
timeout: timeout,
|
|
528
|
+
}, (cppErr, resp) => {
|
|
529
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
530
|
+
if (err) {
|
|
531
|
+
return wrapCallback(err, null);
|
|
532
|
+
}
|
|
533
|
+
const dataSets = resp.datasets.map((dataset) => new AnalyticsDataset({
|
|
534
|
+
name: dataset.name,
|
|
535
|
+
dataverseName: dataset.dataverse_name,
|
|
536
|
+
linkName: dataset.link_name,
|
|
537
|
+
bucketName: dataset.bucket_name,
|
|
538
|
+
}));
|
|
539
|
+
wrapCallback(null, dataSets);
|
|
558
540
|
});
|
|
559
|
-
const datasets = res.rows.map((row) => new AnalyticsDataset({
|
|
560
|
-
name: row.DatasetName,
|
|
561
|
-
dataverseName: row.DataverseName,
|
|
562
|
-
linkName: row.LinkName,
|
|
563
|
-
bucketName: row.BucketName,
|
|
564
|
-
}));
|
|
565
|
-
return datasets;
|
|
566
541
|
}, callback);
|
|
567
542
|
}
|
|
568
543
|
/**
|
|
@@ -582,32 +557,23 @@ class AnalyticsIndexManager {
|
|
|
582
557
|
if (!options) {
|
|
583
558
|
options = {};
|
|
584
559
|
}
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
qs += ' `' + indexName + '`';
|
|
588
|
-
if (options.ignoreIfExists) {
|
|
589
|
-
qs += ' IF NOT EXISTS';
|
|
590
|
-
}
|
|
591
|
-
if (options.dataverseName) {
|
|
592
|
-
qs +=
|
|
593
|
-
' ON `' +
|
|
594
|
-
options.dataverseName.split('/').join('`.`') +
|
|
595
|
-
'`.`' +
|
|
596
|
-
datasetName +
|
|
597
|
-
'`';
|
|
598
|
-
}
|
|
599
|
-
else {
|
|
600
|
-
qs += ' ON `' + datasetName + '`';
|
|
601
|
-
}
|
|
602
|
-
qs += ' (';
|
|
603
|
-
qs += Object.keys(fields)
|
|
604
|
-
.map((i) => '`' + i + '`: ' + fields[i])
|
|
605
|
-
.join(', ');
|
|
606
|
-
qs += ')';
|
|
560
|
+
const dataverseName = options.dataverseName || 'Default';
|
|
561
|
+
const ignoreIfExists = options.ignoreIfExists || false;
|
|
607
562
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
608
|
-
return utilities_1.PromiseHelper.
|
|
609
|
-
|
|
563
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
564
|
+
this._cluster.conn.managementAnalyticsIndexCreate({
|
|
565
|
+
dataverse_name: dataverseName,
|
|
566
|
+
dataset_name: datasetName,
|
|
567
|
+
index_name: indexName,
|
|
568
|
+
fields: fields,
|
|
610
569
|
timeout: timeout,
|
|
570
|
+
ignore_if_exists: ignoreIfExists,
|
|
571
|
+
}, (cppErr) => {
|
|
572
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
573
|
+
if (err) {
|
|
574
|
+
return wrapCallback(err, null);
|
|
575
|
+
}
|
|
576
|
+
wrapCallback(err);
|
|
611
577
|
});
|
|
612
578
|
}, callback);
|
|
613
579
|
}
|
|
@@ -627,27 +593,22 @@ class AnalyticsIndexManager {
|
|
|
627
593
|
if (!options) {
|
|
628
594
|
options = {};
|
|
629
595
|
}
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
if (options.dataverseName) {
|
|
633
|
-
qs +=
|
|
634
|
-
' `' +
|
|
635
|
-
options.dataverseName.split('/').join('`.`') +
|
|
636
|
-
'`.`' +
|
|
637
|
-
datasetName +
|
|
638
|
-
'`';
|
|
639
|
-
}
|
|
640
|
-
else {
|
|
641
|
-
qs += ' `' + datasetName + '`';
|
|
642
|
-
}
|
|
643
|
-
qs += '.`' + indexName + '`';
|
|
644
|
-
if (options.ignoreIfNotExists) {
|
|
645
|
-
qs += ' IF EXISTS';
|
|
646
|
-
}
|
|
596
|
+
const dataverseName = options.dataverseName || 'Default';
|
|
597
|
+
const ignoreIfNotExists = options.ignoreIfNotExists || false;
|
|
647
598
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
648
|
-
return utilities_1.PromiseHelper.
|
|
649
|
-
|
|
599
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
600
|
+
this._cluster.conn.managementAnalyticsIndexDrop({
|
|
601
|
+
dataverse_name: dataverseName,
|
|
602
|
+
dataset_name: datasetName,
|
|
603
|
+
index_name: indexName,
|
|
650
604
|
timeout: timeout,
|
|
605
|
+
ignore_if_does_not_exist: ignoreIfNotExists,
|
|
606
|
+
}, (cppErr) => {
|
|
607
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
608
|
+
if (err) {
|
|
609
|
+
return wrapCallback(err, null);
|
|
610
|
+
}
|
|
611
|
+
wrapCallback(err);
|
|
651
612
|
});
|
|
652
613
|
}, callback);
|
|
653
614
|
}
|
|
@@ -665,29 +626,41 @@ class AnalyticsIndexManager {
|
|
|
665
626
|
if (!options) {
|
|
666
627
|
options = {};
|
|
667
628
|
}
|
|
668
|
-
const qs = 'SELECT d.* FROM `Metadata`.`Index` d WHERE d.DataverseName <> "Metadata"';
|
|
669
629
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
670
|
-
return utilities_1.PromiseHelper.
|
|
671
|
-
|
|
630
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
631
|
+
this._cluster.conn.managementAnalyticsIndexGetAll({
|
|
672
632
|
timeout: timeout,
|
|
633
|
+
}, (cppErr, resp) => {
|
|
634
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
635
|
+
if (err) {
|
|
636
|
+
return wrapCallback(err, null);
|
|
637
|
+
}
|
|
638
|
+
const indexes = resp.indexes.map((index) => new AnalyticsIndex({
|
|
639
|
+
name: index.name,
|
|
640
|
+
dataverseName: index.dataverse_name,
|
|
641
|
+
datasetName: index.dataset_name,
|
|
642
|
+
isPrimary: index.is_primary,
|
|
643
|
+
}));
|
|
644
|
+
wrapCallback(null, indexes);
|
|
673
645
|
});
|
|
674
|
-
const indexes = res.rows.map((row) => new AnalyticsIndex({
|
|
675
|
-
name: row.IndexName,
|
|
676
|
-
datasetName: row.DatasetName,
|
|
677
|
-
dataverseName: row.DataverseName,
|
|
678
|
-
isPrimary: row.IsPrimary,
|
|
679
|
-
}));
|
|
680
|
-
return indexes;
|
|
681
646
|
}, callback);
|
|
682
647
|
}
|
|
683
648
|
/**
|
|
684
|
-
*
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
649
|
+
* @internal
|
|
650
|
+
*/
|
|
651
|
+
async connectLink() {
|
|
652
|
+
if (typeof arguments[0] === 'string') {
|
|
653
|
+
return this._connectLinkDeprecated(arguments[0], arguments[1], arguments[2]);
|
|
654
|
+
}
|
|
655
|
+
else {
|
|
656
|
+
return this._connectLink(arguments[0], arguments[1]);
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
// TODO(JSCBC-1293): Remove deprecated path
|
|
660
|
+
/**
|
|
661
|
+
* @internal
|
|
689
662
|
*/
|
|
690
|
-
async
|
|
663
|
+
async _connectLinkDeprecated(linkStr, options, callback) {
|
|
691
664
|
if (options instanceof Function) {
|
|
692
665
|
callback = arguments[1];
|
|
693
666
|
options = undefined;
|
|
@@ -695,8 +668,12 @@ class AnalyticsIndexManager {
|
|
|
695
668
|
if (!options) {
|
|
696
669
|
options = {};
|
|
697
670
|
}
|
|
698
|
-
const
|
|
671
|
+
const force = options.force || false;
|
|
699
672
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
673
|
+
let qs = 'CONNECT LINK ' + linkStr;
|
|
674
|
+
if (force) {
|
|
675
|
+
qs += ' WITH {"force": true}';
|
|
676
|
+
}
|
|
700
677
|
return utilities_1.PromiseHelper.wrapAsync(async () => {
|
|
701
678
|
await this._cluster.analyticsQuery(qs, {
|
|
702
679
|
timeout: timeout,
|
|
@@ -704,13 +681,9 @@ class AnalyticsIndexManager {
|
|
|
704
681
|
}, callback);
|
|
705
682
|
}
|
|
706
683
|
/**
|
|
707
|
-
*
|
|
708
|
-
*
|
|
709
|
-
* @param linkName The name of the link to disconnect.
|
|
710
|
-
* @param options Optional parameters for this operation.
|
|
711
|
-
* @param callback A node-style callback to be invoked after execution.
|
|
684
|
+
* @internal
|
|
712
685
|
*/
|
|
713
|
-
async
|
|
686
|
+
async _connectLink(options, callback) {
|
|
714
687
|
if (options instanceof Function) {
|
|
715
688
|
callback = arguments[1];
|
|
716
689
|
options = undefined;
|
|
@@ -718,7 +691,49 @@ class AnalyticsIndexManager {
|
|
|
718
691
|
if (!options) {
|
|
719
692
|
options = {};
|
|
720
693
|
}
|
|
721
|
-
const
|
|
694
|
+
const dataverseName = options.dataverseName || 'Default';
|
|
695
|
+
const linkName = options.linkName || 'Local';
|
|
696
|
+
const force = options.force || false;
|
|
697
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
698
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
699
|
+
this._cluster.conn.managementAnalyticsLinkConnect({
|
|
700
|
+
dataverse_name: dataverseName,
|
|
701
|
+
link_name: linkName,
|
|
702
|
+
timeout: timeout,
|
|
703
|
+
force: force,
|
|
704
|
+
}, (cppErr) => {
|
|
705
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
706
|
+
if (err) {
|
|
707
|
+
return wrapCallback(err, null);
|
|
708
|
+
}
|
|
709
|
+
wrapCallback(err);
|
|
710
|
+
});
|
|
711
|
+
}, callback);
|
|
712
|
+
}
|
|
713
|
+
/**
|
|
714
|
+
* @internal
|
|
715
|
+
*/
|
|
716
|
+
async disconnectLink() {
|
|
717
|
+
if (typeof arguments[0] === 'string') {
|
|
718
|
+
return this._disconnectLinkDeprecated(arguments[0], arguments[1], arguments[2]);
|
|
719
|
+
}
|
|
720
|
+
else {
|
|
721
|
+
return this._disconnectLink(arguments[0], arguments[1]);
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
// TODO(JSCBC-1293): Remove deprecated path
|
|
725
|
+
/**
|
|
726
|
+
* @internal
|
|
727
|
+
*/
|
|
728
|
+
async _disconnectLinkDeprecated(linkStr, options, callback) {
|
|
729
|
+
if (options instanceof Function) {
|
|
730
|
+
callback = arguments[1];
|
|
731
|
+
options = undefined;
|
|
732
|
+
}
|
|
733
|
+
if (!options) {
|
|
734
|
+
options = {};
|
|
735
|
+
}
|
|
736
|
+
const qs = 'DISCONNECT LINK ' + linkStr;
|
|
722
737
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
723
738
|
return utilities_1.PromiseHelper.wrapAsync(async () => {
|
|
724
739
|
await this._cluster.analyticsQuery(qs, {
|
|
@@ -726,6 +741,34 @@ class AnalyticsIndexManager {
|
|
|
726
741
|
});
|
|
727
742
|
}, callback);
|
|
728
743
|
}
|
|
744
|
+
/**
|
|
745
|
+
* @internal
|
|
746
|
+
*/
|
|
747
|
+
async _disconnectLink(options, callback) {
|
|
748
|
+
if (options instanceof Function) {
|
|
749
|
+
callback = arguments[1];
|
|
750
|
+
options = undefined;
|
|
751
|
+
}
|
|
752
|
+
if (!options) {
|
|
753
|
+
options = {};
|
|
754
|
+
}
|
|
755
|
+
const dataverseName = options.dataverseName || 'Default';
|
|
756
|
+
const linkName = options.linkName || 'Local';
|
|
757
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
758
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
759
|
+
this._cluster.conn.managementAnalyticsLinkDisconnect({
|
|
760
|
+
dataverse_name: dataverseName,
|
|
761
|
+
link_name: linkName,
|
|
762
|
+
timeout: timeout,
|
|
763
|
+
}, (cppErr) => {
|
|
764
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
765
|
+
if (err) {
|
|
766
|
+
return wrapCallback(err, null);
|
|
767
|
+
}
|
|
768
|
+
wrapCallback(err);
|
|
769
|
+
});
|
|
770
|
+
}, callback);
|
|
771
|
+
}
|
|
729
772
|
/**
|
|
730
773
|
* Returns a list of all pending mutations.
|
|
731
774
|
*
|
|
@@ -741,18 +784,19 @@ class AnalyticsIndexManager {
|
|
|
741
784
|
options = {};
|
|
742
785
|
}
|
|
743
786
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
744
|
-
return utilities_1.PromiseHelper.
|
|
745
|
-
|
|
746
|
-
type: httpexecutor_1.HttpServiceType.Analytics,
|
|
747
|
-
method: httpexecutor_1.HttpMethod.Get,
|
|
748
|
-
path: `/analytics/node/agg/stats/remaining`,
|
|
787
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
788
|
+
this._cluster.conn.managementAnalyticsGetPendingMutations({
|
|
749
789
|
timeout: timeout,
|
|
790
|
+
}, (cppErr, resp) => {
|
|
791
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
792
|
+
if (err) {
|
|
793
|
+
return wrapCallback(err, null);
|
|
794
|
+
}
|
|
795
|
+
const stats = {
|
|
796
|
+
stats: resp.stats,
|
|
797
|
+
};
|
|
798
|
+
wrapCallback(null, stats);
|
|
750
799
|
});
|
|
751
|
-
if (res.statusCode !== 200) {
|
|
752
|
-
const errCtx = httpexecutor_1.HttpExecutor.errorContextFromResponse(res);
|
|
753
|
-
throw new errors_1.CouchbaseError('failed to get pending mutations', undefined, errCtx);
|
|
754
|
-
}
|
|
755
|
-
return JSON.parse(res.body.toString());
|
|
756
800
|
}, callback);
|
|
757
801
|
}
|
|
758
802
|
/**
|
|
@@ -771,31 +815,51 @@ class AnalyticsIndexManager {
|
|
|
771
815
|
options = {};
|
|
772
816
|
}
|
|
773
817
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
});
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
818
|
+
if (link.linkType == AnalyticsLinkType.CouchbaseRemote) {
|
|
819
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
820
|
+
this._cluster.conn.managementAnalyticsLinkCreateCouchbaseRemoteLink({
|
|
821
|
+
link: CouchbaseRemoteAnalyticsLink._toCppData(new CouchbaseRemoteAnalyticsLink(link)),
|
|
822
|
+
timeout: timeout,
|
|
823
|
+
}, (cppErr) => {
|
|
824
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
825
|
+
if (err) {
|
|
826
|
+
return wrapCallback(err, null);
|
|
827
|
+
}
|
|
828
|
+
wrapCallback(err);
|
|
829
|
+
});
|
|
830
|
+
}, callback);
|
|
831
|
+
}
|
|
832
|
+
else if (link.linkType == AnalyticsLinkType.S3External) {
|
|
833
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
834
|
+
this._cluster.conn.managementAnalyticsLinkCreateS3ExternalLink({
|
|
835
|
+
link: S3ExternalAnalyticsLink._toCppData(new S3ExternalAnalyticsLink(link)),
|
|
836
|
+
timeout: timeout,
|
|
837
|
+
}, (cppErr) => {
|
|
838
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
839
|
+
if (err) {
|
|
840
|
+
return wrapCallback(err, null);
|
|
841
|
+
}
|
|
842
|
+
wrapCallback(err);
|
|
843
|
+
});
|
|
844
|
+
}, callback);
|
|
845
|
+
}
|
|
846
|
+
else if (link.linkType == AnalyticsLinkType.AzureBlobExternal) {
|
|
847
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
848
|
+
this._cluster.conn.managementAnalyticsLinkCreateAzureBlobExternalLink({
|
|
849
|
+
link: AzureExternalAnalyticsLink._toCppData(new AzureExternalAnalyticsLink(link)),
|
|
850
|
+
timeout: timeout,
|
|
851
|
+
}, (cppErr) => {
|
|
852
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
853
|
+
if (err) {
|
|
854
|
+
return wrapCallback(err, null);
|
|
855
|
+
}
|
|
856
|
+
wrapCallback(err);
|
|
857
|
+
});
|
|
858
|
+
}, callback);
|
|
859
|
+
}
|
|
860
|
+
else {
|
|
861
|
+
throw new Error('invalid link type');
|
|
862
|
+
}
|
|
799
863
|
}
|
|
800
864
|
/**
|
|
801
865
|
* Replaces an existing analytics remote link.
|
|
@@ -813,31 +877,51 @@ class AnalyticsIndexManager {
|
|
|
813
877
|
options = {};
|
|
814
878
|
}
|
|
815
879
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
});
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
880
|
+
if (link.linkType == AnalyticsLinkType.CouchbaseRemote) {
|
|
881
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
882
|
+
this._cluster.conn.managementAnalyticsLinkReplaceCouchbaseRemoteLink({
|
|
883
|
+
link: CouchbaseRemoteAnalyticsLink._toCppData(new CouchbaseRemoteAnalyticsLink(link)),
|
|
884
|
+
timeout: timeout,
|
|
885
|
+
}, (cppErr) => {
|
|
886
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
887
|
+
if (err) {
|
|
888
|
+
return wrapCallback(err, null);
|
|
889
|
+
}
|
|
890
|
+
wrapCallback(err);
|
|
891
|
+
});
|
|
892
|
+
}, callback);
|
|
893
|
+
}
|
|
894
|
+
else if (link.linkType == AnalyticsLinkType.S3External) {
|
|
895
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
896
|
+
this._cluster.conn.managementAnalyticsLinkReplaceS3ExternalLink({
|
|
897
|
+
link: S3ExternalAnalyticsLink._toCppData(new S3ExternalAnalyticsLink(link)),
|
|
898
|
+
timeout: timeout,
|
|
899
|
+
}, (cppErr) => {
|
|
900
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
901
|
+
if (err) {
|
|
902
|
+
return wrapCallback(err, null);
|
|
903
|
+
}
|
|
904
|
+
wrapCallback(err);
|
|
905
|
+
});
|
|
906
|
+
}, callback);
|
|
907
|
+
}
|
|
908
|
+
else if (link.linkType == AnalyticsLinkType.AzureBlobExternal) {
|
|
909
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
910
|
+
this._cluster.conn.managementAnalyticsLinkReplaceAzureBlobExternalLink({
|
|
911
|
+
link: AzureExternalAnalyticsLink._toCppData(new AzureExternalAnalyticsLink(link)),
|
|
912
|
+
timeout: timeout,
|
|
913
|
+
}, (cppErr) => {
|
|
914
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
915
|
+
if (err) {
|
|
916
|
+
return wrapCallback(err, null);
|
|
917
|
+
}
|
|
918
|
+
wrapCallback(err);
|
|
919
|
+
});
|
|
920
|
+
}, callback);
|
|
921
|
+
}
|
|
922
|
+
else {
|
|
923
|
+
throw new Error('invalid link type');
|
|
924
|
+
}
|
|
841
925
|
}
|
|
842
926
|
/**
|
|
843
927
|
* Drops an existing analytics remote link.
|
|
@@ -856,41 +940,18 @@ class AnalyticsIndexManager {
|
|
|
856
940
|
options = {};
|
|
857
941
|
}
|
|
858
942
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
859
|
-
return utilities_1.PromiseHelper.
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
const encDataverse = encodeURIComponent(dataverseName);
|
|
864
|
-
const encName = encodeURIComponent(linkName);
|
|
865
|
-
httpPath = `/analytics/link/${encDataverse}/${encName}`;
|
|
866
|
-
httpParams = {};
|
|
867
|
-
}
|
|
868
|
-
else {
|
|
869
|
-
httpPath = `/analytics/link`;
|
|
870
|
-
httpParams = {
|
|
871
|
-
dataverse: dataverseName,
|
|
872
|
-
name: linkName,
|
|
873
|
-
};
|
|
874
|
-
}
|
|
875
|
-
const res = await this._http.request({
|
|
876
|
-
type: httpexecutor_1.HttpServiceType.Analytics,
|
|
877
|
-
method: httpexecutor_1.HttpMethod.Delete,
|
|
878
|
-
path: httpPath,
|
|
879
|
-
contentType: 'application/x-www-form-urlencoded',
|
|
880
|
-
body: (0, utilities_1.cbQsStringify)(httpParams),
|
|
943
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
944
|
+
this._cluster.conn.managementAnalyticsLinkDrop({
|
|
945
|
+
dataverse_name: dataverseName,
|
|
946
|
+
link_name: linkName,
|
|
881
947
|
timeout: timeout,
|
|
882
|
-
})
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
if (errText.includes('24055')) {
|
|
887
|
-
throw new errors_1.LinkExistsError(undefined, errCtx);
|
|
888
|
-
}
|
|
889
|
-
else if (errText.includes('24034')) {
|
|
890
|
-
throw new errors_1.DataverseNotFoundError(undefined, errCtx);
|
|
948
|
+
}, (cppErr) => {
|
|
949
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
950
|
+
if (err) {
|
|
951
|
+
return wrapCallback(err, null);
|
|
891
952
|
}
|
|
892
|
-
|
|
893
|
-
}
|
|
953
|
+
wrapCallback(err);
|
|
954
|
+
});
|
|
894
955
|
}, callback);
|
|
895
956
|
}
|
|
896
957
|
/**
|
|
@@ -911,49 +972,29 @@ class AnalyticsIndexManager {
|
|
|
911
972
|
const linkName = options.name;
|
|
912
973
|
const linkType = options.linkType;
|
|
913
974
|
const timeout = options.timeout || this._cluster.managementTimeout;
|
|
914
|
-
return utilities_1.PromiseHelper.
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
if (linkName) {
|
|
920
|
-
const encName = encodeURIComponent(linkName);
|
|
921
|
-
httpPath += `/${encName}`;
|
|
922
|
-
}
|
|
923
|
-
httpPath += '?';
|
|
924
|
-
if (linkType) {
|
|
925
|
-
httpPath += `type=${linkType}&`;
|
|
926
|
-
}
|
|
927
|
-
}
|
|
928
|
-
else {
|
|
929
|
-
httpPath = `/analytics/link?`;
|
|
930
|
-
if (dataverseName) {
|
|
931
|
-
httpPath += `dataverse=${dataverseName}&`;
|
|
932
|
-
if (linkName) {
|
|
933
|
-
httpPath += `dataverse=${linkName}&`;
|
|
934
|
-
}
|
|
935
|
-
}
|
|
936
|
-
if (linkType) {
|
|
937
|
-
httpPath += `type=${linkType}&`;
|
|
938
|
-
}
|
|
939
|
-
}
|
|
940
|
-
const res = await this._http.request({
|
|
941
|
-
type: httpexecutor_1.HttpServiceType.Analytics,
|
|
942
|
-
method: httpexecutor_1.HttpMethod.Get,
|
|
943
|
-
path: httpPath,
|
|
975
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
976
|
+
this._cluster.conn.managementAnalyticsLinkGetAll({
|
|
977
|
+
link_type: linkType,
|
|
978
|
+
link_name: linkName,
|
|
979
|
+
dataverse_name: dataverseName,
|
|
944
980
|
timeout: timeout,
|
|
945
|
-
})
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
if (errText.includes('24034')) {
|
|
950
|
-
throw new errors_1.DataverseNotFoundError(undefined, errCtx);
|
|
981
|
+
}, (cppErr, resp) => {
|
|
982
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
|
983
|
+
if (err) {
|
|
984
|
+
return wrapCallback(err, null);
|
|
951
985
|
}
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
986
|
+
const links = [];
|
|
987
|
+
resp.couchbase.forEach((link) => {
|
|
988
|
+
links.push(CouchbaseRemoteAnalyticsLink._fromCppData(link));
|
|
989
|
+
});
|
|
990
|
+
resp.s3.forEach((link) => {
|
|
991
|
+
links.push(S3ExternalAnalyticsLink._fromCppData(link));
|
|
992
|
+
});
|
|
993
|
+
resp.azure_blob.forEach((link) => {
|
|
994
|
+
links.push(AzureExternalAnalyticsLink._fromCppData(link));
|
|
995
|
+
});
|
|
996
|
+
wrapCallback(null, links);
|
|
997
|
+
});
|
|
957
998
|
}, callback);
|
|
958
999
|
}
|
|
959
1000
|
}
|