Commit Graph

660 Commits

Author SHA1 Message Date
Raymond Camden a4154caf59
Improve "filter" arg description
Add an example showing how to serialize object values as JSON.
2017-02-21 15:00:57 +01:00
Miroslav Bajtoš 74bb1daf8a Add new flag injectOptionsFromRemoteContext
Hide the new "options" arguments behind a feature flag
injectOptionsFromRemoteContext that is disabled by default for backwards
compatibility.

Fix construction of sharedCtor remoting metadata to prevent the
situation when we are configuring remoting metadata after
strong-remoting has already picked up data from our parent (base) model.
2017-01-05 10:18:56 +01:00
Miroslav Bajtoš 693d52fc59 Contextify DAO and relation methods
Modify remoting metadata of data-access methods in PersistedModel
and relation method in Model and add an "options" argument to "accepts"
list.
2017-01-05 10:18:56 +01:00
Miroslav Bajtoš ee106e4e15 Implement new http arg mapping optionsFromRequest
Define a new Model method "createOptionsFromRemotingContext" that allows
models to define what "options" should be passed to methods invoked
via strong-remoting (e.g. REST).

Define a new http mapping `http: 'optionsFromRequest'` that invokes
`Model.createOptionsFromRemotingContext` to build the value from
remoting context.

This should provide enough infrastructure for components and
applications to implement their own ways of building the "options"
object.
2017-01-05 10:18:56 +01:00
kobaska b3a5bc739b Add option disabling periodic change rectification
When `Model.settings.changeCleanupInterval` is set to a negative value,
no periodic cleanup is performed at all.
2016-12-21 15:39:08 +01:00
Kogulan Baskaran bc923bd781 Add options to bulkUpdate 2016-11-15 13:02:23 +11:00
Miroslav Bajtoš bf5c206bd6 Fix description of updateAll response
Correctly describe the first non-error callback arg as an `info` object
containing a `count` property.
2016-10-12 13:04:35 +02:00
Tim van der Staaij b8b92fbeda Fix support for remote hooks returning a Promise
Fix beforeRemote/afterRemote to correctly return promises returned
by the user-provided hook callback.
2016-10-05 11:02:36 +02:00
Richard Pringle f7dbc97763 Call new disable remote method from model class. 2016-09-23 11:14:51 -04:00
Amir Jafarian 4d6f2da578 Fix data argument for upsertWithWhere
* Related PR: #2727
2016-09-07 13:52:35 -04:00
Sonali Samantaray 4c013deaae Expose upsertWithWhere
Backport of #2539
2016-09-07 12:41:56 -04:00
Miroslav Bajtoš fcfdb73bdb Fix remoting metadata for "data" arguments
Fix the definition of "data" argument to

    { type: 'object', model: modelName, ... }

That way strong-remoting passed the request body directly to the model
method (does not create a new model instance), but the swagger will
still provide correct schema for these arguments.

This fixes a bug where upsert in relation methods was adding default
property values to request payload.
2016-09-07 12:59:01 +02:00
Miroslav Bajtoš f362084770 Merge pull request #2697 from strongloop/fix/various
Fix app.enableAuth and test/user
2016-09-01 16:49:36 +02:00
Miroslav Bajtoš 07a04b71da app.enableAuth: correctly detect attached models
Fix a typo in "app.enableAuth" that caused the method to not detect
the situation when e.g. the built-in User model is already attached
to a datasource.
2016-08-31 15:29:18 +02:00
Subramanian Krishnan 6e71a52e90 Make the app instance available to connectors 2016-08-29 14:57:43 +02:00
Amir Jafarian 55eb8d72e6 Reorder PATCH Vs PUT endpoints
* Reorder PATCH Vs PUT endpoints for update* methods
* Backport of #2670
2016-08-26 16:21:45 -04:00
Miroslav Bajtoš 378aba60ae Merge pull request #2489 from STRML/mailAlias
Support 'alias' in mail transport config.
2016-08-16 16:19:45 +02:00
Miroslav Bajtoš 7932d75c44 Revert globalization of Swagger descriptions 2016-08-16 14:02:41 +02:00
Amir Jafarian e562137807 Expose `Replace*` methods
*Re-mapping `updateAttributes` endpoint to use
`PATCH` and `PUT`(configurable) verb
*Exposing `replaceById` and `replaceOrCreate` via
`POST` and `PUT`(configurable) verb
2016-08-15 12:17:36 -04:00
Miroslav Bajtoš 3b88753c8e Cache remoting descriptions to speed up tests
Calling strong-globalize is relatively expensive (about 300
microseconds for each call). When using per-app local registry in
unit-tests, each app creation requires about 500 calls of `g.t` just
for remoting metadata, i.e. about 150ms.

