Commit Graph

324 Commits

Author SHA1 Message Date
Simon Ho 32b879cf73 Add lint NPM script 2016-08-29 14:45:59 -07:00
Miroslav Bajtoš 3437d782d9 Update pre-release dependencies 2016-08-29 09:55:42 +02:00
Carl Fürstenberg edd5275b8b Fix token middleware crash
Fix token middleware to check if `req.loopbackContext` is active.
The context is not active for example when express-session calls
setImmediate which breaks CLS.
2016-08-17 14:44:00 +02:00
Miroslav Bajtoš 899ab457e9 3.0.0-alpha.3
* common: add KeyValueModel (Miroslav Bajtoš)
 * Globalize current-context error messages (Miroslav Bajtoš)
 * Remove current-context API (Miroslav Bajtoš)
 * Fix forceId in tests (jannyHou)
 * test: increase timeout to prevent CI failures (Miroslav Bajtoš)
 * Update globalization string (Candy)
 * Update globalization (Candy)
 * Add globalization (Candy)
 * test: fix "socket hang up" error in app.test (Miroslav Bajtoš)
 * test: increate timeout in Role test (Miroslav Bajtoš)
 * test: make status test more robust (Miroslav Bajtoš)
 * test: fix broken Role tests (Miroslav Bajtoš)
 * Update dependencies to their latest versions (Miroslav Bajtoš)
 * Increase timeout (jannyHou)
 * test: fix change-tracking setup (Miroslav Bajtoš)
 * test: use local registry in test fixtures (Miroslav Bajtoš)
 * Update loopback.js (Rand McKinney)
 * Fix test case error (Loay)
 * Update user.js (Loay)
 * Fix security issue 580 (Loay)
 * Update URLs in CONTRIBUTING.md (#2503) (Ryan Graham)
 * Remove legacyExplorer (gunjpan)
 * Remove `rectifyAllChanges` and `rectifyChange` (Candy)
 * Fix verificationToken bug (Loay)
 * update express version (Loay)
 * Cleanup unit-test added in 1fc51d129 (Miroslav Bajtoš)
 * update errorHandler template (Loay)
2016-08-11 13:34:01 +02:00
Miroslav Bajtoš b087c930ed Remove current-context API
Change all current-context APIs to throw a helpful error.
2016-08-10 13:43:40 +02:00
Candy b52a7217a9 Add globalization 2016-08-04 15:08:16 -04:00
Miroslav Bajtoš 7546ee531d Update dependencies to their latest versions 2016-08-03 16:17:58 +02:00
Loay 4a02f97572 update express version 2016-06-17 03:52:37 -04:00
Loay 74aba5f80c Merge pull request #2411 from strongloop/strongErrorHandler
[SEMVER-MAJOR] Remove `loopback#errorHandler` middleware
2016-06-13 16:47:24 -04:00
Loay 1fc51d1296 update errorHandler template 2016-06-13 11:18:09 -04:00
Miroslav Bajtoš a2e199f025 3.0.0-alpha.2
* add missing unit tests for #2108 (Benjamin Kroeger)
 * Expose `Replace*` methods (Amir Jafarian)
 * Update tests for strong-error-handler (David Cheung)
 * Remove legacy express 3.x middleware getters (Miroslav Bajtoš)
 * Docuemtation for `replace*` methods (Amir Jafarian)
 * Make the doc clear for `findORCreate` cb (Amir Jafarian)
 * Fix JSCS unsupported rule error (Jason)
 * Remove env.json and strong-pm dir (Ritchie Martori)
 * Throw error upon extending unknown model (David Cheung)
 * Remove unused UserModel properties (David Cheung)
 * Remove Change.handleError (Candy)
 * Update user.js (Rik)
 * Separate error-checking and next/done logic from other logic in the test suite (Supasate Choochaisri)
 * Clean up by removing unnecessary comments (Supasate Choochaisri)
 * Add feature to not allow duplicate role name (Supasate Choochaisri)
 * update copyright statements (Ryan Graham)
 * relicense as MIT only (Ryan Graham)
 * Upgrade phantomjs to 2.x (Miroslav Bajtoš)
 * app: send port:0 instead of port:undefined (Miroslav Bajtoš)
 * travis: drop node@5, add node@6 (Miroslav Bajtoš)
 * Disable DEBUG output for eslint on Jenkins CI (Miroslav Bajtoš)
 * Remove "loopback.autoAttach()" (Miroslav Bajtoš)
 * test/rest.middleware: use local registry (Miroslav Bajtoš)
 * Fix role.isOwner to support app-local registry (Miroslav Bajtoš)
 * test/user: use local registry (Miroslav Bajtoš)
 * Resolver support return promise (juehou)
 * remove @private from jsdoc (Manu Phatak)
 * Fixes for emit `remoteMethodDisabled` PR (Simon Ho)
 * Add new feature to emit a `remoteMethodDisabled` event when disabling a remote method. (Supasate Choochaisri)
 * Fix typo in Model.nestRemoting (Tim Needham)
 * Update loopback.js (Rand McKinney)
 * Allow built-in token middleware to run repeatedly (Benjamin Kröger)
 * Use eslint with loopback config (Miroslav Bajtoš)
 * promise docs (Jue Hou)
 * Update JSDoc (sghung@ca.ibm.com)
 * Remove constraint making isStatic required (Candy)
 * Fix inconsistencies in JSDoc (sghung@ca.ibm.com)
 * Improve error message on connector init error (Miroslav Bajtoš)
 * application: correct spelling of "cannont" (Sam Roberts)
 * Remove sl-blip from dependency (Candy)
 * Use new strong-remoting API (Candy)
 * test: remove forgotten console.trace logs (Miroslav Bajtoš)
 * Fix race condition in replication tests (Miroslav Bajtoš)
 * Fix race condition in error handler test (Miroslav Bajtoš)
 * test: remove errant console.log from test (Ryan Graham)
 * Promisify Model Change (Jue Hou)
 * Travis: drop iojs, add v4.x and v5.x (Miroslav Bajtoš)
 * test: use ephemeral port for e2e server (Ryan Graham)
 * test: fail on error instead of crash (Ryan Graham)
 * ensure app is booted before integration tests (Ryan Graham)
 * Remove "loopback.DataModel" (Miroslav Bajtoš)
 * Correct JSDoc findOrCreate() callback in PersistedModel (Chris Coggburn)
 * Fix typo in package.json (publishConfig) (Miroslav Bajtoš)
 * Start development of 3.0 (Candy)
 * Hide verificationToken (Samuel Gaus)
 * Fix description for User.prototype.hasPassword (Jue Hou)
 * Checkpoint speedup (Amir Jafarian)
 * Always use bluebird as promise library Replace `global.Promise` with `bluebird` (Jue Hou)
 * Remove unused code from loopback-testing-helper (Simon Ho)
 * Make juggler a regular dependency (Miroslav Bajtoš)
 * Remove dependency on loopback-testing (Simon Ho)
 * Fix failing tests (Simon Ho)
 * Update persisted-model.js (Rand McKinney)
 * Update persisted-model.js (linguofeng)
2016-06-13 17:04:46 +02:00
Miroslav Bajtoš 8d295b70f6 Remove legacy express 3.x middleware getters
Remove middleware-getter properties that were simlifying upgrade from
LoopBack 1.x/Express 3.x applications:

  - loopback.compress
  - loopback.timeout
  - loopback.cookieParser
  - loopback.cookieSession
  - loopback.csrf
  - loopback.errorHandler
  - loopback.session
  - loopback.methodOverride
  - loopback.logger
  - loopback.responseTime
  - loopback.favicon
  - loopback.directory
  - loopback.vhost

Also remove `loopback.mime`, which was set to `undefined` anyways.
2016-05-31 18:59:21 +02:00
Miroslav Bajtoš ed766f55b4 Upgrade phantomjs to 2.x 2016-05-03 16:43:45 +02:00
Miroslav Bajtoš 9b39a59813 Disable DEBUG output for eslint on Jenkins CI 2016-05-03 14:01:40 +02:00
Supasate Choochaisri 0ca24389b2 Add new feature to emit a `remoteMethodDisabled` event when disabling a remote method.
Signed-off-by: Supasate Choochaisri <supasate.c@gmail.com>
2016-04-28 09:03:54 +07:00
Miroslav Bajtoš f9702b0ace Use eslint with loopback config
Drop jshint and jscs in favour of eslint.

Fix style violations.

While we are at this, reduce the max line length from 150 to 100.
2016-04-06 10:45:30 +02:00
Candy 804265b801 Remove sl-blip from dependency 2016-02-18 10:38:54 -05:00
Candy 77eee6a817 Merge pull request #1957 from strongloop/start-3.0
Start development of 3.0
2016-01-20 11:43:16 -05:00
Miroslav Bajtoš e06bd1a8b0 Fix typo in package.json (publishConfig) 2016-01-19 14:49:23 +01:00
Candy 492e7da3e9 Start development of 3.0 2016-01-13 16:38:37 -05:00
Jue Hou 889c561ed3 Always use bluebird as promise library
Replace `global.Promise` with `bluebird`
2016-01-08 13:58:12 -05:00
Miroslav Bajtoš 4ff035aac7 Make juggler a regular dependency 2016-01-06 15:53:35 +01:00
Simon Ho 186e3e8f92 Remove dependency on loopback-testing
- Copy depedent source from loopback-testing into test/helpers
- Removed loopback-testing from package.json
2015-12-31 15:59:03 -08:00
Miroslav Bajtoš b0a62422c1 3.0.0-alpha.1
* Update juggler to ^3.0.0-alpha.1 (Miroslav Bajtoš)
 * Start development of 3.0 (Miroslav Bajtoš)
2015-12-22 14:01:29 +01:00
Miroslav Bajtoš d630b764a3 Update juggler to ^3.0.0-alpha.1 2015-12-22 13:17:04 +01:00
Miroslav Bajtoš e0ce1fc446 Start development of 3.0
- Update version number in package.json, publish under "next" tag
 - Add 3.0-DEVELOPING.md describing the process
 - Add 3.0-RELEASE-NOTES.md to incrementally build release docs
2015-12-22 12:45:56 +01:00
Miroslav Bajtoš 122c1186ba 2.26.2
* Fix bulkUpdate to not trigger rectifyAll (Amir Jafarian)
2015-12-22 10:57:56 +01:00
Miroslav Bajtoš 69940ad3b0 2.26.1
* PersistedModel: log rectify/rectifyAll triggers (Miroslav Bajtoš)
2015-12-17 15:52:08 +01:00
Miroslav Bajtoš 3b66fc1c88 2.26.0
* change: skip cp lookup on no change (Miroslav Bajtoš)
 * Change: correctly rectify no-change (Miroslav Bajtoš)
 * Update model.js (Rand McKinney)
 * Adding properties description for User Model (David Cheung)
 * Add case-sensitve email option for User model. (Richard Pringle)
2015-12-09 09:44:03 +01:00
Raymond Feng bfd5059d11 2.25.0
* Fix typo in description of persistedModel.updateAttributes() (Richard Pringle)
2015-11-13 15:34:44 -08:00
Simon Ho f9545daf63 2.24.0
* Fix cookie-parser error (Simon Ho)
2015-11-09 17:30:25 -08:00
Simon Ho 444f92edab Fix cookie-parser error 2015-11-09 16:31:11 -08:00
Miroslav Bajtoš 1c1d534119 2.23.0
* lib/registry: fix findModel for model ctor (Miroslav Bajtoš)
 * Refer to licenses with a link (Sam Roberts)
 * Fix user.resetPassword to fail on email not found (Simo Moujami)
 * Fix typo in doc comment (Rand McKinney)
 * Do not include redundant ports in verify links (Samuel Gaus)
 * Set application's id property only if it's empty. (wusuopu)
 * Check configs for shared method settings (Simon Ho)
 * Add test fixtures for shared methods (Simon Ho)
 * Clean up .jshintrc (Simon Ho)
 * Update comment about user ACL to reflect implementation (Felipe Oliveira Carvalho)
2015-11-09 16:17:19 +01:00
Simon Ho 26af1472e7 Check configs for shared method settings 2015-09-28 16:27:48 -07:00
Miroslav Bajtoš 6fa57754ab 2.22.2
* Use strongloop conventions for licensing (Sam Roberts)
 * Set package license to MIT (Sam Roberts)
2015-09-23 09:34:37 +02:00
Sam Roberts 5f51ba9a19 Set package license to MIT 2015-09-21 15:40:55 -07:00
Miroslav Bajtoš 063e3c72ea 2.22.1
* Fix perf of rectification after updateAttributes (Miroslav Bajtoš)
 * Update persisted-model.js (Rand McKinney)
 * Stop NPM license warning (Simon Ho)
2015-09-18 17:07:32 +02:00
Simon Ho 457267ac64 Stop NPM license warning 2015-09-08 17:42:19 -07:00
Miroslav Bajtoš 15c1ac8bb5 2.22.0
* Create stack-removing errorhandler middleware (Richard Walker)
 * Update README.md (Rand McKinney)
 * Allow EJS templates to use includes (Samuel Gaus)
 * Fix options.to assertion message in user.verify (Farid Nouri Neshat)
 * Upgrade Travis to container-based infrastructure (Miroslav Bajtoš)
 * fix typo "PeristedModel" (Christoph)
2015-09-03 09:22:59 +02: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
Raymond Feng cb01fb96d0 2.21.0
* Add util methods to ACL and clean up related model resolutions (Raymond Feng)

 * Promisify 'PersistedModel - replication' (Pradnya Baviskar)

 * Promisify 'Application' model (Pradnya Baviskar)
2015-08-13 09:02:11 -07:00
Raymond Feng 3c18d38548 2.20.0
* Allow methods filter for middleware config (Raymond Feng)

 * Don't load Bluebird for createPromiseCallback (Miroslav Bajtoš)

 * fix exit early when password is non-string closes #1437 (Berkeley Martinez)

 * Promisify User model (Pradnya Baviskar)

 * Add missing . to user model property descriptions (Richard Walker)
2015-08-06 10:10:17 -07:00
Miroslav Bajtoš aa5c9e3628 Merge pull request #1493 from PradnyaBaviskar/issue418-userModel
Promisify User model
2015-08-04 10:32:44 +02:00
Raymond Feng 76b73a80ed 2.19.1
* Disable application model test for karma (Raymond Feng)

 * Fix jsdocs for methods with where argument (Raymond Feng)

 * Add link to createChangeStream docs (Ritchie Martori)
2015-07-28 08:40:46 -07:00
Pradnya Baviskar dc987a59a9 Promisify User model 2015-07-14 13:01:46 +05:30
Ritchie Martori 8eeaa5568f 2.19.0
* Add PersistedModel.createChangeStream() (Ritchie Martori)

 * Remove trailing whitespace from jsdoc (Ritchie Martori)

 * Update model.js (Rand McKinney)

 * Downgrade version of loopback-testing (Ritchie Martori)

 * Auto-configure models required by `app.enableAuth` (Miroslav Bajtoš)

 * Add loadBuiltinModels flag to loopback(options) (Miroslav Bajtoš)

 * Add a unit-test for searchDefaultTokenKeys (Miroslav Bajtoš)

 * access-token: add option "searchDefaultTokenKeys" (Owen Brotherwood)

 * Fix the test case (Raymond Feng)

 * Fix code standards issues (Tom Kirkpatrick)

 * Add test case to highlight fatal error when trying to include a scoped relationship through a polymorphic relationship (Tom Kirkpatrick)

 * add callback args for listByPrincipalType to jsdoc comment, pass explicit arguments to callback (Esco Obong)

 * mark utiltiy function as private (Esco Obong)

 * fix linting errors (Esco Obong)

 * fix lint erros (Esco Obong)

 * consolidate Role methods roles, applications, and users into one, add query param to allow for pagination and restricting fields (Esco Obong)

 * fix implementation of Role methods: users,roles, and applications (Esco Obong)
2015-07-09 13:42:03 -07:00
Ritchie Martori 860e2b0fe2 Downgrade version of loopback-testing 2015-06-26 11:34:28 -07:00
Raymond Feng 77bcc09107 Merge branch 'master' of https://github.com/esco/loopback into esco-master 2015-05-29 16:44:18 -07:00
Raymond Feng fb50b880ec 2.18.0
* Make the test compatible with latest juggler (Raymond Feng)
2015-05-13 16:28:50 -07:00
Ritchie Martori 28a0537e81 2.17.3
* Use the new remoting.authorization hook for check access (Ritchie Martori)

 * Define remote methods via model settings/config (Miroslav Bajtoš)

 * Pass the full options object to the email send method in user verification process. (Alexandru Savin)

 * un-document _findLayerByHandler (Rand McKinney)

 * Gruntfile: disable debug & watch for CI builds (Miroslav Bajtoš)

 * Update devDependencies to the latest versions (Miroslav Bajtoš)

 * Remove trailing whitespace added by 242bcec (Miroslav Bajtoš)

 * Update model.js (Rand McKinney)
2015-05-12 16:15:18 -07:00
Miroslav Bajtoš 3435fc959a Update devDependencies to the latest versions 2015-05-04 18:29:50 +02:00
Miroslav Bajtoš b9493cdb45 2.17.2
* Fix regression in Model.getApp() (Miroslav Bajtoš)
2015-04-28 18:08:55 +02:00
Miroslav Bajtoš f93590de1b 2.17.1
* Allow dataSource === false (Raymond Feng)

 * Fix remoting metadata for User.login#include (Miroslav Bajtoš)
2015-04-28 08:09:44 +02:00
Raymond Feng 42318f428c 2.17.0
* Disable inclusion of User.accessTokens (Raymond Feng)

 * Upgrade test fixtures to use LB 2.x layout (Raymond Feng)
2015-04-21 10:46:42 -07:00
Raymond Feng ca004adfc6 Merge pull request #1301 from strongloop/feature/disable-include-access-tokens
Upgrade test fixtures to 2.x project layouts
2015-04-20 11:43:19 -07:00
Raymond Feng 12e19e36ea Upgrade test fixtures to use LB 2.x layout 2015-04-20 09:23:44 -07:00
Miroslav Bajtoš 69b4972590 2.16.3
* Rework global registry to be per-module-instance (Miroslav Bajtoš)
2015-04-17 19:36:53 +02:00
Miroslav Bajtoš 73ee01f27c 2.16.1
* Add back loopback properties like modelBuilder (Miroslav Bajtoš)
2015-04-17 18:35:30 +02:00
Raymond Feng 5158df8790 2.16.0
* Expose the `filter` argument for findById (Raymond Feng)

 * fixed the missing '.' in various description fields. (Edmond Lau)

 * Conflict resolution and Access control (Miroslav Bajtoš)

 * Fix the typo (Raymond Feng)

 * Fix PersistedModel._defineChangeModel (Miroslav Bajtoš)

 * AccessControl for change replication (Miroslav Bajtoš)

 * test: remove global autoAttach (Miroslav Bajtoš)

 * Add support for app level Model isolation (Ritchie Martori)

 * Implement ModelCtor.afterRemoteError (Miroslav Bajtoš)

 * Code cleanup, add Model._runWhenAttachedToApp (Miroslav Bajtoš)

 * Refactor Model and PersistedModel registration (Miroslav Bajtoš)

 * Fix the style issue (Raymond Feng)

 * Add missing error handlers to checkpoints() (Miroslav Bajtoš)

 * Fix where param format (Rand McKinney)

 * Test embedsOne CRUD methods (Fabien Franzen)
2015-04-16 15:13:49 -07:00
Miroslav Bajtoš dd83be99f0 Implement ModelCtor.afterRemoteError 2015-04-03 10:31:03 +02:00
Miroslav Bajtoš 3ef7dedfa4 2.15.0
* Improve error handling in replication (Miroslav Bajtoš)

 * Add `loopback.runInContext` (Miroslav Bajtoš)

 * Fix style issues (Raymond Feng)

 * Document the new third callback arg of replicate() (Miroslav Bajtoš)

 * Fix API doc for updateAll/deleteAll (Miroslav Bajtoš)

 * Import subset of underscore.string scripts only (Miroslav Bajtoš)

 * Use `ctx.instance` provided by "after delete" hook (Miroslav Bajtoš)

 * Add conflict resolution API (Miroslav Bajtoš)

 * Detect 3rd-party changes made during replication (Miroslav Bajtoš)

 * 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. (jakerella)

 * Remove unnecessary delay in tests. (Miroslav Bajtoš)

 * Update README.md (Simon Ho)

 * Remove duplicate cb func from getRoles and other doc cleanup (crandmck)

 * Enhance the token middleware to support current user literal (Raymond Feng)

 * Handling owner being a relation/function (Benjamin Boudreau)

 * Run replication tests in the browser too (Miroslav Bajtoš)

 * Add replication tests for conflict resolution (Miroslav Bajtoš)

 * Fix an assertion broke by recent chai upgrade. (Miroslav Bajtoš)

 * Static ACL support array of properties now (ulion)

 * Add more integration tests for replication (Miroslav Bajtoš)

 * Prevent more kinds of false replication conflicts (Miroslav Bajtoš)

 * Upgrade deps (Raymond Feng)

 * Fix "Issues" link in readme (Simon Ho)

 * Add more debug logs to replication (Miroslav Bajtoš)

 * Fixes #1158. (Jason Sturges)

 * Checkpoint: start with seq=1 instead of seq=0 (Miroslav Bajtoš)

 * Return new checkpoints in callback of replicate() (Miroslav Bajtoš)

 * Create a remote checkpoint during replication too (Miroslav Bajtoš)

 * Replication: fix checkpoint-related race condition (Miroslav Bajtoš)

 * Support different "since" for source and target (Miroslav Bajtoš)
2015-04-01 18:50:18 +02:00
Miroslav Bajtoš 2aa09ba574 Add `loopback.runInContext`
Refactor the core implementation of current context from
server/middleware/context.js into server/current-context.js.

Expose new public API:
 - loopback.runInContext
 - loopback.createContext
2015-03-27 19:12:17 +01: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
Raymond Feng 2ce1d14a0e Upgrade deps 2015-03-04 16:30:03 -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
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
Raymond Feng 19a3fe64e4 2.13.0
* Add a workaround to avoid conflicts with NewRelic (Raymond Feng)

 * Fix "User.confirm" to always call afterRemote hook (Pradnya Baviskar)

 * Skip hashing password if it's already hashed (Raymond Feng)

 * travis.yml: drop 0.11, add 0.12 and iojs (Miroslav Bajtoš)

 * Add docs for settings per #1069 (crandmck)

 * Fix change detection & tracking (Miroslav Bajtoš)

 * Minor doc fix (Ritchie Martori)

 * Upgrade jscs to ~1.11 via grunt-jscs ^1.5 (Miroslav Bajtoš)

 * Remove redundant dev-dep serve-favicon (Miroslav Bajtoš)

 * Fix test broken by recent juggler changes (Miroslav Bajtoš)

 * Fix coding style issue (Raymond Feng)

 * Remove trailing spaces (Raymond Feng)

 * Fix for issue 1099. (zane)

 * Fix API docs per #1041 (crandmck)

 * Fix API docs to add proper callback doc per #1041 (crandmck)

 * Fix #1080 - domain memory leak. (Samuel Reed)

 * Document user settings (Ritchie Martori)

 * Add wiki references to readme (Simon Ho)
2015-02-25 10:24:31 -08:00
Pradnya Baviskar 8766d4a68d Fix "User.confirm" to always call afterRemote hook
Make the "redirect" parameter optional. When the parameter is not
specified, the server responds with an empty response (204). This allows
API clients to call the method without the need to handle redirects
and HTML responses.

Even when the "redirect" parameter is included, the builtin afterRemote
hook still calls next(), so that user-provided afterRemote hooks
are executed too.
2015-02-25 14:20:47 +01:00
Miroslav Bajtoš c2236c393b Upgrade jscs to ~1.11 via grunt-jscs ^1.5 2015-02-20 15:31:15 +01:00
Miroslav Bajtoš 921759838d Remove redundant dev-dep serve-favicon
`serve-favicon` is already a regular dependency.
2015-02-20 13:28:35 +01:00
Miroslav Bajtoš c925e669f7 Fix test broken by recent juggler changes
The patch strongloop/loopback-datasource-juggler#436 changed the way
how `Model.extend` works, which broke one loopback test relying on the
old behaviour.

This commit fixes the failing test. The test is checking now that
the model base was not changed, instead of checking that the base
is undefined.
2015-02-20 13:08:39 +01:00
Raymond Feng 8e8b620930 v2.12.1 2015-02-03 11:14:39 -08:00
Raymond Feng 04670a85f8 v2.12.0 2015-02-03 10:38:29 -08:00
Miroslav Bajtoš 24ef5cd59e v2.11.0 2015-01-27 09:47:41 +01:00
Raymond Feng 41d9bbb7df v2.10.2 2015-01-16 10:33:39 -08:00
Raymond Feng e4dc893383 v2.10.1 2015-01-15 13:57:13 -08:00
Raymond Feng 0fed971e30 v2.10.0 2015-01-07 21:54:11 -08:00
Raymond Feng 47c9147f03 Revert the peer dep change to avoid npm complaints 2015-01-07 21:53:34 -08:00
Raymond Feng 7f381a07d7 Update strong-remoting dep 2015-01-07 14:41:37 -08:00
Raymond Feng 6bde5c8d30 v2.9.0 2015-01-07 14:04:31 -08:00
Raymond Feng 543e640b5a Update juggler dep 2015-01-07 14:04:05 -08:00
Miroslav Bajtoš fc60222569 v2.8.8 2015-01-07 12:08:07 +01:00
Miroslav Bajtoš 3e3a10153d v2.8.7 2015-01-06 08:39:55 +01:00
Ryan Graham da5774c0d6 package: add versioned sl-blip dependency
Resolves strongloop-internal/scrum-nodeops#239
2015-01-05 09:27:35 -08:00
Miroslav Bajtoš 579529ed1d v2.8.6 2014-12-15 19:29:16 +01:00
Miroslav Bajtoš 4744aa6920 server-app: make _sortLayersByPhase stable
Fix the phase-sorting algorithm to use a stable sorting algorithm,
since the built-in `Array.prototype.sort` is not stable.
2014-12-15 08:14:26 +01:00
Miroslav Bajtoš 84af4194fb Rework phased middleware, fix several bugs
Bugs fixed:

 - express helpers like `req.get` are now available in middleware
   handlers registered via `app.middleware`

 - `req.url` does not include the mountpath prefix now, this is
   consistent with the behaviour of `app.use`

The implementation of phased middleware was completely rewritten.
 - We no longer use Phase and PhaseList objects from loopback-phase.
 - Handler functions are registered via the `Layer` mechanism used by
   express router.
 - The app keeps the layers sorted according to phases.
2014-12-12 13:25:35 +01:00
Miroslav Bajtoš cbaf06e63b v2.8.5 2014-12-12 08:57:02 +01:00
Raymond Feng cb2f40bb86 Fix bcrypt issues for browserify 2014-12-08 14:59:21 -08:00
Raymond Feng ca9cd5641f v2.8.4 2014-12-08 11:21:20 -08:00
Miroslav Bajtoš 577e496b29 v2.8.3 2014-12-08 08:07:51 +01:00
Ryan Graham 7c0b2e83eb Remove unused underscore dependency 2014-12-02 21:53:30 -08:00
Miroslav Bajtoš 4ee05df20f v2.8.2 2014-11-27 10:01:11 +01:00
Miroslav Bajtoš d864972bc6 v2.8.1 2014-11-25 11:21:46 +01:00
Raymond Feng 503d0144cf v2.8.0 2014-11-19 11:38:56 -08:00
Raymond Feng a9b4df1f2d Expose more loopback middleware for require 2014-11-19 11:32:22 -08:00
Miroslav Bajtoš 2baa4b03a3 Scope app middleware to a list of paths
Add a new argument to `app.middleware` allowing developers
to restrict the middleware to a list of paths or regular expresions.

Modify `app.middlewareFromConfig` to pass `config.paths` as the second
arg of `app.middleware`.

Examples:

    // A string path (interpreted via path-to-regexp)
    app.middleware('auth', '/admin', ldapAuth);

    // A regular expression
    app.middleware('initial', /^\/~(admin|root)/, rejectWith404);

    // A list of scopes
    app.middleware('routes', ['/api', /^\/assets/.*\.json$/], foo);

    // From config
    app.middlewareFromConfig(
      handlerFactory,
      {
        phase: 'initial',
        paths: ['/scope', /^\/(a|b)/]
      });
2014-11-19 15:42:54 +01:00
Miroslav Bajtoš c29ace3404 Update chai to ^1.10.0 2014-11-11 11:04:40 +01:00
Miroslav Bajtoš a22474d454 package: fix deps
Move loopback-phase from "devDependencies" to "dependencies".
2014-11-11 08:41:51 +01:00
Miroslav Bajtoš 4e1433b519 Middleware phases - initial implementation
Modify the app and router implementation, so that the middleware is
executed in order defined by phases.

Predefined phases:

    'initial', 'session', 'auth', 'parse', 'routes', 'files', 'final'

Methods defined via `app.use`, `app.route` and friends are executed
as the first thing in 'routes' phase.

API usage:

    app.middleware('initial', compression());
    app.middleware('initial:before', serveFavicon());
    app.middleware('files:after', loopback.urlNotFound());
    app.middleware('final:after', errorHandler());

Middleware flavours:

    // regular handler
    function handler(req, res, next) {
      // do stuff
      next();
    }

    // error handler
    function errorHandler(err, req, res, next) {
      // handle error and/or call next
      next(err);
    }
2014-11-10 19:50:58 +01:00