gina 0.1.1-alpha.16 → 0.1.1-alpha.160
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 +202 -32
- package/bin/cli +165 -68
- package/bin/cli-debug +49 -18
- package/bin/cmd +40 -18
- package/bin/gina +48 -37
- package/{framework/v0.1.1-alpha.16/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/AUTHORS +0 -0
- package/framework/{v0.1.1-alpha.16/lib/inherits → v0.1.1-alpha.160}/LICENSE +1 -1
- package/framework/v0.1.1-alpha.160/VERSION +1 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/html/nolayout.html +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/html/static.html +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/img/android-chrome-192x192.png +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/img/android-chrome-512x512.png +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/img/apple-touch-icon.png +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/img/favicon-16x16.png +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/img/favicon-32x32.png +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/img/favicon.ico +0 -0
- package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/dist/gina.js +887 -874
- package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/dist/gina.js.map +3 -3
- package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/dist/gina.min.css +0 -0
- package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/dist/gina.min.css.map +0 -0
- package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/gina.min.js +739 -0
- package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/gina.min.js.map +8 -0
- package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/dist/gina.onload.min.js +0 -0
- package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/dist/gina.onload.min.js.map +0 -0
- package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/toolbar/css/toolbar-min.css +1 -0
- package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/toolbar/css/toolbar.css +3 -0
- package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/toolbar/css/toolbar.css.map +1 -0
- package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/toolbar/js/jquery-3.1.0.min.js +4 -0
- package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/toolbar/main.js +1542 -0
- package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/toolbar/toolbar.html +251 -0
- package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/readme.md +6 -6
- package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/uuid.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/config.js +29 -14
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/index.js +331 -222
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/connector.js +6 -4
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/connector.v2.js +47 -47
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- package/framework/v0.1.1-alpha.160/core/connectors/couchbase/lib/connector.v4.js +384 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/n1ql.js +3 -2
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/session-store.js +6 -5
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- package/framework/v0.1.1-alpha.160/core/connectors/couchbase/lib/session-store.v4.js +362 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/controller/controller.framework.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/controller/controller.js +691 -677
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/controller/index.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/.travis.yml +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/LICENSE +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/deps/encoding/encoding.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/lib/main.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/lib/types/multipart.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/lib/types/urlencoded.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/lib/utils.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/package.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/dev/index.js +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/dev/lib/class.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/dev/lib/factory.js +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/dev/lib/tools.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/gna.js +3 -4
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/currency.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/dist/language/en.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/dist/language/fr.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/dist/region/en.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/dist/region/fr.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/index.js +2 -2
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/src/make.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/src/resources/currency.csv +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/src/resources/region.csv +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/src/resources/region.mapping.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/mime.types +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/model/entity.js +81 -61
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/model/index.js +8 -7
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/model/template/entityFactory.js +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/model/template/index.js +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/index.js +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/file/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/file/build.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/file/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/intl/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/intl/build.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/intl/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/intl/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/storage/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/storage/build.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/storage/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/storage/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/validator/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/validator/build.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/validator/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/validator/src/form-validator.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/validator/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/router.js +92 -79
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/server.express.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/server.isaac.js +117 -108
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/server.js +44 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/status.codes +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/config/app.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/config/routing.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/config/settings.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/config/templates.json +4 -4
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/index.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_public/readme.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- package/framework/v0.1.1-alpha.160/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
- package/framework/v0.1.1-alpha.160/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
- package/framework/v0.1.1-alpha.160/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
- package/framework/{v0.1.1-alpha.16/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.160/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
- package/framework/v0.1.1-alpha.160/core/template/command/gina.bat.tpl +8 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/command/gina.tpl +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/conf/env.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/conf/manifest.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/conf/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/conf/settings.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/conf/statics.json +3 -3
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/conf/templates.json +2 -2
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/error/client/json/401.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/error/client/json/403.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/error/client/json/404.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/error/server/html/50x.html +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/error/server/json/500.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/error/server/json/503.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/extensions/logger/config.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/console.js +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/context.js +145 -5
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/dateFormat.js +4 -2
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/index.js +10 -5
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/json/README.md +0 -0
- package/framework/{v0.1.1-alpha.16/helpers/plugins → v0.1.1-alpha.160/helpers/json}/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/json/src/main.js +22 -22
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/path.js +143 -89
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/plugins/README.md +0 -0
- package/framework/{v0.1.1-alpha.16/helpers/json → v0.1.1-alpha.160/helpers/plugins}/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/plugins/src/api-error.js +23 -23
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/plugins/src/main.js +2 -2
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/prototypes.js +35 -36
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/task.js +21 -14
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/text.js +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/archiver/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/archiver/build.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/archiver/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/archiver/src/dep/jszip.min.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/archiver/src/main.js +167 -167
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/aliases.json +4 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/add.js +43 -17
- package/framework/v0.1.1-alpha.160/lib/cmd/bundle/arguments.json +6 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/copy.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/cp.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/help.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/help.txt +2 -2
- package/framework/v0.1.1-alpha.160/lib/cmd/bundle/list.js +176 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/remove.js +22 -22
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/rename.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/restart.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/rm.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/start.js +257 -46
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/status.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/stop.js +93 -74
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/add.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/get.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/help.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/help.txt +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/link-dev.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/list.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/remove.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/rm.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/set.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/unset.js +0 -0
- package/framework/{v0.1.1-alpha.16/lib/cmd/scope → v0.1.1-alpha.160/lib/cmd/env}/use.js +21 -1
- package/framework/v0.1.1-alpha.160/lib/cmd/framework/build.js +85 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/dot.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/get.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/help.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/help.txt +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/init.js +212 -21
- package/framework/v0.1.1-alpha.160/lib/cmd/framework/link-node-modules.js +86 -0
- package/framework/v0.1.1-alpha.160/lib/cmd/framework/link.js +94 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/msg.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/open.js +15 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/restart.js +58 -26
- package/framework/v0.1.1-alpha.160/lib/cmd/framework/set.js +264 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/start.js +35 -12
- package/framework/v0.1.1-alpha.160/lib/cmd/framework/status.js +138 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/stop.js +44 -28
- package/framework/v0.1.1-alpha.160/lib/cmd/framework/tail.js +271 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/update.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/version.js +12 -3
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/gina-dev.1.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/gina-framework.1.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/gina.1.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/helper.js +74 -5
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/index.js +22 -22
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/msg.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/port/help.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/port/help.txt +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/port/inc/scan.js +32 -17
- package/framework/v0.1.1-alpha.160/lib/cmd/port/list.js +446 -0
- package/framework/v0.1.1-alpha.160/lib/cmd/port/reset.js +426 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/port/set.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/add.js +146 -122
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/arguments.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/build.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/help.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/help.txt +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/import.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/list.js +16 -2
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/move.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/remove.js +17 -17
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/rename.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/restart.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/rm.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/start.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/status.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/stop.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/protocol/help.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/protocol/help.txt +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/protocol/list.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/protocol/set.js +239 -201
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/help.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/help.txt +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/link-local.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/list.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/remove.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/rm.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/set.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/unset.js +0 -0
- package/framework/{v0.1.1-alpha.16/lib/cmd/env → v0.1.1-alpha.160/lib/cmd/scope}/use.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/view/add.js +34 -9
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/collection/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/collection/build.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/collection/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/collection/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/config.js +2 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cron/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cron/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cron/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/generator/index.js +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/index.js +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160/lib/inherits}/LICENSE +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/example/inheriting_eventemitter.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/example/protected_inheritance.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/example/simple_inheritance.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/src/main.js +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/default/index.js +13 -2
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/file/index.js +105 -14
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/mq/index.js +2 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/mq/listener.js +16 -14
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/mq/speaker.js +32 -3
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/helper.js +20 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/main.js +5 -2
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/math/index.js +7 -7
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/merge/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/merge/example/merge.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/merge/example/merge_2_literal objects.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/merge/example/merge_and_preserve_first.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/merge/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/merge/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/model.js +9 -9
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/proc.js +75 -47
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/routing/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/routing/build.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/routing/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/routing/src/main.js +258 -258
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/session-store.js +6 -6
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/shell.js +3 -3
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/swig-filters/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/swig-filters/package.json +1 -1
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/swig-filters/src/main.js +55 -52
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/url/README.md +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/url/index.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/url/mocks.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/url/routing.json +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/url/test.js +0 -0
- package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/validator.js +0 -0
- package/framework/v0.1.1-alpha.160/package.json +14 -0
- package/package.json +33 -24
- package/resources/home/main.json +44 -1
- package/resources/home/settings.json +7 -0
- package/resources/home/user/extensions/logger/default/config.json +1 -1
- package/resources/package.json.template +29 -18
- package/script/post_install.js +410 -120
- package/script/post_publish.js +185 -0
- package/script/pre_install.js +424 -76
- package/script/prepare_version.js +152 -22
- package/utils/helper.js +230 -185
- package/utils/prototypes.js +9 -9
- package/utils/prototypes.json_clone.js +31 -31
- package/doc/framework/cli/doc.json +0 -9
- package/doc/framework/index.md +0 -60
- package/framework/v0.1.1-alpha.16/VERSION +0 -1
- package/framework/v0.1.1-alpha.16/core/asset/js/plugin/dist/gina.min.js +0 -736
- package/framework/v0.1.1-alpha.16/core/asset/js/plugin/dist/gina.min.js.map +0 -56
- package/framework/v0.1.1-alpha.16/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
- package/framework/v0.1.1-alpha.16/lib/cmd/bundle/arguments.json +0 -4
- package/framework/v0.1.1-alpha.16/lib/cmd/bundle/list.js +0 -129
- package/framework/v0.1.1-alpha.16/lib/cmd/framework/set.js +0 -161
- package/framework/v0.1.1-alpha.16/lib/cmd/framework/status.js +0 -72
- package/framework/v0.1.1-alpha.16/lib/cmd/framework/tail.js +0 -183
- package/framework/v0.1.1-alpha.16/lib/cmd/port/list.js +0 -176
- package/framework/v0.1.1-alpha.16/package.json +0 -14
|
@@ -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
|
|
@@ -22,7 +23,7 @@ var console = lib.logger;
|
|
|
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,54 +302,59 @@ 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
317
|
!foundSpecialLeftCase /**&& !foundSpecialRightCase*/
|
|
312
|
-
|| Array.isArray(queryParams) && queryParams.length == 0
|
|
313
|
-
) {
|
|
314
|
-
queryParams = args;
|
|
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
|
// values by default
|
|
321
331
|
var queryOptions = {
|
|
322
|
-
// Do not turn off the adhoc flag for each query since
|
|
332
|
+
// Do not turn off the adhoc flag for each query since
|
|
323
333
|
// only a finite number of query plans (currently 5000) can be stored in the SDK
|
|
324
334
|
adhoc: false, // false to use plan optimization, but need a statement `name param` or `num param`
|
|
325
335
|
consistency: 1 // NOT_BOUNDED, but STATEMENT_PLUS is set by default for insert & update
|
|
326
336
|
};
|
|
327
337
|
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);
|
|
338
|
+
// _collection = queryStatement.match(/\_collection(\s+\=|=)(.*)(\'|\")/);
|
|
339
|
+
// if (_collection.length > 0) {
|
|
340
|
+
// _collection = _collection[0];
|
|
341
|
+
// if ( /\_collection/.test(_collection) ) {
|
|
342
|
+
// _collection = _collection.replace(/\_collection|\W+/ig, '');
|
|
343
|
+
// } else {
|
|
344
|
+
// _collection = null
|
|
345
|
+
// }
|
|
346
|
+
// }
|
|
347
|
+
|
|
339
348
|
//var scope = conn.scope(conn._name);
|
|
340
349
|
//var coll = (_collection) ? scope.collection(_collection) : scope.defaultCollection();
|
|
341
350
|
//execQuery = conn._cluster.query;
|
|
342
351
|
execQuery = inherits(conn, conn._cluster.query);
|
|
343
|
-
|
|
352
|
+
|
|
344
353
|
query = queryStatement;
|
|
345
354
|
queryOptions.parameters = queryParams;
|
|
346
|
-
|
|
355
|
+
|
|
347
356
|
} else { // version 2
|
|
348
|
-
// prepared statement
|
|
357
|
+
// prepared statement
|
|
349
358
|
query = N1qlQuery.fromString(queryStatement.replace(/^\s+/, ''));
|
|
350
359
|
// query options
|
|
351
360
|
// @param {object} options
|
|
@@ -388,34 +397,70 @@ function Couchbase(conn, infos) {
|
|
|
388
397
|
// merge options
|
|
389
398
|
for (var qOpt in queryOptions) {
|
|
390
399
|
if ( typeof(query[ qOpt ]) == 'undefined' ) {
|
|
391
|
-
console.warn('N1QL
|
|
400
|
+
console.warn('[N1QL]['+entityName.toLowerCase()+ '#'+ name + '] `'+ qOpt +'` is not a valid queryOption. Ignorig...');
|
|
392
401
|
continue;
|
|
393
402
|
}
|
|
394
403
|
query[ qOpt ]( queryOptions[ qOpt ] );
|
|
395
|
-
}
|
|
396
|
-
|
|
404
|
+
}
|
|
405
|
+
|
|
397
406
|
}
|
|
398
407
|
|
|
399
|
-
|
|
408
|
+
// JUNE 2021 patch
|
|
409
|
+
// Adding support for FTS since it is not implemented in sdkVersion 2:
|
|
410
|
+
// variables not replaced by value
|
|
411
|
+
// looking for FTS (Full Text Search)
|
|
412
|
+
var ftsClause = ( sdkVersion > 2 ) ? query.match(/(search\(|search\s+\().*\)/i) : query.options.statement.match(/(search\(|search\s+\().*\)/i);
|
|
413
|
+
if (ftsClause && Array.isArray(queryParams) ) {
|
|
414
|
+
var originalFtsClauses = JSON.clone(ftsClause), _queryParams = null;
|
|
415
|
+
|
|
416
|
+
if ( sdkVersion > 2 && Array.isArray(queryOptions.parameters) ) {
|
|
417
|
+
_queryParams = queryOptions.parameters;
|
|
418
|
+
} else if (sdkVersion <=2 && Array.isArray(queryParams) ) {
|
|
419
|
+
_queryParams = queryParams;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
for (let s = 0, sLen = ftsClause.length; s < sLen; s++) {
|
|
423
|
+
if ( !/\)$/.test(ftsClause[s]) ) continue;
|
|
424
|
+
for (let p = 0, pLen = _queryParams.length; p < pLen; p++) {
|
|
425
|
+
if ( typeof(_queryParams[p]) == 'function' ) continue;
|
|
426
|
+
let searchValue = ( /^(true|false)$/i.test(_queryParams[p]) ) ? _queryParams[p] : '"'+_queryParams[p]+'"';
|
|
427
|
+
ftsClause[s] = ftsClause[s].replace( new RegExp('\\$'+ (p+1),'g'), searchValue)
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
if ( sdkVersion > 2 ) {
|
|
431
|
+
query = query.replace(originalFtsClauses[s], ftsClause[s]);
|
|
432
|
+
} else {
|
|
433
|
+
query.options.statement = query.options.statement.replace(originalFtsClauses[s], ftsClause[s]);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
originalFtsClauses = null;
|
|
438
|
+
}
|
|
439
|
+
ftsClause = null;
|
|
440
|
+
|
|
441
|
+
|
|
400
442
|
|
|
401
443
|
|
|
402
444
|
// trick to set event on the fly
|
|
403
445
|
var trigger = 'N1QL:'+entityName.toLowerCase()+ '#'+ name;
|
|
404
446
|
var statement = (sdkVersion <= 2) ? query.options.statement : query;
|
|
405
|
-
|
|
447
|
+
|
|
406
448
|
if (envIsDev) {
|
|
407
449
|
//var statement = (sdkVersion <= 2) ? query.options.statement : query;
|
|
408
450
|
console.debug('[ ' + trigger +' ] '+ statement);
|
|
409
451
|
//console.debug('[ ' + trigger +' ] options: '+ JSON.stringify(queryOptions, null, 2));
|
|
452
|
+
if (queryParams.length > 0) {
|
|
453
|
+
console.debug('[ ' + trigger +' ] Found query params: '+ queryParams);
|
|
454
|
+
}
|
|
410
455
|
}
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
414
459
|
var onQueryCallback = function(err, data, meta) {
|
|
415
460
|
// if (/^company#getDocumentNextId$/.test(trigger)) {
|
|
416
461
|
// console.log('[ ' + trigger + '] onQueryCallback => ', err, data, meta);
|
|
417
462
|
// }
|
|
418
|
-
|
|
463
|
+
|
|
419
464
|
if (!data || data.length == 0) {
|
|
420
465
|
data = null
|
|
421
466
|
}
|
|
@@ -428,26 +473,26 @@ function Couchbase(conn, infos) {
|
|
|
428
473
|
err.message = '[ '+source+' ]\n'+ err.message;
|
|
429
474
|
err.stack = '[ '+source+' ]\n'+ err.stack;
|
|
430
475
|
}
|
|
431
|
-
|
|
476
|
+
|
|
432
477
|
// handle return type
|
|
433
|
-
if ( returnType && returnType == 'boolean' ) {
|
|
478
|
+
if ( returnType && returnType == 'boolean' ) {
|
|
434
479
|
// CASE #1
|
|
435
480
|
// 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 (
|
|
481
|
+
// [ { someField: 1 }] <- a collection with only one object which has prop: <number>
|
|
482
|
+
if (
|
|
438
483
|
/count\(|count\s+\(/i.test(queryString)
|
|
439
|
-
&& Array.isArray(data)
|
|
484
|
+
&& Array.isArray(data)
|
|
440
485
|
&& /object/i.test(typeof(data[0]))
|
|
441
486
|
&& Object.keys(data[0]).length == 1
|
|
442
487
|
&& /number/i.test( typeof(data[0][Object.keys(data[0])]) )
|
|
443
488
|
) {
|
|
444
489
|
data = ( data[0][Object.keys(data[0])] > 0 ) ? true : false
|
|
445
|
-
}
|
|
490
|
+
}
|
|
446
491
|
// CASE #2
|
|
447
492
|
// regular query, just counting result
|
|
448
493
|
else {
|
|
449
494
|
data = ( typeof(data.length) != 'undefined' && data.length > 0 ) ? true : false
|
|
450
|
-
}
|
|
495
|
+
}
|
|
451
496
|
} else if ( returnType && returnType == 'object' ) {
|
|
452
497
|
|
|
453
498
|
data = (data) ? data[0] : data
|
|
@@ -472,52 +517,54 @@ function Couchbase(conn, infos) {
|
|
|
472
517
|
} else { // Promise case
|
|
473
518
|
throw err
|
|
474
519
|
}
|
|
475
|
-
|
|
520
|
+
|
|
476
521
|
} else {
|
|
477
522
|
if ( typeof(self.emit) != 'undefined' ) {
|
|
478
523
|
self.emit(trigger, err, data, meta);
|
|
479
524
|
} else { // Promise case
|
|
480
525
|
return data
|
|
481
|
-
}
|
|
526
|
+
}
|
|
482
527
|
}
|
|
483
|
-
return
|
|
528
|
+
return
|
|
484
529
|
}
|
|
485
|
-
|
|
486
|
-
} catch (_err) {
|
|
530
|
+
|
|
531
|
+
} catch (_err) {
|
|
487
532
|
if ( _mainCallback != null ) {
|
|
488
533
|
_mainCallback(err, data, meta)
|
|
489
534
|
} else {
|
|
490
535
|
if ( typeof(self.emit) != 'undefined' ) {
|
|
491
536
|
self.emit(trigger, _err);
|
|
492
537
|
} else {
|
|
493
|
-
throw new Error('[ Couchbase ][ Core Entity Exception] '+ trigger + '\n'+ _err.stack)
|
|
494
|
-
}
|
|
495
|
-
}
|
|
538
|
+
throw new Error('[ Couchbase ][ Core Entity Exception] '+ trigger + '\n'+ _err.stack)
|
|
539
|
+
}
|
|
540
|
+
}
|
|
496
541
|
}
|
|
497
542
|
}; // EO onQueryCallback
|
|
498
|
-
|
|
543
|
+
|
|
499
544
|
self._isRegisteredFromProto = false;
|
|
545
|
+
// `register()` is only used for v2
|
|
500
546
|
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
|
-
|
|
547
|
+
// // JUNE 2021 patch
|
|
548
|
+
// // Adding support for FTS since it is not implemented in sdkVersion 2:
|
|
549
|
+
// // variables not replaced by value
|
|
550
|
+
// // looking for FTS (Full Text Search)
|
|
551
|
+
// var ftsClause = query.options.statement.match(/(search\(|search\s+\().*\)/i);
|
|
552
|
+
// if (ftsClause && Array.isArray(queryParams) ) {
|
|
553
|
+
// var originalFtsClauses = JSON.clone(ftsClause);
|
|
554
|
+
// for (let s = 0, sLen = ftsClause.length; s < sLen; s++) {
|
|
555
|
+
// if ( !/\)$/.test(ftsClause[s]) ) continue;
|
|
556
|
+
// for (let p = 0, pLen = queryParams.length; p < pLen; p++) {
|
|
557
|
+
// if ( typeof(queryParams[p]) == 'function' ) continue;
|
|
558
|
+
// let searchValue = ( /^(true|false)$/i.test(queryParams[p]) ) ? queryParams[p] : '"'+queryParams[p]+'"';
|
|
559
|
+
// ftsClause[s] = ftsClause[s].replace( new RegExp('\\$'+ (p+1),'g'), searchValue)
|
|
560
|
+
// }
|
|
561
|
+
// query.options.statement = query.options.statement.replace(originalFtsClauses[s], ftsClause[s]);
|
|
562
|
+
// }
|
|
563
|
+
// originalFtsClauses = null;
|
|
564
|
+
// }
|
|
565
|
+
// ftsClause = null;
|
|
566
|
+
|
|
567
|
+
|
|
521
568
|
if ( typeof(self.once) != 'undefined' && typeof(cb) != 'undefined' ) {
|
|
522
569
|
self._isRegisteredFromProto = true;
|
|
523
570
|
//console.debug('registered trigger: ', trigger, self._isRegisteredFromProto);
|
|
@@ -525,106 +572,109 @@ function Couchbase(conn, infos) {
|
|
|
525
572
|
//console.debug('received ', trigger, meta, err);
|
|
526
573
|
try {
|
|
527
574
|
cb(err, data, meta)
|
|
528
|
-
} catch (onCompleteError) {
|
|
575
|
+
} catch (onCompleteError) {
|
|
529
576
|
cb(onCompleteError)
|
|
530
|
-
}
|
|
577
|
+
}
|
|
531
578
|
});
|
|
532
579
|
// if (/triggerToDebug/.test(trigger)) {
|
|
533
580
|
// console.log('[ ' + trigger + '] onQuery => ', query, queryParams);
|
|
534
581
|
// }
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
582
|
+
|
|
583
|
+
if (sdkVersion > 2) {
|
|
584
|
+
conn._cluster.query(query, queryParams)
|
|
585
|
+
.catch( function onError(err) {
|
|
586
|
+
try {
|
|
587
|
+
var error = new Error(err.cause.first_error_message);
|
|
588
|
+
error.stack = trigger +'\n'+ err.cause.http_body;
|
|
589
|
+
onQueryCallback(error);
|
|
590
|
+
} catch (_err) {
|
|
591
|
+
console.error(_err.stack);
|
|
592
|
+
}
|
|
593
|
+
})
|
|
594
|
+
.then( function onResult(data, meta) {
|
|
595
|
+
try {
|
|
596
|
+
onQueryCallback(false, data.rows, data.meta);
|
|
597
|
+
} catch (_err) {
|
|
598
|
+
console.error(_err.stack);
|
|
599
|
+
}
|
|
600
|
+
});
|
|
601
|
+
} else {
|
|
602
|
+
conn.query(query, queryParams, onQueryCallback);
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
|
|
606
|
+
} // else promise case
|
|
607
|
+
|
|
608
|
+
|
|
539
609
|
if (!self._isRegisteredFromProto) {
|
|
540
610
|
//console.debug('regular trigger: ', trigger, self._isRegisteredFromProto);
|
|
541
611
|
// if (/triggerToDebug/.test(trigger)) {
|
|
542
612
|
// console.log('[ ' + trigger + '] onQuery => ', query, queryParams);
|
|
543
613
|
// }
|
|
544
|
-
|
|
614
|
+
|
|
615
|
+
if (sdkVersion > 2) {
|
|
616
|
+
conn._cluster.query(query, queryParams)
|
|
617
|
+
.catch( function onError(err) {
|
|
618
|
+
try {
|
|
619
|
+
var error = new Error(err.cause.first_error_message);
|
|
620
|
+
error.stack = trigger +'\n'+ err.cause.http_body;
|
|
621
|
+
onQueryCallback(error);
|
|
622
|
+
} catch (_err) {
|
|
623
|
+
console.error(_err.stack);
|
|
624
|
+
}
|
|
625
|
+
})
|
|
626
|
+
.then( function onResult(data) {
|
|
627
|
+
try {
|
|
628
|
+
onQueryCallback(false, data.rows, data.meta);
|
|
629
|
+
} catch (_err) {
|
|
630
|
+
console.error(_err.stack);
|
|
631
|
+
}
|
|
632
|
+
});
|
|
633
|
+
} else {
|
|
634
|
+
conn.query(query, queryParams, onQueryCallback);
|
|
635
|
+
}
|
|
545
636
|
}
|
|
546
|
-
}
|
|
547
|
-
|
|
637
|
+
} //EO register
|
|
638
|
+
|
|
548
639
|
var _proto = {
|
|
549
|
-
onComplete : function(cb) {
|
|
550
|
-
//console.
|
|
551
|
-
|
|
640
|
+
onComplete : function(cb) {
|
|
641
|
+
// console.warn('onComplete trigger: ', trigger, self._isRegisteredFromProto);
|
|
642
|
+
if ( sdkVersion > 2 ) {
|
|
643
|
+
register(trigger, queryOptions, onQueryCallback, cb)
|
|
644
|
+
} else {
|
|
645
|
+
register(trigger, queryParams, onQueryCallback, cb)
|
|
646
|
+
}
|
|
552
647
|
}
|
|
553
648
|
};
|
|
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
|
-
}
|
|
649
|
+
|
|
650
|
+
|
|
651
|
+
if ( sdkVersion > 2 ) {
|
|
652
|
+
if ( _mainCallback == null ) {
|
|
653
|
+
setTimeout((trigger, queryOptions, onQueryCallback) => {
|
|
654
|
+
if (!self._isRegisteredFromProto) {
|
|
655
|
+
// needed when used as a synchrone method
|
|
656
|
+
register(trigger, queryOptions, onQueryCallback);
|
|
590
657
|
}
|
|
591
|
-
}
|
|
658
|
+
}, 0, trigger, queryOptions, onQueryCallback);
|
|
659
|
+
return _proto
|
|
660
|
+
|
|
592
661
|
} 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 ) {
|
|
662
|
+
register(trigger, queryOptions, onQueryCallback, _mainCallback)
|
|
663
|
+
}
|
|
664
|
+
} else {
|
|
665
|
+
|
|
666
|
+
if ( _mainCallback == null ) {
|
|
617
667
|
setTimeout((trigger, queryParams, onQueryCallback) => {
|
|
618
|
-
if (!self._isRegisteredFromProto) {
|
|
619
|
-
// needed when used as a synchrone method
|
|
668
|
+
if (!self._isRegisteredFromProto) {
|
|
669
|
+
// needed when used as a synchrone method
|
|
620
670
|
register(trigger, queryParams, onQueryCallback);
|
|
621
671
|
}
|
|
622
|
-
}, 0, trigger, queryParams, onQueryCallback);
|
|
623
|
-
return _proto
|
|
624
|
-
|
|
672
|
+
}, 0, trigger, queryParams, onQueryCallback);
|
|
673
|
+
return _proto
|
|
674
|
+
|
|
625
675
|
} else {
|
|
626
676
|
register(trigger, queryParams, onQueryCallback, _mainCallback)
|
|
627
|
-
}
|
|
677
|
+
}
|
|
628
678
|
}
|
|
629
679
|
}
|
|
630
680
|
|
|
@@ -637,27 +687,39 @@ function Couchbase(conn, infos) {
|
|
|
637
687
|
|
|
638
688
|
/**
|
|
639
689
|
* bulkInsert
|
|
640
|
-
*
|
|
690
|
+
*
|
|
641
691
|
* Supported options
|
|
642
692
|
* - adhoc : [ true | false ]
|
|
643
|
-
* // scan consistency level - default is
|
|
693
|
+
* // scan consistency level - here, default is 3
|
|
644
694
|
* - consistency : [ 1 | 2 | 3 ] where 1 = NOT_BOUNDED, 2 = REQUEST_PLUS, 3 = STATEMENT_PLUS
|
|
645
|
-
*
|
|
695
|
+
* not_bounded:
|
|
696
|
+
* Executes the query immediately, without requiring any consistency for the query. If index-maintenance is running behind, out-of-date results may be returned.
|
|
697
|
+
* at_plus:
|
|
698
|
+
* 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.
|
|
699
|
+
* request_plus:
|
|
700
|
+
* 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.
|
|
701
|
+
*
|
|
646
702
|
* @param {array} rec collection
|
|
647
|
-
* @param {object} [options] e.g: { consistency:
|
|
648
|
-
*
|
|
703
|
+
* @param {object} [options] e.g: { consistency: 2 }
|
|
704
|
+
*
|
|
649
705
|
*/
|
|
650
706
|
var bulkInsert = function(rec, options) {
|
|
651
707
|
|
|
652
|
-
try {
|
|
653
|
-
var conn = this.getConnection();
|
|
654
|
-
|
|
708
|
+
try {
|
|
709
|
+
var conn = this.getConnection();
|
|
710
|
+
// retrieve & return the collection
|
|
711
|
+
// if ( typeof(conn._scope) == 'undefined' && typeof(conn.scope) != 'undefined' ) {
|
|
712
|
+
// var newConn = conn.scope(scope).collection(currentCollection);
|
|
713
|
+
// newConn.sdk = conn.sdk;
|
|
714
|
+
// conn = newConn;
|
|
715
|
+
// }
|
|
716
|
+
var sdkVersion = conn.sdk.version || 2;
|
|
655
717
|
// by default
|
|
656
|
-
var queryOptions = {
|
|
718
|
+
var queryOptions = {
|
|
657
719
|
adhoc: true,
|
|
658
720
|
consistency: 3
|
|
659
721
|
};
|
|
660
|
-
|
|
722
|
+
|
|
661
723
|
if ( typeof(options) != 'undefined' ) {
|
|
662
724
|
queryOptions = merge(options, queryOptions)
|
|
663
725
|
}
|
|
@@ -670,7 +732,8 @@ function Couchbase(conn, infos) {
|
|
|
670
732
|
|
|
671
733
|
|
|
672
734
|
var queryString = 'INSERT INTO '+ this.database +' (KEY, VALUE)';
|
|
673
|
-
|
|
735
|
+
var recCount = 0;
|
|
736
|
+
for (let id in rec) {
|
|
674
737
|
if ( typeof(rec[id].values) == 'undefined' )
|
|
675
738
|
throw new Error('rec["'+ id +'"].values not found ! Please inspect your record root: type must be an Array.');
|
|
676
739
|
|
|
@@ -680,67 +743,113 @@ function Couchbase(conn, infos) {
|
|
|
680
743
|
rec[id].values._collection = this._collection;
|
|
681
744
|
|
|
682
745
|
queryString += '\t\nVALUES ("'+ id +'", '+ JSON.stringify(rec[id].values) +'),';
|
|
746
|
+
recCount++;
|
|
683
747
|
}
|
|
684
748
|
|
|
685
749
|
queryString = queryString.substr(0, queryString.length-1);
|
|
686
750
|
queryString += '\nRETURNING '+ this.database +'.*;';
|
|
687
751
|
|
|
688
|
-
|
|
752
|
+
|
|
689
753
|
var query = null;
|
|
690
754
|
if ( sdkVersion > 2) { // starting SDK v3
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
query = merge(queryString, queryOptions);
|
|
755
|
+
query = queryString;
|
|
756
|
+
// queryOptions.parameters = queryParams;
|
|
694
757
|
} else {
|
|
695
758
|
// prepared statement
|
|
696
759
|
query = N1qlQuery.fromString(queryString);
|
|
697
760
|
// merge options
|
|
698
761
|
for (var qOpt in queryOptions) {
|
|
699
762
|
if ( typeof(query[ qOpt ]) == 'undefined' ) {
|
|
700
|
-
console.warn('N1QL
|
|
763
|
+
console.warn('[N1QL]['+entityName.toLowerCase()+ '#'+ name + '] `'+ qOpt +'` is not a valid queryOption. Ignorig...');
|
|
701
764
|
continue;
|
|
702
765
|
}
|
|
703
766
|
query[ qOpt ]( queryOptions[ qOpt ] )
|
|
704
767
|
}
|
|
705
768
|
}
|
|
706
|
-
|
|
769
|
+
|
|
707
770
|
|
|
708
771
|
// trick to set event on the fly
|
|
709
772
|
var trigger = 'N1QL:'+ this.name.toLowerCase()+ '#'+ name;
|
|
710
773
|
// trick to set event on the fly
|
|
711
774
|
var statement = (sdkVersion <= 2) ? query.options.statement : query;
|
|
712
|
-
|
|
775
|
+
|
|
713
776
|
if (envIsDev) {
|
|
714
777
|
console.debug('[ ' + trigger +' ] '+statement);
|
|
715
778
|
}
|
|
716
779
|
|
|
717
780
|
var self = this;
|
|
718
|
-
conn.query(query, rec, function(err, data, meta) {
|
|
719
|
-
if (!data || data.length == 0) {
|
|
720
|
-
data = null
|
|
721
|
-
}
|
|
722
781
|
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
782
|
+
if (sdkVersion > 2) {
|
|
783
|
+
var err = false;
|
|
784
|
+
conn._scope._bucket._cluster.query(query, queryOptions)
|
|
785
|
+
.catch( function onError(err) {
|
|
786
|
+
try {
|
|
787
|
+
var error = new Error(err.cause.first_error_message);
|
|
788
|
+
error.stack = trigger +'\n'+ err.cause.http_body;
|
|
789
|
+
self.emit(trigger, error);
|
|
790
|
+
} catch (_err) {
|
|
791
|
+
console.error(_err.stack);
|
|
792
|
+
}
|
|
793
|
+
})
|
|
794
|
+
.then( function onResult(data) {
|
|
795
|
+
try {
|
|
796
|
+
var _data = data.rows, _meta = data.meta;
|
|
797
|
+
if (!_data || _data.length == 0) {
|
|
798
|
+
_data = null
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
if (!err && _meta && typeof(_meta.errors) != 'undefined' ) {
|
|
802
|
+
err = new Error('`GenericN1QLError::bulkInsert`\n'+_meta.errors[0].msg);
|
|
803
|
+
err.status = 403;
|
|
804
|
+
} else if (err) {
|
|
805
|
+
err.status = 500;
|
|
806
|
+
err.message = '`GenericN1QLError::bulkInsert`\n'+ err.message;
|
|
807
|
+
err.stack = '`GenericN1QLError::bulkInsert`\n'+ err.stack;
|
|
808
|
+
}
|
|
809
|
+
if (envIsDev) {
|
|
810
|
+
console.debug('[ bulkInsert response ] : err ? '+ err + ', meta : \n'+ JSON.stringify(_meta) +'\n data :\n'+ JSON.stringify(_data) );
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
self.emit(trigger, err, data.rows, data.meta);
|
|
814
|
+
// Tempory fix
|
|
815
|
+
// setTimeout(() => {
|
|
816
|
+
// self.emit(trigger, err, data.rows, data.meta);
|
|
817
|
+
// }, (9+recCount) );
|
|
818
|
+
|
|
819
|
+
} catch (_err) {
|
|
820
|
+
console.error(_err.stack);
|
|
821
|
+
}
|
|
822
|
+
});
|
|
823
|
+
} else {
|
|
824
|
+
conn.query(query, rec, function(err, data, meta) {
|
|
825
|
+
if (!data || data.length == 0) {
|
|
826
|
+
data = null
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
if (!err && meta && typeof(meta.errors) != 'undefined' ) {
|
|
830
|
+
err = new Error('`GenericN1QLError::bulkInsert`\n'+meta.errors[0].msg);
|
|
831
|
+
err.status = 403;
|
|
832
|
+
} else if (err) {
|
|
833
|
+
err.status = 500;
|
|
834
|
+
err.message = '`GenericN1QLError::bulkInsert`\n'+ err.message;
|
|
835
|
+
err.stack = '`GenericN1QLError::bulkInsert`\n'+ err.stack;
|
|
836
|
+
}
|
|
837
|
+
if (envIsDev) {
|
|
838
|
+
console.debug('[ bulkInsert response ] : err ? '+ err + ', meta : \n'+ JSON.stringify(meta) +'\n data :\n'+ JSON.stringify(data) );
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
self.emit(trigger, err, data, meta);
|
|
842
|
+
});
|
|
843
|
+
}
|
|
734
844
|
|
|
735
|
-
self.emit(trigger, err, data, meta);
|
|
736
|
-
});
|
|
737
845
|
|
|
738
846
|
return {
|
|
739
847
|
onComplete : function(cb) {
|
|
740
848
|
self.once(trigger, function(err, data, meta){
|
|
741
849
|
if (envIsDev) {
|
|
742
|
-
console.debug('[ bulkInsert triggerd ] '+ trigger);
|
|
850
|
+
console.debug('[ bulkInsert triggerd ] '+ trigger + ' - Rec count: '+ recCount);
|
|
743
851
|
}
|
|
852
|
+
|
|
744
853
|
cb(err, data, meta)
|
|
745
854
|
})
|
|
746
855
|
}
|
|
@@ -752,6 +861,6 @@ function Couchbase(conn, infos) {
|
|
|
752
861
|
}
|
|
753
862
|
|
|
754
863
|
return init(conn, infos)
|
|
755
|
-
}
|
|
864
|
+
}
|
|
756
865
|
|
|
757
|
-
module.exports = Couchbase
|
|
866
|
+
module.exports = Couchbase;
|