Commit Graph

1922 Commits

Author SHA1 Message Date
Miroslav Bajtoš 9c32a0fb3b Merge pull request #350 from strongloop/remove-app-boot
[2.0] Remove `app.boot`
2014-06-26 11:21:14 +02:00
Karl Mikkelsen 46af483bdd Invalid Access Token return 401
Clean up logic to be easier to read.
Signed-off-by: Karl Mikkelsen <karl@karlmikko.com>
2014-06-26 08:50:41 +10:00
Raymond Feng e148bb0e30 Merge tag 'v1.9.0'
1.9.0
2014-06-25 09:35:53 -07:00
Raymond Feng 78869baa10 Merge branch 'release/1.9.0' into production 2014-06-25 09:35:46 -07:00
Raymond Feng c20ecaf265 Bump version and update deps 2014-06-25 09:09:14 -07:00
Raymond Feng 70c1cb5ce0 Update debug setting 2014-06-25 09:09:04 -07:00
Miroslav Bajtoš 1dc3fba786 Merge pull request #348 from strongloop/feature/deprecate-app-boot
Mark `app.boot` as deprecated.
2014-06-25 17:27:07 +02:00
Laurent 41b826d3c5 Allow peer to use beta2 of datasource-juggler (and future)
Signed-off-by: Laurent Chenay <lchenay@gmail.com>
2014-06-25 16:02:05 +02:00
Miroslav Bajtoš c896c78db0 Remove `app.boot`
Modify `app.boot` to throw an exception, pointing users to the new
module `loopback-boot`.
2014-06-25 14:09:06 +02:00
Miroslav Bajtoš 70615696cd Mark `app.boot` as deprecated. 2014-06-25 13:44:07 +02:00
Rand McKinney bca9722196 Update link to doc 2014-06-24 16:14:01 -07:00
Ritchie Martori 27a632cd1f Merge pull request #340 from strongloop/fix/client-server-example
[2.0] Fix remote method definition in client-server example
2014-06-24 08:14:03 -07:00
Raymond Feng 9eab7d62d3 Merge branch 'master' into 2.0 2014-06-20 23:48:46 -07:00
Raymond Feng b44dac3c62 Merge branch 'master' into 2.0 2014-06-20 23:08:35 -07:00
Raymond Feng ebe65656e5 Merge pull request #342 from strongloop/feature/refactor-relation
Upgrade to loopback-datasource-juggler 1.6
2014-06-20 23:05:34 -07:00
Raymond Feng 0d0a8658e5 Update juggler dep 2014-06-20 21:25:27 -07:00
Raymond Feng 9b5d7417a2 Remove relationNameFor 2014-06-20 21:25:27 -07:00
Raymond Feng 3672c59410 Merge pull request #341 from STRML/fixAccessTokenMutatedOptions
Fix a slowdown caused by mutation of an incoming accessToken option.
2014-06-20 17:36:57 -07:00
Samuel Reed afd8de0c31 Fix a slowdown caused by mutation of an incoming accessToken option. 2014-06-20 16:39:28 -05:00
Ritchie Martori 5eca225c0a Fix remote method definition in client-server example 2014-06-19 12:15:46 -07:00
Raymond Feng d5ed57e60d Merge pull request #254 from strongloop/feature/role-id
Set the role id to be generated
2014-06-17 10:37:06 -07:00
Miroslav Bajtoš f20236c715 package: the next version will be a minor version 2014-06-16 21:01:31 +02:00
Miroslav Bajtoš 75406f0891 Merge pull request #331 from strongloop/make-get-model-throw-when-not-found
[2.0] Make getModel throw when not found
2014-06-16 19:50:07 +02:00
Miroslav Bajtoš 7316048afc lib/registry: `getModel` throws, add `findModel`
Rename `loopback.getModel` to `loopback.findModel`.

Implement `loopback.getModel` as a wrapper around `findModel` that
throws an error when the model as not found.
2014-06-16 16:13:24 +02:00
Miroslav Bajtoš 56c7a6b3c5 Merge branch 'master' into 2.0
Conflicts:
	test/access-token.test.js
2014-06-16 10:20:22 +02:00
Miroslav Bajtoš 7dc2521c07 Merge pull request #330 from strongloop/feature/fix-forgotten-loopback-reference-in-app
lib/application: Remove forgotten `loopback` ref
2014-06-16 10:17:39 +02:00
Miroslav Bajtoš 843e09342c lib/application: Remove forgotten `loopback` ref
Use `registry.Model` instead of `loopback.Model`.
2014-06-16 09:52:11 +02:00
Miroslav Bajtoš 8826b6396a Merge pull request #306 from karlmikko/master
Ability to return 401 and 403 response codes #301
2014-06-14 09:44:22 +02:00
Miroslav Bajtoš d2517d8236 Merge branch 'master' into 2.0 2014-06-14 09:40:57 +02:00
Karl Mikkelsen a90a5c7e58 Allow customization of ACL http status
emulate existing error on 404
new tests for model and app settings
Signed-off-by: Karl Mikkelsen <karl@karlmikko.com>
2014-06-14 11:31:15 +10:00
Miroslav Bajtoš 5c3cdd498c Merge pull request #329 from strongloop/feature/expose-loopback-via-app
Expose loopback as `app.loopback`
2014-06-13 21:48:02 +02:00
Miroslav Bajtoš 98799c509a Merge pull request #328 from strongloop/remove-explorer-from-deps
[2.0] Remove loopback-explorer from dev deps
2014-06-13 19:54:11 +02:00
Miroslav Bajtoš c4db83ad43 Expose loopback as `app.loopback`
The primary intention is to allow loopback plugins to determine
the version of the loopback framework from the `app` object.
2014-06-13 10:34:51 +02:00
Miroslav Bajtoš f80259a245 Remove loopback-explorer from dev deps
1. loopback-explorer has a peer dependency on loopback, which
  forces `npm install` to install loopback within loopback. Somehow
  npm ends up installing loopback 1.x, which is not compatible with
  datasource-juggler 2.x.

 2. The only place using loopback-explorer is the app used by e2e tests.
  However, the e2e test app does not load the explorer at the moment
  and the e2e test are not being run anyway.
