gina 0.1.1-alpha.146 → 0.1.1-alpha.148
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/bin/cli +4 -1
- package/bin/gina +1 -1
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/AUTHORS +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/LICENSE +0 -0
- package/framework/v0.1.1-alpha.148/VERSION +1 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/html/nolayout.html +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/html/static.html +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/img/android-chrome-192x192.png +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/img/android-chrome-512x512.png +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/img/apple-touch-icon.png +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/img/favicon-16x16.png +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/img/favicon-32x32.png +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/img/favicon.ico +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/dist/gina.js +109 -106
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/dist/gina.js.map +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/dist/gina.min.css +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/dist/gina.min.css.map +0 -0
- package/framework/v0.1.1-alpha.148/core/asset/plugin/dist/gina.min.js +739 -0
- package/framework/v0.1.1-alpha.148/core/asset/plugin/dist/gina.min.js.map +8 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/dist/gina.onload.min.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/dist/gina.onload.min.js.map +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/dist/toolbar/css/toolbar-min.css +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/dist/toolbar/css/toolbar.css +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/dist/toolbar/css/toolbar.css.map +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/dist/toolbar/js/jquery-3.1.0.min.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/dist/toolbar/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/dist/toolbar/toolbar.html +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/readme.md +1 -1
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/asset/plugin/uuid.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/config.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/connectors/couchbase/index.js +310 -215
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/connectors/couchbase/lib/connector.js +6 -4
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/connectors/couchbase/lib/connector.v2.js +47 -47
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- package/framework/v0.1.1-alpha.148/core/connectors/couchbase/lib/connector.v4.js +377 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/connectors/couchbase/lib/n1ql.js +3 -2
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/connectors/couchbase/lib/session-store.js +6 -5
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- package/framework/v0.1.1-alpha.148/core/connectors/couchbase/lib/session-store.v4.js +362 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/controller/controller.framework.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/controller/controller.js +13 -5
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/controller/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/deps/busboy/.travis.yml +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/deps/busboy/LICENSE +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/deps/busboy/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/deps/busboy/deps/encoding/encoding.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/deps/busboy/lib/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/deps/busboy/lib/types/multipart.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/deps/busboy/lib/types/urlencoded.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/deps/busboy/lib/utils.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/deps/busboy/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/dev/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/dev/lib/class.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/dev/lib/factory.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/dev/lib/tools.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/gna.js +2 -3
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/locales/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/locales/currency.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/locales/dist/language/en.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/locales/dist/language/fr.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/locales/dist/region/en.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/locales/dist/region/fr.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/locales/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/locales/src/make.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/locales/src/resources/currency.csv +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/locales/src/resources/region.csv +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/locales/src/resources/region.mapping.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/mime.types +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/model/entity.js +80 -60
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/model/index.js +4 -4
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/model/template/entityFactory.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/model/template/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/file/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/file/build.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/file/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/intl/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/intl/build.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/intl/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/intl/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/storage/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/storage/build.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/storage/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/storage/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/validator/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/validator/build.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/validator/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/validator/src/form-validator.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/plugins/lib/validator/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/router.js +91 -78
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/server.express.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/server.isaac.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/server.js +1 -1
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/status.codes +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle/config/app.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle/config/routing.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle/config/settings.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle/config/templates.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle_public/readme.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/command/gina.bat.tpl +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/command/gina.tpl +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/conf/env.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/conf/manifest.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/conf/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/conf/settings.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/conf/statics.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/conf/templates.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/error/client/json/401.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/error/client/json/403.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/error/client/json/404.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/error/server/html/50x.html +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/error/server/json/500.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/error/server/json/503.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/core/template/extensions/logger/config.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/console.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/context.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/dateFormat.js +3 -1
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/json/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/json/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/json/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/path.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/plugins/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/plugins/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/plugins/src/api-error.js +23 -23
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/plugins/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/prototypes.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/task.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/helpers/text.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/archiver/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/archiver/build.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/archiver/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/archiver/src/dep/jszip.min.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/archiver/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/aliases.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/add.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/arguments.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/copy.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/cp.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/help.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/help.txt +2 -2
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/list.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/remove.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/rename.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/restart.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/rm.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/start.js +10 -6
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/status.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/bundle/stop.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/env/add.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/env/get.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/env/help.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/env/help.txt +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/env/link-dev.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/env/list.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/env/remove.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/env/rm.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/env/set.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/env/unset.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/env/use.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/build.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/dot.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/get.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/help.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/help.txt +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/init.js +6 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/link-node-modules.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/link.js +6 -1
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/msg.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/open.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/restart.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/set.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/start.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/status.js +15 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/stop.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/tail.js +8 -1
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/update.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/framework/version.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/gina-dev.1.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/gina-framework.1.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/gina.1.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/helper.js +14 -14
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/msg.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/port/help.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/port/help.txt +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/port/inc/scan.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/port/list.js +50 -1
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/port/reset.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/port/set.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/add.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/arguments.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/build.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/help.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/help.txt +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/import.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/list.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/move.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/remove.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/rename.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/restart.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/rm.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/start.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/status.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/project/stop.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/protocol/help.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/protocol/help.txt +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/protocol/list.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/protocol/set.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/scope/help.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/scope/help.txt +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/scope/link-local.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/scope/list.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/scope/remove.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/scope/rm.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/scope/set.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/scope/unset.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/scope/use.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cmd/view/add.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/collection/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/collection/build.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/collection/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/collection/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/config.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cron/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cron/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/cron/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/generator/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/inherits/LICENSE +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/inherits/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/inherits/example/inheriting_eventemitter.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/inherits/example/protected_inheritance.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/inherits/example/simple_inheritance.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/inherits/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/inherits/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/logger/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/logger/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/logger/src/containers/default/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/logger/src/containers/file/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/logger/src/containers/mq/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/logger/src/containers/mq/listener.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/logger/src/containers/mq/speaker.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/logger/src/helper.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/logger/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/math/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/merge/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/merge/example/merge.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/merge/example/merge_2_literal objects.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/merge/example/merge_and_preserve_first.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/merge/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/merge/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/model.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/proc.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/routing/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/routing/build.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/routing/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/routing/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/session-store.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/shell.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/swig-filters/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/swig-filters/package.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/swig-filters/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/url/README.md +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/url/index.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/url/mocks.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/url/routing.json +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/url/test.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/lib/validator.js +0 -0
- package/framework/{v0.1.1-alpha.146 → v0.1.1-alpha.148}/package.json +0 -0
- package/package.json +2 -2
- package/framework/v0.1.1-alpha.146/VERSION +0 -1
- package/framework/v0.1.1-alpha.146/core/asset/plugin/dist/gina.min.js +0 -736
- package/framework/v0.1.1-alpha.146/core/asset/plugin/dist/gina.min.js.map +0 -56
|
@@ -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
|
|
@@ -241,8 +244,8 @@ function Couchbase(conn, infos) {
|
|
|
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
|
|
@@ -392,30 +401,66 @@ function Couchbase(conn, infos) {
|
|
|
392
401
|
continue;
|
|
393
402
|
}
|
|
394
403
|
query[ qOpt ]( queryOptions[ qOpt ] );
|
|
395
|
-
}
|
|
396
|
-
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
}
|
|
407
|
+
|
|
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;
|
|
397
438
|
}
|
|
439
|
+
ftsClause = null;
|
|
440
|
+
|
|
398
441
|
|
|
399
|
-
|
|
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,33 @@ function Couchbase(conn, infos) {
|
|
|
637
687
|
|
|
638
688
|
/**
|
|
639
689
|
* bulkInsert
|
|
640
|
-
*
|
|
690
|
+
*
|
|
641
691
|
* Supported options
|
|
642
692
|
* - adhoc : [ true | false ]
|
|
643
693
|
* // scan consistency level - default is 1
|
|
644
694
|
* - consistency : [ 1 | 2 | 3 ] where 1 = NOT_BOUNDED, 2 = REQUEST_PLUS, 3 = STATEMENT_PLUS
|
|
645
|
-
*
|
|
695
|
+
*
|
|
646
696
|
* @param {array} rec collection
|
|
647
697
|
* @param {object} [options] e.g: { consistency: 3 }
|
|
648
|
-
*
|
|
698
|
+
*
|
|
649
699
|
*/
|
|
650
700
|
var bulkInsert = function(rec, options) {
|
|
651
701
|
|
|
652
|
-
try {
|
|
653
|
-
var conn = this.getConnection();
|
|
654
|
-
|
|
702
|
+
try {
|
|
703
|
+
var conn = this.getConnection();
|
|
704
|
+
// retrieve & return the collection
|
|
705
|
+
// if ( typeof(conn._scope) == 'undefined' && typeof(conn.scope) != 'undefined' ) {
|
|
706
|
+
// var newConn = conn.scope(scope).collection(currentCollection);
|
|
707
|
+
// newConn.sdk = conn.sdk;
|
|
708
|
+
// conn = newConn;
|
|
709
|
+
// }
|
|
710
|
+
var sdkVersion = conn.sdk.version || 2;
|
|
655
711
|
// by default
|
|
656
|
-
var queryOptions = {
|
|
712
|
+
var queryOptions = {
|
|
657
713
|
adhoc: true,
|
|
658
714
|
consistency: 3
|
|
659
715
|
};
|
|
660
|
-
|
|
716
|
+
|
|
661
717
|
if ( typeof(options) != 'undefined' ) {
|
|
662
718
|
queryOptions = merge(options, queryOptions)
|
|
663
719
|
}
|
|
@@ -685,12 +741,11 @@ function Couchbase(conn, infos) {
|
|
|
685
741
|
queryString = queryString.substr(0, queryString.length-1);
|
|
686
742
|
queryString += '\nRETURNING '+ this.database +'.*;';
|
|
687
743
|
|
|
688
|
-
|
|
744
|
+
|
|
689
745
|
var query = null;
|
|
690
746
|
if ( sdkVersion > 2) { // starting SDK v3
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
query = merge(queryString, queryOptions);
|
|
747
|
+
query = queryString;
|
|
748
|
+
// queryOptions.parameters = queryParams;
|
|
694
749
|
} else {
|
|
695
750
|
// prepared statement
|
|
696
751
|
query = N1qlQuery.fromString(queryString);
|
|
@@ -703,37 +758,77 @@ function Couchbase(conn, infos) {
|
|
|
703
758
|
query[ qOpt ]( queryOptions[ qOpt ] )
|
|
704
759
|
}
|
|
705
760
|
}
|
|
706
|
-
|
|
761
|
+
|
|
707
762
|
|
|
708
763
|
// trick to set event on the fly
|
|
709
764
|
var trigger = 'N1QL:'+ this.name.toLowerCase()+ '#'+ name;
|
|
710
765
|
// trick to set event on the fly
|
|
711
766
|
var statement = (sdkVersion <= 2) ? query.options.statement : query;
|
|
712
|
-
|
|
767
|
+
|
|
713
768
|
if (envIsDev) {
|
|
714
769
|
console.debug('[ ' + trigger +' ] '+statement);
|
|
715
770
|
}
|
|
716
771
|
|
|
717
772
|
var self = this;
|
|
718
|
-
conn.query(query, rec, function(err, data, meta) {
|
|
719
|
-
if (!data || data.length == 0) {
|
|
720
|
-
data = null
|
|
721
|
-
}
|
|
722
773
|
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
774
|
+
if (sdkVersion > 2) {
|
|
775
|
+
var err = false;
|
|
776
|
+
conn._scope._bucket._cluster.query(query, queryOptions)
|
|
777
|
+
.catch( function onError(err) {
|
|
778
|
+
try {
|
|
779
|
+
var error = new Error(err.cause.first_error_message);
|
|
780
|
+
error.stack = trigger +'\n'+ err.cause.http_body;
|
|
781
|
+
self.emit(trigger, error);
|
|
782
|
+
} catch (_err) {
|
|
783
|
+
console.error(_err.stack);
|
|
784
|
+
}
|
|
785
|
+
})
|
|
786
|
+
.then( function onResult(data) {
|
|
787
|
+
try {
|
|
788
|
+
var _data = data.rows, _meta = data.meta;
|
|
789
|
+
if (!_data || _data.length == 0) {
|
|
790
|
+
_data = null
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
if (!err && _meta && typeof(_meta.errors) != 'undefined' ) {
|
|
794
|
+
err = new Error('`GenericN1QLError::bulkInsert`\n'+_meta.errors[0].msg);
|
|
795
|
+
err.status = 403;
|
|
796
|
+
} else if (err) {
|
|
797
|
+
err.status = 500;
|
|
798
|
+
err.message = '`GenericN1QLError::bulkInsert`\n'+ err.message;
|
|
799
|
+
err.stack = '`GenericN1QLError::bulkInsert`\n'+ err.stack;
|
|
800
|
+
}
|
|
801
|
+
if (envIsDev) {
|
|
802
|
+
console.debug('[ bulkInsert response ] : err ? '+ err + ', meta : \n'+ JSON.stringify(_meta) +'\n data :\n'+ JSON.stringify(_data) );
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
self.emit(trigger, err, data.rows, data.meta);
|
|
806
|
+
} catch (_err) {
|
|
807
|
+
console.error(_err.stack);
|
|
808
|
+
}
|
|
809
|
+
});
|
|
810
|
+
} else {
|
|
811
|
+
conn.query(query, rec, function(err, data, meta) {
|
|
812
|
+
if (!data || data.length == 0) {
|
|
813
|
+
data = null
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
if (!err && meta && typeof(meta.errors) != 'undefined' ) {
|
|
817
|
+
err = new Error('`GenericN1QLError::bulkInsert`\n'+meta.errors[0].msg);
|
|
818
|
+
err.status = 403;
|
|
819
|
+
} else if (err) {
|
|
820
|
+
err.status = 500;
|
|
821
|
+
err.message = '`GenericN1QLError::bulkInsert`\n'+ err.message;
|
|
822
|
+
err.stack = '`GenericN1QLError::bulkInsert`\n'+ err.stack;
|
|
823
|
+
}
|
|
824
|
+
if (envIsDev) {
|
|
825
|
+
console.debug('[ bulkInsert response ] : err ? '+ err + ', meta : \n'+ JSON.stringify(meta) +'\n data :\n'+ JSON.stringify(data) );
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
self.emit(trigger, err, data, meta);
|
|
829
|
+
});
|
|
830
|
+
}
|
|
734
831
|
|
|
735
|
-
self.emit(trigger, err, data, meta);
|
|
736
|
-
});
|
|
737
832
|
|
|
738
833
|
return {
|
|
739
834
|
onComplete : function(cb) {
|
|
@@ -752,6 +847,6 @@ function Couchbase(conn, infos) {
|
|
|
752
847
|
}
|
|
753
848
|
|
|
754
849
|
return init(conn, infos)
|
|
755
|
-
}
|
|
850
|
+
}
|
|
756
851
|
|
|
757
|
-
module.exports = Couchbase
|
|
852
|
+
module.exports = Couchbase;
|