gina 0.1.1-alpha.22 → 0.1.1-alpha.220
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/AUTHORS +2 -1
- package/LICENSE +1 -1
- package/README-4Contributors.md +30 -0
- package/README.md +210 -32
- package/bin/cli +166 -68
- package/bin/cli-debug +49 -18
- package/bin/cmd +40 -18
- package/bin/gina +48 -37
- package/framework/{v0.1.1-alpha.22/lib/inherits → v0.1.1-alpha.220}/LICENSE +1 -1
- package/framework/v0.1.1-alpha.220/VERSION +1 -0
- package/framework/{v0.1.1-alpha.22/core/asset/js/plugin/readme.md → v0.1.1-alpha.220/core/asset/plugin/README.md} +31 -9
- package/framework/v0.1.1-alpha.220/core/asset/plugin/dist/vendor/gina/css/gina.min.css +1 -0
- package/framework/v0.1.1-alpha.220/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
- package/framework/v0.1.1-alpha.220/core/asset/plugin/dist/vendor/gina/html/toolbar.html +251 -0
- package/framework/{v0.1.1-alpha.22/core/asset/js/plugin/dist → v0.1.1-alpha.220/core/asset/plugin/dist/vendor/gina/js}/gina.js +4364 -3175
- package/framework/v0.1.1-alpha.220/core/asset/plugin/dist/vendor/gina/js/gina.min.js +764 -0
- package/framework/v0.1.1-alpha.220/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
- package/framework/v0.1.1-alpha.220/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +5 -0
- package/framework/v0.1.1-alpha.220/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/config.js +172 -79
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/connectors/couchbase/index.js +373 -259
- package/framework/v0.1.1-alpha.220/core/connectors/couchbase/lib/connector.js +22 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/connectors/couchbase/lib/connector.v2.js +51 -51
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/connectors/couchbase/lib/connector.v3.js +51 -51
- package/framework/v0.1.1-alpha.220/core/connectors/couchbase/lib/connector.v4.js +384 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/connectors/couchbase/lib/n1ql.js +3 -2
- package/framework/v0.1.1-alpha.220/core/connectors/couchbase/lib/session-store.js +22 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/connectors/couchbase/lib/session-store.v3.js +12 -12
- package/framework/v0.1.1-alpha.220/core/connectors/couchbase/lib/session-store.v4.js +361 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/controller/controller.js +921 -773
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/dev/index.js +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/dev/lib/class.js +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/dev/lib/factory.js +2 -2
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/gna.js +13 -9
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/locales/README.md +5 -0
- package/framework/v0.1.1-alpha.220/core/locales/dist/region/en.json +5727 -0
- package/framework/v0.1.1-alpha.220/core/locales/dist/region/fr.json +11452 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/locales/index.js +2 -2
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/locales/src/make.js +39 -41
- package/framework/v0.1.1-alpha.220/core/locales/src/resources/region.mapping.json +43 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/model/entity.js +87 -67
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/model/index.js +16 -16
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/model/template/entityFactory.js +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/model/template/index.js +17 -15
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/index.js +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/file/package.json +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/intl/package.json +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/intl/src/main.js +5 -5
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/storage/package.json +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/storage/src/main.js +6 -5
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/validator/package.json +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/validator/src/form-validator.js +403 -300
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/validator/src/main.js +1368 -1314
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/router.js +99 -90
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/server.isaac.js +203 -180
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/server.js +439 -238
- package/framework/v0.1.1-alpha.220/core/template/boilerplate/bundle/config/settings.json +12 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle/config/settings.server.json +4 -4
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle/config/templates.json +4 -4
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle/controllers/controller.content.js +1 -1
- package/framework/v0.1.1-alpha.220/core/template/boilerplate/bundle/controllers/setup.js +111 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle/index.js +13 -1
- package/framework/v0.1.1-alpha.220/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
- package/framework/v0.1.1-alpha.220/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
- package/framework/v0.1.1-alpha.220/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
- package/framework/{v0.1.1-alpha.22/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.220/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
- package/framework/v0.1.1-alpha.220/core/template/command/gina.bat.tpl +8 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/command/gina.tpl +4 -4
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/conf/env.json +11 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/conf/package.json +1 -1
- package/framework/v0.1.1-alpha.220/core/template/conf/statics.json +12 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/conf/templates.json +2 -2
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/helpers/console.js +3 -3
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/helpers/context.js +148 -7
- package/framework/v0.1.1-alpha.220/helpers/data/LICENSE +9 -0
- package/framework/v0.1.1-alpha.220/helpers/data/README.md +12 -0
- package/framework/v0.1.1-alpha.220/helpers/data/package.json +20 -0
- package/framework/v0.1.1-alpha.220/helpers/data/src/main.js +295 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/helpers/dateFormat.js +9 -7
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/helpers/index.js +13 -8
- package/framework/v0.1.1-alpha.220/helpers/json/LICENSE +9 -0
- package/framework/v0.1.1-alpha.220/helpers/json/README.md +12 -0
- package/framework/{v0.1.1-alpha.22/helpers/plugins → v0.1.1-alpha.220/helpers/json}/package.json +2 -2
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/helpers/json/src/main.js +28 -26
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/helpers/path.js +176 -96
- package/framework/{v0.1.1-alpha.22/helpers/json → v0.1.1-alpha.220/helpers/plugins}/package.json +2 -2
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/helpers/plugins/src/api-error.js +23 -23
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/helpers/plugins/src/main.js +3 -3
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/helpers/prototypes.js +46 -38
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/helpers/task.js +21 -14
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/helpers/text.js +2 -2
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/archiver/package.json +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/archiver/src/dep/jszip.min.js +3 -3
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/archiver/src/main.js +168 -168
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/aliases.json +4 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/bundle/add.js +84 -27
- package/framework/v0.1.1-alpha.220/lib/cmd/bundle/arguments.json +7 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/bundle/help.txt +4 -2
- package/framework/v0.1.1-alpha.220/lib/cmd/bundle/list.js +176 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/bundle/remove.js +36 -27
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/bundle/start.js +264 -46
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/bundle/stop.js +93 -74
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/env/add.js +44 -43
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/env/list.js +23 -4
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/env/remove.js +19 -19
- package/framework/{v0.1.1-alpha.22/lib/cmd/scope → v0.1.1-alpha.220/lib/cmd/env}/use.js +21 -1
- package/framework/v0.1.1-alpha.220/lib/cmd/framework/build.js +88 -0
- package/framework/v0.1.1-alpha.220/lib/cmd/framework/init.js +798 -0
- package/framework/v0.1.1-alpha.220/lib/cmd/framework/link-node-modules.js +116 -0
- package/framework/v0.1.1-alpha.220/lib/cmd/framework/link.js +114 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/framework/open.js +22 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/framework/restart.js +61 -26
- package/framework/v0.1.1-alpha.220/lib/cmd/framework/set.js +293 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/framework/start.js +46 -20
- package/framework/v0.1.1-alpha.220/lib/cmd/framework/status.js +141 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/framework/stop.js +47 -28
- package/framework/v0.1.1-alpha.220/lib/cmd/framework/tail.js +302 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/framework/version.js +15 -3
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/helper.js +131 -18
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/index.js +23 -23
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/port/inc/scan.js +32 -16
- package/framework/v0.1.1-alpha.220/lib/cmd/port/list.js +462 -0
- package/framework/v0.1.1-alpha.220/lib/cmd/port/reset.js +429 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/add.js +147 -122
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/arguments.json +2 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/build.js +28 -28
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/list.js +19 -2
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/remove.js +19 -17
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/rename.js +11 -11
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/protocol/set.js +256 -209
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/scope/list.js +27 -8
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/scope/remove.js +19 -19
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/view/add.js +35 -10
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/collection/package.json +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/collection/src/main.js +243 -242
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/config.js +31 -30
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cron/package.json +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cron/src/main.js +10 -9
- package/framework/v0.1.1-alpha.220/lib/domain/LICENSE +9 -0
- package/framework/v0.1.1-alpha.220/lib/domain/README.md +46 -0
- package/framework/v0.1.1-alpha.220/lib/domain/dist/public_suffix_list.dat +14186 -0
- package/framework/v0.1.1-alpha.220/lib/domain/package.json +20 -0
- package/framework/v0.1.1-alpha.220/lib/domain/src/main.js +442 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/generator/index.js +5 -5
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/index.js +3 -2
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220/lib/inherits}/LICENSE +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/inherits/README.md +2 -2
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/inherits/package.json +3 -4
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/inherits/src/main.js +3 -3
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/logger/package.json +2 -2
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/logger/src/containers/default/index.js +13 -2
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/logger/src/containers/file/index.js +109 -14
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/logger/src/containers/mq/index.js +12 -3
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/logger/src/containers/mq/listener.js +16 -14
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/logger/src/containers/mq/speaker.js +32 -3
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/logger/src/helper.js +21 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/logger/src/main.js +36 -9
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/math/index.js +9 -9
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/merge/README.md +2 -2
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/merge/package.json +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/merge/src/main.js +118 -91
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/model.js +10 -10
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/proc.js +87 -49
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/routing/package.json +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/routing/src/main.js +313 -285
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/session-store.js +6 -6
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/shell.js +3 -3
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/swig-filters/package.json +1 -1
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/swig-filters/src/main.js +140 -119
- package/framework/v0.1.1-alpha.220/lib/url/README.md +0 -0
- package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/validator.js +2 -2
- package/framework/v0.1.1-alpha.220/package.json +14 -0
- package/package.json +37 -25
- package/resources/home/main.json +53 -4
- package/resources/home/settings.json +9 -0
- package/resources/home/user/extensions/logger/default/config.json +1 -1
- package/resources/package.json.template +29 -18
- package/script/lib.js +0 -0
- package/script/post_install.js +479 -141
- package/script/pre_install.js +508 -77
- package/services/.gna/67fdf1b224a2ed5597e63d4b64283834468e05e3.txt +0 -0
- package/services/.gna/arch +1 -0
- package/services/.gna/locals.json +14 -0
- package/services/.gna/platform +1 -0
- package/services/configure +6 -0
- package/services/env.json +18 -0
- package/services/manifest.json +30 -0
- package/services/package.json +11 -0
- package/services/src/proxy/config/app.json +6 -0
- package/services/src/proxy/config/routing.json +11 -0
- package/services/src/proxy/config/settings.json +9 -0
- package/services/src/proxy/config/settings.server.json +31 -0
- package/services/src/proxy/config/statics.json +3 -0
- package/services/src/proxy/controllers/controller.content.js +58 -0
- package/services/src/proxy/controllers/controller.js +30 -0
- package/{framework/v0.1.1-alpha.22/core/template/boilerplate/bundle → services/src/proxy}/controllers/setup.js +14 -14
- package/services/src/proxy/index.js +31 -0
- package/services/src/proxy/lib/domain/README.md +48 -0
- package/services/src/proxy/lib/domain/src/config/public_suffix_list.dat +14186 -0
- package/services/src/toolbar/config/app.json +6 -0
- package/services/src/toolbar/config/routing.json +11 -0
- package/{framework/v0.1.1-alpha.22/core/template/boilerplate/bundle → services/src/toolbar}/config/settings.json +0 -0
- package/services/src/toolbar/config/settings.server.json +30 -0
- package/services/src/toolbar/controllers/controller.content.js +39 -0
- package/services/src/toolbar/controllers/controller.js +30 -0
- package/services/src/toolbar/controllers/setup.js +111 -0
- package/services/src/toolbar/index.js +43 -0
- package/utils/helper.js +236 -185
- package/utils/prototypes.js +9 -9
- package/utils/prototypes.json_clone.js +70 -37
- package/doc/framework/cli/doc.json +0 -9
- package/doc/framework/index.md +0 -60
- package/framework/v0.1.1-alpha.22/VERSION +0 -1
- package/framework/v0.1.1-alpha.22/core/asset/js/plugin/dist/gina.js.map +0 -56
- package/framework/v0.1.1-alpha.22/core/asset/js/plugin/dist/gina.min.css +0 -1
- package/framework/v0.1.1-alpha.22/core/asset/js/plugin/dist/gina.min.css.map +0 -1
- package/framework/v0.1.1-alpha.22/core/asset/js/plugin/dist/gina.min.js +0 -736
- package/framework/v0.1.1-alpha.22/core/asset/js/plugin/dist/gina.min.js.map +0 -56
- package/framework/v0.1.1-alpha.22/core/asset/js/plugin/dist/gina.onload.min.js +0 -5
- package/framework/v0.1.1-alpha.22/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
- package/framework/v0.1.1-alpha.22/core/connectors/couchbase/lib/connector.js +0 -20
- package/framework/v0.1.1-alpha.22/core/connectors/couchbase/lib/session-store.js +0 -21
- package/framework/v0.1.1-alpha.22/core/locales/dist/region/en.json +0 -9492
- package/framework/v0.1.1-alpha.22/core/locales/dist/region/fr.json +0 -9492
- package/framework/v0.1.1-alpha.22/core/locales/src/resources/region.mapping.json +0 -28
- package/framework/v0.1.1-alpha.22/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
- package/framework/v0.1.1-alpha.22/core/template/conf/statics.json +0 -10
- package/framework/v0.1.1-alpha.22/lib/cmd/bundle/arguments.json +0 -4
- package/framework/v0.1.1-alpha.22/lib/cmd/bundle/list.js +0 -129
- package/framework/v0.1.1-alpha.22/lib/cmd/framework/init.js +0 -514
- package/framework/v0.1.1-alpha.22/lib/cmd/framework/set.js +0 -161
- package/framework/v0.1.1-alpha.22/lib/cmd/framework/status.js +0 -72
- package/framework/v0.1.1-alpha.22/lib/cmd/framework/tail.js +0 -183
- package/framework/v0.1.1-alpha.22/lib/cmd/port/list.js +0 -176
- package/framework/v0.1.1-alpha.22/package.json +0 -14
- package/script/prepare_version.js +0 -429
- /package/{framework/v0.1.1-alpha.22/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/AUTHORS +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/asset/html/static.html +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.1.1-alpha.22/core/asset/js → v0.1.1-alpha.220/core/asset}/plugin/uuid.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/controller/index.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/deps/busboy/.travis.yml +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/deps/busboy/LICENSE +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/deps/busboy/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/deps/busboy/deps/encoding/encoding.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/deps/busboy/lib/main.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/deps/busboy/lib/types/multipart.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/deps/busboy/lib/types/urlencoded.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/deps/busboy/lib/utils.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/deps/busboy/package.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/locales/currency.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/locales/src/resources/currency.csv +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/locales/src/resources/region.csv +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/mime.types +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/file/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/file/build.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/intl/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/intl/build.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/server.express.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/status.codes +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22/helpers/json → v0.1.1-alpha.220/lib/archiver}/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/archiver/build.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/scope/set.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cmd/scope/unset.js +0 -0
- /package/framework/{v0.1.1-alpha.22/lib/cmd/env → v0.1.1-alpha.220/lib/cmd/scope}/use.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/collection/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/collection/build.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/cron/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22/lib/archiver/README.md → v0.1.1-alpha.220/lib/domain/exemples/backend.js} +0 -0
- /package/framework/{v0.1.1-alpha.22/lib/routing/README.md → v0.1.1-alpha.220/lib/domain/exemples/frontend.html} +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/inherits/example/inheriting_eventemitter.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/inherits/example/protected_inheritance.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/inherits/example/simple_inheritance.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/logger/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/merge/example/merge.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/merge/example/merge_2_literal objects.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/merge/example/merge_and_preserve_first.js +0 -0
- /package/framework/{v0.1.1-alpha.22/lib/swig-filters → v0.1.1-alpha.220/lib/routing}/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/routing/build.json +0 -0
- /package/framework/{v0.1.1-alpha.22/lib/url → v0.1.1-alpha.220/lib/swig-filters}/README.md +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/url/index.js +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/url/mocks.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/url/routing.json +0 -0
- /package/framework/{v0.1.1-alpha.22 → v0.1.1-alpha.220}/lib/url/test.js +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
//"use strict";
|
|
2
2
|
// Imports.
|
|
3
3
|
var fs = require('fs');
|
|
4
|
+
const { version } = require('os');
|
|
4
5
|
//var util = require('util');
|
|
5
6
|
//var promisify = require('util').promisify;
|
|
6
7
|
// Use couchbase module from the user's project dependencies if not found
|
|
@@ -15,14 +16,14 @@ var console = lib.logger;
|
|
|
15
16
|
/**
|
|
16
17
|
* Couchbase Class
|
|
17
18
|
*
|
|
18
|
-
* @package
|
|
19
|
+
* @package Connectors.Couchbase
|
|
19
20
|
* @author Rhinostone
|
|
20
21
|
*/
|
|
21
22
|
|
|
22
23
|
function Couchbase(conn, infos) {
|
|
23
24
|
var EntitySuperClass = null, EntityN1qlClass = null;
|
|
24
25
|
var envIsDev = ( /^true$/i.test(process.env.NODE_ENV_IS_DEV) ) ? true : false;
|
|
25
|
-
|
|
26
|
+
|
|
26
27
|
/**
|
|
27
28
|
* Init
|
|
28
29
|
* @constructor
|
|
@@ -101,33 +102,36 @@ function Couchbase(conn, infos) {
|
|
|
101
102
|
if ( /^\./.test(files[f]) ) {
|
|
102
103
|
continue;
|
|
103
104
|
}
|
|
104
|
-
|
|
105
|
+
|
|
105
106
|
filename = _(dir +'/'+ files[f]);
|
|
106
107
|
loadN1QL(entities, filename)
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
|
-
|
|
110
|
+
|
|
110
111
|
return entities
|
|
111
112
|
};
|
|
112
113
|
|
|
113
114
|
var loadN1QL = function(entities, filename) {
|
|
115
|
+
var arr = null
|
|
116
|
+
, entityName = null
|
|
117
|
+
;
|
|
114
118
|
|
|
115
119
|
if ( fs.statSync(filename).isDirectory() ) {
|
|
116
120
|
var files = fs.readdirSync(filename)
|
|
117
121
|
, f = 0
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
entityName
|
|
122
|
+
;
|
|
123
|
+
arr = filename.split(/\//g);
|
|
124
|
+
entityName = arr[arr.length-1];
|
|
125
|
+
entityName = entityName.charAt(0).toUpperCase() + entityName.slice(1);
|
|
122
126
|
|
|
123
127
|
for (; f < files.length; ++f) {
|
|
124
128
|
// ignoring filename starting with . & sub folders
|
|
125
|
-
if (
|
|
129
|
+
if (
|
|
126
130
|
/^\./.test(files[f])
|
|
127
131
|
||
|
|
128
|
-
!/\.sql$/i.test(files[f])
|
|
132
|
+
!/\.sql$/i.test(files[f])
|
|
129
133
|
||
|
|
130
|
-
fs.statSync( _(filename + '/' + files[f], true) ).isDirectory()
|
|
134
|
+
fs.statSync( _(filename + '/' + files[f], true) ).isDirectory()
|
|
131
135
|
) {
|
|
132
136
|
continue;
|
|
133
137
|
}
|
|
@@ -135,11 +139,10 @@ function Couchbase(conn, infos) {
|
|
|
135
139
|
}
|
|
136
140
|
|
|
137
141
|
} else {
|
|
138
|
-
|
|
139
|
-
|
|
142
|
+
arr = filename.split(/\//g);
|
|
143
|
+
entityName = arr[arr.length-1].replace(/\.sql/, '').split(/\_/)[0];
|
|
144
|
+
entityName = entityName.charAt(0).toUpperCase() + entityName.slice(1);
|
|
140
145
|
|
|
141
|
-
entityName = entityName.charAt(0).toUpperCase() + entityName.slice(1);
|
|
142
|
-
nbbnnb
|
|
143
146
|
readSource(entities, entityName, filename)
|
|
144
147
|
}
|
|
145
148
|
}
|
|
@@ -166,28 +169,28 @@ function Couchbase(conn, infos) {
|
|
|
166
169
|
if ( includes && includes.length > 0 ) {
|
|
167
170
|
for (let i = 0, len = includes.length; i < len; i++) {
|
|
168
171
|
let filename = includes[i].replace(/\"|\'|\;|(\@include\s+|\@include)/g, '');
|
|
169
|
-
if (
|
|
172
|
+
if (
|
|
170
173
|
/^\./.test(filename)
|
|
171
174
|
||
|
|
172
175
|
// windows style location
|
|
173
|
-
/^[a-z]:(\\|\/\/)/i.test(filename)
|
|
176
|
+
/^[a-z]:(\\|\/\/)/i.test(filename)
|
|
174
177
|
||
|
|
175
178
|
// not unix absolut
|
|
176
179
|
!/^\//.test(filename)
|
|
177
180
|
&& !/^[a-z]:(\\|\/\/)/i.test(filename)
|
|
178
|
-
|
|
181
|
+
|
|
179
182
|
) {
|
|
180
183
|
let dir = new _(source).toUnixStyle();
|
|
181
184
|
dir = dir.substr(0, dir.lastIndexOf('/')) + '/'
|
|
182
185
|
filename = _(dir + filename.replace(/^\.\//, ''), true);
|
|
183
186
|
}
|
|
184
|
-
// remove @include calls
|
|
187
|
+
// remove @include calls
|
|
185
188
|
//console.debug('including .....'+ filename);
|
|
186
189
|
queryString = queryString.replace(includes[i], fs.readFileSync( filename ).toString() );
|
|
187
190
|
}
|
|
188
191
|
}
|
|
189
192
|
queryString = queryString.replace(/\n/g, ' ');
|
|
190
|
-
|
|
193
|
+
|
|
191
194
|
// extract comments
|
|
192
195
|
comments = queryString.match(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(\/\/.*)/g);
|
|
193
196
|
// extract return type
|
|
@@ -200,9 +203,9 @@ function Couchbase(conn, infos) {
|
|
|
200
203
|
params = comments[0].match(/\$\w+/g); // param list from comments
|
|
201
204
|
queryString = queryString.replace(comments[0], '');
|
|
202
205
|
}
|
|
203
|
-
|
|
206
|
+
|
|
204
207
|
inlineParams = queryString.match(/\$\w+/g);
|
|
205
|
-
|
|
208
|
+
|
|
206
209
|
// getting rid of duplicated
|
|
207
210
|
if ( typeof(Set) == 'function' ) { // ES6
|
|
208
211
|
inlineParams = Array.from(new Set(inlineParams))
|
|
@@ -222,8 +225,8 @@ function Couchbase(conn, infos) {
|
|
|
222
225
|
entities[entityName].prototype._collection = entityName;
|
|
223
226
|
entities[entityName].prototype._filename = _( __dirname + '/lib/n1ql.js', true );
|
|
224
227
|
}
|
|
225
|
-
|
|
226
|
-
|
|
228
|
+
|
|
229
|
+
|
|
227
230
|
entities[entityName].prototype[name] = function() {
|
|
228
231
|
var self = this;
|
|
229
232
|
var key = null
|
|
@@ -234,15 +237,15 @@ function Couchbase(conn, infos) {
|
|
|
234
237
|
, _mainCallback = null;
|
|
235
238
|
|
|
236
239
|
if ( params && params.length != args.length && !/function/.test(typeof(args[args.length-1])) ) {
|
|
237
|
-
throw new Error('[
|
|
240
|
+
throw new Error('[N1QL][ ' + entityName+'#'+name+'() ] arguments must match parameters length. Please refer to [ '+ source +' ]\nFound in param list: ('+ params.join(', ') +') !')
|
|
238
241
|
} else if ( /function/.test( typeof(args[args.length-1]) ) ) {
|
|
239
242
|
// to hande Nodejs Util.promisify
|
|
240
243
|
_mainCallback = args[args.length-1]
|
|
241
244
|
}
|
|
242
245
|
|
|
243
246
|
var sdkVersion = conn.sdk.version || 2;
|
|
244
|
-
var queryParams = [];
|
|
245
|
-
queryStatement = queryString.slice(0);
|
|
247
|
+
var queryParams = [];
|
|
248
|
+
queryStatement = queryString.slice(0);
|
|
246
249
|
if (params) {
|
|
247
250
|
// BO - patch prepared statement case when placeholder is used as a cursor
|
|
248
251
|
var p = []
|
|
@@ -254,7 +257,7 @@ function Couchbase(conn, infos) {
|
|
|
254
257
|
// rightCase already handled by default
|
|
255
258
|
//, foundSpecialRightCase = /(\$|\%)\d+\.\w+/.test(qStr)
|
|
256
259
|
;
|
|
257
|
-
|
|
260
|
+
|
|
258
261
|
// e.g.: c.documentNextId.$2 = $3
|
|
259
262
|
// e.g.: n.alertedOn.$1 = true
|
|
260
263
|
if (foundSpecialLeftCase) {
|
|
@@ -263,33 +266,34 @@ function Couchbase(conn, infos) {
|
|
|
263
266
|
key = inl.indexOf(params[i]);
|
|
264
267
|
if (key > -1) {
|
|
265
268
|
p[key] = args[key];
|
|
266
|
-
|
|
267
|
-
re = new RegExp('(.*)\\.'+ inl[key].replace(/([$%]+)/, '\\$1'));
|
|
269
|
+
|
|
270
|
+
re = new RegExp('(.*)\\.'+ inl[key].replace(/([$%]+)/, '\\$1'));
|
|
268
271
|
if ( re.test(qStr) ) {
|
|
269
272
|
p[key] = args[key];
|
|
270
273
|
qStr = qStr.replace( new RegExp('(.*)\\.'+ params[i].replace(/([$%]+)/, '\\$1')), '$1\.'+args[i]);
|
|
271
274
|
inl.splice(key, 1);
|
|
272
275
|
}
|
|
273
|
-
}
|
|
276
|
+
}
|
|
274
277
|
}
|
|
275
278
|
|
|
276
|
-
|
|
277
|
-
if ( sdkVersion
|
|
279
|
+
|
|
280
|
+
if ( sdkVersion == 3 ) { // SDK v3 only
|
|
278
281
|
queryParams = {};
|
|
279
|
-
index = 0; i = 0; len = inlineParams.length;
|
|
282
|
+
index = 0; i = 0; len = inlineParams.length;
|
|
280
283
|
var matched = null;
|
|
281
|
-
for (; i < len; ++i) {
|
|
284
|
+
for (; i < len; ++i) {
|
|
282
285
|
//matched = params.indexOf( inlineParams[i] );
|
|
283
286
|
matched = params.indexOf( inl[i] );
|
|
284
|
-
if ( matched > -1 && typeof(p[matched]) != 'undefined' ) {
|
|
285
|
-
// e.g.: queryParams[ $3 ] = 1
|
|
286
|
-
queryParams[ inl[i] ] = p[matched]
|
|
287
|
+
if ( matched > -1 && typeof(p[matched]) != 'undefined' ) {
|
|
288
|
+
// e.g.: queryParams[ $3 ] = 1
|
|
289
|
+
queryParams[ inl[i] ] = p[matched];
|
|
290
|
+
// qStr = qStr.replace( new RegExp('\\'+ inl[i], 'g'), '"' + p[matched] + '"')
|
|
287
291
|
}
|
|
288
292
|
}
|
|
289
293
|
} else {
|
|
290
294
|
// Novemeber 2020 patch
|
|
291
295
|
index = 0; i = 0; len = params.length;
|
|
292
|
-
for (; i < len; ++i) {
|
|
296
|
+
for (; i < len; ++i) {
|
|
293
297
|
if ( typeof(p[i]) != 'undefined' ) {
|
|
294
298
|
queryParams[i] = p[i];
|
|
295
299
|
} else { // means that placeholder has been replaced
|
|
@@ -298,124 +302,169 @@ function Couchbase(conn, infos) {
|
|
|
298
302
|
}
|
|
299
303
|
}
|
|
300
304
|
}
|
|
301
|
-
|
|
305
|
+
|
|
306
|
+
queryStatement = qStr;
|
|
307
|
+
|
|
302
308
|
}
|
|
303
|
-
|
|
309
|
+
|
|
304
310
|
// e.g.: c.id = $1.id
|
|
305
311
|
// if (foundSpecialRightCase) {
|
|
306
312
|
// console.debug('foundSpecialRightCase...')
|
|
307
313
|
// }
|
|
308
|
-
|
|
314
|
+
|
|
309
315
|
// normal case
|
|
310
316
|
if (
|
|
311
|
-
!foundSpecialLeftCase
|
|
312
|
-
|| Array.isArray(queryParams) && queryParams.length == 0
|
|
313
|
-
) {
|
|
314
|
-
queryParams = args;
|
|
317
|
+
!foundSpecialLeftCase
|
|
318
|
+
|| Array.isArray(queryParams) && queryParams.length == 0
|
|
319
|
+
) {
|
|
320
|
+
queryParams = JSON.clone(args);
|
|
321
|
+
// starting from SDK v3
|
|
322
|
+
if ( typeof(queryParams[queryParams.length-1]) == 'function' ) {
|
|
323
|
+
queryParams.splice(queryParams.length-1, 1)
|
|
324
|
+
}
|
|
315
325
|
}
|
|
316
326
|
// EO - patch
|
|
317
327
|
}
|
|
318
|
-
|
|
328
|
+
|
|
319
329
|
var query = null, execQuery = null, _collection = null;
|
|
320
|
-
//
|
|
330
|
+
// adhoc option: @param {boolean} options.adhoc [ true | false ]
|
|
331
|
+
// default is set to false
|
|
332
|
+
//queryOptions.adhoc = false;
|
|
333
|
+
|
|
334
|
+
// scan consistency level: @param {number} options.consistency [ 1 | 2 | 3 ]
|
|
335
|
+
// Default is set to 1
|
|
336
|
+
//
|
|
337
|
+
// Default
|
|
338
|
+
// code : NOT_BOUNDED
|
|
339
|
+
// number : 1
|
|
340
|
+
// description : This is the default (for single-statement requests).
|
|
341
|
+
//
|
|
342
|
+
// Request plus
|
|
343
|
+
// code : REQUEST_PLUS
|
|
344
|
+
// number : 2
|
|
345
|
+
// description : This implements strong consistency per request.
|
|
346
|
+
// Update cycle every «20ms for memdb & 200ms for forestdb»
|
|
347
|
+
//
|
|
348
|
+
// Statement plus
|
|
349
|
+
// code : STATEMENT_PLUS
|
|
350
|
+
// number : 3
|
|
351
|
+
// description : This implements strong consistency per statement.
|
|
352
|
+
// Update cycle every «20ms for memdb & 200ms for forestdb»
|
|
353
|
+
//
|
|
354
|
+
//
|
|
355
|
+
// For more, visit :
|
|
356
|
+
// - https://blog.couchbase.com/high-performance-consistency/
|
|
357
|
+
// - https://developer.couchbase.com/documentation/server/current/architecture/querying-data-with-n1ql.html
|
|
358
|
+
// Query options values by default
|
|
321
359
|
var queryOptions = {
|
|
322
|
-
// Do not turn off the adhoc flag for each query since
|
|
360
|
+
// Do not turn off the adhoc flag for each query since
|
|
323
361
|
// only a finite number of query plans (currently 5000) can be stored in the SDK
|
|
324
362
|
adhoc: false, // false to use plan optimization, but need a statement `name param` or `num param`
|
|
325
363
|
consistency: 1 // NOT_BOUNDED, but STATEMENT_PLUS is set by default for insert & update
|
|
326
364
|
};
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
if ( /^(insert|update)/i.test(statement) ) {
|
|
368
|
+
queryOptions.adhoc = true;
|
|
369
|
+
queryOptions.consistency = 3; // STATEMENT_PLUS
|
|
370
|
+
}
|
|
371
|
+
|
|
327
372
|
if ( sdkVersion > 2 ) { // starting from SDK v3
|
|
328
|
-
_collection = queryStatement.match(/\_collection(\s+\=|=)(.*)(\'|\")/);
|
|
329
|
-
if (_collection.length > 0) {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
//var bucket = conn._cluster.bucket(conn._name);
|
|
373
|
+
// _collection = queryStatement.match(/\_collection(\s+\=|=)(.*)(\'|\")/);
|
|
374
|
+
// if (_collection.length > 0) {
|
|
375
|
+
// _collection = _collection[0];
|
|
376
|
+
// if ( /\_collection/.test(_collection) ) {
|
|
377
|
+
// _collection = _collection.replace(/\_collection|\W+/ig, '');
|
|
378
|
+
// } else {
|
|
379
|
+
// _collection = null
|
|
380
|
+
// }
|
|
381
|
+
// }
|
|
382
|
+
|
|
339
383
|
//var scope = conn.scope(conn._name);
|
|
340
384
|
//var coll = (_collection) ? scope.collection(_collection) : scope.defaultCollection();
|
|
341
385
|
//execQuery = conn._cluster.query;
|
|
342
386
|
execQuery = inherits(conn, conn._cluster.query);
|
|
343
|
-
|
|
387
|
+
|
|
344
388
|
query = queryStatement;
|
|
345
389
|
queryOptions.parameters = queryParams;
|
|
346
|
-
|
|
390
|
+
|
|
347
391
|
} else { // version 2
|
|
348
|
-
// prepared statement
|
|
392
|
+
// prepared statement
|
|
349
393
|
query = N1qlQuery.fromString(queryStatement.replace(/^\s+/, ''));
|
|
350
394
|
// query options
|
|
351
395
|
// @param {object} options
|
|
352
396
|
// @param {string} options.sample
|
|
353
397
|
|
|
354
|
-
|
|
355
|
-
//
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
// scan consistency level: @param {number} options.consistency [ 1 | 2 | 3 ]
|
|
359
|
-
// Default is set to 1
|
|
360
|
-
//
|
|
361
|
-
// Default
|
|
362
|
-
// code : NOT_BOUNDED
|
|
363
|
-
// number : 1
|
|
364
|
-
// description : This is the default (for single-statement requests).
|
|
365
|
-
//
|
|
366
|
-
// Request plus
|
|
367
|
-
// code : REQUEST_PLUS
|
|
368
|
-
// number : 2
|
|
369
|
-
// description : This implements strong consistency per request.
|
|
370
|
-
//
|
|
371
|
-
// Statement plus
|
|
372
|
-
// code : STATEMENT_PLUS
|
|
373
|
-
// number : 3
|
|
374
|
-
// description : This implements strong consistency per statement.
|
|
375
|
-
//
|
|
376
|
-
//
|
|
377
|
-
// For more, visit :
|
|
378
|
-
// - https://blog.couchbase.com/high-performance-consistency/
|
|
379
|
-
// - https://developer.couchbase.com/documentation/server/current/architecture/querying-data-with-n1ql.html
|
|
380
|
-
// queryOptions.consistency = 2; // 3
|
|
381
|
-
// .adhoc(queryOptions.adhoc)
|
|
382
|
-
// .consistency(queryOptions.consistency)
|
|
383
|
-
//if ( /^(insert|update)/i.test(statement) ) {
|
|
384
|
-
queryOptions.adhoc = true;
|
|
385
|
-
queryOptions.consistency = 3; // NOT_BOUNDED
|
|
386
|
-
query.consistency(3); // NOT_BOUNDED
|
|
387
|
-
//}
|
|
398
|
+
|
|
399
|
+
// Setting up consistency
|
|
400
|
+
query.consistency(queryOptions.consistency);
|
|
388
401
|
// merge options
|
|
389
402
|
for (var qOpt in queryOptions) {
|
|
390
403
|
if ( typeof(query[ qOpt ]) == 'undefined' ) {
|
|
391
|
-
console.warn('N1QL
|
|
404
|
+
console.warn('[N1QL]['+entityName.toLowerCase()+ '#'+ name + '] `'+ qOpt +'` is not a valid queryOption. Ignorig...');
|
|
392
405
|
continue;
|
|
393
406
|
}
|
|
394
407
|
query[ qOpt ]( queryOptions[ qOpt ] );
|
|
395
|
-
}
|
|
396
|
-
|
|
408
|
+
}
|
|
409
|
+
|
|
397
410
|
}
|
|
398
411
|
|
|
399
|
-
|
|
412
|
+
// JUNE 2021 patch
|
|
413
|
+
// Adding support for FTS since it is not implemented in sdkVersion 2:
|
|
414
|
+
// variables not replaced by value
|
|
415
|
+
// looking for FTS (Full Text Search)
|
|
416
|
+
var ftsClause = ( sdkVersion > 2 ) ? query.match(/(search\(|search\s+\().*\)/i) : query.options.statement.match(/(search\(|search\s+\().*\)/i);
|
|
417
|
+
if (ftsClause && Array.isArray(queryParams) ) {
|
|
418
|
+
var originalFtsClauses = JSON.clone(ftsClause), _queryParams = null;
|
|
419
|
+
|
|
420
|
+
if ( sdkVersion > 2 && Array.isArray(queryOptions.parameters) ) {
|
|
421
|
+
_queryParams = queryOptions.parameters;
|
|
422
|
+
} else if (sdkVersion <=2 && Array.isArray(queryParams) ) {
|
|
423
|
+
_queryParams = queryParams;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
for (let s = 0, sLen = ftsClause.length; s < sLen; s++) {
|
|
427
|
+
if ( !/\)$/.test(ftsClause[s]) ) continue;
|
|
428
|
+
for (let p = 0, pLen = _queryParams.length; p < pLen; p++) {
|
|
429
|
+
if ( typeof(_queryParams[p]) == 'function' ) continue;
|
|
430
|
+
let searchValue = ( /^(true|false)$/i.test(_queryParams[p]) ) ? _queryParams[p] : '"'+_queryParams[p]+'"';
|
|
431
|
+
ftsClause[s] = ftsClause[s].replace( new RegExp('\\$'+ (p+1),'g'), searchValue)
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
if ( sdkVersion > 2 ) {
|
|
435
|
+
query = query.replace(originalFtsClauses[s], ftsClause[s]);
|
|
436
|
+
} else {
|
|
437
|
+
query.options.statement = query.options.statement.replace(originalFtsClauses[s], ftsClause[s]);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
originalFtsClauses = null;
|
|
442
|
+
}
|
|
443
|
+
ftsClause = null;
|
|
444
|
+
|
|
445
|
+
|
|
400
446
|
|
|
401
447
|
|
|
402
448
|
// trick to set event on the fly
|
|
403
449
|
var trigger = 'N1QL:'+entityName.toLowerCase()+ '#'+ name;
|
|
404
450
|
var statement = (sdkVersion <= 2) ? query.options.statement : query;
|
|
405
|
-
|
|
451
|
+
|
|
406
452
|
if (envIsDev) {
|
|
407
453
|
//var statement = (sdkVersion <= 2) ? query.options.statement : query;
|
|
408
454
|
console.debug('[ ' + trigger +' ] '+ statement);
|
|
409
455
|
//console.debug('[ ' + trigger +' ] options: '+ JSON.stringify(queryOptions, null, 2));
|
|
456
|
+
if (queryParams.length > 0) {
|
|
457
|
+
console.debug('[ ' + trigger +' ] Found query params: '+ queryParams);
|
|
458
|
+
}
|
|
410
459
|
}
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
|
|
414
463
|
var onQueryCallback = function(err, data, meta) {
|
|
415
464
|
// if (/^company#getDocumentNextId$/.test(trigger)) {
|
|
416
465
|
// console.log('[ ' + trigger + '] onQueryCallback => ', err, data, meta);
|
|
417
466
|
// }
|
|
418
|
-
|
|
467
|
+
|
|
419
468
|
if (!data || data.length == 0) {
|
|
420
469
|
data = null
|
|
421
470
|
}
|
|
@@ -428,26 +477,26 @@ function Couchbase(conn, infos) {
|
|
|
428
477
|
err.message = '[ '+source+' ]\n'+ err.message;
|
|
429
478
|
err.stack = '[ '+source+' ]\n'+ err.stack;
|
|
430
479
|
}
|
|
431
|
-
|
|
480
|
+
|
|
432
481
|
// handle return type
|
|
433
|
-
if ( returnType && returnType == 'boolean' ) {
|
|
482
|
+
if ( returnType && returnType == 'boolean' ) {
|
|
434
483
|
// CASE #1
|
|
435
484
|
// SELECT COUNT(a) AS someField <- means that keyword `COUNT(` is found in queryString
|
|
436
|
-
// [ { someField: 1 }] <- a collection with only one object which has prop: <number>
|
|
437
|
-
if (
|
|
485
|
+
// [ { someField: 1 }] <- a collection with only one object which has prop: <number>
|
|
486
|
+
if (
|
|
438
487
|
/count\(|count\s+\(/i.test(queryString)
|
|
439
|
-
&& Array.isArray(data)
|
|
488
|
+
&& Array.isArray(data)
|
|
440
489
|
&& /object/i.test(typeof(data[0]))
|
|
441
490
|
&& Object.keys(data[0]).length == 1
|
|
442
491
|
&& /number/i.test( typeof(data[0][Object.keys(data[0])]) )
|
|
443
492
|
) {
|
|
444
493
|
data = ( data[0][Object.keys(data[0])] > 0 ) ? true : false
|
|
445
|
-
}
|
|
494
|
+
}
|
|
446
495
|
// CASE #2
|
|
447
496
|
// regular query, just counting result
|
|
448
497
|
else {
|
|
449
498
|
data = ( typeof(data.length) != 'undefined' && data.length > 0 ) ? true : false
|
|
450
|
-
}
|
|
499
|
+
}
|
|
451
500
|
} else if ( returnType && returnType == 'object' ) {
|
|
452
501
|
|
|
453
502
|
data = (data) ? data[0] : data
|
|
@@ -472,52 +521,54 @@ function Couchbase(conn, infos) {
|
|
|
472
521
|
} else { // Promise case
|
|
473
522
|
throw err
|
|
474
523
|
}
|
|
475
|
-
|
|
524
|
+
|
|
476
525
|
} else {
|
|
477
526
|
if ( typeof(self.emit) != 'undefined' ) {
|
|
478
527
|
self.emit(trigger, err, data, meta);
|
|
479
528
|
} else { // Promise case
|
|
480
529
|
return data
|
|
481
|
-
}
|
|
530
|
+
}
|
|
482
531
|
}
|
|
483
|
-
return
|
|
532
|
+
return
|
|
484
533
|
}
|
|
485
|
-
|
|
486
|
-
} catch (_err) {
|
|
534
|
+
|
|
535
|
+
} catch (_err) {
|
|
487
536
|
if ( _mainCallback != null ) {
|
|
488
537
|
_mainCallback(err, data, meta)
|
|
489
538
|
} else {
|
|
490
539
|
if ( typeof(self.emit) != 'undefined' ) {
|
|
491
540
|
self.emit(trigger, _err);
|
|
492
541
|
} else {
|
|
493
|
-
throw new Error('[ Couchbase ][ Core Entity Exception] '+ trigger + '\n'+ _err.stack)
|
|
494
|
-
}
|
|
495
|
-
}
|
|
542
|
+
throw new Error('[ Couchbase ][ Core Entity Exception] '+ trigger + '\n'+ _err.stack)
|
|
543
|
+
}
|
|
544
|
+
}
|
|
496
545
|
}
|
|
497
546
|
}; // EO onQueryCallback
|
|
498
|
-
|
|
547
|
+
|
|
499
548
|
self._isRegisteredFromProto = false;
|
|
549
|
+
// `register()` is only used for v2
|
|
500
550
|
var register = function (trigger, queryParams, onQueryCallback, cb) {
|
|
501
|
-
// JUNE 2021 patch
|
|
502
|
-
// Adding support for FTS since it is not implemented in sdkVersion 2:
|
|
503
|
-
// variables not replaced by value
|
|
504
|
-
// looking for FTS (Full Text Search)
|
|
505
|
-
var ftsClause = query.options.statement.match(/(search\(|search\s+\().*\)/i);
|
|
506
|
-
if (ftsClause && Array.isArray(queryParams) ) {
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
}
|
|
519
|
-
ftsClause = null;
|
|
520
|
-
|
|
551
|
+
// // JUNE 2021 patch
|
|
552
|
+
// // Adding support for FTS since it is not implemented in sdkVersion 2:
|
|
553
|
+
// // variables not replaced by value
|
|
554
|
+
// // looking for FTS (Full Text Search)
|
|
555
|
+
// var ftsClause = query.options.statement.match(/(search\(|search\s+\().*\)/i);
|
|
556
|
+
// if (ftsClause && Array.isArray(queryParams) ) {
|
|
557
|
+
// var originalFtsClauses = JSON.clone(ftsClause);
|
|
558
|
+
// for (let s = 0, sLen = ftsClause.length; s < sLen; s++) {
|
|
559
|
+
// if ( !/\)$/.test(ftsClause[s]) ) continue;
|
|
560
|
+
// for (let p = 0, pLen = queryParams.length; p < pLen; p++) {
|
|
561
|
+
// if ( typeof(queryParams[p]) == 'function' ) continue;
|
|
562
|
+
// let searchValue = ( /^(true|false)$/i.test(queryParams[p]) ) ? queryParams[p] : '"'+queryParams[p]+'"';
|
|
563
|
+
// ftsClause[s] = ftsClause[s].replace( new RegExp('\\$'+ (p+1),'g'), searchValue)
|
|
564
|
+
// }
|
|
565
|
+
// query.options.statement = query.options.statement.replace(originalFtsClauses[s], ftsClause[s]);
|
|
566
|
+
// }
|
|
567
|
+
// originalFtsClauses = null;
|
|
568
|
+
// }
|
|
569
|
+
// ftsClause = null;
|
|
570
|
+
|
|
571
|
+
|
|
521
572
|
if ( typeof(self.once) != 'undefined' && typeof(cb) != 'undefined' ) {
|
|
522
573
|
self._isRegisteredFromProto = true;
|
|
523
574
|
//console.debug('registered trigger: ', trigger, self._isRegisteredFromProto);
|
|
@@ -525,106 +576,109 @@ function Couchbase(conn, infos) {
|
|
|
525
576
|
//console.debug('received ', trigger, meta, err);
|
|
526
577
|
try {
|
|
527
578
|
cb(err, data, meta)
|
|
528
|
-
} catch (onCompleteError) {
|
|
579
|
+
} catch (onCompleteError) {
|
|
529
580
|
cb(onCompleteError)
|
|
530
|
-
}
|
|
581
|
+
}
|
|
531
582
|
});
|
|
532
583
|
// if (/triggerToDebug/.test(trigger)) {
|
|
533
584
|
// console.log('[ ' + trigger + '] onQuery => ', query, queryParams);
|
|
534
585
|
// }
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
586
|
+
|
|
587
|
+
if (sdkVersion > 2) {
|
|
588
|
+
conn._cluster.query(query, queryParams)
|
|
589
|
+
.catch( function onError(err) {
|
|
590
|
+
try {
|
|
591
|
+
var error = new Error(err.cause.first_error_message);
|
|
592
|
+
error.stack = trigger +'\n'+ err.cause.http_body;
|
|
593
|
+
onQueryCallback(error);
|
|
594
|
+
} catch (_err) {
|
|
595
|
+
console.error(_err.stack);
|
|
596
|
+
}
|
|
597
|
+
})
|
|
598
|
+
.then( function onResult(data, meta) {
|
|
599
|
+
try {
|
|
600
|
+
onQueryCallback(false, data.rows, data.meta);
|
|
601
|
+
} catch (_err) {
|
|
602
|
+
console.error(_err.stack);
|
|
603
|
+
}
|
|
604
|
+
});
|
|
605
|
+
} else {
|
|
606
|
+
conn.query(query, queryParams, onQueryCallback);
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
|
|
610
|
+
} // else promise case
|
|
611
|
+
|
|
612
|
+
|
|
539
613
|
if (!self._isRegisteredFromProto) {
|
|
540
614
|
//console.debug('regular trigger: ', trigger, self._isRegisteredFromProto);
|
|
541
615
|
// if (/triggerToDebug/.test(trigger)) {
|
|
542
616
|
// console.log('[ ' + trigger + '] onQuery => ', query, queryParams);
|
|
543
617
|
// }
|
|
544
|
-
|
|
618
|
+
|
|
619
|
+
if (sdkVersion > 2) {
|
|
620
|
+
conn._cluster.query(query, queryParams)
|
|
621
|
+
.catch( function onError(err) {
|
|
622
|
+
try {
|
|
623
|
+
var error = new Error(err.cause.first_error_message);
|
|
624
|
+
error.stack = trigger +'\n'+ err.cause.http_body;
|
|
625
|
+
onQueryCallback(error);
|
|
626
|
+
} catch (_err) {
|
|
627
|
+
console.error(_err.stack);
|
|
628
|
+
}
|
|
629
|
+
})
|
|
630
|
+
.then( function onResult(data) {
|
|
631
|
+
try {
|
|
632
|
+
onQueryCallback(false, data.rows, data.meta);
|
|
633
|
+
} catch (_err) {
|
|
634
|
+
console.error(_err.stack);
|
|
635
|
+
}
|
|
636
|
+
});
|
|
637
|
+
} else {
|
|
638
|
+
conn.query(query, queryParams, onQueryCallback);
|
|
639
|
+
}
|
|
545
640
|
}
|
|
546
|
-
}
|
|
547
|
-
|
|
641
|
+
} //EO register
|
|
642
|
+
|
|
548
643
|
var _proto = {
|
|
549
|
-
onComplete : function(cb) {
|
|
550
|
-
//console.
|
|
551
|
-
|
|
644
|
+
onComplete : function(cb) {
|
|
645
|
+
// console.warn('onComplete trigger: ', trigger, self._isRegisteredFromProto);
|
|
646
|
+
if ( sdkVersion > 2 ) {
|
|
647
|
+
register(trigger, queryOptions, onQueryCallback, cb)
|
|
648
|
+
} else {
|
|
649
|
+
register(trigger, queryParams, onQueryCallback, cb)
|
|
650
|
+
}
|
|
552
651
|
}
|
|
553
652
|
};
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
if ( sdkVersion > 2 ) {
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
//console.debug('registered trigger: ', trigger);
|
|
563
|
-
self.once(trigger, function onComplete(err, data, meta){
|
|
564
|
-
//console.debug('received ', trigger);
|
|
565
|
-
try {
|
|
566
|
-
cb(err, data, meta)
|
|
567
|
-
} catch (onCompleteError) {
|
|
568
|
-
cb(onCompleteError)
|
|
569
|
-
}
|
|
570
|
-
});
|
|
571
|
-
|
|
572
|
-
conn._cluster.query(query, queryOptions)
|
|
573
|
-
.catch( function onError(err) {
|
|
574
|
-
qErr = err;
|
|
575
|
-
})
|
|
576
|
-
.then( function onResult(data, meta) {
|
|
577
|
-
qData = data;
|
|
578
|
-
qMeta = meta;
|
|
579
|
-
});
|
|
580
|
-
|
|
581
|
-
try {
|
|
582
|
-
if ( qErr ) {
|
|
583
|
-
onQueryCallback(qErr);
|
|
584
|
-
} else {
|
|
585
|
-
onQueryCallback(false, qData, qMeta);
|
|
586
|
-
}
|
|
587
|
-
} catch (_err) {
|
|
588
|
-
console.error(_err.stack);
|
|
589
|
-
}
|
|
653
|
+
|
|
654
|
+
|
|
655
|
+
if ( sdkVersion > 2 ) {
|
|
656
|
+
if ( _mainCallback == null ) {
|
|
657
|
+
setTimeout((trigger, queryOptions, onQueryCallback) => {
|
|
658
|
+
if (!self._isRegisteredFromProto) {
|
|
659
|
+
// needed when used as a synchrone method
|
|
660
|
+
register(trigger, queryOptions, onQueryCallback);
|
|
590
661
|
}
|
|
591
|
-
}
|
|
662
|
+
}, 0, trigger, queryOptions, onQueryCallback);
|
|
663
|
+
return _proto
|
|
664
|
+
|
|
592
665
|
} else {
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
qData = data;
|
|
599
|
-
qMeta = meta;
|
|
600
|
-
});
|
|
601
|
-
|
|
602
|
-
try {
|
|
603
|
-
if ( qErr ) {
|
|
604
|
-
onQueryCallback(qErr);
|
|
605
|
-
} else {
|
|
606
|
-
onQueryCallback(false, qData, qMeta);
|
|
607
|
-
}
|
|
608
|
-
} catch (_err) {
|
|
609
|
-
console.error(_err.stack);
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
} else {
|
|
615
|
-
|
|
616
|
-
if ( _mainCallback == null ) {
|
|
666
|
+
register(trigger, queryOptions, onQueryCallback, _mainCallback)
|
|
667
|
+
}
|
|
668
|
+
} else {
|
|
669
|
+
|
|
670
|
+
if ( _mainCallback == null ) {
|
|
617
671
|
setTimeout((trigger, queryParams, onQueryCallback) => {
|
|
618
|
-
if (!self._isRegisteredFromProto) {
|
|
619
|
-
// needed when used as a synchrone method
|
|
672
|
+
if (!self._isRegisteredFromProto) {
|
|
673
|
+
// needed when used as a synchrone method
|
|
620
674
|
register(trigger, queryParams, onQueryCallback);
|
|
621
675
|
}
|
|
622
|
-
}, 0, trigger, queryParams, onQueryCallback);
|
|
623
|
-
return _proto
|
|
624
|
-
|
|
676
|
+
}, 0, trigger, queryParams, onQueryCallback);
|
|
677
|
+
return _proto
|
|
678
|
+
|
|
625
679
|
} else {
|
|
626
680
|
register(trigger, queryParams, onQueryCallback, _mainCallback)
|
|
627
|
-
}
|
|
681
|
+
}
|
|
628
682
|
}
|
|
629
683
|
}
|
|
630
684
|
|
|
@@ -637,27 +691,39 @@ function Couchbase(conn, infos) {
|
|
|
637
691
|
|
|
638
692
|
/**
|
|
639
693
|
* bulkInsert
|
|
640
|
-
*
|
|
694
|
+
*
|
|
641
695
|
* Supported options
|
|
642
696
|
* - adhoc : [ true | false ]
|
|
643
|
-
* // scan consistency level - default is
|
|
697
|
+
* // scan consistency level - here, default is 3
|
|
644
698
|
* - consistency : [ 1 | 2 | 3 ] where 1 = NOT_BOUNDED, 2 = REQUEST_PLUS, 3 = STATEMENT_PLUS
|
|
645
|
-
*
|
|
699
|
+
* not_bounded:
|
|
700
|
+
* Executes the query immediately, without requiring any consistency for the query. If index-maintenance is running behind, out-of-date results may be returned.
|
|
701
|
+
* at_plus:
|
|
702
|
+
* Executes the query, requiring indexes first to be updated to the timestamp of the last update. If index-maintenance is running behind, the query waits for it to catch up.
|
|
703
|
+
* request_plus:
|
|
704
|
+
* Executes the query, requiring the indexes first to be updated to the timestamp of the current query-request. If index-maintenance is running behind, the query waits for it to catch up.
|
|
705
|
+
*
|
|
646
706
|
* @param {array} rec collection
|
|
647
|
-
* @param {object} [options] e.g: { consistency:
|
|
648
|
-
*
|
|
707
|
+
* @param {object} [options] e.g: { consistency: 2 }
|
|
708
|
+
*
|
|
649
709
|
*/
|
|
650
710
|
var bulkInsert = function(rec, options) {
|
|
651
711
|
|
|
652
|
-
try {
|
|
653
|
-
var conn = this.getConnection();
|
|
654
|
-
|
|
712
|
+
try {
|
|
713
|
+
var conn = this.getConnection();
|
|
714
|
+
// retrieve & return the collection
|
|
715
|
+
// if ( typeof(conn._scope) == 'undefined' && typeof(conn.scope) != 'undefined' ) {
|
|
716
|
+
// var newConn = conn.scope(scope).collection(currentCollection);
|
|
717
|
+
// newConn.sdk = conn.sdk;
|
|
718
|
+
// conn = newConn;
|
|
719
|
+
// }
|
|
720
|
+
var sdkVersion = conn.sdk.version || 2;
|
|
655
721
|
// by default
|
|
656
|
-
var queryOptions = {
|
|
722
|
+
var queryOptions = {
|
|
657
723
|
adhoc: true,
|
|
658
724
|
consistency: 3
|
|
659
725
|
};
|
|
660
|
-
|
|
726
|
+
|
|
661
727
|
if ( typeof(options) != 'undefined' ) {
|
|
662
728
|
queryOptions = merge(options, queryOptions)
|
|
663
729
|
}
|
|
@@ -670,7 +736,8 @@ function Couchbase(conn, infos) {
|
|
|
670
736
|
|
|
671
737
|
|
|
672
738
|
var queryString = 'INSERT INTO '+ this.database +' (KEY, VALUE)';
|
|
673
|
-
|
|
739
|
+
var recCount = 0;
|
|
740
|
+
for (let id in rec) {
|
|
674
741
|
if ( typeof(rec[id].values) == 'undefined' )
|
|
675
742
|
throw new Error('rec["'+ id +'"].values not found ! Please inspect your record root: type must be an Array.');
|
|
676
743
|
|
|
@@ -680,67 +747,114 @@ function Couchbase(conn, infos) {
|
|
|
680
747
|
rec[id].values._collection = this._collection;
|
|
681
748
|
|
|
682
749
|
queryString += '\t\nVALUES ("'+ id +'", '+ JSON.stringify(rec[id].values) +'),';
|
|
750
|
+
recCount++;
|
|
683
751
|
}
|
|
684
752
|
|
|
685
753
|
queryString = queryString.substr(0, queryString.length-1);
|
|
686
754
|
queryString += '\nRETURNING '+ this.database +'.*;';
|
|
687
755
|
|
|
688
|
-
|
|
756
|
+
|
|
689
757
|
var query = null;
|
|
690
758
|
if ( sdkVersion > 2) { // starting SDK v3
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
query = merge(queryString, queryOptions);
|
|
759
|
+
query = queryString;
|
|
760
|
+
// queryOptions.parameters = queryParams;
|
|
694
761
|
} else {
|
|
695
762
|
// prepared statement
|
|
696
763
|
query = N1qlQuery.fromString(queryString);
|
|
764
|
+
query.consistency(queryOptions.consistency);
|
|
697
765
|
// merge options
|
|
698
766
|
for (var qOpt in queryOptions) {
|
|
699
767
|
if ( typeof(query[ qOpt ]) == 'undefined' ) {
|
|
700
|
-
console.warn('N1QL
|
|
768
|
+
console.warn('[N1QL]['+entityName.toLowerCase()+ '#'+ name + '] `'+ qOpt +'` is not a valid queryOption. Ignorig...');
|
|
701
769
|
continue;
|
|
702
770
|
}
|
|
703
771
|
query[ qOpt ]( queryOptions[ qOpt ] )
|
|
704
772
|
}
|
|
705
773
|
}
|
|
706
|
-
|
|
774
|
+
|
|
707
775
|
|
|
708
776
|
// trick to set event on the fly
|
|
709
777
|
var trigger = 'N1QL:'+ this.name.toLowerCase()+ '#'+ name;
|
|
710
778
|
// trick to set event on the fly
|
|
711
779
|
var statement = (sdkVersion <= 2) ? query.options.statement : query;
|
|
712
|
-
|
|
780
|
+
|
|
713
781
|
if (envIsDev) {
|
|
714
782
|
console.debug('[ ' + trigger +' ] '+statement);
|
|
715
783
|
}
|
|
716
784
|
|
|
717
785
|
var self = this;
|
|
718
|
-
conn.query(query, rec, function(err, data, meta) {
|
|
719
|
-
if (!data || data.length == 0) {
|
|
720
|
-
data = null
|
|
721
|
-
}
|
|
722
786
|
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
787
|
+
if (sdkVersion > 2) {
|
|
788
|
+
var err = false;
|
|
789
|
+
conn._scope._bucket._cluster.query(query, queryOptions)
|
|
790
|
+
.catch( function onError(err) {
|
|
791
|
+
try {
|
|
792
|
+
var error = new Error(err.cause.first_error_message);
|
|
793
|
+
error.stack = trigger +'\n'+ err.cause.http_body;
|
|
794
|
+
self.emit(trigger, error);
|
|
795
|
+
} catch (_err) {
|
|
796
|
+
console.error(_err.stack);
|
|
797
|
+
}
|
|
798
|
+
})
|
|
799
|
+
.then( function onResult(data) {
|
|
800
|
+
try {
|
|
801
|
+
var _data = data.rows, _meta = data.meta;
|
|
802
|
+
if (!_data || _data.length == 0) {
|
|
803
|
+
_data = null
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
if (!err && _meta && typeof(_meta.errors) != 'undefined' ) {
|
|
807
|
+
err = new Error('`GenericN1QLError::bulkInsert`\n'+_meta.errors[0].msg);
|
|
808
|
+
err.status = 403;
|
|
809
|
+
} else if (err) {
|
|
810
|
+
err.status = 500;
|
|
811
|
+
err.message = '`GenericN1QLError::bulkInsert`\n'+ err.message;
|
|
812
|
+
err.stack = '`GenericN1QLError::bulkInsert`\n'+ err.stack;
|
|
813
|
+
}
|
|
814
|
+
if (envIsDev) {
|
|
815
|
+
console.debug('[ bulkInsert response ] : err ? '+ err + ', meta : \n'+ JSON.stringify(_meta) +'\n data :\n'+ JSON.stringify(_data) );
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
self.emit(trigger, err, data.rows, data.meta);
|
|
819
|
+
// Tempory fix
|
|
820
|
+
// setTimeout(() => {
|
|
821
|
+
// self.emit(trigger, err, data.rows, data.meta);
|
|
822
|
+
// }, (9+recCount) );
|
|
823
|
+
|
|
824
|
+
} catch (_err) {
|
|
825
|
+
console.error(_err.stack);
|
|
826
|
+
}
|
|
827
|
+
});
|
|
828
|
+
} else {
|
|
829
|
+
conn.query(query, rec, function(err, data, meta) {
|
|
830
|
+
if (!data || data.length == 0) {
|
|
831
|
+
data = null
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
if (!err && meta && typeof(meta.errors) != 'undefined' ) {
|
|
835
|
+
err = new Error('`GenericN1QLError::bulkInsert`\n'+meta.errors[0].msg);
|
|
836
|
+
err.status = 403;
|
|
837
|
+
} else if (err) {
|
|
838
|
+
err.status = 500;
|
|
839
|
+
err.message = '`GenericN1QLError::bulkInsert`\n'+ err.message;
|
|
840
|
+
err.stack = '`GenericN1QLError::bulkInsert`\n'+ err.stack;
|
|
841
|
+
}
|
|
842
|
+
if (envIsDev) {
|
|
843
|
+
console.debug('[ bulkInsert response ] : err ? '+ err + ', meta : \n'+ JSON.stringify(meta) +'\n data :\n'+ JSON.stringify(data) );
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
self.emit(trigger, err, data, meta);
|
|
847
|
+
});
|
|
848
|
+
}
|
|
734
849
|
|
|
735
|
-
self.emit(trigger, err, data, meta);
|
|
736
|
-
});
|
|
737
850
|
|
|
738
851
|
return {
|
|
739
852
|
onComplete : function(cb) {
|
|
740
853
|
self.once(trigger, function(err, data, meta){
|
|
741
854
|
if (envIsDev) {
|
|
742
|
-
console.debug('[ bulkInsert triggerd ] '+ trigger);
|
|
855
|
+
console.debug('[ bulkInsert triggerd ] '+ trigger + ' - Rec count: '+ recCount);
|
|
743
856
|
}
|
|
857
|
+
|
|
744
858
|
cb(err, data, meta)
|
|
745
859
|
})
|
|
746
860
|
}
|
|
@@ -752,6 +866,6 @@ function Couchbase(conn, infos) {
|
|
|
752
866
|
}
|
|
753
867
|
|
|
754
868
|
return init(conn, infos)
|
|
755
|
-
}
|
|
869
|
+
}
|
|
756
870
|
|
|
757
|
-
module.exports = Couchbase
|
|
871
|
+
module.exports = Couchbase;
|