In this commit, we introduce `g.s` that caches the results from
strong-globalize to speed up creation of remoting metadata.
2016-08-12 13:51:12 +02:00
Miroslav Bajtoš 1dab10da3c Revert globalization of assert() messages 2016-08-12 13:51:12 +02:00
Miroslav Bajtoš 99dc1f9541 common: add KeyValueModel 2016-08-10 15:30:15 +02:00
Miroslav Bajtoš b08a1cfba3 Globalize current-context deprecation messages 2016-08-10 12:40:38 +02:00
Miroslav Bajtoš ca28e7ff9e Deprecate current-context API
Deprecate all current-context APIs in favour of loopback-context-cls.
2016-08-10 10:58:33 +02:00
Candy 3767940472 Backport of #2407 2016-08-05 11:55:32 -04:00
Miroslav Bajtoš fea3b781a0 Update dependencies to their latest versions 2016-08-05 10:54:42 +02:00
Samuel Reed 8bed218a74
Support 'alias' in mail transport config.
Useful if you need to set up multiple transports of the same type.
2016-07-05 10:48:24 -05:00
Miroslav Bajtoš 75da4c7784 Deprecate getters for express 3.x middleware
In LoopBack 3.0, we are removing these getters, see #2394.
2016-05-31 18:58:10 +02:00
Miroslav Bajtoš 692c67384a Merge pull request #2288 from strongloop/support-node-v6-in-2.x
Support node v6 in 2.x
2016-05-04 09:16:46 +02:00
Ryan Graham 4d6f2e7ab7
update/insert copyright notices 2016-05-03 17:10:46 -07:00
Miroslav Bajtoš da2fb0ae15 app: send port:0 instead of port:undefined
Node v6 no longer supports port:undefined, this commit is fixing
app.listen() to correctly send port:0 when no port is specified.
2016-05-03 19:00:01 +02:00
Supasate Choochaisri 2498c02f31 Add new feature to emit a `remoteMethodDisabled` event when disabling a remote method.
Signed-off-by: Supasate Choochaisri <supasate.c@gmail.com>
2016-04-29 16:29:50 -07:00
Tim Needham 1ea1cd612a Fix typo in Model.nestRemoting
Prevent apps from crashing when using `Model.nestRemoting` without
`{ hooks: false }` option.

Note that it is not possible to reproduce this bug using our current
Mocha test suite, because other tests modify the global state in such
way that the bug no longer occurs.

[back-port of #2245]
2016-04-20 09:35:10 +02:00
Miroslav Bajtoš 50e3578992 Improve error message on connector init error
[back-port of pull request #2105]
2016-03-02 13:19:20 +01:00
Sam Roberts a4c643e890 application: correct spelling of "cannont"
[back-port of pull request #2088]
2016-02-19 13:12:51 +01:00
Miroslav Bajtoš 015e9cb80e Correct JSDoc findOrCreate() callback in PersistedModel
Update PersistedModel.findOrCreate() JSDoc to reflect the
callback accepts an additional created boolean parameter.

This is a back-port of pull request #1983 from noderat/patch-1
2016-02-04 16:27:08 +01:00
Amir Jafarian 8deec2e89a Checkpoint speedup 2016-01-19 10:28:53 -05:00
crandmck 5974c6afdf Pull in API doc fix from PR into master #1910 2016-01-08 17:10:44 -08:00
Amir Jafarian 4aac2776a8 Fix bulkUpdate to not trigger rectifyAll
Fix `getIdFromWhereByModelId()` to correctly detect the situation
when "bulkUpdate" performs a write operation using a where filter
containing both id attribute but also all other model attributes.

This should significantly improve the performance of change replication,
because the cost of running rectifyAll is very high.
2015-12-22 10:44:28 +01:00
Miroslav Bajtoš 5e4bf1dd25 PersistedModel: log rectify/rectifyAll triggers
Add debug logging to identify what operations trigger rectify and
rectifyAll calls.
2015-12-17 14:13:47 +01:00
Rand McKinney 17abd8ac76 Update model.js
*Add doc comments for nestRemoting
*change cb to filterCallback in nestRemoting
2015-12-04 19:24:03 -05:00
Richard Pringle 03c8d044ad Fix typo in description of persistedModel.updateAttributes() 2015-11-11 16:54:21 -05:00
Miroslav Bajtoš 36cd5a7a78 lib/registry: fix findModel for model ctor
Fix `registry.findModel(arg)` to support the case when `arg` is already
a model constructor.
2015-11-09 16:01:43 +01:00
Rand McKinney 32085475ed Fix typo in doc comment 2015-10-21 13:47:36 -07:00
Simon Ho 26af1472e7 Check configs for shared method settings 2015-09-28 16:27:48 -07:00
Miroslav Bajtoš c87bf9a1da Merge pull request #1681 from strongloop/fix/replication-perf-on-save
Fix perf of rectification after updateAttributes
2015-09-18 17:05:14 +02:00
Miroslav Bajtoš 89326c7630 Fix perf of rectification after updateAttributes
Improve the id-detection algorithm in the "after save" hook
to correctly handle "updateAttributes" as a single-model change
and DO NOT trigger full "rectify all" scan.
2015-09-17 19:23:00 +02:00
Rand McKinney 8d02e42cf3 Update persisted-model.js
Remove trailing whitespace.
2015-09-09 16:08:20 -07:00
Rand McKinney 3821824c97 Update persisted-model.js
Fix links in API docs to docs for where filter
2015-09-09 15:46:53 -07:00
Richard Walker 65ca318392 Create stack-removing errorhandler middleware
Create a wrapper around express' errorhandler that removes the stack
trace from error responses when "options.includeStack" is false.
2015-09-03 08:38:24 +02:00