Commit Graph

51 Commits

Author SHA1 Message Date
Jonathan Sheely 21b08af7a3 Added notify flag for create and upsert (#1277)
* Added notify flag for create and upsert

* Code styling

* More code styling

* Added unit test for notify

* Fix PR linter
2017-04-05 13:23:26 -04:00
Miroslav Bajtoš d809260799 Upgrade eslint-config, fix new violations 2017-02-01 12:45:56 +01:00
Siddhi Pai 3baa61590e Fix block padding
* Remove test/.eslintrc
* run eslint . --fix
2016-12-13 16:05:50 -08:00
Miroslav Bajtoš 80d2264bc9 Merge pull request #1179 from strongloop/update/eslint
Upgrade eslint & config to latest
2016-12-06 10:12:11 +01:00
Loay e14c48719e Fix MySql CI server Failure 2016-12-05 11:42:08 -05:00
Miroslav Bajtoš 0f7a567f18 Upgrade eslint & config to latest
- eslint ^3.11.1
 - eslint-config-loopback: ^6.0.0
 - fix linter errors (mostly no-undef)
2016-12-05 15:14:09 +01:00
Amir Jafarian d908a52753 Fix a test
* Fix location for an instance in a test
2016-10-30 20:50:06 -04:00
Amir Jafarian 756e936c4b Add more robust OH tests for find method 2016-10-28 16:56:38 -04:00
Amir Jafarian 54d0f5b53d Add support for `loaded` hook
* Add support for loaded hook for DAO.find with near filter
2016-10-28 11:46:46 -04:00
Amir Jafarian f5e9b53289 Add test for operation hooks
* Add test for operation hook when near filter is used
2016-10-14 09:23:26 -04:00
Amir Jafarian fec7742a69 Add 'isNewInstance' for updateAttributes
* Add 'isNewInstance' to loaded hook for updateAttributes
2016-09-19 16:56:15 -04:00
Amir Jafarian 581b8c61bf Fix failures of upsertWithWhere
Forwardport of #1052
2016-09-02 15:46:36 -04:00
Amir Jafarian aec678d252 Fix manually 2016-08-22 19:20:12 -04:00
Amir Jafarian aa6d28268b Auto-update by eslint --fix 2016-08-22 15:12:25 -04:00
Sonali Samantaray 37541dd178 upsertWithWhere feature support in juggler DAO 2016-08-16 18:06:01 +05:30
Amir Jafarian 2b6ced06a1 Add test's description 2016-05-31 11:13:28 -04:00
Miroslav Bajtoš b86615e2b7 Implement operation hooks for EmbedsOne methods
create() triggers
 - before save
 - after save

udpate() triggers
 - before save
 - after save

destroy() triggers
 - before delete
 - after delete

The implementation here is intentionally left with less features
than the regular DAO methods provide, the goal is to get a partial
(but still useful!) version released soon.
2016-04-20 09:36:12 +02:00
Miroslav Bajtoš c7f34c3452 eslint config 2.0 + remove extra empty lines
Upgrade eslint-config-loopback to ^2.0.0.

Remove extra empty lines to make `npm run lint` pass again.
2016-04-19 16:11:43 +02:00
Amir Jafarian e9afb46eda Fix `notify` bugs for `find` 2016-04-13 13:34:51 -04:00
Miroslav Bajtoš 09f4c7d026 test: extract hook-monitor helper 2016-04-13 13:54:17 +02:00
Miroslav Bajtoš 616a81b496 test: extract uid-generator helper 2016-04-13 13:53:31 +02:00
Miroslav Bajtoš 3435b43a5c test: extract context-test-helpers 2016-04-13 13:52:54 +02:00
Miroslav Bajtoš 27c6279d6c fix remaining eslint issues 2016-04-05 15:25:34 +02:00
Miroslav Bajtoš 39e04a1756 eslint --fix 2016-04-05 15:25:34 +02:00
Ryan Graham c467b43c38 Insert copyright headers 2016-04-04 18:14:03 -07:00
Amir Jafarian 5b6bffb5b3 Fix Mongo compatibility issue
*Fix Mongo compatibility issue for replaceOrCreate
2016-03-29 14:42:13 -04:00
Amir Jafarian 2281e95940 Implementtaion of replace
This includes:
*implementation of replaceAttributes
*implementtaion of replaceOrCreate
2016-02-03 16:06:35 -05:00
Miroslav Bajtoš e9899a93cf Enhance "persist" hook in DAO.updateOrCreate
Report `ctx.isNewInstance` when the connector provides this info.
2015-12-18 16:08:38 +01:00
Miroslav Bajtoš fd9bef4aa7 Enhance "persisted" hook in DAO.updateAttributes
Add `isNewInstance:false` to the context reported by
DAO.updateAttributes()
2015-12-18 16:08:01 +01:00
Miroslav Bajtoš 3028329126 "loaded" hook in DAO.find: ctx.data, not instance
Fix the implementation od DAO.find to provide "ctx.data" to the
"loaded" hook.
2015-12-18 15:54:35 +01:00
Raymond Feng 6513d9658f Fix the test case with automigrate 2015-07-30 11:24:47 -07:00
Pradnya Baviskar de0ca3c61f Async 'loaded' hook for find 2015-07-27 18:58:29 +05:30
Pradnya Baviskar 8a20e07b3d Fix 'persist' hook for updateAttributes() 2015-07-23 15:25:50 +05:30
Raymond Feng c969e48d0c Make sure done() is called within the callback 2015-07-21 08:07:09 -07:00
Raymond Feng bcd477358f Assert the existence of instance 2015-07-02 14:56:46 -07:00
Miroslav Bajtoš e55469693d test: fix persistence-hooks failures in MySQL 2015-06-24 18:31:30 +02:00
Pradnya Baviskar 20cf67d798 Add new hook 'loaded' 2015-06-23 12:04:46 +05:30
Raymond Feng 97f905ff1f Fix the test case 2015-06-16 13:35:35 -07:00
Raymond Feng b0f1aae533 Fix the test case as updateAll takes `where` directly 2015-06-15 15:17:47 -07:00
Pradnya Baviskar 3b0e77cb0a Add new hook 'persist' 2015-06-10 16:19:13 +05:30
Miroslav Bajtoš a00b91db79 Fix test for "after save" called on save/CREATE
Fix the test to correctly trigger the code path where the connector
decides whether a new record is created or an existing one is updated.
2015-04-01 18:25:45 +02:00
Fabien Franzen 1ab3d74ab5 Pass options in operation hooks context. 2015-03-30 18:03:42 +02:00
Miroslav Bajtoš ffcaa4e76e Add ctx.isNewInstance for "save" hooks
"before save" hooks provide "ctx.isNewInstance" whenever "ctx.instance"
is set. Possible values:
 - true for all CREATE operations
 - false for all UPDATE operations
 - undefined for "prototype.save"

"after save" hooks provide "ctx.isNewInstance" whenever "ctx.instance"
is set. Possible values:
 - true after all CREATE operations
 - false after all UPDATE operations
 - undefined after "updateOrCreate" and "save"

Note: both "updateOrCreate" and "prototype.updateAttributes"
don't provide `ctx.instance` to "before save" hooks, therefore
`ctx.isNewInstance` it not provided either.
2015-03-19 18:05:24 +01:00
Fabien Franzen 8605da3ac6 Improve instance-level operation hooks
"before delete" and "after delete" hooks receive `ctx.instance`
when a single model is being deleted.

"before save" hook receives `ctx.currentInstance` when triggered
by `prototype.updateAttributes()`.

Note that "after save" hook triggered by `prototype.updateAttributes()`
already provides `ctx.instance`.
2015-03-11 09:35:46 +01:00
Fabien Franzen 18b58558cc Reformat notifyObserversOf context argument 2015-03-05 15:53:34 +01:00
Fabien Franzen f42859f2e5 Implement operation hooks' context 2015-03-05 11:55:04 +01:00
Raymond Feng 841f2d8f14 Tidy up tests so that they will work with RDBs 2015-02-20 16:10:25 -08:00
Clark Wang 0bef56efc0 support optimized findOrCreate
Signed-off-by: Clark Wang <clark.wangs@gmail.com>

remove undefined for creating data in findOrCreate

Signed-off-by: Clark Wang <clark.wangs@gmail.com>

getLastGeneratedUid instead of force an id

Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2015-02-07 10:23:04 +08:00
Miroslav Bajtoš fcaf19a1d2 Rename hook "query" to "access"
The name "query" creates incorrect assumption that hook handlers
may return the result of a query to bypass database access.
That is far from true, since this hook is called also by methods
like `deleteAll` or `updateAll` that don't perform any SELECT query.
2015-02-02 10:41:18 +01:00
Miroslav Bajtoš 370966df99 Implement intent hook `before delete`
Methods `DAO.deleteAll` and `DAO.prototype.delete` now invoke
`before delete` hook too. The hook receives `ctx.where` describing
models to be deleted.
2015-02-02 09:13:31 +01:00