Commit Graph

1728 Commits

Author SHA1 Message Date
jakerella 713001913e Ability to pass in custom verification token generator
This commit adds the ability for the developer to use a custom token generator function for the user.verify(...) method. By default, the system will still use the crypto.randomBytes() method if no option is provided.
2015-03-19 16:56:38 -04:00
Miroslav Bajtoš 91f59e1ccd Remove unnecessary delay in tests. 2015-03-19 08:00:37 +01:00
Simon Ho 3de9594bf4 Update README.md 2015-03-16 10:12:13 -07:00
Esco Obong 551261ec16 fix linting errors 2015-03-13 18:30:53 -04:00
Esco Obong c764c09837 fix lint erros 2015-03-13 16:53:26 -04:00
Esco Obong 7a990d745c Merge remote-tracking branch 'upstream/master' 2015-03-13 15:06:00 -04:00
Esco Obong 8cc558a991 consolidate Role methods roles, applications, and users into one, add query param to allow for pagination and restricting fields 2015-03-13 11:50:30 -04:00
Esco Obong 74018019b4 fix implementation of Role methods: users,roles, and applications 2015-03-12 14:58:08 -04:00
crandmck 1cabd74308 Remove duplicate cb func from getRoles and other doc cleanup 2015-03-12 11:15:36 -07:00
Raymond Feng 131633f50d Merge pull request #1169 from strongloop/feature/allow-current-user-literal
Allow 'me' literal to represent the current user in url
2015-03-12 10:20:39 -07:00
Raymond Feng 6ad61d6c00 Enhance the token middleware to support current user literal 2015-03-12 08:28:15 -07:00
Raymond Feng 8bfa3ba8d7 Merge pull request #1201 from seriousben/strengthen_owner_role_check
Handling owner being a relation/function
2015-03-11 09:03:19 -07:00
Benjamin Boudreau 2d08e656b8 Handling owner being a relation/function 2015-03-11 10:25:40 -04:00
Miroslav Bajtoš b08861a1b1 Merge pull request #1187 from strongloop/feature/replication-conflict-tests
Add replication tests for conflict resolution; run replication tests in the browser too
2015-03-06 18:23:40 +01:00
Miroslav Bajtoš 59ae90bb97 Run replication tests in the browser too 2015-03-06 14:50:16 +01:00
Miroslav Bajtoš 8f41ac4b35 Add replication tests for conflict resolution 2015-03-06 14:50:16 +01:00
Miroslav Bajtoš 4b02fe12d9 Merge pull request #1184 from strongloop/fix/chai-assertions
Fix an assertion broke by recent chai upgrade.
2015-03-06 11:30:51 +01:00
Miroslav Bajtoš f57086d5f2 Fix an assertion broke by recent chai upgrade. 2015-03-06 11:22:30 +01:00
Miroslav Bajtoš e59493ec40 Merge pull request #1176 from strongloop/feature/more-replication-improvements
Prevent more kinds of false replication conflicts
2015-03-06 07:27:16 +01:00
Raymond Feng 14731165b7 Merge pull request #1174 from ulion/static_acl_multiple_properties
Static ACL support array of properties now
2015-03-05 14:35:53 -08:00
ulion 9f705139f8 Static ACL support array of properties now 2015-03-06 06:24:09 +08:00
Raymond Feng 77e4a47c3c Merge pull request #1172 from strongloop/feature/upgrade-deps
Upgrade deps
2015-03-05 08:29:32 -08:00
Miroslav Bajtoš c2e1b12644 Add more integration tests for replication
Add tests covering typical replication scenarios that happen
in the setup where multiple clients are synchronizing changes
against a single server (database).
2015-03-05 14:55:55 +01:00
Miroslav Bajtoš 76d9244448 Prevent more kinds of false replication conflicts
Rework the Change model to merge changes made within the same
Checkpoint.

Rework `replicate()` to run multiple iteration until there were no
changes replicated. This ensures that the target model is left in
a clean state with no pending changes associated with the latest
(current) checkpoint.
2015-03-05 14:15:02 +01:00
Raymond Feng 2ce1d14a0e Upgrade deps 2015-03-04 16:30:03 -08:00
Simon Ho 84c65de38a Merge pull request #1160 from strongloop/fix/issues-link-in-readme
Fix "Issues" link in readme
2015-03-04 13:59:02 -08:00
Simon Ho ca11445ac3 Fix "Issues" link in readme 2015-03-04 12:14:35 -08:00
Miroslav Bajtoš b381c5df7e Add more debug logs to replication 2015-03-04 15:00:53 +01:00
Miroslav Bajtoš 2885317634 Merge pull request #1157 from strongloop/feature/replication-improvements
Replication improvements: Checkpoint
2015-03-04 08:45:19 +01:00
Simon Ho d5b7447750 Merge pull request #1159 from jasonsturges/issue/1158
Fixes #1158.
2015-03-03 13:58:06 -08:00
Raymond Feng b7541c1a7e 2.14.0
* Replace deprecated hooks with Operation hooks (Miroslav Bajtoš)

 * test: don't warn about running deprecated paths (Miroslav Bajtoš)

 * karma conf: prevent timeouts on Travis CI (Miroslav Bajtoš)

 * Pass options from User.login to createAccessToken (Raymond Feng)

 * Config option to disable legacy explorer routes Setting legacyExplorer to false in the loopback config will disable the routes /routes and /models made available in loopback.rest. The deprecate module has been added to the project with a reference added for the legacyExplorer option as it is no longer required by loopback-explorer. Tests added to validate functionality of disabled and enabled legacy explorer routes. (Ron Edgecomb)

 * test: setup GUID for all models tracking changes (Miroslav Bajtoš)

 * Change tracking requires a string id set to GUID (Miroslav Bajtoš)