2014-06-13 10:19:15 +02:00
Miroslav Bajtoš d21669b844 Merge branch 'master' into 2.0
Conflicts:
	docs.json
	lib/application.js
	lib/loopback.js
	lib/models/data-model.js
	lib/models/model.js
	lib/models/user.js
	lib/registry.js
	package.json
	test/app.test.js
2014-06-13 10:09:25 +02:00
Miroslav Bajtoš 828aec9481 Merge pull request #321 from strongloop/feature/backport-model-from-config
Backport from 2.0: create model from config, configure model
2014-06-12 18:54:45 +02:00
Miroslav Bajtoš 02d1c5e3c2 registry: export DataSource class
Expose the juggler's DataSource constructor as `loopback.DataSource`.

The DataSource constructor is most useful to check
for `instanceof DataSource`, but it also makes the loopback API more
consistent, since the API is already exposing all pre-built Models.
2014-06-12 10:41:45 +02:00
Miroslav Bajtoš f05291ca93 registry: fix non-unique default dataSources
Fix the problem where `registry.defaultDataSources` has two instances:

 - `require('loopback').defaultDataSources` used by
   `loopback.autoAttach()`

 - `require('./registry').defaultDataSources` used by
   `app.dataSource`.

I am intentionally leaving out unit-tests as the whole `autoAttach`
feature is going to be deleted before 2.0 is released.
2014-06-12 10:41:45 +02:00
Miroslav Bajtoš 362cceb70a Merge createModelFromConfig with createModel
Merge the two methods `loopback.createModel` and
`loopback.createModelFromConfig` into a single method `createModel`.
2014-06-12 10:41:45 +02:00
Miroslav Bajtoš 7cd6e09790 lib/registry fix jsdoc comments
Add missing names.
2014-06-12 10:41:44 +02:00
Miroslav Bajtoš f0ff40d3f7 test: add debug logs
Add debug logs to troubleshoot two unit tests failing
on the CI server only.
2014-06-12 10:41:44 +02:00
Miroslav Bajtoš 7d674779e1 refactor: extract runtime and registry
Move isBrowser and isServer from lib/loopback to a new file lib/runtime.

Move all Model and DataSource related methods like `createModel` and
`createDataSource` to lib/registry.

Remove the circular dependency between lib/application and lib/loopback,
by loading lib/registry and/or lib/runtime instead of lib/loopback
where appropriate

This commit is only moving the code around, the functionality should
not be changed at all.
2014-06-12 10:41:44 +02:00
Miroslav Bajtoš 19425b8fd9 Remove assertIsModel and isDataSource
Use `instanceof` operator instead:

  ModelCtor.prototype instanceof loopback.Model
  dataSource instanceof loopback.DataSource
2014-06-12 10:41:44 +02:00
Miroslav Bajtoš fc0fad4a9f Add createModelFromConfig and configureModel()
Add new API allowing developers to split the model definition and
configuration into two steps:

 1. Build models from JSON config, export them for re-use:

  ```js
  var Customer = loopback.createModelFromConfig({
    name: 'Customer',
    base: 'User',
    properties: {
      address: 'string'
    }
  });
  ```

 2. Attach existing models to a dataSource and a loopback app,
    modify certain model aspects like relations:

  ```js
  loopback.configureModel(Customer, {
    dataSource: db,
    relations: { /* ... */ }
  });
  ```

Rework `app.model` to use `loopback.configureModel` under the hood.
Here is the new usage:

```js
var Customer = require('./models').Customer;

app.model(Customer, {
  dataSource: 'db',
  relations: { /* ... */ }
});
```

In order to preserve backwards compatibility,
`app.model(name, config)` calls both `createModelFromConfig`
and `configureModel`.
2014-06-12 10:41:44 +02:00
Miroslav Bajtoš b5f0057ea4 Merge pull request #322 from strongloop/feature/backport-app-settings-in-browser
Make app.get/app.set available in browser
2014-06-12 10:40:49 +02:00
Miroslav Bajtoš 4259a3862a Make app.get/app.set available in browser
Implement settings object and methods in browser-express.
2014-06-12 10:40:36 +02:00
Miroslav Bajtoš ee1dfc8e4f Merge pull request #317 from strongloop/feature/improve-access-checks
Improve access checks tests
2014-06-12 10:39:09 +02:00
Miroslav Bajtoš e7884dce50 package: upgrade Mocha to 1.20 2014-06-12 10:33:56 +02:00
Miroslav Bajtoš 3deadcd180 test: fix ACL integration tests
Change the tests creating new users so that they send valid user data,
in order to prevent 422 "validation failed" responses.

Upgrade loopback-testing to 0.2.0.
2014-06-12 10:33:40 +02:00
crandmck ad347e517c JSDoc fixes 2014-06-11 14:55:47 -07:00