Commit Graph

2334 Commits

Author SHA1 Message Date
Dimitris Halatsis 39907c6421 ModelBuilder: add new setting strictEmbeddedModels
The setting controls the strict mode used for embedded property types,
for example the type of "address" property in this model definition:

    modelBuilder.define('TestEmbedded', {
      name: 'string',
      address: {
        street: 'string',
      },
    });

[back-port of #955]
2016-06-01 13:42:55 +02:00
Amir Jafarian 0d5cff5a0a Fix incompatibility between different connectors PR#938
* Fix incompatibility for replace methods between different connectors.
2016-05-28 09:12:30 -04:00
Miroslav Bajtoš a9f69bcbc6 travis: add v4, v6, drop io.js
[back-port of #943]
2016-05-23 11:24:28 +02:00
Miroslav Bajtoš a6f499703e Merge pull request #928 from strongloop/backport/eslint
Backport eslint from master
2016-05-23 11:03:32 +02:00
Simon Ho 65d6d6a508 Backport ESLint from master 2016-05-20 17:35:23 +02:00
Simon Ho ee6c0ad461 Set ESLint as devdep 2016-05-10 13:37:44 -07:00
Simon Ho 4c7d862cee Use mocha instead of Makefile for testing 2016-05-10 12:06:34 -07:00
Miroslav Bajtoš bec9142100 Implement operation hooks for EmbedsMany methods
create() triggers
 - before save
 - after save

updateById() 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.

Limitations:

 - `before save` & `after save` hooks don't provide `ctx.isNewInstance`
 - async validations are not supported yet
 - `persist` and `loaded` hooks are not triggered at all

 - `before delete` hook does not provide `ctx.where` property and
    it's not possible to change the outcome of `destroy()` using this
    hook. Note that regular DAO does support this.

 - updating embedded instances triggers update of the parent (owning)
   model, which is correct and expected. However, the context provided
   by `before save` and `after save` hooks on the parent model is sort of
   arbitrary and may include wrong/extra data. The same probably applies
   to the scenario when deleting embedded instances triggers update of
   the parent model.

[back-port of #911]
2016-04-28 10:15:14 +02:00
Miroslav Bajtoš f65b542dab 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.

[back-port of #904]
2016-04-20 10:30:56 +02:00
Miroslav Bajtoš 289eac7565 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.

[back-port of #909]
2016-04-19 17:06:04 +02:00
Miroslav Bajtoš feca7481e9 Merge pull request #905 from strongloop/eslint-autofix-2x
Eslint autofix for 2.x
2016-04-18 16:41:28 +02:00
Miroslav Bajtoš 4000b70e38 Fix eslint errors in memory connector 2016-04-18 16:00:04 +02:00
Miroslav Bajtoš a5187765f6 Run `eslint --fix` with config from master 2016-04-18 16:00:04 +02:00
Amir Jafarian fd1afdf6e6 Test coverages for hashed password
* Test coverages for hashed password for replaceAttributes
* Test coverages for hashed password for updateAttribute
2016-04-15 12:58:36 -04:00
Amir Jafarian 1eeacd0255 Fix `forceId` check for `replaceByIds` PR#896 2016-04-14 17:59:30 -04:00
Miroslav Bajtoš 0de6dd72a4 Merge pull request #902 from strongloop/refactor/context-test-helpers
test: extract helpers used in tests for operation hooks
2016-04-13 15:16:26 +02:00
Miroslav Bajtoš 7d7662bfef test: extract hook-monitor helper 2016-04-13 15:15:55 +02:00
Miroslav Bajtoš 90f04181a4 test: extract uid-generator helper 2016-04-13 15:15:55 +02:00
Miroslav Bajtoš 09ad9e4711 test: extract context-test-helpers 2016-04-13 15:15:53 +02:00
Amir Jafarian 7773963b62 Define `patch` aliases
*Define `patchOrCreate` as an alias for `updateOrCreate`
*Define `PatchAttributes` as an alias for `updateAttributes`
2016-04-12 16:32:17 -04:00
Miroslav Bajtoš 7eee0afb52 2.46.0
* Insert copyright headers (Miroslav Bajtoš)
 * Relicense as MIT only (Miroslav Bajtoš)
 * Fix Mongo compatibility issue (Amir Jafarian)
 * Add automigrate to setup tables for replace test cases (Amir Jafarian)
 * Remove next tag (2.x) (Amir Jafarian)
 * Allow test folder to be published (Amir Jafarian)
 * Fix tests for mysql (Amir Jafarian)
 * Add forgotten unit test (Miroslav Bajtoš)
 * Improve error message on connector init error (Miroslav Bajtoš)
 * Update describe-operation-hooks (Miroslav Bajtoš)
 * Fix missing connector error msg for db2, cloudant for 2.x (Candy)
 * Implementtaion of replace (Amir Jafarian)
2016-04-07 09:12:48 +02:00
Miroslav Bajtoš fbd8b67766 Merge pull request #891 from strongloop/copyright-2.x
Relicense as MIT only
2016-04-07 09:11:04 +02:00
Miroslav Bajtoš 093a69328c Insert copyright headers 2016-04-06 16:51:49 +02:00
Miroslav Bajtoš 216a537a23 Relicense as MIT only 2016-04-06 16:50:02 +02:00
Amir Jafarian 81abac19f3 Fix Mongo compatibility issue
*Fix Mongo compatibility issue for replaceOrCreate
2016-03-30 11:26:35 -04:00
Amir Jafarian 0aa3a2f407 Add automigrate to setup tables for replace test cases 2016-03-29 13:45:17 -04:00
Amir-61 000b5b002a Merge pull request #882 from strongloop/remove_next_tag_2.x
Remove next tag (2.x)
2016-03-29 11:04:56 -04:00
Amir Jafarian de9e0e81b2 Remove next tag (2.x) 2016-03-29 10:58:11 -04:00
Amir Jafarian a73521f161 Allow test folder to be published 2016-03-28 23:32:47 -04:00
Amir Jafarian da9b77a015 Fix tests for mysql 2016-03-28 16:46:11 -04:00
Miroslav Bajtoš 96a9759d6d Add forgotten unit test
The test should have been added as part of #859

[Back-port pull request #862]
2016-03-02 13:15:44 +01:00
Miroslav Bajtoš 0d11186850 Improve error message on connector init error
[Back-port pull request #859]
2016-03-02 12:20:14 +01:00
Miroslav Bajtoš 08faf9f5de Update describe-operation-hooks
- drop custom findOrCreate implementation - memory connector provides
   an atomic implementation out of the box now
 - add new methods `replaceOrCreate` and `replaceByID`
 - fix error reporting to include the stack trace in the console output

[back-port of pull request #847]
2016-02-22 10:46:10 +01:00
Miroslav Bajtoš 0008a1dd6d Merge branch '2.45.x' into 2.x 2016-02-22 10:43:39 +01:00
Miroslav Bajtoš 1268e0f9ac 2.45.2
* Fix missing connector error msg for db2, cloudant for 2.x (Candy)
2016-02-22 10:43:10 +01:00
Candy 1cbeb10c96 Fix missing connector error msg for db2, cloudant for 2.x 2016-02-22 10:42:28 +01:00
Miroslav Bajtoš 27526d90ed Merge branch '2.45.x' into 2.x 2016-02-15 10:23:25 +01:00
Miroslav Bajtoš be9853686d 2.45.1
* Fix conversion for `updateAttributes` (Amir Jafarian)
2016-02-15 10:22:51 +01:00
Candy 79990e31b0 Merge pull request #853 from strongloop/add_new_connectors_2x
Fix missing connector error msg for db2, cloudant for 2.x
2016-02-10 11:10:33 -05:00
Candy 3ed05426be Fix missing connector error msg for db2, cloudant for 2.x 2016-02-10 10:41:46 -05:00
Amir Jafarian ca766f1437 Implementtaion of replace
This includes:
*implementation of replaceAttributes
*implementtaion of replaceOrCreate
2016-02-04 16:05:11 -05:00
Amir Jafarian dbdf915334 Fix conversion for `updateAttributes` 2016-02-03 12:44:58 -05:00
Miroslav Bajtoš 96588622b8 2.45.0
* Refactor `updateAttributes` (Amir Jafarian)
 * Enhance "persisted" hook in DAO.updateAttributes (Miroslav Bajtoš)
 * Add unit test to verify fix for #754 (Tom Kirkpatrick)
 * Implement `findOrCreate` for memory connector (Amir Jafarian)
 * Fix a bug when validation is off for findOrCreate (Amir Jafarian)
 * Fix broken code fencings in the docs (Farid Nouri Neshat)
 * Revert "Correct syntax for should and more" (Simon Ho)
 * Fix test for shouldjs 8.0.2 upgrade (Simon Ho)
 * Upgrade shouldjs to 8.0.2 (Simon Ho)
 * Correct syntax for should and more (Amir Jafarian)
2016-02-02 19:09:48 +01:00
Amir Jafarian 8ca67c3d48 Refactor `updateAttributes` 2016-01-25 11:15:18 -05:00
Miroslav Bajtoš 5fdd521985 Enhance "persisted" hook in DAO.updateAttributes
Add `isNewInstance:false` to the context reported by
DAO.updateAttributes()
2016-01-25 11:13:34 -05:00
Tom Kirkpatrick 2f71622e11 Add unit test to verify fix for #754 2016-01-22 10:13:05 -08:00
Amir Jafarian 3bc2dacb1b Implement `findOrCreate` for memory connector 2016-01-20 11:51:47 -08:00
Amir Jafarian 2423db1571 Fix a bug when validation is off for findOrCreate 2016-01-20 11:51:47 -08:00
Farid Nouri Neshat 174237e6a6 Fix broken code fencings in the docs 2016-01-20 11:51:47 -08:00
Simon Ho 9b1766f1d5 Revert "Correct syntax for should and more"
This reverts commit 62de2ed69e.
2016-01-20 11:51:47 -08:00