2015-03-03 11:14:55 -08:00
Jason Sturges 53bf92c2cc Fixes #1158. 2015-03-03 13:14:26 -06:00
Miroslav Bajtoš 3d5c8a7443 Checkpoint: start with seq=1 instead of seq=0
Since the seq behaves in many senses like an id, it should meet
the usual expectation people have about ids. Using only truthy values
is one of them.
2015-03-03 19:37:11 +01:00
Miroslav Bajtoš 628e3a30ca Return new checkpoints in callback of replicate()
Extend `PersistedModel.replicate` to pass the newly created checkpoints
as the third callback argument.

The typical usage of these values is to pass them as the `since`
argument of the next `replicate()` call.

    global.since = -1;

    function sync(cb) {
      LocalModel.replicate(
        since,
        RemoteModel,
        function(err, conflicts, cps)
          if (err) return cb(err);
          if (!conflicts.length) {
            since = cps;
            return cb();
          }
          // resolve conflicts and try again
        });
    }
2015-03-03 19:37:11 +01:00
Miroslav Bajtoš 53ebddfa9f Create a remote checkpoint during replication too
Before this change, in the case of a one-way replication, the remote
checkpoint was never updated, thus the "diff" step had to check
all changes made through the whole history.

This commit fixes the problem by creating a new remote checkpoint
at the same time when a local checkpoint is created.

It is important to create the new checkpoint before the replication is
started to prevent a race condition where a remote change can end up
being associated with an already replicated checkpoint.
2015-03-03 19:37:11 +01:00
Miroslav Bajtoš 2dc230b7cf Replication: fix checkpoint-related race condition
Rework the "replicate()" to create a new source checkpoint as the first
step, so that any changes made in parallel will be associated with
the next checkpoint.

Before this commit, there was a race condition where a change might
end up being associated with the already-replicated checkpoint and thus
not picked up by the next replication run.
2015-03-03 19:37:11 +01:00
Miroslav Bajtoš add9304555 Merge pull request #1148 from strongloop/fix/juggler-deprecation-warnings
Replace deprecated hooks with Operation hooks
2015-03-03 18:27:59 +01:00
Miroslav Bajtoš e20cc66787 Replace deprecated hooks with Operation hooks
AccessToken.beforeCreate -> AccessToken.observe('before save')
Application.beforeCreate -> Application.observe('before save')
Checkpoint.beforeSave -> Checkpoint.observe('before save')
2015-03-03 18:06:15 +01:00
Miroslav Bajtoš 2f9cf115c3 Support different "since" for source and target
Modify `PersistedModel.replicate` to allow consumers to provide
different "since" values to be used for the local and remote changes.

Make the "since" filters consistent and include the "since" value
in the range via `gte`. Before this commit, the local query used
`gt` and the remote query used `gte`.
2015-03-03 14:40:59 +01:00
Miroslav Bajtoš f857f44cae Merge pull request #1156 from strongloop/fix/internal-deprecation-warnings
test: don't warn about running deprecated paths
2015-03-03 14:38:11 +01:00
Miroslav Bajtoš 295c1534c9 test: don't warn about running deprecated paths 2015-03-03 14:34:05 +01:00
Miroslav Bajtoš 03ad328aac Merge pull request #1153 from strongloop/fix/phantomjs-timeouts-on-travis
karma conf: prevent timeouts on Travis CI
2015-03-03 10:07:38 +01:00
Miroslav Bajtoš 19519b038b karma conf: prevent timeouts on Travis CI
Increase the timeout values to prevent DISCONNECTED errors when
running the tests on slow machines (e.g. Travis CI).
2015-03-03 09:47:49 +01:00
Miroslav Bajtoš 774c70903e Merge pull request #1135 from greaterweb/fix/issue-1134
ability to disalbe /models /routes routes
2015-03-03 09:42:42 +01:00
Raymond Feng baf372b8d7 Merge pull request #1152 from strongloop/feature/enhance-user-login
Pass options from User.login to createAccessToken
2015-03-02 16:32:55 -08:00
Raymond Feng 78550a9bc5 Pass options from User.login to createAccessToken
It will allow subclass of User to create access token based on additional
properties such as 'scope'.
2015-03-02 14:48:08 -08:00
Ron Edgecomb 1818a8fb34 Config option to disable legacy explorer routes
Setting legacyExplorer to false in the loopback config will disable
the routes /routes and /models made available in loopback.rest.
The deprecate module has been added to the project with a reference
added for the legacyExplorer option as it is no longer required by
loopback-explorer. Tests added to validate functionality of disabled
and enabled legacy explorer routes.
2015-03-02 14:12:18 -05:00
Miroslav Bajtoš d24da8c37d Merge pull request #1140 from strongloop/feature/guids-for-replicated-models
Guids for replicated models
2015-03-02 18:23:06 +01:00
Miroslav Bajtoš f21b29e34a test: setup GUID for all models tracking changes
Fix all test models that are tracking changes so that they have
a generated unique string id.

Make model names unique where possible to prevent tests reusing
the same model which causes unintented side effects.
2015-03-02 18:16:18 +01:00
Miroslav Bajtoš 610767b6c8 Change tracking requires a string id set to GUID
Print a deprecation warning when a persisted model is tracking changes
but does not have a client-generated unique string id property (GUID).
2015-03-02 18:16:18 +01:00